@atlaskit/editor-core 232.0.9 → 232.0.11
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 +14 -0
- package/dist/cjs/ui/quick-insert/getExtensionQuickInsertComponents.js +62 -39
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/ui/quick-insert/getExtensionQuickInsertComponents.js +46 -32
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/ui/quick-insert/getExtensionQuickInsertComponents.js +64 -41
- package/dist/esm/version-wrapper.js +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 232.0.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`9d953d03b62a1`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9d953d03b62a1) -
|
|
8
|
+
Order non-template slash-command items under platform_editor_slash_command
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 232.0.10
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 232.0.9
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -5,38 +5,46 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.getExtensionQuickInsertComponents = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
8
11
|
var _react = _interopRequireDefault(require("react"));
|
|
9
12
|
var _createQuickInsertMatcher = require("@atlaskit/editor-common/quick-insert/create-quick-insert-matcher");
|
|
10
13
|
var _getMenuItemParents = require("@atlaskit/editor-common/quick-insert/get-menu-item-parents");
|
|
11
14
|
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
12
15
|
var _rank = require("@atlaskit/editor-common/quick-insert/rank");
|
|
13
|
-
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
14
16
|
var _ExtensionQuickInsertMenuItem = require("./ExtensionQuickInsertMenuItem");
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
19
|
var structureExtensionItemKeyRanks = {
|
|
16
20
|
'toc:toc': 600,
|
|
17
21
|
'native-tabs:native-tabs': 1900,
|
|
18
22
|
'cards:quick-insert': 2000,
|
|
19
23
|
'carousel:quick-insert': 2100,
|
|
20
24
|
'spotlight:quick-insert': 2200,
|
|
21
|
-
'com.atlassian.linking-platform.create:linking-platform-create-jira-issue': 2500,
|
|
22
|
-
'com.atlassian.linking-platform.create:linking-platform-create-confluence-page': 2600,
|
|
23
25
|
'create-from-template:create-from-template': 2700,
|
|
24
26
|
'anchor:anchor': 2900,
|
|
25
27
|
'smart-button:quick-insert': 3000
|
|
26
28
|
};
|
|
29
|
+
var createExtensionItemKeyRanks = {
|
|
30
|
+
'com.atlassian.linking-platform.create:linking-platform-create-jira-issue': 100,
|
|
31
|
+
'com.atlassian.linking-platform.create:linking-platform-create-confluence-page': 200
|
|
32
|
+
};
|
|
27
33
|
var UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK = 3100;
|
|
28
34
|
var APP_DATA_AND_CHARTS_ITEM_RANK = 2700;
|
|
29
35
|
var APP_EMBED_ITEM_RANK = _rank.EXTENSION_ITEM_RANK;
|
|
36
|
+
var APP_MEDIA_ITEM_RANK = Math.max.apply(Math, (0, _toConsumableArray2.default)(Object.values(_rank.MEDIA_SECTION_RANK))) + 100;
|
|
37
|
+
var APP_OTHER_ITEM_RANK = _rank.EXTENSION_ITEM_RANK;
|
|
30
38
|
var getStructureExtensionItemRank = function getStructureExtensionItemRank(item) {
|
|
31
39
|
return structureExtensionItemKeyRanks[item.key];
|
|
32
40
|
};
|
|
33
|
-
var
|
|
41
|
+
var isExtensionItemInSection = function isExtensionItemInSection(item, sectionKey) {
|
|
34
42
|
return (0, _getMenuItemParents.getQuickInsertMenuItemParents)({
|
|
35
43
|
category: item.category,
|
|
36
44
|
legacyCategories: item.categories,
|
|
37
45
|
rank: 0
|
|
38
46
|
}).some(function (parent) {
|
|
39
|
-
return parent.key ===
|
|
47
|
+
return parent.key === sectionKey;
|
|
40
48
|
});
|
|
41
49
|
};
|
|
42
50
|
var compareMenuItemsByTitleAndKey = function compareMenuItemsByTitleAndKey(firstItem, secondItem) {
|
|
@@ -47,56 +55,71 @@ var getAlphabeticalItemRanks = function getAlphabeticalItemRanks(items, isRanked
|
|
|
47
55
|
return [item, firstRank + index];
|
|
48
56
|
}));
|
|
49
57
|
};
|
|
50
|
-
var
|
|
51
|
-
return
|
|
52
|
-
return isStructureExtensionItem(item) && getStructureExtensionItemRank(item) === undefined;
|
|
53
|
-
}, UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK) : new Map();
|
|
54
|
-
};
|
|
55
|
-
var getUnrecognizedDataAndChartsItemRanks = function getUnrecognizedDataAndChartsItemRanks(items) {
|
|
56
|
-
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_slash_command') ? getAlphabeticalItemRanks(items, function (item) {
|
|
57
|
-
return item.category === 'data-and-charts' && item.priority === undefined;
|
|
58
|
-
}, APP_DATA_AND_CHARTS_ITEM_RANK) : new Map();
|
|
58
|
+
var hasNoNegativePriority = function hasNoNegativePriority(item) {
|
|
59
|
+
return item.priority === undefined || item.priority >= 0;
|
|
59
60
|
};
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
var getSectionAlphabeticalItemRanks = function getSectionAlphabeticalItemRanks(items, sectionKey, firstRank) {
|
|
62
|
+
var isRankedItem = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : hasNoNegativePriority;
|
|
63
|
+
return getAlphabeticalItemRanks(items, function (item) {
|
|
64
|
+
return isExtensionItemInSection(item, sectionKey) && isRankedItem(item);
|
|
65
|
+
}, firstRank);
|
|
64
66
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
item
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
|
|
68
|
+
// Rank each parent section separately so a macro in multiple categories gets the right order in each.
|
|
69
|
+
var createExtensionItemRanker = function createExtensionItemRanker(items) {
|
|
70
|
+
var sections = [[_keys.EMBED_SECTION.key, APP_EMBED_ITEM_RANK], [_keys.MEDIA_SECTION.key, APP_MEDIA_ITEM_RANK], [_keys.OTHER_SECTION.key, APP_OTHER_ITEM_RANK], [_keys.STRUCTURE_SECTION.key, UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK, function (item) {
|
|
71
|
+
return getStructureExtensionItemRank(item) === undefined;
|
|
72
|
+
}], [_keys.DATA_AND_CHARTS_SECTION.key, APP_DATA_AND_CHARTS_ITEM_RANK, function (item) {
|
|
73
|
+
return item.priority === undefined;
|
|
74
|
+
}]];
|
|
75
|
+
var ranksBySection = new Map(sections.map(function (_ref) {
|
|
76
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 3),
|
|
77
|
+
sectionKey = _ref2[0],
|
|
78
|
+
firstRank = _ref2[1],
|
|
79
|
+
isRankedItem = _ref2[2];
|
|
80
|
+
return [sectionKey, getSectionAlphabeticalItemRanks(items, sectionKey, firstRank, isRankedItem)];
|
|
81
|
+
}));
|
|
82
|
+
return function (_ref3) {
|
|
83
|
+
var _ranksBySection$get, _item$priority;
|
|
84
|
+
var index = _ref3.index,
|
|
85
|
+
knownRank = _ref3.knownRank,
|
|
86
|
+
item = _ref3.item,
|
|
87
|
+
sectionKey = _ref3.sectionKey;
|
|
88
|
+
if (knownRank !== undefined) {
|
|
89
|
+
return knownRank;
|
|
90
|
+
}
|
|
91
|
+
var sectionRank = (_ranksBySection$get = ranksBySection.get(sectionKey)) === null || _ranksBySection$get === void 0 ? void 0 : _ranksBySection$get.get(item);
|
|
92
|
+
return sectionRank !== null && sectionRank !== void 0 ? sectionRank : _rank.EXTENSION_ITEM_RANK + ((_item$priority = item.priority) !== null && _item$priority !== void 0 ? _item$priority : index);
|
|
93
|
+
};
|
|
73
94
|
};
|
|
74
95
|
var getExtensionQuickInsertComponents = exports.getExtensionQuickInsertComponents = function getExtensionQuickInsertComponents(_ref4) {
|
|
75
96
|
var apiRef = _ref4.apiRef,
|
|
76
97
|
createAnalyticsEvent = _ref4.createAnalyticsEvent,
|
|
77
98
|
editorActions = _ref4.editorActions,
|
|
78
99
|
items = _ref4.items;
|
|
79
|
-
var
|
|
80
|
-
var unrecognizedStructureItemRanks = getUnrecognizedStructureItemRanks(items);
|
|
81
|
-
var unrecognizedDataAndChartsItemRanks = getUnrecognizedDataAndChartsItemRanks(items);
|
|
100
|
+
var getExtensionItemRank = createExtensionItemRanker(items);
|
|
82
101
|
return items.map(function (item, index) {
|
|
83
102
|
var structureRank = getStructureExtensionItemRank(item);
|
|
84
103
|
var isStructureItem = structureRank !== undefined;
|
|
85
104
|
var categories = isStructureItem ? ['structure'] : item.categories;
|
|
86
|
-
var
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
unrecognizedDataAndChartsItemRanks: unrecognizedDataAndChartsItemRanks,
|
|
91
|
-
unrecognizedStructureItemRanks: unrecognizedStructureItemRanks
|
|
105
|
+
var parents = (0, _getMenuItemParents.getQuickInsertMenuItemParents)({
|
|
106
|
+
category: item.category,
|
|
107
|
+
legacyCategories: categories,
|
|
108
|
+
rank: 0
|
|
92
109
|
});
|
|
93
110
|
return {
|
|
94
111
|
type: 'menu-item',
|
|
95
112
|
key: item.key,
|
|
96
|
-
parents: (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
113
|
+
parents: parents.map(function (parent) {
|
|
114
|
+
var _createExtensionItemK;
|
|
115
|
+
return _objectSpread(_objectSpread({}, parent), {}, {
|
|
116
|
+
rank: getExtensionItemRank({
|
|
117
|
+
index: index,
|
|
118
|
+
knownRank: (_createExtensionItemK = createExtensionItemKeyRanks[item.key]) !== null && _createExtensionItemK !== void 0 ? _createExtensionItemK : structureRank,
|
|
119
|
+
item: item,
|
|
120
|
+
sectionKey: parent.key
|
|
121
|
+
})
|
|
122
|
+
});
|
|
100
123
|
}),
|
|
101
124
|
match: (0, _createQuickInsertMatcher.createQuickInsertMatcher)(function () {
|
|
102
125
|
return {
|
|
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.version = exports.name = void 0;
|
|
7
7
|
var name = exports.name = "@atlaskit/editor-core";
|
|
8
8
|
// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
|
|
9
|
-
var version = exports.version = "232.0.
|
|
9
|
+
var version = exports.version = "232.0.10";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { createQuickInsertMatcher } from '@atlaskit/editor-common/quick-insert/create-quick-insert-matcher';
|
|
3
3
|
import { getQuickInsertMenuItemParents } from '@atlaskit/editor-common/quick-insert/get-menu-item-parents';
|
|
4
|
-
import { STRUCTURE_SECTION } from '@atlaskit/editor-common/quick-insert/keys';
|
|
5
|
-
import { EXTENSION_ITEM_RANK } from '@atlaskit/editor-common/quick-insert/rank';
|
|
6
|
-
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
4
|
+
import { DATA_AND_CHARTS_SECTION, EMBED_SECTION, MEDIA_SECTION, OTHER_SECTION, STRUCTURE_SECTION } from '@atlaskit/editor-common/quick-insert/keys';
|
|
5
|
+
import { EXTENSION_ITEM_RANK, MEDIA_SECTION_RANK } from '@atlaskit/editor-common/quick-insert/rank';
|
|
7
6
|
import { ExtensionQuickInsertMenuItem } from './ExtensionQuickInsertMenuItem';
|
|
8
7
|
const structureExtensionItemKeyRanks = {
|
|
9
8
|
'toc:toc': 600,
|
|
@@ -11,35 +10,47 @@ const structureExtensionItemKeyRanks = {
|
|
|
11
10
|
'cards:quick-insert': 2000,
|
|
12
11
|
'carousel:quick-insert': 2100,
|
|
13
12
|
'spotlight:quick-insert': 2200,
|
|
14
|
-
'com.atlassian.linking-platform.create:linking-platform-create-jira-issue': 2500,
|
|
15
|
-
'com.atlassian.linking-platform.create:linking-platform-create-confluence-page': 2600,
|
|
16
13
|
'create-from-template:create-from-template': 2700,
|
|
17
14
|
'anchor:anchor': 2900,
|
|
18
15
|
'smart-button:quick-insert': 3000
|
|
19
16
|
};
|
|
17
|
+
const createExtensionItemKeyRanks = {
|
|
18
|
+
'com.atlassian.linking-platform.create:linking-platform-create-jira-issue': 100,
|
|
19
|
+
'com.atlassian.linking-platform.create:linking-platform-create-confluence-page': 200
|
|
20
|
+
};
|
|
20
21
|
const UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK = 3100;
|
|
21
22
|
const APP_DATA_AND_CHARTS_ITEM_RANK = 2700;
|
|
22
23
|
const APP_EMBED_ITEM_RANK = EXTENSION_ITEM_RANK;
|
|
24
|
+
const APP_MEDIA_ITEM_RANK = Math.max(...Object.values(MEDIA_SECTION_RANK)) + 100;
|
|
25
|
+
const APP_OTHER_ITEM_RANK = EXTENSION_ITEM_RANK;
|
|
23
26
|
const getStructureExtensionItemRank = item => structureExtensionItemKeyRanks[item.key];
|
|
24
|
-
const
|
|
27
|
+
const isExtensionItemInSection = (item, sectionKey) => getQuickInsertMenuItemParents({
|
|
25
28
|
category: item.category,
|
|
26
29
|
legacyCategories: item.categories,
|
|
27
30
|
rank: 0
|
|
28
|
-
}).some(parent => parent.key ===
|
|
31
|
+
}).some(parent => parent.key === sectionKey);
|
|
29
32
|
const compareMenuItemsByTitleAndKey = (firstItem, secondItem) => firstItem.title.localeCompare(secondItem.title) || firstItem.key.localeCompare(secondItem.key);
|
|
30
33
|
const getAlphabeticalItemRanks = (items, isRankedItem, firstRank) => new Map(items.filter(isRankedItem).sort(compareMenuItemsByTitleAndKey).map((item, index) => [item, firstRank + index]));
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
const hasNoNegativePriority = item => item.priority === undefined || item.priority >= 0;
|
|
35
|
+
const getSectionAlphabeticalItemRanks = (items, sectionKey, firstRank, isRankedItem = hasNoNegativePriority) => getAlphabeticalItemRanks(items, item => isExtensionItemInSection(item, sectionKey) && isRankedItem(item), firstRank);
|
|
36
|
+
|
|
37
|
+
// Rank each parent section separately so a macro in multiple categories gets the right order in each.
|
|
38
|
+
const createExtensionItemRanker = items => {
|
|
39
|
+
const sections = [[EMBED_SECTION.key, APP_EMBED_ITEM_RANK], [MEDIA_SECTION.key, APP_MEDIA_ITEM_RANK], [OTHER_SECTION.key, APP_OTHER_ITEM_RANK], [STRUCTURE_SECTION.key, UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK, item => getStructureExtensionItemRank(item) === undefined], [DATA_AND_CHARTS_SECTION.key, APP_DATA_AND_CHARTS_ITEM_RANK, item => item.priority === undefined]];
|
|
40
|
+
const ranksBySection = new Map(sections.map(([sectionKey, firstRank, isRankedItem]) => [sectionKey, getSectionAlphabeticalItemRanks(items, sectionKey, firstRank, isRankedItem)]));
|
|
41
|
+
return ({
|
|
42
|
+
index,
|
|
43
|
+
knownRank,
|
|
44
|
+
item,
|
|
45
|
+
sectionKey
|
|
46
|
+
}) => {
|
|
47
|
+
var _ranksBySection$get, _item$priority;
|
|
48
|
+
if (knownRank !== undefined) {
|
|
49
|
+
return knownRank;
|
|
50
|
+
}
|
|
51
|
+
const sectionRank = (_ranksBySection$get = ranksBySection.get(sectionKey)) === null || _ranksBySection$get === void 0 ? void 0 : _ranksBySection$get.get(item);
|
|
52
|
+
return sectionRank !== null && sectionRank !== void 0 ? sectionRank : EXTENSION_ITEM_RANK + ((_item$priority = item.priority) !== null && _item$priority !== void 0 ? _item$priority : index);
|
|
53
|
+
};
|
|
43
54
|
};
|
|
44
55
|
export const getExtensionQuickInsertComponents = ({
|
|
45
56
|
apiRef,
|
|
@@ -47,27 +58,30 @@ export const getExtensionQuickInsertComponents = ({
|
|
|
47
58
|
editorActions,
|
|
48
59
|
items
|
|
49
60
|
}) => {
|
|
50
|
-
const
|
|
51
|
-
const unrecognizedStructureItemRanks = getUnrecognizedStructureItemRanks(items);
|
|
52
|
-
const unrecognizedDataAndChartsItemRanks = getUnrecognizedDataAndChartsItemRanks(items);
|
|
61
|
+
const getExtensionItemRank = createExtensionItemRanker(items);
|
|
53
62
|
return items.map((item, index) => {
|
|
54
63
|
const structureRank = getStructureExtensionItemRank(item);
|
|
55
64
|
const isStructureItem = structureRank !== undefined;
|
|
56
65
|
const categories = isStructureItem ? ['structure'] : item.categories;
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
unrecognizedDataAndChartsItemRanks,
|
|
62
|
-
unrecognizedStructureItemRanks
|
|
66
|
+
const parents = getQuickInsertMenuItemParents({
|
|
67
|
+
category: item.category,
|
|
68
|
+
legacyCategories: categories,
|
|
69
|
+
rank: 0
|
|
63
70
|
});
|
|
64
71
|
return {
|
|
65
72
|
type: 'menu-item',
|
|
66
73
|
key: item.key,
|
|
67
|
-
parents:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
parents: parents.map(parent => {
|
|
75
|
+
var _createExtensionItemK;
|
|
76
|
+
return {
|
|
77
|
+
...parent,
|
|
78
|
+
rank: getExtensionItemRank({
|
|
79
|
+
index,
|
|
80
|
+
knownRank: (_createExtensionItemK = createExtensionItemKeyRanks[item.key]) !== null && _createExtensionItemK !== void 0 ? _createExtensionItemK : structureRank,
|
|
81
|
+
item,
|
|
82
|
+
sectionKey: parent.key
|
|
83
|
+
})
|
|
84
|
+
};
|
|
71
85
|
}),
|
|
72
86
|
match: createQuickInsertMatcher(() => ({
|
|
73
87
|
description: item.description,
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
4
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1
6
|
import React from 'react';
|
|
2
7
|
import { createQuickInsertMatcher } from '@atlaskit/editor-common/quick-insert/create-quick-insert-matcher';
|
|
3
8
|
import { getQuickInsertMenuItemParents } from '@atlaskit/editor-common/quick-insert/get-menu-item-parents';
|
|
4
|
-
import { STRUCTURE_SECTION } from '@atlaskit/editor-common/quick-insert/keys';
|
|
5
|
-
import { EXTENSION_ITEM_RANK } from '@atlaskit/editor-common/quick-insert/rank';
|
|
6
|
-
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
9
|
+
import { DATA_AND_CHARTS_SECTION, EMBED_SECTION, MEDIA_SECTION, OTHER_SECTION, STRUCTURE_SECTION } from '@atlaskit/editor-common/quick-insert/keys';
|
|
10
|
+
import { EXTENSION_ITEM_RANK, MEDIA_SECTION_RANK } from '@atlaskit/editor-common/quick-insert/rank';
|
|
7
11
|
import { ExtensionQuickInsertMenuItem } from './ExtensionQuickInsertMenuItem';
|
|
8
12
|
var structureExtensionItemKeyRanks = {
|
|
9
13
|
'toc:toc': 600,
|
|
@@ -11,25 +15,29 @@ var structureExtensionItemKeyRanks = {
|
|
|
11
15
|
'cards:quick-insert': 2000,
|
|
12
16
|
'carousel:quick-insert': 2100,
|
|
13
17
|
'spotlight:quick-insert': 2200,
|
|
14
|
-
'com.atlassian.linking-platform.create:linking-platform-create-jira-issue': 2500,
|
|
15
|
-
'com.atlassian.linking-platform.create:linking-platform-create-confluence-page': 2600,
|
|
16
18
|
'create-from-template:create-from-template': 2700,
|
|
17
19
|
'anchor:anchor': 2900,
|
|
18
20
|
'smart-button:quick-insert': 3000
|
|
19
21
|
};
|
|
22
|
+
var createExtensionItemKeyRanks = {
|
|
23
|
+
'com.atlassian.linking-platform.create:linking-platform-create-jira-issue': 100,
|
|
24
|
+
'com.atlassian.linking-platform.create:linking-platform-create-confluence-page': 200
|
|
25
|
+
};
|
|
20
26
|
var UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK = 3100;
|
|
21
27
|
var APP_DATA_AND_CHARTS_ITEM_RANK = 2700;
|
|
22
28
|
var APP_EMBED_ITEM_RANK = EXTENSION_ITEM_RANK;
|
|
29
|
+
var APP_MEDIA_ITEM_RANK = Math.max.apply(Math, _toConsumableArray(Object.values(MEDIA_SECTION_RANK))) + 100;
|
|
30
|
+
var APP_OTHER_ITEM_RANK = EXTENSION_ITEM_RANK;
|
|
23
31
|
var getStructureExtensionItemRank = function getStructureExtensionItemRank(item) {
|
|
24
32
|
return structureExtensionItemKeyRanks[item.key];
|
|
25
33
|
};
|
|
26
|
-
var
|
|
34
|
+
var isExtensionItemInSection = function isExtensionItemInSection(item, sectionKey) {
|
|
27
35
|
return getQuickInsertMenuItemParents({
|
|
28
36
|
category: item.category,
|
|
29
37
|
legacyCategories: item.categories,
|
|
30
38
|
rank: 0
|
|
31
39
|
}).some(function (parent) {
|
|
32
|
-
return parent.key ===
|
|
40
|
+
return parent.key === sectionKey;
|
|
33
41
|
});
|
|
34
42
|
};
|
|
35
43
|
var compareMenuItemsByTitleAndKey = function compareMenuItemsByTitleAndKey(firstItem, secondItem) {
|
|
@@ -40,56 +48,71 @@ var getAlphabeticalItemRanks = function getAlphabeticalItemRanks(items, isRanked
|
|
|
40
48
|
return [item, firstRank + index];
|
|
41
49
|
}));
|
|
42
50
|
};
|
|
43
|
-
var
|
|
44
|
-
return
|
|
45
|
-
return isStructureExtensionItem(item) && getStructureExtensionItemRank(item) === undefined;
|
|
46
|
-
}, UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK) : new Map();
|
|
47
|
-
};
|
|
48
|
-
var getUnrecognizedDataAndChartsItemRanks = function getUnrecognizedDataAndChartsItemRanks(items) {
|
|
49
|
-
return isExperimentEnabled('platform_editor_slash_command') ? getAlphabeticalItemRanks(items, function (item) {
|
|
50
|
-
return item.category === 'data-and-charts' && item.priority === undefined;
|
|
51
|
-
}, APP_DATA_AND_CHARTS_ITEM_RANK) : new Map();
|
|
51
|
+
var hasNoNegativePriority = function hasNoNegativePriority(item) {
|
|
52
|
+
return item.priority === undefined || item.priority >= 0;
|
|
52
53
|
};
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
var getSectionAlphabeticalItemRanks = function getSectionAlphabeticalItemRanks(items, sectionKey, firstRank) {
|
|
55
|
+
var isRankedItem = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : hasNoNegativePriority;
|
|
56
|
+
return getAlphabeticalItemRanks(items, function (item) {
|
|
57
|
+
return isExtensionItemInSection(item, sectionKey) && isRankedItem(item);
|
|
58
|
+
}, firstRank);
|
|
57
59
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
item
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
|
|
61
|
+
// Rank each parent section separately so a macro in multiple categories gets the right order in each.
|
|
62
|
+
var createExtensionItemRanker = function createExtensionItemRanker(items) {
|
|
63
|
+
var sections = [[EMBED_SECTION.key, APP_EMBED_ITEM_RANK], [MEDIA_SECTION.key, APP_MEDIA_ITEM_RANK], [OTHER_SECTION.key, APP_OTHER_ITEM_RANK], [STRUCTURE_SECTION.key, UNRECOGNIZED_STRUCTURE_EXTENSION_ITEM_RANK, function (item) {
|
|
64
|
+
return getStructureExtensionItemRank(item) === undefined;
|
|
65
|
+
}], [DATA_AND_CHARTS_SECTION.key, APP_DATA_AND_CHARTS_ITEM_RANK, function (item) {
|
|
66
|
+
return item.priority === undefined;
|
|
67
|
+
}]];
|
|
68
|
+
var ranksBySection = new Map(sections.map(function (_ref) {
|
|
69
|
+
var _ref2 = _slicedToArray(_ref, 3),
|
|
70
|
+
sectionKey = _ref2[0],
|
|
71
|
+
firstRank = _ref2[1],
|
|
72
|
+
isRankedItem = _ref2[2];
|
|
73
|
+
return [sectionKey, getSectionAlphabeticalItemRanks(items, sectionKey, firstRank, isRankedItem)];
|
|
74
|
+
}));
|
|
75
|
+
return function (_ref3) {
|
|
76
|
+
var _ranksBySection$get, _item$priority;
|
|
77
|
+
var index = _ref3.index,
|
|
78
|
+
knownRank = _ref3.knownRank,
|
|
79
|
+
item = _ref3.item,
|
|
80
|
+
sectionKey = _ref3.sectionKey;
|
|
81
|
+
if (knownRank !== undefined) {
|
|
82
|
+
return knownRank;
|
|
83
|
+
}
|
|
84
|
+
var sectionRank = (_ranksBySection$get = ranksBySection.get(sectionKey)) === null || _ranksBySection$get === void 0 ? void 0 : _ranksBySection$get.get(item);
|
|
85
|
+
return sectionRank !== null && sectionRank !== void 0 ? sectionRank : EXTENSION_ITEM_RANK + ((_item$priority = item.priority) !== null && _item$priority !== void 0 ? _item$priority : index);
|
|
86
|
+
};
|
|
66
87
|
};
|
|
67
88
|
export var getExtensionQuickInsertComponents = function getExtensionQuickInsertComponents(_ref4) {
|
|
68
89
|
var apiRef = _ref4.apiRef,
|
|
69
90
|
createAnalyticsEvent = _ref4.createAnalyticsEvent,
|
|
70
91
|
editorActions = _ref4.editorActions,
|
|
71
92
|
items = _ref4.items;
|
|
72
|
-
var
|
|
73
|
-
var unrecognizedStructureItemRanks = getUnrecognizedStructureItemRanks(items);
|
|
74
|
-
var unrecognizedDataAndChartsItemRanks = getUnrecognizedDataAndChartsItemRanks(items);
|
|
93
|
+
var getExtensionItemRank = createExtensionItemRanker(items);
|
|
75
94
|
return items.map(function (item, index) {
|
|
76
95
|
var structureRank = getStructureExtensionItemRank(item);
|
|
77
96
|
var isStructureItem = structureRank !== undefined;
|
|
78
97
|
var categories = isStructureItem ? ['structure'] : item.categories;
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
unrecognizedDataAndChartsItemRanks: unrecognizedDataAndChartsItemRanks,
|
|
84
|
-
unrecognizedStructureItemRanks: unrecognizedStructureItemRanks
|
|
98
|
+
var parents = getQuickInsertMenuItemParents({
|
|
99
|
+
category: item.category,
|
|
100
|
+
legacyCategories: categories,
|
|
101
|
+
rank: 0
|
|
85
102
|
});
|
|
86
103
|
return {
|
|
87
104
|
type: 'menu-item',
|
|
88
105
|
key: item.key,
|
|
89
|
-
parents:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
106
|
+
parents: parents.map(function (parent) {
|
|
107
|
+
var _createExtensionItemK;
|
|
108
|
+
return _objectSpread(_objectSpread({}, parent), {}, {
|
|
109
|
+
rank: getExtensionItemRank({
|
|
110
|
+
index: index,
|
|
111
|
+
knownRank: (_createExtensionItemK = createExtensionItemKeyRanks[item.key]) !== null && _createExtensionItemK !== void 0 ? _createExtensionItemK : structureRank,
|
|
112
|
+
item: item,
|
|
113
|
+
sectionKey: parent.key
|
|
114
|
+
})
|
|
115
|
+
});
|
|
93
116
|
}),
|
|
94
117
|
match: createQuickInsertMatcher(function () {
|
|
95
118
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-core",
|
|
3
|
-
"version": "232.0.
|
|
3
|
+
"version": "232.0.11",
|
|
4
4
|
"description": "A package contains Atlassian editor core functionality",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -72,12 +72,12 @@
|
|
|
72
72
|
"@atlaskit/platform-feature-experiments": "^0.3.0",
|
|
73
73
|
"@atlaskit/platform-feature-flags": "^2.2.0",
|
|
74
74
|
"@atlaskit/platform-feature-flags-react": "^1.2.0",
|
|
75
|
-
"@atlaskit/popup": "^8.
|
|
75
|
+
"@atlaskit/popup": "^8.1.0",
|
|
76
76
|
"@atlaskit/primitives": "^22.5.0",
|
|
77
77
|
"@atlaskit/react-compiler-gating": "^0.2.0",
|
|
78
78
|
"@atlaskit/react-ufo": "^8.0.0",
|
|
79
79
|
"@atlaskit/task-decision": "^21.11.0",
|
|
80
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
80
|
+
"@atlaskit/tmp-editor-statsig": "^218.0.0",
|
|
81
81
|
"@atlaskit/tokens": "^20.1.0",
|
|
82
82
|
"@atlaskit/tooltip": "^24.3.0",
|
|
83
83
|
"@atlaskit/width-detector": "^7.2.0",
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"@atlaskit/editor-plugin-layout": "^23.0.0",
|
|
132
132
|
"@atlaskit/editor-plugin-limited-mode": "^19.0.0",
|
|
133
133
|
"@atlaskit/editor-plugin-list": "^24.0.0",
|
|
134
|
-
"@atlaskit/editor-plugin-media": "^24.
|
|
134
|
+
"@atlaskit/editor-plugin-media": "^24.1.0",
|
|
135
135
|
"@atlaskit/editor-plugin-paste": "^23.0.0",
|
|
136
136
|
"@atlaskit/editor-plugin-selection-marker": "^22.0.0",
|
|
137
137
|
"@atlaskit/editor-plugin-show-diff": "^20.0.0",
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
"@atlaskit/media-test-helpers": "^43.0.0",
|
|
155
155
|
"@atlaskit/media-ui": "^31.0.0",
|
|
156
156
|
"@atlaskit/modal-dialog": "^17.0.0",
|
|
157
|
-
"@atlaskit/navigation-system": "^11.
|
|
157
|
+
"@atlaskit/navigation-system": "^11.1.0",
|
|
158
158
|
"@atlaskit/popper": "^9.4.0",
|
|
159
159
|
"@atlaskit/portal": "^7.0.0",
|
|
160
160
|
"@atlaskit/profilecard": "^27.1.0",
|