@atlaskit/editor-core 149.0.2 → 150.0.3
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/create-editor/create-plugins-list.js +2 -1
- package/dist/cjs/i18n/cs.js +18 -2
- package/dist/cjs/i18n/da.js +18 -2
- package/dist/cjs/i18n/de.js +18 -2
- package/dist/cjs/i18n/es.js +13 -2
- package/dist/cjs/i18n/et.js +0 -1
- package/dist/cjs/i18n/fi.js +13 -2
- package/dist/cjs/i18n/fr.js +13 -2
- package/dist/cjs/i18n/hu.js +14 -3
- package/dist/cjs/i18n/it.js +18 -2
- package/dist/cjs/i18n/ja.js +13 -2
- package/dist/cjs/i18n/ko.js +13 -2
- package/dist/cjs/i18n/nb.js +13 -2
- package/dist/cjs/i18n/nl.js +18 -2
- package/dist/cjs/i18n/pl.js +16 -2
- package/dist/cjs/i18n/pt_BR.js +14 -3
- package/dist/cjs/i18n/pt_PT.js +0 -1
- package/dist/cjs/i18n/ru.js +13 -2
- package/dist/cjs/i18n/sk.js +0 -1
- package/dist/cjs/i18n/sv.js +18 -2
- package/dist/cjs/i18n/th.js +18 -2
- package/dist/cjs/i18n/tr.js +16 -2
- package/dist/cjs/i18n/uk.js +18 -2
- package/dist/cjs/i18n/vi.js +13 -2
- package/dist/cjs/i18n/zh.js +18 -2
- package/dist/cjs/i18n/zh_TW.js +18 -2
- package/dist/cjs/messages.js +4 -4
- package/dist/cjs/plugins/analytics/types/enums.js +0 -1
- package/dist/cjs/plugins/analytics/types/node-events.js +1 -0
- package/dist/cjs/plugins/collab-edit/ui/to-avatar.js +4 -8
- package/dist/cjs/plugins/floating-toolbar/ui/{EditorHideEmojiIcon.js → EditorRemoveEmojiIcon.js} +2 -2
- package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +5 -2
- package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +14 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +19 -22
- package/dist/cjs/plugins/layout/actions.js +70 -16
- package/dist/cjs/plugins/layout/index.js +3 -2
- package/dist/cjs/plugins/layout/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/layout/toolbar-messages.js +5 -0
- package/dist/cjs/plugins/layout/toolbar.js +11 -2
- package/dist/cjs/plugins/list/pm-plugins/main.js +0 -38
- package/dist/cjs/plugins/mentions/analytics.js +2 -3
- package/dist/cjs/plugins/mentions/type-ahead/index.js +46 -15
- package/dist/cjs/plugins/panel/nodeviews/panel.js +7 -3
- package/dist/cjs/plugins/panel/toolbar.js +8 -6
- package/dist/cjs/plugins/panel/toolbar.test.js +25 -11
- package/dist/cjs/plugins/table/commands/insert.js +25 -10
- package/dist/cjs/plugins/table/commands/misc.js +3 -3
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +5 -4
- package/dist/cjs/plugins/table/nodeviews/tableCell.js +20 -6
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -1
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +1 -0
- package/dist/cjs/plugins/table/toolbar.js +4 -4
- package/dist/cjs/plugins/table/transforms/column-width.js +72 -12
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
- package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +1 -1
- package/dist/cjs/plugins/table/utils/table.js +17 -2
- package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +3 -7
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +1 -3
- package/dist/cjs/ui/ColorPickerButton/index.js +5 -2
- package/dist/cjs/ui/ColorPickerButton/index.test.js +16 -0
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +2 -4
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +1 -3
- package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +1 -3
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/create-editor/create-plugins-list.js +2 -1
- package/dist/es2019/i18n/cs.js +18 -2
- package/dist/es2019/i18n/da.js +18 -2
- package/dist/es2019/i18n/de.js +18 -2
- package/dist/es2019/i18n/es.js +13 -2
- package/dist/es2019/i18n/et.js +0 -1
- package/dist/es2019/i18n/fi.js +13 -2
- package/dist/es2019/i18n/fr.js +13 -2
- package/dist/es2019/i18n/hu.js +14 -3
- package/dist/es2019/i18n/it.js +18 -2
- package/dist/es2019/i18n/ja.js +13 -2
- package/dist/es2019/i18n/ko.js +13 -2
- package/dist/es2019/i18n/nb.js +13 -2
- package/dist/es2019/i18n/nl.js +18 -2
- package/dist/es2019/i18n/pl.js +16 -2
- package/dist/es2019/i18n/pt_BR.js +14 -3
- package/dist/es2019/i18n/pt_PT.js +0 -1
- package/dist/es2019/i18n/ru.js +13 -2
- package/dist/es2019/i18n/sk.js +0 -1
- package/dist/es2019/i18n/sv.js +18 -2
- package/dist/es2019/i18n/th.js +18 -2
- package/dist/es2019/i18n/tr.js +16 -2
- package/dist/es2019/i18n/uk.js +18 -2
- package/dist/es2019/i18n/vi.js +13 -2
- package/dist/es2019/i18n/zh.js +18 -2
- package/dist/es2019/i18n/zh_TW.js +18 -2
- package/dist/es2019/messages.js +4 -4
- package/dist/es2019/plugins/analytics/types/enums.js +0 -1
- package/dist/es2019/plugins/analytics/types/node-events.js +1 -0
- package/dist/es2019/plugins/collab-edit/ui/to-avatar.js +2 -6
- package/dist/es2019/plugins/floating-toolbar/ui/{EditorHideEmojiIcon.js → EditorRemoveEmojiIcon.js} +1 -1
- package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +5 -3
- package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +14 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +20 -23
- package/dist/es2019/plugins/layout/actions.js +64 -13
- package/dist/es2019/plugins/layout/index.js +3 -2
- package/dist/es2019/plugins/layout/pm-plugins/main.js +3 -1
- package/dist/es2019/plugins/layout/toolbar-messages.js +5 -0
- package/dist/es2019/plugins/layout/toolbar.js +10 -2
- package/dist/es2019/plugins/list/pm-plugins/main.js +1 -41
- package/dist/es2019/plugins/mentions/analytics.js +2 -3
- package/dist/es2019/plugins/mentions/type-ahead/index.js +30 -17
- package/dist/es2019/plugins/panel/nodeviews/panel.js +5 -3
- package/dist/es2019/plugins/panel/toolbar.js +8 -6
- package/dist/es2019/plugins/panel/toolbar.test.js +18 -8
- package/dist/es2019/plugins/table/commands/insert.js +27 -12
- package/dist/es2019/plugins/table/commands/misc.js +3 -3
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +5 -4
- package/dist/es2019/plugins/table/nodeviews/tableCell.js +19 -6
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +1 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +1 -1
- package/dist/es2019/plugins/table/toolbar.js +4 -4
- package/dist/es2019/plugins/table/transforms/column-width.js +62 -11
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
- package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +1 -1
- package/dist/es2019/plugins/table/utils/table.js +7 -1
- package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +3 -7
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +1 -2
- package/dist/es2019/ui/ColorPickerButton/index.js +6 -3
- package/dist/es2019/ui/ColorPickerButton/index.test.js +15 -0
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +3 -4
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -3
- package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/create-editor/create-plugins-list.js +2 -1
- package/dist/esm/i18n/cs.js +18 -2
- package/dist/esm/i18n/da.js +18 -2
- package/dist/esm/i18n/de.js +18 -2
- package/dist/esm/i18n/es.js +13 -2
- package/dist/esm/i18n/et.js +0 -1
- package/dist/esm/i18n/fi.js +13 -2
- package/dist/esm/i18n/fr.js +13 -2
- package/dist/esm/i18n/hu.js +14 -3
- package/dist/esm/i18n/it.js +18 -2
- package/dist/esm/i18n/ja.js +13 -2
- package/dist/esm/i18n/ko.js +13 -2
- package/dist/esm/i18n/nb.js +13 -2
- package/dist/esm/i18n/nl.js +18 -2
- package/dist/esm/i18n/pl.js +16 -2
- package/dist/esm/i18n/pt_BR.js +14 -3
- package/dist/esm/i18n/pt_PT.js +0 -1
- package/dist/esm/i18n/ru.js +13 -2
- package/dist/esm/i18n/sk.js +0 -1
- package/dist/esm/i18n/sv.js +18 -2
- package/dist/esm/i18n/th.js +18 -2
- package/dist/esm/i18n/tr.js +16 -2
- package/dist/esm/i18n/uk.js +18 -2
- package/dist/esm/i18n/vi.js +13 -2
- package/dist/esm/i18n/zh.js +18 -2
- package/dist/esm/i18n/zh_TW.js +18 -2
- package/dist/esm/messages.js +4 -4
- package/dist/esm/plugins/analytics/types/enums.js +0 -1
- package/dist/esm/plugins/analytics/types/node-events.js +1 -0
- package/dist/esm/plugins/collab-edit/ui/to-avatar.js +4 -8
- package/dist/esm/plugins/floating-toolbar/ui/{EditorHideEmojiIcon.js → EditorRemoveEmojiIcon.js} +1 -1
- package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +6 -3
- package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +14 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +20 -23
- package/dist/esm/plugins/layout/actions.js +66 -13
- package/dist/esm/plugins/layout/index.js +3 -2
- package/dist/esm/plugins/layout/pm-plugins/main.js +3 -1
- package/dist/esm/plugins/layout/toolbar-messages.js +5 -0
- package/dist/esm/plugins/layout/toolbar.js +10 -2
- package/dist/esm/plugins/list/pm-plugins/main.js +1 -37
- package/dist/esm/plugins/mentions/analytics.js +2 -3
- package/dist/esm/plugins/mentions/type-ahead/index.js +46 -15
- package/dist/esm/plugins/panel/nodeviews/panel.js +5 -3
- package/dist/esm/plugins/panel/toolbar.js +8 -6
- package/dist/esm/plugins/panel/toolbar.test.js +25 -11
- package/dist/esm/plugins/table/commands/insert.js +26 -11
- package/dist/esm/plugins/table/commands/misc.js +3 -3
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +5 -4
- package/dist/esm/plugins/table/nodeviews/tableCell.js +21 -7
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +1 -2
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +1 -1
- package/dist/esm/plugins/table/toolbar.js +4 -4
- package/dist/esm/plugins/table/transforms/column-width.js +62 -10
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
- package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +1 -1
- package/dist/esm/plugins/table/utils/table.js +9 -0
- package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +3 -7
- package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +1 -2
- package/dist/esm/ui/ColorPickerButton/index.js +6 -3
- package/dist/esm/ui/ColorPickerButton/index.test.js +15 -0
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +2 -3
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +1 -2
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/editor.d.ts +1 -1
- package/dist/types/i18n/cs.d.ts +16 -0
- package/dist/types/i18n/da.d.ts +16 -0
- package/dist/types/i18n/de.d.ts +16 -0
- package/dist/types/i18n/es.d.ts +11 -0
- package/dist/types/i18n/et.d.ts +0 -1
- package/dist/types/i18n/fi.d.ts +11 -0
- package/dist/types/i18n/fr.d.ts +11 -0
- package/dist/types/i18n/hu.d.ts +11 -0
- package/dist/types/i18n/it.d.ts +16 -0
- package/dist/types/i18n/ja.d.ts +11 -0
- package/dist/types/i18n/ko.d.ts +11 -0
- package/dist/types/i18n/nb.d.ts +11 -0
- package/dist/types/i18n/nl.d.ts +16 -0
- package/dist/types/i18n/pl.d.ts +14 -0
- package/dist/types/i18n/pt_BR.d.ts +11 -0
- package/dist/types/i18n/pt_PT.d.ts +0 -1
- package/dist/types/i18n/ru.d.ts +11 -0
- package/dist/types/i18n/sk.d.ts +0 -1
- package/dist/types/i18n/sv.d.ts +16 -0
- package/dist/types/i18n/th.d.ts +16 -0
- package/dist/types/i18n/tr.d.ts +14 -0
- package/dist/types/i18n/uk.d.ts +16 -0
- package/dist/types/i18n/vi.d.ts +11 -0
- package/dist/types/i18n/zh.d.ts +16 -0
- package/dist/types/i18n/zh_TW.d.ts +16 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/types/plugins/analytics/analytics-queue.d.ts +1 -1
- package/dist/types/plugins/analytics/types/enums.d.ts +0 -1
- package/dist/types/plugins/analytics/types/general-events.d.ts +1 -1
- package/dist/types/plugins/analytics/types/list-events.d.ts +1 -5
- package/dist/types/plugins/analytics/types/node-events.d.ts +1 -0
- package/dist/types/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
- package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +2 -2
- package/dist/types/plugins/floating-toolbar/ui/EditorRemoveEmojiIcon.d.ts +1 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/create-items.d.ts +1 -1
- package/dist/types/plugins/layout/actions.d.ts +1 -0
- package/dist/types/plugins/layout/pm-plugins/types.d.ts +1 -0
- package/dist/types/plugins/layout/toolbar-messages.d.ts +5 -0
- package/dist/types/plugins/layout/toolbar.d.ts +1 -1
- package/dist/types/plugins/layout/types.d.ts +2 -1
- package/dist/types/plugins/mentions/analytics.d.ts +1 -1
- package/dist/types/plugins/quick-insert/index.d.ts +1 -1
- package/dist/types/plugins/table/nodeviews/tableCell.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -0
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -0
- package/dist/types/plugins/table/transforms/column-width.d.ts +10 -0
- package/dist/types/plugins/table/utils/table.d.ts +2 -0
- package/dist/types/ui/ConfigPanel/Fields/Expand.d.ts +1 -1
- package/package.json +22 -22
- package/dist/types/plugins/floating-toolbar/ui/EditorHideEmojiIcon.d.ts +0 -1
|
@@ -8,6 +8,11 @@ exports.toolbarMessages = void 0;
|
|
|
8
8
|
var _reactIntl = require("react-intl");
|
|
9
9
|
|
|
10
10
|
var toolbarMessages = (0, _reactIntl.defineMessages)({
|
|
11
|
+
singleColumn: {
|
|
12
|
+
id: 'fabric.editor.single',
|
|
13
|
+
defaultMessage: 'Single column',
|
|
14
|
+
description: 'Layout with one single column'
|
|
15
|
+
},
|
|
11
16
|
twoColumns: {
|
|
12
17
|
id: 'fabric.editor.twoColumns',
|
|
13
18
|
defaultMessage: 'Two columns',
|
|
@@ -11,6 +11,8 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
11
11
|
|
|
12
12
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
13
13
|
|
|
14
|
+
var _layoutSingle = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/layout-single"));
|
|
15
|
+
|
|
14
16
|
var _layoutTwoEqual = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/layout-two-equal"));
|
|
15
17
|
|
|
16
18
|
var _layoutThreeEqual = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/layout-three-equal"));
|
|
@@ -42,6 +44,12 @@ var LAYOUT_TYPES = [{
|
|
|
42
44
|
title: _toolbarMessages.toolbarMessages.threeColumns,
|
|
43
45
|
icon: _layoutThreeEqual.default
|
|
44
46
|
}];
|
|
47
|
+
var LAYOUT_TYPES_WITH_SINGLE_COL = [{
|
|
48
|
+
id: 'editor.layout.singeLayout',
|
|
49
|
+
type: 'single',
|
|
50
|
+
title: _toolbarMessages.toolbarMessages.singleColumn,
|
|
51
|
+
icon: _layoutSingle.default
|
|
52
|
+
}].concat(LAYOUT_TYPES);
|
|
45
53
|
var SIDEBAR_LAYOUT_TYPES = [{
|
|
46
54
|
id: 'editor.layout.twoRightSidebar',
|
|
47
55
|
type: 'two_right_sidebar',
|
|
@@ -74,7 +82,7 @@ var buildLayoutButton = function buildLayoutButton(intl, item, currentLayout) {
|
|
|
74
82
|
var layoutToolbarTitle = 'Layout floating controls';
|
|
75
83
|
exports.layoutToolbarTitle = layoutToolbarTitle;
|
|
76
84
|
|
|
77
|
-
var buildToolbar = function buildToolbar(state, intl, pos, _allowBreakout, addSidebarLayouts) {
|
|
85
|
+
var buildToolbar = function buildToolbar(state, intl, pos, _allowBreakout, addSidebarLayouts, allowSingleColumnLayout) {
|
|
78
86
|
var node = state.doc.nodeAt(pos);
|
|
79
87
|
|
|
80
88
|
if (node) {
|
|
@@ -96,13 +104,14 @@ var buildToolbar = function buildToolbar(state, intl, pos, _allowBreakout, addSi
|
|
|
96
104
|
onFocus: (0, _decoration.hoverDecoration)(nodeType, true),
|
|
97
105
|
onBlur: (0, _decoration.hoverDecoration)(nodeType, false)
|
|
98
106
|
};
|
|
107
|
+
var layoutTypes = allowSingleColumnLayout ? LAYOUT_TYPES_WITH_SINGLE_COL : LAYOUT_TYPES;
|
|
99
108
|
return {
|
|
100
109
|
title: layoutToolbarTitle,
|
|
101
110
|
getDomRef: function getDomRef(view) {
|
|
102
111
|
return (0, _prosemirrorUtils.findDomRefAtPos)(pos, view.domAtPos.bind(view));
|
|
103
112
|
},
|
|
104
113
|
nodeType: nodeType,
|
|
105
|
-
items: [].concat((0, _toConsumableArray2.default)(
|
|
114
|
+
items: [].concat((0, _toConsumableArray2.default)(layoutTypes.map(function (i) {
|
|
106
115
|
return buildLayoutButton(intl, i, currentLayout);
|
|
107
116
|
})), (0, _toConsumableArray2.default)(addSidebarLayouts ? SIDEBAR_LAYOUT_TYPES.map(function (i) {
|
|
108
117
|
return buildLayoutButton(intl, i, currentLayout);
|
|
@@ -15,16 +15,12 @@ var _prosemirrorView = require("prosemirror-view");
|
|
|
15
15
|
|
|
16
16
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
17
17
|
|
|
18
|
-
var _analytics = require("../../analytics");
|
|
19
|
-
|
|
20
18
|
var _selection = require("../utils/selection");
|
|
21
19
|
|
|
22
20
|
var _node = require("../utils/node");
|
|
23
21
|
|
|
24
22
|
var _pluginStateFactory = require("../../../utils/plugin-state-factory");
|
|
25
23
|
|
|
26
|
-
var _find = require("../utils/find");
|
|
27
|
-
|
|
28
24
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
29
25
|
|
|
30
26
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -133,40 +129,6 @@ var createPlugin = function createPlugin(eventDispatch) {
|
|
|
133
129
|
return new _prosemirrorState.Plugin({
|
|
134
130
|
state: createPluginState(eventDispatch, createInitialState),
|
|
135
131
|
key: listPluginKey,
|
|
136
|
-
appendTransaction: function appendTransaction(transactions, _oldState, newState) {
|
|
137
|
-
var lastTransaction = transactions[transactions.length - 1];
|
|
138
|
-
|
|
139
|
-
if (!lastTransaction.docChanged || !lastTransaction.selectionSet) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
var tr = newState.tr;
|
|
144
|
-
var rootList = (0, _find.findRootParentListNode)(tr.selection.$from);
|
|
145
|
-
|
|
146
|
-
if (!rootList) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
var listsJoined = (0, _node.joinSiblingLists)({
|
|
151
|
-
tr: tr,
|
|
152
|
-
direction: _node.JoinDirection.RIGHT
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
if (tr.docChanged) {
|
|
156
|
-
var orderedListsJoined = listsJoined.orderedList,
|
|
157
|
-
bulletListsJoined = listsJoined.bulletList;
|
|
158
|
-
(0, _analytics.addAnalytics)(newState, tr, {
|
|
159
|
-
action: _analytics.ACTION.FIXED,
|
|
160
|
-
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
161
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
162
|
-
attributes: {
|
|
163
|
-
orderedListsJoined: orderedListsJoined,
|
|
164
|
-
bulletListsJoined: bulletListsJoined
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
return tr;
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
132
|
props: {
|
|
171
133
|
decorations: function decorations(state) {
|
|
172
134
|
var _getPluginState = getPluginState(state),
|
|
@@ -102,7 +102,7 @@ var buildTypeAheadInviteItemViewedPayload = function buildTypeAheadInviteItemVie
|
|
|
102
102
|
|
|
103
103
|
exports.buildTypeAheadInviteItemViewedPayload = buildTypeAheadInviteItemViewedPayload;
|
|
104
104
|
|
|
105
|
-
var buildTypeAheadInviteExposurePayload = function buildTypeAheadInviteExposurePayload(
|
|
105
|
+
var buildTypeAheadInviteExposurePayload = function buildTypeAheadInviteExposurePayload(sessionId, contextIdentifierProvider, inviteExperimentCohort, userRole) {
|
|
106
106
|
var _ref2 = contextIdentifierProvider || {},
|
|
107
107
|
containerId = _ref2.containerId,
|
|
108
108
|
objectId = _ref2.objectId,
|
|
@@ -110,8 +110,7 @@ var buildTypeAheadInviteExposurePayload = function buildTypeAheadInviteExposureP
|
|
|
110
110
|
|
|
111
111
|
return buildAnalyticsPayload('feature', 'exposed', _analyticsGasTypes.OPERATIONAL_EVENT_TYPE, sessionId, {
|
|
112
112
|
flagKey: 'confluence.frontend.invite.from.mention',
|
|
113
|
-
value:
|
|
114
|
-
cohort: inviteExperimentCohort,
|
|
113
|
+
value: inviteExperimentCohort || 'not-enrolled',
|
|
115
114
|
containerId: containerId,
|
|
116
115
|
objectId: objectId,
|
|
117
116
|
childObjectId: childObjectId,
|
|
@@ -40,6 +40,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
40
40
|
|
|
41
41
|
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; }
|
|
42
42
|
|
|
43
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
44
|
+
|
|
45
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
46
|
+
|
|
47
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
48
|
+
|
|
43
49
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
44
50
|
|
|
45
51
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -232,6 +238,7 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
232
238
|
HighlightComponent = _ref6.HighlightComponent;
|
|
233
239
|
var sessionId = (0, _uuid.default)();
|
|
234
240
|
var firstQueryWithoutResults = null;
|
|
241
|
+
var subscriptionKeys = new Set();
|
|
235
242
|
var typeAhead = {
|
|
236
243
|
id: _typeAhead.TypeAheadAvailableNodes.MENTION,
|
|
237
244
|
trigger: '@',
|
|
@@ -278,9 +285,15 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
278
285
|
var key = "loadingMentionsForTypeAhead_".concat((0, _uuid.default)());
|
|
279
286
|
|
|
280
287
|
var mentionsSubscribeCallback = function mentionsSubscribeCallback(mentions) {
|
|
281
|
-
var
|
|
288
|
+
var resultQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
282
289
|
var stats = arguments.length > 2 ? arguments[2] : undefined;
|
|
290
|
+
|
|
291
|
+
if (query !== resultQuery) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
|
|
283
295
|
mentionProvider.unsubscribe(key);
|
|
296
|
+
subscriptionKeys.delete(key);
|
|
284
297
|
var mentionItems = mentions.map(function (mention) {
|
|
285
298
|
return memoizedToItem.call(mention);
|
|
286
299
|
});
|
|
@@ -292,6 +305,13 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
292
305
|
|
|
293
306
|
if (mentions.length === 0 && firstQueryWithoutResults === null) {
|
|
294
307
|
firstQueryWithoutResults = query;
|
|
308
|
+
} // Growth (El-dorado) experiment design hard requirement
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
if (mentionItems.length <= 2) {
|
|
312
|
+
var inviteExperimentCohort = mentionProvider.inviteExperimentCohort,
|
|
313
|
+
userRole = mentionProvider.userRole;
|
|
314
|
+
fireEvent((0, _analytics.buildTypeAheadInviteExposurePayload)(sessionId, contextIdentifierProvider, inviteExperimentCohort, userRole));
|
|
295
315
|
}
|
|
296
316
|
|
|
297
317
|
if (!mentionProvider.shouldEnableInvite || mentionItems.length > 2) {
|
|
@@ -309,26 +329,15 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
309
329
|
}
|
|
310
330
|
};
|
|
311
331
|
|
|
332
|
+
subscriptionKeys.add(key);
|
|
312
333
|
mentionProvider.subscribe(key, mentionsSubscribeCallback);
|
|
313
334
|
mentionProvider.filter(query || '', _objectSpread(_objectSpread({}, contextIdentifierProvider), {}, {
|
|
314
335
|
sessionId: sessionId
|
|
315
336
|
}));
|
|
316
337
|
});
|
|
317
338
|
},
|
|
318
|
-
onOpen: function onOpen(
|
|
339
|
+
onOpen: function onOpen() {
|
|
319
340
|
firstQueryWithoutResults = null;
|
|
320
|
-
var pluginState = (0, _utils2.getMentionPluginState)(editorState);
|
|
321
|
-
|
|
322
|
-
if (!pluginState || !pluginState.mentionProvider) {
|
|
323
|
-
return null;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
var contextIdentifierProvider = pluginState.contextIdentifierProvider,
|
|
327
|
-
_pluginState$mentionP = pluginState.mentionProvider,
|
|
328
|
-
shouldEnableInvite = _pluginState$mentionP.shouldEnableInvite,
|
|
329
|
-
inviteExperimentCohort = _pluginState$mentionP.inviteExperimentCohort,
|
|
330
|
-
userRole = _pluginState$mentionP.userRole;
|
|
331
|
-
fireEvent((0, _analytics.buildTypeAheadInviteExposurePayload)(!!shouldEnableInvite, sessionId, contextIdentifierProvider, inviteExperimentCohort, userRole));
|
|
332
341
|
},
|
|
333
342
|
selectItem: function selectItem(state, item, insert, _ref8) {
|
|
334
343
|
var mode = _ref8.mode,
|
|
@@ -399,11 +408,33 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
399
408
|
return insert(_prosemirrorModel.Fragment.from([mentionNode, space]));
|
|
400
409
|
},
|
|
401
410
|
dismiss: function dismiss(_ref9) {
|
|
402
|
-
var
|
|
411
|
+
var editorState = _ref9.editorState,
|
|
412
|
+
query = _ref9.query,
|
|
403
413
|
stats = _ref9.stats;
|
|
404
414
|
firstQueryWithoutResults = null;
|
|
405
415
|
var pickerElapsedTime = stats.startedAt ? Date.now() - stats.startedAt : 0;
|
|
406
416
|
fireEvent((0, _analytics.buildTypeAheadCancelPayload)(pickerElapsedTime, stats.keyCount.arrowUp, stats.keyCount.arrowDown, sessionId, query || ''));
|
|
417
|
+
var pluginState = (0, _utils2.getMentionPluginState)(editorState);
|
|
418
|
+
|
|
419
|
+
if (pluginState !== null && pluginState !== void 0 && pluginState.mentionProvider) {
|
|
420
|
+
var mentionProvider = pluginState.mentionProvider;
|
|
421
|
+
|
|
422
|
+
var _iterator = _createForOfIteratorHelper(subscriptionKeys),
|
|
423
|
+
_step;
|
|
424
|
+
|
|
425
|
+
try {
|
|
426
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
427
|
+
var key = _step.value;
|
|
428
|
+
mentionProvider.unsubscribe(key);
|
|
429
|
+
}
|
|
430
|
+
} catch (err) {
|
|
431
|
+
_iterator.e(err);
|
|
432
|
+
} finally {
|
|
433
|
+
_iterator.f();
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
subscriptionKeys.clear();
|
|
407
438
|
sessionId = (0, _uuid.default)();
|
|
408
439
|
}
|
|
409
440
|
};
|
|
@@ -35,7 +35,8 @@ var _editorCommon = require("@atlaskit/editor-common");
|
|
|
35
35
|
|
|
36
36
|
var _utils = require("../utils");
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _consts = require("@atlaskit/editor-shared-styles/consts");
|
|
39
|
+
|
|
39
40
|
var panelIcons = {
|
|
40
41
|
info: _info.default,
|
|
41
42
|
success: _success.default,
|
|
@@ -60,7 +61,7 @@ var PanelIcon = function PanelIcon(props) {
|
|
|
60
61
|
shortName: panelIcon,
|
|
61
62
|
showTooltip: false,
|
|
62
63
|
allowTextFallback: false,
|
|
63
|
-
fitToHeight:
|
|
64
|
+
fitToHeight: _consts.akEditorCustomIconSize
|
|
64
65
|
});
|
|
65
66
|
}
|
|
66
67
|
|
|
@@ -91,7 +92,10 @@ var PanelNodeView = /*#__PURE__*/function () {
|
|
|
91
92
|
|
|
92
93
|
if (!this.icon) {
|
|
93
94
|
return;
|
|
94
|
-
}
|
|
95
|
+
} // set contentEditable as false to be able to select the custom panels with keyboard
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
this.icon.contentEditable = 'false';
|
|
95
99
|
|
|
96
100
|
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(PanelIcon, {
|
|
97
101
|
allowCustomPanel: pluginOptions.UNSAFE_allowCustomPanel,
|
|
@@ -21,7 +21,7 @@ var _warning = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/warni
|
|
|
21
21
|
|
|
22
22
|
var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/error"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _EditorRemoveEmojiIcon = _interopRequireDefault(require("../floating-toolbar/ui/EditorRemoveEmojiIcon"));
|
|
25
25
|
|
|
26
26
|
var _messages = _interopRequireDefault(require("../../messages"));
|
|
27
27
|
|
|
@@ -247,13 +247,15 @@ var getToolbarItems = function getToolbarItems(formatMessage, panelNodeType, isC
|
|
|
247
247
|
return changeEmoji(emojiShortName);
|
|
248
248
|
}
|
|
249
249
|
};
|
|
250
|
-
|
|
251
|
-
id: 'editor.panel.
|
|
250
|
+
var removeEmojiButton = {
|
|
251
|
+
id: 'editor.panel.removeEmoji',
|
|
252
252
|
type: 'button',
|
|
253
|
-
icon:
|
|
253
|
+
icon: _EditorRemoveEmojiIcon.default,
|
|
254
254
|
onClick: removeEmoji(),
|
|
255
|
-
title: formatMessage(_messages.default.
|
|
256
|
-
|
|
255
|
+
title: formatMessage(_messages.default.removeEmoji),
|
|
256
|
+
disabled: activePanelIcon ? false : true
|
|
257
|
+
};
|
|
258
|
+
items.push(emojiPicker, removeEmojiButton, {
|
|
257
259
|
type: 'separator'
|
|
258
260
|
}, colorPicker);
|
|
259
261
|
}
|
|
@@ -100,16 +100,16 @@ describe('getToolbarItems', function () {
|
|
|
100
100
|
color: '#ABF5D1'
|
|
101
101
|
}, true);
|
|
102
102
|
});
|
|
103
|
-
it("should call changePanelType when clicked on
|
|
104
|
-
var
|
|
105
|
-
return item.type === 'button' && item.id === 'editor.panel.
|
|
103
|
+
it("should call changePanelType when clicked on remove emoji", function () {
|
|
104
|
+
var removeEmojiButton = itemsWithCustomPanelEnabled.find(function (item) {
|
|
105
|
+
return item.type === 'button' && item.id === 'editor.panel.removeEmoji';
|
|
106
106
|
});
|
|
107
|
-
|
|
107
|
+
removeEmojiButton.onClick(editorView.state);
|
|
108
108
|
expect(changePanelTypespy).toBeCalledWith(_adfSchema.PanelType.CUSTOM, {
|
|
109
109
|
emoji: undefined
|
|
110
110
|
}, true);
|
|
111
111
|
});
|
|
112
|
-
it("should not call changePanelType when clicked on
|
|
112
|
+
it("should not call changePanelType when clicked on remove emoji when no emoji in panel", function () {
|
|
113
113
|
var _createEditor2 = createEditor({
|
|
114
114
|
doc: (0, _docBuilder.doc)((0, _docBuilder.panel)({
|
|
115
115
|
panelType: 'custom'
|
|
@@ -120,13 +120,27 @@ describe('getToolbarItems', function () {
|
|
|
120
120
|
editorView = _createEditor2.editorView;
|
|
121
121
|
|
|
122
122
|
var toolbarItems = (0, _toolbar.getToolbarItems)(dummyFormatMessage, _schema.default.nodes.panel, true, providerFactory, _adfSchema.PanelType.CUSTOM);
|
|
123
|
-
var
|
|
124
|
-
return item.type === 'button' && item.id === 'editor.panel.
|
|
123
|
+
var removeEmojiButton = toolbarItems.find(function (item) {
|
|
124
|
+
return item.type === 'button' && item.id === 'editor.panel.removeEmoji';
|
|
125
125
|
});
|
|
126
126
|
changePanelTypespy.mockClear();
|
|
127
|
-
|
|
127
|
+
removeEmojiButton.onClick(editorView.state);
|
|
128
128
|
expect(changePanelTypespy).not.toBeCalled();
|
|
129
129
|
});
|
|
130
|
+
it("should have remove emoji button disabled when focus on panel without emoji", function () {
|
|
131
|
+
var toolbarItems = (0, _toolbar.getToolbarItems)(dummyFormatMessage, _schema.default.nodes.panel, true, providerFactory, _adfSchema.PanelType.CUSTOM, '#ABF5D1', '');
|
|
132
|
+
var removeEmojiButton = toolbarItems.find(function (item) {
|
|
133
|
+
return item.type === 'button' && item.id === 'editor.panel.removeEmoji';
|
|
134
|
+
});
|
|
135
|
+
expect(removeEmojiButton.disabled).toBe(true);
|
|
136
|
+
});
|
|
137
|
+
it("should have remove emoji button enabled when focus on panel with emoji", function () {
|
|
138
|
+
var toolbarItems = (0, _toolbar.getToolbarItems)(dummyFormatMessage, _schema.default.nodes.panel, true, providerFactory, _adfSchema.PanelType.CUSTOM, '#ABF5D1', ':smiley:');
|
|
139
|
+
var removeEmojiButton = toolbarItems.find(function (item) {
|
|
140
|
+
return item.type === 'button' && item.id === 'editor.panel.removeEmoji';
|
|
141
|
+
});
|
|
142
|
+
expect(removeEmojiButton.disabled).toBe(false);
|
|
143
|
+
});
|
|
130
144
|
});
|
|
131
145
|
describe('analytics for custom panels', function () {
|
|
132
146
|
var createEditor = (0, _createProsemirrorEditor.createProsemirrorEditorFactory)();
|
|
@@ -189,14 +203,14 @@ describe('getToolbarItems', function () {
|
|
|
189
203
|
expect(createAnalyticsEvent).toHaveBeenCalledWith(payload);
|
|
190
204
|
});
|
|
191
205
|
it('Should trigger analytics when Icon is removed', function () {
|
|
192
|
-
var
|
|
193
|
-
return item.type === 'button' && item.id === 'editor.panel.
|
|
206
|
+
var removeEmojiButton = itemsWithCustomPanelEnabled.find(function (item) {
|
|
207
|
+
return item.type === 'button' && item.id === 'editor.panel.removeEmoji';
|
|
194
208
|
});
|
|
195
209
|
var emojiPickerConfig = itemsWithCustomPanelEnabled.find(function (item) {
|
|
196
210
|
return item.type === 'select' && item.selectType === 'emoji';
|
|
197
211
|
});
|
|
198
212
|
emojiPickerConfig.onChange(':smiley:')(editorView.state, editorView.dispatch);
|
|
199
|
-
|
|
213
|
+
removeEmojiButton.onClick(editorView.state, editorView.dispatch);
|
|
200
214
|
var payload = {
|
|
201
215
|
action: _analytics.ACTION.REMOVE_ICON,
|
|
202
216
|
actionSubject: _analytics.ACTION_SUBJECT.PANEL,
|
|
@@ -21,6 +21,8 @@ var _utils2 = require("../utils");
|
|
|
21
21
|
|
|
22
22
|
var _getAllowAddColumnCustomStep = require("../utils/get-allow-add-column-custom-step");
|
|
23
23
|
|
|
24
|
+
var _columnWidth = require("../transforms/column-width");
|
|
25
|
+
|
|
24
26
|
// #region Imports
|
|
25
27
|
// #endregion
|
|
26
28
|
function addColumnAtCustomStep(column) {
|
|
@@ -37,17 +39,30 @@ function addColumnAtCustomStep(column) {
|
|
|
37
39
|
|
|
38
40
|
function addColumnAt(column) {
|
|
39
41
|
var allowAddColumnCustomStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
42
|
+
var view = arguments.length > 2 ? arguments[2] : undefined;
|
|
43
|
+
return function (tr) {
|
|
44
|
+
var updatedTr = tr;
|
|
40
45
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
if (allowAddColumnCustomStep) {
|
|
47
|
+
updatedTr = addColumnAtCustomStep(column)(updatedTr);
|
|
48
|
+
} else {
|
|
49
|
+
updatedTr = (0, _utils.addColumnAt)(column)(updatedTr);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
var table = (0, _utils.findTable)(updatedTr.selection);
|
|
44
53
|
|
|
45
|
-
|
|
54
|
+
if (table) {
|
|
55
|
+
// [ED-8288] Update colwidths manually to avoid multiple dispatch in TableComponent
|
|
56
|
+
updatedTr = (0, _columnWidth.rescaleColumns)(table, view)(updatedTr);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return updatedTr;
|
|
60
|
+
};
|
|
46
61
|
} // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
47
62
|
// Command to add a column before the column with the selection.
|
|
48
63
|
|
|
49
64
|
|
|
50
|
-
var addColumnBefore = function addColumnBefore(state, dispatch) {
|
|
65
|
+
var addColumnBefore = function addColumnBefore(state, dispatch, view) {
|
|
51
66
|
var table = (0, _utils.findTable)(state.selection);
|
|
52
67
|
|
|
53
68
|
if (!table) {
|
|
@@ -56,7 +71,7 @@ var addColumnBefore = function addColumnBefore(state, dispatch) {
|
|
|
56
71
|
|
|
57
72
|
if (dispatch) {
|
|
58
73
|
var rect = (0, _utils.selectedRect)(state);
|
|
59
|
-
dispatch(addColumnAt(rect.left, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state))(state.tr));
|
|
74
|
+
dispatch(addColumnAt(rect.left, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
|
|
60
75
|
}
|
|
61
76
|
|
|
62
77
|
return true;
|
|
@@ -66,7 +81,7 @@ var addColumnBefore = function addColumnBefore(state, dispatch) {
|
|
|
66
81
|
|
|
67
82
|
exports.addColumnBefore = addColumnBefore;
|
|
68
83
|
|
|
69
|
-
var addColumnAfter = function addColumnAfter(state, dispatch) {
|
|
84
|
+
var addColumnAfter = function addColumnAfter(state, dispatch, view) {
|
|
70
85
|
var table = (0, _utils.findTable)(state.selection);
|
|
71
86
|
|
|
72
87
|
if (!table) {
|
|
@@ -75,7 +90,7 @@ var addColumnAfter = function addColumnAfter(state, dispatch) {
|
|
|
75
90
|
|
|
76
91
|
if (dispatch) {
|
|
77
92
|
var rect = (0, _utils.selectedRect)(state);
|
|
78
|
-
dispatch(addColumnAt(rect.right, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state))(state.tr));
|
|
93
|
+
dispatch(addColumnAt(rect.right, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
|
|
79
94
|
}
|
|
80
95
|
|
|
81
96
|
return true;
|
|
@@ -85,8 +100,8 @@ var addColumnAfter = function addColumnAfter(state, dispatch) {
|
|
|
85
100
|
exports.addColumnAfter = addColumnAfter;
|
|
86
101
|
|
|
87
102
|
var insertColumn = function insertColumn(column) {
|
|
88
|
-
return function (state, dispatch) {
|
|
89
|
-
var tr = addColumnAt(column, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state))(state.tr);
|
|
103
|
+
return function (state, dispatch, view) {
|
|
104
|
+
var tr = addColumnAt(column, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr);
|
|
90
105
|
var table = (0, _utils.findTable)(tr.selection);
|
|
91
106
|
|
|
92
107
|
if (!table) {
|
|
@@ -131,7 +131,7 @@ var setCellAttr = function setCellAttr(name, value) {
|
|
|
131
131
|
exports.setCellAttr = setCellAttr;
|
|
132
132
|
|
|
133
133
|
var triggerUnlessTableHeader = function triggerUnlessTableHeader(command) {
|
|
134
|
-
return function (state, dispatch) {
|
|
134
|
+
return function (state, dispatch, view) {
|
|
135
135
|
var selection = state.selection,
|
|
136
136
|
tableHeader = state.schema.nodes.tableHeader;
|
|
137
137
|
|
|
@@ -139,7 +139,7 @@ var triggerUnlessTableHeader = function triggerUnlessTableHeader(command) {
|
|
|
139
139
|
var cell = (0, _utils.findCellClosestToPos)(selection.$from);
|
|
140
140
|
|
|
141
141
|
if (cell && cell.node.type !== tableHeader) {
|
|
142
|
-
return command(state, dispatch);
|
|
142
|
+
return command(state, dispatch, view);
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
|
|
@@ -147,7 +147,7 @@ var triggerUnlessTableHeader = function triggerUnlessTableHeader(command) {
|
|
|
147
147
|
var rect = (0, _utils.getSelectionRect)(selection);
|
|
148
148
|
|
|
149
149
|
if (!(0, _nodes.checkIfHeaderRowEnabled)(state) || rect && rect.top > 0) {
|
|
150
|
-
return command(state, dispatch);
|
|
150
|
+
return command(state, dispatch, view);
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -206,16 +206,17 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
206
206
|
var layoutSize = _this.tableNodeLayoutSize(node, containerWidth.width, options);
|
|
207
207
|
|
|
208
208
|
var hasNumberedColumnChanged = prevAttrs.isNumberColumnEnabled !== node.attrs.isNumberColumnEnabled;
|
|
209
|
+
var noOfColumnsChanged = (0, _utils4.tablesHaveDifferentNoOfColumns)(node, prevNode);
|
|
209
210
|
|
|
210
211
|
if ( // Breakout mode/layout changed
|
|
211
212
|
layoutChanged || // We need to react if our parent changes
|
|
212
213
|
// Scales the cols widths relative to the new parent width.
|
|
213
214
|
parentWidthChanged || // Enabling / disabling this feature reduces or adds size to the table.
|
|
214
|
-
hasNumberedColumnChanged || //
|
|
215
|
-
(0, _utils4.tablesHaveDifferentNoOfColumns)(node, prevNode) || // This last check is also to cater for dynamic text sizing changing the 'default' layout width
|
|
215
|
+
hasNumberedColumnChanged || // This last check is also to cater for dynamic text sizing changing the 'default' layout width
|
|
216
216
|
// Usually happens on window resize.
|
|
217
|
-
layoutSize !== _this.layoutSize) {
|
|
218
|
-
|
|
217
|
+
layoutSize !== _this.layoutSize || noOfColumnsChanged) {
|
|
218
|
+
// If column has been inserted/deleted avoid multi dispatch
|
|
219
|
+
if (!hasNumberedColumnChanged && !noOfColumnsChanged) {
|
|
219
220
|
_this.scaleTable({
|
|
220
221
|
parentWidth: parentWidth,
|
|
221
222
|
layoutChanged: layoutChanged
|
|
@@ -47,16 +47,30 @@ var TableCellNodeView = /*#__PURE__*/function () {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
(0, _createClass2.default)(TableCellNodeView, [{
|
|
50
|
-
key: "
|
|
51
|
-
value: function
|
|
50
|
+
key: "updateNodeView",
|
|
51
|
+
value: function updateNodeView(node) {
|
|
52
52
|
var _this = this;
|
|
53
53
|
|
|
54
54
|
if (this.node.type !== node.type) {
|
|
55
55
|
return false;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
var attrs = (0, _adfSchema.
|
|
59
|
-
var nextAttrs = (0, _adfSchema.
|
|
58
|
+
var attrs = (0, _adfSchema.getCellDomAttrs)(this.node);
|
|
59
|
+
var nextAttrs = (0, _adfSchema.getCellDomAttrs)(node);
|
|
60
|
+
|
|
61
|
+
var _getCellAttrs = (0, _adfSchema.getCellAttrs)(this.dom),
|
|
62
|
+
colspan = _getCellAttrs.colspan,
|
|
63
|
+
rowspan = _getCellAttrs.rowspan; // need to rerender when colspan/rowspan in dom are different from the node attrs
|
|
64
|
+
// this can happen when undoing merge cells
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
var defaultColspan = 1,
|
|
68
|
+
defaultRowspan = 1;
|
|
69
|
+
|
|
70
|
+
if (colspan !== (node.attrs.colspan || defaultColspan) || rowspan !== (node.attrs.rowspan || defaultRowspan)) {
|
|
71
|
+
return false;
|
|
72
|
+
} // added + changed attributes
|
|
73
|
+
|
|
60
74
|
|
|
61
75
|
var addedAttrs = Object.entries(nextAttrs).filter(function (_ref2) {
|
|
62
76
|
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
@@ -93,9 +107,9 @@ var TableCellNodeView = /*#__PURE__*/function () {
|
|
|
93
107
|
}, {
|
|
94
108
|
key: "update",
|
|
95
109
|
value: function update(node) {
|
|
96
|
-
var
|
|
110
|
+
var didUpdate = this.updateNodeView(node);
|
|
97
111
|
this.node = node;
|
|
98
|
-
return
|
|
112
|
+
return didUpdate;
|
|
99
113
|
}
|
|
100
114
|
}, {
|
|
101
115
|
key: "destroy",
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.getNewResizeStateFromSelectedColumns = exports.areColumnsEven = exports.bulkColumnsResize = exports.evenSelectedColumnsWidths = exports.evenAllColumnsWidths = exports.adjustColumnsWidths = exports.getTotalWidth = exports.updateColgroup = exports.getResizeState = void 0;
|
|
8
|
+
exports.getNewResizeStateFromSelectedColumns = exports.normaliseTableLayout = exports.areColumnsEven = exports.bulkColumnsResize = exports.evenSelectedColumnsWidths = exports.evenAllColumnsWidths = exports.adjustColumnsWidths = exports.getTotalWidth = exports.updateColgroup = exports.getResizeState = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
@@ -300,6 +300,8 @@ var normaliseTableLayout = function normaliseTableLayout(input) {
|
|
|
300
300
|
}
|
|
301
301
|
};
|
|
302
302
|
|
|
303
|
+
exports.normaliseTableLayout = normaliseTableLayout;
|
|
304
|
+
|
|
303
305
|
var getNewResizeStateFromSelectedColumns = function getNewResizeStateFromSelectedColumns(rect, state, domAtPos, dynamicTextSizing) {
|
|
304
306
|
var _getSelectedTableInfo = (0, _utils.getSelectedTableInfo)(state.selection),
|
|
305
307
|
totalRowCount = _getSelectedTableInfo.totalRowCount,
|
|
@@ -5,6 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.scaleTableTo = scaleTableTo;
|
|
8
9
|
exports.scaleWithParent = exports.scale = void 0;
|
|
9
10
|
|
|
10
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -133,12 +133,12 @@ var getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(editorSta
|
|
|
133
133
|
var options = [{
|
|
134
134
|
id: 'editor.table.insertColumn',
|
|
135
135
|
title: formatMessage(_messages2.default.insertColumn),
|
|
136
|
-
onClick: function onClick(state, dispatch) {
|
|
136
|
+
onClick: function onClick(state, dispatch, view) {
|
|
137
137
|
var selectionRect = getClosestSelectionRect(state);
|
|
138
138
|
var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
|
|
139
139
|
|
|
140
140
|
if (index) {
|
|
141
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch);
|
|
141
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
return true;
|
|
@@ -168,11 +168,11 @@ var getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(editorSta
|
|
|
168
168
|
title: formatMessage(_messages2.default.removeColumns, {
|
|
169
169
|
0: numberOfColumns
|
|
170
170
|
}),
|
|
171
|
-
onClick: function onClick(state, dispatch) {
|
|
171
|
+
onClick: function onClick(state, dispatch, view) {
|
|
172
172
|
var selectionRect = getClosestSelectionRect(state);
|
|
173
173
|
|
|
174
174
|
if (selectionRect) {
|
|
175
|
-
(0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(_analytics.INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch);
|
|
175
|
+
(0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(_analytics.INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
return true;
|