-
Notifications
You must be signed in to change notification settings - Fork 2
Tableview
rmvonji edited this page Sep 25, 2019
·
1 revision
Table view and https://github.com/rmvonji/emagin-platform/wiki/8.-ListView have same configuration structure except that tableview declares column.
You can switch from table view to list view just by changing table structure implementation declaration.
For Listview
<property name="contentImpl" value="ListViewContent" />For tableview
<property name="contentImpl" value="TableViewContent" />A tableview is composed by followings elements:
- The header
- The content
- The footer pagination
- A toolbar
- The no content pane
<component id="Content" combine.keys="id" processor="TableStructureProcessor">
<component id="Header">
</component>
<component id="NoContentPane">
</component>
<component id="Content">
</component>
<component id="Toolbar">
<component id="RootMenuActions">
<component id="LeftActions">
</component>
<component id="RightActions">
</component>
</component>
</component>
<component id="Pagination">
</component>
</component>The heder defines the title, the filter and the filtering algorithm provider
<component id="Header">
<properties>
<property name="title" value="LIST_EXAMPLE1_TITLE_EXAMPLE" />
<property name="styleClass" value="default-background" />
<property name="headerImpl" value="FiltrableTableHeaderImpl" />
<property name="filterImpl" value="DemoTableByModelFilter" />
</properties>
</component>paginateOperation: The bean responsible paginating the table
dataLoader: The data loader
domainClass: integration with Emagin cloud, remote entity to paginate
<component id="Content">
<properties>
<property name="showTableHeader" value="false" />
<property name="tableRowStyleClass" value="ep-shadowed-table-row" />
<property name="domainClass" value="com.emagin.core.model.Element" />
<property name="paginateOperation" value="StubPaginatedTableDataOperation" />
<property name="dataLoader" value="GenericEntityPaginatedDataLoader" />
</properties>
<component id="Columns" combine.keys="ref">
<component ref="CoreCheckboxSelectColumn" responsiveOrder="-1" />
<component ref="CoreWorkStatusColumn" responsiveOrder="-1" />
<component ref="CoreBlankSpacerColumn" responsiveOrder="-1" />
<component ref="CoreSmallTableIconColumn" responsiveOrder="-1" />
<component ref="ModelColumn" responsiveOrder="-1" masterColumn="true" />
<component ref="CoreBlankSpacerColumn" responsiveOrder="1" />
<component ref="FirstNameColumn" responsiveOrder="0" />
<component ref="CompanyColumn" responsiveOrder="-1" />
<component ref="YearModelColumn" responsiveOrder="1" />
<component ref="CoreBlankSpacerColumn" responsiveOrder="-1" />
</component>
</component>Empty message pane can be configured to display custom message and custom action
<component id="NoContentPane">
<properties>
<property name="contentImpl" value="GroupedActionsContentPane" />
</properties>
<component id="ActionGroup1">
<properties>
<property name="message" value="EMPTY_LIST_ADD_ELEMENT_MESSAGE" />
<property name="actionNode" value="RefreshButton" />
</properties>
</component>
</component><component id="Toolbar">
<properties>
<property name="toolbarImpl" value="ModifiableHToolbar" />
<property name="styleClass" value="ep-table-toolbar" />
<property name="modifyingActionsStyleClass" value="ep-table-toolbar,spacing-8" />
</properties>
<component id="RootMenuActions">
<component id="LeftActions">
</component>
<component id="RightActions">
</component>
</component>
</component><component id="Pagination">
<properties>
<property name="paginationImpl" value="SimplePaginationBar" />
</properties>
</component><component id="Pagination">
<properties>
<property name="paginationImpl" value="LoadMorePaginationBar" />
</properties>
</component>