@atlaskit/editor-common 71.0.3 → 72.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -0
- package/dist/cjs/analytics/types/enums.js +20 -1
- package/dist/cjs/i18n/index.js +13 -5
- package/dist/cjs/i18n/languages.js +42 -0
- package/dist/cjs/keymaps/index.js +55 -3
- package/dist/cjs/styles/index.js +8 -2
- package/dist/cjs/styles/shared/annotation.js +4 -7
- package/dist/cjs/styles/shared/block-marks.js +1 -1
- package/dist/cjs/styles/shared/code-block.js +3 -4
- package/dist/cjs/styles/shared/lists.js +55 -4
- package/dist/cjs/styles/shared/panel.js +6 -12
- package/dist/cjs/styles/shared/shadow.js +3 -1
- package/dist/cjs/styles/shared/table.js +2 -2
- package/dist/cjs/types/next-editor-plugin.js +5 -0
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/Emoji/index.js +11 -2
- package/dist/cjs/ui/Popup/index.js +72 -2
- package/dist/cjs/ui/Popup/utils.js +13 -6
- package/dist/cjs/ui/UnsupportedBlock/index.js +2 -2
- package/dist/cjs/ui/UnsupportedInline/index.js +2 -2
- package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +138 -0
- package/dist/cjs/ui-color/ColorPalette/index.js +19 -1
- package/dist/cjs/ui-menu/DropdownMenu/index.js +2 -0
- package/dist/cjs/ui-menu/ToolbarButton/index.js +3 -1
- package/dist/cjs/utils/analytics.js +1 -38
- package/dist/cjs/utils/builder.js +44 -0
- package/dist/cjs/utils/compareNodes.js +86 -33
- package/dist/cjs/utils/index.js +47 -1
- package/dist/cjs/utils/list.js +47 -0
- package/dist/cjs/utils/plugin-state-factory.js +9 -9
- package/dist/cjs/utils/referentiality.js +281 -2
- package/dist/cjs/utils/track-unsupported-content.js +19 -20
- package/dist/cjs/utils/validate-using-spec.js +8 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/types/enums.js +20 -1
- package/dist/es2019/i18n/index.js +4 -3
- package/dist/es2019/i18n/languages.js +34 -0
- package/dist/es2019/keymaps/index.js +47 -0
- package/dist/es2019/styles/index.js +1 -1
- package/dist/es2019/styles/shared/annotation.js +4 -7
- package/dist/es2019/styles/shared/block-marks.js +8 -1
- package/dist/es2019/styles/shared/code-block.js +7 -6
- package/dist/es2019/styles/shared/lists.js +44 -2
- package/dist/es2019/styles/shared/panel.js +6 -11
- package/dist/es2019/styles/shared/shadow.js +21 -6
- package/dist/es2019/styles/shared/table.js +2 -3
- package/dist/es2019/types/next-editor-plugin.js +1 -0
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/Emoji/index.js +11 -2
- package/dist/es2019/ui/Popup/index.js +68 -2
- package/dist/es2019/ui/Popup/utils.js +13 -6
- package/dist/es2019/ui/UnsupportedBlock/index.js +1 -1
- package/dist/es2019/ui/UnsupportedInline/index.js +1 -1
- package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +120 -0
- package/dist/es2019/ui-color/ColorPalette/index.js +28 -12
- package/dist/es2019/ui-menu/DropdownMenu/index.js +2 -0
- package/dist/es2019/ui-menu/ToolbarButton/index.js +3 -1
- package/dist/es2019/utils/analytics.js +0 -33
- package/dist/es2019/utils/builder.js +16 -0
- package/dist/es2019/utils/compareNodes.js +79 -28
- package/dist/es2019/utils/index.js +4 -2
- package/dist/es2019/utils/list.js +31 -0
- package/dist/es2019/utils/plugin-state-factory.js +9 -9
- package/dist/es2019/utils/referentiality.js +240 -0
- package/dist/es2019/utils/track-unsupported-content.js +20 -16
- package/dist/es2019/utils/validate-using-spec.js +8 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/types/enums.js +20 -1
- package/dist/esm/i18n/index.js +4 -3
- package/dist/esm/i18n/languages.js +34 -0
- package/dist/esm/keymaps/index.js +48 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/styles/shared/annotation.js +4 -7
- package/dist/esm/styles/shared/block-marks.js +1 -1
- package/dist/esm/styles/shared/code-block.js +3 -4
- package/dist/esm/styles/shared/lists.js +49 -2
- package/dist/esm/styles/shared/panel.js +6 -11
- package/dist/esm/styles/shared/shadow.js +2 -2
- package/dist/esm/styles/shared/table.js +2 -3
- package/dist/esm/types/next-editor-plugin.js +1 -0
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/Emoji/index.js +11 -2
- package/dist/esm/ui/Popup/index.js +73 -2
- package/dist/esm/ui/Popup/utils.js +13 -6
- package/dist/esm/ui/UnsupportedBlock/index.js +1 -1
- package/dist/esm/ui/UnsupportedInline/index.js +1 -1
- package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +124 -0
- package/dist/esm/ui-color/ColorPalette/index.js +18 -2
- package/dist/esm/ui-menu/DropdownMenu/index.js +2 -0
- package/dist/esm/ui-menu/ToolbarButton/index.js +3 -1
- package/dist/esm/utils/analytics.js +0 -33
- package/dist/esm/utils/builder.js +30 -0
- package/dist/esm/utils/compareNodes.js +83 -32
- package/dist/esm/utils/index.js +4 -2
- package/dist/esm/utils/list.js +31 -0
- package/dist/esm/utils/plugin-state-factory.js +9 -9
- package/dist/esm/utils/referentiality.js +269 -0
- package/dist/esm/utils/track-unsupported-content.js +19 -20
- package/dist/esm/utils/validate-using-spec.js +8 -2
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics/types/enums.d.ts +23 -4
- package/dist/types/collab/types.d.ts +1 -1
- package/dist/types/i18n/index.d.ts +4 -3
- package/dist/types/i18n/languages.d.ts +35 -0
- package/dist/types/keymaps/index.d.ts +1 -0
- package/dist/types/styles/index.d.ts +1 -1
- package/dist/types/styles/shared/lists.d.ts +3 -1
- package/dist/types/types/collab.d.ts +1 -1
- package/dist/types/types/copy-button.d.ts +4 -0
- package/dist/types/types/feature-flags.d.ts +30 -25
- package/dist/types/types/floating-toolbar.d.ts +26 -1
- package/dist/types/types/index.d.ts +2 -1
- package/dist/types/types/next-editor-plugin.d.ts +61 -0
- package/dist/types/ui/Emoji/index.d.ts +2 -0
- package/dist/types/ui/Popup/index.d.ts +19 -0
- package/dist/types/ui/Popup/utils.d.ts +3 -3
- package/dist/types/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.d.ts +214 -0
- package/dist/types/ui-color/ColorPalette/index.d.ts +7 -0
- package/dist/types/ui-menu/DropdownMenu/types.d.ts +1 -0
- package/dist/types/ui-menu/ToolbarButton/index.d.ts +3 -1
- package/dist/types/utils/analytics.d.ts +1 -21
- package/dist/types/utils/builder.d.ts +8 -0
- package/dist/types/utils/compareNodes.d.ts +16 -0
- package/dist/types/utils/index.d.ts +3 -1
- package/dist/types/utils/list.d.ts +10 -0
- package/dist/types/utils/plugin-state-factory.d.ts +1 -1
- package/dist/types/utils/referentiality.d.ts +4 -0
- package/dist/types/utils/track-unsupported-content.d.ts +14 -2
- package/package.json +14 -11
- package/report.api.md +1 -1
|
@@ -5,13 +5,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.createCompareNodes = void 0;
|
|
8
|
+
exports.createCompareNodes = exports.ContentType = void 0;
|
|
9
|
+
exports.extractMetaFromTextNode = extractMetaFromTextNode;
|
|
9
10
|
|
|
10
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
12
|
|
|
12
13
|
var _types = require("../types");
|
|
13
14
|
|
|
14
15
|
var ContentType;
|
|
16
|
+
exports.ContentType = ContentType;
|
|
15
17
|
|
|
16
18
|
(function (ContentType) {
|
|
17
19
|
ContentType[ContentType["NUMBER"] = 0] = "NUMBER";
|
|
@@ -20,7 +22,7 @@ var ContentType;
|
|
|
20
22
|
ContentType[ContentType["DATE"] = 15] = "DATE";
|
|
21
23
|
ContentType[ContentType["STATUS"] = 20] = "STATUS";
|
|
22
24
|
ContentType[ContentType["LINK"] = 25] = "LINK";
|
|
23
|
-
})(ContentType || (ContentType = {}));
|
|
25
|
+
})(ContentType || (exports.ContentType = ContentType = {}));
|
|
24
26
|
|
|
25
27
|
function getLinkMark(node) {
|
|
26
28
|
var _node$marks$filter = node.marks.filter(function (mark) {
|
|
@@ -30,6 +32,83 @@ function getLinkMark(node) {
|
|
|
30
32
|
linkMark = _node$marks$filter2[0];
|
|
31
33
|
|
|
32
34
|
return linkMark || null;
|
|
35
|
+
} // Source: https://stackoverflow.com/questions/12004808/does-javascript-take-local-decimal-separators-into-account
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
function parseLocaleNumber(stringNumber) {
|
|
39
|
+
if (stringNumber.trim() === '') {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var locale = window.navigator.language;
|
|
44
|
+
var thousandSeparator = Intl.NumberFormat(locale).format(11111).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
|
|
45
|
+
var decimalSeparator = Intl.NumberFormat(locale).format(1.1).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
|
|
46
|
+
var maybeANumber = Number(stringNumber.replace(new RegExp('\\' + thousandSeparator, 'g'), '').replace(new RegExp('\\' + decimalSeparator), '.'));
|
|
47
|
+
var isANumber = !Number.isNaN(maybeANumber);
|
|
48
|
+
|
|
49
|
+
if (!isANumber) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return maybeANumber;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function extractFirstWordFromString(text) {
|
|
57
|
+
// Firefox is the only browser that doesn't support it
|
|
58
|
+
if (!Intl || !Intl.Segmenter) {
|
|
59
|
+
// If the Segment API is not available
|
|
60
|
+
// let's fallback to a dumb way to extract the first word.
|
|
61
|
+
// However, this method doesn't cover some languages like Japanase
|
|
62
|
+
var firstEmptySpace = text.indexOf(' ');
|
|
63
|
+
var firstWord = firstEmptySpace !== -1 ? text.substring(0, firstEmptySpace) : text;
|
|
64
|
+
return firstWord;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var languageSegment = new Intl.Segmenter(window.navigator.language, {
|
|
68
|
+
granularity: 'word'
|
|
69
|
+
});
|
|
70
|
+
var segmentsIterator = languageSegment.segment(text);
|
|
71
|
+
|
|
72
|
+
if (!segmentsIterator) {
|
|
73
|
+
return text;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
var segmentsArray = Array.from(segmentsIterator);
|
|
77
|
+
|
|
78
|
+
if (segmentsArray.length === 0) {
|
|
79
|
+
return text;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return segmentsArray[0].segment;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function extractMetaFromTextNode(textNode) {
|
|
86
|
+
// treat as a link if contain a link
|
|
87
|
+
var linkMark = getLinkMark(textNode);
|
|
88
|
+
|
|
89
|
+
if (linkMark) {
|
|
90
|
+
var value = textNode.text || '';
|
|
91
|
+
return {
|
|
92
|
+
type: ContentType.LINK,
|
|
93
|
+
value: value
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var text = textNode.text || '';
|
|
98
|
+
var firstWord = extractFirstWordFromString(text);
|
|
99
|
+
var maybeANumber = parseLocaleNumber(firstWord);
|
|
100
|
+
|
|
101
|
+
if (maybeANumber !== null) {
|
|
102
|
+
return {
|
|
103
|
+
type: ContentType.NUMBER,
|
|
104
|
+
value: maybeANumber
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
type: ContentType.TEXT,
|
|
110
|
+
value: firstWord
|
|
111
|
+
};
|
|
33
112
|
}
|
|
34
113
|
|
|
35
114
|
function getMetaFromNode(node, options) {
|
|
@@ -78,41 +157,15 @@ function getMetaFromNode(node, options) {
|
|
|
78
157
|
|
|
79
158
|
case 'text':
|
|
80
159
|
{
|
|
81
|
-
|
|
82
|
-
var linkMark = getLinkMark(firstChild);
|
|
83
|
-
|
|
84
|
-
if (linkMark) {
|
|
85
|
-
var value = firstChild.text || '';
|
|
86
|
-
return {
|
|
87
|
-
type: ContentType.LINK,
|
|
88
|
-
value: value
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
var text = firstChild.text || '';
|
|
93
|
-
var firstEmptySpace = text.indexOf(' ');
|
|
94
|
-
var firstWord = firstEmptySpace !== -1 ? text.substring(0, firstEmptySpace) : text;
|
|
95
|
-
var maybeANumber = Number.parseFloat(firstWord);
|
|
96
|
-
|
|
97
|
-
if (!Number.isNaN(maybeANumber)) {
|
|
98
|
-
return {
|
|
99
|
-
type: ContentType.NUMBER,
|
|
100
|
-
value: maybeANumber
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return {
|
|
105
|
-
type: ContentType.TEXT,
|
|
106
|
-
value: firstWord
|
|
107
|
-
};
|
|
160
|
+
return extractMetaFromTextNode(firstChild);
|
|
108
161
|
}
|
|
109
162
|
|
|
110
163
|
case 'status':
|
|
111
164
|
{
|
|
112
|
-
var
|
|
165
|
+
var text = firstChild.attrs.text;
|
|
113
166
|
return {
|
|
114
167
|
type: ContentType.STATUS,
|
|
115
|
-
value:
|
|
168
|
+
value: text
|
|
116
169
|
};
|
|
117
170
|
}
|
|
118
171
|
|
|
@@ -128,11 +181,11 @@ function getMetaFromNode(node, options) {
|
|
|
128
181
|
case 'mention':
|
|
129
182
|
{
|
|
130
183
|
// TODO: Check what should be the fallback when mention does not have a text
|
|
131
|
-
var
|
|
184
|
+
var _text = firstChild.attrs.text || '';
|
|
132
185
|
|
|
133
186
|
return {
|
|
134
187
|
type: ContentType.MENTION,
|
|
135
|
-
value:
|
|
188
|
+
value: _text.toLowerCase()
|
|
136
189
|
};
|
|
137
190
|
}
|
|
138
191
|
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -11,6 +11,12 @@ Object.defineProperty(exports, "ADFTraversor", {
|
|
|
11
11
|
return _traversor.default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
+
Object.defineProperty(exports, "Builder", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _builder.Builder;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
14
20
|
Object.defineProperty(exports, "ErrorReporter", {
|
|
15
21
|
enumerable: true,
|
|
16
22
|
get: function get() {
|
|
@@ -215,6 +221,12 @@ Object.defineProperty(exports, "getAnnotationIdsFromRange", {
|
|
|
215
221
|
return _annotation.getAnnotationIdsFromRange;
|
|
216
222
|
}
|
|
217
223
|
});
|
|
224
|
+
Object.defineProperty(exports, "getChildrenInfo", {
|
|
225
|
+
enumerable: true,
|
|
226
|
+
get: function get() {
|
|
227
|
+
return _referentiality.getChildrenInfo;
|
|
228
|
+
}
|
|
229
|
+
});
|
|
218
230
|
Object.defineProperty(exports, "getDistortedDurationMonitor", {
|
|
219
231
|
enumerable: true,
|
|
220
232
|
get: function get() {
|
|
@@ -239,12 +251,30 @@ Object.defineProperty(exports, "getFragmentBackingArray", {
|
|
|
239
251
|
return _slice.getFragmentBackingArray;
|
|
240
252
|
}
|
|
241
253
|
});
|
|
254
|
+
Object.defineProperty(exports, "getItemCounterDigitsSize", {
|
|
255
|
+
enumerable: true,
|
|
256
|
+
get: function get() {
|
|
257
|
+
return _list.getItemCounterDigitsSize;
|
|
258
|
+
}
|
|
259
|
+
});
|
|
242
260
|
Object.defineProperty(exports, "getModeFromTheme", {
|
|
243
261
|
enumerable: true,
|
|
244
262
|
get: function get() {
|
|
245
263
|
return _getModeFromTheme.getModeFromTheme;
|
|
246
264
|
}
|
|
247
265
|
});
|
|
266
|
+
Object.defineProperty(exports, "getNodeName", {
|
|
267
|
+
enumerable: true,
|
|
268
|
+
get: function get() {
|
|
269
|
+
return _referentiality.getNodeName;
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
Object.defineProperty(exports, "getOrderFromOrderedListNode", {
|
|
273
|
+
enumerable: true,
|
|
274
|
+
get: function get() {
|
|
275
|
+
return _list.getOrderFromOrderedListNode;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
248
278
|
Object.defineProperty(exports, "getPerformanceOptions", {
|
|
249
279
|
enumerable: true,
|
|
250
280
|
get: function get() {
|
|
@@ -443,12 +473,24 @@ Object.defineProperty(exports, "pluginFactory", {
|
|
|
443
473
|
return _pluginStateFactory.pluginFactory;
|
|
444
474
|
}
|
|
445
475
|
});
|
|
476
|
+
Object.defineProperty(exports, "removeConnectedNodes", {
|
|
477
|
+
enumerable: true,
|
|
478
|
+
get: function get() {
|
|
479
|
+
return _referentiality.removeConnectedNodes;
|
|
480
|
+
}
|
|
481
|
+
});
|
|
446
482
|
Object.defineProperty(exports, "removeNestedEmptyEls", {
|
|
447
483
|
enumerable: true,
|
|
448
484
|
get: function get() {
|
|
449
485
|
return _dom.removeNestedEmptyEls;
|
|
450
486
|
}
|
|
451
487
|
});
|
|
488
|
+
Object.defineProperty(exports, "resolveOrder", {
|
|
489
|
+
enumerable: true,
|
|
490
|
+
get: function get() {
|
|
491
|
+
return _list.resolveOrder;
|
|
492
|
+
}
|
|
493
|
+
});
|
|
452
494
|
Object.defineProperty(exports, "sendLogs", {
|
|
453
495
|
enumerable: true,
|
|
454
496
|
get: function get() {
|
|
@@ -666,4 +708,8 @@ var _outdatedBrowsers = require("./outdated-browsers");
|
|
|
666
708
|
|
|
667
709
|
var _referentiality = require("./referentiality");
|
|
668
710
|
|
|
669
|
-
var _sendLogs = require("./sendLogs");
|
|
711
|
+
var _sendLogs = require("./sendLogs");
|
|
712
|
+
|
|
713
|
+
var _builder = require("./builder");
|
|
714
|
+
|
|
715
|
+
var _list = require("./list");
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveOrder = exports.getOrderFromOrderedListNode = exports.getItemCounterDigitsSize = exports.DEFAULT_ORDER = void 0;
|
|
7
|
+
var DEFAULT_ORDER = 1; // resolve "order" to a safe, 0+ integer, otherwise return undefined
|
|
8
|
+
// Note: Any changes to this function should also be made to "resolveStart"
|
|
9
|
+
// in packages/editor/adf-schema/src/schema/nodes/ordered-list.ts
|
|
10
|
+
|
|
11
|
+
exports.DEFAULT_ORDER = DEFAULT_ORDER;
|
|
12
|
+
|
|
13
|
+
var resolveOrder = function resolveOrder(order) {
|
|
14
|
+
var num = Number(order);
|
|
15
|
+
|
|
16
|
+
if (Number.isNaN(num)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (num < 0) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return Math.floor(Math.max(num, 0));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.resolveOrder = resolveOrder;
|
|
28
|
+
|
|
29
|
+
var getOrderFromOrderedListNode = function getOrderFromOrderedListNode(orderedListNode) {
|
|
30
|
+
var _orderedListNode$attr, _resolveOrder;
|
|
31
|
+
|
|
32
|
+
var order = orderedListNode === null || orderedListNode === void 0 ? void 0 : (_orderedListNode$attr = orderedListNode.attrs) === null || _orderedListNode$attr === void 0 ? void 0 : _orderedListNode$attr.order;
|
|
33
|
+
return (_resolveOrder = resolveOrder(order)) !== null && _resolveOrder !== void 0 ? _resolveOrder : DEFAULT_ORDER;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.getOrderFromOrderedListNode = getOrderFromOrderedListNode;
|
|
37
|
+
|
|
38
|
+
var getItemCounterDigitsSize = function getItemCounterDigitsSize(options) {
|
|
39
|
+
var _resolveOrder2, _String, _String$split, _String$split$;
|
|
40
|
+
|
|
41
|
+
var order = (_resolveOrder2 = resolveOrder(options.order)) !== null && _resolveOrder2 !== void 0 ? _resolveOrder2 : DEFAULT_ORDER;
|
|
42
|
+
var itemsCount = typeof options.itemsCount === 'number' ? options.itemsCount : 0;
|
|
43
|
+
var largestCounter = order + (itemsCount - 1);
|
|
44
|
+
return (_String = String(largestCounter)) === null || _String === void 0 ? void 0 : (_String$split = _String.split('.')) === null || _String$split === void 0 ? void 0 : (_String$split$ = _String$split[0]) === null || _String$split$ === void 0 ? void 0 : _String$split$.length;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.getItemCounterDigitsSize = getItemCounterDigitsSize;
|
|
@@ -66,26 +66,26 @@ function pluginFactory(pluginKey, reducer) {
|
|
|
66
66
|
init: function init(_, state) {
|
|
67
67
|
return isFunction(initialState) ? initialState(state) : initialState;
|
|
68
68
|
},
|
|
69
|
-
apply: function apply(tr, _pluginState) {
|
|
70
|
-
var
|
|
71
|
-
var
|
|
69
|
+
apply: function apply(tr, _pluginState, _oldEditorState, newEditorState) {
|
|
70
|
+
var oldPluginState = mapping ? mapping(tr, _pluginState, newEditorState) : _pluginState;
|
|
71
|
+
var newPluginState = oldPluginState;
|
|
72
72
|
var meta = tr.getMeta(pluginKey);
|
|
73
73
|
|
|
74
74
|
if (meta) {
|
|
75
|
-
|
|
75
|
+
newPluginState = reducer(oldPluginState, meta);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
if (onDocChanged && tr.docChanged) {
|
|
79
|
-
|
|
79
|
+
newPluginState = onDocChanged(tr, newPluginState, newEditorState);
|
|
80
80
|
} else if (onSelectionChanged && tr.selectionSet) {
|
|
81
|
-
|
|
81
|
+
newPluginState = onSelectionChanged(tr, newPluginState, newEditorState);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
if (
|
|
85
|
-
dispatch(pluginKey,
|
|
84
|
+
if (newPluginState !== oldPluginState) {
|
|
85
|
+
dispatch(pluginKey, newPluginState);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
return
|
|
88
|
+
return newPluginState;
|
|
89
89
|
}
|
|
90
90
|
};
|
|
91
91
|
},
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.isReferencedSource = void 0;
|
|
8
|
+
exports.removeConnectedNodes = exports.isReferencedSource = exports.getNodeName = exports.getChildrenInfo = void 0;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
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; } } }; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
7
21
|
|
|
8
22
|
var isReferencedSource = function isReferencedSource(state, node) {
|
|
9
23
|
var _node$attrs, _node$marks, _node$marks$find, _node$marks$find$attr;
|
|
@@ -46,4 +60,269 @@ var isReferencedSource = function isReferencedSource(state, node) {
|
|
|
46
60
|
return found;
|
|
47
61
|
};
|
|
48
62
|
|
|
49
|
-
exports.isReferencedSource = isReferencedSource;
|
|
63
|
+
exports.isReferencedSource = isReferencedSource;
|
|
64
|
+
|
|
65
|
+
var getConnections = function getConnections(state) {
|
|
66
|
+
var result = {};
|
|
67
|
+
var doc = state.doc,
|
|
68
|
+
schema = state.schema; // Keeps a map of all raw ids -> to their preferred normalised varient. A node with both fragmentMark & localId will
|
|
69
|
+
// have both ids mapped here to the same normalized version.
|
|
70
|
+
|
|
71
|
+
var normalizedIds = new Map();
|
|
72
|
+
var dataConsumerSources = new Map(); // Perform a prelim scan creating the initial id to connection link mappings.
|
|
73
|
+
// This will also save a list of data sources consumed per node.
|
|
74
|
+
|
|
75
|
+
doc.descendants(function (node, pos) {
|
|
76
|
+
var _node$attrs2, _fragmentMark$attrs$l, _fragmentMark, _fragmentMark$attrs, _node$attrs3, _fragmentMark2, _fragmentMark2$attrs, _node$attrs4, _fragmentMark$attrs$n, _fragmentMark3, _fragmentMark3$attrs;
|
|
77
|
+
|
|
78
|
+
var dataConsumer;
|
|
79
|
+
var fragmentMark;
|
|
80
|
+
node.marks.some(function (mark) {
|
|
81
|
+
if (mark.type === schema.marks.dataConsumer) {
|
|
82
|
+
dataConsumer = mark;
|
|
83
|
+
} else if (mark.type === schema.marks.fragment) {
|
|
84
|
+
fragmentMark = mark;
|
|
85
|
+
} // Stop searching marks if we've found both consumer and fragment.
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
return !!dataConsumer && !!fragmentMark;
|
|
89
|
+
}); // If node cannot be referenced by any means then abort.
|
|
90
|
+
|
|
91
|
+
if (!fragmentMark && !((_node$attrs2 = node.attrs) !== null && _node$attrs2 !== void 0 && _node$attrs2.localId)) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var normalizedId = (_fragmentMark$attrs$l = (_fragmentMark = fragmentMark) === null || _fragmentMark === void 0 ? void 0 : (_fragmentMark$attrs = _fragmentMark.attrs) === null || _fragmentMark$attrs === void 0 ? void 0 : _fragmentMark$attrs.localId) !== null && _fragmentMark$attrs$l !== void 0 ? _fragmentMark$attrs$l : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.localId;
|
|
96
|
+
|
|
97
|
+
if (!normalizedId) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (!!((_fragmentMark2 = fragmentMark) !== null && _fragmentMark2 !== void 0 && (_fragmentMark2$attrs = _fragmentMark2.attrs) !== null && _fragmentMark2$attrs !== void 0 && _fragmentMark2$attrs.localId)) {
|
|
102
|
+
normalizedIds.set(fragmentMark.attrs.localId, normalizedId);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (!!((_node$attrs4 = node.attrs) !== null && _node$attrs4 !== void 0 && _node$attrs4.localId)) {
|
|
106
|
+
normalizedIds.set(node.attrs.localId, normalizedId);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (!!result[normalizedId]) {
|
|
110
|
+
// Duplicate ID has been found, we'll care about the first one for now.
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
result[normalizedId] = {
|
|
115
|
+
localId: normalizedId,
|
|
116
|
+
name: (_fragmentMark$attrs$n = (_fragmentMark3 = fragmentMark) === null || _fragmentMark3 === void 0 ? void 0 : (_fragmentMark3$attrs = _fragmentMark3.attrs) === null || _fragmentMark3$attrs === void 0 ? void 0 : _fragmentMark3$attrs.name) !== null && _fragmentMark$attrs$n !== void 0 ? _fragmentMark$attrs$n : normalizedId,
|
|
117
|
+
node: node,
|
|
118
|
+
pos: pos,
|
|
119
|
+
targets: []
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
if (!!dataConsumer && dataConsumer.attrs.sources.length) {
|
|
123
|
+
dataConsumerSources.set(normalizedId, dataConsumer.attrs.sources);
|
|
124
|
+
} // Do not descend into children of a node which has a dataConsumer attached. This assumes all children of the node cannot
|
|
125
|
+
// be referenced by another node.
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
return !dataConsumer;
|
|
129
|
+
}); // This 2nd-pass only looks at the consumer sources and updates all connections with the correct id refs.
|
|
130
|
+
|
|
131
|
+
var _iterator = _createForOfIteratorHelper(dataConsumerSources),
|
|
132
|
+
_step;
|
|
133
|
+
|
|
134
|
+
try {
|
|
135
|
+
var _loop = function _loop() {
|
|
136
|
+
var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
|
|
137
|
+
localId = _step$value[0],
|
|
138
|
+
sources = _step$value[1];
|
|
139
|
+
|
|
140
|
+
// This is a ref to the node (connection link) which contains the consumer.
|
|
141
|
+
sources.forEach(function (src) {
|
|
142
|
+
var _normalizedIds$get;
|
|
143
|
+
|
|
144
|
+
var normalizedId = (_normalizedIds$get = normalizedIds.get(src)) !== null && _normalizedIds$get !== void 0 ? _normalizedIds$get : src;
|
|
145
|
+
var srcLink = result[normalizedId];
|
|
146
|
+
|
|
147
|
+
if (srcLink && normalizedId !== localId) {
|
|
148
|
+
srcLink.targets.push(localId);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
154
|
+
_loop();
|
|
155
|
+
}
|
|
156
|
+
} catch (err) {
|
|
157
|
+
_iterator.e(err);
|
|
158
|
+
} finally {
|
|
159
|
+
_iterator.f();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return result;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
var removeConnectedNodes = function removeConnectedNodes(state, node) {
|
|
166
|
+
if (!node) {
|
|
167
|
+
return state.tr;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
var selectedLocalIds = getSelectedLocalIds(state, node);
|
|
171
|
+
var allNodes = getConnections(state);
|
|
172
|
+
var idsToBeDeleted = getIdsToBeDeleted(selectedLocalIds, allNodes);
|
|
173
|
+
|
|
174
|
+
if (!(idsToBeDeleted !== null && idsToBeDeleted !== void 0 && idsToBeDeleted.length)) {
|
|
175
|
+
return state.tr;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
var tr = state.tr;
|
|
179
|
+
var newTr = tr;
|
|
180
|
+
idsToBeDeleted.forEach(function (id) {
|
|
181
|
+
if (!allNodes[id]) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var _allNodes$id = allNodes[id],
|
|
186
|
+
node = _allNodes$id.node,
|
|
187
|
+
pos = _allNodes$id.pos;
|
|
188
|
+
newTr = newTr.delete(newTr.mapping.map(pos), newTr.mapping.map(node.nodeSize + pos));
|
|
189
|
+
});
|
|
190
|
+
return newTr;
|
|
191
|
+
}; // find all ids need to be remove connected to selected extension
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
exports.removeConnectedNodes = removeConnectedNodes;
|
|
195
|
+
|
|
196
|
+
var getIdsToBeDeleted = function getIdsToBeDeleted(selectedIds, allNodes) {
|
|
197
|
+
if (!selectedIds.size) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
var searchSet = (0, _toConsumableArray2.default)(selectedIds);
|
|
202
|
+
var deletedIds = new Set();
|
|
203
|
+
|
|
204
|
+
while (searchSet.length) {
|
|
205
|
+
var id = searchSet.pop();
|
|
206
|
+
|
|
207
|
+
if (allNodes[id]) {
|
|
208
|
+
var _allNodes$id$targets$, _allNodes$id2;
|
|
209
|
+
|
|
210
|
+
deletedIds.add(allNodes[id].localId);
|
|
211
|
+
searchSet = searchSet.concat((_allNodes$id$targets$ = (_allNodes$id2 = allNodes[id]) === null || _allNodes$id2 === void 0 ? void 0 : _allNodes$id2.targets.filter(function (targetId) {
|
|
212
|
+
var _allNodes$targetId;
|
|
213
|
+
|
|
214
|
+
return !deletedIds.has((_allNodes$targetId = allNodes[targetId]) === null || _allNodes$targetId === void 0 ? void 0 : _allNodes$targetId.localId);
|
|
215
|
+
})) !== null && _allNodes$id$targets$ !== void 0 ? _allNodes$id$targets$ : []);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return Array.from(deletedIds);
|
|
220
|
+
}; // for get children info for confirmation dialog
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
var getChildrenInfo = function getChildrenInfo(state, node) {
|
|
224
|
+
if (!node) {
|
|
225
|
+
return [];
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
var childrenIdSet = new Set();
|
|
229
|
+
var childrenInfoArray = [];
|
|
230
|
+
var allNodes = getConnections(state);
|
|
231
|
+
var selectedNodeIds = getSelectedLocalIds(state, node);
|
|
232
|
+
selectedNodeIds.forEach(function (id) {
|
|
233
|
+
if (allNodes[id]) {
|
|
234
|
+
allNodes[id].targets.forEach(childrenIdSet.add, childrenIdSet);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
childrenIdSet.forEach(function (id) {
|
|
238
|
+
childrenInfoArray.push({
|
|
239
|
+
id: id,
|
|
240
|
+
name: getNodeNameById(id, allNodes),
|
|
241
|
+
amount: getChildrenNodeAmount(id, allNodes)
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
return childrenInfoArray;
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
exports.getChildrenInfo = getChildrenInfo;
|
|
248
|
+
|
|
249
|
+
var getChildrenNodeAmount = function getChildrenNodeAmount(id, allNodes) {
|
|
250
|
+
var searchTerms = new Set([id]);
|
|
251
|
+
var traverseHistory = new Map();
|
|
252
|
+
var childrenIds = new Set();
|
|
253
|
+
traverseHistory.set(id, false);
|
|
254
|
+
|
|
255
|
+
while (searchTerms.size > 0) {
|
|
256
|
+
var _searchTerms = (0, _slicedToArray2.default)(searchTerms, 1),
|
|
257
|
+
currTerm = _searchTerms[0];
|
|
258
|
+
|
|
259
|
+
var targets = getNodeTargetsById(currTerm, allNodes);
|
|
260
|
+
targets.forEach(function (target) {
|
|
261
|
+
var isTargetCounted = traverseHistory.get(target);
|
|
262
|
+
|
|
263
|
+
if (!isTargetCounted) {
|
|
264
|
+
searchTerms.add(target);
|
|
265
|
+
childrenIds.add(target);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
target !== id && childrenIds.add(target);
|
|
269
|
+
});
|
|
270
|
+
traverseHistory.set(currTerm, true);
|
|
271
|
+
searchTerms.delete(currTerm);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
return childrenIds.size;
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
var getNodeTargetsById = function getNodeTargetsById(id, allNodes) {
|
|
278
|
+
if (!id || !allNodes[id]) {
|
|
279
|
+
return [];
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
return allNodes[id].targets;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
var DEFAULT_EXTENSION_NAME = 'Default extension';
|
|
286
|
+
|
|
287
|
+
var getNodeNameById = function getNodeNameById(id, allNodes) {
|
|
288
|
+
if ((0, _typeof2.default)(id) === 'object') {
|
|
289
|
+
var _name2;
|
|
290
|
+
|
|
291
|
+
var name;
|
|
292
|
+
id.forEach(function (localId) {
|
|
293
|
+
var _name, _allNodes$localId;
|
|
294
|
+
|
|
295
|
+
name = (_name = name) !== null && _name !== void 0 ? _name : (_allNodes$localId = allNodes[localId]) === null || _allNodes$localId === void 0 ? void 0 : _allNodes$localId.name;
|
|
296
|
+
});
|
|
297
|
+
return (_name2 = name) !== null && _name2 !== void 0 ? _name2 : DEFAULT_EXTENSION_NAME;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
if (!id || !allNodes[id]) {
|
|
301
|
+
return DEFAULT_EXTENSION_NAME;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return allNodes[id].name;
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
var getSelectedLocalIds = function getSelectedLocalIds(state, node) {
|
|
308
|
+
var _node$attrs5, _node$marks2, _node$marks2$find, _node$marks2$find$att;
|
|
309
|
+
|
|
310
|
+
if (!node) {
|
|
311
|
+
return new Set([]);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
var localIds = new Set([(_node$attrs5 = node.attrs) === null || _node$attrs5 === void 0 ? void 0 : _node$attrs5.localId, (_node$marks2 = node.marks) === null || _node$marks2 === void 0 ? void 0 : (_node$marks2$find = _node$marks2.find(function (mark) {
|
|
315
|
+
return mark.type === state.schema.marks.fragment;
|
|
316
|
+
})) === null || _node$marks2$find === void 0 ? void 0 : (_node$marks2$find$att = _node$marks2$find.attrs) === null || _node$marks2$find$att === void 0 ? void 0 : _node$marks2$find$att.localId].filter(Boolean));
|
|
317
|
+
return localIds;
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
var getNodeName = function getNodeName(state, node) {
|
|
321
|
+
var _node$marks$find$attr2, _node$marks3, _node$marks3$find, _node$marks3$find$att;
|
|
322
|
+
|
|
323
|
+
return (_node$marks$find$attr2 = node === null || node === void 0 ? void 0 : (_node$marks3 = node.marks) === null || _node$marks3 === void 0 ? void 0 : (_node$marks3$find = _node$marks3.find(function (mark) {
|
|
324
|
+
return mark.type === state.schema.marks.fragment;
|
|
325
|
+
})) === null || _node$marks3$find === void 0 ? void 0 : (_node$marks3$find$att = _node$marks3$find.attrs) === null || _node$marks3$find$att === void 0 ? void 0 : _node$marks3$find$att.name) !== null && _node$marks$find$attr2 !== void 0 ? _node$marks$find$attr2 : '';
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
exports.getNodeName = getNodeName;
|