@atlaskit/editor-plugin-table 19.0.1 → 21.0.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 +47 -0
- package/dist/cjs/nodeviews/TableComponent.js +2 -2
- package/dist/cjs/nodeviews/TableResizer.js +2 -2
- package/dist/cjs/nodeviews/table.js +18 -2
- package/dist/cjs/nodeviews/toDOM.js +18 -4
- package/dist/cjs/pm-plugins/main.js +38 -4
- package/dist/cjs/pm-plugins/table-width.js +10 -0
- package/dist/cjs/pm-plugins/transforms/content-mode.js +48 -0
- package/dist/cjs/pm-plugins/transforms/fix-tables.js +4 -35
- package/dist/cjs/pm-plugins/transforms/table-transform-utils.js +62 -0
- package/dist/cjs/pm-plugins/utils/decoration.js +2 -2
- package/dist/cjs/pm-plugins/utils/tableMode.js +149 -0
- package/dist/cjs/pm-plugins/view-mode-sort/index.js +2 -2
- package/dist/cjs/ui/ColumnResizeWidget/index.js +2 -2
- package/dist/cjs/ui/DragHandle/index.js +2 -2
- package/dist/cjs/ui/FloatingContextualButton/index.js +2 -2
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +2 -2
- package/dist/cjs/ui/FloatingDeleteButton/DeleteButton.js +2 -2
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +2 -2
- package/dist/cjs/ui/FloatingInsertButton/InsertButton.js +3 -3
- package/dist/cjs/ui/FloatingInsertButton/index.js +2 -2
- package/dist/cjs/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +2 -2
- package/dist/cjs/ui/TableFloatingControls/CornerControls/DragCornerControls.js +3 -3
- package/dist/cjs/ui/TableFloatingControls/RowControls/ClassicControls.js +2 -2
- package/dist/cjs/ui/TableFullWidthLabel/index.js +2 -2
- package/dist/cjs/ui/event-handlers.js +3 -2
- package/dist/cjs/ui/toolbar.js +25 -2
- package/dist/es2019/nodeviews/TableComponent.js +1 -1
- package/dist/es2019/nodeviews/TableResizer.js +1 -1
- package/dist/es2019/nodeviews/table.js +18 -2
- package/dist/es2019/nodeviews/toDOM.js +18 -4
- package/dist/es2019/pm-plugins/main.js +38 -4
- package/dist/es2019/pm-plugins/table-width.js +10 -0
- package/dist/es2019/pm-plugins/transforms/content-mode.js +39 -0
- package/dist/es2019/pm-plugins/transforms/fix-tables.js +2 -33
- package/dist/es2019/pm-plugins/transforms/table-transform-utils.js +56 -0
- package/dist/es2019/pm-plugins/utils/decoration.js +1 -1
- package/dist/es2019/pm-plugins/utils/tableMode.js +148 -0
- package/dist/es2019/pm-plugins/view-mode-sort/index.js +1 -1
- package/dist/es2019/ui/ColumnResizeWidget/index.js +1 -1
- package/dist/es2019/ui/DragHandle/index.js +1 -1
- package/dist/es2019/ui/FloatingContextualButton/index.js +1 -1
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
- package/dist/es2019/ui/FloatingDeleteButton/DeleteButton.js +1 -1
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +1 -1
- package/dist/es2019/ui/FloatingInsertButton/InsertButton.js +1 -1
- package/dist/es2019/ui/FloatingInsertButton/index.js +1 -1
- package/dist/es2019/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +1 -1
- package/dist/es2019/ui/TableFloatingControls/CornerControls/DragCornerControls.js +1 -1
- package/dist/es2019/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
- package/dist/es2019/ui/TableFullWidthLabel/index.js +1 -1
- package/dist/es2019/ui/event-handlers.js +4 -3
- package/dist/es2019/ui/toolbar.js +23 -2
- package/dist/esm/nodeviews/TableComponent.js +1 -1
- package/dist/esm/nodeviews/TableResizer.js +1 -1
- package/dist/esm/nodeviews/table.js +18 -2
- package/dist/esm/nodeviews/toDOM.js +18 -4
- package/dist/esm/pm-plugins/main.js +38 -4
- package/dist/esm/pm-plugins/table-width.js +10 -0
- package/dist/esm/pm-plugins/transforms/content-mode.js +41 -0
- package/dist/esm/pm-plugins/transforms/fix-tables.js +2 -33
- package/dist/esm/pm-plugins/transforms/table-transform-utils.js +56 -0
- package/dist/esm/pm-plugins/utils/decoration.js +1 -1
- package/dist/esm/pm-plugins/utils/tableMode.js +143 -0
- package/dist/esm/pm-plugins/view-mode-sort/index.js +1 -1
- package/dist/esm/ui/ColumnResizeWidget/index.js +1 -1
- package/dist/esm/ui/DragHandle/index.js +1 -1
- package/dist/esm/ui/FloatingContextualButton/index.js +1 -1
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
- package/dist/esm/ui/FloatingDeleteButton/DeleteButton.js +1 -1
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +1 -1
- package/dist/esm/ui/FloatingInsertButton/InsertButton.js +1 -1
- package/dist/esm/ui/FloatingInsertButton/index.js +1 -1
- package/dist/esm/ui/TableFloatingControls/CornerControls/ClassicCornerControls.js +1 -1
- package/dist/esm/ui/TableFloatingControls/CornerControls/DragCornerControls.js +1 -1
- package/dist/esm/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
- package/dist/esm/ui/TableFullWidthLabel/index.js +1 -1
- package/dist/esm/ui/event-handlers.js +4 -3
- package/dist/esm/ui/toolbar.js +25 -2
- package/dist/types/nodeviews/TableComponent.d.ts +2 -2
- package/dist/types/pm-plugins/commands/column-resize.d.ts +1 -1
- package/dist/types/pm-plugins/commands/commands-with-analytics.d.ts +1 -1
- package/dist/types/pm-plugins/commands/go-to-next-cell.d.ts +1 -1
- package/dist/types/pm-plugins/commands/selection.d.ts +1 -1
- package/dist/types/pm-plugins/decorations/utils/column-resizing.d.ts +1 -1
- package/dist/types/pm-plugins/drag-and-drop/commands-with-analytics.d.ts +1 -1
- package/dist/types/pm-plugins/keymap.d.ts +1 -1
- package/dist/types/pm-plugins/main.d.ts +1 -1
- package/dist/types/pm-plugins/table-selection-keymap.d.ts +1 -1
- package/dist/types/pm-plugins/transforms/content-mode.d.ts +8 -0
- package/dist/types/pm-plugins/transforms/table-transform-utils.d.ts +11 -0
- package/dist/types/pm-plugins/utils/decoration.d.ts +1 -1
- package/dist/types/pm-plugins/utils/table.d.ts +1 -1
- package/dist/types/pm-plugins/utils/tableMode.d.ts +22 -0
- package/dist/types/types/index.d.ts +4 -1
- package/dist/types/ui/DragHandle/index.d.ts +2 -2
- package/dist/types/ui/FloatingContextualMenu/ContextualMenu.d.ts +2 -2
- package/dist/types/ui/FloatingDeleteButton/DeleteButton.d.ts +2 -2
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
- package/dist/types/ui/FloatingInsertButton/InsertButton.d.ts +3 -3
- package/dist/types/ui/FloatingInsertButton/index.d.ts +2 -2
- package/dist/types/ui/TableFloatingControls/CornerControls/ClassicCornerControls.d.ts +2 -2
- package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +3 -3
- package/dist/types/ui/TableFloatingControls/RowControls/ClassicControls.d.ts +2 -2
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/commands/column-resize.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/commands/commands-with-analytics.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/commands/go-to-next-cell.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/commands/selection.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/decorations/utils/column-resizing.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/drag-and-drop/commands-with-analytics.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-selection-keymap.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/transforms/content-mode.d.ts +8 -0
- package/dist/types-ts4.5/pm-plugins/transforms/table-transform-utils.d.ts +11 -0
- package/dist/types-ts4.5/pm-plugins/utils/decoration.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/utils/table.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/utils/tableMode.d.ts +22 -0
- package/dist/types-ts4.5/types/index.d.ts +4 -1
- package/dist/types-ts4.5/ui/DragHandle/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/FloatingContextualMenu/ContextualMenu.d.ts +2 -2
- package/dist/types-ts4.5/ui/FloatingDeleteButton/DeleteButton.d.ts +2 -2
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
- package/dist/types-ts4.5/ui/FloatingInsertButton/InsertButton.d.ts +3 -3
- package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/ClassicCornerControls.d.ts +2 -2
- package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +3 -3
- package/dist/types-ts4.5/ui/TableFloatingControls/RowControls/ClassicControls.d.ts +2 -2
- package/package.json +25 -21
- package/report.api.md +1 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isTableInContentMode = exports.isContentModeSupported = exports.hasTableBeenResized = exports.applyMeasuredWidthToSelectedTable = exports.applyMeasuredWidthToAllTables = void 0;
|
|
7
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
8
|
+
var _styles = require("@atlaskit/editor-common/styles");
|
|
9
|
+
var _utils = require("@atlaskit/editor-tables/utils");
|
|
10
|
+
var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
|
|
11
|
+
var _colgroup = require("../table-resizing/utils/colgroup");
|
|
12
|
+
var _contentMode = require("../transforms/content-mode");
|
|
13
|
+
var _alignment = require("./alignment");
|
|
14
|
+
var isTableInContentMode = exports.isTableInContentMode = function isTableInContentMode(_ref) {
|
|
15
|
+
var allowColumnResizing = _ref.allowColumnResizing,
|
|
16
|
+
allowTableResizing = _ref.allowTableResizing,
|
|
17
|
+
isFullPageEditor = _ref.isFullPageEditor,
|
|
18
|
+
isTableNested = _ref.isTableNested,
|
|
19
|
+
node = _ref.node;
|
|
20
|
+
if (!(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_table_fit_to_content_auto_convert', 'isEnabled', true)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (!node || isTableNested) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return isContentModeSupported({
|
|
27
|
+
allowColumnResizing: allowColumnResizing,
|
|
28
|
+
allowTableResizing: allowTableResizing,
|
|
29
|
+
isFullPageEditor: isFullPageEditor
|
|
30
|
+
}) && !hasTableBeenResized(node) && node.attrs.layout === _alignment.ALIGN_START;
|
|
31
|
+
};
|
|
32
|
+
var isContentModeSupported = exports.isContentModeSupported = function isContentModeSupported(_ref2) {
|
|
33
|
+
var allowColumnResizing = _ref2.allowColumnResizing,
|
|
34
|
+
allowTableResizing = _ref2.allowTableResizing,
|
|
35
|
+
isFullPageEditor = _ref2.isFullPageEditor;
|
|
36
|
+
return allowColumnResizing && allowTableResizing && isFullPageEditor;
|
|
37
|
+
};
|
|
38
|
+
var hasTableBeenResized = exports.hasTableBeenResized = function hasTableBeenResized(node) {
|
|
39
|
+
return node.attrs.width !== null || (0, _colgroup.hasTableColumnBeenResized)(node);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Iterates all top-level tables in the document, and for those in content mode,
|
|
44
|
+
* measures rendered column widths and sets colwidth + table width attributes
|
|
45
|
+
* in a single batched transaction.
|
|
46
|
+
*/
|
|
47
|
+
var applyMeasuredWidthToAllTables = exports.applyMeasuredWidthToAllTables = function applyMeasuredWidthToAllTables(view, pluginInjectionApi) {
|
|
48
|
+
var _view$state = view.state,
|
|
49
|
+
doc = _view$state.doc,
|
|
50
|
+
schema = _view$state.schema;
|
|
51
|
+
var tr = view.state.tr;
|
|
52
|
+
var table = schema.nodes.table;
|
|
53
|
+
var modified = false;
|
|
54
|
+
var measuredTables = [];
|
|
55
|
+
|
|
56
|
+
// modify only top-level tables
|
|
57
|
+
doc.forEach(function (node, offset) {
|
|
58
|
+
if (node.type !== table || hasTableBeenResized(node) && node.attrs.layout !== _alignment.ALIGN_START) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
var domNode = view.domAtPos(offset + 1).node;
|
|
62
|
+
var tableWrapper = domNode instanceof HTMLElement ? domNode.closest(".".concat(_styles.TableSharedCssClassName.TABLE_VIEW_CONTENT_WRAP)) : null;
|
|
63
|
+
var tableRef = tableWrapper === null || tableWrapper === void 0 ? void 0 : tableWrapper.querySelector('table');
|
|
64
|
+
if (!tableRef) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
measuredTables.push({
|
|
68
|
+
node: node,
|
|
69
|
+
offset: offset,
|
|
70
|
+
measurement: (0, _contentMode.getTableMeasurement)(tableRef)
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
measuredTables.forEach(function (_ref3) {
|
|
74
|
+
var node = _ref3.node,
|
|
75
|
+
offset = _ref3.offset,
|
|
76
|
+
measurement = _ref3.measurement;
|
|
77
|
+
tr = (0, _contentMode.applyTableMeasurement)(tr, node, measurement, offset);
|
|
78
|
+
modified = true;
|
|
79
|
+
});
|
|
80
|
+
if (modified) {
|
|
81
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$w, _pluginInjectionApi$w2;
|
|
82
|
+
pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 || (_pluginInjectionApi$a = _pluginInjectionApi$a.actions) === null || _pluginInjectionApi$a === void 0 || _pluginInjectionApi$a.attachAnalyticsEvent({
|
|
83
|
+
action: _analytics.TABLE_ACTION.FIT_TO_CONTENT_AUTO_CONVERTED,
|
|
84
|
+
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
85
|
+
actionSubjectId: null,
|
|
86
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
87
|
+
attributes: {
|
|
88
|
+
editorContainerWidth: (_pluginInjectionApi$w = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$w2 = pluginInjectionApi.width) === null || _pluginInjectionApi$w2 === void 0 || (_pluginInjectionApi$w2 = _pluginInjectionApi$w2.sharedState.currentState()) === null || _pluginInjectionApi$w2 === void 0 ? void 0 : _pluginInjectionApi$w2.width) !== null && _pluginInjectionApi$w !== void 0 ? _pluginInjectionApi$w : 0,
|
|
89
|
+
totalTablesResized: measuredTables.length,
|
|
90
|
+
measurements: measuredTables.map(function (_ref4) {
|
|
91
|
+
var measurement = _ref4.measurement;
|
|
92
|
+
return {
|
|
93
|
+
tableWidth: measurement.tableWidth,
|
|
94
|
+
totalColumnCount: measurement.colWidths.length
|
|
95
|
+
};
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
})(tr);
|
|
99
|
+
view.dispatch(tr.setMeta('addToHistory', false));
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
var applyMeasuredWidthToSelectedTable = exports.applyMeasuredWidthToSelectedTable = function applyMeasuredWidthToSelectedTable(view, api) {
|
|
103
|
+
var _api$analytics, _api$width$sharedStat, _api$width;
|
|
104
|
+
var tableObject = (0, _utils.findTable)(view.state.selection);
|
|
105
|
+
if (!tableObject) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
var node = tableObject.node,
|
|
109
|
+
pos = tableObject.pos;
|
|
110
|
+
var tableState = api === null || api === void 0 ? void 0 : api.table.sharedState.currentState();
|
|
111
|
+
if (!(tableState !== null && tableState !== void 0 && tableState.tableRef)) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
var tableRef = tableState.tableRef;
|
|
115
|
+
|
|
116
|
+
// Instead of dispatching a transaction to "strip widths" and then waiting
|
|
117
|
+
// for a rAF to measure natural column widths, instea directly update the DOM elements and
|
|
118
|
+
// take a measurement.
|
|
119
|
+
var cols = Array.from(tableRef.querySelectorAll(':scope > colgroup > col'));
|
|
120
|
+
var contentWrap = tableRef.closest(".".concat(_styles.TableSharedCssClassName.TABLE_VIEW_CONTENT_WRAP));
|
|
121
|
+
var resizerContainer = contentWrap === null || contentWrap === void 0 ? void 0 : contentWrap.querySelector(".".concat(_styles.TableSharedCssClassName.TABLE_RESIZER_CONTAINER));
|
|
122
|
+
var resizerItem = resizerContainer === null || resizerContainer === void 0 ? void 0 : resizerContainer.querySelector('.resizer-item.display-handle');
|
|
123
|
+
tableRef.style.width = '';
|
|
124
|
+
tableRef.style.tableLayout = 'auto';
|
|
125
|
+
cols.forEach(function (col) {
|
|
126
|
+
return col.style.width = '';
|
|
127
|
+
});
|
|
128
|
+
if (resizerContainer) {
|
|
129
|
+
resizerContainer.style.width = 'max-content';
|
|
130
|
+
resizerContainer.style.setProperty('--ak-editor-table-width', 'max-content');
|
|
131
|
+
}
|
|
132
|
+
if (resizerItem) {
|
|
133
|
+
resizerItem.style.width = 'max-content';
|
|
134
|
+
}
|
|
135
|
+
var measurement = (0, _contentMode.getTableMeasurement)(tableRef);
|
|
136
|
+
var tr = (0, _contentMode.applyTableMeasurement)(view.state.tr, node, measurement, pos);
|
|
137
|
+
api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 || _api$analytics.attachAnalyticsEvent({
|
|
138
|
+
action: _analytics.TABLE_ACTION.FIT_TO_CONTENT_ON_DEMAND,
|
|
139
|
+
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
140
|
+
actionSubjectId: null,
|
|
141
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
142
|
+
attributes: {
|
|
143
|
+
editorContainerWidth: (_api$width$sharedStat = api === null || api === void 0 || (_api$width = api.width) === null || _api$width === void 0 || (_api$width = _api$width.sharedState.currentState()) === null || _api$width === void 0 ? void 0 : _api$width.width) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : 0,
|
|
144
|
+
tableWidth: measurement.tableWidth,
|
|
145
|
+
totalColumnCount: measurement.colWidths.length
|
|
146
|
+
}
|
|
147
|
+
})(tr);
|
|
148
|
+
view.dispatch(tr);
|
|
149
|
+
};
|
|
@@ -9,7 +9,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _react = require("react");
|
|
12
|
-
var
|
|
12
|
+
var _reactIntl = require("react-intl");
|
|
13
13
|
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
14
14
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
15
15
|
var _types = require("@atlaskit/editor-common/types");
|
|
@@ -131,7 +131,7 @@ var createPlugin = exports.createPlugin = function createPlugin(api, nodeViewPor
|
|
|
131
131
|
var _getPluginState = (0, _pluginFactory.getPluginState)(oldState),
|
|
132
132
|
getIntl = _getPluginState.getIntl;
|
|
133
133
|
nodeViewPortalProviderAPI.render(function () {
|
|
134
|
-
return /*#__PURE__*/(0, _react.createElement)(
|
|
134
|
+
return /*#__PURE__*/(0, _react.createElement)(_reactIntl.RawIntlProvider, {
|
|
135
135
|
value: getIntl()
|
|
136
136
|
}, /*#__PURE__*/(0, _react.createElement)(_SortingIconWrapper.SortingIconWrapper, {
|
|
137
137
|
isSortingAllowed: !hasMergedCells,
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ColumnResizeWidget = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _react = require("@emotion/react");
|
|
10
|
-
var
|
|
10
|
+
var _reactIntl = require("react-intl");
|
|
11
11
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
12
12
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
13
13
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
@@ -22,7 +22,7 @@ var ColumnResizeWidget = exports.ColumnResizeWidget = function ColumnResizeWidge
|
|
|
22
22
|
var startIndex = _ref.startIndex,
|
|
23
23
|
endIndex = _ref.endIndex,
|
|
24
24
|
includeTooltip = _ref.includeTooltip;
|
|
25
|
-
var _useIntl = (0,
|
|
25
|
+
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
26
26
|
formatMessage = _useIntl.formatMessage;
|
|
27
27
|
if (!includeTooltip) {
|
|
28
28
|
return (0, _react.jsx)("div", {
|
|
@@ -11,7 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
13
13
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
14
|
-
var
|
|
14
|
+
var _reactIntl = require("react-intl");
|
|
15
15
|
var _browser = require("@atlaskit/editor-common/browser");
|
|
16
16
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
17
17
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
@@ -254,4 +254,4 @@ var DragHandleComponent = function DragHandleComponent(_ref) {
|
|
|
254
254
|
height: previewHeight
|
|
255
255
|
}), previewContainer));
|
|
256
256
|
};
|
|
257
|
-
var DragHandle = exports.DragHandle = (0,
|
|
257
|
+
var DragHandle = exports.DragHandle = (0, _reactIntl.injectIntl)(DragHandleComponent);
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = _default;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _react2 = require("@emotion/react");
|
|
11
|
-
var
|
|
11
|
+
var _reactIntl = require("react-intl");
|
|
12
12
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
13
|
var _errorBoundary = require("@atlaskit/editor-common/error-boundary");
|
|
14
14
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
@@ -174,7 +174,7 @@ var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (p
|
|
|
174
174
|
zIndex: _editorSharedStyles.akEditorSmallZIndex
|
|
175
175
|
}, button);
|
|
176
176
|
});
|
|
177
|
-
var FloatingContextualButton = (0,
|
|
177
|
+
var FloatingContextualButton = (0, _reactIntl.injectIntl)(FloatingContextualButtonInner);
|
|
178
178
|
function _default(props) {
|
|
179
179
|
return (0, _react2.jsx)(_errorBoundary.ErrorBoundary, {
|
|
180
180
|
component: _analytics.ACTION_SUBJECT.FLOATING_CONTEXTUAL_BUTTON,
|
|
@@ -15,7 +15,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
var _react2 = require("@emotion/react");
|
|
18
|
-
var
|
|
18
|
+
var _reactIntl = require("react-intl");
|
|
19
19
|
var _customSteps = require("@atlaskit/custom-steps");
|
|
20
20
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
21
21
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
@@ -823,4 +823,4 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
823
823
|
(0, _defineProperty2.default)(ContextualMenu, "defaultProps", {
|
|
824
824
|
boundariesElement: typeof document !== 'undefined' ? document.body : undefined
|
|
825
825
|
});
|
|
826
|
-
var _default = exports.default = (0,
|
|
826
|
+
var _default = exports.default = (0, _reactIntl.injectIntl)(ContextualMenu);
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var
|
|
9
|
+
var _reactIntl = require("react-intl");
|
|
10
10
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
11
11
|
var _types = require("../../types");
|
|
12
12
|
var DeleteButton = function DeleteButton(_ref) {
|
|
@@ -46,4 +46,4 @@ var DeleteButton = function DeleteButton(_ref) {
|
|
|
46
46
|
fillRule: "evenodd"
|
|
47
47
|
}))));
|
|
48
48
|
};
|
|
49
|
-
var _default = exports.default = (0,
|
|
49
|
+
var _default = exports.default = (0, _reactIntl.injectIntl)(DeleteButton);
|
|
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _react2 = require("@emotion/react");
|
|
13
|
-
var
|
|
13
|
+
var _reactIntl = require("react-intl");
|
|
14
14
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
15
15
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
16
16
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
@@ -592,4 +592,4 @@ var DragMenu = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
592
592
|
scrollableElement: scrollableElement
|
|
593
593
|
}));
|
|
594
594
|
});
|
|
595
|
-
var _default = exports.default = (0,
|
|
595
|
+
var _default = exports.default = (0, _reactIntl.injectIntl)(DragMenu);
|
|
@@ -8,7 +8,7 @@ exports.default = exports.DragAndDropInsertButton = void 0;
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var
|
|
11
|
+
var _reactIntl = require("react-intl");
|
|
12
12
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
13
13
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
14
14
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
@@ -124,7 +124,7 @@ var InsertButtonForDragAndDrop = function InsertButtonForDragAndDrop(_ref2) {
|
|
|
124
124
|
}, content))
|
|
125
125
|
);
|
|
126
126
|
};
|
|
127
|
-
var DragAndDropInsertButton = exports.DragAndDropInsertButton = (0,
|
|
127
|
+
var DragAndDropInsertButton = exports.DragAndDropInsertButton = (0, _reactIntl.injectIntl)(InsertButtonForDragAndDrop);
|
|
128
128
|
var InsertButton = function InsertButton(_ref3) {
|
|
129
129
|
var onMouseDown = _ref3.onMouseDown,
|
|
130
130
|
tableRef = _ref3.tableRef,
|
|
@@ -175,4 +175,4 @@ var InsertButton = function InsertButton(_ref3) {
|
|
|
175
175
|
}, content))
|
|
176
176
|
);
|
|
177
177
|
};
|
|
178
|
-
var _default = exports.default = (0,
|
|
178
|
+
var _default = exports.default = (0, _reactIntl.injectIntl)(InsertButton);
|
|
@@ -14,7 +14,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
14
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
var
|
|
17
|
+
var _reactIntl = require("react-intl");
|
|
18
18
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
19
19
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
20
20
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
@@ -235,4 +235,4 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
|
|
|
235
235
|
}]);
|
|
236
236
|
}(_react.default.Component);
|
|
237
237
|
(0, _defineProperty2.default)(FloatingInsertButton, "displayName", 'FloatingInsertButton');
|
|
238
|
-
var _default = exports.default = (0,
|
|
238
|
+
var _default = exports.default = (0, _reactIntl.injectIntl)(FloatingInsertButton);
|
|
@@ -14,7 +14,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
-
var
|
|
17
|
+
var _reactIntl = require("react-intl");
|
|
18
18
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
19
19
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
20
20
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
@@ -122,4 +122,4 @@ var CornerControlComponent = /*#__PURE__*/function (_Component) {
|
|
|
122
122
|
}
|
|
123
123
|
}]);
|
|
124
124
|
}(_react.Component);
|
|
125
|
-
var CornerControls = exports.CornerControls = (0,
|
|
125
|
+
var CornerControls = exports.CornerControls = (0, _reactIntl.injectIntl)(CornerControlComponent);
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.DragCornerControlsWithSelection = exports.DragCornerControls = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var
|
|
11
|
+
var _reactIntl = require("react-intl");
|
|
12
12
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
13
13
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
14
14
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
@@ -110,5 +110,5 @@ var DragCornerControlsComponentWithSelection = function DragCornerControlsCompon
|
|
|
110
110
|
className: _types.TableCssClassName.DRAG_CORNER_BUTTON_INNER
|
|
111
111
|
}));
|
|
112
112
|
};
|
|
113
|
-
var DragCornerControlsWithSelection = exports.DragCornerControlsWithSelection = (0,
|
|
114
|
-
var DragCornerControls = exports.DragCornerControls = (0,
|
|
113
|
+
var DragCornerControlsWithSelection = exports.DragCornerControlsWithSelection = (0, _reactIntl.injectIntl)(DragCornerControlsComponentWithSelection);
|
|
114
|
+
var DragCornerControls = exports.DragCornerControls = (0, _reactIntl.injectIntl)(DragCornerControlsComponent);
|
|
@@ -13,7 +13,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
13
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
-
var
|
|
16
|
+
var _reactIntl = require("react-intl");
|
|
17
17
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
18
18
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
19
19
|
var _commands = require("../../../pm-plugins/commands");
|
|
@@ -121,4 +121,4 @@ var RowControlsComponent = /*#__PURE__*/function (_Component) {
|
|
|
121
121
|
}
|
|
122
122
|
}]);
|
|
123
123
|
}(_react.Component);
|
|
124
|
-
var RowControls = exports.RowControls = (0,
|
|
124
|
+
var RowControls = exports.RowControls = (0, _reactIntl.injectIntl)(RowControlsComponent);
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.FullWidthDisplay = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var
|
|
9
|
+
var _reactIntl = require("react-intl");
|
|
10
10
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
11
|
var _primitives = require("@atlaskit/primitives");
|
|
12
12
|
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
|
|
@@ -31,7 +31,7 @@ var tableFullWidthLabelStyles = (0, _primitives.xcss)({
|
|
|
31
31
|
paddingBottom: 'space.050'
|
|
32
32
|
});
|
|
33
33
|
var FullWidthDisplay = exports.FullWidthDisplay = function FullWidthDisplay() {
|
|
34
|
-
var _useIntl = (0,
|
|
34
|
+
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
35
35
|
formatMessage = _useIntl.formatMessage;
|
|
36
36
|
return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
|
|
37
37
|
xcss: tableFullWidthLabelWrapperStyles
|
|
@@ -10,6 +10,7 @@ exports.withCellTracking = exports.whenTableInFocus = exports.isTableInFocus = v
|
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
var _rafSchd = _interopRequireDefault(require("raf-schd"));
|
|
12
12
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
|
+
var _browser = require("@atlaskit/editor-common/browser");
|
|
13
14
|
var _nesting = require("@atlaskit/editor-common/nesting");
|
|
14
15
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
15
16
|
var _state5 = require("@atlaskit/editor-prosemirror/state");
|
|
@@ -48,7 +49,7 @@ var handleBlur = exports.handleBlur = function handleBlur(view, event) {
|
|
|
48
49
|
dispatch = view.dispatch;
|
|
49
50
|
// IE version check for ED-4665
|
|
50
51
|
// Calendar focus check for ED-10466
|
|
51
|
-
if (
|
|
52
|
+
if ((0, _browser.getBrowserInfo)().ie_version !== 11 && !isFocusingCalendar(event) && !isFocusingModal(event) && !isFocusingFloatingToolbar(event) && !isFocusingDragHandles(event) && !isFocusingDragHandlesClickableZone(event)) {
|
|
52
53
|
(0, _commands.setEditorFocus)(false)(state, dispatch);
|
|
53
54
|
}
|
|
54
55
|
event.preventDefault();
|
|
@@ -358,7 +359,7 @@ var handleMouseMove = exports.handleMouseMove = function handleMouseMove(nodeVie
|
|
|
358
359
|
// a reflow. So for now this will just grab the offsetX value immediately for gecko and chrome will calculate later
|
|
359
360
|
// in the deferred callback handler.
|
|
360
361
|
// Bug Tracking: https://bugzilla.mozilla.org/show_bug.cgi?id=1882903
|
|
361
|
-
handleMouseMoveDebounce(nodeViewPortalProviderAPI)(view, event,
|
|
362
|
+
handleMouseMoveDebounce(nodeViewPortalProviderAPI)(view, event, (0, _browser.getBrowserInfo)().gecko ? event.offsetX : NaN);
|
|
362
363
|
return false;
|
|
363
364
|
};
|
|
364
365
|
};
|
package/dist/cjs/ui/toolbar.js
CHANGED
|
@@ -33,6 +33,7 @@ var _alignImageLeft = _interopRequireDefault(require("@atlaskit/icon/core/align-
|
|
|
33
33
|
var _copy = _interopRequireDefault(require("@atlaskit/icon/core/copy"));
|
|
34
34
|
var _customize = _interopRequireDefault(require("@atlaskit/icon/core/customize"));
|
|
35
35
|
var _delete = _interopRequireDefault(require("@atlaskit/icon/core/delete"));
|
|
36
|
+
var _shrinkHorizontal = _interopRequireDefault(require("@atlaskit/icon/core/shrink-horizontal"));
|
|
36
37
|
var _tableColumnsDistribute = _interopRequireDefault(require("@atlaskit/icon/core/table-columns-distribute"));
|
|
37
38
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
38
39
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
@@ -49,6 +50,7 @@ var _alignment = require("../pm-plugins/utils/alignment");
|
|
|
49
50
|
var _nodes = require("../pm-plugins/utils/nodes");
|
|
50
51
|
var _selection = require("../pm-plugins/utils/selection");
|
|
51
52
|
var _table = require("../pm-plugins/utils/table");
|
|
53
|
+
var _tableMode = require("../pm-plugins/utils/tableMode");
|
|
52
54
|
var _types = require("../types");
|
|
53
55
|
var _FloatingAlignmentButtons = require("./FloatingAlignmentButtons/FloatingAlignmentButtons");
|
|
54
56
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
@@ -448,7 +450,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
448
450
|
// We don't want to show floating toolbar while resizing the table
|
|
449
451
|
var isWidthResizing = tableWidthState === null || tableWidthState === void 0 ? void 0 : tableWidthState.resizing;
|
|
450
452
|
if (tableObject && pluginState.editorHasFocus && !isWidthResizing) {
|
|
451
|
-
var _api$limitedMode$shar, _api$limitedMode, _api$extension, _api$extension2;
|
|
453
|
+
var _api$limitedMode$shar, _api$limitedMode, _api$editorViewMode2, _api$extension, _api$extension2;
|
|
452
454
|
var isNested = pluginState.tablePos && (0, _nodes.isTableNested)(state, pluginState.tablePos);
|
|
453
455
|
var isTableScalingWithFixedColumnWidthsOptionShown = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled && !isNested;
|
|
454
456
|
var areTableColumWidthsFixed = tableObject.node.attrs.displayMode === 'fixed';
|
|
@@ -478,6 +480,27 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
478
480
|
var cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, editorView, intl, getEditorContainerWidth, api, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, options === null || options === void 0 ? void 0 : options.isCommentEditor, isLimitedModeEnabled);
|
|
479
481
|
var columnSettingsItems = pluginState.isDragAndDropEnabled ? getColumnSettingItems(state, editorView, intl, getEditorContainerWidth, api, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, options === null || options === void 0 ? void 0 : options.isCommentEditor, isLimitedModeEnabled) : [];
|
|
480
482
|
var colorPicker = !areAnyNewToolbarFlagsEnabled ? getColorPicker(state, menu, intl, editorAnalyticsAPI, getEditorView) : [];
|
|
483
|
+
var fitToContentButton = (0, _tableMode.isContentModeSupported)({
|
|
484
|
+
allowColumnResizing: !!pluginState.pluginConfig.allowColumnResizing,
|
|
485
|
+
allowTableResizing: !!pluginState.pluginConfig.allowTableResizing,
|
|
486
|
+
isFullPageEditor: !pluginState.isChromelessEditor && !pluginState.isCommentEditor
|
|
487
|
+
}) && !isNested && (api === null || api === void 0 || (_api$editorViewMode2 = api.editorViewMode) === null || _api$editorViewMode2 === void 0 || (_api$editorViewMode2 = _api$editorViewMode2.sharedState.currentState()) === null || _api$editorViewMode2 === void 0 ? void 0 : _api$editorViewMode2.mode) !== 'view' && (0, _expValEquals.expValEquals)('platform_editor_table_fit_to_content_on_demand', 'isEnabled', true) ? [{
|
|
488
|
+
id: 'editor.table.fitToContent',
|
|
489
|
+
type: 'button',
|
|
490
|
+
title: intl.formatMessage(_messages.tableMessages.fitToContent),
|
|
491
|
+
icon: function icon() {
|
|
492
|
+
return (0, _react.jsx)(_shrinkHorizontal.default, {
|
|
493
|
+
spacing: 'spacious',
|
|
494
|
+
label: ''
|
|
495
|
+
});
|
|
496
|
+
},
|
|
497
|
+
onClick: function onClick(_state, _dispatch, view) {
|
|
498
|
+
if (view) {
|
|
499
|
+
(0, _tableMode.applyMeasuredWidthToSelectedTable)(view, api !== null && api !== void 0 ? api : undefined);
|
|
500
|
+
}
|
|
501
|
+
return true;
|
|
502
|
+
}
|
|
503
|
+
}] : [];
|
|
481
504
|
|
|
482
505
|
// Check if we need to show confirm dialog for delete button
|
|
483
506
|
var confirmDialog;
|
|
@@ -556,7 +579,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
556
579
|
},
|
|
557
580
|
zIndex: _editorSharedStyles.akEditorFloatingPanelZIndex + 1,
|
|
558
581
|
// Place the context menu slightly above the others
|
|
559
|
-
items: [menu].concat((0, _toConsumableArray2.default)(!areAnyNewToolbarFlagsEnabled ? [separator(menu.hidden)] : []), (0, _toConsumableArray2.default)(alignmentMenu), (0, _toConsumableArray2.default)(!areAnyNewToolbarFlagsEnabled ? [separator(alignmentMenu.length === 0)] : []), (0, _toConsumableArray2.default)(cellItems), (0, _toConsumableArray2.default)(columnSettingsItems), (0, _toConsumableArray2.default)(colorPicker), (0, _toConsumableArray2.default)(!areAnyNewToolbarFlagsEnabled ? [{
|
|
582
|
+
items: [menu].concat((0, _toConsumableArray2.default)(!areAnyNewToolbarFlagsEnabled ? [separator(menu.hidden)] : []), (0, _toConsumableArray2.default)(alignmentMenu), (0, _toConsumableArray2.default)(!areAnyNewToolbarFlagsEnabled ? [separator(alignmentMenu.length === 0)] : []), (0, _toConsumableArray2.default)(cellItems), (0, _toConsumableArray2.default)(columnSettingsItems), fitToContentButton, (0, _toConsumableArray2.default)(colorPicker), (0, _toConsumableArray2.default)(!areAnyNewToolbarFlagsEnabled ? [{
|
|
560
583
|
type: 'extensions-placeholder',
|
|
561
584
|
separator: 'end'
|
|
562
585
|
}, copyButton, {
|
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import rafSchedule from 'raf-schd';
|
|
5
|
-
import { injectIntl } from 'react-intl
|
|
5
|
+
import { injectIntl } from 'react-intl';
|
|
6
6
|
import { getBrowserInfo } from '@atlaskit/editor-common/browser';
|
|
7
7
|
import { tintDirtyTransaction } from '@atlaskit/editor-common/collab';
|
|
8
8
|
import { getParentOfTypeCount } from '@atlaskit/editor-common/nesting';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import rafSchd from 'raf-schd';
|
|
3
|
-
import { useIntl } from 'react-intl
|
|
3
|
+
import { useIntl } from 'react-intl';
|
|
4
4
|
import { CHANGE_ALIGNMENT_REASON, INPUT_METHOD, TABLE_OVERFLOW_CHANGE_TRIGGER } from '@atlaskit/editor-common/analytics';
|
|
5
5
|
import { getBrowserInfo } from '@atlaskit/editor-common/browser';
|
|
6
6
|
import { getGuidelinesWithHighlights } from '@atlaskit/editor-common/guideline';
|
|
@@ -8,10 +8,12 @@ import { akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
|
|
|
8
8
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
9
9
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
10
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
11
|
+
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
11
12
|
import { pluginConfig as getPluginConfig } from '../pm-plugins/create-plugin-config';
|
|
12
13
|
import { getPluginState } from '../pm-plugins/plugin-factory';
|
|
13
14
|
import { pluginKey as tableWidthPluginKey } from '../pm-plugins/table-width';
|
|
14
15
|
import { isTableNested, tablesHaveDifferentColumnWidths } from '../pm-plugins/utils/nodes';
|
|
16
|
+
import { isTableInContentMode } from '../pm-plugins/utils/tableMode';
|
|
15
17
|
import { TableComponentWithSharedState } from './TableComponentWithSharedState';
|
|
16
18
|
import { tableNodeSpecWithFixedToDOM } from './toDOM';
|
|
17
19
|
const tableAttributes = node => {
|
|
@@ -176,17 +178,31 @@ export default class TableView extends ReactNodeView {
|
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
setDomAttrs(node) {
|
|
179
|
-
var _this$
|
|
181
|
+
var _this$reactComponentP8, _this$getEditorFeatur2, _this$options3, _this$options4;
|
|
180
182
|
if (!this.table) {
|
|
181
183
|
return; // width / attribute application to actual table will happen later when table is set
|
|
182
184
|
}
|
|
183
185
|
const attrs = tableAttributes(node);
|
|
186
|
+
if (expValEqualsNoExposure('platform_editor_table_fit_to_content_auto_convert', 'isEnabled', true)) {
|
|
187
|
+
var _this$reactComponentP6, _this$reactComponentP7;
|
|
188
|
+
if (isTableInContentMode({
|
|
189
|
+
node,
|
|
190
|
+
allowColumnResizing: !!this.reactComponentProps.allowColumnResizing,
|
|
191
|
+
allowTableResizing: !!this.reactComponentProps.allowTableResizing,
|
|
192
|
+
isFullPageEditor: !((_this$reactComponentP6 = this.reactComponentProps.options) !== null && _this$reactComponentP6 !== void 0 && _this$reactComponentP6.isCommentEditor) && !((_this$reactComponentP7 = this.reactComponentProps.options) !== null && _this$reactComponentP7 !== void 0 && _this$reactComponentP7.isChromelessEditor),
|
|
193
|
+
isTableNested: isTableNested(this.view.state, this.getPos())
|
|
194
|
+
}) && expValEquals('platform_editor_table_fit_to_content_auto_convert', 'isEnabled', true)) {
|
|
195
|
+
attrs['data-initial-width-mode'] = 'content';
|
|
196
|
+
} else {
|
|
197
|
+
this.table.removeAttribute('data-initial-width-mode');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
184
200
|
Object.keys(attrs).forEach(attr => {
|
|
185
201
|
// Ignored via go/ees005
|
|
186
202
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
187
203
|
this.table.setAttribute(attr, attrs[attr]);
|
|
188
204
|
});
|
|
189
|
-
const isTableFixedColumnWidthsOptionEnabled = (fg('platform_editor_table_fixed_column_width_prop') ? (_this$
|
|
205
|
+
const isTableFixedColumnWidthsOptionEnabled = (fg('platform_editor_table_fixed_column_width_prop') ? (_this$reactComponentP8 = this.reactComponentProps) === null || _this$reactComponentP8 === void 0 ? void 0 : _this$reactComponentP8.allowFixedColumnWidthOption : (_this$getEditorFeatur2 = this.getEditorFeatureFlags) === null || _this$getEditorFeatur2 === void 0 ? void 0 : _this$getEditorFeatur2.call(this).tableWithFixedColumnWidthsOption) || false;
|
|
190
206
|
// Preserve Table Width cannot have inline width set on the table
|
|
191
207
|
if (!((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.isTableScalingEnabled) || (_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled && node.attrs.displayMode === 'fixed') {
|
|
192
208
|
var _tableWidthPluginKey$;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
1
2
|
import kebabCase from 'lodash/kebabCase';
|
|
2
3
|
import { table, tableWithNestedTable } from '@atlaskit/adf-schema';
|
|
3
4
|
import { convertToInlineCss } from '@atlaskit/editor-common/lazy-node-view';
|
|
@@ -5,15 +6,23 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
|
5
6
|
import { generateColgroupFromNode, getResizerMinWidth } from '../pm-plugins/table-resizing/utils/colgroup';
|
|
6
7
|
import { TABLE_MAX_WIDTH, TABLE_FULL_WIDTH } from '../pm-plugins/table-resizing/utils/consts';
|
|
7
8
|
import { getTableResizerContainerMaxWidthInCSS, getTableResizerContainerForFullPageWidthInCSS, getTableResizerItemWidthInCSS } from '../pm-plugins/table-resizing/utils/misc';
|
|
9
|
+
import { isTableInContentMode } from '../pm-plugins/utils/tableMode';
|
|
8
10
|
import { getAlignmentStyle } from './table-container-styles';
|
|
9
11
|
export const tableNodeSpecWithFixedToDOM = config => {
|
|
10
12
|
const tableNode = config.isNestingSupported ? tableWithNestedTable : table;
|
|
11
13
|
return {
|
|
12
14
|
...tableNode,
|
|
13
15
|
toDOM: node => {
|
|
16
|
+
const isFullPageEditor = !config.isChromelessEditor && !config.isCommentEditor;
|
|
17
|
+
const isInContentMode = isTableInContentMode({
|
|
18
|
+
node,
|
|
19
|
+
allowColumnResizing: config.allowColumnResizing,
|
|
20
|
+
allowTableResizing: config.tableResizingEnabled,
|
|
21
|
+
isFullPageEditor,
|
|
22
|
+
isTableNested: config.isNested
|
|
23
|
+
}) && expValEquals('platform_editor_table_fit_to_content_auto_convert', 'isEnabled', true);
|
|
14
24
|
const alignmentStyle = Object.entries(getAlignmentStyle(node.attrs.layout)).map(([k, v]) => `${kebabCase(k)}: ${kebabCase(v)}`).join(';');
|
|
15
25
|
const tableMinWidth = getResizerMinWidth(node);
|
|
16
|
-
const isFullPageEditor = !config.isChromelessEditor && !config.isCommentEditor;
|
|
17
26
|
const attrs = {
|
|
18
27
|
'data-number-column': node.attrs.isNumberColumnEnabled,
|
|
19
28
|
'data-layout': node.attrs.layout,
|
|
@@ -23,6 +32,9 @@ export const tableNodeSpecWithFixedToDOM = config => {
|
|
|
23
32
|
'data-ssr-placeholder': `table-${node.attrs.localId}`,
|
|
24
33
|
'data-ssr-placeholder-replace': `table-${node.attrs.localId}`
|
|
25
34
|
};
|
|
35
|
+
if (isInContentMode) {
|
|
36
|
+
attrs['data-initial-width-mode'] = 'content';
|
|
37
|
+
}
|
|
26
38
|
if (expValEquals('platform_editor_table_display_mode_in_to_dom', 'isEnabled', true)) {
|
|
27
39
|
attrs['data-table-display-mode'] = node.attrs.displayMode;
|
|
28
40
|
}
|
|
@@ -75,11 +87,13 @@ export const tableNodeSpecWithFixedToDOM = config => {
|
|
|
75
87
|
class: 'pm-table-resizer-container',
|
|
76
88
|
style: convertToInlineCss({
|
|
77
89
|
'--ak-editor-table-gutter-padding': config.isTableScalingEnabled ? 'calc(var(--ak-editor--large-gutter-padding) * 2)' : 'calc(var(--ak-editor--large-gutter-padding) * 2 - var(--ak-editor-resizer-handle-spacing))',
|
|
78
|
-
'--ak-editor-table-width': resizableTableWidth,
|
|
90
|
+
'--ak-editor-table-width': isInContentMode ? 'max-content' : resizableTableWidth,
|
|
79
91
|
width: `var(--ak-editor-table-width)`
|
|
80
92
|
})
|
|
81
93
|
}, ['div', {
|
|
82
|
-
class: 'resizer-item display-handle',
|
|
94
|
+
class: expValEquals('platform_editor_table_fit_to_content_auto_convert', 'isEnabled', true) ? 'resizer-item display-handle' : classNames('resizer-item', {
|
|
95
|
+
'display-handle': !isInContentMode
|
|
96
|
+
}),
|
|
83
97
|
style: convertToInlineCss({
|
|
84
98
|
position: 'relative',
|
|
85
99
|
userSelect: 'auto',
|
|
@@ -88,7 +102,7 @@ export const tableNodeSpecWithFixedToDOM = config => {
|
|
|
88
102
|
'--ak-editor-table-min-width': `${tableMinWidth}px`,
|
|
89
103
|
minWidth: 'var(--ak-editor-table-min-width)',
|
|
90
104
|
maxWidth: getTableResizerContainerMaxWidthInCSS(config.isCommentEditor, config.isChromelessEditor, config.isTableScalingEnabled),
|
|
91
|
-
width: getTableResizerItemWidthInCSS(node, config.isCommentEditor, config.isChromelessEditor)
|
|
105
|
+
width: isInContentMode ? 'auto' : getTableResizerItemWidthInCSS(node, config.isCommentEditor, config.isChromelessEditor)
|
|
92
106
|
})
|
|
93
107
|
}, ['span', {
|
|
94
108
|
class: 'resizer-hover-zone'
|