09 February 2024

1. Toolbar

A toolbar can be configured at widget level for different actions as below:

<GridBrowserWidget>
	<Toolbar>
		...
	</Toolbar>
	...
</GridBrowserWidget>

The <Toolbar> element supports the following child elements.

Name Description Example

Menu

Creates a dropdown menu in the toolbar. The toolbar can have zero or multiple menus

See specific Menu configuration below

Command

Creates a command in the toolbar

See specific Command configuration below

1.1. ValidFor

ValidFor is supported for toolbar commands in grid browser, it can be used to define a command which check if it is valid for rows in the GridBrowser table.

Name Description Example

ValidFor

Defines the command is valid for which rows in datatable.

When using the goThere action, this feature isn’t supported. Remember, each command requires a unique <Id>.

To control command visibility based on business-object attributes in a specific column, following setting has to be added in respective table column configuration:

<Setting name="ValidForAttributeLabel" value="attribute_name" />

The value of ValidForAttributeLabel can be either the attribute name or its symbolic name.

 <ValidFor>
        <Types>
            <Type>type_Part</Type>
            <Type>type_AnotherType</Type>
        </Types>
        <States policy="policy_DevelopmentPart">
            <State>state_Create</State>
            <State>state_AnotherState</State>
        </States>
        <States policy="policy_ECPart">
            <State>state_Preliminary</State>
        </States>
        <Attributes>
            <Attribute name="attribute_MaterialCategory"  value="Glass, Metal" />
            <Attribute name="attribute_AnotherAttribute" value="another Single or Multiples Values"/>
        </Attributes>
    </ValidFor>

1.2. Custom action handler

The <Toolbar> element supports the actionHandler attribute. The actionHandler attribute value should point to an implementation of a custom action handler. The action handler can implement custom actions.

Default actionHandler that ships with Helium is com.technia.helium.table.config.action.GridBrowserActionHandler which provides special actions that is intended to be used with a GridBrowser definition.

The default action handler provides following elements to configure within the toolbar.

Name Description Example

SearchAndAddColumn

Opens a search modal configured with given searchform and relationships and
user can select search results and add selected object as column.
<SearchAndAddColumn> supports following child elements:
Relationships: The list of relationships available for connection in search modal.
Relationship: Name of the relationship to be added.It has two attributes default (sets the relationship as default selected for connection) and direction(the relationship direction to be used for connection)

Default value for direction is false. Default value for default is false.
SearchConfig : The search config path for the search modal. For further details see New Search Experience

Added column is just a placeholder and will not have any connections to the objects available in the table.
<SearchAndAddColumn>
	<Label>Add Company</Label>
	<Relationships>
		<Relationship default="true" direction="from">relationship_DesignResponsibility</Relationship>
	</Relationships>
	<SearchConfig>tvc:search:hex:common/SearchAndAddCompany.xml</SearchConfig>
</SearchAndAddColumn>

ExpandAll

Preconfigured command that fully expand all nodes in grid table.

<ExpandAll />

ToggleEditMode

Open all editable cells for edit. After the edit is done, same commad can be used to toggle back to the view mode.

image
Figure 1. Toggled Edit Mode

<ToggleEditMode />

ToggleEditSelectedElements

Navigates to a widget where selected intersection elements which have a valid connection are loaded.

Respective toggle widget definition must be added at Dashboard level with widget id <Id>selectedElements-goThere</Id>. Refer dashboard configuration for quick reference.

<ToggleEditSelectedElements />

ToggleEditAllElements

Navigates to a widget where all the intersection elements which have a valid connection are loaded.

Respective toggle widget definition must be added at Dashboard level with widget id <Id>allElements-goThere</Id>. Refer dashboard configuration for quick reference.

<ToggleEditAllElements />

ToggleEditColumnObjects

Navigates to a widget where grid column objects are loaded.

Respective toggle widget definition must be added at Dashboard level with widget id <Id>columnObjects-goThere</Id>. Refer dashboard configuration for quick reference.

<ToggleEditColumnObjects />

ToggleEditRowObjects

Navigates to a widget where grid row objects are loaded.

Respective toggle widget definition must be added at Dashboard level with widget id <Id>rowObjects-goThere</Id>. Refer dashboard configuration for quick reference.

