Search Results for

    Show / Hide Table of Contents

    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 the T implements ISetCopier then that is used to perform a deep clone of the selected items
    Inheritance
    object
    BaseHasChildren<EPCommandWithDescriptor>
    EPCommand
    EPCommandWithDescriptor
    ViewCommand
    CopyGridItem<T>
    Implements
    IHasChildren<EPCommandWithDescriptor>
    IHasChildren
    IDisposable
    IEPCommandWithDescriptor
    IEPCommand
    ICommand
    ICommandDescriptor
    Inherited Members
    ViewCommand.Type
    ViewCommand.IncludeInSimple
    EPCommandWithDescriptor.Parameter
    EPCommandWithDescriptor.HelpURL
    EPCommand.OnCanExecuteChanged()
    EPCommand.LoadChildrenAsync()
    EPCommand.SetToggler(IHasToggleStatus)
    EPCommand.OnLayoutsChanged(IModelLayoutHost, LayoutChangeEventArgs)
    EPCommand.ExternalExecute(object)
    EPCommand.InternalExecute(object)
    EPCommand.ExternalCanExecute(object)
    EPCommand.InternalCanExecute(object)
    EPCommand.GetModifierText(IEPCommand)
    EPCommand.Dispose(bool)
    EPCommand.Dispose()
    EPCommand.RootController
    EPCommand.ActiveDisplayerFromOwner
    EPCommand.ReloadChildrenOnEachOpen
    EPCommand.HasChildCommands
    EPCommand.SubscribeToLayoutChange
    EPCommand.From
    EPCommand.LockExecution
    EPCommand.CustomType
    EPCommand.Owner
    EPCommand.Toggler
    EPCommand.CanExecuteChanged
    BaseHasChildren<EPCommandWithDescriptor>.AddChild(EPCommandWithDescriptor, bool)
    BaseHasChildren<EPCommandWithDescriptor>.DeleteChild(EPCommandWithDescriptor)
    BaseHasChildren<EPCommandWithDescriptor>.ClearChildren()
    BaseHasChildren<EPCommandWithDescriptor>.ClearMyParent()
    BaseHasChildren<EPCommandWithDescriptor>.AddChild(IHasChildren)
    BaseHasChildren<EPCommandWithDescriptor>.DeleteChild(IHasChildren)
    BaseHasChildren<EPCommandWithDescriptor>.Order
    BaseHasChildren<EPCommandWithDescriptor>.Children
    BaseHasChildren<EPCommandWithDescriptor>.Parent
    object.GetType()
    object.MemberwiseClone()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: LemonEdge.Client.Core.Commands.ViewCommands
    Assembly: LemonEdge.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(IRootController, IModelLayoutDisplayer, ICopyGridItemImplementor<T>, IGridSelector, ICopyItemHelper<T>, ILogger<CopyGridItem<T>>)

    Creates a new CopyGridItem view command for working against a grid

    Declaration
    public CopyGridItem(IRootController root, IModelLayoutDisplayer owner, ICopyGridItemImplementor<T> controller, IGridSelector view, ICopyItemHelper<T> helper, ILogger<CopyGridItem<T>> logger)
    Parameters
    Type Name Description
    IRootController root

    The root controller, for service access.

    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

    ILogger<CopyGridItem<T>> logger

    Properties

    Description

    A user friendly description of this command

    Declaration
    public override string Description { get; }
    Property Value
    Type Description
    string
    Overrides
    EPCommandWithDescriptor.Description

    IconID

    The image to use for this command, either a ImageType or ImageID

    Declaration
    public override Guid IconID { get; }
    Property Value
    Type Description
    Guid
    Overrides
    EPCommandWithDescriptor.IconID

    IsQuickAccessCommand

    Indicates this command should also be available in a quick access manner if the ui permits it to be highlighted and seperated for quick access among a group of other commands

    For instance in the desktop application view commands are accessible from a drop down menu by default, but if this is true they are also directly accessible from the view itself

    Declaration
    public override bool IsQuickAccessCommand { get; }
    Property Value
    Type Description
    bool
    Overrides
    EPCommand.IsQuickAccessCommand

    Key

    Indicates the command key to use for executing this from a keyboard command

    Declaration
    public override KeyboardKey Key { get; }
    Property Value
    Type Description
    KeyboardKey
    Overrides
    EPCommand.Key

    ModifierKeys

    Indicates the modifier keys to be used with Key when executing this command from the keyboard

    Declaration
    public override KeyboardModifierKeys ModifierKeys { get; }
    Property Value
    Type Description
    KeyboardModifierKeys
    Overrides
    EPCommand.ModifierKeys

    OverlayIconID

    On some clients another image can be overlayed on the bottom right of the main icon (for indicating add, remove, etc)

    This optional overlay image can be specified here, either a ImageType or ImageID

    Declaration
    public override Guid? OverlayIconID { get; }
    Property Value
    Type Description
    Guid?
    Overrides
    EPCommandWithDescriptor.OverlayIconID

    Title

    The title of this command

    Declaration
    public override string Title { get; }
    Property Value
    Type Description
    string
    Overrides
    EPCommandWithDescriptor.Title

    ToolTip

    A user friendly tool tip for this command functionality, by default the Description

    Declaration
    public override string ToolTip { get; }
    Property Value
    Type Description
    string
    Overrides
    EPCommandWithDescriptor.ToolTip

    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, IEntityUpdater) implementation returns true

    Declaration
    public override Task<bool> InternalCanExecuteAsync(object parameter)
    Parameters
    Type Name Description
    object parameter

    The command parameter

    Returns
    Type Description
    Task<bool>

    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, IEntityUpdater) implementation returns true

    Overrides
    EPCommand.InternalCanExecuteAsync(object?)

    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
    object parameter

    The command parameter

    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    Overrides
    EPCommand.InternalExecuteAsync(object)

    RemoveEventHandlersOnDispose()

    Provides an inheriting command the opoortunity to remove any event handlers being listened to before this command is disposed

    Declaration
    protected override void RemoveEventHandlersOnDispose()
    Overrides
    EPCommand.RemoveEventHandlersOnDispose()

    Implements

    IHasChildren<T>
    IHasChildren
    IDisposable
    IEPCommandWithDescriptor
    IEPCommand
    ICommand
    ICommandDescriptor

    Extension Methods

    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    CommandExtensions.CreateCommand(EPCommand, ICommandDescriptor, CommandButtonType, bool, CommandSize)
    CommandExtensions.UpdateCommand(EPCommand, object, ICommandDescriptor, bool, CommandSize)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.