@atlaskit/editor-plugin-table 7.4.7 → 7.4.9
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/insert.js +5 -12
- package/dist/cjs/plugin.js +17 -11
- package/dist/cjs/pm-plugins/table-width.js +53 -34
- package/dist/cjs/ui/FloatingContextualMenu/index.js +1 -1
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +13 -3
- package/dist/cjs/ui/FloatingDragMenu/DropdownMenu.js +53 -8
- package/dist/cjs/ui/FloatingDragMenu/index.js +9 -5
- package/dist/cjs/ui/consts.js +2 -1
- package/dist/cjs/utils/create.js +28 -0
- package/dist/cjs/utils/index.js +8 -1
- package/dist/es2019/commands/insert.js +7 -14
- package/dist/es2019/plugin.js +16 -10
- package/dist/es2019/pm-plugins/table-width.js +133 -114
- package/dist/es2019/ui/FloatingContextualMenu/index.js +2 -2
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +13 -3
- package/dist/es2019/ui/FloatingDragMenu/DropdownMenu.js +42 -8
- package/dist/es2019/ui/FloatingDragMenu/index.js +10 -6
- package/dist/es2019/ui/consts.js +1 -0
- package/dist/es2019/utils/create.js +18 -0
- package/dist/es2019/utils/index.js +2 -1
- package/dist/esm/commands/insert.js +7 -14
- package/dist/esm/plugin.js +16 -10
- package/dist/esm/pm-plugins/table-width.js +53 -34
- package/dist/esm/ui/FloatingContextualMenu/index.js +2 -2
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +13 -3
- package/dist/esm/ui/FloatingDragMenu/DropdownMenu.js +50 -9
- package/dist/esm/ui/FloatingDragMenu/index.js +10 -6
- package/dist/esm/ui/consts.js +1 -0
- package/dist/esm/utils/create.js +21 -0
- package/dist/esm/utils/index.js +2 -1
- package/dist/types/commands/insert.d.ts +3 -3
- package/dist/types/plugin.d.ts +4 -0
- package/dist/types/pm-plugins/table-width.d.ts +2 -1
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +6 -1
- package/dist/types/ui/FloatingDragMenu/DropdownMenu.d.ts +8 -2
- package/dist/types/ui/consts.d.ts +1 -0
- package/dist/types/utils/create.d.ts +6 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types-ts4.5/commands/insert.d.ts +3 -3
- package/dist/types-ts4.5/plugin.d.ts +4 -0
- package/dist/types-ts4.5/pm-plugins/table-width.d.ts +2 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +6 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DropdownMenu.d.ts +8 -2
- package/dist/types-ts4.5/ui/consts.d.ts +1 -0
- package/dist/types-ts4.5/utils/create.d.ts +6 -0
- package/dist/types-ts4.5/utils/index.d.ts +1 -0
- package/package.json +2 -2
- package/src/commands/insert.ts +35 -19
- package/src/plugin.tsx +32 -9
- package/src/pm-plugins/table-width.ts +71 -38
- package/src/ui/FloatingContextualMenu/index.tsx +2 -1
- package/src/ui/FloatingDragMenu/DragMenu.tsx +16 -1
- package/src/ui/FloatingDragMenu/DropdownMenu.tsx +94 -50
- package/src/ui/FloatingDragMenu/index.tsx +8 -3
- package/src/ui/consts.ts +1 -0
- package/src/utils/create.ts +32 -0
- package/src/utils/index.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 7.4.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#78202](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/78202) [`287432cbca17`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/287432cbca17) - [ux] ED-22099: Fixed drag menu position when close to edge of view port.
|
|
8
|
+
|
|
9
|
+
## 7.4.8
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#77796](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/77796) [`eab996d08513`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/eab996d08513) - Add new statsig experiement for preserve table width, add support for passing through width to create table. Allow tables to be inserted at full width
|
|
14
|
+
|
|
3
15
|
## 7.4.7
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -89,8 +89,6 @@ var addColumnAfter = exports.addColumnAfter = function addColumnAfter(getEditorC
|
|
|
89
89
|
return true;
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
|
-
|
|
93
|
-
// #region Commands
|
|
94
92
|
var insertColumn = exports.insertColumn = function insertColumn(getEditorContainerWidth) {
|
|
95
93
|
return function (column) {
|
|
96
94
|
return function (state, dispatch, view) {
|
|
@@ -143,28 +141,23 @@ var insertRow = exports.insertRow = function insertRow(row, moveCursorToTheNewRo
|
|
|
143
141
|
return true;
|
|
144
142
|
};
|
|
145
143
|
};
|
|
146
|
-
var createTable = exports.createTable = function createTable() {
|
|
144
|
+
var createTable = exports.createTable = function createTable(isFullWidthModeEnabled, getEditorFeatureFlags) {
|
|
147
145
|
return function (state, dispatch) {
|
|
148
|
-
var table = (0,
|
|
149
|
-
schema: state.schema
|
|
150
|
-
});
|
|
146
|
+
var table = (0, _utils3.createTableWithWidth)(isFullWidthModeEnabled, getEditorFeatureFlags)(state.schema);
|
|
151
147
|
if (dispatch) {
|
|
152
148
|
dispatch((0, _utils.safeInsert)(table)(state.tr).scrollIntoView());
|
|
153
149
|
}
|
|
154
150
|
return true;
|
|
155
151
|
};
|
|
156
152
|
};
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
var insertTableWithSize = exports.insertTableWithSize = function insertTableWithSize(editorAnalyticsAPI) {
|
|
153
|
+
var insertTableWithSize = exports.insertTableWithSize = function insertTableWithSize(isFullWidthModeEnabled, getEditorFeatureFlags, editorAnalyticsAPI) {
|
|
160
154
|
return function (rowsCount, colsCount, inputMethod) {
|
|
161
155
|
return function (_ref) {
|
|
162
156
|
var tr = _ref.tr;
|
|
163
|
-
var tableNode = (0,
|
|
164
|
-
schema: tr.doc.type.schema,
|
|
157
|
+
var tableNode = (0, _utils3.createTableWithWidth)(isFullWidthModeEnabled, getEditorFeatureFlags, {
|
|
165
158
|
rowsCount: rowsCount,
|
|
166
159
|
colsCount: colsCount
|
|
167
|
-
});
|
|
160
|
+
})(tr.doc.type.schema);
|
|
168
161
|
var newTr = (0, _utils.safeInsert)(tableNode)(tr).scrollIntoView();
|
|
169
162
|
if (inputMethod) {
|
|
170
163
|
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -16,7 +16,6 @@ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
|
16
16
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
17
17
|
var _withPluginState = require("@atlaskit/editor-common/with-plugin-state");
|
|
18
18
|
var _pmPlugins = require("@atlaskit/editor-tables/pm-plugins");
|
|
19
|
-
var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
20
19
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
21
20
|
var _insert = require("./commands/insert");
|
|
22
21
|
var _createPluginConfig = require("./create-plugin-config");
|
|
@@ -41,7 +40,7 @@ var _FloatingDeleteButton = _interopRequireDefault(require("./ui/FloatingDeleteB
|
|
|
41
40
|
var _FloatingDragMenu = _interopRequireDefault(require("./ui/FloatingDragMenu"));
|
|
42
41
|
var _FloatingInsertButton = _interopRequireDefault(require("./ui/FloatingInsertButton"));
|
|
43
42
|
var _LayoutButton = _interopRequireDefault(require("./ui/LayoutButton"));
|
|
44
|
-
var
|
|
43
|
+
var _utils2 = require("./utils");
|
|
45
44
|
var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
|
|
46
45
|
return {};
|
|
47
46
|
};
|
|
@@ -66,13 +65,19 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
66
65
|
var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
|
|
67
66
|
return {
|
|
68
67
|
name: 'table',
|
|
68
|
+
// Use getSharedState to store fullWidthEnabled and wasFullWidthModeEnabled to guarantee access
|
|
69
|
+
// to most up to date values - passing to createPluginState will not re-initialise the state
|
|
70
|
+
getSharedState: function getSharedState() {
|
|
71
|
+
return {
|
|
72
|
+
isFullWidthModeEnabled: !!(options !== null && options !== void 0 && options.fullWidthEnabled),
|
|
73
|
+
wasFullWidthModeEnabled: !!(options !== null && options !== void 0 && options.wasFullWidthEnabled)
|
|
74
|
+
};
|
|
75
|
+
},
|
|
69
76
|
actions: {
|
|
70
77
|
insertTable: function insertTable(analyticsPayload) {
|
|
71
78
|
return function (state, dispatch) {
|
|
72
79
|
var _api$contentInsertion, _api$contentInsertion2;
|
|
73
|
-
var node = (0, _utils2.
|
|
74
|
-
schema: state.schema
|
|
75
|
-
});
|
|
80
|
+
var node = (0, _utils2.createTableWithWidth)(options === null || options === void 0 ? void 0 : options.fullWidthEnabled, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags)(state.schema);
|
|
76
81
|
return (_api$contentInsertion = api === null || api === void 0 || (_api$contentInsertion2 = api.contentInsertion) === null || _api$contentInsertion2 === void 0 || (_api$contentInsertion2 = _api$contentInsertion2.actions) === null || _api$contentInsertion2 === void 0 ? void 0 : _api$contentInsertion2.insert({
|
|
77
82
|
state: state,
|
|
78
83
|
dispatch: dispatch,
|
|
@@ -86,7 +91,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
86
91
|
}
|
|
87
92
|
},
|
|
88
93
|
commands: {
|
|
89
|
-
insertTableWithSize: (0, _insert.insertTableWithSize)(api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions)
|
|
94
|
+
insertTableWithSize: (0, _insert.insertTableWithSize)(options === null || options === void 0 ? void 0 : options.fullWidthEnabled, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags, api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions)
|
|
90
95
|
},
|
|
91
96
|
nodes: function nodes() {
|
|
92
97
|
var tableNode = options !== null && options !== void 0 && options.tableResizingEnabled ? _adfSchema.tableWithCustomWidth : _adfSchema.table;
|
|
@@ -208,7 +213,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
208
213
|
var _options$fullWidthEna;
|
|
209
214
|
var dispatchAnalyticsEvent = _ref12.dispatchAnalyticsEvent,
|
|
210
215
|
dispatch = _ref12.dispatch;
|
|
211
|
-
return options !== null && options !== void 0 && options.tableResizingEnabled ? (0, _tableWidth.createPlugin)(dispatch, dispatchAnalyticsEvent, (_options$fullWidthEna = options === null || options === void 0 ? void 0 : options.fullWidthEnabled) !== null && _options$fullWidthEna !== void 0 ? _options$fullWidthEna : false) : undefined;
|
|
216
|
+
return options !== null && options !== void 0 && options.tableResizingEnabled ? (0, _tableWidth.createPlugin)(dispatch, dispatchAnalyticsEvent, (_options$fullWidthEna = options === null || options === void 0 ? void 0 : options.fullWidthEnabled) !== null && _options$fullWidthEna !== void 0 ? _options$fullWidthEna : false, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) : undefined;
|
|
212
217
|
}
|
|
213
218
|
},
|
|
214
219
|
// TODO: should be deprecated and eventually replaced with 'tableAnalyticsPlugin'
|
|
@@ -300,7 +305,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
300
305
|
tableWrapperTarget = _ref17.tableWrapperTarget;
|
|
301
306
|
var allowControls = pluginConfig.allowControls;
|
|
302
307
|
var stickyHeader = stickyHeadersState ? (0, _stickyHeaders.findStickyHeaderForTable)(stickyHeadersState, tablePos) : undefined;
|
|
303
|
-
var LayoutContent = options && !options.tableResizingEnabled && (0,
|
|
308
|
+
var LayoutContent = options && !options.tableResizingEnabled && (0, _utils2.isLayoutSupported)(state) && options.breakoutEnabled ? /*#__PURE__*/_react.default.createElement(_LayoutButton.default, {
|
|
304
309
|
editorView: editorView,
|
|
305
310
|
mountPoint: popupsMountPoint,
|
|
306
311
|
boundariesElement: popupsBoundariesElement,
|
|
@@ -391,9 +396,10 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
391
396
|
return /*#__PURE__*/_react.default.createElement(_icons.IconTable, null);
|
|
392
397
|
},
|
|
393
398
|
action: function action(insert, state) {
|
|
394
|
-
var
|
|
395
|
-
|
|
396
|
-
|
|
399
|
+
var _api$table;
|
|
400
|
+
// see comment on tablesPlugin.getSharedState on usage
|
|
401
|
+
var tableState = api === null || api === void 0 || (_api$table = api.table) === null || _api$table === void 0 ? void 0 : _api$table.sharedState.currentState();
|
|
402
|
+
var tr = insert((0, _utils2.createTableWithWidth)(tableState === null || tableState === void 0 ? void 0 : tableState.isFullWidthModeEnabled, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags)(state.schema));
|
|
397
403
|
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
398
404
|
action: _analytics.ACTION.INSERTED,
|
|
399
405
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
@@ -14,6 +14,7 @@ var _state = require("@atlaskit/editor-prosemirror/state");
|
|
|
14
14
|
var _transform = require("@atlaskit/editor-prosemirror/transform");
|
|
15
15
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
16
16
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
17
|
+
var _utils2 = require("./table-resizing/utils");
|
|
17
18
|
var _excluded = ["width"];
|
|
18
19
|
/**
|
|
19
20
|
* A plugin for handle table custom widths
|
|
@@ -23,7 +24,7 @@ var _excluded = ["width"];
|
|
|
23
24
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
25
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25
26
|
var pluginKey = exports.pluginKey = new _state.PluginKey('tableWidthPlugin');
|
|
26
|
-
var createPlugin = exports.createPlugin = function createPlugin(dispatch, dispatchAnalyticsEvent, fullWidthEnabled) {
|
|
27
|
+
var createPlugin = exports.createPlugin = function createPlugin(dispatch, dispatchAnalyticsEvent, fullWidthEnabled, getEditorFeatureFlags) {
|
|
27
28
|
return new _safePlugin.SafePlugin({
|
|
28
29
|
key: pluginKey,
|
|
29
30
|
state: {
|
|
@@ -65,6 +66,7 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, dispat
|
|
|
65
66
|
}
|
|
66
67
|
});
|
|
67
68
|
}
|
|
69
|
+
|
|
68
70
|
// When document first load in Confluence, initially it is an empty document
|
|
69
71
|
// and Collab service triggers a transaction to replace the empty document with the real document that should be rendered.
|
|
70
72
|
// what we need to do is to add width attr to all tables in the real document
|
|
@@ -86,11 +88,15 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, dispat
|
|
|
86
88
|
});
|
|
87
89
|
return hasStepReplacingEntireDocument;
|
|
88
90
|
});
|
|
89
|
-
|
|
91
|
+
var referentialityTr = transactions.find(function (tr) {
|
|
92
|
+
return tr.getMeta('referentialityTableInserted');
|
|
93
|
+
});
|
|
94
|
+
var shouldPatchTable = fullWidthEnabled && getEditorFeatureFlags && getEditorFeatureFlags()['tablePreserveWidth'];
|
|
95
|
+
if (!isReplaceDocumentOperation && (!shouldPatchTable || !referentialityTr)) {
|
|
90
96
|
return null;
|
|
91
97
|
}
|
|
92
|
-
var tr = newState.tr;
|
|
93
98
|
var table = newState.schema.nodes.table;
|
|
99
|
+
var tr = newState.tr;
|
|
94
100
|
|
|
95
101
|
/**
|
|
96
102
|
* Select table event
|
|
@@ -108,40 +114,53 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, dispat
|
|
|
108
114
|
}
|
|
109
115
|
});
|
|
110
116
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
117
|
+
if (isReplaceDocumentOperation) {
|
|
118
|
+
newState.doc.forEach(function (node, offset) {
|
|
119
|
+
if (node.type === table) {
|
|
120
|
+
var width = node.attrs.width;
|
|
121
|
+
var layout = node.attrs.layout;
|
|
122
|
+
if (!width && layout) {
|
|
123
|
+
var tableWidthCal;
|
|
124
|
+
if (fullWidthEnabled) {
|
|
125
|
+
tableWidthCal = _editorSharedStyles.akEditorFullWidthLayoutWidth;
|
|
126
|
+
} else {
|
|
127
|
+
switch (layout) {
|
|
128
|
+
case 'wide':
|
|
129
|
+
tableWidthCal = _editorSharedStyles.akEditorWideLayoutWidth;
|
|
130
|
+
break;
|
|
131
|
+
case 'full-width':
|
|
132
|
+
tableWidthCal = _editorSharedStyles.akEditorFullWidthLayoutWidth;
|
|
133
|
+
break;
|
|
134
|
+
// when in fix-width appearance, no need to assign value to table width attr
|
|
135
|
+
// as when table is created, width attr is null by default, table rendered using layout attr
|
|
136
|
+
default:
|
|
137
|
+
tableWidthCal = _editorSharedStyles.akEditorDefaultLayoutWidth;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
var _node$attrs = node.attrs,
|
|
142
|
+
_width = _node$attrs.width,
|
|
143
|
+
rest = (0, _objectWithoutProperties2.default)(_node$attrs, _excluded);
|
|
144
|
+
if (tableWidthCal) {
|
|
145
|
+
tr.step(new _steps.SetAttrsStep(offset, _objectSpread({
|
|
146
|
+
width: tableWidthCal
|
|
147
|
+
}, rest)));
|
|
132
148
|
}
|
|
133
|
-
}
|
|
134
|
-
var _node$attrs = node.attrs,
|
|
135
|
-
_width = _node$attrs.width,
|
|
136
|
-
rest = (0, _objectWithoutProperties2.default)(_node$attrs, _excluded);
|
|
137
|
-
if (tableWidthCal) {
|
|
138
|
-
tr.step(new _steps.SetAttrsStep(offset, _objectSpread({
|
|
139
|
-
width: tableWidthCal
|
|
140
|
-
}, rest)));
|
|
141
149
|
}
|
|
142
150
|
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
if (referentialityTr) {
|
|
154
|
+
referentialityTr.steps.forEach(function (step) {
|
|
155
|
+
step.getMap().forEach(function (oldStart, oldEnd, newStart, newEnd) {
|
|
156
|
+
newState.doc.nodesBetween(newStart, newEnd, function (node, pos) {
|
|
157
|
+
if (node.type === table && node.attrs.width !== _utils2.TABLE_MAX_WIDTH) {
|
|
158
|
+
tr.setNodeAttribute(pos, 'width', _utils2.TABLE_MAX_WIDTH);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
}
|
|
145
164
|
return tr;
|
|
146
165
|
}
|
|
147
166
|
});
|
|
@@ -50,7 +50,7 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
50
50
|
mountTo: mountPoint,
|
|
51
51
|
boundariesElement: boundariesElement,
|
|
52
52
|
scrollableElement: scrollableElement,
|
|
53
|
-
fitHeight:
|
|
53
|
+
fitHeight: _consts.tablePopupMenuFitHeight,
|
|
54
54
|
fitWidth: isDragAndDropEnabled ? _consts.contextualMenuDropdownWidthDnD : _consts.contextualMenuDropdownWidth
|
|
55
55
|
// z-index value below is to ensure that this menu is above other floating menu
|
|
56
56
|
// in table, but below floating dialogs like typeaheads, pickers, etc.
|
|
@@ -185,7 +185,12 @@ 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;
|
|
189
194
|
var state = editorView.state,
|
|
190
195
|
dispatch = editorView.dispatch;
|
|
191
196
|
var selection = state.selection;
|
|
@@ -457,12 +462,17 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
|
|
|
457
462
|
section: {
|
|
458
463
|
hasSeparator: true
|
|
459
464
|
},
|
|
460
|
-
target: target,
|
|
461
465
|
items: menuItems,
|
|
462
466
|
onItemActivated: handleMenuItemActivated,
|
|
463
467
|
onMouseEnter: handleItemMouseEnter,
|
|
464
468
|
onMouseLeave: handleItemMouseLeave,
|
|
465
|
-
handleClose: closeMenu
|
|
469
|
+
handleClose: closeMenu,
|
|
470
|
+
fitHeight: fitHeight,
|
|
471
|
+
fitWidth: fitWidth,
|
|
472
|
+
direction: direction,
|
|
473
|
+
mountPoint: mountPoint,
|
|
474
|
+
boundariesElement: boundariesElement,
|
|
475
|
+
scrollableElement: scrollableElement
|
|
466
476
|
});
|
|
467
477
|
});
|
|
468
478
|
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
|
};
|
|
@@ -30,12 +30,10 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
30
30
|
}
|
|
31
31
|
var inStickyMode = stickyHeaders === null || stickyHeaders === void 0 ? void 0 : stickyHeaders.sticky;
|
|
32
32
|
var targetHandleRef = direction === 'row' ? document.querySelector('#drag-handle-button-row') : document.querySelector('#drag-handle-button-column');
|
|
33
|
-
var offset = direction === 'row' ? [-9,
|
|
33
|
+
var offset = direction === 'row' ? [-9, 0] : [0, -7];
|
|
34
34
|
if (!targetHandleRef || !(editorView.state.selection instanceof _cellSelection.CellSelection)) {
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
// TODO: we will need to adjust the alignment and offset values depending on whether this is a row or column menu.
|
|
39
37
|
return /*#__PURE__*/_react.default.createElement(_ui.Popup, {
|
|
40
38
|
alignX: direction === 'row' ? 'right' : undefined,
|
|
41
39
|
alignY: direction === 'row' ? 'start' : undefined,
|
|
@@ -43,7 +41,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
43
41
|
mountTo: mountPoint,
|
|
44
42
|
boundariesElement: boundariesElement,
|
|
45
43
|
scrollableElement: scrollableElement,
|
|
46
|
-
fitWidth: _consts.dragMenuDropdownWidth
|
|
44
|
+
fitWidth: _consts.dragMenuDropdownWidth,
|
|
45
|
+
fitHeight: _consts.tablePopupMenuFitHeight
|
|
47
46
|
// z-index value below is to ensure that this menu is above other floating menu
|
|
48
47
|
// in table, but below floating dialogs like typeaheads, pickers, etc.
|
|
49
48
|
// In sticky mode, we want to show the menu above the sticky header
|
|
@@ -62,7 +61,12 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
62
61
|
targetCellPosition: targetCellPosition,
|
|
63
62
|
getEditorContainerWidth: getEditorContainerWidth,
|
|
64
63
|
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
65
|
-
pluginConfig: pluginConfig
|
|
64
|
+
pluginConfig: pluginConfig,
|
|
65
|
+
fitWidth: _consts.dragMenuDropdownWidth,
|
|
66
|
+
fitHeight: _consts.tablePopupMenuFitHeight,
|
|
67
|
+
mountPoint: mountPoint,
|
|
68
|
+
boundariesElement: boundariesElement,
|
|
69
|
+
scrollableElement: scrollableElement
|
|
66
70
|
}));
|
|
67
71
|
};
|
|
68
72
|
FloatingDragMenu.displayName = 'FloatingDragMenu';
|
package/dist/cjs/ui/consts.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.tableToolbarSize = exports.tableToolbarSelectedColor = exports.tableToolbarDeleteColor = exports.tableToolbarColor = exports.tableTextColor = exports.tableScrollbarOffset = exports.tablePadding = exports.tableOverflowShadowWidthWide = exports.tableOverflowShadowWidth = exports.tableMarginFullWidthMode = exports.tableInsertColumnButtonSize = exports.tableInsertColumnButtonOffset = exports.tableHeaderCellBackgroundColor = exports.tableFloatingControlsColor = exports.tableDeleteButtonSize = exports.tableDeleteButtonOffset = exports.tableControlsSpacing = exports.tableCellSelectedDeleteIconColor = exports.tableCellSelectedDeleteIconBackground = exports.tableCellSelectedColor = exports.tableCellHoverDeleteIconColor = exports.tableCellHoverDeleteIconBackground = exports.tableCellDeleteColor = exports.tableCellBackgroundColor = exports.tableBorderSelectedColor = exports.tableBorderRadiusSize = exports.tableBorderDeleteColor = exports.tableBorderColor = exports.stickyRowZIndex = exports.stickyRowOffsetTop = exports.stickyHeaderBorderBottomWidth = exports.rowControlsZIndex = exports.resizeLineWidth = exports.resizeHandlerZIndex = exports.resizeHandlerAreaWidth = exports.lineMarkerSize = exports.lineMarkerOffsetFromColumnControls = exports.layoutButtonSize = exports.insertLineWidth = exports.dropTargetsZIndex = exports.dropTargetExtendedWidth = exports.dragTableInsertColumnButtonSize = exports.dragMenuDropdownWidth = exports.contextualMenuTriggerSize = exports.contextualMenuDropdownWidthDnD = exports.contextualMenuDropdownWidth = exports.columnResizeHandleZIndex = exports.columnControlsZIndex = exports.columnControlsSelectedZIndex = exports.columnControlsDecorationHeight = exports.colorPalletteColumns = exports.TABLE_SNAP_GAP = exports.TABLE_HIGHLIGHT_TOLERANCE = exports.TABLE_HIGHLIGHT_GAP = exports.TABLE_GUIDELINE_VISIBLE_ADJUSTMENT = exports.STICKY_HEADER_TOGGLE_TOLERANCE_MS = void 0;
|
|
6
|
+
exports.tableToolbarSize = exports.tableToolbarSelectedColor = exports.tableToolbarDeleteColor = exports.tableToolbarColor = exports.tableTextColor = exports.tableScrollbarOffset = exports.tablePopupMenuFitHeight = exports.tablePadding = exports.tableOverflowShadowWidthWide = exports.tableOverflowShadowWidth = exports.tableMarginFullWidthMode = exports.tableInsertColumnButtonSize = exports.tableInsertColumnButtonOffset = exports.tableHeaderCellBackgroundColor = exports.tableFloatingControlsColor = exports.tableDeleteButtonSize = exports.tableDeleteButtonOffset = exports.tableControlsSpacing = exports.tableCellSelectedDeleteIconColor = exports.tableCellSelectedDeleteIconBackground = exports.tableCellSelectedColor = exports.tableCellHoverDeleteIconColor = exports.tableCellHoverDeleteIconBackground = exports.tableCellDeleteColor = exports.tableCellBackgroundColor = exports.tableBorderSelectedColor = exports.tableBorderRadiusSize = exports.tableBorderDeleteColor = exports.tableBorderColor = exports.stickyRowZIndex = exports.stickyRowOffsetTop = exports.stickyHeaderBorderBottomWidth = exports.rowControlsZIndex = exports.resizeLineWidth = exports.resizeHandlerZIndex = exports.resizeHandlerAreaWidth = exports.lineMarkerSize = exports.lineMarkerOffsetFromColumnControls = exports.layoutButtonSize = exports.insertLineWidth = exports.dropTargetsZIndex = exports.dropTargetExtendedWidth = exports.dragTableInsertColumnButtonSize = exports.dragMenuDropdownWidth = exports.contextualMenuTriggerSize = exports.contextualMenuDropdownWidthDnD = exports.contextualMenuDropdownWidth = exports.columnResizeHandleZIndex = exports.columnControlsZIndex = exports.columnControlsSelectedZIndex = exports.columnControlsDecorationHeight = exports.colorPalletteColumns = exports.TABLE_SNAP_GAP = exports.TABLE_HIGHLIGHT_TOLERANCE = exports.TABLE_HIGHLIGHT_GAP = exports.TABLE_GUIDELINE_VISIBLE_ADJUSTMENT = exports.STICKY_HEADER_TOGGLE_TOLERANCE_MS = void 0;
|
|
7
7
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
8
8
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
9
9
|
var _colors = require("@atlaskit/theme/colors");
|
|
@@ -61,6 +61,7 @@ var stickyRowOffsetTop = exports.stickyRowOffsetTop = 8;
|
|
|
61
61
|
var stickyHeaderBorderBottomWidth = exports.stickyHeaderBorderBottomWidth = 1;
|
|
62
62
|
var tableOverflowShadowWidth = exports.tableOverflowShadowWidth = 8;
|
|
63
63
|
var tableOverflowShadowWidthWide = exports.tableOverflowShadowWidthWide = 32;
|
|
64
|
+
var tablePopupMenuFitHeight = exports.tablePopupMenuFitHeight = 188;
|
|
64
65
|
var dropTargetsZIndex = exports.dropTargetsZIndex = 14;
|
|
65
66
|
var TABLE_SNAP_GAP = exports.TABLE_SNAP_GAP = 9;
|
|
66
67
|
var TABLE_HIGHLIGHT_GAP = exports.TABLE_HIGHLIGHT_GAP = 10;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createTableWithWidth = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _utils = require("@atlaskit/editor-tables/utils");
|
|
10
|
+
var _utils2 = require("../pm-plugins/table-resizing/utils");
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
var createTableWithWidth = exports.createTableWithWidth = function createTableWithWidth(isFullWidthModeEnabled, getEditorFeatureFlags, createTableProps) {
|
|
14
|
+
return function (schema) {
|
|
15
|
+
var _ref = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
|
|
16
|
+
_ref$tablePreserveWid = _ref.tablePreserveWidth,
|
|
17
|
+
tablePreserveWidth = _ref$tablePreserveWid === void 0 ? false : _ref$tablePreserveWid;
|
|
18
|
+
if (tablePreserveWidth && isFullWidthModeEnabled) {
|
|
19
|
+
return (0, _utils.createTable)(_objectSpread({
|
|
20
|
+
schema: schema,
|
|
21
|
+
tableWidth: _utils2.TABLE_MAX_WIDTH
|
|
22
|
+
}, createTableProps));
|
|
23
|
+
}
|
|
24
|
+
return (0, _utils.createTable)(_objectSpread({
|
|
25
|
+
schema: schema
|
|
26
|
+
}, createTableProps));
|
|
27
|
+
};
|
|
28
|
+
};
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -105,6 +105,12 @@ Object.defineProperty(exports, "createRowInsertLine", {
|
|
|
105
105
|
return _decoration.createRowInsertLine;
|
|
106
106
|
}
|
|
107
107
|
});
|
|
108
|
+
Object.defineProperty(exports, "createTableWithWidth", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function get() {
|
|
111
|
+
return _create.createTableWithWidth;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
108
114
|
Object.defineProperty(exports, "findControlsHoverDecoration", {
|
|
109
115
|
enumerable: true,
|
|
110
116
|
get: function get() {
|
|
@@ -445,4 +451,5 @@ var _rowControls = require("./row-controls");
|
|
|
445
451
|
var _analytics = require("./analytics");
|
|
446
452
|
var _table = require("./table");
|
|
447
453
|
var _updatePluginStateDecorations = require("./update-plugin-state-decorations");
|
|
448
|
-
var _mergedCells = require("./merged-cells");
|
|
454
|
+
var _mergedCells = require("./merged-cells");
|
|
455
|
+
var _create = require("./create");
|
|
@@ -4,12 +4,12 @@ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, TABLE_OVERFLOW_C
|
|
|
4
4
|
import { Selection } from '@atlaskit/editor-prosemirror/state';
|
|
5
5
|
import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
|
|
6
6
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
7
|
-
import { addColumnAt as addColumnAtPMUtils, addRowAt,
|
|
7
|
+
import { addColumnAt as addColumnAtPMUtils, addRowAt, findTable, selectedRect } from '@atlaskit/editor-tables/utils';
|
|
8
8
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
9
9
|
import { updateRowOrColumnMovedTransform } from '../pm-plugins/analytics/commands';
|
|
10
10
|
import { META_KEYS } from '../pm-plugins/table-analytics';
|
|
11
11
|
import { rescaleColumns } from '../transforms/column-width';
|
|
12
|
-
import { checkIfHeaderRowEnabled, copyPreviousRow } from '../utils';
|
|
12
|
+
import { checkIfHeaderRowEnabled, copyPreviousRow, createTableWithWidth } from '../utils';
|
|
13
13
|
import { getAllowAddColumnCustomStep } from '../utils/get-allow-add-column-custom-step';
|
|
14
14
|
function addColumnAtCustomStep(column) {
|
|
15
15
|
return tr => {
|
|
@@ -74,8 +74,6 @@ export const addColumnAfter = getEditorContainerWidth => (state, dispatch, view)
|
|
|
74
74
|
}
|
|
75
75
|
return true;
|
|
76
76
|
};
|
|
77
|
-
|
|
78
|
-
// #region Commands
|
|
79
77
|
export const insertColumn = getEditorContainerWidth => column => (state, dispatch, view) => {
|
|
80
78
|
let tr = addColumnAt(getEditorContainerWidth)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
|
|
81
79
|
const table = findTable(tr.selection);
|
|
@@ -124,26 +122,21 @@ export const insertRow = (row, moveCursorToTheNewRow) => (state, dispatch) => {
|
|
|
124
122
|
}
|
|
125
123
|
return true;
|
|
126
124
|
};
|
|
127
|
-
export const createTable = () => (state, dispatch) => {
|
|
128
|
-
const table =
|
|
129
|
-
schema: state.schema
|
|
130
|
-
});
|
|
125
|
+
export const createTable = (isFullWidthModeEnabled, getEditorFeatureFlags) => (state, dispatch) => {
|
|
126
|
+
const table = createTableWithWidth(isFullWidthModeEnabled, getEditorFeatureFlags)(state.schema);
|
|
131
127
|
if (dispatch) {
|
|
132
128
|
dispatch(safeInsert(table)(state.tr).scrollIntoView());
|
|
133
129
|
}
|
|
134
130
|
return true;
|
|
135
131
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
export const insertTableWithSize = editorAnalyticsAPI => (rowsCount, colsCount, inputMethod) => {
|
|
132
|
+
export const insertTableWithSize = (isFullWidthModeEnabled, getEditorFeatureFlags, editorAnalyticsAPI) => (rowsCount, colsCount, inputMethod) => {
|
|
139
133
|
return ({
|
|
140
134
|
tr
|
|
141
135
|
}) => {
|
|
142
|
-
const tableNode =
|
|
143
|
-
schema: tr.doc.type.schema,
|
|
136
|
+
const tableNode = createTableWithWidth(isFullWidthModeEnabled, getEditorFeatureFlags, {
|
|
144
137
|
rowsCount: rowsCount,
|
|
145
138
|
colsCount: colsCount
|
|
146
|
-
});
|
|
139
|
+
})(tr.doc.type.schema);
|
|
147
140
|
const newTr = safeInsert(tableNode)(tr).scrollIntoView();
|
|
148
141
|
if (inputMethod) {
|
|
149
142
|
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|