Table of Contents

Class DefaultEditSpec

Namespace
The.Web.Entities
Assembly
Instagile.Web.Client.dll

Default IEditSpec: scaffolds an entity's edit form, producing a RowSpec (binding + FieldSpec + read-access gate) per property and grouping them into SectionSpecs. Override the Define* hooks to customise; applications usually subclass the typed DefaultEditSpec<T>.

public class DefaultEditSpec : IEditSpec
Inheritance
DefaultEditSpec
Implements
Derived
Inherited Members

Methods

CreateEntity(IEntityInfo, IEntityContext, IEntityInitialiser?)

public virtual IEntity CreateEntity(IEntityInfo metadata, IEntityContext context, IEntityInitialiser? init = null)

Parameters

metadata IEntityInfo
context IEntityContext
init IEntityInitialiser

Returns

IEntity

CreateEntityAsync(IEntityInfo, IEntityContext, IEntityInitialiser?)

public virtual Task<IEntity> CreateEntityAsync(IEntityInfo metadata, IEntityContext context, IEntityInitialiser? init = null)

Parameters

metadata IEntityInfo
context IEntityContext
init IEntityInitialiser

Returns

Task<IEntity>

CreateLoadQuery(IEntityInfo, IEntityContext, Guid)

The query that loads the edited entity, including whatever related data the form needs.

public virtual IEntityQuery<IEntity> CreateLoadQuery(IEntityInfo metadata, IEntityContext context, Guid id)

Parameters

metadata IEntityInfo
context IEntityContext
id Guid

Returns

IEntityQuery<IEntity>

DefineAccess(PropertyInfo)

Returns the entity type for which read permission is required in order to display a field. RowSpec and enforced by the edit components, so it survives DefineField(PropertyInfo)

protected virtual IEntityInfo? DefineAccess(PropertyInfo metadata)

Parameters

metadata PropertyInfo

Returns

IEntityInfo

DefineBinding(IEntityInfo, PropertyInfo)

protected virtual PropertyBinding DefineBinding(IEntityInfo metadata, PropertyInfo property)

Parameters

metadata IEntityInfo
property PropertyInfo

Returns

PropertyBinding

DefineField(PropertyInfo)

protected virtual FieldSpec DefineField(PropertyInfo metadata)

Parameters

metadata PropertyInfo

Returns

FieldSpec

DefineFields(IEntityInfo)

public virtual IEnumerable<SectionSpec> DefineFields(IEntityInfo metadata)

Parameters

metadata IEntityInfo

Returns

IEnumerable<SectionSpec>

DefineSection(SectionInfo, IEnumerable<RowSpec>)

protected virtual SectionSpec DefineSection(SectionInfo metadata, IEnumerable<RowSpec> rows)

Parameters

metadata SectionInfo
rows IEnumerable<RowSpec>

Returns

SectionSpec

Match(IEntityInfo)

public virtual bool Match(IEntityInfo metadata)

Parameters

metadata IEntityInfo

Returns

bool

OnLoadedAsync(IEntity)

Runs once per materialised instance, after the edited entity is loaded or created, for post-materialisation concerns such as event wiring.

public virtual Task OnLoadedAsync(IEntity entity)

Parameters

entity IEntity

Returns

Task

SpecifyCollectionField(IEntityInfo, RelationshipInfo)

protected virtual FieldSpec SpecifyCollectionField(IEntityInfo type, RelationshipInfo property)

Parameters

type IEntityInfo
property RelationshipInfo

Returns

FieldSpec

SpecifyReferenceField(IEntityInfo, RelationshipInfo)

protected virtual FieldSpec SpecifyReferenceField(IEntityInfo type, RelationshipInfo property)

Parameters

type IEntityInfo
property RelationshipInfo

Returns

FieldSpec