@atlaskit/editor-plugin-table 7.4.8 → 7.5.0
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 +4 -2
- package/dist/cjs/commands/delete.js +2 -1
- package/dist/cjs/commands/insert.js +6 -3
- package/dist/cjs/commands-with-analytics.js +4 -2
- package/dist/cjs/event-handlers.js +2 -1
- package/dist/cjs/nodeviews/TableComponent.js +116 -47
- package/dist/cjs/nodeviews/TableContainer.js +8 -4
- package/dist/cjs/nodeviews/TableResizer.js +6 -5
- package/dist/cjs/nodeviews/table.js +12 -4
- package/dist/cjs/plugin.js +50 -47
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +9 -6
- package/dist/cjs/pm-plugins/keymap.js +6 -3
- package/dist/cjs/pm-plugins/main.js +4 -1
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +7 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +32 -11
- package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +4 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/index.js +24 -0
- package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +20 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +2 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +52 -11
- package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +19 -8
- package/dist/cjs/toolbar.js +17 -10
- package/dist/cjs/transforms/column-width.js +22 -7
- package/dist/cjs/transforms/delete-columns.js +2 -1
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +45 -38
- package/dist/cjs/ui/FloatingContextualMenu/index.js +5 -3
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +15 -4
- package/dist/cjs/ui/FloatingDragMenu/DropdownMenu.js +53 -8
- package/dist/cjs/ui/FloatingDragMenu/index.js +15 -6
- package/dist/cjs/ui/FloatingInsertButton/index.js +5 -1
- package/dist/cjs/ui/consts.js +2 -1
- package/dist/cjs/utils/create.js +1 -1
- package/dist/cjs/utils/drag-menu.js +4 -3
- package/dist/es2019/commands/column-resize.js +4 -3
- package/dist/es2019/commands/delete.js +2 -2
- package/dist/es2019/commands/insert.js +6 -6
- package/dist/es2019/commands-with-analytics.js +4 -4
- package/dist/es2019/event-handlers.js +2 -2
- package/dist/es2019/nodeviews/TableComponent.js +77 -8
- package/dist/es2019/nodeviews/TableContainer.js +8 -4
- package/dist/es2019/nodeviews/TableResizer.js +6 -5
- package/dist/es2019/nodeviews/table.js +12 -4
- package/dist/es2019/plugin.js +14 -8
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +7 -4
- package/dist/es2019/pm-plugins/keymap.js +6 -3
- package/dist/es2019/pm-plugins/main.js +4 -1
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +7 -3
- package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +31 -12
- package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +3 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/index.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +20 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +47 -10
- package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +19 -12
- package/dist/es2019/toolbar.js +15 -12
- package/dist/es2019/transforms/column-width.js +24 -10
- package/dist/es2019/transforms/delete-columns.js +2 -2
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +12 -5
- package/dist/es2019/ui/FloatingContextualMenu/index.js +6 -4
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +15 -4
- package/dist/es2019/ui/FloatingDragMenu/DropdownMenu.js +42 -8
- package/dist/es2019/ui/FloatingDragMenu/index.js +16 -7
- package/dist/es2019/ui/FloatingInsertButton/index.js +5 -1
- package/dist/es2019/ui/consts.js +1 -0
- package/dist/es2019/utils/create.js +1 -1
- package/dist/es2019/utils/drag-menu.js +4 -4
- package/dist/esm/commands/column-resize.js +4 -2
- package/dist/esm/commands/delete.js +2 -1
- package/dist/esm/commands/insert.js +6 -3
- package/dist/esm/commands-with-analytics.js +4 -2
- package/dist/esm/event-handlers.js +2 -1
- package/dist/esm/nodeviews/TableComponent.js +118 -49
- package/dist/esm/nodeviews/TableContainer.js +8 -4
- package/dist/esm/nodeviews/TableResizer.js +6 -5
- package/dist/esm/nodeviews/table.js +12 -4
- package/dist/esm/plugin.js +50 -47
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +9 -6
- package/dist/esm/pm-plugins/keymap.js +6 -3
- package/dist/esm/pm-plugins/main.js +4 -1
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +7 -3
- package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +32 -11
- package/dist/esm/pm-plugins/table-resizing/utils/consts.js +3 -1
- package/dist/esm/pm-plugins/table-resizing/utils/index.js +2 -2
- package/dist/esm/pm-plugins/table-resizing/utils/misc.js +22 -2
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +2 -1
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +52 -11
- package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +19 -8
- package/dist/esm/toolbar.js +17 -10
- package/dist/esm/transforms/column-width.js +23 -8
- package/dist/esm/transforms/delete-columns.js +2 -1
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +45 -38
- package/dist/esm/ui/FloatingContextualMenu/index.js +6 -4
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +15 -4
- package/dist/esm/ui/FloatingDragMenu/DropdownMenu.js +50 -9
- package/dist/esm/ui/FloatingDragMenu/index.js +16 -7
- package/dist/esm/ui/FloatingInsertButton/index.js +5 -1
- package/dist/esm/ui/consts.js +1 -0
- package/dist/esm/utils/create.js +1 -1
- package/dist/esm/utils/drag-menu.js +4 -3
- package/dist/types/commands/column-resize.d.ts +1 -1
- package/dist/types/commands/delete.d.ts +1 -1
- package/dist/types/commands/insert.d.ts +3 -3
- package/dist/types/commands-with-analytics.d.ts +2 -2
- package/dist/types/event-handlers.d.ts +1 -1
- package/dist/types/nodeviews/TableComponent.d.ts +3 -0
- package/dist/types/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types/nodeviews/TableResizer.d.ts +2 -1
- package/dist/types/nodeviews/table.d.ts +1 -0
- package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +3 -2
- package/dist/types/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/consts.d.ts +2 -0
- package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +7 -0
- 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 +4 -3
- package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
- package/dist/types/toolbar.d.ts +2 -2
- package/dist/types/transforms/column-width.d.ts +1 -1
- package/dist/types/transforms/delete-columns.d.ts +1 -1
- package/dist/types/ui/FloatingContextualMenu/ContextualMenu.d.ts +2 -1
- package/dist/types/ui/FloatingContextualMenu/index.d.ts +1 -1
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +7 -1
- package/dist/types/ui/FloatingDragMenu/DropdownMenu.d.ts +8 -2
- package/dist/types/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types/ui/FloatingInsertButton/index.d.ts +2 -1
- package/dist/types/ui/consts.d.ts +1 -0
- package/dist/types/utils/drag-menu.d.ts +1 -1
- package/dist/types-ts4.5/commands/column-resize.d.ts +1 -1
- package/dist/types-ts4.5/commands/delete.d.ts +1 -1
- package/dist/types-ts4.5/commands/insert.d.ts +3 -3
- package/dist/types-ts4.5/commands-with-analytics.d.ts +2 -2
- package/dist/types-ts4.5/event-handlers.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +3 -0
- package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
- package/dist/types-ts4.5/nodeviews/table.d.ts +1 -0
- package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +3 -2
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/consts.d.ts +2 -0
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +7 -0
- 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 +4 -3
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
- package/dist/types-ts4.5/toolbar.d.ts +2 -2
- package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
- package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingContextualMenu/ContextualMenu.d.ts +2 -1
- package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +7 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DropdownMenu.d.ts +8 -2
- package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/consts.d.ts +1 -0
- package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
- package/package.json +3 -3
- package/src/commands/column-resize.ts +3 -0
- package/src/commands/delete.ts +2 -1
- package/src/commands/insert.ts +15 -6
- package/src/commands-with-analytics.ts +9 -3
- package/src/event-handlers.ts +2 -0
- package/src/nodeviews/TableComponent.tsx +91 -5
- package/src/nodeviews/TableContainer.tsx +6 -0
- package/src/nodeviews/TableResizer.tsx +6 -0
- package/src/nodeviews/table.tsx +15 -10
- package/src/plugin.tsx +17 -5
- package/src/pm-plugins/drag-and-drop/plugin.ts +16 -8
- package/src/pm-plugins/keymap.ts +11 -3
- package/src/pm-plugins/main.ts +3 -0
- package/src/pm-plugins/table-resizing/event-handlers.ts +11 -1
- package/src/pm-plugins/table-resizing/utils/colgroup.ts +49 -17
- package/src/pm-plugins/table-resizing/utils/consts.ts +2 -0
- package/src/pm-plugins/table-resizing/utils/index.ts +8 -1
- package/src/pm-plugins/table-resizing/utils/misc.ts +25 -1
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +2 -1
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +56 -11
- package/src/pm-plugins/table-resizing/utils/scale-table.ts +24 -6
- package/src/toolbar.tsx +18 -5
- package/src/transforms/column-width.ts +33 -11
- package/src/transforms/delete-columns.ts +7 -2
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +20 -5
- package/src/ui/FloatingContextualMenu/index.tsx +4 -1
- package/src/ui/FloatingDragMenu/DragMenu.tsx +19 -1
- package/src/ui/FloatingDragMenu/DropdownMenu.tsx +94 -50
- package/src/ui/FloatingDragMenu/index.tsx +17 -4
- package/src/ui/FloatingInsertButton/index.tsx +17 -5
- package/src/ui/consts.ts +1 -0
- package/src/utils/create.ts +1 -3
- package/src/utils/drag-menu.ts +4 -1
|
@@ -23,6 +23,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
23
23
|
// Base function to trigger the actual scale on a table node.
|
|
24
24
|
// Will only resize/scale if a table has been previously resized.
|
|
25
25
|
var scale = exports.scale = function scale(tableRef, options, domAtPos) {
|
|
26
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
26
27
|
/**
|
|
27
28
|
* isBreakoutEnabled === true -> default center aligned
|
|
28
29
|
* isBreakoutEnabled === false -> full width mode
|
|
@@ -67,18 +68,21 @@ var scale = exports.scale = function scale(tableRef, options, domAtPos) {
|
|
|
67
68
|
table: node,
|
|
68
69
|
tableRef: tableRef,
|
|
69
70
|
start: start,
|
|
70
|
-
domAtPos: domAtPos
|
|
71
|
+
domAtPos: domAtPos,
|
|
72
|
+
tablePreserveWidth: tablePreserveWidth
|
|
71
73
|
});
|
|
72
74
|
return scaleTableTo(resizeState, newWidth);
|
|
73
75
|
};
|
|
74
76
|
var scaleWithParent = exports.scaleWithParent = function scaleWithParent(tableRef, parentWidth, table, start, domAtPos) {
|
|
77
|
+
var tablePreserveWidth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
75
78
|
var resizeState = (0, _resizeState.getResizeState)({
|
|
76
79
|
minWidth: _styles.tableCellMinWidth,
|
|
77
80
|
maxSize: parentWidth,
|
|
78
81
|
table: table,
|
|
79
82
|
tableRef: tableRef,
|
|
80
83
|
start: start,
|
|
81
|
-
domAtPos: domAtPos
|
|
84
|
+
domAtPos: domAtPos,
|
|
85
|
+
tablePreserveWidth: tablePreserveWidth
|
|
82
86
|
});
|
|
83
87
|
if (table.attrs.isNumberColumnEnabled) {
|
|
84
88
|
parentWidth -= _editorSharedStyles.akEditorTableNumberColumnWidth;
|
|
@@ -110,6 +114,7 @@ function scaleTableTo(state, maxSize) {
|
|
|
110
114
|
return (0, _resizeState.adjustColumnsWidths)(newState, maxSize);
|
|
111
115
|
}
|
|
112
116
|
var previewScaleTable = exports.previewScaleTable = function previewScaleTable(tableRef, options, domAtPos) {
|
|
117
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
113
118
|
var node = options.node,
|
|
114
119
|
start = options.start,
|
|
115
120
|
parentWidth = options.parentWidth;
|
|
@@ -121,18 +126,22 @@ var previewScaleTable = exports.previewScaleTable = function previewScaleTable(t
|
|
|
121
126
|
var width = isNumberColumnEnabled ? parentWidth - _editorSharedStyles.akEditorTableNumberColumnWidth : parentWidth;
|
|
122
127
|
tableRef.style.width = "".concat(width, "px");
|
|
123
128
|
}
|
|
124
|
-
|
|
129
|
+
|
|
130
|
+
// If the table hasn't been resize, the colgroup 48px width values will gracefully scale down.
|
|
131
|
+
// If we are scaling the table down with tablePreserveWidth, the colgroup widths may be scaled to a value that is not 48px.
|
|
132
|
+
if (!(0, _colgroup.hasTableBeenResized)(node) && !tablePreserveWidth) {
|
|
125
133
|
(0, _dom.syncStickyRowToTable)(tableRef);
|
|
126
134
|
return;
|
|
127
135
|
}
|
|
128
|
-
var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos) : scale(tableRef, options, domAtPos);
|
|
136
|
+
var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos, tablePreserveWidth) : scale(tableRef, options, domAtPos, tablePreserveWidth);
|
|
129
137
|
if (resizeState) {
|
|
130
|
-
(0, _resizeState.updateColgroup)(resizeState, tableRef);
|
|
138
|
+
(0, _resizeState.updateColgroup)(resizeState, tableRef, tablePreserveWidth);
|
|
131
139
|
}
|
|
132
140
|
};
|
|
133
141
|
|
|
134
142
|
// Scale the table to meet new requirements (col, layout change etc)
|
|
135
143
|
var scaleTable = exports.scaleTable = function scaleTable(tableRef, options, domAtPos) {
|
|
144
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
136
145
|
return function (tr) {
|
|
137
146
|
if (!tableRef) {
|
|
138
147
|
return tr;
|
|
@@ -145,15 +154,17 @@ var scaleTable = exports.scaleTable = function scaleTable(tableRef, options, dom
|
|
|
145
154
|
if ((0, _colgroup.hasTableBeenResized)(node) === false) {
|
|
146
155
|
// If its not a re-sized table, we still want to re-create cols
|
|
147
156
|
// To force reflow of columns upon delete.
|
|
148
|
-
(
|
|
157
|
+
if (!tablePreserveWidth) {
|
|
158
|
+
(0, _colgroup.insertColgroupFromNode)(tableRef, node);
|
|
159
|
+
}
|
|
149
160
|
tr.setMeta('scrollIntoView', false);
|
|
150
161
|
return tr;
|
|
151
162
|
}
|
|
152
163
|
var resizeState;
|
|
153
164
|
if (parentWidth) {
|
|
154
|
-
resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos);
|
|
165
|
+
resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos, tablePreserveWidth);
|
|
155
166
|
} else {
|
|
156
|
-
resizeState = scale(tableRef, options, domAtPos);
|
|
167
|
+
resizeState = scale(tableRef, options, domAtPos, tablePreserveWidth);
|
|
157
168
|
}
|
|
158
169
|
if (resizeState) {
|
|
159
170
|
tr = (0, _transforms.updateColumnWidths)(resizeState, node, start)(tr);
|
package/dist/cjs/toolbar.js
CHANGED
|
@@ -96,6 +96,7 @@ var getToolbarMenuConfig = exports.getToolbarMenuConfig = function getToolbarMen
|
|
|
96
96
|
var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(editorState, editorView, initialSelectionRect, _ref2, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
97
97
|
var _pluginState$pluginCo, _pluginState$pluginCo2;
|
|
98
98
|
var formatMessage = _ref2.formatMessage;
|
|
99
|
+
var tablePreserveWidth = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
99
100
|
var top = initialSelectionRect.top,
|
|
100
101
|
bottom = initialSelectionRect.bottom,
|
|
101
102
|
right = initialSelectionRect.right,
|
|
@@ -110,7 +111,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
110
111
|
var selectionRect = getClosestSelectionRect(state);
|
|
111
112
|
var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
|
|
112
113
|
if (index) {
|
|
113
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
114
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
114
115
|
}
|
|
115
116
|
return true;
|
|
116
117
|
},
|
|
@@ -189,7 +190,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
189
190
|
}];
|
|
190
191
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo = pluginState.pluginConfig) !== null && _pluginState$pluginCo !== void 0 && _pluginState$pluginCo.allowDistributeColumns) {
|
|
191
192
|
var _newResizeStateWithAn;
|
|
192
|
-
var newResizeStateWithAnalytics = editorView ? (0, _resizeState.getNewResizeStateFromSelectedColumns)(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth) : undefined;
|
|
193
|
+
var newResizeStateWithAnalytics = editorView ? (0, _resizeState.getNewResizeStateFromSelectedColumns)(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth) : undefined;
|
|
193
194
|
var wouldChange = (_newResizeStateWithAn = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn !== void 0 ? _newResizeStateWithAn : false;
|
|
194
195
|
var distributeColumnWidths = function distributeColumnWidths(state, dispatch) {
|
|
195
196
|
if (newResizeStateWithAnalytics) {
|
|
@@ -309,10 +310,13 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
309
310
|
if (tableObject && pluginState.editorHasFocus && !isWidthResizing) {
|
|
310
311
|
var nodeType = state.schema.nodes.table;
|
|
311
312
|
var menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI);
|
|
313
|
+
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
314
|
+
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tablePreserveWidth,
|
|
315
|
+
tablePreserveWidth = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
|
|
312
316
|
var cellItems;
|
|
313
|
-
cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(config, state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI);
|
|
317
|
+
cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(config, state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth);
|
|
314
318
|
var columnSettingsItems;
|
|
315
|
-
columnSettingsItems = pluginState.isDragAndDropEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI) : [];
|
|
319
|
+
columnSettingsItems = pluginState.isDragAndDropEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth) : [];
|
|
316
320
|
var colorPicker = getColorPicker(state, menu, intl, editorAnalyticsAPI);
|
|
317
321
|
|
|
318
322
|
// Check if we need to show confirm dialog for delete button
|
|
@@ -351,8 +355,8 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
351
355
|
}
|
|
352
356
|
return element;
|
|
353
357
|
};
|
|
354
|
-
var
|
|
355
|
-
stickyScrollbar =
|
|
358
|
+
var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
|
|
359
|
+
stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
|
|
356
360
|
return {
|
|
357
361
|
title: 'Table floating controls',
|
|
358
362
|
getDomRef: getDomRef,
|
|
@@ -411,22 +415,24 @@ var separator = function separator(hidden) {
|
|
|
411
415
|
};
|
|
412
416
|
var getCellItems = function getCellItems(pluginConfig, state, view, _ref3, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
413
417
|
var formatMessage = _ref3.formatMessage;
|
|
418
|
+
var tablePreserveWidth = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
414
419
|
var initialSelectionRect = getClosestSelectionRect(state);
|
|
415
420
|
if (initialSelectionRect) {
|
|
416
421
|
var cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
|
|
417
422
|
formatMessage: formatMessage
|
|
418
|
-
}, getEditorContainerWidth, editorAnalyticsAPI);
|
|
423
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth);
|
|
419
424
|
return [cellOptions, separator(cellOptions.hidden)];
|
|
420
425
|
}
|
|
421
426
|
return [];
|
|
422
427
|
};
|
|
423
428
|
var getDistributeConfig = exports.getDistributeConfig = function getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI) {
|
|
429
|
+
var tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
424
430
|
return function (state, dispatch, editorView) {
|
|
425
431
|
var selectionOrTableRect = getClosestSelectionOrTableRect(state);
|
|
426
432
|
if (!editorView || !selectionOrTableRect) {
|
|
427
433
|
return false;
|
|
428
434
|
}
|
|
429
|
-
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
435
|
+
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
430
436
|
if (newResizeStateWithAnalytics) {
|
|
431
437
|
(0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, newResizeStateWithAnalytics)(state, dispatch);
|
|
432
438
|
return true;
|
|
@@ -440,12 +446,13 @@ var getDistributeConfig = exports.getDistributeConfig = function getDistributeCo
|
|
|
440
446
|
var getColumnSettingItems = function getColumnSettingItems(editorState, editorView, _ref4, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
441
447
|
var _newResizeStateWithAn2, _pluginState$pluginCo3;
|
|
442
448
|
var formatMessage = _ref4.formatMessage;
|
|
449
|
+
var tablePreserveWidth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
443
450
|
var pluginState = (0, _pluginFactory.getPluginState)(editorState);
|
|
444
451
|
var selectionOrTableRect = getClosestSelectionOrTableRect(editorState);
|
|
445
452
|
if (!selectionOrTableRect || !editorView) {
|
|
446
453
|
return [];
|
|
447
454
|
}
|
|
448
|
-
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
455
|
+
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
449
456
|
var wouldChange = (_newResizeStateWithAn2 = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn2 !== void 0 ? _newResizeStateWithAn2 : false;
|
|
450
457
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo3 = pluginState.pluginConfig) !== null && _pluginState$pluginCo3 !== void 0 && _pluginState$pluginCo3.allowDistributeColumns && pluginState.isDragAndDropEnabled) {
|
|
451
458
|
return [{
|
|
@@ -454,7 +461,7 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
|
|
|
454
461
|
title: formatMessage(_messages.tableMessages.distributeColumns),
|
|
455
462
|
icon: _layoutThreeEqual.default,
|
|
456
463
|
onClick: function onClick(state, dispatch, view) {
|
|
457
|
-
return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI)(state, dispatch, view);
|
|
464
|
+
return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(state, dispatch, view);
|
|
458
465
|
},
|
|
459
466
|
disabled: !wouldChange
|
|
460
467
|
}, {
|
|
@@ -94,9 +94,9 @@ var updateColumnWidths = exports.updateColumnWidths = function updateColumnWidth
|
|
|
94
94
|
* @returns Updated transaction with rescaled columns for a given table
|
|
95
95
|
*/
|
|
96
96
|
var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
97
|
+
var tablePreserveWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
97
98
|
return function (table, view) {
|
|
98
99
|
return function (tr) {
|
|
99
|
-
var _tableRef$parentEleme, _tableRef$parentEleme2;
|
|
100
100
|
if (!view) {
|
|
101
101
|
return tr;
|
|
102
102
|
}
|
|
@@ -108,14 +108,28 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
|
108
108
|
return tr;
|
|
109
109
|
}
|
|
110
110
|
var isResized = (0, _utils.hasTableBeenResized)(table.node);
|
|
111
|
-
// get current table info
|
|
112
111
|
var previousTableInfo = {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
/** the is the width the table can reach before overflowing */
|
|
116
|
-
possibleMaxWidth: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? (tableRef === null || tableRef === void 0 || (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || 0 : ((tableRef === null || tableRef === void 0 || (_tableRef$parentEleme2 = tableRef.parentElement) === null || _tableRef$parentEleme2 === void 0 ? void 0 : _tableRef$parentEleme2.clientWidth) || 0) - _commonStyles.insertColumnButtonOffset,
|
|
112
|
+
width: 0,
|
|
113
|
+
possibleMaxWidth: 0,
|
|
117
114
|
isResized: isResized
|
|
118
115
|
};
|
|
116
|
+
if (tablePreserveWidth) {
|
|
117
|
+
previousTableInfo = {
|
|
118
|
+
// TODO - ensure correct width is returned when table doesn't have a width value
|
|
119
|
+
width: (0, _utils.getTableElementWidth)(table.node),
|
|
120
|
+
possibleMaxWidth: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? (0, _utils.getTableContainerElement)(table.node) : (0, _utils.getTableContainerElement)(table.node) - _commonStyles.insertColumnButtonOffset,
|
|
121
|
+
isResized: isResized
|
|
122
|
+
};
|
|
123
|
+
} else {
|
|
124
|
+
var _tableRef$parentEleme, _tableRef$parentEleme2;
|
|
125
|
+
previousTableInfo = {
|
|
126
|
+
// when table is resized the tableRef client width will be 1px larger than colGroup, which is used in calculations
|
|
127
|
+
width: isResized ? tableRef.clientWidth - 1 : tableRef.clientWidth,
|
|
128
|
+
/** the is the width the table can reach before overflowing */
|
|
129
|
+
possibleMaxWidth: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? (tableRef === null || tableRef === void 0 || (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || 0 : ((tableRef === null || tableRef === void 0 || (_tableRef$parentEleme2 = tableRef.parentElement) === null || _tableRef$parentEleme2 === void 0 ? void 0 : _tableRef$parentEleme2.clientWidth) || 0) - _commonStyles.insertColumnButtonOffset,
|
|
130
|
+
isResized: isResized
|
|
131
|
+
};
|
|
132
|
+
}
|
|
119
133
|
|
|
120
134
|
// determine the new table, based on new width
|
|
121
135
|
var newTableInfo = {
|
|
@@ -160,7 +174,8 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
|
160
174
|
start: table.start,
|
|
161
175
|
tableRef: tableRef,
|
|
162
176
|
domAtPos: domAtPos,
|
|
163
|
-
maxSize: previousTableInfo.possibleMaxWidth
|
|
177
|
+
maxSize: previousTableInfo.possibleMaxWidth,
|
|
178
|
+
tablePreserveWidth: tablePreserveWidth
|
|
164
179
|
});
|
|
165
180
|
|
|
166
181
|
// Two scenarios that require scaling:
|
|
@@ -212,6 +212,7 @@ function fixRowSpans(table) {
|
|
|
212
212
|
return table.type.createChecked(table.attrs, rows, table.marks);
|
|
213
213
|
}
|
|
214
214
|
var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCustomStep, view) {
|
|
215
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
215
216
|
return function (tr) {
|
|
216
217
|
var updatedTr = tr;
|
|
217
218
|
updatedTr.setMeta(_tableAnalytics.META_KEYS.OVERFLOW_TRIGGER, {
|
|
@@ -224,7 +225,7 @@ var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCu
|
|
|
224
225
|
}
|
|
225
226
|
var table = (0, _utils.findTable)(updatedTr.selection);
|
|
226
227
|
if (table) {
|
|
227
|
-
updatedTr = (0, _columnWidth.rescaleColumns)()(table, view)(updatedTr);
|
|
228
|
+
updatedTr = (0, _columnWidth.rescaleColumns)(tablePreserveWidth)(table, view)(updatedTr);
|
|
228
229
|
}
|
|
229
230
|
return updatedTr;
|
|
230
231
|
};
|
|
@@ -279,8 +279,11 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
279
279
|
isDragAndDropEnabled = _getPluginState8.isDragAndDropEnabled,
|
|
280
280
|
allowDistributeColumns = _getPluginState8.pluginConfig.allowDistributeColumns;
|
|
281
281
|
if (allowDistributeColumns && (!isDragAndDropEnabled || !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling'))) {
|
|
282
|
-
var _newResizeState$chang;
|
|
283
|
-
var
|
|
282
|
+
var _this$props$getEditor, _this$props9, _newResizeState$chang;
|
|
283
|
+
var _ref = ((_this$props$getEditor = (_this$props9 = _this.props).getEditorFeatureFlags) === null || _this$props$getEditor === void 0 ? void 0 : _this$props$getEditor.call(_this$props9)) || {},
|
|
284
|
+
_ref$tablePreserveWid = _ref.tablePreserveWidth,
|
|
285
|
+
tablePreserveWidth = _ref$tablePreserveWid === void 0 ? false : _ref$tablePreserveWid;
|
|
286
|
+
var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
284
287
|
var wouldChange = (_newResizeState$chang = newResizeState === null || newResizeState === void 0 ? void 0 : newResizeState.changed) !== null && _newResizeState$chang !== void 0 ? _newResizeState$chang : false;
|
|
285
288
|
return {
|
|
286
289
|
content: formatMessage(_messages.tableMessages.distributeColumns),
|
|
@@ -293,10 +296,10 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
293
296
|
return null;
|
|
294
297
|
});
|
|
295
298
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createSortColumnItems", function () {
|
|
296
|
-
var _this$
|
|
297
|
-
formatMessage = _this$
|
|
298
|
-
editorView = _this$
|
|
299
|
-
allowColumnSorting = _this$
|
|
299
|
+
var _this$props10 = _this.props,
|
|
300
|
+
formatMessage = _this$props10.intl.formatMessage,
|
|
301
|
+
editorView = _this$props10.editorView,
|
|
302
|
+
allowColumnSorting = _this$props10.allowColumnSorting;
|
|
300
303
|
var _getPluginState9 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
301
304
|
isDragAndDropEnabled = _getPluginState9.isDragAndDropEnabled;
|
|
302
305
|
if (allowColumnSorting && (!isDragAndDropEnabled || !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling'))) {
|
|
@@ -362,18 +365,22 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
362
365
|
items[1].items.push(deleteRowItem);
|
|
363
366
|
return items;
|
|
364
367
|
});
|
|
365
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMenuItemActivated", function (
|
|
366
|
-
var item =
|
|
367
|
-
var _this$
|
|
368
|
-
editorView = _this$
|
|
369
|
-
selectionRect = _this$
|
|
370
|
-
editorAnalyticsAPI = _this$
|
|
371
|
-
getEditorContainerWidth = _this$
|
|
368
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMenuItemActivated", function (_ref2) {
|
|
369
|
+
var item = _ref2.item;
|
|
370
|
+
var _this$props11 = _this.props,
|
|
371
|
+
editorView = _this$props11.editorView,
|
|
372
|
+
selectionRect = _this$props11.selectionRect,
|
|
373
|
+
editorAnalyticsAPI = _this$props11.editorAnalyticsAPI,
|
|
374
|
+
getEditorContainerWidth = _this$props11.getEditorContainerWidth,
|
|
375
|
+
getEditorFeatureFlags = _this$props11.getEditorFeatureFlags;
|
|
372
376
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
373
377
|
var state = editorView.state,
|
|
374
378
|
dispatch = editorView.dispatch;
|
|
375
379
|
var _getPluginState10 = (0, _pluginFactory.getPluginState)(state),
|
|
376
380
|
targetCellPosition = _getPluginState10.targetCellPosition;
|
|
381
|
+
var _ref3 = (getEditorFeatureFlags === null || getEditorFeatureFlags === void 0 ? void 0 : getEditorFeatureFlags()) || {},
|
|
382
|
+
_ref3$tablePreserveWi = _ref3.tablePreserveWidth,
|
|
383
|
+
tablePreserveWidth = _ref3$tablePreserveWi === void 0 ? false : _ref3$tablePreserveWi;
|
|
377
384
|
switch (item.value.name) {
|
|
378
385
|
case 'sort_column_desc':
|
|
379
386
|
(0, _commandsWithAnalytics.sortColumnWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.left, _customSteps.TableSortOrder.DESC)(state, dispatch);
|
|
@@ -392,7 +399,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
392
399
|
_this.toggleOpen();
|
|
393
400
|
break;
|
|
394
401
|
case 'distribute_columns':
|
|
395
|
-
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
402
|
+
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
396
403
|
if (newResizeStateWithAnalytics) {
|
|
397
404
|
(0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, newResizeStateWithAnalytics)(state, dispatch);
|
|
398
405
|
_this.toggleOpen();
|
|
@@ -403,7 +410,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
403
410
|
_this.toggleOpen();
|
|
404
411
|
break;
|
|
405
412
|
case 'insert_column':
|
|
406
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
413
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
407
414
|
_this.toggleOpen();
|
|
408
415
|
break;
|
|
409
416
|
case 'insert_row':
|
|
@@ -426,11 +433,11 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
426
433
|
}
|
|
427
434
|
});
|
|
428
435
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleOpen", function () {
|
|
429
|
-
var _this$
|
|
430
|
-
isOpen = _this$
|
|
431
|
-
_this$
|
|
432
|
-
state = _this$
|
|
433
|
-
dispatch = _this$
|
|
436
|
+
var _this$props12 = _this.props,
|
|
437
|
+
isOpen = _this$props12.isOpen,
|
|
438
|
+
_this$props12$editorV = _this$props12.editorView,
|
|
439
|
+
state = _this$props12$editorV.state,
|
|
440
|
+
dispatch = _this$props12$editorV.dispatch;
|
|
434
441
|
(0, _commands.toggleContextualMenu)()(state, dispatch);
|
|
435
442
|
if (!isOpen) {
|
|
436
443
|
_this.setState({
|
|
@@ -447,13 +454,13 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
447
454
|
isSubmenuOpen: false
|
|
448
455
|
});
|
|
449
456
|
});
|
|
450
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseEnter", function (
|
|
451
|
-
var item =
|
|
452
|
-
var _this$
|
|
453
|
-
_this$
|
|
454
|
-
state = _this$
|
|
455
|
-
dispatch = _this$
|
|
456
|
-
selectionRect = _this$
|
|
457
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseEnter", function (_ref4) {
|
|
458
|
+
var item = _ref4.item;
|
|
459
|
+
var _this$props13 = _this.props,
|
|
460
|
+
_this$props13$editorV = _this$props13.editorView,
|
|
461
|
+
state = _this$props13$editorV.state,
|
|
462
|
+
dispatch = _this$props13$editorV.dispatch,
|
|
463
|
+
selectionRect = _this$props13.selectionRect;
|
|
457
464
|
if (item.value.name === 'background') {
|
|
458
465
|
if (!_this.state.isSubmenuOpen) {
|
|
459
466
|
_this.setState({
|
|
@@ -471,8 +478,8 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
471
478
|
(0, _commands.hoverMergedCells)()(state, dispatch);
|
|
472
479
|
}
|
|
473
480
|
});
|
|
474
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseLeave", function (
|
|
475
|
-
var item =
|
|
481
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseLeave", function (_ref5) {
|
|
482
|
+
var item = _ref5.item;
|
|
476
483
|
var _this$props$editorVie2 = _this.props.editorView,
|
|
477
484
|
state = _this$props$editorVie2.state,
|
|
478
485
|
dispatch = _this$props$editorVie2.dispatch;
|
|
@@ -491,9 +498,9 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
491
498
|
}
|
|
492
499
|
});
|
|
493
500
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setColor", function (color) {
|
|
494
|
-
var _this$
|
|
495
|
-
editorView = _this$
|
|
496
|
-
editorAnalyticsAPI = _this$
|
|
501
|
+
var _this$props14 = _this.props,
|
|
502
|
+
editorView = _this$props14.editorView,
|
|
503
|
+
editorAnalyticsAPI = _this$props14.editorAnalyticsAPI;
|
|
497
504
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
498
505
|
var _getPluginState12 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
499
506
|
targetCellPosition = _getPluginState12.targetCellPosition;
|
|
@@ -507,12 +514,12 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
507
514
|
(0, _createClass2.default)(ContextualMenu, [{
|
|
508
515
|
key: "render",
|
|
509
516
|
value: function render() {
|
|
510
|
-
var _this$
|
|
511
|
-
isOpen = _this$
|
|
512
|
-
mountPoint = _this$
|
|
513
|
-
offset = _this$
|
|
514
|
-
boundariesElement = _this$
|
|
515
|
-
editorView = _this$
|
|
517
|
+
var _this$props15 = this.props,
|
|
518
|
+
isOpen = _this$props15.isOpen,
|
|
519
|
+
mountPoint = _this$props15.mountPoint,
|
|
520
|
+
offset = _this$props15.offset,
|
|
521
|
+
boundariesElement = _this$props15.boundariesElement,
|
|
522
|
+
editorView = _this$props15.editorView;
|
|
516
523
|
var _getPluginState13 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
517
524
|
isDragAndDropEnabled = _getPluginState13.isDragAndDropEnabled;
|
|
518
525
|
var items = isDragAndDropEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') ? this.createNewContextMenuItems() : this.createOriginalContextMenuItems();
|
|
@@ -24,7 +24,8 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
24
24
|
isOpen = _ref.isOpen,
|
|
25
25
|
pluginConfig = _ref.pluginConfig,
|
|
26
26
|
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
27
|
-
getEditorContainerWidth = _ref.getEditorContainerWidth
|
|
27
|
+
getEditorContainerWidth = _ref.getEditorContainerWidth,
|
|
28
|
+
getEditorFeatureFlags = _ref.getEditorFeatureFlags;
|
|
28
29
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
29
30
|
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
30
31
|
targetCellPosition = _getPluginState.targetCellPosition,
|
|
@@ -50,7 +51,7 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
50
51
|
mountTo: mountPoint,
|
|
51
52
|
boundariesElement: boundariesElement,
|
|
52
53
|
scrollableElement: scrollableElement,
|
|
53
|
-
fitHeight:
|
|
54
|
+
fitHeight: _consts.tablePopupMenuFitHeight,
|
|
54
55
|
fitWidth: isDragAndDropEnabled ? _consts.contextualMenuDropdownWidthDnD : _consts.contextualMenuDropdownWidth
|
|
55
56
|
// z-index value below is to ensure that this menu is above other floating menu
|
|
56
57
|
// in table, but below floating dialogs like typeaheads, pickers, etc.
|
|
@@ -72,7 +73,8 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
72
73
|
selectionRect: selectionRect,
|
|
73
74
|
boundariesElement: boundariesElement,
|
|
74
75
|
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
75
|
-
getEditorContainerWidth: getEditorContainerWidth
|
|
76
|
+
getEditorContainerWidth: getEditorContainerWidth,
|
|
77
|
+
getEditorFeatureFlags: getEditorFeatureFlags
|
|
76
78
|
})));
|
|
77
79
|
};
|
|
78
80
|
FloatingContextualMenu.displayName = 'FloatingContextualMenu';
|
|
@@ -185,7 +185,13 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
|
|
|
185
185
|
getEditorContainerWidth = _ref.getEditorContainerWidth,
|
|
186
186
|
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
187
187
|
pluginConfig = _ref.pluginConfig,
|
|
188
|
-
formatMessage = _ref.intl.formatMessage
|
|
188
|
+
formatMessage = _ref.intl.formatMessage,
|
|
189
|
+
fitHeight = _ref.fitHeight,
|
|
190
|
+
fitWidth = _ref.fitWidth,
|
|
191
|
+
mountPoint = _ref.mountPoint,
|
|
192
|
+
scrollableElement = _ref.scrollableElement,
|
|
193
|
+
boundariesElement = _ref.boundariesElement,
|
|
194
|
+
tablePreserveWidth = _ref.tablePreserveWidth;
|
|
189
195
|
var state = editorView.state,
|
|
190
196
|
dispatch = editorView.dispatch;
|
|
191
197
|
var selection = state.selection;
|
|
@@ -201,7 +207,7 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
|
|
|
201
207
|
var shouldMoveDisabled = index !== undefined && hasMergedCells(index)(selection);
|
|
202
208
|
var hasMergedCellsInTable = (0, _utils3.getMergedCellsPositions)(state.tr).length > 0;
|
|
203
209
|
var allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
|
|
204
|
-
var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired);
|
|
210
|
+
var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, tablePreserveWidth);
|
|
205
211
|
var _convertToDropdownIte = convertToDropdownItems(dragMenuConfig, formatMessage, selectionRect),
|
|
206
212
|
menuItems = _convertToDropdownIte.menuItems,
|
|
207
213
|
menuCallback = _convertToDropdownIte.menuCallback;
|
|
@@ -457,12 +463,17 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
|
|
|
457
463
|
section: {
|
|
458
464
|
hasSeparator: true
|
|
459
465
|
},
|
|
460
|
-
target: target,
|
|
461
466
|
items: menuItems,
|
|
462
467
|
onItemActivated: handleMenuItemActivated,
|
|
463
468
|
onMouseEnter: handleItemMouseEnter,
|
|
464
469
|
onMouseLeave: handleItemMouseLeave,
|
|
465
|
-
handleClose: closeMenu
|
|
470
|
+
handleClose: closeMenu,
|
|
471
|
+
fitHeight: fitHeight,
|
|
472
|
+
fitWidth: fitWidth,
|
|
473
|
+
direction: direction,
|
|
474
|
+
mountPoint: mountPoint,
|
|
475
|
+
boundariesElement: boundariesElement,
|
|
476
|
+
scrollableElement: scrollableElement
|
|
466
477
|
});
|
|
467
478
|
});
|
|
468
479
|
var _default = exports.default = (0, _reactIntlNext.injectIntl)(DragMenu);
|
|
@@ -1,32 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.DropdownMenu = void 0;
|
|
8
|
-
var
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
10
12
|
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
11
13
|
var _uiReact = require("@atlaskit/editor-common/ui-react");
|
|
14
|
+
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
12
15
|
var _menu = require("@atlaskit/menu");
|
|
13
16
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
17
|
var _consts = require("../consts");
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
/* eslint-disable @atlaskit/design-system/prefer-primitives */
|
|
21
|
+
|
|
15
22
|
var DropListWithOutsideListeners = (0, _uiReact.withReactEditorViewOuterListeners)(_ui.DropList);
|
|
16
23
|
var DropdownMenu = exports.DropdownMenu = function DropdownMenu(_ref) {
|
|
17
|
-
var
|
|
18
|
-
items = _ref.items,
|
|
24
|
+
var items = _ref.items,
|
|
19
25
|
section = _ref.section,
|
|
20
26
|
disableKeyboardHandling = _ref.disableKeyboardHandling,
|
|
21
27
|
onItemActivated = _ref.onItemActivated,
|
|
22
28
|
handleClose = _ref.handleClose,
|
|
23
29
|
onMouseEnter = _ref.onMouseEnter,
|
|
24
|
-
onMouseLeave = _ref.onMouseLeave
|
|
30
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
31
|
+
fitWidth = _ref.fitWidth,
|
|
32
|
+
fitHeight = _ref.fitHeight,
|
|
33
|
+
direction = _ref.direction,
|
|
34
|
+
mountPoint = _ref.mountPoint,
|
|
35
|
+
boundariesElement = _ref.boundariesElement,
|
|
36
|
+
scrollableElement = _ref.scrollableElement;
|
|
37
|
+
var _useState = (0, _react.useState)(['bottom', 'left']),
|
|
38
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
39
|
+
popupPlacement = _useState2[0],
|
|
40
|
+
setPopupPlacement = _useState2[1];
|
|
41
|
+
var _useState3 = (0, _react.useState)(null),
|
|
42
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
43
|
+
targetRefDiv = _useState4[0],
|
|
44
|
+
setTargetRefDiv = _useState4[1];
|
|
45
|
+
var handleRef = function handleRef(ref) {
|
|
46
|
+
setTargetRefDiv(ref);
|
|
47
|
+
};
|
|
25
48
|
var innerMenu = function innerMenu() {
|
|
26
49
|
return /*#__PURE__*/_react.default.createElement(DropListWithOutsideListeners, {
|
|
27
50
|
isOpen: true,
|
|
28
51
|
shouldFitContainer: true,
|
|
29
|
-
position:
|
|
52
|
+
position: popupPlacement.join(' '),
|
|
30
53
|
handleClickOutside: function handleClickOutside() {
|
|
31
54
|
return handleClose('editor');
|
|
32
55
|
},
|
|
@@ -41,7 +64,7 @@ var DropdownMenu = exports.DropdownMenu = function DropdownMenu(_ref) {
|
|
|
41
64
|
e.stopPropagation();
|
|
42
65
|
}
|
|
43
66
|
},
|
|
44
|
-
targetRef:
|
|
67
|
+
targetRef: targetRefDiv
|
|
45
68
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
46
69
|
style: {
|
|
47
70
|
height: 0,
|
|
@@ -70,7 +93,29 @@ var DropdownMenu = exports.DropdownMenu = function DropdownMenu(_ref) {
|
|
|
70
93
|
if (disableKeyboardHandling) {
|
|
71
94
|
return innerMenu();
|
|
72
95
|
}
|
|
73
|
-
|
|
96
|
+
|
|
97
|
+
// more offsets calculation as offsets depend on the direction and updated placement here
|
|
98
|
+
var offsetY = direction === 'row' ? popupPlacement[0] === 'bottom' ? -8 : -34 : 0;
|
|
99
|
+
var offsetX = direction === 'column' ? popupPlacement[1] === 'left' ? 0 : -7 : 0;
|
|
100
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
101
|
+
className: "drag-dropdown-menu-wrapper"
|
|
102
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
103
|
+
className: "drag-dropdown-menu-popup-ref",
|
|
104
|
+
ref: handleRef
|
|
105
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.Popup, {
|
|
106
|
+
target: targetRefDiv,
|
|
107
|
+
mountTo: mountPoint,
|
|
108
|
+
boundariesElement: boundariesElement,
|
|
109
|
+
scrollableElement: scrollableElement,
|
|
110
|
+
onPlacementChanged: function onPlacementChanged(placement) {
|
|
111
|
+
setPopupPlacement(placement);
|
|
112
|
+
},
|
|
113
|
+
fitHeight: fitHeight,
|
|
114
|
+
fitWidth: fitWidth,
|
|
115
|
+
zIndex: _editorSharedStyles.akEditorFloatingPanelZIndex,
|
|
116
|
+
offset: [offsetX, offsetY],
|
|
117
|
+
allowOutOfBounds: true // required as this popup is child of a parent popup, should be allowed to be out of bound of the parent popup, otherwise horizontal offset is not right
|
|
118
|
+
}, /*#__PURE__*/_react.default.createElement(_uiMenu.ArrowKeyNavigationProvider, {
|
|
74
119
|
closeOnTab: true,
|
|
75
120
|
type: _uiMenu.ArrowKeyNavigationType.MENU,
|
|
76
121
|
onSelection: function onSelection(index) {
|
|
@@ -119,5 +164,5 @@ var DropdownMenu = exports.DropdownMenu = function DropdownMenu(_ref) {
|
|
|
119
164
|
});
|
|
120
165
|
}
|
|
121
166
|
}
|
|
122
|
-
}, innerMenu());
|
|
167
|
+
}, innerMenu())));
|
|
123
168
|
};
|