Class NewGridItem<T>
A view command that creates a new item of entity type T
in a view grid
Provides multiple mechanisms for overriding this behaviour allowing complete customization on how to create the new item
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Commands.ViewCommands
Assembly: ClientCore.dll
Syntax
public class NewGridItem<T> : ViewCommand, IHasChildren<EPCommandWithDescriptor>, IHasChildren, IDisposable, IEPCommandWithDescriptor, IEPCommand, ICommand, ICommandDescriptor
Type Parameters
Name | Description |
---|---|
T | The type of new entity to be created in the grid |
Constructors
NewGridItem(IModelLayoutDisplayer, INewGridItemImplementor<T>, INewItemHelper<T>)
Creates a new NewGridItem view command for working against a grid
Declaration
public NewGridItem(IModelLayoutDisplayer owner, INewGridItemImplementor<T> controller, INewItemHelper<T> helper)
Parameters
Type | Name | Description |
---|---|---|
IModelLayoutDisplayer | owner | The owning context this command operates within |
INewGridItemImplementor<T> | controller | The controller view grid implementation to add a new item too |
INewItemHelper<T> | helper | The helper class to use to facilitate creating a new item within the grid view |
Properties
Description
Declaration
public override string Description { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
IconID
Declaration
public override Guid IconID { get; }
Property Value
Type | Description |
---|---|
System.Guid |
Overrides
Key
Declaration
public override KeyboardKey Key { get; }
Property Value
Type | Description |
---|---|
KeyboardKey |
Overrides
ModifierKeys
Declaration
public override KeyboardModifierKeys ModifierKeys { get; }
Property Value
Type | Description |
---|---|
KeyboardModifierKeys |
Overrides
OverlayIconID
Declaration
public override Guid? OverlayIconID { get; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
Overrides
Title
Declaration
public override string Title { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
ToolTip
Declaration
public override string ToolTip { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
Methods
InternalCanExecuteAsync(Object)
Returns true if the layout is not read-only, the view is not locked (ILockableController), the user has permissions to create an entity of type T
, and the CanCreate(UserInfo, IReadOnlyCache) implementation returns true
Declaration
public override Task<bool> InternalCanExecuteAsync(object parameter)
Parameters
Type | Name | Description |
---|---|---|
System.Object | parameter | The command parameter |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.Boolean> | True if the layout is not read-only, the view is not locked (ILockableController), the user has permissions to create an entity of type |
Overrides
InternalExecuteAsync(Object)
If the PopulateNewFromLookupColumnName is not set then a single item is created using CreateNewItem(UserInfo, IReadOnlyCache, IEntityUpdater). Otherwise that is called for each selected item from GetLookupIDsForNewItems(Func<IBaseEntity, Task>).
The new item(s) are then added to the context, grid and optionally opened as new tabs in the main application
Declaration
public override Task InternalExecuteAsync(object parameter)
Parameters
Type | Name | Description |
---|---|---|
System.Object | parameter | The command parameter |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | A task indicating the completion of the operation |