Skip to main content

Tables

Introduction

  • A Table is a configurable unit designed to define and manage table data for specific wizard steps, particularly for those of the TABLE_SELECTION type.
  • Tables can have associated metadata, which stores selected row information used within the wizard step process.
  • The data for these tables is gathered by invoking plugin methods. The result is a list of Bucket data that maps to the row content through properties or content entities (like texts, key values, etc.).
  • Additionally, you can configure tables to display extra links as table actions.

Configuration

ISON Configuration Details

The following sample illustrates how a Table is configured in the ISON file.

Sample ISON Configuration

<tables>
<table id="table_id">
<metadata>table_metadata</metadata>
<method>get_table_data</method>
<label>table_label</label>
<description>table_desc</description>
<rowIdKey>row_id</rowIdKey>
<columns>
<column>
<key>column_id</key>
<label>column_id_label</label>
<property>id</property>
<type>NUMBER</type>
<needAsDefault>false</needAsDefault>
<metadata>table_metadata</metadata>
</column>
<column>
<key>column_text</key>
<label>column_text_label</label>
<required>true</required>
<entities>
<entity>column_text_entity</entity>
</entities>
</column>
<column>
<key>column_date_from</key>
<label>column_date_from_label</label>
<type>DATE</type>
<entities>
<entity>column_date_from_entity</entity>
</entities>
<metadata>table_date_from_metadata</metadata>
</column>
<column>
<key>column_date_to</key>
<label>column_date_to_label</label>
<type>DATE</type>
<entities>
<entity>column_date_to_entity</entity>
</entities>
<metadata>table_date_to_metadata</metadata>
</column>
<column>
<key>column_date_range</key>
<label>column_date_range_label</label>
<type>DATE_RANGE</type>
<entities>
<entity>column_date_from_entity</entity>
<entity>column_date_to_entity</entity>
</entities>
<metadata>table_date_range_metadata</metadata>
</column>
<column>
<key>column_boolean</key>
<label>column_boolean_label</label>
<type>BOOLEAN</type>
<vislble>false</vislble>
<entities>
<entity>column_boolean_entity</entity>
</entities>
</column>
<column>
<key>column_link</key>
<label>column_link_label</label>
<type>LINK</type>
<entities>
<entity>column_link_entity</entity>
</entities>
</column>
</columns>
<links>
<link>table_link</link>
</links>
<filters>
<filter>
<key>text_filter</key>
<columns>
<column>column_id</column>
<column>column_text</column>
</columns>
</filter>
<filter>
<key>date_range_filter</key>
<columns>
<column>column_date_range</column>
</columns>
<type>DATE_RANGE</type>
</filter>
<filter>
<key>boolean_filter</key>
<label>boolean_filter_label</label>
<columns>
<column>column_boolean</column>
</columns>
<type>BOOLEAN</type>
</filter>
</filters>
</table>
</tables>
...
<methods>
<method id="get_table_data">
...
</method>
</methods>
...
<entities>
<entity id="column_text_entity">
...
</entity>
<entity id="column_date_from_entity">
...
</entity>
<entity id="column_date_to_entity">
...
</entity>
<entity id="column_boolean_entity">
...
</entity>
<entity id="column_link_entity">
...
</entity>
</entities>
...
<links>
<link id="table_link">
...
</link>
</links>

Explanation of Configuration Elements

  • <tables>: Wrapper element for Tables configuration.

  • <table>: Each <table> element represents the configuration for a single table.

Attributes:
  • id: The unique ID of the Table, which should match the ID configured in the Wizard Step. This attribute is required.
Elements:
  • <metadata>: The identifier of the corresponding metadata for storing the key data of the selected row.
  • <method>: The ID of the method used to retrieve the table data. The expected return value is a list of buckets. The information and content data of each bucket represent a row in the table.
  • <label>: The label of the Table. Supports language-dependent translation.
  • <description>: The description of the Table. Supports language-dependent translation.
  • <rowIdKey>: The key of the ID column which should be used to uniquely identify the row and store to the metadata.
Columns Configuration:
  • <columns>: Wrapper element for the Columns configuration.
    • <column>: Represents the configuration for a single column.
      • <key>: The unique key of the Column.
      • <label>: The label of the Column. Supports language-dependent translation.
      • <property>: Specifies the Bucket property to be mapped for the column data if the data should be obtained from Bucket property.
      • <entities>: Specifies the list of Bucket content entities to be mapped for the column data if the data should be obtained from Bucket content entities. The entity values are merged by -.
      • <type>: Specifies the Data Type of the column data. Current supported type: TEXT, NUMBER, DATE, BOOLEAN, DATE_RANGE and LINK. Default value is TEXT.
      • <required>: Specifies whether the column is mandatory. Required columns cannot be hidden from the user.
      • <needAsDefault>: Specifies whether the column should be shown by default.'
      • <visible>: Specifies whether the column should be visible on the UI. Default value is true.
Filters Configuration:
  • <filters>: Wrapper element for the Filters configuration.
    • <filter>: Represents the configuration for a single filter.
      • <key>: The unique key of the Filter.
      • <type>: Specifies the Type of the filter. Current supported type: TEXT, BOOLEAN (Checkbox) and DATE_RANGE. Default value is TEXT.
      • <columns>: Specifies the list of Columns to be used for filtering. Currently, an OR condition is applied across multiple columns in a filter.
      • <label>: The label of the Column. Supports language-dependent translation.
  • <links>: Wrapper element for Links configuration.
    • <link>: Specifies the ID of the Link to be shown as the table action.

Additional Configuration Elements

  • <methods>: Defines plugin methods associated with the table, such as the method to retrieve the table data.
  • <links>: Configures additional link elements used for table actions.'
  • <entities>: Configures entities used for table columns.

These configurations offer flexibility for creating dynamic, customizable tables for different wizard steps while linking data sources via plugins.