react-ui-basics 0.0.136 → 0.0.137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Table.js +20 -14
- package/Table.js.map +1 -1
- package/bundle.css +574 -574
- package/package.json +1 -1
package/Table.js
CHANGED
|
@@ -5,7 +5,7 @@ import PropTypes from 'prop-types';
|
|
|
5
5
|
import TextField from './TextField.js';
|
|
6
6
|
import AutocompleteSelect, { MODE_MULTIPLE_MINI, MODE_DEFAULT } from './AutocompleteSelect.js';
|
|
7
7
|
import Switch from './Switch.js';
|
|
8
|
-
import { Comparators, isString, preventDefault, classNames, isFunction, NOOP, stopPropagation } from './Tools.js';
|
|
8
|
+
import { Comparators, orNoop, isString, preventDefault, classNames, isFunction, NOOP, stopPropagation } from './Tools.js';
|
|
9
9
|
import MaterialIcon from './MaterialIcon.js';
|
|
10
10
|
|
|
11
11
|
var SORT_ASC = Comparators.SORT_ASC;
|
|
@@ -23,11 +23,18 @@ var Table = function (_Component) {
|
|
|
23
23
|
_this.setData = function (data) {
|
|
24
24
|
var _this$state = _this.state,
|
|
25
25
|
sortBy = _this$state.sortBy,
|
|
26
|
-
sortOrder = _this$state.sortOrder
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
sortOrder = _this$state.sortOrder,
|
|
27
|
+
comparator = _this$state.comparator;
|
|
28
|
+
if (sortBy) {
|
|
29
|
+
var c = comparator;
|
|
30
|
+
if (c && sortOrder === SORT_DESC) c = Comparators.inverse(c);
|
|
31
|
+
data.sort(c || Comparators.of(sortBy, sortOrder, data));
|
|
32
|
+
_this.setState({
|
|
33
|
+
data: data
|
|
34
|
+
}, function () {
|
|
35
|
+
orNoop(_this.props.onSortChange)(sortBy, sortOrder);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
31
38
|
};
|
|
32
39
|
_this.updateHeaders = function () {
|
|
33
40
|
var headers = _this.headers;
|
|
@@ -84,14 +91,11 @@ var Table = function (_Component) {
|
|
|
84
91
|
var updated = _objectSpread2(_objectSpread2({}, editing.item), {}, _defineProperty({}, editing.field, value));
|
|
85
92
|
_this.props.onChange(updated, _this.cancelEditing);
|
|
86
93
|
};
|
|
87
|
-
_this.sort = function (e, sortBy) {
|
|
94
|
+
_this.sort = function (e, sortBy, comparator) {
|
|
88
95
|
preventDefault(e);
|
|
89
|
-
|
|
90
|
-
sortOrder: _this.state.sortOrder === SORT_ASC ? SORT_DESC : SORT_ASC
|
|
91
|
-
|
|
92
|
-
return _this.setData(_this.state.data);
|
|
93
|
-
});else _this.setState({
|
|
94
|
-
sortOrder: SORT_ASC,
|
|
96
|
+
_this.setState({
|
|
97
|
+
sortOrder: _this.state.sortBy === sortBy && _this.state.sortOrder === SORT_ASC ? SORT_DESC : SORT_ASC,
|
|
98
|
+
comparator: comparator,
|
|
95
99
|
sortBy: sortBy
|
|
96
100
|
}, function () {
|
|
97
101
|
return _this.setData(_this.state.data);
|
|
@@ -158,7 +162,7 @@ var Table = function (_Component) {
|
|
|
158
162
|
return ReactCreateElement("th", {
|
|
159
163
|
key: i,
|
|
160
164
|
onClick: function onClick(e) {
|
|
161
|
-
return sortable && _this3.sort(e, column.field);
|
|
165
|
+
return sortable && _this3.sort(e, column.field, column.comparator);
|
|
162
166
|
}
|
|
163
167
|
}, ReactCreateElement("div", {
|
|
164
168
|
className: classNames('hidden', sortable && 'sortable', sortBy === column.field && 'active')
|
|
@@ -290,6 +294,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
290
294
|
sortable: PropTypes.bool,
|
|
291
295
|
field: PropTypes.string,
|
|
292
296
|
formatter: PropTypes.func,
|
|
297
|
+
comparator: PropTypes.func,
|
|
293
298
|
editable: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),
|
|
294
299
|
editor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
|
|
295
300
|
displayEditor: PropTypes.bool,
|
|
@@ -298,6 +303,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
298
303
|
data: PropTypes.array,
|
|
299
304
|
disabled: PropTypes.func,
|
|
300
305
|
onRowClick: PropTypes.func,
|
|
306
|
+
onSortChange: PropTypes.func,
|
|
301
307
|
onChange: PropTypes.func,
|
|
302
308
|
toKey: PropTypes.func
|
|
303
309
|
};
|
package/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../src/react-ui-basics/Table.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Table.css'\nimport PropTypes from \"prop-types\";\nimport TextField from \"./TextField\";\nimport AutocompleteSelect, {MODE_DEFAULT, MODE_MULTIPLE_MINI} from \"./AutocompleteSelect\";\nimport Switch from \"./Switch\";\nimport {Comparators, NOOP, classNames, preventDefault, stopPropagation, isFunction, isString} from \"./Tools\";\nimport MaterialIcon from \"./MaterialIcon\";\n\nexport const SORT_ASC = Comparators.SORT_ASC;\nexport const SORT_DESC = Comparators.SORT_DESC;\n\nconst getId = item => item.id;\n\n\nclass Table extends Component {\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n componentDidMount() {\n const {sortBy, sortOrder = SORT_ASC} = this.props;\n this.setState({sortBy, sortOrder}, () => this.setData(this.props.data));\n\n this.updateHeaders();\n this.updateHeadersInterval = setInterval(this.updateHeaders, 1000)\n };\n\n setData = (data) => {\n const {sortBy, sortOrder} = this.state;\n sortBy && data.sort(Comparators.of(sortBy, sortOrder, data));\n this.setState({data})\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.data !== prevProps.data) {\n this.setData(this.props.data)\n }\n this.updateHeaders();\n };\n\n render() {\n const {columns = [], onRowClick = NOOP, disabled, className, rowClassName, toKey = getId} = this.props;\n const {sortBy, sortOrder, data = [], editing} = this.state;\n return (\n <table className={classNames(`Table`, className)}>\n <thead>\n <tr ref={headers => this.headers = headers}>\n {columns.filter(it => !!it).map((column, i) => {\n const sortable = column.sortable || column.sortable == null;\n return (\n <th key={i} onClick={e => sortable && this.sort(e, column.field)}>\n <div className={classNames('hidden', sortable && 'sortable', sortBy === column.field && 'active')}>\n {column.header}\n {column.header && sortBy === column.field && sortOrder === SORT_ASC && (<MaterialIcon icon={'keyboard_arrow_up'}/>)}\n {column.header && sortBy === column.field && sortOrder === SORT_DESC && (<MaterialIcon icon={'keyboard_arrow_down'}/>)}\n </div>\n <div className={classNames('fixed', sortable && 'sortable', sortBy === column.field && 'active')}>\n {column.header}\n {column.header && sortBy === column.field && sortOrder === SORT_ASC && (<MaterialIcon icon={'keyboard_arrow_up'}/>)}\n {column.header && sortBy === column.field && sortOrder === SORT_DESC && (<MaterialIcon icon={'keyboard_arrow_down'}/>)}\n </div>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {data.map(item => (<Row key={toKey(item)}\n item={item}\n disabled={disabled}\n editing={editing && editing.id === item.id ? editing : null}\n onClick={onRowClick}\n className={rowClassName}\n columns={columns}\n editingContext={this}\n />\n ))}\n </tbody>\n </table>\n );\n };\n\n componentWillUnmount() {\n clearInterval(this.updateHeadersInterval)\n };\n\n updateHeaders = () => {\n const headers = this.headers;\n\n const hidden = headers.querySelectorAll('.hidden');\n const fixed = headers.querySelectorAll('.fixed');\n for (let i = 0; i < hidden.length; i++) {\n fixed[i].style.width = hidden[i].offsetWidth + 'px'\n }\n };\n\n cancelEditing = () => this.setState({editing: false});\n\n setEditing = (item, columnIndex, field) => this.setState({editing: this.prepareEditing(item, field, columnIndex)});\n\n prepareEditing = (item, field, columnIndex) => ({id: item.id, value: item[field], columnIndex, item, field});\n\n handleInputChange = (event) => {\n const value = this.extractValue(event);\n this.setState({editing: {...this.state.editing, value}});\n };\n\n extractValue = (event) => {\n const target = event.target;\n return target.type === 'checkbox' ? target.checked : target.value;\n };\n\n selectNewValue = (value) => {\n this.setState({editing: {...this.state.editing, value}}, this.onFinishEditing);\n };\n\n onFinishEditing = (e) => {\n const editing = this.state.editing;\n if (editing.value === null)\n return;\n\n let value = editing.value;\n if (isString(value))\n value = value.trim();\n\n if (value === editing.item[editing.field])\n return this.cancelEditing();\n\n let updated = {\n ...editing.item,\n [editing.field]: value\n };\n this.props.onChange(updated, this.cancelEditing)\n };\n\n sort = (e, sortBy) => {\n preventDefault(e);\n if (this.state.sortBy === sortBy)\n this.setState({sortOrder: this.state.sortOrder === SORT_ASC ? SORT_DESC : SORT_ASC}, () => this.setData(this.state.data));\n else\n this.setState({sortOrder: SORT_ASC, sortBy}, () => this.setData(this.state.data));\n }\n}\n\nconst formatValue = (item, column) => {\n const value = (column.value !== undefined) ? column.value : item[column.field];\n if (column.formatter) {\n return column.formatter(value, item, column.format)\n } else {\n return '' + value\n }\n};\n\nconst Row = React.memo(({item, disabled, editing, onClick, className, columns, editingContext}) => {\n return <tr onClick={e => onClick(item)}\n className={classNames(disabled && disabled(item) && 'disabled', className && (isFunction(className) ? className(item) : className))}>\n {columns.filter(it => !!it).map((column, i) => {\n const isEditing = editing && editing.id === item.id && editing.columnIndex === i;\n const editable = isFunction(column.editable) ? column.editable(item) : !!column.editable;\n return (\n <td key={i}\n className={classNames(editable ? 'editable' : 'ro', isEditing && 'editing', column.className)}\n onClick={!isEditing && editable ? () => editingContext.setEditing(item, i, column.field) : NOOP}>\n {(isEditing || column.displayEditor) && !column.editor && (\n <TextField\n value={column.preEditor ? column.preEditor(editing.value) : editing.value}\n focused={true}\n onBlur={editingContext.cancelEditing}\n onChange={editingContext.handleInputChange}\n onKeyDown={e => {\n if (e.keyCode === 27/*escape*/) {\n preventDefault(e);\n editingContext.cancelEditing();\n }\n if (e.keyCode === 13/*enter*/) {\n preventDefault(e);\n editingContext.onFinishEditing();\n }\n }}\n />\n )}\n {(isEditing || column.displayEditor) && column.editor === 'Select' && (\n <AutocompleteSelect\n value={column.preEditor ? column.preEditor(editing.value) : editing.value}\n data={column.editorData}\n focused={true}\n withArrow={false}\n withFilter={false}\n selectedMode={'inline'}\n selectedComponent={column.editorSelectedComponent}\n mode={column.multiSelect ? MODE_MULTIPLE_MINI : MODE_DEFAULT}\n onChange={column.multiSelect && (column.onSelect ? (value => editingContext.selectNewValue(column.onSelect(value))) : editingContext.selectNewValue)}\n onSelect={!column.multiSelect && (column.onSelect ? (value => editingContext.selectNewValue(column.onSelect(value))) : editingContext.selectNewValue)}\n childComponent={column.editorChildCompononRowClickent}\n onCancel={editingContext.cancelEditing}\n prefilter={column.prefilter}\n />\n )}\n {(isEditing || column.displayEditor) && column.editor === 'Switch' && (\n <Switch onClick={e => {\n stopPropagation(e);\n preventDefault(e);\n editingContext.setState({\n editing: {\n ...editingContext.prepareEditing(item, column.field, i),\n value: !item[column.field]\n }\n }, editingContext.onFinishEditing);\n }} value={item[column.field]}/>\n )}\n {(isEditing || column.displayEditor) && isFunction(column.editor) && column.editor(item, editingContext.cancelEditing, isEditing)}\n {!isEditing && !column.displayEditor && formatValue(item, column)}\n </td>\n );\n })}\n </tr>\n }\n)\n\nTable.defaultProps = {\n columns: [],\n onRowClick: NOOP,\n toKey: getId,\n};\n\nif (window.isNotProductionEnvironment) {\n Table.propTypes = {\n className: PropTypes.string,\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n columns: PropTypes.arrayOf(PropTypes.shape({\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n className: PropTypes.string,\n sortable: PropTypes.bool,\n field: PropTypes.string,\n formatter: PropTypes.func,\n editable: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n editor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n displayEditor: PropTypes.bool,\n preEditor: PropTypes.func,\n })),\n data: PropTypes.array,\n disabled: PropTypes.func,\n onRowClick: PropTypes.func,\n onChange: PropTypes.func,\n toKey: PropTypes.func,\n };\n}\n\n\nexport default Table;"],"names":["SORT_ASC","Comparators","SORT_DESC","getId","item","id","Table","props","setData","data","state","sortBy","sortOrder","sort","of","setState","updateHeaders","headers","hidden","querySelectorAll","fixed","i","length","style","width","offsetWidth","cancelEditing","editing","setEditing","columnIndex","field","prepareEditing","value","handleInputChange","event","extractValue","target","type","checked","selectNewValue","onFinishEditing","e","isString","trim","updated","onChange","preventDefault","updateHeadersInterval","setInterval","prevProps","prevState","snapshot","columns","onRowClick","NOOP","disabled","className","rowClassName","toKey","classNames","filter","it","map","column","sortable","header","clearInterval","Component","formatValue","undefined","formatter","format","Row","React","memo","onClick","editingContext","isFunction","isEditing","editable","displayEditor","editor","preEditor","keyCode","editorData","editorSelectedComponent","multiSelect","MODE_MULTIPLE_MINI","MODE_DEFAULT","onSelect","editorChildCompononRowClickent","prefilter","stopPropagation","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","string","oneOfType","func","arrayOf","shape","element","bool","array"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../src/react-ui-basics/Table.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Table.css'\nimport PropTypes from \"prop-types\";\nimport TextField from \"./TextField\";\nimport AutocompleteSelect, {MODE_DEFAULT, MODE_MULTIPLE_MINI} from \"./AutocompleteSelect\";\nimport Switch from \"./Switch\";\nimport {Comparators, NOOP, classNames, preventDefault, stopPropagation, isFunction, isString, orNoop} from \"./Tools\";\nimport MaterialIcon from \"./MaterialIcon\";\n\nexport const SORT_ASC = Comparators.SORT_ASC;\nexport const SORT_DESC = Comparators.SORT_DESC;\n\nconst getId = item => item.id;\n\n\nclass Table extends Component {\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n componentDidMount() {\n const {sortBy, sortOrder = SORT_ASC} = this.props;\n this.setState({sortBy, sortOrder}, () => this.setData(this.props.data));\n\n this.updateHeaders();\n this.updateHeadersInterval = setInterval(this.updateHeaders, 1000)\n };\n\n setData = (data) => {\n const {sortBy, sortOrder, comparator} = this.state;\n if (sortBy) {\n let c = comparator\n if(c && sortOrder === SORT_DESC)\n c = Comparators.inverse(c)\n\n data.sort(c || Comparators.of(sortBy, sortOrder, data));\n this.setState({data}, () => {\n orNoop(this.props.onSortChange)(sortBy, sortOrder)\n })\n }\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.data !== prevProps.data) {\n this.setData(this.props.data)\n }\n this.updateHeaders();\n };\n\n render() {\n const {columns = [], onRowClick = NOOP, disabled, className, rowClassName, toKey = getId} = this.props;\n const {sortBy, sortOrder, data = [], editing} = this.state;\n return (\n <table className={classNames(`Table`, className)}>\n <thead>\n <tr ref={headers => this.headers = headers}>\n {columns.filter(it => !!it).map((column, i) => {\n const sortable = column.sortable || column.sortable == null;\n return (\n <th key={i} onClick={e => sortable && this.sort(e, column.field, column.comparator)}>\n <div className={classNames('hidden', sortable && 'sortable', sortBy === column.field && 'active')}>\n {column.header}\n {column.header && sortBy === column.field && sortOrder === SORT_ASC && (<MaterialIcon icon={'keyboard_arrow_up'}/>)}\n {column.header && sortBy === column.field && sortOrder === SORT_DESC && (<MaterialIcon icon={'keyboard_arrow_down'}/>)}\n </div>\n <div className={classNames('fixed', sortable && 'sortable', sortBy === column.field && 'active')}>\n {column.header}\n {column.header && sortBy === column.field && sortOrder === SORT_ASC && (<MaterialIcon icon={'keyboard_arrow_up'}/>)}\n {column.header && sortBy === column.field && sortOrder === SORT_DESC && (<MaterialIcon icon={'keyboard_arrow_down'}/>)}\n </div>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {data.map(item => (<Row key={toKey(item)}\n item={item}\n disabled={disabled}\n editing={editing && editing.id === item.id ? editing : null}\n onClick={onRowClick}\n className={rowClassName}\n columns={columns}\n editingContext={this}\n />\n ))}\n </tbody>\n </table>\n );\n };\n\n componentWillUnmount() {\n clearInterval(this.updateHeadersInterval)\n };\n\n updateHeaders = () => {\n const headers = this.headers;\n\n const hidden = headers.querySelectorAll('.hidden');\n const fixed = headers.querySelectorAll('.fixed');\n for (let i = 0; i < hidden.length; i++) {\n fixed[i].style.width = hidden[i].offsetWidth + 'px'\n }\n };\n\n cancelEditing = () => this.setState({editing: false});\n\n setEditing = (item, columnIndex, field) => this.setState({editing: this.prepareEditing(item, field, columnIndex)});\n\n prepareEditing = (item, field, columnIndex) => ({id: item.id, value: item[field], columnIndex, item, field});\n\n handleInputChange = (event) => {\n const value = this.extractValue(event);\n this.setState({editing: {...this.state.editing, value}});\n };\n\n extractValue = (event) => {\n const target = event.target;\n return target.type === 'checkbox' ? target.checked : target.value;\n };\n\n selectNewValue = (value) => {\n this.setState({editing: {...this.state.editing, value}}, this.onFinishEditing);\n };\n\n onFinishEditing = (e) => {\n const editing = this.state.editing;\n if (editing.value === null)\n return;\n\n let value = editing.value;\n if (isString(value))\n value = value.trim();\n\n if (value === editing.item[editing.field])\n return this.cancelEditing();\n\n let updated = {\n ...editing.item,\n [editing.field]: value\n };\n this.props.onChange(updated, this.cancelEditing)\n };\n\n sort = (e, sortBy, comparator) => {\n preventDefault(e);\n this.setState({\n sortOrder: this.state.sortBy === sortBy && this.state.sortOrder === SORT_ASC ? SORT_DESC : SORT_ASC,\n comparator,\n sortBy\n }, () => this.setData(this.state.data));\n }\n}\n\nconst formatValue = (item, column) => {\n const value = (column.value !== undefined) ? column.value : item[column.field];\n if (column.formatter) {\n return column.formatter(value, item, column.format)\n } else {\n return '' + value\n }\n};\n\nconst Row = React.memo(({item, disabled, editing, onClick, className, columns, editingContext}) => {\n return <tr onClick={e => onClick(item)}\n className={classNames(disabled && disabled(item) && 'disabled', className && (isFunction(className) ? className(item) : className))}>\n {columns.filter(it => !!it).map((column, i) => {\n const isEditing = editing && editing.id === item.id && editing.columnIndex === i;\n const editable = isFunction(column.editable) ? column.editable(item) : !!column.editable;\n return (\n <td key={i}\n className={classNames(editable ? 'editable' : 'ro', isEditing && 'editing', column.className)}\n onClick={!isEditing && editable ? () => editingContext.setEditing(item, i, column.field) : NOOP}>\n {(isEditing || column.displayEditor) && !column.editor && (\n <TextField\n value={column.preEditor ? column.preEditor(editing.value) : editing.value}\n focused={true}\n onBlur={editingContext.cancelEditing}\n onChange={editingContext.handleInputChange}\n onKeyDown={e => {\n if (e.keyCode === 27/*escape*/) {\n preventDefault(e);\n editingContext.cancelEditing();\n }\n if (e.keyCode === 13/*enter*/) {\n preventDefault(e);\n editingContext.onFinishEditing();\n }\n }}\n />\n )}\n {(isEditing || column.displayEditor) && column.editor === 'Select' && (\n <AutocompleteSelect\n value={column.preEditor ? column.preEditor(editing.value) : editing.value}\n data={column.editorData}\n focused={true}\n withArrow={false}\n withFilter={false}\n selectedMode={'inline'}\n selectedComponent={column.editorSelectedComponent}\n mode={column.multiSelect ? MODE_MULTIPLE_MINI : MODE_DEFAULT}\n onChange={column.multiSelect && (column.onSelect ? (value => editingContext.selectNewValue(column.onSelect(value))) : editingContext.selectNewValue)}\n onSelect={!column.multiSelect && (column.onSelect ? (value => editingContext.selectNewValue(column.onSelect(value))) : editingContext.selectNewValue)}\n childComponent={column.editorChildCompononRowClickent}\n onCancel={editingContext.cancelEditing}\n prefilter={column.prefilter}\n />\n )}\n {(isEditing || column.displayEditor) && column.editor === 'Switch' && (\n <Switch onClick={e => {\n stopPropagation(e);\n preventDefault(e);\n editingContext.setState({\n editing: {\n ...editingContext.prepareEditing(item, column.field, i),\n value: !item[column.field]\n }\n }, editingContext.onFinishEditing);\n }} value={item[column.field]}/>\n )}\n {(isEditing || column.displayEditor) && isFunction(column.editor) && column.editor(item, editingContext.cancelEditing, isEditing)}\n {!isEditing && !column.displayEditor && formatValue(item, column)}\n </td>\n );\n })}\n </tr>\n }\n)\n\nTable.defaultProps = {\n columns: [],\n onRowClick: NOOP,\n toKey: getId,\n};\n\nif (window.isNotProductionEnvironment) {\n Table.propTypes = {\n className: PropTypes.string,\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n columns: PropTypes.arrayOf(PropTypes.shape({\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n className: PropTypes.string,\n sortable: PropTypes.bool,\n field: PropTypes.string,\n formatter: PropTypes.func,\n comparator: PropTypes.func,\n editable: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n editor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n displayEditor: PropTypes.bool,\n preEditor: PropTypes.func,\n })),\n data: PropTypes.array,\n disabled: PropTypes.func,\n onRowClick: PropTypes.func,\n onSortChange: PropTypes.func,\n onChange: PropTypes.func,\n toKey: PropTypes.func,\n };\n}\n\n\nexport default Table;"],"names":["SORT_ASC","Comparators","SORT_DESC","getId","item","id","Table","props","setData","data","state","sortBy","sortOrder","comparator","c","inverse","sort","of","setState","orNoop","onSortChange","updateHeaders","headers","hidden","querySelectorAll","fixed","i","length","style","width","offsetWidth","cancelEditing","editing","setEditing","columnIndex","field","prepareEditing","value","handleInputChange","event","extractValue","target","type","checked","selectNewValue","onFinishEditing","e","isString","trim","updated","onChange","preventDefault","updateHeadersInterval","setInterval","prevProps","prevState","snapshot","columns","onRowClick","NOOP","disabled","className","rowClassName","toKey","classNames","filter","it","map","column","sortable","header","clearInterval","Component","formatValue","undefined","formatter","format","Row","React","memo","onClick","editingContext","isFunction","isEditing","editable","displayEditor","editor","preEditor","keyCode","editorData","editorSelectedComponent","multiSelect","MODE_MULTIPLE_MINI","MODE_DEFAULT","onSelect","editorChildCompononRowClickent","prefilter","stopPropagation","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","string","oneOfType","func","arrayOf","shape","element","bool","array"],"mappings":"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"}
|