BlockSpec (taack-ui 0.5.2-SNAPSHOT API)
Package: taack.ui.dsl.block

[Groovy] Class BlockSpec

    • taack.ui.dsl.block.BlockSpec


    • @groovy.transform.CompileStatic
      final class BlockSpec
      extends java.lang.Object

      UiBlockSpecifier.ui delegated class.

      This class allows to draw the layout of a page, or to update part of a page after an ajax call.

      Each block can contains many graphical elements, but it is better to have one graphical element (show, form, table, tableFilter ...) per block (modal, ajaxBlock ...)

      • Nested Class Summary

          Nested classes 
          Modifiers Name Description
          static enum  BlockSpec.Width
      • Methods Summary

          Methods 
          Type Params Return Type Name and description
          void ajaxBlock(java.lang.String id, java.lang.Boolean visitAjax, groovy.lang.Closure closure)
          Ajax block must be children of ajaxBlock.
          static groovy.lang.Closure<BlockSpec> buildBlockSpec(groovy.lang.Closure closure)
          Helper method allowing to split block creation.
          void closeModal(java.lang.String id, java.lang.String value, FieldInfo[] fields)
          Close the topmost modal.
          void closeModal(java.lang.Long id, java.lang.String value, FieldInfo[] fields)
          Close the topmost modal.
          void closeModal(FieldInfo[] fields)
          Close the topmost modal.
          void closeModalAndUpdateBlock(groovy.lang.Closure closure)
          Generic close.
          void col(BlockSpec.Width width, groovy.lang.Closure closure)
          invisible blocks that enable complex layout.
          void custom(java.lang.String html, taack.ui.dsl.common.Style style, groovy.lang.Closure closure)
          Add custom HTML code in a block
          void diagram(UiDiagramSpecifier diagramSpecifier, groovy.lang.Closure closure)
          Add a chart to the block
          void diagramFilter(UiFilterSpecifier filterSpecifier, UiDiagramSpecifier diagramSpecifier)
          void form(UiFormSpecifier formSpecifier, groovy.lang.Closure closure)
          Add a form in a block
          void inline(groovy.lang.Closure<BlockSpec> blockSpecClosure)
          Allow to inject a block part that has been created elsewhere.
          void modal(groovy.lang.Closure closure)
          Pop a modal.
          void row(groovy.lang.Closure closure)
          invisible blocks that enable complex layout.
          void show(UiShowSpecifier showSpecifier, groovy.lang.Closure closure)
          Add a show in a block.
          void tab(java.lang.String i18n, groovy.lang.Closure closure)
          Parameters:
          i18n - label
          void table(UiTableSpecifier tableSpecifier, groovy.lang.Closure closure)
          void tableFilter(UiFilterSpecifier filterSpecifier, UiTableSpecifier tableSpecifier, groovy.lang.Closure closure)
          Add a filter and its associated table to the block
          void tabs(groovy.lang.Closure closure)
          Embeds tab.
      • Inherited Methods Summary

          Inherited Methods 
          Methods inherited from class Name
          class java.lang.Object java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
      • Property Detail

        • int ajaxCounter

        • int counter

        • final java.lang.String filterTableId

      • Method Detail

        • void ajaxBlock(java.lang.String id, java.lang.Boolean visitAjax, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          Ajax block must be children of ajaxBlock. Mandatory invisible block that enable ajax.

          Parameters:
          id - uniq id in the page.
          visitAjax - set to false to process block like non ajax block
          closure - description of the user interface

        • static groovy.lang.Closure<BlockSpec> buildBlockSpec(@groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          Helper method allowing to split block creation. See inline(groovy.lang.Closure) to inject this block into another block.

          Parameters:
          closure - closure that should benefit from IDE completion and static type checking
          Returns:
          typed closure

        • void closeModal(java.lang.String id, java.lang.String value, FieldInfo[] fields)

          Close the topmost modal. Usually, it passes an ID and a label to a form in a many to many relationship, if you open a modal using FormSpec.ajaxField.

          Parameters:
          id - the ID of the object
          value - the label of the object (should use toString() obejct method)
          fields - allow to update the form from which ajaxField has been called with the values of the fields listed

        • void closeModal(java.lang.Long id, java.lang.String value, FieldInfo[] fields)

          Close the topmost modal. Usually, it passes an ID and a label to a form in a many to many relationship, if you open a modal using FormSpec.ajaxField.

          Parameters:
          id - the ID of the object
          value - the label of the object (should use toString() obejct method)
          fields - allow to update the form from which ajaxField has been called with the values of the fields listed

        • void closeModal(FieldInfo[] fields)

          Close the topmost modal. Usually, it passes an ID and a label to a form in a many to many relationship, if you open a modal using FormSpec.ajaxField.

          Parameters:
          fields - allow to update the form from which ajaxField has been called with the values of the fields listed

        • void closeModalAndUpdateBlock(@groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          Generic close. Close the topmost modal, and update the block of the pages.

          Parameters:
          closure - describe how to update the page. This closure must not target elements that are in the current modal.

        • void col(BlockSpec.Width width, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          invisible blocks that enable complex layout. Can be nested.

          Parameters:
          width
          closure

        • void custom(java.lang.String html, taack.ui.dsl.common.Style style, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: MenuSpec) groovy.lang.Closure closure)

          Add custom HTML code in a block

          Parameters:
          html - code
          style - the template style to use
          closure - actions to display in the header

        • void diagram(UiDiagramSpecifier diagramSpecifier, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: MenuSpec) groovy.lang.Closure closure)

          Add a chart to the block

          Parameters:
          diagramSpecifier - description of the Chart. See UiDiagramSpecifier
          closure - menu

        • void form(UiFormSpecifier formSpecifier, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: MenuSpec) groovy.lang.Closure closure)

          Add a form in a block

          Parameters:
          i18n - label in the header of the form
          formSpecifier - the form description see UiFormSpecifier
          width
          closure - list of action in the header to add. See MenuSpec

        • void modal(@groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          Pop a modal. Nested blocks will be displayed inside this modal.

          Parameters:
          firstPass - (optional) if true create a new modal, if false, replace the content of the top modal.
          closure - content of the modal

        • void row(@groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          invisible blocks that enable complex layout. Can be nested.

          Parameters:
          width
          closure

        • void show(UiShowSpecifier showSpecifier, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: MenuSpec) groovy.lang.Closure closure)

          Add a show in a block. See UiShowSpecifier. A show serves to display object data with limited edition capabilities

          Parameters:
          i18n - label in the header of the show
          showSpecifier - the object data to display
          width
          closure - list of action in the header to add. See MenuSpec

        • void tab(java.lang.String i18n, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          Parameters:
          i18n - label
          closure - content of the tabulation.

        • void table(UiTableSpecifier tableSpecifier, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: MenuSpec) groovy.lang.Closure closure)

        • void tableFilter(UiFilterSpecifier filterSpecifier, UiTableSpecifier tableSpecifier, @groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: MenuSpec) groovy.lang.Closure closure)

          Add a filter and its associated table to the block

          Parameters:
          i18nFilter - filter label
          filterSpecifier - description of the filter
          i18nTable - table label
          tableSpecifier - description of the table
          closure - action ot display along with the label in the header

        • void tabs(@groovy.lang.DelegatesTo(strategy: Closure.DELEGATE_FIRST, value: BlockSpec) groovy.lang.Closure closure)

          Embeds tab. The closure should contains only tab(java.lang.String, groovy.lang.Closure) children.

          Parameters:
          width - width of the tabulation block
          closure - description of the tabulations