Class RoleMenuItemsController
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Views.Controllers
Assembly: LemonEdge.ClientEntities.dll
Syntax
public class RoleMenuItemsController : BaseGridRelatedCollectionController<IRole, IMenuItem>, IBaseGridController, ICollectionExportable, INewGridItemImplementor<IMenuItem>, ICopyGridItemImplementor<IMenuItem>, IGrid, IDeleteGridItemImplementor<IMenuItem>, ISearchController, IModelViewController, IRoleMenuItemController
Constructors
RoleMenuItemsController(IBaseGridRelatedCollection<IRole, IMenuItem>)
Declaration
public RoleMenuItemsController(IBaseGridRelatedCollection<IRole, IMenuItem> view)
Parameters
Type | Name | Description |
---|---|---|
IBaseGridRelatedCollection<IRole, IMenuItem> | view |
Properties
AllowCopyCommand
Indicates that by default selected entities can be copied by the user with the copy command
Declaration
public override bool AllowCopyCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowDeleteCommand
Indicates that by default selected entities can be deleted by the user with the delete command
Declaration
public override bool AllowDeleteCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowNewCommand
Indicates that by default entities can be created by the user with the new command
Declaration
public override bool AllowNewCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowOpenCommand
Indicates that by default selected entities can be opened by the user with the open command
Declaration
public override bool AllowOpenCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowSearchCommand
Indicates the command to allow the default search of text by the user is included in the InitCommands(IList<ViewCommand>)
The default is true
Declaration
public override bool AllowSearchCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowXMLImportExport
Indicates the command to allow the xml export of the data by the user is included in the InitCommands(IList<ViewCommand>)
The default is true if the type IMenuItem derives from ISetCopier
Declaration
public override bool AllowXMLImportExport { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AutoOpenNewItemInTab
Indicates when creating a new item in the grid that it should automatically be opened in a new tab as well
The default is true if the type IMenuItem is an entity that is not a IsStandingDataEntity
Declaration
public override bool AutoOpenNewItemInTab { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
CollectionRelationshipColumnName
This is the property on the IMenuItem entities that holds a relationship value that points to the SingleItem type
This controller will automatically use that to filter the correct entities for the grid in AlterQuery(QueryableExecuter<TCollection>)
Declaration
public override string CollectionRelationshipColumnName { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
Context
Declaration
public IEntityUpdaterUI Context { get; }
Property Value
Type | Description |
---|---|
IEntityUpdaterUI |
ContextHelpURL
An optional associated url of a help file for the view this controller works with
Declaration
public override string ContextHelpURL { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
Menu
Declaration
public ObservableCollection<IMenuItem> Menu { get; }
Property Value
Type | Description |
---|---|
ObservableCollection<IMenuItem> |
RoleID
Declaration
public Guid RoleID { get; }
Property Value
Type | Description |
---|---|
Guid |
ViewSelector
Declaration
public IGridSelector ViewSelector { get; }
Property Value
Type | Description |
---|---|
IGridSelector |
Methods
AlterColumnInfo(ControlDisplayInfo)
Provides an inheriting controller the opportunity to alter the specified column before it is added to the IBaseGrid<T>
This is used in conjunction with columns defined via ColumnNames(), rather than Columns() which explicitly defines all information
The default operation provides a CustomComboItems if the column is against a property that is a link to an entity type (IsEntityLink)Declaration
protected override void AlterColumnInfo(ControlDisplayInfo info)
Parameters
Type | Name | Description |
---|---|---|
ControlDisplayInfo | info | The definition of the column that can be updated before being created in the IBaseGrid<T> |
Overrides
AlterQuery(QueryableExecuter<IMenuItem>)
Additionally alters the base query alteration by ensuring all entities returned are related to the SingleItem by having their CollectionRelationshipColumnName have the same value as the SingleItem ID
This is achieved via AddRelationshipJoin(QueryableExecuter<TCollection>) which can be overidden to customise how the entities of type IMenuItem are precisely related to the SingleItem if not directly through that join
Declaration
protected override QueryableExecuter<IMenuItem> AlterQuery(QueryableExecuter<IMenuItem> query)
Parameters
Type | Name | Description |
---|---|---|
QueryableExecuter<IMenuItem> | query | The existing query to return all the results that will populate the grid |
Returns
Type | Description |
---|---|
QueryableExecuter<IMenuItem> | An altered query that also ensures all entities returned are related to the SingleItem by having their CollectionRelationshipColumnName have the same value as the SingleItem ID |
Overrides
ClearUI()
Declaration
public Task ClearUI()
Returns
Type | Description |
---|---|
Task |
ColumnNames()
A list of all the columns to be dynamically created in the IBaseGrid<T>
This is used by the system to create the actual ControlDisplayInfo classes required from the Columns() property
You can override this to provide a simple definition of each column (combined with AlterControlInfo(ControlDisplayInfo) for more detail), or you can just override Columns() and ignore thisDeclaration
protected override IEnumerable<ControlDisplayInfoLight> ColumnNames()
Returns
Type | Description |
---|---|
IEnumerable<ControlDisplayInfoLight> | A list of all the columns to be dynamically created in the IBaseGrid<T> |
Overrides
DisplayMenu(IEnumerable<IMenuItem>)
Declaration
public Task DisplayMenu(IEnumerable<IMenuItem> menu)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IMenuItem> | menu |
Returns
Type | Description |
---|---|
Task |
SelectItem(IMenuItem)
Declaration
public void SelectItem(IMenuItem item)
Parameters
Type | Name | Description |
---|---|---|
IMenuItem | item |
TrackItem(INotifyPropertyChanged)
Declaration
public void TrackItem(INotifyPropertyChanged item)
Parameters
Type | Name | Description |
---|---|---|
INotifyPropertyChanged | item |