Search Results for

    Show / Hide Table of Contents

    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
    object
    BaseHasChildren<EPCommandWithDescriptor>
    EPCommand
    EPCommandWithDescriptor
    ViewCommand
    NewGridItem<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.RemoveEventHandlersOnDispose()
    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 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(IRootController, IModelLayoutDisplayer, INewGridItemImplementor<T>, INewItemHelper<T>, ILogger<NewGridItem<T>>)

    Creates a new NewGridItem view command for working against a grid

    Declaration
    public NewGridItem(IRootController root, IModelLayoutDisplayer owner, INewGridItemImplementor<T> controller, INewItemHelper<T> helper, ILogger<NewGridItem<T>> logger)
    Parameters
    Type Name Description
    IRootController root

    The root application controller, for service access

    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

    ILogger<NewGridItem<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)

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

    The command parameter

    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    Overrides
    EPCommand.InternalExecuteAsync(object)

    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.