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 |