Foreword about Block DSL, before digging in other DSLs

Bloc DSL allows specifying page layout, by defining blocs that contain other graphical elements. A block can be an ajax block, updated by some ajax actions. ajaxBlock can be targeted by their ID. Blocks can be nested.

See Block DSL dedicated page for more information. PDFs have their own block management: Printable Blocks, but table and show DSL are usable (charts will come later).

UiBlockSpecifier b = new UiBlockSpecifier()             (1)
b.ui {
    modal {                                             (2)
        ajaxBlock "userForm", {                         (3)
            form "User Form", f, BlockSpec.Width.MAX    (4)
        }
    }
}
  1. create the block, constructed via the ui method

  2. This block will contain a modal window (which is also a block)

  3. This modal window will contain 1 ajax block with the ID userForm

  4. This ajax block will contain one form, with the captation User Form

Form inside a modal Window.

screenshot dsl user form 800h

Block Elements DSLs

  • Form DSL: Allows to define a form to be included in a block

  • Show DSL: Allows to Show an object summary. It supports limited field edition

  • Table and Table filter DSL: a Table is associated to one or zero filter, filters cannot be displayed without a table.

    • Table DSL allows grouping and sorting columns

    • Pagination is included

    • Table can also represent a tree

  • Chart DSL: Allows drawing graphs into a bloc

  • Custom DSL: to insert custom html code to be inserted into a block.