@atlaskit/editor-plugin-table 7.5.5 → 7.5.6
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/CHANGELOG.md +6 -0
- package/dist/cjs/event-handlers.js +25 -9
- package/dist/cjs/nodeviews/OverflowShadowsObserver.js +24 -15
- package/dist/cjs/nodeviews/TableCell.js +5 -30
- package/dist/cjs/nodeviews/TableComponent.js +74 -24
- package/dist/cjs/nodeviews/TableContainer.js +19 -17
- package/dist/cjs/nodeviews/TableResizer.js +1 -1
- package/dist/cjs/plugin.js +2 -3
- package/dist/cjs/pm-plugins/main.js +3 -18
- package/dist/cjs/ui/TableFloatingColumnControls/index.js +8 -48
- package/dist/cjs/ui/TableFloatingControls/index.js +113 -223
- package/dist/cjs/utils/column-controls.js +5 -5
- package/dist/cjs/utils/dom.js +13 -15
- package/dist/es2019/event-handlers.js +25 -9
- package/dist/es2019/nodeviews/OverflowShadowsObserver.js +24 -15
- package/dist/es2019/nodeviews/TableCell.js +1 -24
- package/dist/es2019/nodeviews/TableComponent.js +63 -27
- package/dist/es2019/nodeviews/TableContainer.js +16 -18
- package/dist/es2019/nodeviews/TableResizer.js +1 -1
- package/dist/es2019/plugin.js +2 -3
- package/dist/es2019/pm-plugins/main.js +3 -18
- package/dist/es2019/ui/TableFloatingColumnControls/index.js +5 -27
- package/dist/es2019/ui/TableFloatingControls/index.js +119 -193
- package/dist/es2019/utils/column-controls.js +6 -6
- package/dist/es2019/utils/dom.js +13 -15
- package/dist/esm/event-handlers.js +25 -9
- package/dist/esm/nodeviews/OverflowShadowsObserver.js +24 -15
- package/dist/esm/nodeviews/TableCell.js +5 -30
- package/dist/esm/nodeviews/TableComponent.js +74 -24
- package/dist/esm/nodeviews/TableContainer.js +20 -18
- package/dist/esm/nodeviews/TableResizer.js +1 -1
- package/dist/esm/plugin.js +2 -3
- package/dist/esm/pm-plugins/main.js +3 -18
- package/dist/esm/ui/TableFloatingColumnControls/index.js +8 -48
- package/dist/esm/ui/TableFloatingControls/index.js +113 -224
- package/dist/esm/utils/column-controls.js +6 -6
- package/dist/esm/utils/dom.js +13 -15
- package/dist/types/event-handlers.d.ts +3 -4
- package/dist/types/nodeviews/OverflowShadowsObserver.d.ts +3 -1
- package/dist/types/nodeviews/TableCell.d.ts +1 -5
- package/dist/types/nodeviews/TableComponent.d.ts +4 -0
- package/dist/types/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types/types.d.ts +0 -3
- package/dist/types/ui/TableFloatingColumnControls/index.d.ts +2 -1
- package/dist/types/ui/TableFloatingControls/index.d.ts +5 -22
- package/dist/types/utils/dom.d.ts +10 -2
- package/dist/types-ts4.5/event-handlers.d.ts +3 -4
- package/dist/types-ts4.5/nodeviews/OverflowShadowsObserver.d.ts +3 -1
- package/dist/types-ts4.5/nodeviews/TableCell.d.ts +1 -5
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +4 -0
- package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types-ts4.5/types.d.ts +0 -3
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +5 -22
- package/dist/types-ts4.5/utils/dom.d.ts +10 -2
- package/package.json +3 -4
- package/src/event-handlers.ts +105 -103
- package/src/nodeviews/OverflowShadowsObserver.ts +32 -21
- package/src/nodeviews/TableCell.ts +0 -26
- package/src/nodeviews/TableComponent.tsx +76 -32
- package/src/nodeviews/TableContainer.tsx +19 -25
- package/src/nodeviews/TableResizer.tsx +1 -4
- package/src/plugin.tsx +5 -4
- package/src/pm-plugins/main.ts +3 -22
- package/src/types.ts +0 -4
- package/src/ui/TableFloatingColumnControls/index.tsx +5 -29
- package/src/ui/TableFloatingControls/index.tsx +155 -241
- package/src/utils/column-controls.ts +5 -6
- package/src/utils/dom.ts +12 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 7.5.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#72764](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/72764) [`1a23abba80b0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1a23abba80b0) - Minor performance improvements to reduce reflows and re-renders
|
|
8
|
+
|
|
3
9
|
## 7.5.5
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -8,6 +8,7 @@ exports.handleMouseUp = exports.handleMouseOver = exports.handleMouseOut = expor
|
|
|
8
8
|
exports.handleTripleClick = handleTripleClick;
|
|
9
9
|
exports.withCellTracking = exports.whenTableInFocus = exports.isTableInFocus = void 0;
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _rafSchd = _interopRequireDefault(require("raf-schd"));
|
|
11
12
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
12
13
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
13
14
|
var _state5 = require("@atlaskit/editor-prosemirror/state");
|
|
@@ -257,7 +258,10 @@ var handleMouseLeave = exports.handleMouseLeave = function handleMouseLeave(view
|
|
|
257
258
|
}
|
|
258
259
|
return false;
|
|
259
260
|
};
|
|
260
|
-
|
|
261
|
+
|
|
262
|
+
// IMPORTANT: The mouse move handler has been setup with RAF schedule to avoid Reflows which will occur as some methods
|
|
263
|
+
// need to access the mouse event offset position and also the target clientWidth vallue.
|
|
264
|
+
var handleMouseMoveDebounce = (0, _rafSchd.default)(function (view, event, offsetX) {
|
|
261
265
|
if (!(event.target instanceof HTMLElement)) {
|
|
262
266
|
return false;
|
|
263
267
|
}
|
|
@@ -266,13 +270,12 @@ var handleMouseMove = exports.handleMouseMove = function handleMouseMove(view, e
|
|
|
266
270
|
var state = view.state,
|
|
267
271
|
dispatch = view.dispatch;
|
|
268
272
|
var _getPluginState6 = (0, _pluginFactory2.getPluginState)(state),
|
|
269
|
-
insertColumnButtonIndex = _getPluginState6.insertColumnButtonIndex
|
|
270
|
-
isDragAndDropEnabled = _getPluginState6.isDragAndDropEnabled;
|
|
273
|
+
insertColumnButtonIndex = _getPluginState6.insertColumnButtonIndex;
|
|
271
274
|
var _getColumnOrRowIndex9 = (0, _utils3.getColumnOrRowIndex)(element),
|
|
272
275
|
_getColumnOrRowIndex10 = (0, _slicedToArray2.default)(_getColumnOrRowIndex9, 2),
|
|
273
276
|
startIndex = _getColumnOrRowIndex10[0],
|
|
274
277
|
endIndex = _getColumnOrRowIndex10[1];
|
|
275
|
-
var positionColumn = (0, _utils3.getMousePositionHorizontalRelativeByElement)(event,
|
|
278
|
+
var positionColumn = (0, _utils3.getMousePositionHorizontalRelativeByElement)(event, offsetX, undefined) === 'right' ? endIndex : startIndex;
|
|
276
279
|
if (positionColumn !== insertColumnButtonIndex) {
|
|
277
280
|
return (0, _commands.showInsertColumnButton)(positionColumn)(state, dispatch);
|
|
278
281
|
}
|
|
@@ -292,7 +295,7 @@ var handleMouseMove = exports.handleMouseMove = function handleMouseMove(view, e
|
|
|
292
295
|
}
|
|
293
296
|
}
|
|
294
297
|
if (!(0, _utils3.isResizeHandleDecoration)(element) && (0, _utils3.isCell)(element)) {
|
|
295
|
-
var _positionColumn = (0, _utils3.getMousePositionHorizontalRelativeByElement)(event,
|
|
298
|
+
var _positionColumn = (0, _utils3.getMousePositionHorizontalRelativeByElement)(event, offsetX, _types.RESIZE_HANDLE_AREA_DECORATION_GAP);
|
|
296
299
|
if (_positionColumn !== null) {
|
|
297
300
|
var _state4 = view.state,
|
|
298
301
|
_dispatch5 = view.dispatch;
|
|
@@ -317,6 +320,19 @@ var handleMouseMove = exports.handleMouseMove = function handleMouseMove(view, e
|
|
|
317
320
|
}
|
|
318
321
|
}
|
|
319
322
|
return false;
|
|
323
|
+
});
|
|
324
|
+
var handleMouseMove = exports.handleMouseMove = function handleMouseMove(view, event) {
|
|
325
|
+
if (!(event.target instanceof HTMLElement)) {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// NOTE: When accessing offsetX in gecko from a deferred callback, it will return 0. However it will be non-zero if accessed
|
|
330
|
+
// within the scope of it's initial mouse move handler. Also Chrome does return the correct value, however it could trigger
|
|
331
|
+
// a reflow. So for now this will just grab the offsetX value immediately for gecko and chrome will calculate later
|
|
332
|
+
// in the deferred callback handler.
|
|
333
|
+
// Bug Tracking: https://bugzilla.mozilla.org/show_bug.cgi?id=1882903
|
|
334
|
+
handleMouseMoveDebounce(view, event, _utils.browser.gecko ? event.offsetX : NaN);
|
|
335
|
+
return false;
|
|
320
336
|
};
|
|
321
337
|
function handleTripleClick(view, pos) {
|
|
322
338
|
var state = view.state,
|
|
@@ -392,12 +408,12 @@ var isTableInFocus = exports.isTableInFocus = function isTableInFocus(view) {
|
|
|
392
408
|
var _getPluginState10, _getResizePluginState;
|
|
393
409
|
return !!((_getPluginState10 = (0, _pluginFactory2.getPluginState)(view.state)) !== null && _getPluginState10 !== void 0 && _getPluginState10.tableNode) && !((_getResizePluginState = (0, _pluginFactory3.getPluginState)(view.state)) !== null && _getResizePluginState !== void 0 && _getResizePluginState.dragging);
|
|
394
410
|
};
|
|
395
|
-
var whenTableInFocus = exports.whenTableInFocus = function whenTableInFocus(eventHandler
|
|
411
|
+
var whenTableInFocus = exports.whenTableInFocus = function whenTableInFocus(eventHandler) {
|
|
396
412
|
return function (view, mouseEvent) {
|
|
397
413
|
if (!isTableInFocus(view)) {
|
|
398
414
|
return false;
|
|
399
415
|
}
|
|
400
|
-
return eventHandler(view, mouseEvent
|
|
416
|
+
return eventHandler(view, mouseEvent);
|
|
401
417
|
};
|
|
402
418
|
};
|
|
403
419
|
var trackCellLocation = function trackCellLocation(view, mouseEvent) {
|
|
@@ -427,11 +443,11 @@ var trackCellLocation = function trackCellLocation(view, mouseEvent) {
|
|
|
427
443
|
}
|
|
428
444
|
(0, _commands.hoverCell)(htmlRowIndex, colIndex)(view.state, view.dispatch);
|
|
429
445
|
};
|
|
430
|
-
var withCellTracking = exports.withCellTracking = function withCellTracking(eventHandler
|
|
446
|
+
var withCellTracking = exports.withCellTracking = function withCellTracking(eventHandler) {
|
|
431
447
|
return function (view, mouseEvent) {
|
|
432
448
|
if ((0, _pluginFactory2.getPluginState)(view.state).isDragAndDropEnabled && !(0, _pluginFactory.getPluginState)(view.state).isDragging) {
|
|
433
449
|
trackCellLocation(view, mouseEvent);
|
|
434
450
|
}
|
|
435
|
-
return eventHandler(view, mouseEvent
|
|
451
|
+
return eventHandler(view, mouseEvent);
|
|
436
452
|
};
|
|
437
453
|
};
|
|
@@ -8,6 +8,7 @@ exports.OverflowShadowsObserver = void 0;
|
|
|
8
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _rafSchd = _interopRequireDefault(require("raf-schd"));
|
|
11
12
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _types = require("../types");
|
|
13
14
|
var _consts = require("../ui/consts");
|
|
@@ -49,8 +50,13 @@ var OverflowShadowsObserver = exports.OverflowShadowsObserver = /*#__PURE__*/fun
|
|
|
49
50
|
});
|
|
50
51
|
(0, _defineProperty2.default)(this, "observeShadowSentinels", function (isSticky) {
|
|
51
52
|
var _this$table, _this$table2;
|
|
53
|
+
if (_this.isSticky === isSticky) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
52
56
|
_this.isSticky = !!isSticky;
|
|
53
57
|
|
|
58
|
+
// reset height
|
|
59
|
+
_this.stickyRowHeight = 0;
|
|
54
60
|
// update sticky shadows
|
|
55
61
|
_this.updateStickyShadowsHeightIfChanged();
|
|
56
62
|
_this.leftShadowSentinel = (_this$table = _this.table) === null || _this$table === void 0 ? void 0 : _this$table.querySelector(".".concat(_types.TableCssClassName.TABLE_SHADOW_SENTINEL_LEFT));
|
|
@@ -67,8 +73,8 @@ var OverflowShadowsObserver = exports.OverflowShadowsObserver = /*#__PURE__*/fun
|
|
|
67
73
|
* e.g. bounds on an IntersectionObserverEntry, otherwise proceed with
|
|
68
74
|
* reading it from sticky cell
|
|
69
75
|
*/
|
|
70
|
-
(0, _defineProperty2.default)(this, "updateStickyShadows", function (stickyRowHeight) {
|
|
71
|
-
var _this$wrapper
|
|
76
|
+
(0, _defineProperty2.default)(this, "updateStickyShadows", (0, _rafSchd.default)(function (stickyRowHeight) {
|
|
77
|
+
var _this$wrapper;
|
|
72
78
|
if (!_this.isSticky) {
|
|
73
79
|
return;
|
|
74
80
|
}
|
|
@@ -76,14 +82,21 @@ var OverflowShadowsObserver = exports.OverflowShadowsObserver = /*#__PURE__*/fun
|
|
|
76
82
|
if (!stickyCell || !((_this$wrapper = _this.wrapper) !== null && _this$wrapper !== void 0 && _this$wrapper.parentElement)) {
|
|
77
83
|
return;
|
|
78
84
|
}
|
|
79
|
-
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
|
|
86
|
+
// Reflow Warning! - stickyCell.clientHeight
|
|
87
|
+
var newStickyRowHeight = stickyRowHeight || stickyCell.clientHeight + 1;
|
|
88
|
+
if (newStickyRowHeight !== _this.stickyRowHeight) {
|
|
89
|
+
var _this$wrapper2, _this$wrapper3;
|
|
90
|
+
_this.stickyRowHeight = newStickyRowHeight;
|
|
91
|
+
var heightStyleOrCompute = "".concat(newStickyRowHeight, "px");
|
|
92
|
+
// Use getElementsByClassName here for a live node list to capture
|
|
93
|
+
// sticky shadows
|
|
94
|
+
var liveRightShadows = (_this$wrapper2 = _this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.getElementsByClassName("".concat(_types.TableCssClassName.TABLE_RIGHT_SHADOW));
|
|
95
|
+
var liveLeftShadows = (_this$wrapper3 = _this.wrapper) === null || _this$wrapper3 === void 0 || (_this$wrapper3 = _this$wrapper3.parentElement) === null || _this$wrapper3 === void 0 ? void 0 : _this$wrapper3.getElementsByClassName("".concat(_types.TableCssClassName.TABLE_LEFT_SHADOW));
|
|
96
|
+
(0, _updateOverflowShadows.updateShadowListForStickyStyles)(heightStyleOrCompute, liveLeftShadows);
|
|
97
|
+
(0, _updateOverflowShadows.updateShadowListForStickyStyles)(heightStyleOrCompute, liveRightShadows);
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
87
100
|
this.updateShadowState = updateShadowState;
|
|
88
101
|
this.table = _table;
|
|
89
102
|
this.wrapper = wrapper;
|
|
@@ -99,11 +112,7 @@ var OverflowShadowsObserver = exports.OverflowShadowsObserver = /*#__PURE__*/fun
|
|
|
99
112
|
if (!stickyCell) {
|
|
100
113
|
return;
|
|
101
114
|
}
|
|
102
|
-
|
|
103
|
-
if (newStickyRowHeight === this.stickyRowHeight) {
|
|
104
|
-
this.stickyRowHeight = newStickyRowHeight;
|
|
105
|
-
this.updateStickyShadows(this.stickyRowHeight);
|
|
106
|
-
}
|
|
115
|
+
this.updateStickyShadows();
|
|
107
116
|
}
|
|
108
117
|
}, {
|
|
109
118
|
key: "getStickyCell",
|
|
@@ -11,9 +11,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
11
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _uuid = _interopRequireDefault(require("uuid"));
|
|
15
14
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
16
|
-
var _pluginFactory = require("../pm-plugins/plugin-factory");
|
|
17
15
|
var _TableNodeViewBase = _interopRequireDefault(require("./TableNodeViewBase"));
|
|
18
16
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
19
17
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
@@ -22,26 +20,10 @@ var DEFAULT_ROW_SPAN = 1;
|
|
|
22
20
|
var TableCell = exports.default = /*#__PURE__*/function (_ref) {
|
|
23
21
|
(0, _inherits2.default)(TableCell, _ref);
|
|
24
22
|
var _super = _createSuper(TableCell);
|
|
25
|
-
function TableCell(node, view, getPos, eventDispatcher
|
|
26
|
-
var _this;
|
|
23
|
+
function TableCell(node, view, getPos, eventDispatcher) {
|
|
27
24
|
(0, _classCallCheck2.default)(this, TableCell);
|
|
28
|
-
|
|
29
|
-
_this.observer = observer;
|
|
30
|
-
var _getPluginState = (0, _pluginFactory.getPluginState)(view.state),
|
|
31
|
-
pluginConfig = _getPluginState.pluginConfig,
|
|
32
|
-
isDragAndDropEnabled = _getPluginState.isDragAndDropEnabled;
|
|
33
|
-
_this.isStickyHeaderEnabled = !!pluginConfig.stickyHeaders;
|
|
34
|
-
_this.isDragAndDropEnabled = !!isDragAndDropEnabled;
|
|
35
|
-
if (observer) {
|
|
36
|
-
_this.contentDOM.id = (0, _uuid.default)();
|
|
37
|
-
observer.observe(_this.contentDOM);
|
|
38
|
-
}
|
|
39
|
-
return _this;
|
|
25
|
+
return _super.call(this, node, view, getPos, eventDispatcher);
|
|
40
26
|
}
|
|
41
|
-
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
|
|
44
|
-
// @ts-ignore
|
|
45
27
|
(0, _createClass2.default)(TableCell, [{
|
|
46
28
|
key: "update",
|
|
47
29
|
value: function update(node) {
|
|
@@ -51,17 +33,10 @@ var TableCell = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
51
33
|
}
|
|
52
34
|
return didUpdate;
|
|
53
35
|
}
|
|
54
|
-
}, {
|
|
55
|
-
key: "destroy",
|
|
56
|
-
value: function destroy() {
|
|
57
|
-
if (this.observer) {
|
|
58
|
-
this.observer.unobserve(this.contentDOM);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
36
|
}, {
|
|
62
37
|
key: "updateNodeView",
|
|
63
38
|
value: function updateNodeView(node) {
|
|
64
|
-
var
|
|
39
|
+
var _this = this;
|
|
65
40
|
if (this.node.type !== node.type) {
|
|
66
41
|
return false;
|
|
67
42
|
}
|
|
@@ -92,10 +67,10 @@ var TableCell = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
92
67
|
var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
|
|
93
68
|
key = _ref5[0],
|
|
94
69
|
value = _ref5[1];
|
|
95
|
-
return
|
|
70
|
+
return _this.dom.setAttribute(key, value || '');
|
|
96
71
|
});
|
|
97
72
|
removedAttrs.forEach(function (key) {
|
|
98
|
-
return
|
|
73
|
+
return _this.dom.removeAttribute(key);
|
|
99
74
|
});
|
|
100
75
|
return true;
|
|
101
76
|
}
|
|
@@ -43,6 +43,9 @@ var _ExternalDropTargets = require("./ExternalDropTargets");
|
|
|
43
43
|
var _OverflowShadowsObserver = require("./OverflowShadowsObserver");
|
|
44
44
|
var _TableContainer = require("./TableContainer");
|
|
45
45
|
var _TableStickyScrollbar = require("./TableStickyScrollbar");
|
|
46
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
47
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
48
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
46
49
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
47
50
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty3.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
51
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
@@ -52,6 +55,12 @@ var isIE11 = _utils.browser.ie_version === 11;
|
|
|
52
55
|
// componentDidUpdate is called multiple times. The isOverflowing value is correct only on the last update.
|
|
53
56
|
// To make sure we capture the last update, we use setTimeout.
|
|
54
57
|
var initialOverflowCaptureTimeroutDelay = 300;
|
|
58
|
+
|
|
59
|
+
// This is a hard switch for controlling whether the overflow analytics should be dispatched. There has been 6months of data
|
|
60
|
+
// already collected which we could use but have not. This has been disabled rather then removed entirely in the event that
|
|
61
|
+
// the current collected data becomes stale and we want to start collecting fresh data again in future.
|
|
62
|
+
// PLEASE NOTE: that the current way this alaytics has been configured WILL cause reflows to occur. This is why the has been disabled.
|
|
63
|
+
var isOverflowAnalyticsEnabled = false;
|
|
55
64
|
var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
56
65
|
(0, _inherits2.default)(TableComponent, _React$Component);
|
|
57
66
|
var _super = _createSuper(TableComponent);
|
|
@@ -63,7 +72,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
63
72
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "state", (_defineProperty2 = {
|
|
64
73
|
scroll: 0,
|
|
65
74
|
parentWidth: undefined
|
|
66
|
-
}, (0, _defineProperty3.default)(_defineProperty2, _types.ShadowEvent.SHOW_BEFORE_SHADOW, false), (0, _defineProperty3.default)(_defineProperty2, _types.ShadowEvent.SHOW_AFTER_SHADOW, false), _defineProperty2));
|
|
75
|
+
}, (0, _defineProperty3.default)(_defineProperty2, _types.ShadowEvent.SHOW_BEFORE_SHADOW, false), (0, _defineProperty3.default)(_defineProperty2, _types.ShadowEvent.SHOW_AFTER_SHADOW, false), (0, _defineProperty3.default)(_defineProperty2, "tableWrapperWidth", undefined), (0, _defineProperty3.default)(_defineProperty2, "tableWrapperHeight", undefined), _defineProperty2));
|
|
67
76
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "updateShadowState", function (shadowKey, value) {
|
|
68
77
|
if (_this.state[shadowKey] === value) {
|
|
69
78
|
return;
|
|
@@ -295,6 +304,29 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
295
304
|
_this.layoutSize = _this.tableNodeLayoutSize(_this.node, _containerWidth.width, {
|
|
296
305
|
isFullWidthModeEnabled: isFullWidthModeEnabled
|
|
297
306
|
});
|
|
307
|
+
_this.resizeObserver = new ResizeObserver(function (entries) {
|
|
308
|
+
var _iterator = _createForOfIteratorHelper(entries),
|
|
309
|
+
_step;
|
|
310
|
+
try {
|
|
311
|
+
var _loop = function _loop() {
|
|
312
|
+
var entry = _step.value;
|
|
313
|
+
_this.setState(function (prev) {
|
|
314
|
+
var _entry$contentRect, _entry$contentRect2;
|
|
315
|
+
return (prev === null || prev === void 0 ? void 0 : prev.tableWrapperWidth) === ((_entry$contentRect = entry.contentRect) === null || _entry$contentRect === void 0 ? void 0 : _entry$contentRect.width) && (prev === null || prev === void 0 ? void 0 : prev.tableWrapperHeight) === ((_entry$contentRect2 = entry.contentRect) === null || _entry$contentRect2 === void 0 ? void 0 : _entry$contentRect2.height) ? prev : _objectSpread(_objectSpread({}, prev), {}, {
|
|
316
|
+
tableWrapperWidth: entry.contentRect.width,
|
|
317
|
+
tableWrapperHeight: entry.contentRect.height
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
};
|
|
321
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
322
|
+
_loop();
|
|
323
|
+
}
|
|
324
|
+
} catch (err) {
|
|
325
|
+
_iterator.e(err);
|
|
326
|
+
} finally {
|
|
327
|
+
_iterator.f();
|
|
328
|
+
}
|
|
329
|
+
});
|
|
298
330
|
|
|
299
331
|
// Disable inline table editing and resizing controls in Firefox
|
|
300
332
|
// https://github.com/ProseMirror/prosemirror/issues/432
|
|
@@ -354,12 +386,15 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
354
386
|
this.onStickyState(currentStickyState);
|
|
355
387
|
}
|
|
356
388
|
eventDispatcher.on(_stickyHeaders.pluginKey.key, this.onStickyState);
|
|
357
|
-
|
|
358
|
-
|
|
389
|
+
if (isOverflowAnalyticsEnabled) {
|
|
390
|
+
var initialIsOveflowing = this.state[_types.ShadowEvent.SHOW_BEFORE_SHADOW] || this.state[_types.ShadowEvent.SHOW_AFTER_SHADOW];
|
|
391
|
+
this.setTimerToSendInitialOverflowCaptured(initialIsOveflowing);
|
|
392
|
+
}
|
|
359
393
|
}
|
|
360
394
|
}, {
|
|
361
395
|
key: "componentWillUnmount",
|
|
362
396
|
value: function componentWillUnmount() {
|
|
397
|
+
var _this$resizeObserver;
|
|
363
398
|
var _this$props8 = this.props,
|
|
364
399
|
allowColumnResizing = _this$props8.allowColumnResizing,
|
|
365
400
|
eventDispatcher = _this$props8.eventDispatcher,
|
|
@@ -372,6 +407,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
372
407
|
if (isDragAndDropEnabled && this.dragAndDropCleanupFn) {
|
|
373
408
|
this.dragAndDropCleanupFn();
|
|
374
409
|
}
|
|
410
|
+
(_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.disconnect();
|
|
375
411
|
var _getEditorFeatureFlag2 = getEditorFeatureFlags(),
|
|
376
412
|
stickyScrollbar = _getEditorFeatureFlag2.stickyScrollbar;
|
|
377
413
|
if (stickyScrollbar) {
|
|
@@ -500,26 +536,36 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
500
536
|
}
|
|
501
537
|
this.handleTableResizingDebounced();
|
|
502
538
|
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
539
|
+
if (isOverflowAnalyticsEnabled) {
|
|
540
|
+
var newIsOverflowing = this.state[_types.ShadowEvent.SHOW_BEFORE_SHADOW] || this.state[_types.ShadowEvent.SHOW_AFTER_SHADOW];
|
|
541
|
+
var prevIsOverflowing = prevState[_types.ShadowEvent.SHOW_BEFORE_SHADOW] || prevState[_types.ShadowEvent.SHOW_AFTER_SHADOW];
|
|
542
|
+
if (this.initialOverflowCaptureTimerId) {
|
|
543
|
+
clearTimeout(this.initialOverflowCaptureTimerId);
|
|
544
|
+
}
|
|
545
|
+
if (!this.isInitialOverflowSent) {
|
|
546
|
+
this.setTimerToSendInitialOverflowCaptured(newIsOverflowing);
|
|
547
|
+
}
|
|
548
|
+
if (this.isInitialOverflowSent && prevIsOverflowing !== newIsOverflowing) {
|
|
549
|
+
var _this$state2;
|
|
550
|
+
var _this$props$view = this.props.view,
|
|
551
|
+
dispatch = _this$props$view.dispatch,
|
|
552
|
+
tr = _this$props$view.state.tr;
|
|
553
|
+
dispatch(tr.setMeta(_tableAnalytics.META_KEYS.OVERFLOW_STATE_CHANGED, {
|
|
554
|
+
isOverflowing: newIsOverflowing,
|
|
555
|
+
wasOverflowing: prevIsOverflowing,
|
|
556
|
+
editorWidth: this.props.containerWidth.width || 0,
|
|
557
|
+
width: this.node.attrs.width || 0,
|
|
558
|
+
parentWidth: ((_this$state2 = this.state) === null || _this$state2 === void 0 ? void 0 : _this$state2.parentWidth) || 0
|
|
559
|
+
}));
|
|
560
|
+
}
|
|
507
561
|
}
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
var _this$
|
|
514
|
-
|
|
515
|
-
tr = _this$props$view.state.tr;
|
|
516
|
-
dispatch(tr.setMeta(_tableAnalytics.META_KEYS.OVERFLOW_STATE_CHANGED, {
|
|
517
|
-
isOverflowing: newIsOverflowing,
|
|
518
|
-
wasOverflowing: prevIsOverflowing,
|
|
519
|
-
editorWidth: this.props.containerWidth.width || 0,
|
|
520
|
-
width: this.node.attrs.width || 0,
|
|
521
|
-
parentWidth: ((_this$state2 = this.state) === null || _this$state2 === void 0 ? void 0 : _this$state2.parentWidth) || 0
|
|
522
|
-
}));
|
|
562
|
+
}
|
|
563
|
+
}, {
|
|
564
|
+
key: "observeTable",
|
|
565
|
+
value: function observeTable(table) {
|
|
566
|
+
if (table) {
|
|
567
|
+
var _this$resizeObserver2;
|
|
568
|
+
(_this$resizeObserver2 = this.resizeObserver) === null || _this$resizeObserver2 === void 0 || _this$resizeObserver2.observe(table);
|
|
523
569
|
}
|
|
524
570
|
}
|
|
525
571
|
}, {
|
|
@@ -577,7 +623,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
577
623
|
,
|
|
578
624
|
selection: view.state.selection,
|
|
579
625
|
headerRowHeight: headerRow ? headerRow.offsetHeight : undefined,
|
|
580
|
-
stickyHeader: this.state.stickyHeader
|
|
626
|
+
stickyHeader: this.state.stickyHeader,
|
|
627
|
+
tableWrapperWidth: this.state.tableWrapperWidth
|
|
581
628
|
});
|
|
582
629
|
var tableContainerWidth = (0, _nodeWidth.getTableContainerWidth)(node);
|
|
583
630
|
var colControls = isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_TableFloatingColumnControls.default, {
|
|
@@ -603,7 +650,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
603
650
|
getScrollOffset: function getScrollOffset() {
|
|
604
651
|
var _this3$wrapper;
|
|
605
652
|
return ((_this3$wrapper = _this3.wrapper) === null || _this3$wrapper === void 0 ? void 0 : _this3$wrapper.scrollLeft) || 0;
|
|
606
|
-
}
|
|
653
|
+
},
|
|
654
|
+
tableWrapperHeight: this.state.tableWrapperHeight
|
|
607
655
|
}) : null;
|
|
608
656
|
var shadowPadding = allowControls && tableActive ? -_editorSharedStyles.akEditorTableToolbarSize : _styles.tableMarginSides;
|
|
609
657
|
var shadowStyle = (0, _memoizeOne.default)(function (visible) {
|
|
@@ -637,6 +685,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
637
685
|
isBreakoutEnabled: options === null || options === void 0 ? void 0 : options.isBreakoutEnabled,
|
|
638
686
|
isNested: isNested,
|
|
639
687
|
pluginInjectionApi: pluginInjectionApi,
|
|
688
|
+
tableWrapperHeight: this.state.tableWrapperHeight,
|
|
640
689
|
isTableResizingEnabled: options === null || options === void 0 ? void 0 : options.isTableResizingEnabled,
|
|
641
690
|
isResizing: isResizing,
|
|
642
691
|
isTableScalingEnabled: isTableScalingEnabled
|
|
@@ -677,6 +726,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
677
726
|
if (tableElement !== _this3.table) {
|
|
678
727
|
_this3.table = tableElement;
|
|
679
728
|
_this3.createShadowSentinels(_this3.table);
|
|
729
|
+
_this3.observeTable(_this3.table);
|
|
680
730
|
}
|
|
681
731
|
}
|
|
682
732
|
}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.TableContainer = exports.ResizableTableContainer = exports.InnerContainer = void 0;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
13
|
var _nodeWidth = require("@atlaskit/editor-common/node-width");
|
|
@@ -54,9 +55,14 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
54
55
|
tableRef = _ref2.tableRef,
|
|
55
56
|
isResizing = _ref2.isResizing,
|
|
56
57
|
pluginInjectionApi = _ref2.pluginInjectionApi,
|
|
57
|
-
isTableScalingEnabled = _ref2.isTableScalingEnabled
|
|
58
|
+
isTableScalingEnabled = _ref2.isTableScalingEnabled,
|
|
59
|
+
tableWrapperHeight = _ref2.tableWrapperHeight;
|
|
58
60
|
var containerRef = (0, _react.useRef)(null);
|
|
59
61
|
var tableWidthRef = (0, _react.useRef)(_editorSharedStyles.akEditorDefaultLayoutWidth);
|
|
62
|
+
var _useState = (0, _react.useState)(false),
|
|
63
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
64
|
+
resizing = _useState2[0],
|
|
65
|
+
setIsResizing = _useState2[1];
|
|
60
66
|
var updateContainerHeight = (0, _react.useCallback)(function (height) {
|
|
61
67
|
var _containerRef$current;
|
|
62
68
|
// current StickyHeader State is not stable to be fetch.
|
|
@@ -64,31 +70,24 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
64
70
|
// consistently fetch and refactor below
|
|
65
71
|
var stickyHeaders = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.getElementsByClassName('pm-table-sticky');
|
|
66
72
|
if (!stickyHeaders || stickyHeaders.length < 1) {
|
|
67
|
-
var _containerRef$current2;
|
|
68
73
|
// when starting to drag, we need to keep the original space,
|
|
69
74
|
// -- When sticky header not appear, margin top(24px) and margin bottom(16px), should be 40px,
|
|
70
75
|
// 1px is border width but collapse make it 0.5.
|
|
71
76
|
// -- When sticky header appear, we should add first row height but reduce
|
|
72
77
|
// collapsed border
|
|
73
|
-
|
|
78
|
+
return typeof height === 'number' ? "".concat(height + 40.5, "px") : 'auto';
|
|
74
79
|
} else {
|
|
75
|
-
var _containerRef$
|
|
76
|
-
var stickyHeaderHeight = ((_containerRef$
|
|
77
|
-
|
|
80
|
+
var _containerRef$current2;
|
|
81
|
+
var stickyHeaderHeight = ((_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.getElementsByTagName('th')[0].getBoundingClientRect().height) || 0;
|
|
82
|
+
return typeof height === 'number' ? "".concat(height + stickyHeaderHeight + 39.5, "px") : 'auto';
|
|
78
83
|
}
|
|
79
84
|
}, []);
|
|
80
|
-
var resizeObserverRef = (0, _react.useRef)(new ResizeObserver(function (entries) {
|
|
81
|
-
updateContainerHeight(entries[entries.length - 1].contentRect.height);
|
|
82
|
-
}));
|
|
83
85
|
var onResizeStart = (0, _react.useCallback)(function () {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
}, [tableRef]);
|
|
86
|
+
setIsResizing(true);
|
|
87
|
+
}, []);
|
|
88
88
|
var onResizeStop = (0, _react.useCallback)(function () {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}, [updateContainerHeight]);
|
|
89
|
+
setIsResizing(false);
|
|
90
|
+
}, []);
|
|
92
91
|
var updateWidth = (0, _react.useCallback)(function (width) {
|
|
93
92
|
if (!containerRef.current) {
|
|
94
93
|
return;
|
|
@@ -151,7 +150,8 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
151
150
|
}
|
|
152
151
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
153
152
|
style: {
|
|
154
|
-
width: tableWidthRef.current
|
|
153
|
+
width: tableWidthRef.current,
|
|
154
|
+
height: resizing ? updateContainerHeight(tableWrapperHeight !== null && tableWrapperHeight !== void 0 ? tableWrapperHeight : 'auto') : 'auto'
|
|
155
155
|
},
|
|
156
156
|
className: _types.TableCssClassName.TABLE_RESIZER_CONTAINER,
|
|
157
157
|
ref: containerRef
|
|
@@ -173,6 +173,7 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref3) {
|
|
|
173
173
|
getPos = _ref3.getPos,
|
|
174
174
|
tableRef = _ref3.tableRef,
|
|
175
175
|
isNested = _ref3.isNested,
|
|
176
|
+
tableWrapperHeight = _ref3.tableWrapperHeight,
|
|
176
177
|
isResizing = _ref3.isResizing,
|
|
177
178
|
pluginInjectionApi = _ref3.pluginInjectionApi,
|
|
178
179
|
isTableScalingEnabled = _ref3.isTableScalingEnabled;
|
|
@@ -184,6 +185,7 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref3) {
|
|
|
184
185
|
editorView: editorView,
|
|
185
186
|
getPos: getPos,
|
|
186
187
|
tableRef: tableRef,
|
|
188
|
+
tableWrapperHeight: tableWrapperHeight,
|
|
187
189
|
isResizing: isResizing,
|
|
188
190
|
pluginInjectionApi: pluginInjectionApi,
|
|
189
191
|
isTableScalingEnabled: isTableScalingEnabled
|
|
@@ -65,7 +65,7 @@ var getResizerHandleHeight = function getResizerHandleHeight(tableRef) {
|
|
|
65
65
|
};
|
|
66
66
|
var getResizerMinWidth = function getResizerMinWidth(node) {
|
|
67
67
|
var currentColumnCount = (0, _utils3.getColgroupChildrenLength)(node);
|
|
68
|
-
var minColumnWidth =
|
|
68
|
+
var minColumnWidth = Math.min(3, currentColumnCount) * _utils3.COLUMN_MIN_WIDTH;
|
|
69
69
|
// add an extra pixel as the scale table logic will scale columns to be tableContainerWidth - 1
|
|
70
70
|
// the table can't scale past its min-width, so instead restrict table container min width to avoid that situation
|
|
71
71
|
return minColumnWidth + 1;
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -57,11 +57,10 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
57
57
|
current: null
|
|
58
58
|
};
|
|
59
59
|
var defaultGetEditorContainerWidth = function defaultGetEditorContainerWidth() {
|
|
60
|
-
var
|
|
61
|
-
|
|
60
|
+
var _api$width$sharedStat, _api$width, _document$body$offset, _document;
|
|
61
|
+
return (_api$width$sharedStat = api === null || api === void 0 || (_api$width = api.width) === null || _api$width === void 0 ? void 0 : _api$width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : {
|
|
62
62
|
width: (_document$body$offset = (_document = document) === null || _document === void 0 || (_document = _document.body) === null || _document === void 0 ? void 0 : _document.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 500
|
|
63
63
|
};
|
|
64
|
-
return (_api$width$sharedStat = api === null || api === void 0 || (_api$width = api.width) === null || _api$width === void 0 ? void 0 : _api$width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : defaultState;
|
|
65
64
|
};
|
|
66
65
|
var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
|
|
67
66
|
return {
|
|
@@ -33,7 +33,6 @@ var _pluginKey = require("./plugin-key");
|
|
|
33
33
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
34
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35
35
|
var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, getIntl, breakoutEnabled, tableResizingEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, dragAndDropEnabled, editorAnalyticsAPI, pluginInjectionApi, isTableScalingEnabled) {
|
|
36
|
-
var _window;
|
|
37
36
|
var state = (0, _pluginFactory.createPluginState)(dispatch, _objectSpread(_objectSpread(_objectSpread({
|
|
38
37
|
pluginConfig: pluginConfig,
|
|
39
38
|
isTableHovered: false,
|
|
@@ -50,15 +49,6 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
|
|
|
50
49
|
}, _defaultTableSelection.defaultHoveredCell), _defaultTableSelection.defaultTableSelection), {}, {
|
|
51
50
|
getIntl: getIntl
|
|
52
51
|
}));
|
|
53
|
-
var elementContentRects = {};
|
|
54
|
-
var observer = (_window = window) !== null && _window !== void 0 && _window.ResizeObserver ? new ResizeObserver(function (entries) {
|
|
55
|
-
entries.forEach(function (entry) {
|
|
56
|
-
if (!entry.target.id) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
elementContentRects[entry.target.id] = entry.contentRect;
|
|
60
|
-
});
|
|
61
|
-
}) : undefined;
|
|
62
52
|
|
|
63
53
|
// Used to prevent invalid table cell spans being reported more than once per editor/document
|
|
64
54
|
var invalidTableIds = [];
|
|
@@ -161,11 +151,6 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
|
|
|
161
151
|
} else if (pluginState.isResizeHandleWidgetAdded) {
|
|
162
152
|
(0, _misc.removeResizeHandleDecorations)()(state, dispatch);
|
|
163
153
|
}
|
|
164
|
-
},
|
|
165
|
-
destroy: function destroy() {
|
|
166
|
-
if (observer) {
|
|
167
|
-
observer.disconnect();
|
|
168
|
-
}
|
|
169
154
|
}
|
|
170
155
|
};
|
|
171
156
|
},
|
|
@@ -271,10 +256,10 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
|
|
|
271
256
|
return new _TableRow.default(node, view, getPos, eventDispatcher);
|
|
272
257
|
},
|
|
273
258
|
tableCell: function tableCell(node, view, getPos) {
|
|
274
|
-
return new _TableCell.default(node, view, getPos, eventDispatcher
|
|
259
|
+
return new _TableCell.default(node, view, getPos, eventDispatcher);
|
|
275
260
|
},
|
|
276
261
|
tableHeader: function tableHeader(node, view, getPos) {
|
|
277
|
-
return new _TableCell.default(node, view, getPos, eventDispatcher
|
|
262
|
+
return new _TableCell.default(node, view, getPos, eventDispatcher);
|
|
278
263
|
}
|
|
279
264
|
},
|
|
280
265
|
handleDOMEvents: {
|
|
@@ -284,7 +269,7 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
|
|
|
284
269
|
mouseover: (0, _eventHandlers.withCellTracking)((0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseOver)),
|
|
285
270
|
mouseleave: _eventHandlers.handleMouseLeave,
|
|
286
271
|
mouseout: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseOut),
|
|
287
|
-
mousemove: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseMove
|
|
272
|
+
mousemove: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseMove),
|
|
288
273
|
mouseenter: _eventHandlers.handleMouseEnter,
|
|
289
274
|
mouseup: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseUp),
|
|
290
275
|
click: (0, _eventHandlers.withCellTracking)((0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleClick))
|