Type to start searching...

Menu

Properties
action : boolean

True to publish the menu as top-level action

annotation : string

a1 ... aN: empty annotation names; must differ from domain model attribute names

attributes : string

Additional association paths to retrieve

augment : uiIdentifier

A path to the view to augment with this view.

Augmentation rules depend on the types of augmented and augmenting views. When augmented view is a layout, such as Composite, Tabs, or Switch, and augmenting view is also of the same type, the children views will be added to the augmented layout. When both augmented views are layouts but of different type, the augmenting view is inserted next to the augmented one. When augmented view is primitive, the augmenting view is inserted next to it.
Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

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

captions : string

Association path or expression to the caption of the items in the collection

Note that this property isn't a list of values. It is simply the association path, or expression, to the caption of the items.

It is called captions (plural) because it retrieves the caption(s) from the collection's item(s).

checked : string

Checked state flag expression

crop : boolean

True to crop icons

enabled : string

Enablement flag association path or expression

event : identifier

Name of the UI event to fire when a menu item is selected. Values are passed as UI event parameters.

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.

icons : string

Association list of association paths or constants to the icon properties of the items in the collection

Association list of association paths or constants: (image|data|type|icon|default|lock . <a1> ... <an>|"<const>")

Note that this isn't a list of values. It is simply the association path, or expression, to the icon of the items.

It is called icons (plural) because it retrieves the icon(s) from the collection's item(s).

Example


Configuring data table avatar for Entity.meta

<Table>
   <Column ... icons="(image . image)(data . mimeData)(type . mimeType)(icon . icon)(default . &quot;icon:person&quot;)(lock . locking)" .../>
   ...
</Table>

image - The name of the attribute that contains the image (usually of type Obj) from the current instance. The attribute name doesn't need to be called "image", but often is.
data - Obj'mimeData attribute of type binary returning the image data. Always mimeData if the image attribute is of type Obj.
type - Obj'mimeType attribute of type string returning mime type of the image data. Always mimeType if the image attribute is of type Obj.
icon - optional. The name of an attribute of type string returning an icon name if the image is null
default - optional. "icon:person" - A constant expression to fall back on if both image and icon are null
lock - optional. The name of the attribute returning the optimistic locking value. Always locking if the image attribute is of type Obj.

items : string

Displayed collection of items: (<view1> <a11> ... <a1N>) ... (<viewN> <aN1> ... <aNM>)|(@ <a1> ... <aN>)|(@@ <class>)


<empty> - the same as (@) in Forms; no data in other situations
(ViewName1 assoc1 ... assocN) ... (ViewNameM assoc1 ... assocX) - collection relative to the items of the specified views; constrained by all the association paths
(@ assoc1 ... assocN) - collection relative to the Layout's model items
(@@ ClassName) - instances of the class specified by ClassName

lazy : boolean

Valid when child collection. Specifies whether a separate read request will be generated

name : identifier

Unique view name

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.

order : string

Item order specification: ((<attr1> . #t|#f) ... (<attrN> . #t|#f)

List of attributes or attribute and boolean pairs to indicate ascending (#t) or descending (#f).
Example


((name . #t) (company . #f))

privilege : identifier

Access privilege

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.

reader : string

Custom read event. [<class>]'<event> <arg1> ... <argN>

Specification: [<class>]'<event> <arg1> ... <argN>

<class> is an optional class symbol. When omitted, the items collection class is used. <event> is a read event symbol. <arg#> is an event argument value which can be either a constant or a scheme expression evaluating to a constant at run-time on the client, using special local variables provided by the framework: this (=controller), :node (=active node), :attributes, :where, :orderBy, :count, :offset, :xlock, or a UI initializer variable.

If arguments are not specified, a default list is supplied by the framework: :attributes :where :orderBy :count :offset :xlock

Examples:

a) Generate a request to 'readList event with default arguments: readList

b) Generate request to readList event with attributes, and orderBy argument values supplied by the framework. readList :attributes :orderBy

c) Generate request to Contact'readDetail with attributes supplied by the framework, and the contact argument calculated using (current-contact) client library function. Contact'readDetail :attributes (current-contact this :node)

In a library: (define (current-contact controller node) ... )

d) Generate request to 'read event with a constant attribute list: read '(lastName firstName) :where :orderBy :count :offset :xlock

sort : ComboSortType

Set to "server" to perform sort on the server, "client" to perform sort on the client when order expression is not supported by the data source

Valid values based on“string”.
client

The model will be sorted on the client.

server

The model will be sorted on the server.

source : identifier

Name of the view to specify as event source

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.

tooltips : string

The attribute, association path, or a constant specifying tooltips.

values : identifierList

Association path or expression to the value returned from the items in the collection

If blank, the value will be the object itself - not an attribute on the object.

Note that this property isn't a list of values. It is simply the association path, or expression, to the return value of the items.

It is called values (plural) because it returns the values(s) from the collection's item(s).

Valid values based on“token”.
(:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*\s+)*(:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*)?

Each element in the list must begin with a letter or underscore. Elements are space delimited.

visible : string

Default visibility flag association path or expression

Default visiblity set to a control but value can be overriden by script, client state, or control-specific mechanism such as setListColumn in a table.
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 (=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
Parents