From a02f4876704f13586c90cb6f250d92258ae2adc4 Mon Sep 17 00:00:00 2001 From: dblythy Date: Tue, 6 Sep 2022 12:53:58 +1000 Subject: [PATCH 1/2] feat: add autosort option to manage columns --- .../ColumnConfigurationItem.scss | 1 - .../ColumnsConfiguration.react.js | 21 +++++++++++++++++++ .../ColumnsConfiguration.scss | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss b/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss index 68400d4ae6..7622d2e88f 100644 --- a/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss +++ b/src/components/ColumnsConfiguration/ColumnConfigurationItem.scss @@ -18,7 +18,6 @@ } .columnConfigItemName { - width: 110px; text-overflow: ellipsis; overflow: hidden; line-height: 24px; diff --git a/src/components/ColumnsConfiguration/ColumnsConfiguration.react.js b/src/components/ColumnsConfiguration/ColumnsConfiguration.react.js index 5a1f7ad0d0..bacc12c2a5 100644 --- a/src/components/ColumnsConfiguration/ColumnsConfiguration.react.js +++ b/src/components/ColumnsConfiguration/ColumnsConfiguration.react.js @@ -54,6 +54,23 @@ export default class ColumnsConfiguration extends React.Component { this.props.handleColumnsOrder(this.props.order.map(order => ({ ...order, visible: false }))); } + autoSort() { + const defaultOrder = ['objectId', 'email', 'username', 'password', 'createdAt', 'updatedAt','ACL', 'authData'] + const order = { + default: [], + other: [] + }; + for (const column of this.props.order) { + const index = defaultOrder.indexOf(column.name); + if (index !== -1) { + order.default[index] = column; + } else { + order.other.push(column) + } + } + this.props.handleColumnsOrder([...order.default.filter(column => column), ...order.other.sort((a,b) => a.name.localeCompare(b.name))]); + } + render() { const { handleColumnDragDrop, handleColumnsOrder, order, disabled } = this.props; let [ title, entry ] = [styles.title, styles.entry ].map(className => ( @@ -118,6 +135,10 @@ export default class ColumnsConfiguration extends React.Component { color='white' value='Show all' onClick={this.showAll.bind(this)} /> +