description: |
    ExtJS application specification example

extTheme: neptune

layout:
    - "examplegrid|exampleform"
    - "examplejoinedgrid|exampleview"

views:
    -
        name: ExampleGrid
        alias: examplegrid
        layout: 
            title: Grid example
            type: grid
        dataContent:
            model: Person
    - 
        name: ExampleView
        alias: exampleview
        layout:
            title: Use case example
            type: form
        content:
            -
                name: ExampleField
                layout:
                    type: text
        buttons: [show]
    -
        name: ExampleForm
        alias: exampleform
        layout:
            title: Form example
            type: form
        dataContent:
            model: Person
        content:
            -
                name: Fields
                layout:
                    type: auto
    -
        name: ExampleJoinedGrid
        alias: examplejoinedgrid
        layout: 
            title: Joined grid example
            type: grid
        dataContent:
            model: Address
        
models:
     -
        name: Person
        proxy: mock:10
        fields: [firstName, lastName, bio]
        typedFields:
            -
                name: age
                type: int
            -
                name: birth
                type: date
            -
                name: adult
                type: boolean
     -
        name: Address
        proxy: mock:20
        fields: [city, street]
        typedFields:
            -
                name: id
                type: id
            -
                name: postalCode
                type: int
            -
                name: houseNumber
                type: int
            - 
                name: floor
                type: int
            -
                name: apartment
                type: int    
        
useCases:
    -
        type: click
        on: exampleview.#showBtn
        do:
            -
                cmd: show
                msg: Welcome in gui-tool\'s world!
    -
        type: select
        on: examplegrid
        do:
            -
                cmd: load.exampleform