Type to start searching...

Subject

Subjects (or subject areas) specify a starting point for a filter by further segmenting instances by class or criteria.

Description

Subject areas provide the basis for filters. When you create a new filter in the user interface, you select the subject area by it's name and icon. They are also used to conditionally include filter fields for this subject area using the field's case property.

Pre-defined filters may be optionally configured using the Subject's filter collection and will be seeded to the database.

Properties
caption : string

Caption text expression

class : identifier

Domain class by which instances are filtered. Must be equal to or a subclass of the filter expresson's class.

In practice this is sometimes left blank and the where clause is used with an instance? function.
Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

Value must begin with a letter or an underscore. Case and length are not restricted. Letters, numbers and underscores are allowed. Colon is used as a scope separator. Spaces and other punctuation characters are not allowed.

icon : string

Icon name expression

name : string

Unique subject area name

Fields may use this name in their case property to specifically target a subject area.
where : string

Logical expression that the items must satisfy. If quasiquoted, it is expanded on the client every time the model is (re-)loaded.

Special local variable this (i.e the controller) is provided by the framework for the function.
Example


Constant where expression:
(= (@ firstName) "Joe")

Function returning where clause:
`(generate-where-clause this "EntityId")

In a library:
(define (generate-where-clause controller var)
...
)

Content
  • Sequence of:

    • Filter [0..*] - Subject Area Filters allow you to pre-define filters for a class.

Parents
  • Filter - Filter elements centralize the search configuration for a given class and are used by filter controls to present text search, filter tiles, and filter chips to end users.