react-ui-basics 0.0.147 → 0.0.150

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.
Files changed (55) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js +1 -1
  3. package/AutocompleteSelect.js.map +1 -1
  4. package/Button.js.map +1 -1
  5. package/Checkbox.js.map +1 -1
  6. package/CircleProgress.js.map +1 -1
  7. package/DNDContainer.js.map +1 -1
  8. package/DNDDraggable.js.map +1 -1
  9. package/DNDDroppable.js.map +1 -1
  10. package/Dialog.js.map +1 -1
  11. package/DropFileInput.js.map +1 -1
  12. package/DroppableHorizontalList.js.map +1 -1
  13. package/DroppableList.js.map +1 -1
  14. package/Dropzone.js +6 -1
  15. package/Dropzone.js.map +1 -1
  16. package/FilteredList.js.map +1 -1
  17. package/FloatingActionButton.js.map +1 -1
  18. package/FormUploadProgress.js.map +1 -1
  19. package/ImageGallery.js.map +1 -1
  20. package/MaterialIcon.js.map +1 -1
  21. package/Modal.js.map +1 -1
  22. package/ModalMenu.js.map +1 -1
  23. package/ReactConstants.js.map +1 -1
  24. package/ReactCreateElement.js.map +1 -1
  25. package/ReadyListener.js.map +1 -1
  26. package/Scrollable.js.map +1 -1
  27. package/ScrollableTable.js.map +1 -1
  28. package/Size.js.map +1 -1
  29. package/Snackbar.js.map +1 -1
  30. package/SpinningProgress.js.map +1 -1
  31. package/Switch.js.map +1 -1
  32. package/Table.d.ts +76 -0
  33. package/Table.js +135 -321
  34. package/Table.js.map +1 -1
  35. package/TextField.js.map +1 -1
  36. package/Tools.d.ts +3 -3
  37. package/Tools.js +5 -5
  38. package/Tools.js.map +1 -1
  39. package/_virtual/_commonjsHelpers.js +6 -0
  40. package/_virtual/_commonjsHelpers.js.map +1 -0
  41. package/_virtual/_react.js +3 -0
  42. package/_virtual/_react.js.map +1 -0
  43. package/_virtual/react-jsx-runtime.development.js +3 -0
  44. package/_virtual/react-jsx-runtime.development.js.map +1 -0
  45. package/bundle.css +350 -350
  46. package/package.json +3 -2
  47. package/router/HistoryTools.js.map +1 -1
  48. package/router/Link.js.map +1 -1
  49. package/router/NavLink.js.map +1 -1
  50. package/router/Route.js.map +1 -1
  51. package/router/index.js.map +1 -1
  52. package/store/ProxyTools.js.map +1 -1
  53. package/store/Store.d.ts +1 -1
  54. package/store/Store.js +5 -2
  55. package/store/Store.js.map +1 -1
package/Table.js CHANGED
@@ -1,337 +1,151 @@
1
- import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
1
+ import { jsx as jsxRuntime_2, jsxs as jsxRuntime_1 } from 'react/jsx-runtime';
2
2
  import React, { Component } from 'react';
3
- import ReactCreateElement from './ReactCreateElement.js';
4
- import PropTypes from 'prop-types';
5
3
  import TextField from './TextField.js';
6
4
  import AutocompleteSelect, { MODE_MULTIPLE_MINI, MODE_DEFAULT } from './AutocompleteSelect.js';
7
5
  import Switch from './Switch.js';
8
- import { Comparators, orNoop, isString, preventDefault, classNames, isFunction, NOOP, stopPropagation } from './Tools.js';
6
+ import { classNames, isFunction, NOOP, preventDefault, stopPropagation, createRef, Comparators, orNoop, isString, setInterval } from './Tools.js';
9
7
  import MaterialIcon from './MaterialIcon.js';
10
8
 