<ToggleEditRowObjects />

ExportExcel

Preconfigured command that exports the rows of the table to Excel format.

Use the tvc.helium.exportExcel.enableXLSXFormat global setting to determine the Excel export format: true exports in XLSX format, false exports in XLS format. Default value is true.

<ExcelExport />

ExportPDF

Preconfigured command that exports the rows of the table to PDF format.

<PDFExport />

ExportCSV

Preconfigured command that exports the rows of the table to CSV format.

<CSVExport />

Collection

Adds a collection menu with below commands to manage businessobjects in Clipboard and Collection. Refer collections section for more details

<Collection />

FilterChooser

Preconfigured command that filter data in the existing table rows or in full structure. Filter can be applied for a particular field or any field. After data is filtered, cells of filtered data based on search term are highlighted accordingly.

Multiple column filters can be added to narrow down results further. Users can add additional filter rows using the Add button, each targeting a specific column or Any Field. Each filter row allows selecting a column, an operator (contains, is, is not, is empty, is not empty, not contains), and a value. Filters can be removed individually or all at once using the Remove All button.

image
Figure 1. Data Filter - Multiple Column Filters

When multiple filters are applied, the following options are available:

  • Any Expression – When enabled, rows matching any one of the filter expressions are shown (OR logic). When disabled, rows must match all filter expressions (AND logic). This option is only visible when more than one filter is added.

  • Full Structure – When enabled, the filter is applied across the full structure instead of only the currently loaded rows.

  • Match On Every Level – When enabled, filtering checks every level in the structure hierarchy.

After a filter is applied, the results bar displays the matched hits along with the filter criteria. An Edit button is available next to the Clear button, allowing users to reopen the filter dialog with the previously applied criteria pre-populated. This makes it easy to refine or adjust the filter without re-entering all values.

Highlight color matching result is configurable using the property tvc.helium.grid.filterHighlightColor , by default it is '#e9ff32'

<FilterChooser />

AdvanceSorting

Preconfigured command that enables multi-column sorting on the grid browser table. Users can sort data by up to three columns simultaneously, each with an independent sort direction (ascending or descending). The sort configuration can optionally be saved for future sessions using the Save Sort checkbox.

image
Figure 1. Multi Sort

This command can be configured in the toolbar as below:

<Toolbar>
    ...
    <AdvanceSorting />
    ...
</Toolbar>

<AdvanceSorting />

A goBack button will be available in the toolbar of toggled widgets to go back to main grid browser widget.

image
Figure 1. Toggled widget

The widget that needs to be toggled are to be added the respective dashboard as shown below.

<Dashboard>
	<Locked>false</Locked>
	<Floating>false</Floating>
	<Widgets>
		<Widget namespace="hex:engineering:grid" name="GridRDOMapping.xml">
			<Id>gridRDOMapping</Id>
			<Width>12</Width>
			<Height>8</Height>
			<X>0</X>
			<Y>0</Y>
			<Locked>false</Locked>
			<Badge>false</Badge>
		</Widget>
		<Widget namespace="hex:engineering:grid" name="GridColumnObjects.xml">
			<Id>columnObjects-goThere</Id>
			<Width>8</Width>
			<Height>10</Height>
			<X>0</X>
			<Y>0</Y>
			<Hidden>true</Hidden>
		</Widget>
		<Widget namespace="hex:engineering:grid" name="GridRowObjects.xml">
			<Id>rowObjects-goThere</Id>
			<Width>8</Width>
			<Height>10</Height>
			<X>0</X>
			<Y>0</Y>
			<Hidden>true</Hidden>
		</Widget>
		<Widget namespace="hex:engineering:grid" name="GridAllElements.xml">
			<Id>allElements-goThere</Id>
			<Width>8</Width>
			<Height>10</Height>
			<X>0</X>
			<Y>0</Y>
			<Hidden>true</Hidden>
		</Widget>
		<Widget namespace="hex:engineering:grid" name="GridSelectedElements.xml">
			<Id>selectedElements-goThere</Id>
			<Width>8</Width>
			<Height>10</Height>
			<X>0</X>
			<Y>0</Y>
			<Hidden>true</Hidden>
		</Widget>
	</Widgets>
</Dashboard>
Ids of the toggled widgets should be same as mentioned above.