@atlaskit/editor-core 98.10.5 → 98.11.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.
Files changed (33) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/es2015/commands/index.d.ts +1 -1
  3. package/dist/es2015/commands/index.js +2 -1
  4. package/dist/es2015/commands/index.js.map +1 -1
  5. package/dist/es2015/plugins/code-block/ide-ux/commands.js +40 -0
  6. package/dist/es2015/plugins/code-block/ide-ux/commands.js.map +1 -1
  7. package/dist/es2015/plugins/indentation/commands/index.js +57 -24
  8. package/dist/es2015/plugins/indentation/commands/index.js.map +1 -1
  9. package/dist/es2015/plugins/indentation/commands/utils.d.ts +30 -0
  10. package/dist/es2015/plugins/indentation/commands/utils.js +69 -0
  11. package/dist/es2015/plugins/indentation/commands/utils.js.map +1 -0
  12. package/dist/es2015/plugins/lists/commands.js +95 -41
  13. package/dist/es2015/plugins/lists/commands.js.map +1 -1
  14. package/dist/es2015/utils/getAttrsWithChangesRecorder.d.ts +23 -0
  15. package/dist/es2015/utils/getAttrsWithChangesRecorder.js +33 -0
  16. package/dist/es2015/utils/getAttrsWithChangesRecorder.js.map +1 -0
  17. package/dist/es5/commands/index.d.ts +1 -1
  18. package/dist/es5/commands/index.js +2 -1
  19. package/dist/es5/commands/index.js.map +1 -1
  20. package/dist/es5/plugins/code-block/ide-ux/commands.js +40 -0
  21. package/dist/es5/plugins/code-block/ide-ux/commands.js.map +1 -1
  22. package/dist/es5/plugins/indentation/commands/index.js +57 -24
  23. package/dist/es5/plugins/indentation/commands/index.js.map +1 -1
  24. package/dist/es5/plugins/indentation/commands/utils.d.ts +30 -0
  25. package/dist/es5/plugins/indentation/commands/utils.js +74 -0
  26. package/dist/es5/plugins/indentation/commands/utils.js.map +1 -0
  27. package/dist/es5/plugins/lists/commands.js +93 -39
  28. package/dist/es5/plugins/lists/commands.js.map +1 -1
  29. package/dist/es5/utils/getAttrsWithChangesRecorder.d.ts +23 -0
  30. package/dist/es5/utils/getAttrsWithChangesRecorder.js +36 -0
  31. package/dist/es5/utils/getAttrsWithChangesRecorder.js.map +1 -0
  32. package/dist/package.json +1 -1
  33. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 98.11.0
4
+ - [minor] [448b9946cc](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/448b9946cc):
5
+
6
+ - ED-6195 Add Analytics GAS V3 for identation
7
+
3
8
  ## 98.10.5
4
9
  - [patch] [36986d383b](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/36986d383b):
5
10
 