11
- var SORT_ASC = Comparators.SORT_ASC;
12
- var SORT_DESC = Comparators.SORT_DESC;
13
- var getId = function getId(item) {
14
- return item.id;
15
- };
16
- var Table = function (_Component) {
17
- _inherits(Table, _Component);
18
- var _super = _createSuper(Table);
19
- function Table(props) {
20
- var _this;
21
- _classCallCheck(this, Table);
22
- _this = _super.call(this, props);
23
- _this.setData = function (data) {
24
- var _this$state = _this.state,
25
- sortBy = _this$state.sortBy,
26
- sortOrder = _this$state.sortOrder,
27
- comparator = _this$state.comparator;
28
- data = _toConsumableArray(data);
29
- if (sortBy) {
30
- var c = comparator;
31
- if (c && sortOrder === SORT_DESC) c = Comparators.inverse(c);
32
- data.sort(c || Comparators.of(sortBy, sortOrder, data));
33
- }
34
- _this.setState({
35
- data: data
36
- }, function () {
37
- orNoop(_this.props.onSortChange)(sortBy, sortOrder);
38
- });
39
- };
40
- _this.updateHeaders = function () {
41
- var headers = _this.headers;
42
- var hidden = headers.querySelectorAll('.hidden');
43
- var fixed = headers.querySelectorAll('.fixed');
44
- for (var i = 0; i < hidden.length; i++) {
45
- fixed[i].style.width = hidden[i].offsetWidth + 'px';
46
- }
47
- };
48
- _this.cancelEditing = function () {
49
- return _this.setState({
50
- editing: false
51
- });
52
- };
53
- _this.setEditing = function (item, columnIndex, field) {
54
- return _this.setState({
55
- editing: _this.prepareEditing(item, field, columnIndex)
56
- });
57
- };
58
- _this.prepareEditing = function (item, field, columnIndex) {
59
- return {
60
- id: item.id,
61
- value: item[field],
62
- columnIndex: columnIndex,
63
- item: item,
64
- field: field
65
- };
66
- };
67
- _this.handleInputChange = function (event) {
68
- var value = _this.extractValue(event);
69
- _this.setState({
70
- editing: _objectSpread2(_objectSpread2({}, _this.state.editing), {}, {
71
- value: value
72
- })
73
- });
74
- };
75
- _this.extractValue = function (event) {
76
- var target = event.target;
77
- return target.type === 'checkbox' ? target.checked : target.value;
78
- };
79
- _this.selectNewValue = function (value) {
80
- _this.setState({
81
- editing: _objectSpread2(_objectSpread2({}, _this.state.editing), {}, {
82
- value: value
83
- })
84
- }, _this.onFinishEditing);
85
- };
86
- _this.onFinishEditing = function (e) {
87
- var editing = _this.state.editing;
88
- if (editing.value === null) return;
89
- var value = editing.value;
90
- if (isString(value)) value = value.trim();
91
- if (value === editing.item[editing.field]) return _this.cancelEditing();
92
- var updated = _objectSpread2(_objectSpread2({}, editing.item), {}, _defineProperty({}, editing.field, value));
93
- _this.props.onChange(updated, _this.cancelEditing);
94
- };
95
- _this.sort = function (e, sortBy, comparator) {
96
- preventDefault(e);
97
- _this.setState({
98
- sortOrder: _this.state.sortBy === sortBy && _this.state.sortOrder === SORT_ASC ? SORT_DESC : SORT_ASC,
99
- comparator: comparator,
100
- sortBy: sortBy
101
- }, function () {
102
- return _this.setData(_this.state.data);
103
- });
104
- };
105
- _this.state = {};
106
- return _this;
107
- }
108
- _createClass(Table, [{
109
- key: "componentDidMount",
110
- value: function componentDidMount() {
111
- var _columns$find,
112
- _this2 = this;
113
- var _this$props = this.props,
114
- sortBy = _this$props.sortBy,
115
- _this$props$sortOrder = _this$props.sortOrder,
116
- sortOrder = _this$props$sortOrder === void 0 ? SORT_ASC : _this$props$sortOrder,
117
- columns = _this$props.columns;
118
- this.setState({
119
- sortBy: sortBy,
120
- sortOrder: sortOrder,
121
- comparator: (_columns$find = columns.find(function (it) {
122
- return it.field === sortBy;
123
- })) == null ? void 0 : _columns$find.comparator
124
- }, function () {
125
- return _this2.setData(_this2.props.data);
126
- });
127
- this.updateHeaders();
128
- this.updateHeadersInterval = setInterval(this.updateHeaders, 1000);
9
+ const SORT_ASC = Comparators.SORT_ASC;
10
+ const SORT_DESC = Comparators.SORT_DESC;
11
+ const getId = item => item.id;
12
+ const editorSelect = 'Select';
13
+ const editorSwitch = 'Switch';
14
+ class Table extends Component {
15
+ constructor(props) {
16
+ super(props);
17
+ this.headers = createRef();
18
+ this.updateHeadersInterval = 0;
19
+ this.setData = (data) => {
20
+ const { sortBy, sortOrder, comparator } = this.state;
21
+ data = [...data];
22
+ if (sortBy) {
23
+ let c = comparator;
24
+ if (c && sortOrder === SORT_DESC)
25
+ c = Comparators.inverse(c);
26
+ data.sort(c || Comparators.of(sortBy, sortOrder, data));
27
+ }
28
+ this.setState({ data }, () => {
29
+ orNoop(this.props.onSortChange)(sortBy, sortOrder);
30
+ });
31
+ };
32
+ this.updateHeaders = () => {
33
+ const headers = this.headers();
34
+ const hidden = headers.querySelectorAll('.hidden');
35
+ const fixed = headers.querySelectorAll('.fixed');
36
+ for (let i = 0; i < hidden.length; i++) {
37
+ fixed[i].style.width = hidden[i].offsetWidth + 'px';
38
+ }
39
+ };
40
+ this.cancelEditing = () => this.setState({ editing: false });
41
+ this.setEditing = (item, columnIndex, field) => this.setState({ editing: this.prepareEditing(item, field, columnIndex) });
42
+ this.prepareEditing = (item, field, columnIndex) => ({ id: item.id, value: item[field], columnIndex, item, field });
43
+ this.handleInputChange = (event) => {
44
+ const value = this.extractValue(event);
45
+ this.setState({ editing: Object.assign(Object.assign({}, this.state.editing), { value }) });
46
+ };
47
+ this.extractValue = (event) => {
48
+ const target = event.target;
49
+ return target.type === 'checkbox' ? target.checked : target.value;
50
+ };
51
+ this.selectNewValue = (value) => {
52
+ this.setState({ editing: Object.assign(Object.assign({}, this.state.editing), { value }) }, this.onFinishEditing);
53
+ };
54
+ this.onFinishEditing = () => {
55
+ const editing = this.state.editing;
56
+ if (editing.value === null)
57
+ return;
58
+ let value = editing.value;
59
+ if (isString(value))
60
+ value = value.trim();
61
+ if (value === editing.item[editing.field])
62
+ return this.cancelEditing();
63
+ let updated = Object.assign(Object.assign({}, editing.item), { [editing.field]: value });
64
+ this.props.onChange(updated, this.cancelEditing);
65
+ };
66
+ this.sort = (e, sortBy, comparator) => {
67
+ preventDefault(e);
68
+ this.setState({
69
+ sortOrder: this.state.sortBy === sortBy && this.state.sortOrder === SORT_ASC ? SORT_DESC : SORT_ASC,
70
+ comparator,
71
+ sortBy
72
+ }, () => this.setData(this.state.data));
73
+ };
74
+ this.state = {};
129
75
  }
130
- }, {
131
- key: "componentDidUpdate",
132
- value: function componentDidUpdate(prevProps, prevState, snapshot) {
133
- var _this3 = this;
134
- var _this$props2 = this.props,
135
- sortBy = _this$props2.sortBy,
136
- sortOrder = _this$props2.sortOrder,
137
- columns = _this$props2.columns,
138
- data = _this$props2.data;
139
- if (sortBy !== prevProps.sortBy || sortOrder !== prevProps.sortOrder) {
140
- var _columns$find2;
76
+ componentDidMount() {
77
+ var _a;
78
+ const { sortBy, sortOrder = SORT_ASC, columns } = this.props;
141
79
  this.setState({
142
- sortBy: sortBy,
143
- sortOrder: sortOrder || SORT_ASC,
144
- comparator: (_columns$find2 = columns.find(function (it) {
145
- return it.field === sortBy;
146
- })) == null ? void 0 : _columns$find2.comparator
147
- }, function () {
148
- return _this3.setData(data);
149
- });
150
- } else if (data !== prevProps.data) {
151
- this.setData(data);
152
- }
153
- this.updateHeaders();
80
+ sortBy,
81
+ sortOrder,
82
+ comparator: (_a = columns.find(it => it.field === sortBy)) === null || _a === void 0 ? void 0 : _a.comparator
83
+ }, () => this.setData(this.props.data));
84
+ this.updateHeaders();
85
+ this.updateHeadersInterval = setInterval(this.updateHeaders, 1000);
154
86
  }
155
- }, {
156
- key: "render",
157
- value: function render() {
158
- var _this4 = this;
159
- var _this$props3 = this.props,
160
- _this$props3$columns = _this$props3.columns,
161
- columns = _this$props3$columns === void 0 ? [] : _this$props3$columns,
162
- _this$props3$onRowCli = _this$props3.onRowClick,
163
- onRowClick = _this$props3$onRowCli === void 0 ? NOOP : _this$props3$onRowCli,
164
- disabled = _this$props3.disabled,
165
- className = _this$props3.className,
166
- rowClassName = _this$props3.rowClassName,
167
- _this$props3$toKey = _this$props3.toKey,
168
- toKey = _this$props3$toKey === void 0 ? getId : _this$props3$toKey;
169
- var _this$state2 = this.state,
170
- sortBy = _this$state2.sortBy,
171
- sortOrder = _this$state2.sortOrder,
172
- _this$state2$data = _this$state2.data,
173
- data = _this$state2$data === void 0 ? [] : _this$state2$data,
174
- editing = _this$state2.editing;
175
- return ReactCreateElement("table", {
176
- className: classNames("Table", className)
177
- }, ReactCreateElement("thead", null, ReactCreateElement("tr", {
178
- ref: function ref(headers) {
179
- return _this4.headers = headers;
87
+ ;
88
+ componentDidUpdate(prevProps, prevState, snapshot) {
89
+ var _a;
90
+ const { sortBy, sortOrder, columns, data } = this.props;
91
+ if (sortBy !== prevProps.sortBy || sortOrder !== prevProps.sortOrder) {
92
+ this.setState({
93
+ sortBy,
94
+ sortOrder: sortOrder || SORT_ASC,
95
+ comparator: (_a = columns.find(it => it.field === sortBy)) === null || _a === void 0 ? void 0 : _a.comparator
96
+ }, () => this.setData(data));
97
+ }
98
+ else if (data !== prevProps.data) {
99
+ this.setData(data);
180
100
  }
181
- }, columns.filter(function (it) {
182
- return !!it;
183
- }).map(function (column, i) {
184
- var sortable = column.sortable || column.sortable == null;
185
- return ReactCreateElement("th", {
186
- key: i,
187
- onClick: function onClick(e) {
188
- return sortable && _this4.sort(e, column.field, column.comparator);
189
- }
190
- }, ReactCreateElement("div", {
191
- className: classNames('hidden', sortable && 'sortable', sortBy === column.field && 'active')
192
- }, column.header, column.header && sortBy === column.field && sortOrder === SORT_ASC && ReactCreateElement(MaterialIcon, {
193
- icon: 'keyboard_arrow_up'
194
- }), column.header && sortBy === column.field && sortOrder === SORT_DESC && ReactCreateElement(MaterialIcon, {
195
- icon: 'keyboard_arrow_down'
196
- })), ReactCreateElement("div", {
197
- className: classNames('fixed', sortable && 'sortable', sortBy === column.field && 'active')
198
- }, column.header, column.header && sortBy === column.field && sortOrder === SORT_ASC && ReactCreateElement(MaterialIcon, {
199
- icon: 'keyboard_arrow_up'
200
- }), column.header && sortBy === column.field && sortOrder === SORT_DESC && ReactCreateElement(MaterialIcon, {
201
- icon: 'keyboard_arrow_down'
202
- })));
203
- }))), ReactCreateElement("tbody", null, data.map(function (item) {
204
- return ReactCreateElement(Row, {
205
- key: toKey(item),
206
- item: item,
207
- disabled: disabled,
208
- editing: editing && editing.id === item.id ? editing : null,
209
- onClick: onRowClick,
210
- className: rowClassName,
211
- columns: columns,
212
- editingContext: _this4
213
- });
214
- })));
101
+ this.updateHeaders();
102
+ }
103
+ ;
104
+ render() {
105
+ const { columns = [], onRowClick = NOOP, disabled, className, rowClassName, toKey = getId } = this.props;
106
+ const { sortBy, sortOrder, data = [], editing } = this.state;
107
+ return (jsxRuntime_1("table", Object.assign({ className: classNames(`Table`, className) }, { children: [jsxRuntime_2("thead", { children: jsxRuntime_2("tr", Object.assign({ ref: this.headers }, { children: columns.filter(it => !!it).map((column, i) => {
108
+ const sortable = column.sortable || column.sortable == null;
109
+ return (jsxRuntime_1("th", Object.assign({ onClick: e => sortable && this.sort(e, column.field, column.comparator) }, { children: [jsxRuntime_1("div", Object.assign({ className: classNames('hidden', sortable && 'sortable', sortBy === column.field && 'active') }, { children: [column.header, column.header && sortBy === column.field && sortOrder === SORT_ASC && (jsxRuntime_2(MaterialIcon, { icon: 'keyboard_arrow_up' })), column.header && sortBy === column.field && sortOrder === SORT_DESC && (jsxRuntime_2(MaterialIcon, { icon: 'keyboard_arrow_down' }))] })), jsxRuntime_1("div", Object.assign({ className: classNames('fixed', sortable && 'sortable', sortBy === column.field && 'active') }, { children: [column.header, column.header && sortBy === column.field && sortOrder === SORT_ASC && (jsxRuntime_2(MaterialIcon, { icon: 'keyboard_arrow_up' })), column.header && sortBy === column.field && sortOrder === SORT_DESC && (jsxRuntime_2(MaterialIcon, { icon: 'keyboard_arrow_down' }))] }))] }), i));
110
+ }) })) }), jsxRuntime_2("tbody", { children: data.map(item => (jsxRuntime_2(Row, { item: item, disabled: disabled, editing: editing && editing.id === item.id ? editing : null, onClick: onRowClick, className: rowClassName, columns: columns, editingContext: this }, toKey(item)))) })] })));
111
+ }
112
+ ;
113
+ componentWillUnmount() {
114
+ clearInterval(this.updateHeadersInterval);
115
+ }
116
+ ;
117
+ }
118
+ const formatValue = (item, column) => {
119
+ const value = (column.value !== undefined) ? column.value : item[column.field];
120
+ if (column.formatter) {
121
+ return column.formatter(value, item, column.format);
215
122
  }
216
- }, {
217
- key: "componentWillUnmount",
218
- value: function componentWillUnmount() {
219
- clearInterval(this.updateHeadersInterval);
123
+ else {
124
+ return '' + value;
220
125
  }
221
- }]);
222
- return Table;
223
- }(Component);
224
- var formatValue = function formatValue(item, column) {
225
- var value = column.value !== undefined ? column.value : item[column.field];
226
- if (column.formatter) {
227
- return column.formatter(value, item, column.format);
228
- } else {
229
- return '' + value;
230
- }
231
126
  };
232
- var Row = React.memo(function (_ref) {
233
- var item = _ref.item,
234
- disabled = _ref.disabled,
235
- editing = _ref.editing,
236
- _onClick = _ref.onClick,
237
- className = _ref.className,
238
- columns = _ref.columns,
239
- editingContext = _ref.editingContext;
240
- return ReactCreateElement("tr", {
241
- onClick: function onClick(e) {
242
- return _onClick(item);
243
- },
244
- className: classNames(disabled && disabled(item) && 'disabled', className && (isFunction(className) ? className(item) : className))
245
- }, columns.filter(function (it) {
246
- return !!it;
247
- }).map(function (column, i) {
248
- var isEditing = editing && editing.id === item.id && editing.columnIndex === i;
249
- var editable = isFunction(column.editable) ? column.editable(item) : !!column.editable;
250
- return ReactCreateElement("td", {
251
- key: i,
252
- className: classNames(editable ? 'editable' : 'ro', isEditing && 'editing', column.className),
253
- onClick: !isEditing && editable ? function () {
254
- return editingContext.setEditing(item, i, column.field);
255
- } : NOOP
256
- }, (isEditing || column.displayEditor) && !column.editor && ReactCreateElement(TextField, {
257
- value: column.preEditor ? column.preEditor(editing.value) : editing.value,
258
- focused: true,
259
- onBlur: editingContext.cancelEditing,
260
- onChange: editingContext.handleInputChange,
261
- onKeyDown: function onKeyDown(e) {
262
- if (e.keyCode === 27
263
- ) {
264
- preventDefault(e);
265
- editingContext.cancelEditing();
266
- }
267
- if (e.keyCode === 13
268
- ) {
269
- preventDefault(e);
270
- editingContext.onFinishEditing();
271
- }
272
- }
273
- }), (isEditing || column.displayEditor) && column.editor === 'Select' && ReactCreateElement(AutocompleteSelect, {
274
- value: column.preEditor ? column.preEditor(editing.value) : editing.value,
275
- data: column.editorData,
276
- focused: true,
277
- withArrow: false,
278
- withFilter: false,
279
- selectedMode: 'inline',
280
- selectedComponent: column.editorSelectedComponent,
281
- mode: column.multiSelect ? MODE_MULTIPLE_MINI : MODE_DEFAULT,
282
- onChange: column.multiSelect && (column.onSelect ? function (value) {
283
- return editingContext.selectNewValue(column.onSelect(value));
284
- } : editingContext.selectNewValue),
285
- onSelect: !column.multiSelect && (column.onSelect ? function (value) {
286
- return editingContext.selectNewValue(column.onSelect(value));
287
- } : editingContext.selectNewValue),
288
- childComponent: column.editorChildCompononRowClickent,
289
- onCancel: editingContext.cancelEditing,
290
- prefilter: column.prefilter
291
- }), (isEditing || column.displayEditor) && column.editor === 'Switch' && ReactCreateElement(Switch, {
292
- onClick: function onClick(e) {
293
- stopPropagation(e);
294
- preventDefault(e);
295
- editingContext.setState({
296
- editing: _objectSpread2(_objectSpread2({}, editingContext.prepareEditing(item, column.field, i)), {}, {
297
- value: !item[column.field]
298
- })
299
- }, editingContext.onFinishEditing);
300
- },
301
- value: item[column.field]
302
- }), (isEditing || column.displayEditor) && isFunction(column.editor) && column.editor(item, editingContext.cancelEditing, isEditing), !isEditing && !column.displayEditor && formatValue(item, column));
303
- }));
127
+ const Row = React.memo(({ item, disabled, editing, onClick, className, columns, editingContext }) => {
128
+ return jsxRuntime_2("tr", Object.assign({ onClick: e => onClick(item), className: classNames(disabled && disabled(item) && 'disabled', className && (isFunction(className) ? className(item) : className)) }, { children: columns.filter(it => !!it).map((column, i) => {
129
+ const isEditing = editing && editing.id === item.id && editing.columnIndex === i;
130
+ const editable = isFunction(column.editable) ? column.editable(item) : !!column.editable;
131
+ return (jsxRuntime_1("td", Object.assign({ className: classNames(editable ? 'editable' : 'ro', isEditing && 'editing', column.className), onClick: !isEditing && editable ? () => editingContext.setEditing(item, i, column.field) : NOOP }, { children: [(isEditing || column.displayEditor) && !column.editor && (jsxRuntime_2(TextField, { value: column.preEditor ? column.preEditor(editing.value) : editing.value, focused: true, onBlur: editingContext.cancelEditing, onChange: editingContext.handleInputChange, onKeyDown: e => {
132
+ if (e.keyCode === 27 /*escape*/) {
133
+ preventDefault(e);
134
+ editingContext.cancelEditing();
135
+ }
136
+ if (e.keyCode === 13 /*enter*/) {
137
+ preventDefault(e);
138
+ editingContext.onFinishEditing();
139
+ }
140
+ } })), (isEditing || column.displayEditor) && column.editor === editorSelect && (jsxRuntime_2(AutocompleteSelect, { value: column.preEditor ? column.preEditor(editing.value) : editing.value, data: column.editorData, focused: true, withArrow: false, withFilter: false, selectedMode: 'inline', selectedComponent: column.editorSelectedComponent, mode: column.multiSelect ? MODE_MULTIPLE_MINI : MODE_DEFAULT, onChange: column.multiSelect && (column.onSelect ? (value => editingContext.selectNewValue(column.onSelect(value))) : editingContext.selectNewValue), onSelect: !column.multiSelect && (column.onSelect ? (value => editingContext.selectNewValue(column.onSelect(value))) : editingContext.selectNewValue), childComponent: column.editorChildCompononRowClickent, onCancel: editingContext.cancelEditing, prefilter: column.prefilter })), (isEditing || column.displayEditor) && column.editor === editorSwitch && (jsxRuntime_2(Switch, { onClick: e => {
141
+ stopPropagation(e);
142
+ preventDefault(e);
143
+ editingContext.setState({
144
+ editing: Object.assign(Object.assign({}, editingContext.prepareEditing(item, column.field, i)), { value: !item[column.field] })
145
+ }, editingContext.onFinishEditing);
146
+ }, value: item[column.field] })), (isEditing || column.displayEditor) && isFunction(column.editor) && column.editor(item, editingContext.cancelEditing, isEditing), !isEditing && !column.displayEditor && formatValue(item, column)] }), i));
147
+ }) }));
304
148
  });
305
- Table.defaultProps = {
306
- columns: [],
307
- onRowClick: NOOP,
308
- toKey: getId
309
- };
310
- if (process.env.NODE_ENV !== 'production') {
311
- Table.propTypes = {
312
- className: PropTypes.string,
313
- rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
314
- columns: PropTypes.arrayOf(PropTypes.shape({
315
- header: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
316
- className: PropTypes.string,
317
- sortable: PropTypes.bool,
318
- field: PropTypes.string,
319
- formatter: PropTypes.func,
320
- comparator: PropTypes.func,
321
- editable: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),
322
- editor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
323
- displayEditor: PropTypes.bool,
324
- preEditor: PropTypes.func
325
- })),
326
- data: PropTypes.array,
327
- disabled: PropTypes.func,
328
- onRowClick: PropTypes.func,
329
- onSortChange: PropTypes.func,
330
- onChange: PropTypes.func,
331
- toKey: PropTypes.func
332
- };
333
- }
334
- var Table$1 = Table;
335
149
 
336
- export { SORT_ASC, SORT_DESC, Table$1 as default };
150
+ export { SORT_ASC, SORT_DESC, Table as default };
337
151
  //# sourceMappingURL=Table.js.map
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, 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, columns} = this.props;\n this.setState({\n sortBy,\n sortOrder,\n comparator: columns.find(it => it.field === sortBy)?.comparator\n }, () => 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 data = [...data];\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 }\n this.setState({data}, () => {\n orNoop(this.props.onSortChange)(sortBy, sortOrder)\n })\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n const {sortBy, sortOrder, columns, data} = this.props;\n if (sortBy !== prevProps.sortBy || sortOrder !== prevProps.sortOrder) {\n this.setState({\n sortBy,\n sortOrder: sortOrder || SORT_ASC,\n comparator: columns.find(it => it.field === sortBy)?.comparator\n }, () => this.setData(data));\n\n } else if (data !== prevProps.data) {\n this.setData(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","_objectSpread","target","type","checked","selectNewValue","onFinishEditing","e","isString","trim","updated","onChange","preventDefault","columns","find","it","updateHeadersInterval","setInterval","prevProps","prevState","snapshot","onRowClick","NOOP","disabled","className","rowClassName","toKey","classNames","filter","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/src/react-ui-basics/Table.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}