@atlaskit/editor-plugin-table 7.9.0 → 7.10.1
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 +12 -0
- package/dist/cjs/commands/column-resize.js +25 -7
- package/dist/cjs/nodeviews/TableComponent.js +11 -3
- package/dist/cjs/nodeviews/TableRow.js +1 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +4 -4
- package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +1 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +5 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +9 -7
- package/dist/cjs/transforms/column-width.js +3 -1
- package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +19 -6
- package/dist/cjs/utils/index.js +12 -0
- package/dist/cjs/utils/nodes.js +6 -1
- package/dist/cjs/utils/table.js +34 -1
- package/dist/es2019/commands/column-resize.js +25 -7
- package/dist/es2019/nodeviews/TableComponent.js +12 -4
- package/dist/es2019/nodeviews/TableRow.js +1 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +4 -4
- package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +1 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +5 -3
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +9 -7
- package/dist/es2019/transforms/column-width.js +3 -1
- package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +19 -6
- package/dist/es2019/utils/index.js +2 -2
- package/dist/es2019/utils/nodes.js +5 -0
- package/dist/es2019/utils/table.js +36 -1
- package/dist/esm/commands/column-resize.js +25 -7
- package/dist/esm/nodeviews/TableComponent.js +12 -4
- package/dist/esm/nodeviews/TableRow.js +1 -1
- package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +4 -4
- package/dist/esm/pm-plugins/table-resizing/utils/misc.js +1 -1
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +5 -3
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +9 -7
- package/dist/esm/transforms/column-width.js +3 -1
- package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +19 -6
- package/dist/esm/utils/index.js +2 -2
- package/dist/esm/utils/nodes.js +5 -0
- package/dist/esm/utils/table.js +33 -0
- package/dist/types/commands/column-resize.d.ts +5 -4
- package/dist/types/nodeviews/TableComponent.d.ts +6 -54
- package/dist/types/plugin.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -2
- package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +16 -20
- package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +32 -40
- package/dist/types/ui/TableFloatingControls/index.d.ts +16 -20
- package/dist/types/utils/index.d.ts +2 -2
- package/dist/types/utils/nodes.d.ts +1 -0
- package/dist/types/utils/table.d.ts +3 -0
- package/dist/types-ts4.5/commands/column-resize.d.ts +5 -4
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +6 -54
- package/dist/types-ts4.5/plugin.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -2
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +16 -20
- package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +32 -40
- package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +16 -20
- package/dist/types-ts4.5/utils/index.d.ts +2 -2
- package/dist/types-ts4.5/utils/nodes.d.ts +1 -0
- package/dist/types-ts4.5/utils/table.d.ts +3 -0
- package/package.json +4 -1
- package/src/commands/column-resize.ts +42 -11
- package/src/nodeviews/TableComponent.tsx +21 -6
- package/src/nodeviews/TableRow.ts +2 -2
- package/src/plugin.tsx +1 -1
- package/src/pm-plugins/table-resizing/utils/colgroup.ts +5 -5
- package/src/pm-plugins/table-resizing/utils/misc.ts +2 -2
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +7 -5
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +16 -10
- package/src/transforms/column-width.ts +10 -2
- package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +28 -11
- package/src/utils/index.ts +2 -1
- package/src/utils/nodes.ts +10 -0
- package/src/utils/table.ts +36 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 7.10.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#92552](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/92552) [`7cd874b858c8`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7cd874b858c8) - Check target elements are actually HTMLElement rather than typecasting.
|
|
8
|
+
|
|
9
|
+
## 7.10.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#85498](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/85498) [`ae3b8e85ce49`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ae3b8e85ce49) - [ux] [ECA11Y-17] Added screen reader announcement for insertion and removal of table columns and rows
|
|
14
|
+
|
|
3
15
|
## 7.9.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -78,7 +78,9 @@ var initiateKeyboardColumnResizing = exports.initiateKeyboardColumnResizing = fu
|
|
|
78
78
|
var selectionRect = (0, _utils.isSelectionType)(selection, 'cell') ? (0, _utils.getSelectionRect)(selection) : (0, _utils.findCellRectClosestToPos)(selection.$from);
|
|
79
79
|
var cell = (0, _utils.findCellClosestToPos)(selection.$from);
|
|
80
80
|
if (ariaNotify && getIntl) {
|
|
81
|
-
ariaNotify(getIntl().formatMessage(_messages.tableMessages.startedColumnResize)
|
|
81
|
+
ariaNotify(getIntl().formatMessage(_messages.tableMessages.startedColumnResize), {
|
|
82
|
+
priority: 'important'
|
|
83
|
+
});
|
|
82
84
|
}
|
|
83
85
|
if (selectionRect && cell && view) {
|
|
84
86
|
return updateResizeHandleAndStatePosition(selectionRect.top, selectionRect.right, cell.pos)(state, dispatch);
|
|
@@ -122,12 +124,16 @@ var activateNextResizeArea = exports.activateNextResizeArea = function activateN
|
|
|
122
124
|
if (direction === 1) {
|
|
123
125
|
ariaNotify(getIntl().formatMessage(_messages.tableMessages.focusedOtherResize, {
|
|
124
126
|
direction: 'right'
|
|
125
|
-
})
|
|
127
|
+
}), {
|
|
128
|
+
priority: 'important'
|
|
129
|
+
});
|
|
126
130
|
}
|
|
127
131
|
if (direction === -1) {
|
|
128
132
|
ariaNotify(getIntl().formatMessage(_messages.tableMessages.focusedOtherResize, {
|
|
129
133
|
direction: 'left'
|
|
130
|
-
})
|
|
134
|
+
}), {
|
|
135
|
+
priority: 'important'
|
|
136
|
+
});
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
139
|
if ($nextCell) {
|
|
@@ -176,7 +182,13 @@ var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeC
|
|
|
176
182
|
var map = _editorTables.TableMap.get(originalTable);
|
|
177
183
|
var domAtPos = view.domAtPos.bind(view);
|
|
178
184
|
var colIndex = map.colCount($cell.pos - tableStartPosition) + ($cell.nodeAfter ? $cell.nodeAfter.attrs.colspan : 1) - 1;
|
|
179
|
-
var dom =
|
|
185
|
+
var dom = null;
|
|
186
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.explicit-html-element-check')) {
|
|
187
|
+
var domAtPosition = domAtPos(tableStartPosition);
|
|
188
|
+
dom = domAtPosition.node instanceof HTMLTableElement ? domAtPosition.node : null;
|
|
189
|
+
} else {
|
|
190
|
+
dom = domAtPos(tableStartPosition).node;
|
|
191
|
+
}
|
|
180
192
|
if (dom && dom.nodeName !== 'TABLE') {
|
|
181
193
|
dom = dom.closest('table');
|
|
182
194
|
}
|
|
@@ -223,10 +235,14 @@ var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeC
|
|
|
223
235
|
}));
|
|
224
236
|
if (newResizeState.cols.length === colIndex + 1) {
|
|
225
237
|
if (newResizeState.overflow === true) {
|
|
226
|
-
ariaNotify(getIntl().formatMessage(_messages.tableMessages.columnResizeLast)
|
|
238
|
+
ariaNotify(getIntl().formatMessage(_messages.tableMessages.columnResizeLast), {
|
|
239
|
+
priority: 'important'
|
|
240
|
+
});
|
|
227
241
|
}
|
|
228
242
|
if (newResizeState.overflow === false) {
|
|
229
|
-
ariaNotify(getIntl().formatMessage(_messages.tableMessages.columnResizeOverflow)
|
|
243
|
+
ariaNotify(getIntl().formatMessage(_messages.tableMessages.columnResizeOverflow), {
|
|
244
|
+
priority: 'important'
|
|
245
|
+
});
|
|
230
246
|
}
|
|
231
247
|
}
|
|
232
248
|
}
|
|
@@ -262,7 +278,9 @@ var stopKeyboardColumnResizing = exports.stopKeyboardColumnResizing = function s
|
|
|
262
278
|
return customTr.setMeta('scrollIntoView', false);
|
|
263
279
|
})(state, fakeDispatch);
|
|
264
280
|
if (ariaNotify && getIntl) {
|
|
265
|
-
ariaNotify(getIntl().formatMessage(_messages.tableMessages.columnResizeStop)
|
|
281
|
+
ariaNotify(getIntl().formatMessage(_messages.tableMessages.columnResizeStop), {
|
|
282
|
+
priority: 'important'
|
|
283
|
+
});
|
|
266
284
|
}
|
|
267
285
|
if (dispatch) {
|
|
268
286
|
dispatch(customTr);
|
|
@@ -17,6 +17,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
18
18
|
var _memoizeOne = _interopRequireDefault(require("memoize-one"));
|
|
19
19
|
var _rafSchd = _interopRequireDefault(require("raf-schd"));
|
|
20
|
+
var _reactIntlNext = require("react-intl-next");
|
|
20
21
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
21
22
|
var _nodeWidth = require("@atlaskit/editor-common/node-width");
|
|
22
23
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
@@ -522,6 +523,15 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
522
523
|
this.overflowShadowsObserver.observeShadowSentinels((_this$state$stickyHea = this.state.stickyHeader) === null || _this$state$stickyHea === void 0 ? void 0 : _this$state$stickyHea.sticky);
|
|
523
524
|
}
|
|
524
525
|
var currentTable = getNode();
|
|
526
|
+
var previousTable = this.node;
|
|
527
|
+
var isNoOfColumnsChanged = (0, _utils5.tablesHaveDifferentNoOfColumns)(currentTable, previousTable);
|
|
528
|
+
var isNoOfRowsChanged = (0, _utils5.tablesHaveDifferentNoOfRows)(currentTable, previousTable);
|
|
529
|
+
if (isNoOfColumnsChanged || isNoOfRowsChanged) {
|
|
530
|
+
var _this$props$pluginInj;
|
|
531
|
+
(_this$props$pluginInj = this.props.pluginInjectionApi) === null || _this$props$pluginInj === void 0 || (_this$props$pluginInj = _this$props$pluginInj.accessibilityUtils) === null || _this$props$pluginInj === void 0 || _this$props$pluginInj.actions.ariaNotify((0, _utils5.getAssistiveMessage)(previousTable, currentTable, this.props.intl), {
|
|
532
|
+
priority: 'important'
|
|
533
|
+
});
|
|
534
|
+
}
|
|
525
535
|
if (currentTable.attrs.__autoSize) {
|
|
526
536
|
// Wait for next tick to handle auto sizing, gives the browser time to do layout calc etc.
|
|
527
537
|
this.handleAutoSizeDebounced();
|
|
@@ -531,8 +541,6 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
531
541
|
else if (allowColumnResizing && this.table && !isMediaFullscreen) {
|
|
532
542
|
// If col widths (e.g. via collab) or number of columns (e.g. delete a column) have changed,
|
|
533
543
|
// re-draw colgroup.
|
|
534
|
-
var previousTable = this.node;
|
|
535
|
-
var isNoOfColumnsChanged = (0, _utils5.tablesHaveDifferentNoOfColumns)(currentTable, previousTable);
|
|
536
544
|
if ((0, _utils5.tablesHaveDifferentColumnWidths)(currentTable, previousTable) || isNoOfColumnsChanged) {
|
|
537
545
|
var _view = this.props.view;
|
|
538
546
|
var shouldRecreateResizeCols = !(options !== null && options !== void 0 && options.isTableResizingEnabled) || !isResizing || isNoOfColumnsChanged && isResizing;
|
|
@@ -793,4 +801,4 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
793
801
|
return TableComponent;
|
|
794
802
|
}(_react.default.Component);
|
|
795
803
|
(0, _defineProperty3.default)(TableComponent, "displayName", 'TableComponent');
|
|
796
|
-
var _default = exports.default = TableComponent;
|
|
804
|
+
var _default = exports.default = (0, _reactIntlNext.injectIntl)(TableComponent);
|
|
@@ -403,7 +403,7 @@ var TableRow = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
403
403
|
this.focused = isCurrentTableSelected;
|
|
404
404
|
var wrapper = tree.wrapper;
|
|
405
405
|
var tableContainer = wrapper.parentElement;
|
|
406
|
-
var tableContentWrapper = tableContainer.parentElement;
|
|
406
|
+
var tableContentWrapper = tableContainer === null || tableContainer === void 0 ? void 0 : tableContainer.parentElement;
|
|
407
407
|
var layoutContainer = tableContentWrapper && tableContentWrapper.parentElement;
|
|
408
408
|
if (isCurrentTableSelected) {
|
|
409
409
|
this.colControlsOffset = _consts.tableControlsSpacing;
|
|
@@ -63,13 +63,13 @@ var generateColgroup = exports.generateColgroup = function generateColgroup(tabl
|
|
|
63
63
|
var insertColgroupFromNode = exports.insertColgroupFromNode = function insertColgroupFromNode(tableRef, table) {
|
|
64
64
|
var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
65
65
|
var shouldRemove = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
66
|
-
var colgroup = tableRef.querySelector('colgroup');
|
|
66
|
+
var colgroup = tableRef === null || tableRef === void 0 ? void 0 : tableRef.querySelector('colgroup');
|
|
67
67
|
if (colgroup && shouldRemove) {
|
|
68
|
-
tableRef.removeChild(colgroup);
|
|
68
|
+
tableRef === null || tableRef === void 0 || tableRef.removeChild(colgroup);
|
|
69
69
|
}
|
|
70
|
-
colgroup = renderColgroupFromNode(table, isTableScalingEnabled ? tableRef : undefined);
|
|
70
|
+
colgroup = renderColgroupFromNode(table, isTableScalingEnabled ? tableRef !== null && tableRef !== void 0 ? tableRef : undefined : undefined);
|
|
71
71
|
if (shouldRemove) {
|
|
72
|
-
tableRef.insertBefore(colgroup, tableRef.firstChild);
|
|
72
|
+
tableRef === null || tableRef === void 0 || tableRef.insertBefore(colgroup, tableRef === null || tableRef === void 0 ? void 0 : tableRef.firstChild);
|
|
73
73
|
}
|
|
74
74
|
return colgroup.children;
|
|
75
75
|
};
|
|
@@ -103,7 +103,7 @@ var getTableContainerElementWidth = exports.getTableContainerElementWidth = func
|
|
|
103
103
|
var getTableScalingPercent = exports.getTableScalingPercent = function getTableScalingPercent(table, tableRef) {
|
|
104
104
|
var _tableRef$parentEleme;
|
|
105
105
|
var tableWidth = getTableContainerElementWidth(table);
|
|
106
|
-
var renderWidth = ((_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || tableWidth;
|
|
106
|
+
var renderWidth = (tableRef === null || tableRef === void 0 || (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || tableWidth;
|
|
107
107
|
// minus 1 here to avoid any 1px scroll in Firefox
|
|
108
108
|
var scalePercent = (renderWidth - 1) / tableWidth;
|
|
109
109
|
scalePercent = Math.max(scalePercent, 1 - _consts.MAX_SCALING_PERCENT);
|
|
@@ -22,7 +22,7 @@ var resizeColumn = exports.resizeColumn = function resizeColumn(resizeState, col
|
|
|
22
22
|
var _tableRef$closest;
|
|
23
23
|
// when table initially not overflow, but enter overflow, we need to calculate the resize amount by two part, before and after overflow, before overflow should be double, after should not be double.
|
|
24
24
|
var tableWidth = tableRef === null || tableRef === void 0 ? void 0 : tableRef.clientWidth;
|
|
25
|
-
var tableContainerWidth = (_tableRef$closest = tableRef.closest('.resizer-item')) === null || _tableRef$closest === void 0 ? void 0 : _tableRef$closest.clientWidth;
|
|
25
|
+
var tableContainerWidth = tableRef === null || tableRef === void 0 || (_tableRef$closest = tableRef.closest('.resizer-item')) === null || _tableRef$closest === void 0 ? void 0 : _tableRef$closest.clientWidth;
|
|
26
26
|
var isOverflowed = !!(tableWidth && tableContainerWidth && tableWidth > tableContainerWidth);
|
|
27
27
|
resizeAmount = amount * 2;
|
|
28
28
|
if (isOverflowed) {
|
|
@@ -53,11 +53,13 @@ var resizeColumn = exports.resizeColumn = function resizeColumn(resizeState, col
|
|
|
53
53
|
};
|
|
54
54
|
var updateTable = function updateTable(resizeAmount, tableRef, tableNode) {
|
|
55
55
|
var currentWidth = (0, _misc.getTableContainerElementWidth)(tableNode);
|
|
56
|
-
var resizingContainer = tableRef.closest(".".concat(_types.TableCssClassName.TABLE_RESIZER_CONTAINER));
|
|
56
|
+
var resizingContainer = tableRef === null || tableRef === void 0 ? void 0 : tableRef.closest(".".concat(_types.TableCssClassName.TABLE_RESIZER_CONTAINER));
|
|
57
57
|
var resizingItem = resizingContainer === null || resizingContainer === void 0 ? void 0 : resizingContainer.querySelector('.resizer-item');
|
|
58
58
|
if (resizingContainer && resizingItem) {
|
|
59
59
|
var newWidth = "".concat(currentWidth + resizeAmount, "px");
|
|
60
|
-
tableRef
|
|
60
|
+
if (tableRef) {
|
|
61
|
+
tableRef.style.width = newWidth;
|
|
62
|
+
}
|
|
61
63
|
resizingContainer.style.width = newWidth;
|
|
62
64
|
resizingItem.style.width = newWidth;
|
|
63
65
|
}
|
|
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _nodeWidth = require("@atlaskit/editor-common/node-width");
|
|
10
10
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
11
11
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
12
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _utils2 = require("../../../utils");
|
|
13
14
|
var _colgroup = require("./colgroup");
|
|
14
15
|
var _columnState = require("./column-state");
|
|
@@ -92,8 +93,8 @@ var getResizeState = exports.getResizeState = function getResizeState(_ref) {
|
|
|
92
93
|
|
|
93
94
|
// updates Colgroup DOM node with new widths
|
|
94
95
|
var updateColgroup = exports.updateColgroup = function updateColgroup(state, tableRef, tableNode, isTableScalingEnabled) {
|
|
95
|
-
var cols = tableRef.querySelectorAll('col');
|
|
96
|
-
var columnsCount = cols.length;
|
|
96
|
+
var cols = tableRef === null || tableRef === void 0 ? void 0 : tableRef.querySelectorAll('col');
|
|
97
|
+
var columnsCount = cols === null || cols === void 0 ? void 0 : cols.length;
|
|
97
98
|
/**
|
|
98
99
|
updateColgroup will update whole table scale when click the column resize handle, this behavior will affect when table overflowed, when now resize handle been dragged and extend to make table overflowed, table will show overflow. This need to be confirmed because it conflict with how isTableScalingEnabled work.
|
|
99
100
|
We don't want to scale the table when resizing columns, only when viewpoint shrinks the table.
|
|
@@ -105,11 +106,11 @@ var updateColgroup = exports.updateColgroup = function updateColgroup(state, tab
|
|
|
105
106
|
return column && !!column.width;
|
|
106
107
|
}) // if width is 0, we dont want to apply that.
|
|
107
108
|
.forEach(function (column, i) {
|
|
108
|
-
var fixedColWidth = (0, _colgroup.getColWidthFix)(column.width, columnsCount);
|
|
109
|
+
var fixedColWidth = (0, _colgroup.getColWidthFix)(column.width, columnsCount !== null && columnsCount !== void 0 ? columnsCount : 0);
|
|
109
110
|
var scaledWidth = fixedColWidth * scalePercent;
|
|
110
111
|
var finalWidth = Math.max(scaledWidth, _styles.tableCellMinWidth);
|
|
111
112
|
// we aren't handling the remaining pixels here when the 48px min width is reached
|
|
112
|
-
if (cols[i]) {
|
|
113
|
+
if (cols !== null && cols !== void 0 && cols[i]) {
|
|
113
114
|
cols[i].style.width = "".concat(finalWidth, "px");
|
|
114
115
|
}
|
|
115
116
|
});
|
|
@@ -118,8 +119,8 @@ var updateColgroup = exports.updateColgroup = function updateColgroup(state, tab
|
|
|
118
119
|
return column && !!column.width;
|
|
119
120
|
}) // if width is 0, we dont want to apply that.
|
|
120
121
|
.forEach(function (column, i) {
|
|
121
|
-
if (cols[i]) {
|
|
122
|
-
cols[i].style.width = "".concat((0, _colgroup.getColWidthFix)(column.width, columnsCount), "px");
|
|
122
|
+
if (cols !== null && cols !== void 0 && cols[i]) {
|
|
123
|
+
cols[i].style.width = "".concat((0, _colgroup.getColWidthFix)(column.width, columnsCount !== null && columnsCount !== void 0 ? columnsCount : 0), "px");
|
|
123
124
|
}
|
|
124
125
|
});
|
|
125
126
|
}
|
|
@@ -319,7 +320,8 @@ var getNewResizeStateFromSelectedColumns = exports.getNewResizeStateFromSelected
|
|
|
319
320
|
return;
|
|
320
321
|
}
|
|
321
322
|
var maybeTable = domAtPos(table.start).node;
|
|
322
|
-
var
|
|
323
|
+
var maybeTableElement = maybeTable instanceof HTMLElement ? maybeTable : null;
|
|
324
|
+
var tableRef = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.explicit-html-element-check') ? maybeTableElement === null || maybeTableElement === void 0 ? void 0 : maybeTableElement.closest('table') : maybeTable === null || maybeTable === void 0 ? void 0 : maybeTable.closest('table');
|
|
323
325
|
if (!tableRef) {
|
|
324
326
|
return;
|
|
325
327
|
}
|
|
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
10
10
|
var _transform = require("@atlaskit/editor-prosemirror/transform");
|
|
11
11
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
12
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _utils = require("../pm-plugins/table-resizing/utils");
|
|
13
14
|
var _colgroup = require("../pm-plugins/table-resizing/utils/colgroup");
|
|
14
15
|
var _resizeState = require("../pm-plugins/table-resizing/utils/resize-state");
|
|
@@ -105,7 +106,8 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
|
105
106
|
var newTable = tr.doc.nodeAt(table.pos);
|
|
106
107
|
var domAtPos = view.domAtPos.bind(view);
|
|
107
108
|
var maybeTable = domAtPos(table.start).node;
|
|
108
|
-
var
|
|
109
|
+
var maybeTableElement = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.explicit-html-element-check') ? maybeTable instanceof HTMLElement ? maybeTable : null : maybeTable;
|
|
110
|
+
var tableRef = maybeTableElement === null || maybeTableElement === void 0 ? void 0 : maybeTableElement.closest('table');
|
|
109
111
|
if (!tableRef || !newTable) {
|
|
110
112
|
return tr;
|
|
111
113
|
}
|
|
@@ -11,6 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _reactIntlNext = require("react-intl-next");
|
|
12
12
|
var _editorTables = require("@atlaskit/editor-tables");
|
|
13
13
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
14
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
15
|
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
|
|
15
16
|
var _commands = require("../../../commands");
|
|
16
17
|
var _commands2 = require("../../../pm-plugins/drag-and-drop/commands");
|
|
@@ -100,14 +101,26 @@ var DragControlsComponent = function DragControlsComponent(_ref) {
|
|
|
100
101
|
}
|
|
101
102
|
}, [editorView, tableActive]);
|
|
102
103
|
var handleMouseMove = (0, _react.useCallback)(function (e) {
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.explicit-html-element-check')) {
|
|
105
|
+
var target = e.nativeEvent.target instanceof Element ? e.nativeEvent.target : null;
|
|
106
|
+
var isParentDragControls = target === null || target === void 0 ? void 0 : target.closest(".".concat(_types.TableCssClassName.DRAG_ROW_CONTROLS));
|
|
107
|
+
var _rowIndex = target === null || target === void 0 ? void 0 : target.getAttribute('data-start-index');
|
|
105
108
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
// avoid updating if event target is not related
|
|
110
|
+
if (!isParentDragControls || !_rowIndex) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
updateCellHoverLocation(Number(_rowIndex));
|
|
114
|
+
} else {
|
|
115
|
+
var _isParentDragControls = e.nativeEvent.target.closest(".".concat(_types.TableCssClassName.DRAG_ROW_CONTROLS));
|
|
116
|
+
var _rowIndex2 = e.nativeEvent.target.getAttribute('data-start-index');
|
|
117
|
+
|
|
118
|
+
// avoid updating if event target is not related
|
|
119
|
+
if (!_isParentDragControls || !_rowIndex2) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
updateCellHoverLocation(Number(_rowIndex2));
|
|
109
123
|
}
|
|
110
|
-
updateCellHoverLocation(Number(rowIndex));
|
|
111
124
|
}, [updateCellHoverLocation]);
|
|
112
125
|
var rowIndexes = (0, _react.useMemo)(function () {
|
|
113
126
|
return [rowIndex];
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -129,6 +129,12 @@ Object.defineProperty(exports, "findNearestCellIndexToPoint", {
|
|
|
129
129
|
return _dom.findNearestCellIndexToPoint;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
|
+
Object.defineProperty(exports, "getAssistiveMessage", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function get() {
|
|
135
|
+
return _table.getAssistiveMessage;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
132
138
|
Object.defineProperty(exports, "getColumnClassNames", {
|
|
133
139
|
enumerable: true,
|
|
134
140
|
get: function get() {
|
|
@@ -399,6 +405,12 @@ Object.defineProperty(exports, "tablesHaveDifferentNoOfColumns", {
|
|
|
399
405
|
return _nodes.tablesHaveDifferentNoOfColumns;
|
|
400
406
|
}
|
|
401
407
|
});
|
|
408
|
+
Object.defineProperty(exports, "tablesHaveDifferentNoOfRows", {
|
|
409
|
+
enumerable: true,
|
|
410
|
+
get: function get() {
|
|
411
|
+
return _nodes.tablesHaveDifferentNoOfRows;
|
|
412
|
+
}
|
|
413
|
+
});
|
|
402
414
|
Object.defineProperty(exports, "transformSliceToCorrectEmptyTableCells", {
|
|
403
415
|
enumerable: true,
|
|
404
416
|
get: function get() {
|
package/dist/cjs/utils/nodes.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.tablesHaveDifferentNoOfColumns = exports.tablesHaveDifferentColumnWidths = exports.supportedHeaderRow = exports.isTableNested = exports.isIsolating = exports.getTableWidth = exports.containsHeaderRow = exports.containsHeaderColumn = exports.checkIfNumberColumnEnabled = exports.checkIfHeaderRowEnabled = exports.checkIfHeaderColumnEnabled = exports.anyChildCellMergedAcrossRow = void 0;
|
|
7
|
+
exports.tablesHaveDifferentNoOfRows = exports.tablesHaveDifferentNoOfColumns = exports.tablesHaveDifferentColumnWidths = exports.supportedHeaderRow = exports.isTableNested = exports.isIsolating = exports.getTableWidth = exports.containsHeaderRow = exports.containsHeaderColumn = exports.checkIfNumberColumnEnabled = exports.checkIfHeaderRowEnabled = exports.checkIfHeaderColumnEnabled = exports.anyChildCellMergedAcrossRow = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
10
10
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
@@ -75,6 +75,11 @@ var tablesHaveDifferentNoOfColumns = exports.tablesHaveDifferentNoOfColumns = fu
|
|
|
75
75
|
var currentMap = _tableMap.TableMap.get(currentTable);
|
|
76
76
|
return prevMap.width !== currentMap.width;
|
|
77
77
|
};
|
|
78
|
+
var tablesHaveDifferentNoOfRows = exports.tablesHaveDifferentNoOfRows = function tablesHaveDifferentNoOfRows(currentTable, previousTable) {
|
|
79
|
+
var prevMap = _tableMap.TableMap.get(previousTable);
|
|
80
|
+
var currentMap = _tableMap.TableMap.get(currentTable);
|
|
81
|
+
return prevMap.height !== currentMap.height;
|
|
82
|
+
};
|
|
78
83
|
function filterNearSelection(selection, findNode, predicate, defaultValue) {
|
|
79
84
|
var found = findNode(selection);
|
|
80
85
|
if (!found) {
|
package/dist/cjs/utils/table.js
CHANGED
|
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.getMergedCellsPositions = exports.colsToRect = void 0;
|
|
7
|
+
exports.getMergedCellsPositions = exports.getAssistiveMessage = exports.colsToRect = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _messages = require("@atlaskit/editor-common/messages");
|
|
9
10
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
10
11
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
11
12
|
var getMergedCellsPositions = exports.getMergedCellsPositions = function getMergedCellsPositions(tr) {
|
|
@@ -32,4 +33,36 @@ var colsToRect = exports.colsToRect = function colsToRect(cols, noOfRows) {
|
|
|
32
33
|
top: 0,
|
|
33
34
|
bottom: noOfRows
|
|
34
35
|
};
|
|
36
|
+
};
|
|
37
|
+
var getAssistiveMessage = exports.getAssistiveMessage = function getAssistiveMessage(prevTableNode, currentTableNode, intl) {
|
|
38
|
+
var formatMessage = intl.formatMessage;
|
|
39
|
+
var prevTableMap = _tableMap.TableMap.get(prevTableNode);
|
|
40
|
+
var currentTableMap = _tableMap.TableMap.get(currentTableNode);
|
|
41
|
+
if (currentTableMap.width !== prevTableMap.width) {
|
|
42
|
+
var diff = Math.abs(currentTableMap.width - prevTableMap.width);
|
|
43
|
+
if (currentTableMap.width > prevTableMap.width) {
|
|
44
|
+
return formatMessage(_messages.tableMessages.columnsAreInserted, {
|
|
45
|
+
count: diff
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (currentTableMap.width < prevTableMap.width) {
|
|
49
|
+
return formatMessage(_messages.tableMessages.columnsAreRemoved, {
|
|
50
|
+
count: diff
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (currentTableMap.height !== prevTableMap.height) {
|
|
55
|
+
var _diff = Math.abs(currentTableMap.height - prevTableMap.height);
|
|
56
|
+
if (currentTableMap.height > prevTableMap.height) {
|
|
57
|
+
return formatMessage(_messages.tableMessages.rowsAreInserted, {
|
|
58
|
+
count: _diff
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (currentTableMap.height < prevTableMap.height) {
|
|
62
|
+
return formatMessage(_messages.tableMessages.rowsAreRemoved, {
|
|
63
|
+
count: _diff
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return '';
|
|
35
68
|
};
|
|
@@ -71,7 +71,9 @@ export const initiateKeyboardColumnResizing = ({
|
|
|
71
71
|
const selectionRect = isSelectionType(selection, 'cell') ? getSelectionRect(selection) : findCellRectClosestToPos(selection.$from);
|
|
72
72
|
const cell = findCellClosestToPos(selection.$from);
|
|
73
73
|
if (ariaNotify && getIntl) {
|
|
74
|
-
ariaNotify(getIntl().formatMessage(messages.startedColumnResize)
|
|
74
|
+
ariaNotify(getIntl().formatMessage(messages.startedColumnResize), {
|
|
75
|
+
priority: 'important'
|
|
76
|
+
});
|
|
75
77
|
}
|
|
76
78
|
if (selectionRect && cell && view) {
|
|
77
79
|
return updateResizeHandleAndStatePosition(selectionRect.top, selectionRect.right, cell.pos)(state, dispatch);
|
|
@@ -117,12 +119,16 @@ export const activateNextResizeArea = ({
|
|
|
117
119
|
if (direction === 1) {
|
|
118
120
|
ariaNotify(getIntl().formatMessage(messages.focusedOtherResize, {
|
|
119
121
|
direction: 'right'
|
|
120
|
-
})
|
|
122
|
+
}), {
|
|
123
|
+
priority: 'important'
|
|
124
|
+
});
|
|
121
125
|
}
|
|
122
126
|
if (direction === -1) {
|
|
123
127
|
ariaNotify(getIntl().formatMessage(messages.focusedOtherResize, {
|
|
124
128
|
direction: 'left'
|
|
125
|
-
})
|
|
129
|
+
}), {
|
|
130
|
+
priority: 'important'
|
|
131
|
+
});
|
|
126
132
|
}
|
|
127
133
|
}
|
|
128
134
|
if ($nextCell) {
|
|
@@ -171,7 +177,13 @@ export const changeColumnWidthByStep = ({
|
|
|
171
177
|
const map = TableMap.get(originalTable);
|
|
172
178
|
const domAtPos = view.domAtPos.bind(view);
|
|
173
179
|
const colIndex = map.colCount($cell.pos - tableStartPosition) + ($cell.nodeAfter ? $cell.nodeAfter.attrs.colspan : 1) - 1;
|
|
174
|
-
let dom =
|
|
180
|
+
let dom = null;
|
|
181
|
+
if (getBooleanFF('platform.editor.explicit-html-element-check')) {
|
|
182
|
+
const domAtPosition = domAtPos(tableStartPosition);
|
|
183
|
+
dom = domAtPosition.node instanceof HTMLTableElement ? domAtPosition.node : null;
|
|
184
|
+
} else {
|
|
185
|
+
dom = domAtPos(tableStartPosition).node;
|
|
186
|
+
}
|
|
175
187
|
if (dom && dom.nodeName !== 'TABLE') {
|
|
176
188
|
dom = dom.closest('table');
|
|
177
189
|
}
|
|
@@ -218,10 +230,14 @@ export const changeColumnWidthByStep = ({
|
|
|
218
230
|
}));
|
|
219
231
|
if (newResizeState.cols.length === colIndex + 1) {
|
|
220
232
|
if (newResizeState.overflow === true) {
|
|
221
|
-
ariaNotify(getIntl().formatMessage(messages.columnResizeLast)
|
|
233
|
+
ariaNotify(getIntl().formatMessage(messages.columnResizeLast), {
|
|
234
|
+
priority: 'important'
|
|
235
|
+
});
|
|
222
236
|
}
|
|
223
237
|
if (newResizeState.overflow === false) {
|
|
224
|
-
ariaNotify(getIntl().formatMessage(messages.columnResizeOverflow)
|
|
238
|
+
ariaNotify(getIntl().formatMessage(messages.columnResizeOverflow), {
|
|
239
|
+
priority: 'important'
|
|
240
|
+
});
|
|
225
241
|
}
|
|
226
242
|
}
|
|
227
243
|
}
|
|
@@ -254,7 +270,9 @@ export const stopKeyboardColumnResizing = ({
|
|
|
254
270
|
type: 'STOP_RESIZING'
|
|
255
271
|
}, () => customTr.setMeta('scrollIntoView', false))(state, fakeDispatch);
|
|
256
272
|
if (ariaNotify && getIntl) {
|
|
257
|
-
ariaNotify(getIntl().formatMessage(messages.columnResizeStop)
|
|
273
|
+
ariaNotify(getIntl().formatMessage(messages.columnResizeStop), {
|
|
274
|
+
priority: 'important'
|
|
275
|
+
});
|
|
258
276
|
}
|
|
259
277
|
if (dispatch) {
|
|
260
278
|
dispatch(customTr);
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import memoizeOne from 'memoize-one';
|
|
5
5
|
import rafSchedule from 'raf-schd';
|
|
6
|
+
import { injectIntl } from 'react-intl-next';
|
|
6
7
|
import { ACTION_SUBJECT, EVENT_TYPE, TABLE_ACTION } from '@atlaskit/editor-common/analytics';
|
|
7
8
|
import { getParentNodeWidth, getTableContainerWidth } from '@atlaskit/editor-common/node-width';
|
|
8
9
|
import { tableMarginSides } from '@atlaskit/editor-common/styles';
|
|
@@ -23,7 +24,7 @@ import { updateControls } from '../pm-plugins/table-resizing/utils/dom';
|
|
|
23
24
|
import { TableCssClassName as ClassName, ShadowEvent } from '../types';
|
|
24
25
|
import TableFloatingColumnControls from '../ui/TableFloatingColumnControls';
|
|
25
26
|
import TableFloatingControls from '../ui/TableFloatingControls';
|
|
26
|
-
import { containsHeaderRow, isTableNested, tablesHaveDifferentColumnWidths, tablesHaveDifferentNoOfColumns } from '../utils';
|
|
27
|
+
import { containsHeaderRow, getAssistiveMessage, isTableNested, tablesHaveDifferentColumnWidths, tablesHaveDifferentNoOfColumns, tablesHaveDifferentNoOfRows } from '../utils';
|
|
27
28
|
import { ExternalDropTargets } from './ExternalDropTargets';
|
|
28
29
|
import { OverflowShadowsObserver } from './OverflowShadowsObserver';
|
|
29
30
|
import { TableContainer } from './TableContainer';
|
|
@@ -506,6 +507,15 @@ class TableComponent extends React.Component {
|
|
|
506
507
|
this.overflowShadowsObserver.observeShadowSentinels((_this$state$stickyHea = this.state.stickyHeader) === null || _this$state$stickyHea === void 0 ? void 0 : _this$state$stickyHea.sticky);
|
|
507
508
|
}
|
|
508
509
|
const currentTable = getNode();
|
|
510
|
+
const previousTable = this.node;
|
|
511
|
+
const isNoOfColumnsChanged = tablesHaveDifferentNoOfColumns(currentTable, previousTable);
|
|
512
|
+
const isNoOfRowsChanged = tablesHaveDifferentNoOfRows(currentTable, previousTable);
|
|
513
|
+
if (isNoOfColumnsChanged || isNoOfRowsChanged) {
|
|
514
|
+
var _this$props$pluginInj, _this$props$pluginInj2;
|
|
515
|
+
(_this$props$pluginInj = this.props.pluginInjectionApi) === null || _this$props$pluginInj === void 0 ? void 0 : (_this$props$pluginInj2 = _this$props$pluginInj.accessibilityUtils) === null || _this$props$pluginInj2 === void 0 ? void 0 : _this$props$pluginInj2.actions.ariaNotify(getAssistiveMessage(previousTable, currentTable, this.props.intl), {
|
|
516
|
+
priority: 'important'
|
|
517
|
+
});
|
|
518
|
+
}
|
|
509
519
|
if (currentTable.attrs.__autoSize) {
|
|
510
520
|
// Wait for next tick to handle auto sizing, gives the browser time to do layout calc etc.
|
|
511
521
|
this.handleAutoSizeDebounced();
|
|
@@ -515,8 +525,6 @@ class TableComponent extends React.Component {
|
|
|
515
525
|
else if (allowColumnResizing && this.table && !isMediaFullscreen) {
|
|
516
526
|
// If col widths (e.g. via collab) or number of columns (e.g. delete a column) have changed,
|
|
517
527
|
// re-draw colgroup.
|
|
518
|
-
const previousTable = this.node;
|
|
519
|
-
const isNoOfColumnsChanged = tablesHaveDifferentNoOfColumns(currentTable, previousTable);
|
|
520
528
|
if (tablesHaveDifferentColumnWidths(currentTable, previousTable) || isNoOfColumnsChanged) {
|
|
521
529
|
const {
|
|
522
530
|
view
|
|
@@ -780,4 +788,4 @@ class TableComponent extends React.Component {
|
|
|
780
788
|
}
|
|
781
789
|
}
|
|
782
790
|
_defineProperty(TableComponent, "displayName", 'TableComponent');
|
|
783
|
-
export default TableComponent;
|
|
791
|
+
export default injectIntl(TableComponent);
|
|
@@ -369,7 +369,7 @@ export default class TableRow extends TableNodeView {
|
|
|
369
369
|
wrapper
|
|
370
370
|
} = tree;
|
|
371
371
|
const tableContainer = wrapper.parentElement;
|
|
372
|
-
const tableContentWrapper = tableContainer.parentElement;
|
|
372
|
+
const tableContentWrapper = tableContainer === null || tableContainer === void 0 ? void 0 : tableContainer.parentElement;
|
|
373
373
|
const layoutContainer = tableContentWrapper && tableContentWrapper.parentElement;
|
|
374
374
|
if (isCurrentTableSelected) {
|
|
375
375
|
this.colControlsOffset = tableControlsSpacing;
|
|
@@ -49,13 +49,13 @@ export const generateColgroup = (table, tableRef) => {
|
|
|
49
49
|
return cols;
|
|
50
50
|
};
|
|
51
51
|
export const insertColgroupFromNode = (tableRef, table, isTableScalingEnabled = false, shouldRemove = true) => {
|
|
52
|
-
let colgroup = tableRef.querySelector('colgroup');
|
|
52
|
+
let colgroup = tableRef === null || tableRef === void 0 ? void 0 : tableRef.querySelector('colgroup');
|
|
53
53
|
if (colgroup && shouldRemove) {
|
|
54
|
-
tableRef.removeChild(colgroup);
|
|
54
|
+
tableRef === null || tableRef === void 0 ? void 0 : tableRef.removeChild(colgroup);
|
|
55
55
|
}
|
|
56
|
-
colgroup = renderColgroupFromNode(table, isTableScalingEnabled ? tableRef : undefined);
|
|
56
|
+
colgroup = renderColgroupFromNode(table, isTableScalingEnabled ? tableRef !== null && tableRef !== void 0 ? tableRef : undefined : undefined);
|
|
57
57
|
if (shouldRemove) {
|
|
58
|
-
tableRef.insertBefore(colgroup, tableRef.firstChild);
|
|
58
|
+
tableRef === null || tableRef === void 0 ? void 0 : tableRef.insertBefore(colgroup, tableRef === null || tableRef === void 0 ? void 0 : tableRef.firstChild);
|
|
59
59
|
}
|
|
60
60
|
return colgroup.children;
|
|
61
61
|
};
|
|
@@ -93,7 +93,7 @@ export const getTableContainerElementWidth = table => {
|
|
|
93
93
|
export const getTableScalingPercent = (table, tableRef) => {
|
|
94
94
|
var _tableRef$parentEleme;
|
|
95
95
|
const tableWidth = getTableContainerElementWidth(table);
|
|
96
|
-
let renderWidth = ((_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || tableWidth;
|
|
96
|
+
let renderWidth = (tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || tableWidth;
|
|
97
97
|
// minus 1 here to avoid any 1px scroll in Firefox
|
|
98
98
|
let scalePercent = (renderWidth - 1) / tableWidth;
|
|
99
99
|
scalePercent = Math.max(scalePercent, 1 - MAX_SCALING_PERCENT);
|
|
@@ -13,7 +13,7 @@ export const resizeColumn = (resizeState, colIndex, amount, tableRef, tableNode,
|
|
|
13
13
|
var _tableRef$closest;
|
|
14
14
|
// when table initially not overflow, but enter overflow, we need to calculate the resize amount by two part, before and after overflow, before overflow should be double, after should not be double.
|
|
15
15
|
const tableWidth = tableRef === null || tableRef === void 0 ? void 0 : tableRef.clientWidth;
|
|
16
|
-
const tableContainerWidth = (_tableRef$closest = tableRef.closest('.resizer-item')) === null || _tableRef$closest === void 0 ? void 0 : _tableRef$closest.clientWidth;
|
|
16
|
+
const tableContainerWidth = tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$closest = tableRef.closest('.resizer-item')) === null || _tableRef$closest === void 0 ? void 0 : _tableRef$closest.clientWidth;
|
|
17
17
|
const isOverflowed = !!(tableWidth && tableContainerWidth && tableWidth > tableContainerWidth);
|
|
18
18
|
resizeAmount = amount * 2;
|
|
19
19
|
if (isOverflowed) {
|
|
@@ -45,11 +45,13 @@ export const resizeColumn = (resizeState, colIndex, amount, tableRef, tableNode,
|
|
|
45
45
|
};
|
|
46
46
|
const updateTable = (resizeAmount, tableRef, tableNode) => {
|
|
47
47
|
const currentWidth = getTableContainerElementWidth(tableNode);
|
|
48
|
-
const resizingContainer = tableRef.closest(`.${ClassName.TABLE_RESIZER_CONTAINER}`);
|
|
48
|
+
const resizingContainer = tableRef === null || tableRef === void 0 ? void 0 : tableRef.closest(`.${ClassName.TABLE_RESIZER_CONTAINER}`);
|
|
49
49
|
const resizingItem = resizingContainer === null || resizingContainer === void 0 ? void 0 : resizingContainer.querySelector('.resizer-item');
|
|
50
50
|
if (resizingContainer && resizingItem) {
|
|
51
51
|
const newWidth = `${currentWidth + resizeAmount}px`;
|
|
52
|
-
tableRef
|
|
52
|
+
if (tableRef) {
|
|
53
|
+
tableRef.style.width = newWidth;
|
|
54
|
+
}
|
|
53
55
|
resizingContainer.style.width = newWidth;
|
|
54
56
|
resizingItem.style.width = newWidth;
|
|
55
57
|
}
|