Class DefaultListSpec
Default IListSpec: scaffolds an entity's list/summary columns, producing a
ColumnSpec (binding + CellSpec + read-access gate) per shown property. Override the
Define* hooks to customise; applications usually subclass the typed DefaultListSpec<T>.
public class DefaultListSpec : IListSpec
- Inheritance
-
DefaultListSpec
- Implements
- Derived
- Inherited Members
Methods
CreateLoadQuery(IEntityInfo, IEntityContext)
The query that supplies the list's rows: all of the entity type by default. Hosts filter it (search criteria, reminders), and the list machinery orders, pages and preloads it.
public virtual IEntityQuery<IEntity> CreateLoadQuery(IEntityInfo metadata, IEntityContext context)
Parameters
metadataIEntityInfocontextIEntityContext
Returns
DefineAccess(PropertyInfo)
Returns the entity type for which read permission is required in order to display a column.
protected virtual IEntityInfo? DefineAccess(PropertyInfo metadata)
Parameters
metadataPropertyInfo
Returns
DefineAttributeBinding(AttributeInfo)
[Obsolete("Override DefineBinding(PropertyInfo) instead; this hook is only consulted by the default DefineBinding.")]
protected virtual PropertyBinding DefineAttributeBinding(AttributeInfo metadata)
Parameters
metadataAttributeInfo
Returns
DefineAttributeCell(AttributeInfo)
[Obsolete("Override DefineCell(PropertyInfo) instead; this hook is only consulted by the default DefineCell.")]
protected virtual CellSpec DefineAttributeCell(AttributeInfo metadata)
Parameters
metadataAttributeInfo
Returns
DefineBinding(PropertyInfo)
Describes the data of a list/summary column. Override this as well as DefineCell(PropertyInfo) when a custom cell needs a custom binding.
protected virtual PropertyBinding DefineBinding(PropertyInfo metadata)
Parameters
metadataPropertyInfo
Returns
DefineCell(PropertyInfo)
Describes the rendering of a list/summary column. Override this to customise column/cell scaffolding;
branch on metadata is AttributeInfo a (or RelationshipInfo r) if necessary.
protected virtual CellSpec DefineCell(PropertyInfo metadata)
Parameters
metadataPropertyInfo
Returns
DefineColumns(IEntityInfo)
public virtual IEnumerable<ColumnSpec> DefineColumns(IEntityInfo metadata)
Parameters
metadataIEntityInfo
Returns
DefineInitialColumn(IEntityInfo)
protected virtual ColumnSpec DefineInitialColumn(IEntityInfo metadata)
Parameters
metadataIEntityInfo
Returns
DefineOrdering(IEntityInfo)
The sort clauses to apply to the list. Return an empty sequence to use the entity's modelled default sort (SortProperty/SortAscending).
public virtual IEnumerable<ListOrdering> DefineOrdering(IEntityInfo metadata)
Parameters
metadataIEntityInfo
Returns
DefinePreloads(IEntityInfo)
The relationship paths the list's page query preloads, in addition to the paths its columns require: the list preload profile by default. Override to extend (with a base call) or replace.
public virtual IEnumerable<RelationshipPath> DefinePreloads(IEntityInfo metadata)
Parameters
metadataIEntityInfo
Returns
DefineRelationshipBinding(RelationshipInfo)
[Obsolete("Override DefineBinding(PropertyInfo) instead; this hook is only consulted by the default DefineBinding.")]
protected virtual PropertyBinding DefineRelationshipBinding(RelationshipInfo metadata)
Parameters
metadataRelationshipInfo
Returns
DefineRelationshipCell(RelationshipInfo)
[Obsolete("Override DefineCell(PropertyInfo) instead; this hook is only consulted by the default DefineCell.")]
protected virtual CellSpec DefineRelationshipCell(RelationshipInfo metadata)
Parameters
metadataRelationshipInfo
Returns
GetMessage(IEntityInfo, IEntity)
An optional status message for a row: table rows tint by its level and show its text as a tooltip; summary cards display it as a chip.
public virtual Message? GetMessage(IEntityInfo metadata, IEntity row)
Parameters
metadataIEntityInforowIEntity
Returns
Match(IEntityInfo)
public virtual bool Match(IEntityInfo metadata)
Parameters
metadataIEntityInfo