@elliemae/ds-shared 2.0.0-next.8 → 2.0.0-rc.3
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 +23 -20
- package/cjs/Animations/Grow.js +29 -26
- package/cjs/Animations/GrowRight.js +29 -26
- package/cjs/CheckableGroup.js +31 -23
- package/cjs/DeferRenderAfterComputation.js +7 -6
- package/cjs/FocusGroup/FocusGrid.js +38 -31
- package/cjs/FocusGroup/FocusGroup.js +28 -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 +10 -4
- package/cjs/GroupContext/GroupItem.js +6 -3
- package/cjs/ScrollSync/ScrollSync.js +5 -0
- package/cjs/ScrollSync/ScrollSyncPane.js +10 -2
- package/cjs/ScrollSync/ScrollSyncProvider.js +12 -6
- package/cjs/createDataInstance/createInstancePlugin.js +5 -0
- package/cjs/createDataInstance/createInstanceRef.js +7 -0
- package/cjs/createDataInstance/utils.js +56 -24
- package/cjs/defer-render-hoc/index.js +7 -2
- package/cjs/toolbar/ToolbarProvider.js +30 -21
- package/cjs/useDataGrid/VolatileRowsListener.js +5 -2
- package/cjs/useDataGrid/initColumnDefinition.js +24 -17
- package/cjs/useDataGrid/useDataGrid.js +41 -34
- package/cjs/useDataList/recordIterator.js +4 -1
- package/cjs/useDataList/useDataList.js +17 -4
- package/cjs/utils.js +7 -0
- 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 +23 -20
- package/esm/Animations/Grow.js +29 -26
- package/esm/Animations/GrowRight.js +29 -26
- package/esm/CheckableGroup.js +28 -19
- package/esm/DeferRenderAfterComputation.js +7 -6
- package/esm/FocusGroup/FocusGrid.js +27 -19
- package/esm/FocusGroup/FocusGroup.js +25 -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 +10 -4
- package/esm/GroupContext/GroupItem.js +6 -3
- package/esm/ScrollSync/ScrollSync.js +5 -0
- package/esm/ScrollSync/ScrollSyncPane.js +10 -2
- package/esm/ScrollSync/ScrollSyncProvider.js +12 -6
- package/esm/createDataInstance/createInstancePlugin.js +5 -0
- package/esm/createDataInstance/createInstanceRef.js +7 -0
- package/esm/createDataInstance/utils.js +56 -24
- package/esm/defer-render-hoc/index.js +7 -2
- package/esm/toolbar/ToolbarProvider.js +29 -20
- package/esm/useDataGrid/VolatileRowsListener.js +4 -1
- package/esm/useDataGrid/initColumnDefinition.js +10 -3
- package/esm/useDataGrid/useDataGrid.js +25 -16
- package/esm/useDataList/recordIterator.js +4 -1
- package/esm/useDataList/useDataList.js +16 -3
- package/esm/utils.js +7 -0
- 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
|
@@ -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 }; }
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
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');
|
|
6
14
|
var React = require('react');
|
|
7
15
|
var ScrollSync = require('./ScrollSync.js');
|
|
8
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -17,8 +25,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
17
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; }
|
|
18
26
|
|
|
19
27
|
class ScrollSyncPane extends React.Component {
|
|
20
|
-
constructor(
|
|
21
|
-
super(...
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
22
30
|
|
|
23
31
|
_defineProperty__default["default"](this, "toArray", groups => [].concat(groups));
|
|
24
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,7 +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');
|
|
4
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');
|
|
5
10
|
|
|
6
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
12
|
|
|
@@ -3,6 +3,13 @@
|
|
|
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.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');
|
|
6
13
|
var uuid = require('uuid');
|
|
7
14
|
var React = require('react');
|
|
8
15
|
var lodash = require('lodash');
|
|
@@ -3,7 +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');
|
|
6
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');
|
|
7
16
|
|
|
8
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
18
|
|
|
@@ -12,16 +21,25 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
12
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; }
|
|
13
22
|
|
|
14
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; }
|
|
15
|
-
const reducePropsGetter =
|
|
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);
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
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');
|
|
5
10
|
var React = require('react');
|
|
6
11
|
var raf = require('raf');
|
|
7
12
|
var hoistNonReactStatic = require('hoist-non-react-statics');
|
|
@@ -18,8 +23,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
18
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; }
|
|
19
24
|
function deferComponentRender(WrappedComponent, fallback) {
|
|
20
25
|
class DeferredRenderWrapper extends React.PureComponent {
|
|
21
|
-
constructor(
|
|
22
|
-
super(...
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
23
28
|
|
|
24
29
|
_defineProperty__default["default"](this, "state", {
|
|
25
30
|
shouldRender: false
|
|
@@ -5,9 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
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');
|
|
8
13
|
var React = require('react');
|
|
9
|
-
var DSPopover = require('@elliemae/ds-
|
|
10
|
-
var
|
|
14
|
+
var DSPopover = require('@elliemae/ds-popper');
|
|
15
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
11
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
17
|
|
|
13
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -36,12 +41,13 @@ const useScrollListener = (callback, dependencies) => {
|
|
|
36
41
|
|
|
37
42
|
const noop = () => null;
|
|
38
43
|
|
|
39
|
-
function ToolbarProvider({
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
function ToolbarProvider(_ref) {
|
|
45
|
+
let {
|
|
46
|
+
delay = 200,
|
|
47
|
+
children,
|
|
48
|
+
onHide = noop,
|
|
49
|
+
onShow = noop
|
|
50
|
+
} = _ref;
|
|
45
51
|
const showTimer = React.useRef();
|
|
46
52
|
const hideTimer = React.useRef();
|
|
47
53
|
const toolbarRef = React.useRef();
|
|
@@ -64,7 +70,7 @@ function ToolbarProvider({
|
|
|
64
70
|
};
|
|
65
71
|
|
|
66
72
|
useScrollListener(e => hide(e, true), tooltipState.visible);
|
|
67
|
-
|
|
73
|
+
dsUtilities.useOnClickOutside(toolbarRef, () => hide());
|
|
68
74
|
|
|
69
75
|
const keyDownHandler = e => {
|
|
70
76
|
if (e.key === 'Escape') {
|
|
@@ -91,18 +97,21 @@ function ToolbarProvider({
|
|
|
91
97
|
content: tooltipState.renderer,
|
|
92
98
|
placement: "left",
|
|
93
99
|
referenceEl: tooltipState.reference,
|
|
94
|
-
renderer:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
+
},
|
|
106
115
|
style: tooltipState.style,
|
|
107
116
|
visible: tooltipState.visible
|
|
108
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
|
|
|
@@ -6,9 +6,14 @@ var _jsx = require('@babel/runtime/helpers/jsx');
|
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
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');
|
|
9
14
|
require('react');
|
|
10
15
|
var uuid = require('uuid');
|
|
11
|
-
var
|
|
16
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
12
17
|
|
|
13
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
19
|
|
|
@@ -19,15 +24,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
19
24
|
|
|
20
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; }
|
|
21
26
|
|
|
22
|
-
const appendHeaderFormatter =
|
|
27
|
+
const appendHeaderFormatter = dsUtilities.curry((formatter, column) => _objectSpread(_objectSpread({}, column), {}, {
|
|
23
28
|
header: _objectSpread(_objectSpread({}, column.header), {}, {
|
|
24
|
-
formatters: [...
|
|
29
|
+
formatters: [...dsUtilities.get(column, 'header.formatters', []), formatter]
|
|
25
30
|
})
|
|
26
31
|
}));
|
|
27
|
-
const appendCellFormatter =
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
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', []);
|
|
31
37
|
|
|
32
38
|
if (Array.isArray(formatter)) {
|
|
33
39
|
if (formatter[1]) scrollingFormatters.push(formatter[1]);
|
|
@@ -37,8 +43,8 @@ const appendCellFormatter = utils.curry((formatter, column, path = 'formatters')
|
|
|
37
43
|
scrollingFormatters.push(formatter);
|
|
38
44
|
}
|
|
39
45
|
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
dsUtilities.set(nextColumn, ['cell', path], formatters);
|
|
47
|
+
dsUtilities.set(nextColumn, 'cell.scrollingFormatters', scrollingFormatters);
|
|
42
48
|
return nextColumn;
|
|
43
49
|
});
|
|
44
50
|
const defaultColumnDefinitionOptions = {
|
|
@@ -47,8 +53,8 @@ const defaultColumnDefinitionOptions = {
|
|
|
47
53
|
isUserColumn: true,
|
|
48
54
|
visible: true
|
|
49
55
|
};
|
|
50
|
-
const mergeClassNameToColumnHeader =
|
|
51
|
-
const headerProps =
|
|
56
|
+
const mergeClassNameToColumnHeader = dsUtilities.curry((className, column) => {
|
|
57
|
+
const headerProps = dsUtilities.get(column, ['header', 'props'], {});
|
|
52
58
|
const headerClassName = headerProps.className || '';
|
|
53
59
|
return _objectSpread(_objectSpread({}, column), {}, {
|
|
54
60
|
header: _objectSpread(_objectSpread({}, column.header), {}, {
|
|
@@ -58,7 +64,8 @@ const mergeClassNameToColumnHeader = utils.curry((className, column) => {
|
|
|
58
64
|
})
|
|
59
65
|
});
|
|
60
66
|
});
|
|
61
|
-
function initColumnDefinition(
|
|
67
|
+
function initColumnDefinition() {
|
|
68
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
62
69
|
// eslint-disable-next-line complexity
|
|
63
70
|
return column => {
|
|
64
71
|
// todo: clean this
|
|
@@ -90,13 +97,13 @@ function initColumnDefinition(options = {}) {
|
|
|
90
97
|
|
|
91
98
|
column.header = _objectSpread(_objectSpread({}, column.header), {}, {
|
|
92
99
|
label: column.label,
|
|
93
|
-
formatters: [...
|
|
100
|
+
formatters: [...dsUtilities.get(column, ['header', 'formatters'], [])],
|
|
94
101
|
props: {
|
|
95
102
|
style: column.headerStyle || {}
|
|
96
103
|
}
|
|
97
104
|
});
|
|
98
105
|
|
|
99
|
-
if (useTextTruncation && !(
|
|
106
|
+
if (useTextTruncation && !(dsUtilities.isFunction(column.customHeaderRenderer) || column.header.formatters.length)) {
|
|
100
107
|
column.header.formatters.push(value => /*#__PURE__*/_jsx__default["default"]("span", {
|
|
101
108
|
className: "cell-value"
|
|
102
109
|
}, void 0, value));
|
|
@@ -105,14 +112,14 @@ function initColumnDefinition(options = {}) {
|
|
|
105
112
|
|
|
106
113
|
column.cell = _objectSpread(_objectSpread({}, column.cell), {}, {
|
|
107
114
|
transforms: [],
|
|
108
|
-
formatters: [...
|
|
109
|
-
scrollingFormatters: [...
|
|
115
|
+
formatters: [...dsUtilities.get(column, ['cell', 'formatters'], [])],
|
|
116
|
+
scrollingFormatters: [...dsUtilities.get(column, ['cell', 'formatters'], [])],
|
|
110
117
|
props: {
|
|
111
118
|
style: column.cellStyle || {}
|
|
112
119
|
}
|
|
113
120
|
});
|
|
114
121
|
|
|
115
|
-
if (useTextTruncation && !(
|
|
122
|
+
if (useTextTruncation && !(dsUtilities.isFunction(column.customRenderer) || column.cell.formatters.length)) {
|
|
116
123
|
column.cell.formatters.push(value => /*#__PURE__*/_jsx__default["default"]("span", {
|
|
117
124
|
className: "cell-value",
|
|
118
125
|
style: {
|
|
@@ -3,15 +3,21 @@
|
|
|
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
|
-
|
|
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');
|
|
7
16
|
var React = require('react');
|
|
8
17
|
var uuid = require('uuid');
|
|
9
18
|
var resolve = require('table-resolver');
|
|
10
|
-
var useDerivedStateFromProps = require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
|
|
11
|
-
var usePrevious = require('@elliemae/ds-utilities/hooks/usePrevious');
|
|
12
|
-
var system = require('@elliemae/ds-utilities/system');
|
|
13
19
|
var initColumnDefinition = require('./initColumnDefinition.js');
|
|
14
|
-
var utils$
|
|
20
|
+
var utils$1 = require('../createDataInstance/utils.js');
|
|
15
21
|
var VolatileRowsListener = require('./VolatileRowsListener.js');
|
|
16
22
|
var utils = require('../utils.js');
|
|
17
23
|
|
|
@@ -38,8 +44,6 @@ function _interopNamespace(e) {
|
|
|
38
44
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
39
45
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
40
46
|
var resolve__namespace = /*#__PURE__*/_interopNamespace(resolve);
|
|
41
|
-
var useDerivedStateFromProps__default = /*#__PURE__*/_interopDefaultLegacy(useDerivedStateFromProps);
|
|
42
|
-
var usePrevious__default = /*#__PURE__*/_interopDefaultLegacy(usePrevious);
|
|
43
47
|
|
|
44
48
|
const _excluded = ["uuid", "plugins", "rows", "columns", "renderers"];
|
|
45
49
|
|
|
@@ -74,15 +78,15 @@ function useDataGrid(_ref) {
|
|
|
74
78
|
|
|
75
79
|
const [RowsObserver] = React.useState(() => new VolatileRowsListener()); // todo move this with rows composition
|
|
76
80
|
|
|
77
|
-
const [originalRows, updateRows] =
|
|
81
|
+
const [originalRows, updateRows] = dsUtilities.useDerivedStateFromProps(rows, {
|
|
78
82
|
onUpdate: resolve__namespace.resolve({
|
|
79
83
|
columns,
|
|
80
|
-
method: extra =>
|
|
84
|
+
method: extra => dsUtilities.compose(resolve__namespace.byFunction('valueTransformation')(extra), resolve__namespace.nested(extra))
|
|
81
85
|
}),
|
|
82
86
|
updateOnStateChange: true
|
|
83
87
|
});
|
|
84
88
|
instance.current = {
|
|
85
|
-
decoratedRenderers:
|
|
89
|
+
decoratedRenderers: dsUtilities.cloneDeep(renderers),
|
|
86
90
|
decoratedColumns: columns,
|
|
87
91
|
columns,
|
|
88
92
|
rows,
|
|
@@ -161,18 +165,21 @@ function useDataGrid(_ref) {
|
|
|
161
165
|
});
|
|
162
166
|
}, instance.current);
|
|
163
167
|
|
|
164
|
-
const reduceHotKey = (nextInstance, {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
+
};
|
|
176
183
|
|
|
177
184
|
instance.current = decorators.registerHotKeys.reduce((nextInstance, decorator) => {
|
|
178
185
|
const hotKeys = decorator(nextInstance);
|
|
@@ -183,28 +190,28 @@ function useDataGrid(_ref) {
|
|
|
183
190
|
|
|
184
191
|
return reduceHotKey(nextInstance, hotKeys);
|
|
185
192
|
}, instance.current);
|
|
186
|
-
instance.current.decoratedRenderers = utils$
|
|
193
|
+
instance.current.decoratedRenderers = utils$1.applyDecorators(instance.current.decoratedRenderers, decorators.decorateRenderers, instance.current);
|
|
187
194
|
instance.current.decoratedColumns = React.useMemo(() => {
|
|
188
|
-
const visibleColumns =
|
|
189
|
-
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) : [];
|
|
190
197
|
}, [columns]);
|
|
191
|
-
instance.current.getBodyProps = utils$
|
|
192
|
-
instance.current.getHeaderProps = utils$
|
|
193
|
-
instance.current.getRowProps = utils$
|
|
194
|
-
instance.current.getHeaderRowProps = utils$
|
|
195
|
-
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);
|
|
196
203
|
instance.current.composedRows = decorators.composeRows.reduce((nextRows, getter) => getter(nextRows, instance.current), instance.current.composedRows);
|
|
197
204
|
RowsObserver.notify(instance.current.composedRows);
|
|
198
205
|
const currentShouldRefocus = instance.current.shouldRefocus.current;
|
|
199
|
-
const prevState =
|
|
206
|
+
const prevState = dsUtilities.usePrevious(instance.current.state);
|
|
200
207
|
|
|
201
|
-
if (
|
|
208
|
+
if (dsUtilities.isObject(currentShouldRefocus) && currentShouldRefocus.forced) {
|
|
202
209
|
instance.current.shouldRefocus.current = currentShouldRefocus.value;
|
|
203
210
|
} else {
|
|
204
|
-
instance.current.shouldRefocus.current = !
|
|
211
|
+
instance.current.shouldRefocus.current = !dsUtilities.isEqual(prevState, instance.current.state);
|
|
205
212
|
}
|
|
206
213
|
|
|
207
|
-
if (props.instanceRef)
|
|
214
|
+
if (props.instanceRef) dsUtilities.setRef(props.instanceRef, instance.current);
|
|
208
215
|
return _objectSpread(_objectSpread({}, instance.current), {}, {
|
|
209
216
|
decorators
|
|
210
217
|
});
|
|
@@ -6,7 +6,10 @@ const defaultStrategy = () => {
|
|
|
6
6
|
throw Error('Implement an iterator strategy for record iterator');
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
function recordIterator(records
|
|
9
|
+
function recordIterator(records) {
|
|
10
|
+
let strategy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultStrategy;
|
|
11
|
+
let decorators = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
12
|
+
let instance = arguments.length > 3 ? arguments[3] : undefined;
|
|
10
13
|
const nextRows = [];
|
|
11
14
|
strategy({
|
|
12
15
|
data: records,
|
|
@@ -5,8 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
7
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.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');
|
|
13
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
14
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
15
|
var React = require('react');
|
|
9
|
-
var
|
|
16
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
10
17
|
var get = require('lodash/get');
|
|
11
18
|
var utils = require('../createDataInstance/utils.js');
|
|
12
19
|
var recordIterator = require('./recordIterator.js');
|
|
@@ -23,8 +30,14 @@ const _excluded = ["data", "plugins", "renderers", "itemRenderer", "customDecora
|
|
|
23
30
|
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; }
|
|
24
31
|
|
|
25
32
|
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; }
|
|
26
|
-
const getItemLabel = (record
|
|
27
|
-
|
|
33
|
+
const getItemLabel = function (record) {
|
|
34
|
+
let nameKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'name';
|
|
35
|
+
return get__default["default"](record, ['data', nameKey]);
|
|
36
|
+
};
|
|
37
|
+
const getItemChildren = function (record) {
|
|
38
|
+
let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
|
|
39
|
+
return get__default["default"](record, ['data', childrenKey]);
|
|
40
|
+
};
|
|
28
41
|
const listRenderers = {
|
|
29
42
|
list: 'ul',
|
|
30
43
|
item: 'li'
|
|
@@ -80,7 +93,7 @@ function useDataList(_ref) {
|
|
|
80
93
|
nextRecords = decorators.records.reduce((nextRows, getter) => getter(nextRows, instance.current), nextRecords);
|
|
81
94
|
return nextRecords;
|
|
82
95
|
});
|
|
83
|
-
if (props.instanceRef)
|
|
96
|
+
if (props.instanceRef) dsUtilities.setRef(props.instanceRef, instance.current);
|
|
84
97
|
return instance.current;
|
|
85
98
|
}
|
|
86
99
|
|