Tables
Introduction
- A
Tableis a configurable unit designed to define and manage table data for specific wizard steps, particularly for those of theTABLE_SELECTIONtype. - 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
- All
Tablesconfigurations are stored and maintained in the ISON 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 theTable, which should match the ID configured in theWizard 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 theTable. 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 theColumnsconfiguration.<column>: Represents the configuration for a single column.<key>: The unique key of theColumn.<label>: The label of theColumn. Supports language-dependent translation.<property>: Specifies theBucketproperty to be mapped for the column data if the data should be obtained fromBucketproperty.<entities>: Specifies the list ofBucket content entitiesto be mapped for the column data if the data should be obtained fromBucket content entities. The entity values are merged by-.<type>: Specifies theData Typeof the column data. Current supported type:TEXT,NUMBER,DATE,BOOLEAN,DATE_RANGEandLINK. Default value isTEXT.<required>: Specifies whether the column is mandatory.Requiredcolumns 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 istrue.
Filters Configuration:
<filters>: Wrapper element for theFiltersconfiguration.<filter>: Represents the configuration for a single filter.<key>: The unique key of theFilter.<type>: Specifies theTypeof the filter. Current supported type:TEXT,BOOLEAN(Checkbox) andDATE_RANGE. Default value isTEXT.<columns>: Specifies the list ofColumnsto be used for filtering. Currently, anORcondition is applied across multiple columns in a filter.<label>: The label of theColumn. Supports language-dependent translation.
Links Configuration:
<links>: Wrapper element forLinksconfiguration.<link>: Specifies the ID of theLinkto 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.