@atlaskit/editor-core 149.0.1 → 150.0.2
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 +41 -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 +7 -12
- 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/transforms/open-typeahead-at-cursor.js +20 -3
- 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 +9 -15
- 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/transforms/open-typeahead-at-cursor.js +20 -3
- 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 +7 -12
- 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/transforms/open-typeahead-at-cursor.js +20 -3
- 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,
|
|
@@ -292,6 +292,13 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
292
292
|
|
|
293
293
|
if (mentions.length === 0 && firstQueryWithoutResults === null) {
|
|
294
294
|
firstQueryWithoutResults = query;
|
|
295
|
+
} // Growth (El-dorado) experiment design hard requirement
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
if (mentionItems.length <= 2) {
|
|
299
|
+
var inviteExperimentCohort = mentionProvider.inviteExperimentCohort,
|
|
300
|
+
userRole = mentionProvider.userRole;
|
|
301
|
+
fireEvent((0, _analytics.buildTypeAheadInviteExposurePayload)(sessionId, contextIdentifierProvider, inviteExperimentCohort, userRole));
|
|
295
302
|
}
|
|
296
303
|
|
|
297
304
|
if (!mentionProvider.shouldEnableInvite || mentionItems.length > 2) {
|
|
@@ -317,18 +324,6 @@ var createTypeAheadConfig = function createTypeAheadConfig(_ref6) {
|
|
|
317
324
|
},
|
|
318
325
|
onOpen: function onOpen(editorState) {
|
|
319
326
|
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
327
|
},
|
|
333
328
|
selectItem: function selectItem(state, item, insert, _ref8) {
|
|
334
329
|
var mode = _ref8.mode,
|
|
@@ -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;
|
|
@@ -5,14 +5,24 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.updateColumnWidths = void 0;
|
|
8
|
+
exports.rescaleColumns = exports.updateColumnWidths = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
12
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
13
13
|
|
|
14
|
+
var _utils = require("../pm-plugins/table-resizing/utils");
|
|
15
|
+
|
|
14
16
|
var _metadata = require("./metadata");
|
|
15
17
|
|
|
18
|
+
var _resizeState = require("../pm-plugins/table-resizing/utils/resize-state");
|
|
19
|
+
|
|
20
|
+
var _misc = require("../pm-plugins/table-resizing/utils/misc");
|
|
21
|
+
|
|
22
|
+
var _editorCommon = require("@atlaskit/editor-common");
|
|
23
|
+
|
|
24
|
+
var _scaleTable = require("../pm-plugins/table-resizing/utils/scale-table");
|
|
25
|
+
|
|
16
26
|
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; }
|
|
17
27
|
|
|
18
28
|
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; }
|
|
@@ -105,21 +115,71 @@ var updateColumnWidths = function updateColumnWidths(resizeState, table, start)
|
|
|
105
115
|
}
|
|
106
116
|
|
|
107
117
|
var tablePos = start - 1;
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
*
|
|
118
|
+
var selectionBookmark = tr.selection.getBookmark();
|
|
119
|
+
tr.replaceWith(tablePos, tablePos + table.nodeSize, table.type.createChecked(table.attrs, rows, table.marks));
|
|
120
|
+
/**
|
|
121
|
+
* We want to restore to the original selection but w/o applying the mapping. Function
|
|
122
|
+
* tr.replaceWith puts the selection after the inserted content. We need to manually
|
|
123
|
+
* set the selection back to original state. Mapping in this case doesn't quite work
|
|
124
|
+
* e.g. if we change the content before a selection. This is because mapping
|
|
125
|
+
* means moving it if the content in front of it changed. Instead we can get
|
|
126
|
+
* bookmark of selection.
|
|
112
127
|
*
|
|
113
|
-
*
|
|
114
|
-
* will map the selection to after the table as it thinks the original table
|
|
115
|
-
* node has been deleted.
|
|
128
|
+
* @see https://github.com/ProseMirror/prosemirror/issues/645
|
|
116
129
|
*/
|
|
117
130
|
|
|
118
|
-
|
|
119
|
-
|
|
131
|
+
return tr.setSelection(selectionBookmark.resolve(tr.doc));
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* This function is called when user inserts/deletes a column in a table to rescale all columns.
|
|
136
|
+
* This is done manually to avoid a multi-dispatch in TableComponent. See [ED-8288].
|
|
137
|
+
* @param table
|
|
138
|
+
* @param view
|
|
139
|
+
* @returns Updated transaction with rescaled columns for a given table
|
|
140
|
+
*/
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
exports.updateColumnWidths = updateColumnWidths;
|
|
144
|
+
|
|
145
|
+
var rescaleColumns = function rescaleColumns(table, view) {
|
|
146
|
+
return function (tr) {
|
|
147
|
+
if (!view || !(0, _utils.hasTableBeenResized)(table.node)) {
|
|
148
|
+
return tr;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
var state = view.state;
|
|
152
|
+
var domAtPos = view.domAtPos.bind(view);
|
|
153
|
+
var maybeTable = domAtPos(table.start).node;
|
|
154
|
+
var tableRef = maybeTable.closest('table');
|
|
155
|
+
|
|
156
|
+
if (!tableRef) {
|
|
157
|
+
return tr;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
var layout = (0, _resizeState.normaliseTableLayout)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.dataset.layout);
|
|
161
|
+
var maxSize = (0, _misc.getTableMaxWidth)({
|
|
162
|
+
table: table.node,
|
|
163
|
+
tableStart: table.start,
|
|
164
|
+
state: state,
|
|
165
|
+
layout: layout,
|
|
166
|
+
dynamicTextSizing: true
|
|
167
|
+
});
|
|
168
|
+
var resizeState = (0, _resizeState.getResizeState)({
|
|
169
|
+
minWidth: _editorCommon.tableCellMinWidth,
|
|
170
|
+
table: table.node,
|
|
171
|
+
start: table.start,
|
|
172
|
+
tableRef: tableRef,
|
|
173
|
+
domAtPos: domAtPos,
|
|
174
|
+
maxSize: maxSize
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
if (resizeState.overflow) {
|
|
178
|
+
resizeState = (0, _scaleTable.scaleTableTo)(resizeState, maxSize);
|
|
179
|
+
}
|
|
120
180
|
|
|
121
|
-
return
|
|
181
|
+
return updateColumnWidths(resizeState, table.node, table.start)(tr);
|
|
122
182
|
};
|
|
123
183
|
};
|
|
124
184
|
|
|
125
|
-
exports.
|
|
185
|
+
exports.rescaleColumns = rescaleColumns;
|