Object models can be derived from components (header, sections, etc.), or from commonly repeated objects (e.g.: actions)

  • type: the type of object model is always object. This field is required.
  • label: model label, e.g. Header, Footer, Button, etc. This field is required.
  • description: the description of the model
  • labelField: a field name whose value will be used as a list item label when a model is presented inside a list, or referenced by an object.
  • extends: list of object models this object extends. The extended object will inherit from its parent all fields and their properties recursively. If the extended object already has a field with the same name as in the parent object, only the properties that resolve to undefined in the extended object will be copied.
  • fields: a list of Field Models
models:
    action:
    type: object
    label: Action 
    labelField: label
      fields:
      - type: string
        name: label
        label: Label
        required: true
      - type: string
        name: url
        label: URL
        required: true