Class CopyGridItem<T>
A view command for copying selected items of type T
in the collection view
Provides multiple mechanisms for overriding this behaviour allowing complete customization on how to create the copied items
If theT
implements ISetCopier then that is used to perform a deep clone of the selected items
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Commands.ViewCommands
Assembly: ClientCore.dll
Syntax
public class CopyGridItem<T> : ViewCommand, IHasChildren<EPCommandWithDescriptor>, IHasChildren, IDisposable, IEPCommandWithDescriptor, IEPCommand, ICommand, ICommandDescriptor where T : ICloneableAsync
Type Parameters
Name | Description |
---|---|
T | The type of new entity to be copied in the grid |
Constructors
CopyGridItem(IModelLayoutDisplayer, ICopyGridItemImplementor<T>, IGridSelector, ICopyItemHelper<T>)
Creates a new CopyGridItem view command for working against a grid
Declaration
public CopyGridItem(IModelLayoutDisplayer owner, ICopyGridItemImplementor<T> controller, IGridSelector view, ICopyItemHelper<T> helper)
Parameters
Type | Name | Description |
---|---|---|
IModelLayoutDisplayer | owner | The owning context this command operates within |
ICopyGridItemImplementor<T> | controller | The controller view grid implementation to add the new item too |
IGridSelector | view | The grid view holding the selected items to be copied |
ICopyItemHelper<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
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)
For each selected item the system clones it (If the T
implements ISetCopier then that is used to perform a deep clone) and marks is as a pending new change against the context
If AutoOpenNewItemInTab is set then each copied item is opened in its own layout tab too
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 |