@elliemae/ds-shared 2.0.0-alpha.9 → 2.0.0-next.12
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/cjs/Animations/BaseAnimation.js +24 -20
- package/cjs/Animations/Grow.js +30 -26
- package/cjs/Animations/GrowRight.js +30 -26
- package/cjs/Animations/GrowVertical.js +1 -0
- package/cjs/CheckableGroup.js +32 -23
- package/cjs/DeferRenderAfterComputation.js +8 -6
- package/cjs/FocusGroup/FocusGrid.js +38 -31
- package/cjs/FocusGroup/FocusGroup.js +29 -9
- package/cjs/FocusGroup/FocusGroupManager.js +3 -3
- package/cjs/FocusGroup/focusGroupManagerHoc.js +7 -1
- package/cjs/FocusGroup/useFocusGroupItem.js +8 -2
- package/cjs/FocusGroup/utils/getNextCellPosition.js +10 -9
- package/cjs/GroupContext/Group.js +11 -4
- package/cjs/GroupContext/GroupItem.js +6 -3
- package/cjs/ScrollSync/ScrollSync.js +5 -0
- package/cjs/ScrollSync/ScrollSyncPane.js +11 -2
- package/cjs/ScrollSync/ScrollSyncProvider.js +12 -6
- package/cjs/createDataInstance/createInstancePlugin.js +6 -0
- package/cjs/createDataInstance/createInstanceRef.js +8 -0
- package/cjs/createDataInstance/utils.js +57 -25
- package/cjs/defer-render-hoc/index.js +8 -2
- package/cjs/toolbar/ToolbarProvider.js +31 -21
- package/cjs/useDataGrid/VolatileRowsListener.js +5 -2
- package/cjs/useDataGrid/initColumnDefinition.js +26 -18
- package/cjs/useDataGrid/useDataGrid.js +42 -34
- package/cjs/useDataList/recordIterator.js +4 -1
- package/cjs/useDataList/useDataList.js +18 -4
- package/cjs/utils.js +8 -1
- package/cjs/virtualization/AutoHeightList.js +10 -8
- package/cjs/virtualization/FluidHeightList.js +15 -7
- package/cjs/virtualization/index.js +7 -6
- package/esm/Animations/BaseAnimation.js +24 -20
- package/esm/Animations/Grow.js +30 -26
- package/esm/Animations/GrowRight.js +30 -26
- package/esm/Animations/GrowVertical.js +1 -0
- package/esm/CheckableGroup.js +29 -19
- package/esm/DeferRenderAfterComputation.js +8 -6
- package/esm/FocusGroup/FocusGrid.js +27 -19
- package/esm/FocusGroup/FocusGroup.js +26 -6
- package/esm/FocusGroup/FocusGroupManager.js +1 -1
- package/esm/FocusGroup/focusGroupManagerHoc.js +7 -1
- package/esm/FocusGroup/useFocusGroupItem.js +8 -2
- package/esm/FocusGroup/utils/getNextCellPosition.js +10 -9
- package/esm/GroupContext/Group.js +11 -4
- package/esm/GroupContext/GroupItem.js +6 -3
- package/esm/ScrollSync/ScrollSync.js +5 -0
- package/esm/ScrollSync/ScrollSyncPane.js +11 -2
- package/esm/ScrollSync/ScrollSyncProvider.js +12 -6
- package/esm/createDataInstance/createInstancePlugin.js +6 -0
- package/esm/createDataInstance/createInstanceRef.js +8 -0
- package/esm/createDataInstance/utils.js +57 -25
- package/esm/defer-render-hoc/index.js +8 -2
- package/esm/toolbar/ToolbarProvider.js +30 -20
- package/esm/useDataGrid/VolatileRowsListener.js +4 -1
- package/esm/useDataGrid/initColumnDefinition.js +12 -4
- package/esm/useDataGrid/useDataGrid.js +26 -16
- package/esm/useDataList/recordIterator.js +4 -1
- package/esm/useDataList/useDataList.js +17 -3
- package/esm/utils.js +8 -1
- package/esm/virtualization/AutoHeightList.js +6 -3
- package/esm/virtualization/FluidHeightList.js +14 -6
- package/esm/virtualization/index.js +7 -6
- package/package.json +8 -4
- package/types/toolbar/ToolbarProvider.d.ts +1 -1
- package/types/useDataGrid/initColumnDefinition.d.ts +4 -3
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var GroupContext = require('./GroupContext.js');
|
|
6
7
|
|
|
@@ -65,9 +66,10 @@ class Group extends React.Component {
|
|
|
65
66
|
};
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
static getDerivedStateFromProps(nextProps, {
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
static getDerivedStateFromProps(nextProps, _ref) {
|
|
70
|
+
let {
|
|
71
|
+
prevValue
|
|
72
|
+
} = _ref;
|
|
71
73
|
if (nextProps.activeValue === prevValue) return null;
|
|
72
74
|
return {
|
|
73
75
|
activeValue: nextProps.activeValue,
|
|
@@ -75,7 +77,7 @@ class Group extends React.Component {
|
|
|
75
77
|
};
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
handleChange(e
|
|
80
|
+
handleChange(e) {
|
|
79
81
|
const {
|
|
80
82
|
multiple,
|
|
81
83
|
onChange
|
|
@@ -96,6 +98,11 @@ class Group extends React.Component {
|
|
|
96
98
|
this.setState({
|
|
97
99
|
activeValue: newValue
|
|
98
100
|
});
|
|
101
|
+
|
|
102
|
+
for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
103
|
+
rest[_key - 1] = arguments[_key];
|
|
104
|
+
}
|
|
105
|
+
|
|
99
106
|
if (onChange) onChange(newValue, ...rest);
|
|
100
107
|
}
|
|
101
108
|
|
|
@@ -12,8 +12,11 @@ const {
|
|
|
12
12
|
Consumer
|
|
13
13
|
} = GroupContext.GroupContext;
|
|
14
14
|
|
|
15
|
-
const GroupItem =
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const GroupItem = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
render
|
|
18
|
+
} = _ref;
|
|
19
|
+
return /*#__PURE__*/_jsx__default["default"](Consumer, {}, void 0, context => render(context));
|
|
20
|
+
};
|
|
18
21
|
|
|
19
22
|
module.exports = GroupItem;
|
|
@@ -4,6 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
7
12
|
var React = require('react');
|
|
8
13
|
|
|
9
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.to-array.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.to-array.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
13
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
14
|
var React = require('react');
|
|
6
15
|
var ScrollSync = require('./ScrollSync.js');
|
|
7
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -16,8 +25,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
16
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
26
|
|
|
18
27
|
class ScrollSyncPane extends React.Component {
|
|
19
|
-
constructor(
|
|
20
|
-
super(...
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
21
30
|
|
|
22
31
|
_defineProperty__default["default"](this, "toArray", groups => [].concat(groups));
|
|
23
32
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
4
9
|
var React = require('react');
|
|
5
10
|
var raf = require('raf');
|
|
6
11
|
|
|
@@ -15,12 +20,13 @@ const {
|
|
|
15
20
|
Provider
|
|
16
21
|
} = ScrollSyncContext;
|
|
17
22
|
|
|
18
|
-
function ScrollSyncProvider({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
function ScrollSyncProvider(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
enabled,
|
|
26
|
+
horizontal,
|
|
27
|
+
vertical,
|
|
28
|
+
children
|
|
29
|
+
} = _ref;
|
|
24
30
|
useRef();
|
|
25
31
|
|
|
26
32
|
raf__default["default"]((scrolledPane, pane) => {
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
4
10
|
|
|
5
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
6
12
|
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
5
13
|
var uuid = require('uuid');
|
|
6
14
|
var React = require('react');
|
|
7
15
|
var lodash = require('lodash');
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
11
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
12
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
13
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
14
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
15
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
16
|
|
|
7
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
18
|
|
|
@@ -11,17 +21,25 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
11
21
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
12
22
|
|
|
13
23
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
const reducePropsGetter = function () {
|
|
25
|
+
let decorators = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
26
|
+
let grid = arguments.length > 1 ? arguments[1] : undefined;
|
|
27
|
+
return function () {
|
|
28
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
let extraParams = arguments.length > 1 ? arguments[1] : undefined;
|
|
30
|
+
let nextProps = props;
|
|
31
|
+
decorators.forEach(decorator => {
|
|
32
|
+
nextProps = decorator(nextProps, grid, extraParams);
|
|
33
|
+
});
|
|
34
|
+
return nextProps;
|
|
35
|
+
};
|
|
21
36
|
};
|
|
22
37
|
/* eslint-disable-next-line max-params */
|
|
23
38
|
|
|
24
|
-
function evaluateTransforms(transforms, value
|
|
39
|
+
function evaluateTransforms(transforms, value) {
|
|
40
|
+
let extraParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
41
|
+
let props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
42
|
+
let grid = arguments.length > 4 ? arguments[4] : undefined;
|
|
25
43
|
let nextProps = props;
|
|
26
44
|
transforms.forEach(transform => {
|
|
27
45
|
nextProps = transform(value, extraParams, nextProps, grid);
|
|
@@ -30,15 +48,26 @@ function evaluateTransforms(transforms, value, extraParams = {}, props = {}, gri
|
|
|
30
48
|
}
|
|
31
49
|
/* eslint-disable-next-line max-params */
|
|
32
50
|
|
|
33
|
-
function evaluateFormatters(formatters, value
|
|
51
|
+
function evaluateFormatters(formatters, value) {
|
|
52
|
+
let extraParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
53
|
+
let grid = arguments.length > 3 ? arguments[3] : undefined;
|
|
34
54
|
return formatters.reduce((result, formatter) => formatter(result, extraParams, grid), value);
|
|
35
55
|
}
|
|
36
|
-
function composeFormatters(formatters, instance
|
|
56
|
+
function composeFormatters(formatters, instance) {
|
|
57
|
+
let getItemValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : record => record.data.name;
|
|
37
58
|
// todo: make the formatters subscribe to the item props instead of getting the whole instance
|
|
38
59
|
// todo: addd should formatter update to memoize specific ones
|
|
39
60
|
return props => formatters.reduce((result, formatter) => formatter(result, props, instance), getItemValue(props.record));
|
|
40
61
|
}
|
|
41
|
-
const applyDecorators = (subject
|
|
62
|
+
const applyDecorators = function (subject) {
|
|
63
|
+
let decorators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
64
|
+
|
|
65
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
66
|
+
args[_key - 2] = arguments[_key];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return decorators.reduce((nextSubject, decorator) => decorator(nextSubject, ...args), subject);
|
|
70
|
+
};
|
|
42
71
|
const decorateColumns = (columns, decorators, grid) => {
|
|
43
72
|
const nextColumns = applyDecorators(columns, decorators.decorateColumns, grid);
|
|
44
73
|
return nextColumns.map((column, index) => applyDecorators(column, decorators.decorateColumn, grid, index));
|
|
@@ -55,20 +84,23 @@ const registerStateHookToInstance = (instance, stateHook) => {
|
|
|
55
84
|
});
|
|
56
85
|
};
|
|
57
86
|
|
|
58
|
-
const reduceHotKey = (instance, {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
87
|
+
const reduceHotKey = (instance, _ref) => {
|
|
88
|
+
let {
|
|
89
|
+
key,
|
|
90
|
+
handler,
|
|
91
|
+
options,
|
|
92
|
+
allowDocumentHandler
|
|
93
|
+
} = _ref;
|
|
94
|
+
return _objectSpread(_objectSpread({}, instance), {}, {
|
|
95
|
+
hotKeys: _objectSpread(_objectSpread({}, instance.hotKeys), {}, {
|
|
96
|
+
[key]: {
|
|
97
|
+
handler,
|
|
98
|
+
options,
|
|
99
|
+
allowDocumentHandler
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
});
|
|
103
|
+
};
|
|
72
104
|
|
|
73
105
|
const registerHotKeysHookToInstance = (instance, hotKeysHook) => {
|
|
74
106
|
const hotKeys = hotKeysHook(instance);
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
4
10
|
var React = require('react');
|
|
5
11
|
var raf = require('raf');
|
|
6
12
|
var hoistNonReactStatic = require('hoist-non-react-statics');
|
|
@@ -17,8 +23,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
17
23
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
18
24
|
function deferComponentRender(WrappedComponent, fallback) {
|
|
19
25
|
class DeferredRenderWrapper extends React.PureComponent {
|
|
20
|
-
constructor(
|
|
21
|
-
super(...
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
22
28
|
|
|
23
29
|
_defineProperty__default["default"](this, "state", {
|
|
24
30
|
shouldRender: false
|
|
@@ -4,9 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
13
|
var React = require('react');
|
|
8
|
-
var DSPopover = require('@elliemae/ds-
|
|
9
|
-
var
|
|
14
|
+
var DSPopover = require('@elliemae/ds-popper');
|
|
15
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
10
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
17
|
|
|
12
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -35,12 +41,13 @@ const useScrollListener = (callback, dependencies) => {
|
|
|
35
41
|
|
|
36
42
|
const noop = () => null;
|
|
37
43
|
|
|
38
|
-
function ToolbarProvider({
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
function ToolbarProvider(_ref) {
|
|
45
|
+
let {
|
|
46
|
+
delay = 200,
|
|
47
|
+
children,
|
|
48
|
+
onHide = noop,
|
|
49
|
+
onShow = noop
|
|
50
|
+
} = _ref;
|
|
44
51
|
const showTimer = React.useRef();
|
|
45
52
|
const hideTimer = React.useRef();
|
|
46
53
|
const toolbarRef = React.useRef();
|
|
@@ -63,7 +70,7 @@ function ToolbarProvider({
|
|
|
63
70
|
};
|
|
64
71
|
|
|
65
72
|
useScrollListener(e => hide(e, true), tooltipState.visible);
|
|
66
|
-
|
|
73
|
+
dsUtilities.useOnClickOutside(toolbarRef, () => hide());
|
|
67
74
|
|
|
68
75
|
const keyDownHandler = e => {
|
|
69
76
|
if (e.key === 'Escape') {
|
|
@@ -90,18 +97,21 @@ function ToolbarProvider({
|
|
|
90
97
|
content: tooltipState.renderer,
|
|
91
98
|
placement: "left",
|
|
92
99
|
referenceEl: tooltipState.reference,
|
|
93
|
-
renderer:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
renderer: _ref2 => {
|
|
101
|
+
let {
|
|
102
|
+
as: Component,
|
|
103
|
+
style,
|
|
104
|
+
children: Content
|
|
105
|
+
} = _ref2;
|
|
106
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
107
|
+
ref: toolbarRef,
|
|
108
|
+
onMouseEnter: e => show(tooltipState),
|
|
109
|
+
onMouseLeave: hide,
|
|
110
|
+
children: /*#__PURE__*/_jsx__default["default"](Component, {
|
|
111
|
+
style: style
|
|
112
|
+
}, void 0, Content)
|
|
113
|
+
});
|
|
114
|
+
},
|
|
105
115
|
style: tooltipState.style,
|
|
106
116
|
visible: tooltipState.visible
|
|
107
117
|
})));
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
-
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
5
8
|
|
|
6
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
10
|
|
|
@@ -17,7 +20,7 @@ class VolatileRowsListener {
|
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
notify(nextRows) {
|
|
20
|
-
this.observers.forEach(observer =>
|
|
23
|
+
this.observers.forEach(observer => dsUtilities.safeCall(observer, nextRows));
|
|
21
24
|
this.observers = [];
|
|
22
25
|
}
|
|
23
26
|
|
|
@@ -4,10 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
8
|
require('core-js/modules/es.string.replace.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
13
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
14
|
require('react');
|
|
9
15
|
var uuid = require('uuid');
|
|
10
|
-
var
|
|
16
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
11
17
|
|
|
12
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
19
|
|
|
@@ -18,15 +24,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
18
24
|
|
|
19
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
20
26
|
|
|
21
|
-
const appendHeaderFormatter =
|
|
27
|
+
const appendHeaderFormatter = dsUtilities.curry((formatter, column) => _objectSpread(_objectSpread({}, column), {}, {
|
|
22
28
|
header: _objectSpread(_objectSpread({}, column.header), {}, {
|
|
23
|
-
formatters: [...
|
|
29
|
+
formatters: [...dsUtilities.get(column, 'header.formatters', []), formatter]
|
|
24
30
|
})
|
|
25
31
|
}));
|
|
26
|
-
const appendCellFormatter =
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
const
|
|
32
|
+
const appendCellFormatter = dsUtilities.curry(function (formatter, column) {
|
|
33
|
+
let path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'formatters';
|
|
34
|
+
const nextColumn = dsUtilities.cloneDeep(column);
|
|
35
|
+
const formatters = dsUtilities.get(nextColumn, ['cell', path], []);
|
|
36
|
+
const scrollingFormatters = dsUtilities.get(nextColumn, 'cell.scrollingFormatters', []);
|
|
30
37
|
|
|
31
38
|
if (Array.isArray(formatter)) {
|
|
32
39
|
if (formatter[1]) scrollingFormatters.push(formatter[1]);
|
|
@@ -36,8 +43,8 @@ const appendCellFormatter = utils.curry((formatter, column, path = 'formatters')
|
|
|
36
43
|
scrollingFormatters.push(formatter);
|
|
37
44
|
}
|
|
38
45
|
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
dsUtilities.set(nextColumn, ['cell', path], formatters);
|
|
47
|
+
dsUtilities.set(nextColumn, 'cell.scrollingFormatters', scrollingFormatters);
|
|
41
48
|
return nextColumn;
|
|
42
49
|
});
|
|
43
50
|
const defaultColumnDefinitionOptions = {
|
|
@@ -46,18 +53,19 @@ const defaultColumnDefinitionOptions = {
|
|
|
46
53
|
isUserColumn: true,
|
|
47
54
|
visible: true
|
|
48
55
|
};
|
|
49
|
-
const mergeClassNameToColumnHeader =
|
|
50
|
-
const headerProps =
|
|
56
|
+
const mergeClassNameToColumnHeader = dsUtilities.curry((className, column) => {
|
|
57
|
+
const headerProps = dsUtilities.get(column, ['header', 'props'], {});
|
|
51
58
|
const headerClassName = headerProps.className || '';
|
|
52
59
|
return _objectSpread(_objectSpread({}, column), {}, {
|
|
53
60
|
header: _objectSpread(_objectSpread({}, column.header), {}, {
|
|
54
61
|
props: _objectSpread(_objectSpread({}, headerProps), {}, {
|
|
55
|
-
className:
|
|
62
|
+
className: "".concat(headerClassName, " ").concat(className)
|
|
56
63
|
})
|
|
57
64
|
})
|
|
58
65
|
});
|
|
59
66
|
});
|
|
60
|
-
function initColumnDefinition(
|
|
67
|
+
function initColumnDefinition() {
|
|
68
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
61
69
|
// eslint-disable-next-line complexity
|
|
62
70
|
return column => {
|
|
63
71
|
// todo: clean this
|
|
@@ -89,13 +97,13 @@ function initColumnDefinition(options = {}) {
|
|
|
89
97
|
|
|
90
98
|
column.header = _objectSpread(_objectSpread({}, column.header), {}, {
|
|
91
99
|
label: column.label,
|
|
92
|
-
formatters: [...
|
|
100
|
+
formatters: [...dsUtilities.get(column, ['header', 'formatters'], [])],
|
|
93
101
|
props: {
|
|
94
102
|
style: column.headerStyle || {}
|
|
95
103
|
}
|
|
96
104
|
});
|
|
97
105
|
|
|
98
|
-
if (useTextTruncation && !(
|
|
106
|
+
if (useTextTruncation && !(dsUtilities.isFunction(column.customHeaderRenderer) || column.header.formatters.length)) {
|
|
99
107
|
column.header.formatters.push(value => /*#__PURE__*/_jsx__default["default"]("span", {
|
|
100
108
|
className: "cell-value"
|
|
101
109
|
}, void 0, value));
|
|
@@ -104,14 +112,14 @@ function initColumnDefinition(options = {}) {
|
|
|
104
112
|
|
|
105
113
|
column.cell = _objectSpread(_objectSpread({}, column.cell), {}, {
|
|
106
114
|
transforms: [],
|
|
107
|
-
formatters: [...
|
|
108
|
-
scrollingFormatters: [...
|
|
115
|
+
formatters: [...dsUtilities.get(column, ['cell', 'formatters'], [])],
|
|
116
|
+
scrollingFormatters: [...dsUtilities.get(column, ['cell', 'formatters'], [])],
|
|
109
117
|
props: {
|
|
110
118
|
style: column.cellStyle || {}
|
|
111
119
|
}
|
|
112
120
|
});
|
|
113
121
|
|
|
114
|
-
if (useTextTruncation && !(
|
|
122
|
+
if (useTextTruncation && !(dsUtilities.isFunction(column.customRenderer) || column.cell.formatters.length)) {
|
|
115
123
|
column.cell.formatters.push(value => /*#__PURE__*/_jsx__default["default"]("span", {
|
|
116
124
|
className: "cell-value",
|
|
117
125
|
style: {
|
|
@@ -2,15 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
|
-
|
|
5
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
13
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
14
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
15
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
6
16
|
var React = require('react');
|
|
7
17
|
var uuid = require('uuid');
|
|
8
18
|
var resolve = require('table-resolver');
|
|
9
|
-
var useDerivedStateFromProps = require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
|
|
10
|
-
var usePrevious = require('@elliemae/ds-utilities/hooks/usePrevious');
|
|
11
|
-
var system = require('@elliemae/ds-utilities/system');
|
|
12
19
|
var initColumnDefinition = require('./initColumnDefinition.js');
|
|
13
|
-
var utils$
|
|
20
|
+
var utils$1 = require('../createDataInstance/utils.js');
|
|
14
21
|
var VolatileRowsListener = require('./VolatileRowsListener.js');
|
|
15
22
|
var utils = require('../utils.js');
|
|
16
23
|
|
|
@@ -37,8 +44,6 @@ function _interopNamespace(e) {
|
|
|
37
44
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
38
45
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
39
46
|
var resolve__namespace = /*#__PURE__*/_interopNamespace(resolve);
|
|
40
|
-
var useDerivedStateFromProps__default = /*#__PURE__*/_interopDefaultLegacy(useDerivedStateFromProps);
|
|
41
|
-
var usePrevious__default = /*#__PURE__*/_interopDefaultLegacy(usePrevious);
|
|
42
47
|
|
|
43
48
|
const _excluded = ["uuid", "plugins", "rows", "columns", "renderers"];
|
|
44
49
|
|
|
@@ -73,15 +78,15 @@ function useDataGrid(_ref) {
|
|
|
73
78
|
|
|
74
79
|
const [RowsObserver] = React.useState(() => new VolatileRowsListener()); // todo move this with rows composition
|
|
75
80
|
|
|
76
|
-
const [originalRows, updateRows] =
|
|
81
|
+
const [originalRows, updateRows] = dsUtilities.useDerivedStateFromProps(rows, {
|
|
77
82
|
onUpdate: resolve__namespace.resolve({
|
|
78
83
|
columns,
|
|
79
|
-
method: extra =>
|
|
84
|
+
method: extra => dsUtilities.compose(resolve__namespace.byFunction('valueTransformation')(extra), resolve__namespace.nested(extra))
|
|
80
85
|
}),
|
|
81
86
|
updateOnStateChange: true
|
|
82
87
|
});
|
|
83
88
|
instance.current = {
|
|
84
|
-
decoratedRenderers:
|
|
89
|
+
decoratedRenderers: dsUtilities.cloneDeep(renderers),
|
|
85
90
|
decoratedColumns: columns,
|
|
86
91
|
columns,
|
|
87
92
|
rows,
|
|
@@ -160,18 +165,21 @@ function useDataGrid(_ref) {
|
|
|
160
165
|
});
|
|
161
166
|
}, instance.current);
|
|
162
167
|
|
|
163
|
-
const reduceHotKey = (nextInstance, {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
168
|
+
const reduceHotKey = (nextInstance, _ref2) => {
|
|
169
|
+
let {
|
|
170
|
+
key,
|
|
171
|
+
handler,
|
|
172
|
+
options
|
|
173
|
+
} = _ref2;
|
|
174
|
+
return _objectSpread(_objectSpread({}, nextInstance), {}, {
|
|
175
|
+
hotKeys: _objectSpread(_objectSpread({}, nextInstance.hotKeys), {}, {
|
|
176
|
+
[key]: {
|
|
177
|
+
handler,
|
|
178
|
+
options
|
|
179
|
+
}
|
|
180
|
+
})
|
|
181
|
+
});
|
|
182
|
+
};
|
|
175
183
|
|
|
176
184
|
instance.current = decorators.registerHotKeys.reduce((nextInstance, decorator) => {
|
|
177
185
|
const hotKeys = decorator(nextInstance);
|
|
@@ -182,28 +190,28 @@ function useDataGrid(_ref) {
|
|
|
182
190
|
|
|
183
191
|
return reduceHotKey(nextInstance, hotKeys);
|
|
184
192
|
}, instance.current);
|
|
185
|
-
instance.current.decoratedRenderers = utils$
|
|
193
|
+
instance.current.decoratedRenderers = utils$1.applyDecorators(instance.current.decoratedRenderers, decorators.decorateRenderers, instance.current);
|
|
186
194
|
instance.current.decoratedColumns = React.useMemo(() => {
|
|
187
|
-
const visibleColumns =
|
|
188
|
-
return visibleColumns.length ? utils$
|
|
195
|
+
const visibleColumns = dsUtilities.cloneDeep(columns).filter(column => typeof column.visible === 'undefined' || column.visible);
|
|
196
|
+
return visibleColumns.length ? utils$1.decorateColumns(visibleColumns, decorators, instance.current) : [];
|
|
189
197
|
}, [columns]);
|
|
190
|
-
instance.current.getBodyProps = utils$
|
|
191
|
-
instance.current.getHeaderProps = utils$
|
|
192
|
-
instance.current.getRowProps = utils$
|
|
193
|
-
instance.current.getHeaderRowProps = utils$
|
|
194
|
-
instance.current.getTableProps = utils$
|
|
198
|
+
instance.current.getBodyProps = utils$1.reducePropsGetter(decorators.getBodyProps, instance.current);
|
|
199
|
+
instance.current.getHeaderProps = utils$1.reducePropsGetter(decorators.getHeaderProps, instance.current);
|
|
200
|
+
instance.current.getRowProps = utils$1.reducePropsGetter(decorators.getRowProps, instance.current);
|
|
201
|
+
instance.current.getHeaderRowProps = utils$1.reducePropsGetter(decorators.getHeaderRowProps, instance.current);
|
|
202
|
+
instance.current.getTableProps = utils$1.reducePropsGetter(decorators.getTableProps, instance.current);
|
|
195
203
|
instance.current.composedRows = decorators.composeRows.reduce((nextRows, getter) => getter(nextRows, instance.current), instance.current.composedRows);
|
|
196
204
|
RowsObserver.notify(instance.current.composedRows);
|
|
197
205
|
const currentShouldRefocus = instance.current.shouldRefocus.current;
|
|
198
|
-
const prevState =
|
|
206
|
+
const prevState = dsUtilities.usePrevious(instance.current.state);
|
|
199
207
|
|
|
200
|
-
if (
|
|
208
|
+
if (dsUtilities.isObject(currentShouldRefocus) && currentShouldRefocus.forced) {
|
|
201
209
|
instance.current.shouldRefocus.current = currentShouldRefocus.value;
|
|
202
210
|
} else {
|
|
203
|
-
instance.current.shouldRefocus.current = !
|
|
211
|
+
instance.current.shouldRefocus.current = !dsUtilities.isEqual(prevState, instance.current.state);
|
|
204
212
|
}
|
|
205
213
|
|
|
206
|
-
if (props.instanceRef)
|
|
214
|
+
if (props.instanceRef) dsUtilities.setRef(props.instanceRef, instance.current);
|
|
207
215
|
return _objectSpread(_objectSpread({}, instance.current), {}, {
|
|
208
216
|
decorators
|
|
209
217
|
});
|