@atlaskit/editor-core 187.7.2 → 187.8.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 +6 -0
- package/dist/cjs/plugins/list/commands/indent-list.js +48 -45
- package/dist/cjs/plugins/list/commands/index.js +120 -109
- package/dist/cjs/plugins/list/commands/join-list-item-forward.js +47 -45
- package/dist/cjs/plugins/list/commands/listBackspace.js +33 -31
- package/dist/cjs/plugins/list/commands/outdent-list.js +51 -49
- package/dist/cjs/plugins/list/index.js +10 -5
- package/dist/cjs/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +3 -4
- package/dist/cjs/plugins/list/pm-plugins/keymap.js +10 -11
- package/dist/cjs/plugins/toolbar-lists-indentation/index.js +4 -1
- package/dist/cjs/plugins/toolbar-lists-indentation/ui/index.js +4 -3
- package/dist/cjs/plugins/toolbar-lists-indentation/ui/onItemActivated.js +44 -41
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/plugins/list/commands/indent-list.js +5 -5
- package/dist/es2019/plugins/list/commands/index.js +22 -22
- package/dist/es2019/plugins/list/commands/join-list-item-forward.js +4 -4
- package/dist/es2019/plugins/list/commands/listBackspace.js +4 -4
- package/dist/es2019/plugins/list/commands/outdent-list.js +5 -6
- package/dist/es2019/plugins/list/index.js +13 -6
- package/dist/es2019/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +1 -1
- package/dist/es2019/plugins/list/pm-plugins/keymap.js +11 -11
- package/dist/es2019/plugins/toolbar-lists-indentation/index.js +4 -1
- package/dist/es2019/plugins/toolbar-lists-indentation/ui/index.js +4 -3
- package/dist/es2019/plugins/toolbar-lists-indentation/ui/onItemActivated.js +7 -7
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/plugins/list/commands/indent-list.js +46 -44
- package/dist/esm/plugins/list/commands/index.js +115 -103
- package/dist/esm/plugins/list/commands/join-list-item-forward.js +47 -45
- package/dist/esm/plugins/list/commands/listBackspace.js +33 -31
- package/dist/esm/plugins/list/commands/outdent-list.js +49 -48
- package/dist/esm/plugins/list/index.js +11 -6
- package/dist/esm/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +1 -1
- package/dist/esm/plugins/list/pm-plugins/keymap.js +11 -11
- package/dist/esm/plugins/toolbar-lists-indentation/index.js +4 -1
- package/dist/esm/plugins/toolbar-lists-indentation/ui/index.js +4 -3
- package/dist/esm/plugins/toolbar-lists-indentation/ui/onItemActivated.js +42 -40
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/plugins/list/commands/indent-list.d.ts +2 -2
- package/dist/types/plugins/list/commands/index.d.ts +7 -7
- package/dist/types/plugins/list/commands/join-list-item-forward.d.ts +2 -1
- package/dist/types/plugins/list/commands/listBackspace.d.ts +7 -6
- package/dist/types/plugins/list/commands/outdent-list.d.ts +2 -2
- package/dist/types/plugins/list/index.d.ts +7 -2
- package/dist/types/plugins/list/pm-plugins/keymap.d.ts +2 -1
- package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +7 -2
- package/dist/types/plugins/toolbar-lists-indentation/types.d.ts +1 -1
- package/dist/types/plugins/toolbar-lists-indentation/ui/index.d.ts +3 -1
- package/dist/types/plugins/toolbar-lists-indentation/ui/onItemActivated.d.ts +5 -4
- package/dist/types/utils/list-commands.d.ts +5 -5
- package/dist/types-ts4.5/plugins/list/commands/indent-list.d.ts +2 -2
- package/dist/types-ts4.5/plugins/list/commands/index.d.ts +7 -7
- package/dist/types-ts4.5/plugins/list/commands/join-list-item-forward.d.ts +2 -1
- package/dist/types-ts4.5/plugins/list/commands/listBackspace.d.ts +7 -6
- package/dist/types-ts4.5/plugins/list/commands/outdent-list.d.ts +2 -2
- package/dist/types-ts4.5/plugins/list/index.d.ts +5 -2
- package/dist/types-ts4.5/plugins/list/pm-plugins/keymap.d.ts +2 -1
- package/dist/types-ts4.5/plugins/toolbar-lists-indentation/index.d.ts +5 -2
- package/dist/types-ts4.5/plugins/toolbar-lists-indentation/types.d.ts +1 -1
- package/dist/types-ts4.5/plugins/toolbar-lists-indentation/ui/index.d.ts +3 -1
- package/dist/types-ts4.5/plugins/toolbar-lists-indentation/ui/onItemActivated.d.ts +5 -4
- package/dist/types-ts4.5/utils/list-commands.d.ts +5 -5
- package/package.json +1 -1
- package/report.api.md +15 -31
- package/tmp/api-report-tmp.d.ts +4 -22
package/CHANGELOG.md
CHANGED
|
@@ -4,9 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.indentList =
|
|
7
|
+
exports.indentList = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _analytics = require("
|
|
9
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
10
|
var _indentation = require("../utils/indentation");
|
|
11
11
|
var _indentListItemsSelected = require("../actions/indent-list-items-selected");
|
|
12
12
|
var _node = require("../utils/node");
|
|
@@ -17,53 +17,56 @@ var _analytics2 = require("../utils/analytics");
|
|
|
17
17
|
var _prosemirrorHistory = require("prosemirror-history");
|
|
18
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
19
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
-
function indentList() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
var indentList = function indentList(editorAnalyticsAPI) {
|
|
21
|
+
return function () {
|
|
22
|
+
var inputMethod = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _analytics.INPUT_METHOD.KEYBOARD;
|
|
23
|
+
return function (state, dispatch) {
|
|
24
|
+
var tr = state.tr,
|
|
25
|
+
$from = state.selection.$from;
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Save the history, so it could undo/revert to the same state before the indent, see https://product-fabric.atlassian.net/browse/ED-14753
|
|
32
|
-
(0, _prosemirrorHistory.closeHistory)(tr);
|
|
33
|
-
var firstListItemSelectedAttributes = (0, _selection.getListItemAttributes)($from);
|
|
34
|
-
var parentListNode = (0, _find.findFirstParentListNode)($from);
|
|
35
|
-
if (!parentListNode || firstListItemSelectedAttributes && firstListItemSelectedAttributes.indentLevel === 0 && firstListItemSelectedAttributes.itemIndex === 0) {
|
|
36
|
-
if ((0, _selection.isInsideTableCell)(state)) {
|
|
37
|
-
// dont consume tab, as table-keymap should move cursor to next cell
|
|
27
|
+
// don't indent if selection is not inside a list
|
|
28
|
+
if (!(0, _selection.isInsideListItem)(state)) {
|
|
38
29
|
return false;
|
|
39
|
-
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Save the history, so it could undo/revert to the same state before the indent, see https://product-fabric.atlassian.net/browse/ED-14753
|
|
33
|
+
(0, _prosemirrorHistory.closeHistory)(tr);
|
|
34
|
+
var firstListItemSelectedAttributes = (0, _selection.getListItemAttributes)($from);
|
|
35
|
+
var parentListNode = (0, _find.findFirstParentListNode)($from);
|
|
36
|
+
if (!parentListNode || firstListItemSelectedAttributes && firstListItemSelectedAttributes.indentLevel === 0 && firstListItemSelectedAttributes.itemIndex === 0) {
|
|
37
|
+
if ((0, _selection.isInsideTableCell)(state)) {
|
|
38
|
+
// dont consume tab, as table-keymap should move cursor to next cell
|
|
39
|
+
return false;
|
|
40
|
+
} else {
|
|
41
|
+
// Even though this is a non-operation, we don't want to send this event to the browser. Because if we return false, the browser will move the focus to another place
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var currentListNode = parentListNode.node;
|
|
46
|
+
var actionSubjectId = (0, _node.isBulletList)(currentListNode) ? _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
47
|
+
(0, _indentListItemsSelected.indentListItemsSelected)(tr);
|
|
48
|
+
var maximimunNestedLevelReached = !(0, _indentation.hasValidListIndentationLevel)({
|
|
49
|
+
tr: tr,
|
|
50
|
+
maxIndentation: _types.MAX_NESTED_LIST_INDENTATION
|
|
51
|
+
});
|
|
52
|
+
if (maximimunNestedLevelReached || !tr.docChanged) {
|
|
40
53
|
// Even though this is a non-operation, we don't want to send this event to the browser. Because if we return false, the browser will move the focus to another place
|
|
41
54
|
return true;
|
|
42
55
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
57
|
+
action: _analytics.ACTION.INDENTED,
|
|
58
|
+
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
59
|
+
actionSubjectId: actionSubjectId,
|
|
60
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
61
|
+
attributes: _objectSpread(_objectSpread({}, (0, _analytics2.getCommonListAnalyticsAttributes)(state)), {}, {
|
|
62
|
+
inputMethod: inputMethod
|
|
63
|
+
})
|
|
64
|
+
})(tr);
|
|
65
|
+
if (dispatch) {
|
|
66
|
+
dispatch(tr);
|
|
67
|
+
}
|
|
53
68
|
return true;
|
|
54
|
-
}
|
|
55
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
56
|
-
action: _analytics.ACTION.INDENTED,
|
|
57
|
-
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
58
|
-
actionSubjectId: actionSubjectId,
|
|
59
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
60
|
-
attributes: _objectSpread(_objectSpread({}, (0, _analytics2.getCommonListAnalyticsAttributes)(state)), {}, {
|
|
61
|
-
inputMethod: inputMethod
|
|
62
|
-
})
|
|
63
|
-
});
|
|
64
|
-
if (dispatch) {
|
|
65
|
-
dispatch(tr);
|
|
66
|
-
}
|
|
67
|
-
return true;
|
|
69
|
+
};
|
|
68
70
|
};
|
|
69
|
-
}
|
|
71
|
+
};
|
|
72
|
+
exports.indentList = indentList;
|
|
@@ -18,22 +18,18 @@ Object.defineProperty(exports, "outdentList", {
|
|
|
18
18
|
return _outdentList.outdentList;
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
|
-
exports.rootListDepth = void 0;
|
|
22
|
-
exports.toggleBulletList = toggleBulletList;
|
|
23
|
-
exports.toggleList = toggleList;
|
|
24
|
-
exports.toggleOrderedList = toggleOrderedList;
|
|
21
|
+
exports.toggleOrderedList = exports.toggleList = exports.toggleBulletList = exports.rootListDepth = void 0;
|
|
25
22
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
26
23
|
var _prosemirrorModel = require("prosemirror-model");
|
|
27
24
|
var _prosemirrorState = require("prosemirror-state");
|
|
28
25
|
var baseCommand = _interopRequireWildcard(require("prosemirror-commands"));
|
|
29
26
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
30
|
-
var
|
|
27
|
+
var _utils = require("../../../utils");
|
|
31
28
|
var _commands = require("../../../utils/commands");
|
|
32
|
-
var
|
|
33
|
-
var _utils2 = require("../../../utils");
|
|
29
|
+
var _utils2 = require("@atlaskit/editor-common/utils");
|
|
34
30
|
var _transforms = require("../transforms");
|
|
35
31
|
var _gapCursorSelection = require("../../selection/gap-cursor-selection");
|
|
36
|
-
var _analytics = require("
|
|
32
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
37
33
|
var _selection = require("../utils/selection");
|
|
38
34
|
var _analytics2 = require("../utils/analytics");
|
|
39
35
|
var _listBackspace = require("./listBackspace");
|
|
@@ -47,44 +43,50 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
47
43
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
48
44
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
49
45
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
50
|
-
var enterKeyCommand = function enterKeyCommand(
|
|
51
|
-
return function (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
46
|
+
var enterKeyCommand = function enterKeyCommand(editorAnalyticsAPI) {
|
|
47
|
+
return function (featureFlags) {
|
|
48
|
+
return function (state, dispatch) {
|
|
49
|
+
var selection = state.selection;
|
|
50
|
+
if (selection.empty) {
|
|
51
|
+
var $from = selection.$from;
|
|
52
|
+
var _state$schema$nodes = state.schema.nodes,
|
|
53
|
+
listItem = _state$schema$nodes.listItem,
|
|
54
|
+
codeBlock = _state$schema$nodes.codeBlock;
|
|
55
|
+
var wrapper = $from.node($from.depth - 1);
|
|
56
|
+
if (wrapper && wrapper.type === listItem) {
|
|
57
|
+
/** Check if the wrapper has any visible content */
|
|
58
|
+
var wrapperHasContent = (0, _utils.hasVisibleContent)(wrapper);
|
|
59
|
+
if (!wrapperHasContent) {
|
|
60
|
+
return (0, _outdentList.outdentList)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.KEYBOARD, featureFlags)(state, dispatch);
|
|
61
|
+
} else if (!(0, _prosemirrorUtils.hasParentNodeOfType)(codeBlock)(selection)) {
|
|
62
|
+
return splitListItem(listItem)(state, dispatch);
|
|
63
|
+
}
|
|
66
64
|
}
|
|
67
65
|
}
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
return false;
|
|
67
|
+
};
|
|
70
68
|
};
|
|
71
69
|
};
|
|
72
70
|
exports.enterKeyCommand = enterKeyCommand;
|
|
73
|
-
var backspaceKeyCommand = function backspaceKeyCommand(
|
|
74
|
-
return function (
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
71
|
+
var backspaceKeyCommand = function backspaceKeyCommand(editorAnalyticsAPI) {
|
|
72
|
+
return function (featureFlags) {
|
|
73
|
+
return function (state, dispatch) {
|
|
74
|
+
return baseCommand.chainCommands((0, _listBackspace.listBackspace)(editorAnalyticsAPI),
|
|
75
|
+
// if we're at the start of a list item, we need to either backspace
|
|
76
|
+
// directly to an empty list item above, or outdent this node
|
|
77
|
+
(0, _utils2.filterCommands)([_commands.isEmptySelectionAtStart,
|
|
78
|
+
// list items might have multiple paragraphs; only do this at the first one
|
|
79
|
+
_commands.isFirstChildOfParent, _selection.isInsideListItem], baseCommand.chainCommands(deletePreviousEmptyListItem, (0, _outdentList.outdentList)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.KEYBOARD, featureFlags))),
|
|
80
|
+
// if we're just inside a paragraph node (or gapcursor is shown) and backspace, then try to join
|
|
81
|
+
// the text to the previous list item, if one exists
|
|
82
|
+
(0, _utils2.filterCommands)([_commands.isEmptySelectionAtStart, _selection.canJoinToPreviousListItem], joinToPreviousListItem))(state, dispatch);
|
|
83
|
+
};
|
|
84
84
|
};
|
|
85
85
|
};
|
|
86
86
|
exports.backspaceKeyCommand = backspaceKeyCommand;
|
|
87
|
-
var deleteKeyCommand =
|
|
87
|
+
var deleteKeyCommand = function deleteKeyCommand(editorAnalyticsAPI) {
|
|
88
|
+
return (0, _joinListItemForward.joinListItemForward)(editorAnalyticsAPI);
|
|
89
|
+
};
|
|
88
90
|
|
|
89
91
|
// Get the depth of the nearest ancestor list
|
|
90
92
|
exports.deleteKeyCommand = deleteKeyCommand;
|
|
@@ -115,94 +117,103 @@ function untoggleSelectedList(tr) {
|
|
|
115
117
|
}
|
|
116
118
|
return (0, _transforms.liftTextSelectionList)(selection, tr);
|
|
117
119
|
}
|
|
118
|
-
function toggleList(
|
|
119
|
-
return function (
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
var toggleList = function toggleList(editorAnalyticsAPI) {
|
|
121
|
+
return function (inputMethod, listType) {
|
|
122
|
+
return function (state, dispatch) {
|
|
123
|
+
var tr = state.tr;
|
|
124
|
+
var listInsideSelection = (0, _selection.selectionContainsList)(tr);
|
|
125
|
+
var listNodeType = state.schema.nodes[listType];
|
|
126
|
+
var actionSubjectId = listType === 'bulletList' ? _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
127
|
+
if (listInsideSelection) {
|
|
128
|
+
var selection = state.selection;
|
|
126
129
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
130
|
+
// for gap cursor or node selection - list is expected 1 level up (listItem -> list)
|
|
131
|
+
// for text selection - list is expected 2 levels up (paragraph -> listItem -> list)
|
|
132
|
+
var positionDiff = selection instanceof _gapCursorSelection.GapCursorSelection || selection instanceof _prosemirrorState.NodeSelection ? 1 : 2;
|
|
133
|
+
var fromNode = selection.$from.node(selection.$from.depth - positionDiff);
|
|
134
|
+
var toNode = selection.$to.node(selection.$to.depth - positionDiff);
|
|
135
|
+
var transformedFrom = listInsideSelection.type.name === 'bulletList' ? _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
136
|
+
if ((fromNode === null || fromNode === void 0 ? void 0 : fromNode.type.name) === listType && (toNode === null || toNode === void 0 ? void 0 : toNode.type.name) === listType) {
|
|
137
|
+
var _tr2 = state.tr;
|
|
138
|
+
untoggleSelectedList(_tr2);
|
|
139
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
140
|
+
action: _analytics.ACTION.CONVERTED,
|
|
141
|
+
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
142
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.TEXT,
|
|
143
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
144
|
+
attributes: _objectSpread(_objectSpread({}, (0, _analytics2.getCommonListAnalyticsAttributes)(state)), {}, {
|
|
145
|
+
transformedFrom: transformedFrom,
|
|
146
|
+
inputMethod: inputMethod
|
|
147
|
+
})
|
|
148
|
+
})(_tr2);
|
|
149
|
+
if (dispatch) {
|
|
150
|
+
dispatch(_tr2);
|
|
151
|
+
}
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
(0, _conversions.convertListType)({
|
|
155
|
+
tr: tr,
|
|
156
|
+
nextListNodeType: listNodeType
|
|
157
|
+
});
|
|
158
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
137
159
|
action: _analytics.ACTION.CONVERTED,
|
|
138
160
|
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
139
|
-
actionSubjectId:
|
|
161
|
+
actionSubjectId: actionSubjectId,
|
|
140
162
|
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
141
163
|
attributes: _objectSpread(_objectSpread({}, (0, _analytics2.getCommonListAnalyticsAttributes)(state)), {}, {
|
|
142
164
|
transformedFrom: transformedFrom,
|
|
143
165
|
inputMethod: inputMethod
|
|
144
166
|
})
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
167
|
+
})(tr);
|
|
168
|
+
} else {
|
|
169
|
+
// Need to have this before wrapInList so the wrapping is done with valid content
|
|
170
|
+
// For example, if trying to convert centre or right aligned paragraphs to lists
|
|
171
|
+
(0, _utils.sanitiseMarksInSelection)(tr, listNodeType);
|
|
172
|
+
(0, _wrapAndJoinLists.wrapInListAndJoin)(listNodeType, tr);
|
|
173
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
174
|
+
action: _analytics.ACTION.INSERTED,
|
|
175
|
+
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
176
|
+
actionSubjectId: actionSubjectId,
|
|
177
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
178
|
+
attributes: {
|
|
179
|
+
inputMethod: inputMethod
|
|
180
|
+
}
|
|
181
|
+
})(tr);
|
|
150
182
|
}
|
|
151
|
-
(0, _conversions.convertListType)({
|
|
152
|
-
tr: tr,
|
|
153
|
-
nextListNodeType: listNodeType
|
|
154
|
-
});
|
|
155
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
156
|
-
action: _analytics.ACTION.CONVERTED,
|
|
157
|
-
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
158
|
-
actionSubjectId: actionSubjectId,
|
|
159
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
160
|
-
attributes: _objectSpread(_objectSpread({}, (0, _analytics2.getCommonListAnalyticsAttributes)(state)), {}, {
|
|
161
|
-
transformedFrom: transformedFrom,
|
|
162
|
-
inputMethod: inputMethod
|
|
163
|
-
})
|
|
164
|
-
});
|
|
165
|
-
} else {
|
|
166
|
-
// Need to have this before wrapInList so the wrapping is done with valid content
|
|
167
|
-
// For example, if trying to convert centre or right aligned paragraphs to lists
|
|
168
|
-
(0, _utils2.sanitiseMarksInSelection)(tr, listNodeType);
|
|
169
|
-
(0, _wrapAndJoinLists.wrapInListAndJoin)(listNodeType, tr);
|
|
170
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
171
|
-
action: _analytics.ACTION.INSERTED,
|
|
172
|
-
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
173
|
-
actionSubjectId: actionSubjectId,
|
|
174
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
175
|
-
attributes: {
|
|
176
|
-
inputMethod: inputMethod
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
183
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
184
|
+
// If document wasn't changed, return false from the command to indicate that the
|
|
185
|
+
// editing action failed
|
|
186
|
+
if (!tr.docChanged) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
if (dispatch) {
|
|
190
|
+
dispatch(tr);
|
|
191
|
+
}
|
|
192
|
+
return true;
|
|
193
|
+
};
|
|
190
194
|
};
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
return
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
195
|
+
};
|
|
196
|
+
exports.toggleList = toggleList;
|
|
197
|
+
var toggleBulletList = function toggleBulletList(editorAnalyticsAPI) {
|
|
198
|
+
return function (view) {
|
|
199
|
+
var inputMethod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _analytics.INPUT_METHOD.TOOLBAR;
|
|
200
|
+
return toggleList(editorAnalyticsAPI)(inputMethod, 'bulletList')(view.state, view.dispatch);
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
exports.toggleBulletList = toggleBulletList;
|
|
204
|
+
var toggleOrderedList = function toggleOrderedList(editorAnalyticsAPI) {
|
|
205
|
+
return function (view) {
|
|
206
|
+
var inputMethod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _analytics.INPUT_METHOD.TOOLBAR;
|
|
207
|
+
return toggleList(editorAnalyticsAPI)(inputMethod, 'orderedList')(view.state, view.dispatch);
|
|
208
|
+
};
|
|
209
|
+
};
|
|
200
210
|
|
|
201
211
|
/**
|
|
202
212
|
* Implementation taken and modified for our needs from PM
|
|
203
213
|
* @param itemType Node
|
|
204
214
|
* Splits the list items, specific implementation take from PM
|
|
205
215
|
*/
|
|
216
|
+
exports.toggleOrderedList = toggleOrderedList;
|
|
206
217
|
function splitListItem(itemType) {
|
|
207
218
|
return function (state, dispatch) {
|
|
208
219
|
var ref = state.selection;
|
|
@@ -7,53 +7,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.joinListItemForward = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _commands = require("../../../utils/commands");
|
|
10
|
-
var _analytics = require("
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
11
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
12
12
|
var _joinListItemsForward = require("../actions/join-list-items-forward");
|
|
13
|
-
var joinListItemForward = function joinListItemForward(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var scenarios = (0, _joinListItemsForward.calcJoinListScenario)(walkNode, $head);
|
|
21
|
-
if (!scenarios) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
var _scenarios = (0, _slicedToArray2.default)(scenarios, 2),
|
|
25
|
-
scenario = _scenarios[0],
|
|
26
|
-
action = _scenarios[1];
|
|
27
|
-
var result = action({
|
|
28
|
-
tr: tr,
|
|
29
|
-
$next: walkNode.$pos,
|
|
30
|
-
$head: $head
|
|
31
|
-
});
|
|
32
|
-
if (!result) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
var _state$schema$nodes = state.schema.nodes,
|
|
36
|
-
bulletList = _state$schema$nodes.bulletList,
|
|
37
|
-
orderedList = _state$schema$nodes.orderedList;
|
|
38
|
-
var listParent = (0, _prosemirrorUtils.findParentNodeOfType)([bulletList, orderedList])(tr.selection);
|
|
39
|
-
var actionSubjectId = _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET;
|
|
40
|
-
if (listParent && listParent.node.type === orderedList) {
|
|
41
|
-
actionSubjectId = _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
42
|
-
}
|
|
43
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
44
|
-
action: _analytics.ACTION.LIST_ITEM_JOINED,
|
|
45
|
-
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
46
|
-
actionSubjectId: actionSubjectId,
|
|
47
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
48
|
-
attributes: {
|
|
49
|
-
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
50
|
-
direction: _analytics.DELETE_DIRECTION.FORWARD,
|
|
51
|
-
scenario: scenario
|
|
13
|
+
var joinListItemForward = function joinListItemForward(editorAnalyticsAPI) {
|
|
14
|
+
return function (state, dispatch) {
|
|
15
|
+
var tr = state.tr,
|
|
16
|
+
$head = state.selection.$head;
|
|
17
|
+
var walkNode = (0, _commands.walkNextNode)($head);
|
|
18
|
+
if (!(0, _commands.isEmptySelectionAtEnd)(state)) {
|
|
19
|
+
return false;
|
|
52
20
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
21
|
+
var scenarios = (0, _joinListItemsForward.calcJoinListScenario)(walkNode, $head);
|
|
22
|
+
if (!scenarios) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
var _scenarios = (0, _slicedToArray2.default)(scenarios, 2),
|
|
26
|
+
scenario = _scenarios[0],
|
|
27
|
+
action = _scenarios[1];
|
|
28
|
+
var result = action({
|
|
29
|
+
tr: tr,
|
|
30
|
+
$next: walkNode.$pos,
|
|
31
|
+
$head: $head
|
|
32
|
+
});
|
|
33
|
+
if (!result) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
var _state$schema$nodes = state.schema.nodes,
|
|
37
|
+
bulletList = _state$schema$nodes.bulletList,
|
|
38
|
+
orderedList = _state$schema$nodes.orderedList;
|
|
39
|
+
var listParent = (0, _prosemirrorUtils.findParentNodeOfType)([bulletList, orderedList])(tr.selection);
|
|
40
|
+
var actionSubjectId = _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET;
|
|
41
|
+
if (listParent && listParent.node.type === orderedList) {
|
|
42
|
+
actionSubjectId = _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
43
|
+
}
|
|
44
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
45
|
+
action: _analytics.ACTION.LIST_ITEM_JOINED,
|
|
46
|
+
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
47
|
+
actionSubjectId: actionSubjectId,
|
|
48
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
49
|
+
attributes: {
|
|
50
|
+
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
51
|
+
direction: _analytics.DELETE_DIRECTION.FORWARD,
|
|
52
|
+
scenario: scenario
|
|
53
|
+
}
|
|
54
|
+
})(tr);
|
|
55
|
+
if (dispatch) {
|
|
56
|
+
dispatch(tr);
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
58
60
|
};
|
|
59
61
|
exports.joinListItemForward = joinListItemForward;
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.listBackspace = exports.calcJoinListScenario = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _commands = require("../../../utils/commands");
|
|
10
|
-
var _analytics = require("
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
11
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
12
12
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
13
13
|
var _selection = require("../utils/selection");
|
|
@@ -248,36 +248,38 @@ var calcJoinListScenario = function calcJoinListScenario(walkNode, $head, tr) {
|
|
|
248
248
|
return false;
|
|
249
249
|
};
|
|
250
250
|
exports.calcJoinListScenario = calcJoinListScenario;
|
|
251
|
-
var listBackspace = function listBackspace(
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
(0, _analytics.addAnalytics)(state, tr, {
|
|
271
|
-
action: _analytics.ACTION.LIST_ITEM_JOINED,
|
|
272
|
-
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
273
|
-
actionSubjectId: actionSubjectId,
|
|
274
|
-
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
275
|
-
attributes: {
|
|
276
|
-
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
277
|
-
direction: _analytics.DELETE_DIRECTION.BACKWARD,
|
|
278
|
-
scenario: scenario[0]
|
|
251
|
+
var listBackspace = function listBackspace(editorAnalyticsAPI) {
|
|
252
|
+
return function (state, dispatch) {
|
|
253
|
+
var tr = state.tr,
|
|
254
|
+
$head = state.selection.$head;
|
|
255
|
+
var walkNode = (0, _commands.walkPrevNode)($head);
|
|
256
|
+
if (!(0, _commands.isEmptySelectionAtStart)(state)) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
var scenario = calcJoinListScenario(walkNode, $head, tr);
|
|
260
|
+
if (!scenario) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
var _state$schema$nodes = state.schema.nodes,
|
|
264
|
+
bulletList = _state$schema$nodes.bulletList,
|
|
265
|
+
orderedList = _state$schema$nodes.orderedList;
|
|
266
|
+
var listParent = (0, _prosemirrorUtils.findParentNodeOfType)([bulletList, orderedList])(tr.selection);
|
|
267
|
+
var actionSubjectId = _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET;
|
|
268
|
+
if (listParent && listParent.node.type === orderedList) {
|
|
269
|
+
actionSubjectId = _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
279
270
|
}
|
|
280
|
-
|
|
281
|
-
|
|
271
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
272
|
+
action: _analytics.ACTION.LIST_ITEM_JOINED,
|
|
273
|
+
actionSubject: _analytics.ACTION_SUBJECT.LIST,
|
|
274
|
+
actionSubjectId: actionSubjectId,
|
|
275
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
276
|
+
attributes: {
|
|
277
|
+
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
278
|
+
direction: _analytics.DELETE_DIRECTION.BACKWARD,
|
|
279
|
+
scenario: scenario[0]
|
|
280
|
+
}
|
|
281
|
+
})(tr);
|
|
282
|
+
return BACKSPACE_COMMANDS[scenario[0]](tr, dispatch, walkNode.$pos, $head, scenario[1]);
|
|
283
|
+
};
|
|
282
284
|
};
|
|
283
285
|
exports.listBackspace = listBackspace;
|