@atlaskit/editor-core 188.13.1 → 188.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/plugins/code-block/actions.js +27 -25
- package/dist/cjs/plugins/code-block/ide-ux/commands.js +64 -60
- package/dist/cjs/plugins/code-block/index.js +1 -1
- package/dist/cjs/plugins/code-block/pm-plugins/ide-ux.js +6 -4
- package/dist/cjs/plugins/code-block/toolbar.js +8 -5
- package/dist/cjs/plugins/layout/actions.js +53 -50
- package/dist/cjs/plugins/layout/index.js +1 -2
- package/dist/cjs/plugins/layout/toolbar.js +10 -6
- package/dist/cjs/plugins/panel/actions.js +59 -56
- package/dist/cjs/plugins/panel/index.js +18 -10
- package/dist/cjs/plugins/panel/toolbar.js +11 -11
- package/dist/cjs/plugins/undo-redo/pm-plugins/keymaps.js +10 -1
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/plugins/code-block/actions.js +4 -4
- package/dist/es2019/plugins/code-block/ide-ux/commands.js +9 -9
- package/dist/es2019/plugins/code-block/index.js +1 -1
- package/dist/es2019/plugins/code-block/pm-plugins/ide-ux.js +6 -4
- package/dist/es2019/plugins/code-block/toolbar.js +7 -3
- package/dist/es2019/plugins/layout/actions.js +6 -7
- package/dist/es2019/plugins/layout/index.js +1 -2
- package/dist/es2019/plugins/layout/toolbar.js +10 -5
- package/dist/es2019/plugins/panel/actions.js +8 -7
- package/dist/es2019/plugins/panel/index.js +18 -10
- package/dist/es2019/plugins/panel/toolbar.js +11 -11
- package/dist/es2019/plugins/undo-redo/pm-plugins/keymaps.js +11 -2
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/plugins/code-block/actions.js +27 -25
- package/dist/esm/plugins/code-block/ide-ux/commands.js +62 -58
- package/dist/esm/plugins/code-block/index.js +1 -1
- package/dist/esm/plugins/code-block/pm-plugins/ide-ux.js +6 -4
- package/dist/esm/plugins/code-block/toolbar.js +8 -5
- package/dist/esm/plugins/layout/actions.js +53 -50
- package/dist/esm/plugins/layout/index.js +1 -2
- package/dist/esm/plugins/layout/toolbar.js +10 -6
- package/dist/esm/plugins/panel/actions.js +59 -56
- package/dist/esm/plugins/panel/index.js +18 -10
- package/dist/esm/plugins/panel/toolbar.js +11 -11
- package/dist/esm/plugins/undo-redo/pm-plugins/keymaps.js +11 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/plugins/code-block/actions.d.ts +1 -1
- package/dist/types/plugins/code-block/ide-ux/commands.d.ts +4 -3
- package/dist/types/plugins/code-block/toolbar.d.ts +3 -3
- package/dist/types/plugins/layout/actions.d.ts +2 -2
- package/dist/types/plugins/layout/toolbar.d.ts +3 -3
- package/dist/types/plugins/panel/actions.d.ts +4 -4
- package/dist/types/plugins/panel/index.d.ts +1 -1
- package/dist/types/plugins/undo-redo/pm-plugins/keymaps.d.ts +1 -1
- package/dist/types-ts4.5/plugins/code-block/actions.d.ts +1 -1
- package/dist/types-ts4.5/plugins/code-block/ide-ux/commands.d.ts +4 -3
- package/dist/types-ts4.5/plugins/code-block/toolbar.d.ts +3 -3
- package/dist/types-ts4.5/plugins/layout/actions.d.ts +2 -2
- package/dist/types-ts4.5/plugins/layout/toolbar.d.ts +3 -3
- package/dist/types-ts4.5/plugins/panel/actions.d.ts +4 -4
- package/dist/types-ts4.5/plugins/panel/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/undo-redo/pm-plugins/keymaps.d.ts +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 188.13.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#41937](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41937) [`d510a8e569a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d510a8e569a) - Migrate code-block, panel, and layout to new editor analytics API.
|
|
8
|
+
|
|
9
|
+
## 188.13.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#41634](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41634) [`e7cd20932b9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e7cd20932b9) - on windows, toggles mark when the capslock is on
|
|
14
|
+
|
|
3
15
|
## 188.13.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -14,7 +14,6 @@ var _pluginKey = require("./plugin-key");
|
|
|
14
14
|
var _codeBlockCopySelectionPlugin = require("./pm-plugins/codeBlockCopySelectionPlugin");
|
|
15
15
|
var _actions = require("./pm-plugins/actions");
|
|
16
16
|
var _clipboard = require("../../utils/clipboard");
|
|
17
|
-
var _utils2 = require("../analytics/utils");
|
|
18
17
|
var _insert = require("@atlaskit/editor-common/insert");
|
|
19
18
|
var _transformToCodeBlock = require("./transform-to-code-block");
|
|
20
19
|
var _editorAnalytics = require("@atlaskit/editor-common/editor-analytics");
|
|
@@ -33,30 +32,33 @@ var removeCodeBlock = exports.removeCodeBlock = function removeCodeBlock(state,
|
|
|
33
32
|
}
|
|
34
33
|
return true;
|
|
35
34
|
};
|
|
36
|
-
var changeLanguage = exports.changeLanguage = function changeLanguage(
|
|
37
|
-
return function (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
dispatch
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
35
|
+
var changeLanguage = exports.changeLanguage = function changeLanguage(editorAnalyticsAPI) {
|
|
36
|
+
return function (language) {
|
|
37
|
+
return function (state, dispatch) {
|
|
38
|
+
var _pluginKey$getState;
|
|
39
|
+
var codeBlock = state.schema.nodes.codeBlock;
|
|
40
|
+
var pos = (_pluginKey$getState = _pluginKey.pluginKey.getState(state)) === null || _pluginKey$getState === void 0 ? void 0 : _pluginKey$getState.pos;
|
|
41
|
+
if (typeof pos !== 'number') {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
var tr = state.tr.setNodeMarkup(pos, codeBlock, {
|
|
45
|
+
language: language
|
|
46
|
+
}).setMeta('scrollIntoView', false);
|
|
47
|
+
var selection = (0, _utils.isNodeSelection)(state.selection) ? _state.NodeSelection.create(tr.doc, pos) : tr.selection;
|
|
48
|
+
var result = tr.setSelection(selection);
|
|
49
|
+
if (dispatch) {
|
|
50
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
51
|
+
action: _analytics.ACTION.LANGUAGE_SELECTED,
|
|
52
|
+
actionSubject: _analytics.ACTION_SUBJECT.CODE_BLOCK,
|
|
53
|
+
attributes: {
|
|
54
|
+
language: language
|
|
55
|
+
},
|
|
56
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
57
|
+
})(result);
|
|
58
|
+
dispatch(result);
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
};
|
|
60
62
|
};
|
|
61
63
|
};
|
|
62
64
|
var copyContentToClipboard = exports.copyContentToClipboard = function copyContentToClipboard(state, dispatch) {
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.indent =
|
|
6
|
+
exports.indent = void 0;
|
|
7
7
|
exports.insertIndent = insertIndent;
|
|
8
8
|
exports.insertNewlineWithIndent = insertNewlineWithIndent;
|
|
9
|
-
exports.outdent =
|
|
9
|
+
exports.outdent = void 0;
|
|
10
10
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
11
11
|
var _lineHandling = require("./line-handling");
|
|
12
|
-
var _analytics = require("
|
|
12
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
13
|
/**
|
|
14
14
|
* Return the current indentation level
|
|
15
15
|
* @param indentText - Text in the code block that represent an indentation
|
|
@@ -21,55 +21,21 @@ function getIndentLevel(indentText, indentSize) {
|
|
|
21
21
|
}
|
|
22
22
|
return indentText.length / indentSize;
|
|
23
23
|
}
|
|
24
|
-
function indent(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var indentToAdd = indentToken.token.repeat(indentToken.size - indentText.length % indentToken.size || indentToken.size);
|
|
36
|
-
tr.insertText(indentToAdd, tr.mapping.map(start + offset, -1));
|
|
37
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
38
|
-
action: _analytics.ACTION.FORMATTED,
|
|
39
|
-
actionSubject: _analytics.ACTION_SUBJECT.TEXT,
|
|
40
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_INDENT,
|
|
41
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
42
|
-
attributes: {
|
|
43
|
-
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
44
|
-
previousIndentationLevel: indentLevel,
|
|
45
|
-
newIndentLevel: indentLevel + 1,
|
|
46
|
-
direction: _analytics.INDENT_DIRECTION.INDENT,
|
|
47
|
-
indentType: _analytics.INDENT_TYPE.CODE_BLOCK
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
if (!selection.empty) {
|
|
51
|
-
tr.setSelection(_state.TextSelection.create(tr.doc, tr.mapping.map(selection.from, -1), tr.selection.to));
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
if (dispatch) {
|
|
55
|
-
dispatch(tr);
|
|
56
|
-
}
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
function outdent(state, dispatch) {
|
|
60
|
-
var _getLinesFromSelectio2 = (0, _lineHandling.getLinesFromSelection)(state),
|
|
61
|
-
text = _getLinesFromSelectio2.text,
|
|
62
|
-
start = _getLinesFromSelectio2.start;
|
|
63
|
-
var tr = state.tr;
|
|
64
|
-
(0, _lineHandling.forEachLine)(text, function (line, offset) {
|
|
65
|
-
var _getLineInfo2 = (0, _lineHandling.getLineInfo)(line),
|
|
66
|
-
indentText = _getLineInfo2.indentText,
|
|
67
|
-
indentToken = _getLineInfo2.indentToken;
|
|
68
|
-
if (indentText) {
|
|
24
|
+
var indent = exports.indent = function indent(editorAnalyticsAPI) {
|
|
25
|
+
return function (state, dispatch) {
|
|
26
|
+
var _getLinesFromSelectio = (0, _lineHandling.getLinesFromSelection)(state),
|
|
27
|
+
text = _getLinesFromSelectio.text,
|
|
28
|
+
start = _getLinesFromSelectio.start;
|
|
29
|
+
var tr = state.tr,
|
|
30
|
+
selection = state.selection;
|
|
31
|
+
(0, _lineHandling.forEachLine)(text, function (line, offset) {
|
|
32
|
+
var _getLineInfo = (0, _lineHandling.getLineInfo)(line),
|
|
33
|
+
indentText = _getLineInfo.indentText,
|
|
34
|
+
indentToken = _getLineInfo.indentToken;
|
|
69
35
|
var indentLevel = getIndentLevel(indentText, indentToken.size);
|
|
70
|
-
var
|
|
71
|
-
tr.
|
|
72
|
-
|
|
36
|
+
var indentToAdd = indentToken.token.repeat(indentToken.size - indentText.length % indentToken.size || indentToken.size);
|
|
37
|
+
tr.insertText(indentToAdd, tr.mapping.map(start + offset, -1));
|
|
38
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
73
39
|
action: _analytics.ACTION.FORMATTED,
|
|
74
40
|
actionSubject: _analytics.ACTION_SUBJECT.TEXT,
|
|
75
41
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_INDENT,
|
|
@@ -77,18 +43,56 @@ function outdent(state, dispatch) {
|
|
|
77
43
|
attributes: {
|
|
78
44
|
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
79
45
|
previousIndentationLevel: indentLevel,
|
|
80
|
-
newIndentLevel: indentLevel
|
|
81
|
-
direction: _analytics.INDENT_DIRECTION.
|
|
46
|
+
newIndentLevel: indentLevel + 1,
|
|
47
|
+
direction: _analytics.INDENT_DIRECTION.INDENT,
|
|
82
48
|
indentType: _analytics.INDENT_TYPE.CODE_BLOCK
|
|
83
49
|
}
|
|
84
|
-
});
|
|
50
|
+
})(tr);
|
|
51
|
+
if (!selection.empty) {
|
|
52
|
+
tr.setSelection(_state.TextSelection.create(tr.doc, tr.mapping.map(selection.from, -1), tr.selection.to));
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
if (dispatch) {
|
|
56
|
+
dispatch(tr);
|
|
85
57
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return
|
|
91
|
-
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
var outdent = exports.outdent = function outdent(editorAnalyticsAPI) {
|
|
62
|
+
return function (state, dispatch) {
|
|
63
|
+
var _getLinesFromSelectio2 = (0, _lineHandling.getLinesFromSelection)(state),
|
|
64
|
+
text = _getLinesFromSelectio2.text,
|
|
65
|
+
start = _getLinesFromSelectio2.start;
|
|
66
|
+
var tr = state.tr;
|
|
67
|
+
(0, _lineHandling.forEachLine)(text, function (line, offset) {
|
|
68
|
+
var _getLineInfo2 = (0, _lineHandling.getLineInfo)(line),
|
|
69
|
+
indentText = _getLineInfo2.indentText,
|
|
70
|
+
indentToken = _getLineInfo2.indentToken;
|
|
71
|
+
if (indentText) {
|
|
72
|
+
var indentLevel = getIndentLevel(indentText, indentToken.size);
|
|
73
|
+
var unindentLength = indentText.length % indentToken.size || indentToken.size;
|
|
74
|
+
tr.delete(tr.mapping.map(start + offset), tr.mapping.map(start + offset + unindentLength));
|
|
75
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
76
|
+
action: _analytics.ACTION.FORMATTED,
|
|
77
|
+
actionSubject: _analytics.ACTION_SUBJECT.TEXT,
|
|
78
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.FORMAT_INDENT,
|
|
79
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
80
|
+
attributes: {
|
|
81
|
+
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
82
|
+
previousIndentationLevel: indentLevel,
|
|
83
|
+
newIndentLevel: indentLevel - 1,
|
|
84
|
+
direction: _analytics.INDENT_DIRECTION.OUTDENT,
|
|
85
|
+
indentType: _analytics.INDENT_TYPE.CODE_BLOCK
|
|
86
|
+
}
|
|
87
|
+
})(tr);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
if (dispatch) {
|
|
91
|
+
dispatch(tr);
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
92
96
|
function insertIndent(state, dispatch) {
|
|
93
97
|
var _getStartOfCurrentLin = (0, _lineHandling.getStartOfCurrentLine)(state),
|
|
94
98
|
textAtStartOfLine = _getStartOfCurrentLin.text;
|
|
@@ -113,7 +113,7 @@ var codeBlockPlugin = function codeBlockPlugin(_ref) {
|
|
|
113
113
|
}
|
|
114
114
|
}];
|
|
115
115
|
},
|
|
116
|
-
floatingToolbar: (0, _toolbar.getToolbarConfig)(options === null || options === void 0 ? void 0 : options.allowCopyToClipboard, api
|
|
116
|
+
floatingToolbar: (0, _toolbar.getToolbarConfig)(options === null || options === void 0 ? void 0 : options.allowCopyToClipboard, api)
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
119
|
};
|
|
@@ -16,6 +16,8 @@ var _quoteHandling = require("../ide-ux/quote-handling");
|
|
|
16
16
|
var _lineHandling = require("../ide-ux/line-handling");
|
|
17
17
|
var _commands = require("../ide-ux/commands");
|
|
18
18
|
var ideUX = function ideUX(pluginInjectionApi) {
|
|
19
|
+
var _pluginInjectionApi$a;
|
|
20
|
+
var editorAnalyticsAPI = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions;
|
|
19
21
|
return new _safePlugin.SafePlugin({
|
|
20
22
|
props: {
|
|
21
23
|
handleTextInput: function handleTextInput(view, from, to, text) {
|
|
@@ -98,8 +100,8 @@ var ideUX = function ideUX(pluginInjectionApi) {
|
|
|
98
100
|
return false;
|
|
99
101
|
},
|
|
100
102
|
Enter: (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, _commands.insertNewlineWithIndent),
|
|
101
|
-
'Mod-]': (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, _commands.indent),
|
|
102
|
-
'Mod-[': (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, _commands.outdent),
|
|
103
|
+
'Mod-]': (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, (0, _commands.indent)(editorAnalyticsAPI)),
|
|
104
|
+
'Mod-[': (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, (0, _commands.outdent)(editorAnalyticsAPI)),
|
|
103
105
|
Tab: (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, function (state, dispatch) {
|
|
104
106
|
if (!dispatch) {
|
|
105
107
|
return false;
|
|
@@ -107,9 +109,9 @@ var ideUX = function ideUX(pluginInjectionApi) {
|
|
|
107
109
|
if ((0, _lineHandling.isCursorInsideCodeBlock)(state)) {
|
|
108
110
|
return (0, _commands.insertIndent)(state, dispatch);
|
|
109
111
|
}
|
|
110
|
-
return (0, _commands.indent)(state, dispatch);
|
|
112
|
+
return (0, _commands.indent)(editorAnalyticsAPI)(state, dispatch);
|
|
111
113
|
}),
|
|
112
|
-
'Shift-Tab': (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, _commands.outdent),
|
|
114
|
+
'Shift-Tab': (0, _utils3.filterCommand)(_lineHandling.isSelectionEntirelyInsideCodeBlock, (0, _commands.outdent)(editorAnalyticsAPI)),
|
|
113
115
|
'Mod-a': function ModA(state, dispatch) {
|
|
114
116
|
if ((0, _lineHandling.isSelectionEntirelyInsideCodeBlock)(state)) {
|
|
115
117
|
var _state$selection = state.selection,
|
|
@@ -25,10 +25,13 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
|
|
|
25
25
|
var languageList = (0, _languageList.createLanguageList)(_languageList.DEFAULT_LANGUAGES);
|
|
26
26
|
var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig() {
|
|
27
27
|
var allowCopyToClipboard = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
28
|
-
var
|
|
28
|
+
var api = arguments.length > 1 ? arguments[1] : undefined;
|
|
29
29
|
return function (state, _ref) {
|
|
30
|
-
var _codeBlockState$pos, _node$attrs;
|
|
30
|
+
var _api$decorations$acti, _api$analytics, _codeBlockState$pos, _node$attrs;
|
|
31
31
|
var formatMessage = _ref.formatMessage;
|
|
32
|
+
var _ref2 = (_api$decorations$acti = api === null || api === void 0 ? void 0 : api.decorations.actions) !== null && _api$decorations$acti !== void 0 ? _api$decorations$acti : {},
|
|
33
|
+
hoverDecoration = _ref2.hoverDecoration;
|
|
34
|
+
var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
|
|
32
35
|
var codeBlockState = _pluginKey.pluginKey.getState(state);
|
|
33
36
|
var pos = (_codeBlockState$pos = codeBlockState === null || codeBlockState === void 0 ? void 0 : codeBlockState.pos) !== null && _codeBlockState$pos !== void 0 ? _codeBlockState$pos : null;
|
|
34
37
|
if (!codeBlockState || pos === null) {
|
|
@@ -59,7 +62,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig() {
|
|
|
59
62
|
type: 'select',
|
|
60
63
|
selectType: 'list',
|
|
61
64
|
onChange: function onChange(option) {
|
|
62
|
-
return (0, _actions.changeLanguage)(option.value);
|
|
65
|
+
return (0, _actions.changeLanguage)(editorAnalyticsAPI)(option.value);
|
|
63
66
|
},
|
|
64
67
|
defaultValue: defaultValue,
|
|
65
68
|
placeholder: formatMessage(messages.selectLanguage),
|
|
@@ -117,8 +120,8 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig() {
|
|
|
117
120
|
* Filters language list based on both name and alias properties.
|
|
118
121
|
*/
|
|
119
122
|
var languageListFilter = exports.languageListFilter = function languageListFilter(option, rawInput) {
|
|
120
|
-
var
|
|
121
|
-
data =
|
|
123
|
+
var _ref3 = option,
|
|
124
|
+
data = _ref3.data;
|
|
122
125
|
var searchString = rawInput.toLowerCase();
|
|
123
126
|
return data.label.toLowerCase().includes(searchString) || data.alias.some(function (alias) {
|
|
124
127
|
return alias.toLowerCase() === searchString;
|
|
@@ -14,7 +14,6 @@ var _state = require("@atlaskit/editor-prosemirror/state");
|
|
|
14
14
|
var _slice = require("../../utils/slice");
|
|
15
15
|
var _utils2 = require("@atlaskit/editor-common/utils");
|
|
16
16
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
17
|
-
var _utils3 = require("../analytics/utils");
|
|
18
17
|
var _editorAnalytics = require("@atlaskit/editor-common/editor-analytics");
|
|
19
18
|
var _nodeEvents = require("../analytics/types/node-events");
|
|
20
19
|
var _pluginKey = require("./pm-plugins/plugin-key");
|
|
@@ -210,36 +209,38 @@ function forceSectionToPresetLayout(state, node, pos, presetLayout) {
|
|
|
210
209
|
var selectionPos$ = tr.doc.resolve(selection.$from.pos);
|
|
211
210
|
return tr.setSelection(state.selection instanceof _state.NodeSelection ? new _state.NodeSelection(selectionPos$) : new _state.TextSelection(selectionPos$));
|
|
212
211
|
}
|
|
213
|
-
var setPresetLayout = exports.setPresetLayout = function setPresetLayout(
|
|
214
|
-
return function (
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var node = state.doc.nodeAt(pos);
|
|
222
|
-
if (!node) {
|
|
223
|
-
return false;
|
|
224
|
-
}
|
|
225
|
-
var tr = forceSectionToPresetLayout(state, node, pos, layout);
|
|
226
|
-
if (tr) {
|
|
227
|
-
tr = (0, _utils3.addAnalytics)(state, tr, {
|
|
228
|
-
action: _analytics.ACTION.CHANGED_LAYOUT,
|
|
229
|
-
actionSubject: _analytics.ACTION_SUBJECT.LAYOUT,
|
|
230
|
-
attributes: {
|
|
231
|
-
previousLayout: formatLayoutName(selectedLayout),
|
|
232
|
-
newLayout: formatLayoutName(layout)
|
|
233
|
-
},
|
|
234
|
-
eventType: _analytics.EVENT_TYPE.TRACK
|
|
235
|
-
});
|
|
236
|
-
tr.setMeta('scrollIntoView', false);
|
|
237
|
-
if (dispatch) {
|
|
238
|
-
dispatch(tr);
|
|
212
|
+
var setPresetLayout = exports.setPresetLayout = function setPresetLayout(editorAnalyticsAPI) {
|
|
213
|
+
return function (layout) {
|
|
214
|
+
return function (state, dispatch) {
|
|
215
|
+
var _ref = _pluginKey.pluginKey.getState(state),
|
|
216
|
+
pos = _ref.pos,
|
|
217
|
+
selectedLayout = _ref.selectedLayout;
|
|
218
|
+
if (selectedLayout === layout || pos === null) {
|
|
219
|
+
return false;
|
|
239
220
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
221
|
+
var node = state.doc.nodeAt(pos);
|
|
222
|
+
if (!node) {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
var tr = forceSectionToPresetLayout(state, node, pos, layout);
|
|
226
|
+
if (tr) {
|
|
227
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
228
|
+
action: _analytics.ACTION.CHANGED_LAYOUT,
|
|
229
|
+
actionSubject: _analytics.ACTION_SUBJECT.LAYOUT,
|
|
230
|
+
attributes: {
|
|
231
|
+
previousLayout: formatLayoutName(selectedLayout),
|
|
232
|
+
newLayout: formatLayoutName(layout)
|
|
233
|
+
},
|
|
234
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
235
|
+
})(tr);
|
|
236
|
+
tr.setMeta('scrollIntoView', false);
|
|
237
|
+
if (dispatch) {
|
|
238
|
+
dispatch(tr);
|
|
239
|
+
}
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
return false;
|
|
243
|
+
};
|
|
243
244
|
};
|
|
244
245
|
};
|
|
245
246
|
function layoutNeedChanges(node) {
|
|
@@ -304,27 +305,29 @@ var fixColumnStructure = exports.fixColumnStructure = function fixColumnStructur
|
|
|
304
305
|
}
|
|
305
306
|
return;
|
|
306
307
|
};
|
|
307
|
-
var deleteActiveLayoutNode = exports.deleteActiveLayoutNode = function deleteActiveLayoutNode(
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
308
|
+
var deleteActiveLayoutNode = exports.deleteActiveLayoutNode = function deleteActiveLayoutNode(editorAnalyticsAPI) {
|
|
309
|
+
return function (state, dispatch) {
|
|
310
|
+
var _ref3 = _pluginKey.pluginKey.getState(state),
|
|
311
|
+
pos = _ref3.pos,
|
|
312
|
+
selectedLayout = _ref3.selectedLayout;
|
|
313
|
+
if (pos !== null) {
|
|
314
|
+
var node = state.doc.nodeAt(pos);
|
|
315
|
+
if (dispatch) {
|
|
316
|
+
var tr = state.tr.delete(pos, pos + node.nodeSize);
|
|
317
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
318
|
+
action: _analytics.ACTION.DELETED,
|
|
319
|
+
actionSubject: _analytics.ACTION_SUBJECT.LAYOUT,
|
|
320
|
+
attributes: {
|
|
321
|
+
layout: formatLayoutName(selectedLayout)
|
|
322
|
+
},
|
|
323
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
324
|
+
})(tr);
|
|
325
|
+
dispatch(tr);
|
|
326
|
+
}
|
|
327
|
+
return true;
|
|
324
328
|
}
|
|
325
|
-
return
|
|
326
|
-
}
|
|
327
|
-
return false;
|
|
329
|
+
return false;
|
|
330
|
+
};
|
|
328
331
|
};
|
|
329
332
|
var formatLayoutName = function formatLayoutName(layout) {
|
|
330
333
|
switch (layout) {
|
|
@@ -55,8 +55,7 @@ var layoutPlugin = function layoutPlugin(_ref) {
|
|
|
55
55
|
addSidebarLayouts = _ref2.addSidebarLayouts,
|
|
56
56
|
allowSingleColumnLayout = _ref2.allowSingleColumnLayout;
|
|
57
57
|
if (pos !== null) {
|
|
58
|
-
|
|
59
|
-
return (0, _toolbar.buildToolbar)(state, intl, pos, allowBreakout, addSidebarLayouts, allowSingleColumnLayout, api === null || api === void 0 || (_api$decorations$acti = api.decorations.actions) === null || _api$decorations$acti === void 0 ? void 0 : _api$decorations$acti.hoverDecoration);
|
|
58
|
+
return (0, _toolbar.buildToolbar)(state, intl, pos, allowBreakout, addSidebarLayouts, allowSingleColumnLayout, api);
|
|
60
59
|
}
|
|
61
60
|
return undefined;
|
|
62
61
|
},
|
|
@@ -50,20 +50,24 @@ var SIDEBAR_LAYOUT_TYPES = [{
|
|
|
50
50
|
title: _toolbarMessages.toolbarMessages.threeColumnsWithSidebars,
|
|
51
51
|
icon: _layoutThreeWithSidebars.default
|
|
52
52
|
}];
|
|
53
|
-
var buildLayoutButton = function buildLayoutButton(intl, item, currentLayout) {
|
|
53
|
+
var buildLayoutButton = function buildLayoutButton(intl, item, currentLayout, editorAnalyticsAPI) {
|
|
54
54
|
return {
|
|
55
55
|
id: item.id,
|
|
56
56
|
type: 'button',
|
|
57
57
|
icon: item.icon,
|
|
58
58
|
testId: item.title.id,
|
|
59
59
|
title: intl.formatMessage(item.title),
|
|
60
|
-
onClick: (0, _actions.setPresetLayout)(item.type),
|
|
60
|
+
onClick: (0, _actions.setPresetLayout)(editorAnalyticsAPI)(item.type),
|
|
61
61
|
selected: !!currentLayout && currentLayout === item.type,
|
|
62
62
|
tabIndex: null
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
65
|
var layoutToolbarTitle = exports.layoutToolbarTitle = 'Layout floating controls';
|
|
66
|
-
var buildToolbar = exports.buildToolbar = function buildToolbar(state, intl, pos, _allowBreakout, addSidebarLayouts, allowSingleColumnLayout,
|
|
66
|
+
var buildToolbar = exports.buildToolbar = function buildToolbar(state, intl, pos, _allowBreakout, addSidebarLayouts, allowSingleColumnLayout, api) {
|
|
67
|
+
var _api$decorations$acti, _api$decorations, _api$analytics;
|
|
68
|
+
var _ref = (_api$decorations$acti = api === null || api === void 0 || (_api$decorations = api.decorations) === null || _api$decorations === void 0 ? void 0 : _api$decorations.actions) !== null && _api$decorations$acti !== void 0 ? _api$decorations$acti : {},
|
|
69
|
+
hoverDecoration = _ref.hoverDecoration;
|
|
70
|
+
var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
|
|
67
71
|
var node = state.doc.nodeAt(pos);
|
|
68
72
|
if (node) {
|
|
69
73
|
var currentLayout = (0, _actions.getPresetLayout)(node);
|
|
@@ -79,7 +83,7 @@ var buildToolbar = exports.buildToolbar = function buildToolbar(state, intl, pos
|
|
|
79
83
|
icon: _remove.default,
|
|
80
84
|
testId: _messages.default.remove.id,
|
|
81
85
|
title: intl.formatMessage(_messages.default.remove),
|
|
82
|
-
onClick: _actions.deleteActiveLayoutNode,
|
|
86
|
+
onClick: (0, _actions.deleteActiveLayoutNode)(editorAnalyticsAPI),
|
|
83
87
|
onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(nodeType, true),
|
|
84
88
|
onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(nodeType, false),
|
|
85
89
|
onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(nodeType, true),
|
|
@@ -94,9 +98,9 @@ var buildToolbar = exports.buildToolbar = function buildToolbar(state, intl, pos
|
|
|
94
98
|
},
|
|
95
99
|
nodeType: nodeType,
|
|
96
100
|
items: [].concat((0, _toConsumableArray2.default)(layoutTypes.map(function (i) {
|
|
97
|
-
return buildLayoutButton(intl, i, currentLayout);
|
|
101
|
+
return buildLayoutButton(intl, i, currentLayout, editorAnalyticsAPI);
|
|
98
102
|
})), (0, _toConsumableArray2.default)(addSidebarLayouts ? SIDEBAR_LAYOUT_TYPES.map(function (i) {
|
|
99
|
-
return buildLayoutButton(intl, i, currentLayout);
|
|
103
|
+
return buildLayoutButton(intl, i, currentLayout, editorAnalyticsAPI);
|
|
100
104
|
}) : []), [{
|
|
101
105
|
type: 'copy-button',
|
|
102
106
|
items: [separator, {
|
|
@@ -11,14 +11,14 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
12
12
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
13
13
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
14
|
-
var _analytics = require("
|
|
14
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
15
15
|
var _utils2 = require("./utils");
|
|
16
16
|
var _panel = require("@atlaskit/editor-common/panel");
|
|
17
17
|
var _editorAnalytics = require("@atlaskit/editor-common/editor-analytics");
|
|
18
18
|
var _utils3 = require("@atlaskit/editor-common/utils");
|
|
19
19
|
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; }
|
|
20
20
|
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; }
|
|
21
|
-
var removePanel = exports.removePanel = function removePanel() {
|
|
21
|
+
var removePanel = exports.removePanel = function removePanel(editorAnalyticsAPI) {
|
|
22
22
|
return function (state, dispatch) {
|
|
23
23
|
var nodes = state.schema.nodes,
|
|
24
24
|
tr = state.tr;
|
|
@@ -40,65 +40,68 @@ var removePanel = exports.removePanel = function removePanel() {
|
|
|
40
40
|
return false;
|
|
41
41
|
}
|
|
42
42
|
if (dispatch) {
|
|
43
|
-
|
|
43
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(deleteTr);
|
|
44
|
+
dispatch(deleteTr);
|
|
44
45
|
}
|
|
45
46
|
return true;
|
|
46
47
|
};
|
|
47
48
|
};
|
|
48
|
-
var changePanelType = exports.changePanelType = function changePanelType(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
49
|
+
var changePanelType = exports.changePanelType = function changePanelType(editorAnalyticsAPI) {
|
|
50
|
+
return function (panelType) {
|
|
51
|
+
var panelOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
52
|
+
var allowCustomPanel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
53
|
+
return function (state, dispatch) {
|
|
54
|
+
var nodes = state.schema.nodes,
|
|
55
|
+
tr = state.tr;
|
|
56
|
+
var panelNode = (0, _utils2.findPanel)(state);
|
|
57
|
+
if (panelNode === undefined) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
var newType = panelType;
|
|
61
|
+
var previousType = panelNode.node.attrs.panelType;
|
|
62
|
+
var newTr;
|
|
63
|
+
if (allowCustomPanel) {
|
|
64
|
+
var previousColor = panelNode.node.attrs.panelType === 'custom' ? panelNode.node.attrs.panelColor || 'none' : (0, _panel.getPanelTypeBackgroundNoTokens)(previousType);
|
|
65
|
+
var previousIcon = panelNode.node.attrs.panelIcon;
|
|
66
|
+
var previousIconId = panelNode.node.attrs.panelIconId;
|
|
67
|
+
var previousIconText = panelNode.node.attrs.panelIconText;
|
|
68
|
+
var newPanelOptions = _objectSpread({
|
|
69
|
+
color: previousColor,
|
|
70
|
+
emoji: previousIcon,
|
|
71
|
+
emojiId: previousIconId,
|
|
72
|
+
emojiText: previousIconText
|
|
73
|
+
}, panelOptions);
|
|
74
|
+
newTr = tr.setNodeMarkup(panelNode.pos, nodes.panel, {
|
|
75
|
+
panelIcon: newPanelOptions.emoji,
|
|
76
|
+
panelIconId: newPanelOptions.emojiId,
|
|
77
|
+
panelIconText: newPanelOptions.emojiText,
|
|
78
|
+
panelColor: newPanelOptions.color,
|
|
79
|
+
panelType: panelType
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
newTr = tr.setNodeMarkup(panelNode.pos, nodes.panel, {
|
|
83
|
+
panelType: panelType
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
var payload = {
|
|
87
|
+
action: _analytics.ACTION.CHANGED_TYPE,
|
|
88
|
+
actionSubject: _analytics.ACTION_SUBJECT.PANEL,
|
|
89
|
+
attributes: {
|
|
90
|
+
newType: newType,
|
|
91
|
+
previousType: previousType
|
|
92
|
+
},
|
|
93
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
94
|
+
};
|
|
93
95
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
// Select the panel if it was previously selected
|
|
97
|
+
var newTrWithSelection = state.selection instanceof _state.NodeSelection && state.selection.node.type.name === 'panel' ? newTr.setSelection(new _state.NodeSelection(tr.doc.resolve(panelNode.pos))) : newTr;
|
|
98
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(newTrWithSelection);
|
|
99
|
+
newTrWithSelection.setMeta('scrollIntoView', false);
|
|
100
|
+
if (dispatch) {
|
|
101
|
+
dispatch(newTrWithSelection);
|
|
102
|
+
}
|
|
103
|
+
return true;
|
|
104
|
+
};
|
|
102
105
|
};
|
|
103
106
|
};
|
|
104
107
|
function insertPanelWithAnalytics(inputMethod, analyticsAPI) {
|