UNPKG

cpui-components

Version:

58 lines (51 loc) 2.34 kB
The CivicPlus Table ```js const { Column } = require('../Column/Column.js') const { CPTableTemplates } = require('./CPTable.js') let nameTemplate = function(rowData, column) { return <a href="#">{rowData.name}</a>; }; let ownerTemplate = function(rowData, column) { return <a href="#">{ rowData.owners.length > 3 ? rowData.owners.length + ' Owners' : rowData.owners.join(', ') }</a> }; let applicationTemplate = function(rowData, column) { return <a href="#">{rowData.applications} Applications</a> }; let actionsTemplate = function(rowData, column) { return <ActionMenu id="orgActionMenu" options={[ {"text": "Modify", "url":"/Organization/" + row.Id }, {"text": "Groups", "url":"/Groups/" + row.Id } ]} /> }; let data = []; for(var i = 0; i < 50; i++) { var item1 = { name: 'City of Manhattan' + i + ', KS', owners: ['Bill Murray'], applications: 2, actions: ['Modify', 'Remove'] } var item2 = { name: 'Maricopa County' + i, owners: ['Dan Aykroyd', 'Harold Ramis', 'Ernie Hudson'], applications: 2, actions: ['Modify', 'Remove'] } var item3 = { name: 'McKinney' + i + ', TX', owners: ['Dan Aykroyd', 'Harold Ramis', 'Ernie Hudson', 'Bill Murray'], applications: 0, actions: ['Modify', 'Remove'] } data.push(item1); data.push(item2); data.push(item3); } <CPTable value={data} sortField={'name'} sortOrder={1} paginator={true} rows={10}> <Column key={'name'} field={'name'} body={nameTemplate} header={CPTableTemplates.headerTemplate} headerText={'Organization'} sortable={true} /> <Column key={'owners'} field={'owners'} body={ownerTemplate} header={CPTableTemplates.headerTemplate} headerText={'Owner'} sortable={true} className={'cp-ModuleManage-nextLevel'} /> <Column key={'applications'} field={'applications'} body={applicationTemplate} header={CPTableTemplates.headerTemplate} headerText={'Applications'} sortable={true} /> <Column key={'actions'} field={'actions'} body={actionsTemplate} header={CPTableTemplates.headerTemplate} headerText={'Actions'} className={'cp-Tbl-cell--actions'} /> </CPTable> ```