Class CriteriaController<T>
public abstract class CriteriaController<T> : ScreenControllerBase<CriteriaModel<T>, CriteriaView, CriteriaOptions>, IScreenController<CriteriaModel<T>>, IScreenController where T : IEntity<T>
Type Parameters
T
- Inheritance
-
CriteriaController<T>
- Implements
- Derived
- Inherited Members
Constructors
CriteriaController(IServices, Action<CriteriaOptions>)
public CriteriaController(IServices services, Action<CriteriaOptions> configure = null)
Parameters
servicesIServicesconfigureAction<CriteriaOptions>
Fields
Resetting
protected bool Resetting
Field Value
Properties
HasActiveTabs
true if any criteria are active
public abstract bool HasActiveTabs { get; }
Property Value
Tabs
public abstract IReadOnlyList<TabController<T>> Tabs { get; }
Property Value
Methods
CheckActive()
update the active state of all criteria
public abstract void CheckActive()
GetActiveQuery(IEntityContext)
returns a query which will apply both global and active criteria
public abstract IEntityQuery<T> GetActiveQuery(IEntityContext context)
Parameters
contextIEntityContext
Returns
- IEntityQuery<T>
GetCriteria()
returns a tree containing both global and active criteria
public abstract ICriteriaTree<T> GetCriteria()
Returns
GetGlobalQuery(IEntityContext)
returns a query applying only global criteria
public abstract IEntityQuery<T> GetGlobalQuery(IEntityContext context)
Parameters
contextIEntityContext
Returns
- IEntityQuery<T>
OnCriteriaChanged()
protected virtual void OnCriteriaChanged()
RaiseCriteriaChanged()
protected void RaiseCriteriaChanged()
ResetCriteria()
clear and deactivate all criteria
public abstract void ResetCriteria()
UpdateCountsAsync(ResultState)
update the counts of active criteria
public abstract Task UpdateCountsAsync(ResultState requirements)
Parameters
requirementsResultState
Returns
Events
CriteriaChanged
Raised on dispatcher when the active criteria have been updated
public event Action CriteriaChanged