handheld features
webclient features version zora.2.0
| model | 108 | application |
|---|---|---|
| client_request | ||
| interface | 20 | interface |
| project-build-environment | 44 | deployment |
| project_wiring | ||
| auto-webclient | zora.1 | generator_annotations |
| generator_settings | ||
| parameters | ||
| phrases | ||
| query | ||
| translations | ||
| connector | 39 | processor |
| template | ||
| variables | ||
| datastore | 119.2 | consumed_interfaces_mapping |
| provided_interface_implementation | ||
| relational-database-bridge | 111 | database |
| database_transformation | ||
| regular_expression_engine | ||
| sql-mirror | 119.2 | sql_mapping |
| webclient | zora.1.0 | client bindings |
| default features | ||
| gui_model | ||
| handheld features | ||
| main | ||
| parameters | ||
| phrases | ||
| production features | ||
| query | ||
| settings | ||
| translations | ||
| views | ||
| widget |
global-features
node-features
'text label' unbound text
'string' component list non-empty stategroup @strategy (
// 'icon' {
// 'name': text
// }
'static text' text
'stategroup' binding stategroup { }
'number' binding number { }
'text' binding text { }
'node' {
'italic': stategroup @default: 'no' (
'yes' { }
'no' { }
)
'bold': stategroup @default: 'no' (
'yes' { }
'no' { }
)
'subtle': stategroup @default: 'no' (
'yes' { }
'no' { }
)
'underline': stategroup @default: 'no' (
'yes' { }
'no' { }
)
'font size': stategroup @default: 'normal' (
'normal' { }
'small' { }
'large' { }
)
'value': feature 'string'
}
// 'file' binding file { }
// 'command' binding command { }
// 'action' binding action { }
)
'item list' {
'collection': binding nodes {
'layout': stategroup (
'item list' {
'properties': list non-empty feature 'string'
'properties aside': list feature 'string'
}
'cards' {
'sections': list non-empty feature 'string'
}
)
'filters': feature 'optional filters'
'sorting': feature 'optional sorting'
'open view': stategroup @default: 'none' @strategy (
'view' view
'none' none
)
}
}
'optional sorting' component stategroup @default: 'not set' @strategy (
'set' feature 'sorting'
'not set' none
)
// Common feature
'sorting' component {
'direction': stategroup (
'ascending' { }
'descending' { }
)
'type': stategroup (
'number' binding number { }
'text' binding text { }
'stategroup' binding stategroup { }
)
}
'optional filters' component stategroup @default: 'not set' @strategy (
'set' feature 'filters'
'not set' none
)
// Common features
'query property key' component stategroup @default: 'auto' @strategy (
'auto' { }
'set' text
)
A number filter is added as a filter on the query column. Use ‘simple’ to let the user choose the operator and the value, or ‘yes’ to set a fixed criteria that the user cannot change.
'number filter' component stategroup @default: 'simple' (
A fixed criteria: an operator plus the value to compare against. That value is either a ‘static’ number, or ‘now’ (the current time) with an optional ‘offset’. The offset is in the unit of the bound number property and can be negative to select a moment in the past.
'yes' {
'operator': stategroup (
'smaller' { }
'smaller equal' { }
'greater' { }
'greater equal' { }
'equal' { }
)
'criteria': stategroup (
'now' stategroup @strategy (
'no offset' { }
'offset' number
)
'static' number
)
}
The user chooses the operator and the value.
'simple' { }
)
A text filter is added as a filter on the query column. The default ‘auto’ lets the generator pick the most suitable filter for the property.
'text filter' component stategroup @default: 'auto' (
Let the generator pick the filter: a list of the referenced entries to select from when the text is a reference, a text search otherwise.
'auto' { }
A fixed search pattern that the user cannot change.
'yes' {
'criteria': text
}
A text search that the user fills in.
'simple' { }
A list of the referenced entries, to either include (‘in’) or exclude (‘not in’). Only for texts that are references; other texts get no filter.
'containment' {
'operator': stategroup (
'in' { }
'not in' { }
)
}
)
'filters' component list non-empty stategroup @strategy (
'stategroup' binding stategroup {
'label': stategroup @default: 'auto' @strategy (
'auto' { }
'set' text
)
'filter': stategroup @default: 'simple' (
'yes' {
'states to include': list binding state { }
}
'simple' { }
)
'show': stategroup @default: 'yes' (
'yes' { }
'no' { }
)
}
'number' binding number {
'label': feature 'query property key'
'filter': feature 'number filter'
'show': stategroup @default: 'yes' (
'yes' { }
'no' { }
)
}
'text' binding text {
'label': feature 'query property key'
'filter': feature 'text filter'
'show': stategroup @default: 'yes' (
'yes' { }
'no' { }
)
}
)
'open view' {
'view': view
}
collection-features
'table layout' none
stategroup-features
'switch' {
'on': binding state { }
'off': binding state { }
}
number-features
text-features
Indicates that this text can be on a bar or qr code.
'barcode' none
file-features
reference-set-features
command-features
action-features