@@ -20,4 +20,4 @@ export declare const changeImageAlignment: (align: any) => Command;
20
20
  * return `undefined for no-op.
21
21
  * return an `object` to update the mark.
22
22
  */
23
- export declare const toggleBlockMark: <T = object>(markType: MarkType<any>, getAttrs: (prevAttrs?: T | undefined) => false | T | undefined, allowedBlocks?: NodeType<any>[] | ((schema: Schema<any, any>, node: PMNode<any>, parent: PMNode<any>) => boolean) | undefined) => Command;
23
+ export declare const toggleBlockMark: <T = object>(markType: MarkType<any>, getAttrs: (prevAttrs?: T | undefined, node?: PMNode<any> | undefined) => false | T | undefined, allowedBlocks?: NodeType<any>[] | ((schema: Schema<any, any>, node: PMNode<any>, parent: PMNode<any>) => boolean) | undefined) => Command;
@@ -178,7 +178,8 @@ export var toggleBlockMark = function (markType, getAttrs, allowedBlocks) { retu
178
178
  : allowedBlocks(state.schema, node, parent))) &&
179
179
  parent.type.allowsMarkType(markType)) {
180
180
  var oldMarks = node.marks.filter(function (mark) { return mark.type === markType; });
181
- var newAttrs = getAttrs(oldMarks.length ? oldMarks[0].attrs : undefined);
181
+ var prevAttrs = oldMarks.length ? oldMarks[0].attrs : undefined;
182
+ var newAttrs = getAttrs(prevAttrs, node);
182
183
  if (newAttrs !== undefined) {
183
184
  tr.setNodeMarkup(pos, node.type, node.attrs, node.marks
184
185
  .filter(function (mark) { return !markType.excludes(mark.type); })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,40 @@
1
1
  import { TextSelection } from 'prosemirror-state';
2
2
  import { getLinesFromSelection, getLineInfo, forEachLine, getStartOfCurrentLine, } from './line-handling';
3
3
  import { analyticsService } from '../../../analytics';
4
+ import { addAnalytics, } from '../../analytics';
5
+ /**
6
+ * Return the current indentation level
7
+ * @param indentText - Text in the code block that represent an indentation
8
+ * @param indentSize - Size of the indentation token in a string
9
+ */
10
+ function getIndentLevel(indentText, indentSize) {
11
+ if (indentSize === 0 || indentText.length === 0) {
12
+ return 0;
13
+ }
14
+ return indentText.length / indentSize;
15
+ }
4
16
  export function indent(state, dispatch) {
5
17
  var _a = getLinesFromSelection(state), text = _a.text, start = _a.start;
6
18
  var tr = state.tr, selection = state.selection;
7
19
  forEachLine(text, function (line, offset) {
8
20
  var _a = getLineInfo(line), indentText = _a.indentText, indentToken = _a.indentToken;
21
+ var indentLevel = getIndentLevel(indentText, indentToken.size);
9
22
  var indentToAdd = indentToken.token.repeat(indentToken.size - (indentText.length % indentToken.size) ||
10
23
  indentToken.size);
11
24
  tr.insertText(indentToAdd, tr.mapping.map(start + offset, -1));
25
+ addAnalytics(tr, {
26
+ action: "formatted" /* FORMATTED */,
27
+ actionSubject: "text" /* TEXT */,
28
+ actionSubjectId: "indentation" /* FORMAT_INDENT */,
29
+ eventType: "track" /* TRACK */,
30
+ attributes: {
31
+ inputMethod: "keyboard" /* KEYBOARD */,
32
+ previousIndentationLevel: indentLevel,
33
+ newIndentLevel: indentLevel + 1,
34
+ direction: "indent" /* INDENT */,
35
+ indentType: "codeBlock" /* CODE_BLOCK */,
36
+ },
37
+ });
12
38
  if (!selection.empty) {
13
39
  tr.setSelection(TextSelection.create(tr.doc, tr.mapping.map(selection.from, -1), tr.selection.to));
14
40
  }
@@ -23,8 +49,22 @@ export function outdent(state, dispatch) {
23
49
  forEachLine(text, function (line, offset) {
24
50
  var _a = getLineInfo(line), indentText = _a.indentText, indentToken = _a.indentToken;
25
51
  if (indentText) {
52
+ var indentLevel = getIndentLevel(indentText, indentToken.size);
26
53
  var unindentLength = indentText.length % indentToken.size || indentToken.size;
27
54
  tr.delete(tr.mapping.map(start + offset), tr.mapping.map(start + offset + unindentLength));
55
+ addAnalytics(tr, {
56
+ action: "formatted" /* FORMATTED */,
57
+ actionSubject: "text" /* TEXT */,
58
+ actionSubjectId: "indentation" /* FORMAT_INDENT */,
59
+ eventType: "track" /* TRACK */,
60
+ attributes: {
61
+ inputMethod: "keyboard" /* KEYBOARD */,
62
+ previousIndentationLevel: indentLevel,
63
+ newIndentLevel: indentLevel - 1,
64
+ direction: "outdent" /* OUTDENT */,
65
+ indentType: "codeBlock" /* CODE_BLOCK */,
66
+ },
67
+ });
28
68
  }
29
69
  });
30
70
  dispatch(tr);
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../src/plugins/code-block/ide-ux/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../src/plugins/code-block/ide-ux/commands.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { toggleBlockMark } from '../../../commands';
2
+ import { createAnalyticsDispatch } from './utils';
3
+ import getAttrsWithChangesRecorder from '../../../utils/getAttrsWithChangesRecorder';
4
+ var MAX_INDENTATION_LEVEL = 6;
2
5
  var isIndentationAllowed = function (schema, node, parent) {
3
6
  var _a = schema.nodes, paragraph = _a.paragraph, heading = _a.heading, alignment = schema.marks.alignment;
4
7
  if ([paragraph, heading].indexOf(node.type) > -1) {
@@ -10,32 +13,62 @@ var isIndentationAllowed = function (schema, node, parent) {
10
13
  }
11
14
  return false;
12
15
  };
13
- export var indent = function (state, dispatch) {
14
- var indentation = state.schema.marks.indentation;
15
- return toggleBlockMark(indentation, function (oldMark) {
16
- // No mark - add a mark with level 1
17
- return !oldMark
18
- ? { level: 1 }
19
- : // Level is at 6 or higher - do nothing
20
- oldMark.level >= 6
21
- ? undefined
22
- : // For other cases - increase level by 1
23
- { level: oldMark.level + 1 };
24
- }, isIndentationAllowed)(state, dispatch);
16
+ /**
17
+ * Create new indentation command (Either indent or outdent depend of getArgsFn)
18
+ * @param getNewIndentationAttrs Function to handle new indentation level
19
+ */
20
+ function createIndentationCommand(getNewIndentationAttrs) {
21
+ return function (state, dispatch) {
22
+ var indentation = state.schema.marks.indentation;
23
+ return toggleBlockMark(indentation, getNewIndentationAttrs, isIndentationAllowed)(state, dispatch);
24
+ };
25
+ }
26
+ function createIndentationCommandWithAnalytics(getNewIndentationAttrs, direction) {
27
+ // Create a new getAttrs function to record the changes
28
+ var _a = getAttrsWithChangesRecorder(getNewIndentationAttrs, { direction: direction }), getAttrs = _a.getAttrs, getAndResetAttrsChanges = _a.getAndResetAttrsChanges;
29
+ // Use new getAttrs wrapper
30
+ var indentationCommand = createIndentationCommand(getAttrs);
31
+ // Return a new command where we change dispatch for our analytics dispatch
32
+ return function (state, dispatch) {
33
+ return indentationCommand(state, createAnalyticsDispatch(getAndResetAttrsChanges, dispatch));
34
+ };
35
+ }
36
+ /**
37
+ * Get new level for outdent
38
+ * @param oldAttr Old attributes for the mark, undefined if the mark doesn't exit
39
+ * @returns - undefined; No change required
40
+ * - false; Remove the mark
41
+ * - object; Update attributes
42
+ */
43
+ var getIndentAttrs = function (oldAttr) {
44
+ if (!oldAttr) {
45
+ return { level: 1 }; // No mark exist, create a new one with level 1
46
+ }
47
+ var level = oldAttr.level;
48
+ if (level >= MAX_INDENTATION_LEVEL) {
49
+ return undefined; // Max indentation level reached, do nothing.
50
+ }
51
+ return { level: level + 1 }; // Otherwise, increase the level by one
25
52
  };
26
- export var outdent = function (state, dispatch) {
27
- var indentation = state.schema.marks.indentation;
28
- return toggleBlockMark(indentation, function (oldMark) {
29
- // No mark - do nothing
30
- return !oldMark
31
- ? undefined
32
- : // Level is at 1 or lower - remove the mark
33
- oldMark.level <= 1
34
- ? false
35
- : // For other cases - decrease level by 1
36
- { level: oldMark.level - 1 };
37
- }, isIndentationAllowed)(state, dispatch);
53
+ export var indent = createIndentationCommandWithAnalytics(getIndentAttrs, "indent" /* INDENT */);
54
+ /**
55
+ * Get new level for outdent
56
+ * @param oldAttr Old attributes for the mark, undefined if the mark doesn't exit
57
+ * @returns - undefined; No change required
58
+ * - false; Remove the mark
59
+ * - object; Update attributes
60
+ */
61
+ var getOutdentAttrs = function (oldAttr) {
62
+ if (!oldAttr) {
63
+ return undefined; // Do nothing;
64
+ }
65
+ var level = oldAttr.level;
66
+ if (level <= 1) {
67
+ return false; // Remove the mark
68
+ }
69
+ return { level: level - 1 }; // Decrease the level on other cases
38
70
  };
71
+ export var outdent = createIndentationCommandWithAnalytics(getOutdentAttrs, "outdent" /* OUTDENT */);
39
72
  export var removeIndentation = function (state, dispatch) {
40
73
  return toggleBlockMark(state.schema.marks.indentation, function () { return false; })(state, dispatch);
41
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/indentation/commands/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,IAAM,oBAAoB,GAAG,UAAC,MAAc,EAAE,IAAY,EAAE,MAAc;IAEtE,IAAA,iBAA6B,EAApB,wBAAS,EAAE,oBAAO,EAClB,kCAAS,CACT;IAEX,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;QAChD,IAAI,SAAS,EAAE;YACb,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CACpC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,SAAS,EAAvB,CAAuB,CAChC,CAAC,CAAC,CAAC,CAAC;YACL,OAAO,CAAC,YAAY,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,MAAM,GAAY,UAAC,KAAK,EAAE,QAAQ;IACrC,IAAA,4CAAW,CAAwB;IAE3C,OAAO,eAAe,CACpB,WAAW,EACX,UAAA,OAAO;QACL,oCAAoC;QACpC,OAAA,CAAC,OAAO;YACN,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YACd,CAAC,CAAC,uCAAuC;gBACzC,OAAO,CAAC,KAAK,IAAI,CAAC;oBAClB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,wCAAwC;wBACxC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;IANhC,CAMgC,EAClC,oBAAoB,CACrB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,OAAO,GAAY,UAAC,KAAK,EAAE,QAAQ;IACtC,IAAA,4CAAW,CAAwB;IAC3C,OAAO,eAAe,CACpB,WAAW,EACX,UAAA,OAAO;QACL,uBAAuB;QACvB,OAAA,CAAC,OAAO;YACN,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,2CAA2C;gBAC7C,OAAO,CAAC,KAAK,IAAI,CAAC;oBAClB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,wCAAwC;wBACxC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;IANhC,CAMgC,EAClC,oBAAoB,CACrB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAY,UAAC,KAAK,EAAE,QAAQ;IACxD,OAAA,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;AAA7E,CAA6E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/indentation/commands/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { IndentationMarkAttributes } from '../../../../../adf-schema';
2
+ import { INDENT_DIR } from '../../analytics';
3
+ import { Transaction } from 'prosemirror-state';
4
+ import { GetAttrsChange } from '../../../utils/getAttrsWithChangesRecorder';
5
+ declare type PrevAttributes = IndentationMarkAttributes | undefined;
6
+ declare type NewAttributes = IndentationMarkAttributes | undefined | false;
7
+ export declare type IndentationChangesOptions = {
8
+ direction: INDENT_DIR;
9
+ };
10
+ /**
11
+ * Get the current indentation level given prev and new attributes
12
+ * @param prevAttrs - Previous attributes from indentation
13
+ * @param newAttrs - New attributes from indentation
14
+ */
15
+ export declare function getNewIndentLevel(prevAttrs: PrevAttributes, newAttrs: NewAttributes): number;
16
+ /**
17
+ * Get the previous indentation level prev attributes
18
+ * @param prevAttrs - Previous attributes from indentation
19
+ */
20
+ export declare function getPrevIndentLevel(prevAttrs: PrevAttributes): number;
21
+ /**
22
+ * Create a new dispatch function who add analytics events given a list of attributes changes
23
+ *
24
+ * @export
25
+ * @param {*} getAttrsChanges
26
+ * @param dispatch
27
+ * @returns
28
+ */
29
+ export declare function createAnalyticsDispatch(getAttrsChanges: () => GetAttrsChange<IndentationMarkAttributes, IndentationChangesOptions>[], dispatch?: (tr: Transaction) => void): (tr: Transaction) => void;
30
+ export {};
@@ -0,0 +1,69 @@
1
+ import { addAnalytics, } from '../../analytics';
2
+ var indentTypes = {
3
+ paragraph: "paragraph" /* PARAGRAPH */,
4
+ heading: "heading" /* HEADING */,
5
+ };
6
+ /**
7
+ * Get the current indentation level given prev and new attributes
8
+ * @param prevAttrs - Previous attributes from indentation
9
+ * @param newAttrs - New attributes from indentation
10
+ */
11
+ export function getNewIndentLevel(prevAttrs, newAttrs) {
12
+ if (newAttrs === undefined) {
13
+ return prevAttrs.level;
14
+ }
15
+ else if (newAttrs === false) {
16
+ return 0;
17
+ }
18
+ return newAttrs.level;
19
+ }
20
+ /**
21
+ * Get the previous indentation level prev attributes
22
+ * @param prevAttrs - Previous attributes from indentation
23
+ */
24
+ export function getPrevIndentLevel(prevAttrs) {
25
+ if (prevAttrs === undefined) {
26
+ return 0;
27
+ }
28
+ return prevAttrs.level;
29
+ }
30
+ /**
31
+ * Create a new dispatch function who add analytics events given a list of attributes changes
32
+ *
33
+ * @export
34
+ * @param {*} getAttrsChanges
35
+ * @param dispatch
36
+ * @returns
37
+ */
38
+ export function createAnalyticsDispatch(getAttrsChanges, dispatch) {
39
+ return function (tr) {
40
+ var currentTr = tr;
41
+ var changes = getAttrsChanges(); // Get all attributes changes
42
+ // Add analytics event for each change stored.
43
+ changes.forEach(function (_a) {
44
+ var node = _a.node, prevAttrs = _a.prevAttrs, newAttrs = _a.newAttrs, direction = _a.options.direction;
45
+ var indentType = indentTypes[node.type.name];
46
+ if (!indentType) {
47
+ return; // If no valid indent type continue
48
+ }
49
+ currentTr = addAnalytics(currentTr, {
50
+ action: "formatted" /* FORMATTED */,
51
+ actionSubject: "text" /* TEXT */,
52
+ actionSubjectId: "indentation" /* FORMAT_INDENT */,
53
+ eventType: "track" /* TRACK */,
54
+ attributes: {
55
+ inputMethod: "keyboard" /* KEYBOARD */,
56
+ previousIndentationLevel: getPrevIndentLevel(prevAttrs),
57
+ newIndentLevel: getNewIndentLevel(prevAttrs, newAttrs),
58
+ direction: direction,
59
+ indentType: indentType,
60
+ },
61
+ });
62
+ });
63
+ // Dispatch analytics if exist
64
+ if (dispatch) {
65
+ dispatch(tr);
66
+ }
67
+ };
68
+ }
69
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/plugins/indentation/commands/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,GAQb,MAAM,iBAAiB,CAAC;AAWzB,IAAM,WAAW,GAAG;IAClB,SAAS,6BAAuB;IAChC,OAAO,yBAAqB;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAyB,EACzB,QAAuB;IAEvB,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1B,OAAO,SAAU,CAAC,KAAK,CAAC;KACzB;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE;QAC7B,OAAO,CAAC,CAAC;KACV;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAyB;IAC1D,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,CAAC,CAAC;KACV;IACD,OAAO,SAAS,CAAC,KAAK,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAGG,EACH,QAAoC;IAEpC,OAAO,UAAC,EAAe;QACrB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAM,OAAO,GAAG,eAAe,EAAE,CAAC,CAAC,6BAA6B;QAEhE,8CAA8C;QAC9C,OAAO,CAAC,OAAO,CAAC,UAAC,EAAqD;gBAAnD,cAAI,EAAE,wBAAS,EAAE,sBAAQ,EAAa,gCAAS;YAChE,IAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,CAAC,mCAAmC;aAC5C;YAED,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE;gBAClC,MAAM,6BAAkB;gBACxB,aAAa,mBAAqB;gBAClC,eAAe,mCAAiC;gBAChD,SAAS,qBAAkB;gBAC3B,UAAU,EAAE;oBACV,WAAW,2BAAuB;oBAClC,wBAAwB,EAAE,kBAAkB,CAAC,SAAS,CAAC;oBACvD,cAAc,EAAE,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC;oBACtD,SAAS,WAAA;oBACT,UAAU,YAAA;iBACX;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,EAAE,CAAC,CAAC;SACd;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Fragment, Slice } from 'prosemirror-model';
1
+ import { Fragment, Slice, } from 'prosemirror-model';
2
2
  import { TextSelection, NodeSelection, } from 'prosemirror-state';
3
3
  import { liftTarget, ReplaceAroundStep } from 'prosemirror-transform';
4
4
  import * as baseCommand from 'prosemirror-commands';
@@ -6,9 +6,10 @@ import * as baseListCommand from 'prosemirror-schema-list';
6
6
  import { hasParentNodeOfType, findPositionOfNodeBefore, } from 'prosemirror-utils';
7
7
  import { isEmptyNode, hasVisibleContent } from '../../utils/document';
8
8
  import { filter, isEmptySelectionAtStart, isFirstChildOfParent, findCutBefore, } from '../../utils/commands';
9
- import { isRangeOfType } from '../../utils';
9
+ import { isRangeOfType, compose } from '../../utils';
10
10
  import { liftFollowingList, liftSelectionList } from './transforms';
11
11
  import { GapCursorSelection } from '../gap-cursor';
12
+ import { withAnalytics, } from '../analytics';
12
13
  var maxIndentation = 5;
13
14
  var deletePreviousEmptyListItem = function (state, dispatch) {
14
15
  var $from = state.selection.$from;
@@ -195,22 +196,17 @@ function splitListItem(itemType) {
195
196
  return true;
196
197
  };
197
198
  }
198
- export function outdentList() {
199
- return function (state, dispatch) {
200
- var listItem = state.schema.nodes.listItem;
201
- var _a = state.selection, $from = _a.$from, $to = _a.$to;
202
- if (isInsideListItem(state)) {
203
- // if we're backspacing at the start of a list item, unindent it
204
- // take the the range of nodes we might be lifting
205
- // the predicate is for when you're backspacing a top level list item:
206
- // we don't want to go up past the doc node, otherwise the range
207
- // to clear will include everything
208
- var range = $from.blockRange($to, function (node) { return node.childCount > 0 && node.firstChild.type === listItem; });
209
- if (!range) {
210
- return false;
211
- }
212
- var tr_1;
213
- if (baseListCommand.liftListItem(listItem)(state, function (liftTr) { return (tr_1 = liftTr); })) {
199
+ /**
200
+ * Merge closest bullet list blocks into one
201
+ *
202
+ * @param {NodeType} listItem
203
+ * @param {NodeRange} range
204
+ * @returns
205
+ */
206
+ function mergeLists(listItem, range) {
207
+ return function (command) {
208
+ return function (state, dispatch) {
209
+ return command(state, function (tr) {
214
210
  /* we now need to handle the case that we lifted a sublist out,
215
211
  * and any listItems at the current level get shifted out to
216
212
  * their own new list; e.g.:
@@ -239,49 +235,107 @@ export function outdentList() {
239
235
  */
240
236
  var $start = state.doc.resolve(range.start);
241
237
  var $end = state.doc.resolve(range.end);
242
- var $join = tr_1.doc.resolve(tr_1.mapping.map(range.end - 1));
238
+ var $join = tr.doc.resolve(tr.mapping.map(range.end - 1));
243
239
  if ($join.nodeBefore &&
244
240
  $join.nodeAfter &&
245
241
  $join.nodeBefore.type === $join.nodeAfter.type) {
246
242
  if ($end.nodeAfter &&
247
243
  $end.nodeAfter.type === listItem &&
248
244
  $end.parent.type === $start.parent.type) {
249
- tr_1.join($join.pos);
245
+ tr.join($join.pos);
250
246
  }
251
247
  }
252
248
  if (dispatch) {
253
- dispatch(tr_1.scrollIntoView());
249
+ dispatch(tr.scrollIntoView());
254
250
  }
255
- return true;
251
+ });
252
+ };
253
+ };
254
+ }
255
+ export function outdentList() {
256
+ return function (state, dispatch) {
257
+ var listItem = state.schema.nodes.listItem;
258
+ var _a = state.selection, $from = _a.$from, $to = _a.$to;
259
+ if (isInsideListItem(state)) {
260
+ // if we're backspacing at the start of a list item, unindent it
261
+ // take the the range of nodes we might be lifting
262
+ // the predicate is for when you're backspacing a top level list item:
263
+ // we don't want to go up past the doc node, otherwise the range
264
+ // to clear will include everything
265
+ var range = $from.blockRange($to, function (node) { return node.childCount > 0 && node.firstChild.type === listItem; });
266
+ if (!range) {
267
+ return false;
256
268
  }
269
+ var initialIndentationLevel = numberNestedLists(state.selection.$from, state.schema.nodes);
270
+ return compose(withAnalytics({
271
+ action: "formatted" /* FORMATTED */,
272
+ actionSubject: "text" /* TEXT */,
273
+ actionSubjectId: "indentation" /* FORMAT_INDENT */,
274
+ eventType: "track" /* TRACK */,
275
+ attributes: {
276
+ inputMethod: "keyboard" /* KEYBOARD */,
277
+ previousIndentationLevel: initialIndentationLevel,
278
+ newIndentLevel: initialIndentationLevel - 1,
279
+ direction: "outdent" /* OUTDENT */,
280
+ indentType: "list" /* LIST */,
281
+ },
282
+ }), // 3. Send analytics event
283
+ mergeLists(listItem, range), // 2. Check if I need to merge nearest list
284
+ baseListCommand.liftListItem)(listItem)(state, dispatch);
257
285
  }
258
286
  return false;
259
287
  };
260
288
  }
289
+ /**
290
+ * Check if we can sink the list.
291
+ *
292
+ * @param {number} initialIndentationLevel
293
+ * @param {EditorState} state
294
+ * @returns {boolean} - true if we can sink the list
295
+ * - false if we reach the max indentation level
296
+ */
297
+ function canSink(initialIndentationLevel, state) {
298
+ /*
299
+ - Keep going forward in document until indentation of the node is < than the initial
300
+ - If indentation is EVER > max indentation, return true and don't sink the list
301
+ */
302
+ var currentIndentationLevel;
303
+ var currentPos = state.tr.selection.$to.pos;
304
+ do {
305
+ var resolvedPos = state.doc.resolve(currentPos);
306
+ currentIndentationLevel = numberNestedLists(resolvedPos, state.schema.nodes);
307
+ if (currentIndentationLevel > maxIndentation) {
308
+ // Cancel sink list.
309
+ // If current indentation less than the initial, it won't be
310
+ // larger than the max, and the loop will terminate at end of this iteration
311
+ return false;
312
+ }
313
+ currentPos++;
314
+ } while (currentIndentationLevel >= initialIndentationLevel);
315
+ return true;
316
+ }
261
317
  export function indentList() {
262
318
  return function (state, dispatch) {
263
319
  var listItem = state.schema.nodes.listItem;
264
320
  if (isInsideListItem(state)) {
321
+ // Record initial list indentation
265
322
  var initialIndentationLevel = numberNestedLists(state.selection.$from, state.schema.nodes);
266
- /*
267
- - Record initial list indentation
268
- - Keep going forward in document until indentation of the node is < than the initial
269
- - If indentation is EVER > max indentation, return true and don't sink the list
270
- */
271
- var currentIndentationLevel = void 0;
272
- var currentPos = state.tr.selection.$to.pos;
273
- do {
274
- var resolvedPos = state.doc.resolve(currentPos);
275
- currentIndentationLevel = numberNestedLists(resolvedPos, state.schema.nodes);
276
- if (currentIndentationLevel > maxIndentation) {
277
- // Cancel sink list.
278
- // If current indentation less than the initial, it won't be
279
- // larger than the max, and the loop will terminate at end of this iteration
280
- return true;
281
- }
282
- currentPos++;
283
- } while (currentIndentationLevel >= initialIndentationLevel);
284
- baseListCommand.sinkListItem(listItem)(state, dispatch);
323
+ if (canSink(initialIndentationLevel, state)) {
324
+ // Analytics command wrapper should be here because we need to get indentation level
325
+ compose(withAnalytics({
326
+ action: "formatted" /* FORMATTED */,
327
+ actionSubject: "text" /* TEXT */,
328
+ actionSubjectId: "indentation" /* FORMAT_INDENT */,
329
+ eventType: "track" /* TRACK */,
330
+ attributes: {
331
+ inputMethod: "keyboard" /* KEYBOARD */,
332
+ previousIndentationLevel: initialIndentationLevel,
333
+ newIndentLevel: initialIndentationLevel + 1,
334
+ direction: "indent" /* INDENT */,
335
+ indentType: "list" /* LIST */,
336
+ },
337
+ }), baseListCommand.sinkListItem)(listItem)(state, dispatch);
338
+ }
285
339
  return true;
286
340
  }
287
341
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/plugins/lists/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/plugins/lists/commands.ts"],"names":[],"mappings":"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"}