@elliemae/ds-shared 2.0.0-next.9 → 2.0.0-rc.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 +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 -11
- package/cjs/FocusGroup/FocusGroupManager.js +6 -11
- 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 +22 -21
- package/cjs/ScrollSync/ScrollSyncPane.js +13 -6
- 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 +9 -5
- package/cjs/toolbar/ToolbarProvider.js +30 -21
- package/cjs/useDataGrid/VolatileRowsListener.js +6 -8
- 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 -8
- package/esm/FocusGroup/FocusGroupManager.js +4 -8
- 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 +22 -20
- package/esm/ScrollSync/ScrollSyncPane.js +13 -6
- 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 +9 -5
- package/esm/toolbar/ToolbarProvider.js +29 -20
- package/esm/useDataGrid/VolatileRowsListener.js +5 -3
- 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
|
@@ -66,9 +66,10 @@ class Group extends React.Component {
|
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
static getDerivedStateFromProps(nextProps, {
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
static getDerivedStateFromProps(nextProps, _ref) {
|
|
70
|
+
let {
|
|
71
|
+
prevValue
|
|
72
|
+
} = _ref;
|
|
72
73
|
if (nextProps.activeValue === prevValue) return null;
|
|
73
74
|
return {
|
|
74
75
|
activeValue: nextProps.activeValue,
|
|
@@ -76,7 +77,7 @@ class Group extends React.Component {
|
|
|
76
77
|
};
|
|
77
78
|
}
|
|
78
79
|
|
|
79
|
-
handleChange(e
|
|
80
|
+
handleChange(e) {
|
|
80
81
|
const {
|
|
81
82
|
multiple,
|
|
82
83
|
onChange
|
|
@@ -97,6 +98,11 @@ class Group extends React.Component {
|
|
|
97
98
|
this.setState({
|
|
98
99
|
activeValue: newValue
|
|
99
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
|
+
|
|
100
106
|
if (onChange) onChange(newValue, ...rest);
|
|
101
107
|
}
|
|
102
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;
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
-
|
|
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.find.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
7
11
|
var React = require('react');
|
|
8
12
|
|
|
9
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
14
|
|
|
11
15
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
12
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
13
16
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
17
|
|
|
15
18
|
const ScrollSyncContext = /*#__PURE__*/React__default["default"].createContext();
|
|
@@ -19,10 +22,9 @@ const {
|
|
|
19
22
|
class ScrollSync extends React.Component {
|
|
20
23
|
constructor(props) {
|
|
21
24
|
super(props);
|
|
25
|
+
this.panes = {};
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
_defineProperty__default["default"](this, "registerPane", (node, groups) => {
|
|
27
|
+
this.registerPane = (node, groups) => {
|
|
26
28
|
groups.forEach(group => {
|
|
27
29
|
if (!this.panes[group]) {
|
|
28
30
|
this.panes[group] = [];
|
|
@@ -35,36 +37,36 @@ class ScrollSync extends React.Component {
|
|
|
35
37
|
this.panes[group].push(node);
|
|
36
38
|
});
|
|
37
39
|
this.addEvents(node, groups);
|
|
38
|
-
}
|
|
40
|
+
};
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
this.unregisterPane = (node, groups) => {
|
|
41
43
|
groups.forEach(group => {
|
|
42
44
|
if (this.findPane(node, group)) {
|
|
43
45
|
this.removeEvents(node);
|
|
44
46
|
this.panes[group].splice(this.panes[group].indexOf(node), 1);
|
|
45
47
|
}
|
|
46
48
|
});
|
|
47
|
-
}
|
|
49
|
+
};
|
|
48
50
|
|
|
49
|
-
|
|
51
|
+
this.addEvents = (node, groups) => {
|
|
50
52
|
/* For some reason element.addEventListener doesnt work with document.body */
|
|
51
53
|
node.onscroll = this.handlePaneScroll.bind(this, node, groups); // eslint-disable-line
|
|
52
|
-
}
|
|
54
|
+
};
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
this.removeEvents = node => {
|
|
55
57
|
/* For some reason element.removeEventListener doesnt work with document.body */
|
|
56
58
|
node.onscroll = null; // eslint-disable-line
|
|
57
|
-
}
|
|
59
|
+
};
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
this.findPane = (node, group) => {
|
|
60
62
|
if (!this.panes[group]) {
|
|
61
63
|
return false;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
return this.panes[group].find(pane => pane === node);
|
|
65
|
-
}
|
|
67
|
+
};
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
this.handlePaneScroll = (node, groups, e) => {
|
|
68
70
|
const {
|
|
69
71
|
enabled
|
|
70
72
|
} = this.props;
|
|
@@ -73,9 +75,9 @@ class ScrollSync extends React.Component {
|
|
|
73
75
|
window.requestAnimationFrame(() => {
|
|
74
76
|
this.syncScrollPositions(node, groups);
|
|
75
77
|
});
|
|
76
|
-
}
|
|
78
|
+
};
|
|
77
79
|
|
|
78
|
-
|
|
80
|
+
this.syncScrollPositions = (scrolledPane, groups) => {
|
|
79
81
|
groups.forEach(group => {
|
|
80
82
|
this.panes[group].forEach(pane => {
|
|
81
83
|
/* For all panes beside the currently scrolling one */
|
|
@@ -91,7 +93,7 @@ class ScrollSync extends React.Component {
|
|
|
91
93
|
}
|
|
92
94
|
});
|
|
93
95
|
});
|
|
94
|
-
}
|
|
96
|
+
};
|
|
95
97
|
|
|
96
98
|
this.syncContext = {
|
|
97
99
|
registerPane: this.registerPane,
|
|
@@ -140,13 +142,12 @@ class ScrollSync extends React.Component {
|
|
|
140
142
|
}
|
|
141
143
|
|
|
142
144
|
}
|
|
143
|
-
|
|
144
|
-
_defineProperty__default["default"](ScrollSync, "defaultProps", {
|
|
145
|
+
ScrollSync.defaultProps = {
|
|
145
146
|
proportional: true,
|
|
146
147
|
vertical: true,
|
|
147
148
|
horizontal: true,
|
|
148
149
|
enabled: true
|
|
149
|
-
}
|
|
150
|
+
};
|
|
150
151
|
|
|
151
152
|
exports.ScrollSyncContext = ScrollSyncContext;
|
|
152
153
|
exports["default"] = ScrollSync;
|
|
@@ -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,10 +25,10 @@ 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
|
+
this.toArray = groups => [].concat(groups);
|
|
24
32
|
}
|
|
25
33
|
|
|
26
34
|
componentWillUnmount() {
|
|
@@ -62,11 +70,10 @@ class ScrollSyncPane extends React.Component {
|
|
|
62
70
|
|
|
63
71
|
}
|
|
64
72
|
|
|
65
|
-
|
|
73
|
+
ScrollSyncPane.defaultProps = {
|
|
66
74
|
group: 'default',
|
|
67
75
|
enabled: true
|
|
68
|
-
}
|
|
69
|
-
|
|
76
|
+
};
|
|
70
77
|
var ScrollSyncPane$1 = (props => /*#__PURE__*/_jsx__default["default"](ScrollSync.ScrollSyncContext.Consumer, {}, void 0, context => /*#__PURE__*/jsxRuntime.jsx(ScrollSyncPane, _objectSpread(_objectSpread({}, props), {}, {
|
|
71
78
|
syncContext: context
|
|
72
79
|
}))));
|
|
@@ -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,12 +23,11 @@ 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(...
|
|
23
|
-
|
|
24
|
-
_defineProperty__default["default"](this, "state", {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.state = {
|
|
25
29
|
shouldRender: false
|
|
26
|
-
}
|
|
30
|
+
};
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
componentDidMount() {
|
|
@@ -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,15 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
6
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
9
7
|
|
|
10
8
|
class VolatileRowsListener {
|
|
11
9
|
constructor() {
|
|
12
|
-
|
|
10
|
+
this.observers = [];
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
observe(listener) {
|
|
@@ -17,7 +15,7 @@ class VolatileRowsListener {
|
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
notify(nextRows) {
|
|
20
|
-
this.observers.forEach(observer =>
|
|
18
|
+
this.observers.forEach(observer => dsUtilities.safeCall(observer, nextRows));
|
|
21
19
|
this.observers = [];
|
|
22
20
|
}
|
|
23
21
|
|
|
@@ -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: {
|