Skip to main content

Tables


Tables

The table component is a highly configurable, feature rich and navigable data grid. It allows for presentation of data in many different ways, and it is often possible fulfil business requests, just by configuration. The table implements the common framework concept and uses Cytoscape.js#data eles data select keys to configure data into cells. Read Understanding the graph model to learn more about the high level concept.

{
"tables" : {
"example" : {
"datasets": ["rootNodesInitalLoadData"],
"columns": [
"title",
"owner",
"state",
"DEFAULT_SEPARATOR",
"related_docs"
],
"services": ["initialLoadService"],
"expand": {
"services": ["expandService"],
"datasets": ["expandData"]
}
}
}
}

Table properties

Prop NameDescriptionData TypeRequiredExample
columnsList of column names to display in the table.array stringyes["title", "name","DEFAULT_SEPARATOR" "state"]
contextMenuReference to a context menu definition.stringno"issueContextMenu"
datasetsReferences to datasets providing data for the table.array stringyes["issueData"]
deferredServicesServices loaded lazily after initial render.array stringno["lazyLoadDetails"]
dropHandlerReference to a drop handler for drag-and-drop functionality.stringno"dropHandler": "cr_table_drop_zone",
expandConfiguration for expandable rows or data.objectnoTable expand
nameName of the table (not used explicitly here).stringyes"IssueTable"
servicesReferences to services fetching data for the table.array stringno"services": ["fetchAllIssues"]
settingsTable-specific settings (e.g., drag behavior, column mapping).objectno{"multiDraggable": true}
toolbarsReference to a toolbar definition for interactivity.stringno"toolbars": "toolbar_issue_details"

Settings properties

Prop NameDescriptionData TypeRequiredExample
colorMappedColumnReference to a column name that will have color mapping applied.stringno"priority"
multiDraggableAllows selecting multiple rows for drag-and-drop. The related column data is dragged together.booleannotrue
onTableRowDropEnableEnables a drop zone on top of the table for supporting drag-and-drop connections.booleannotrue
paginationEnableif set false then pagination disabled for table.booleanno"paginationEnable": false
paginationConfigControl selectable pagination sizes and the default usedobjectno"paginationConfig":{ "pagination": true, "itemsPerPage":[25,50,100], "defaultItemsPerPage": 25 }

Expand properties

Expand setting defines how rows or nodes are expanded in a structure table. For expanding node in some cases a service call is needed to fetch the data. Dataset is used to navigate to or from the node / row to get child nodes.

Prop NameDescriptionData TypeRequiredExample
datasetsDefines which datasets to call to navigate from row or node to get child nodes.array stringyes"expand": { "services": [ "physicalProductService" ], "datasets": [ "ups1Level" ] },
servicesIn case data is not yet present in data store (graph) services are used to load data on expandRow that is getting expanded as used as contextId while calling servicearray stringno"expand": { "services": [ "physicalProductService" ], "datasets": [ "ups1Level" ] },
expandRootNodesOnLoadSet to true for making default expand enable for level 1booleanno"expand": { "services": [ "physicalProductService" ], "datasets": [ "ups1Level" ], "expandRootNodesOnLoad": true }

Advanced table implementations

The table component allows advanced implementations such as custom rendering or data calculations using the plugin architecture. Learn more about plugins in Plugin code extensions.