@atlaskit/editor-plugin-type-ahead 1.8.4 → 1.8.5

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # @atlaskit/editor-plugin-type-ahead
2
2
 
3
+ ## 1.8.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#138136](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/138136)
8
+ [`35938ecf46ba7`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/35938ecf46ba7) -
9
+ [ED-24755] Implement insert functionality of element templates and fire document inserted event
10
+ with template IDs
11
+ - Updated dependencies
12
+
3
13
  ## 1.8.4
4
14
 
5
15
  ### Patch Changes
@@ -10,12 +10,13 @@ var _steps = require("@atlaskit/adf-schema/steps");
10
10
  var _typeAhead = require("@atlaskit/editor-common/type-ahead");
11
11
  var _history = require("@atlaskit/editor-prosemirror/history");
12
12
  var _model = require("@atlaskit/editor-prosemirror/model");
13
+ var _utils = require("@atlaskit/editor-prosemirror/utils");
13
14
  var _insertUtils = require("../insert-utils");
14
15
  var _actions = require("../pm-plugins/actions");
15
16
  var _key = require("../pm-plugins/key");
16
17
  var _statsModifier = require("../stats-modifier");
17
18
  var _closeTypeAhead = require("../transforms/close-type-ahead");
18
- var _utils = require("../utils");
19
+ var _utils2 = require("../utils");
19
20
  var validateNode = function validateNode(_ref) {
20
21
  var schema = _ref.schema,
21
22
  maybeNode = _ref.maybeNode;
@@ -36,14 +37,25 @@ var validateNode = function validateNode(_ref) {
36
37
  return null;
37
38
  }
38
39
  };
39
- var createInsertCallback = function createInsertCallback(_ref2) {
40
- var state = _ref2.editorState,
41
- handler = _ref2.handler,
42
- query = _ref2.query,
43
- wasInsertedBySpace = _ref2.wasInsertedBySpace,
44
- selectedIndex = _ref2.selectedIndex,
45
- textStartPosition = _ref2.textStartPosition,
46
- textInserted = _ref2.textInserted;
40
+ // For platform_editor_element_level_templates experiment only
41
+ // clean up ticket ED-24873
42
+ var insertTemplateFragment = function insertTemplateFragment(_ref2) {
43
+ var fragment = _ref2.fragment,
44
+ tr = _ref2.tr,
45
+ position = _ref2.position;
46
+ var start = position.start;
47
+ var trWithInsert = (0, _utils.safeInsert)(fragment, start)(tr);
48
+ tr.setSelection(trWithInsert.selection);
49
+ return tr;
50
+ };
51
+ var createInsertCallback = function createInsertCallback(_ref3) {
52
+ var state = _ref3.editorState,
53
+ handler = _ref3.handler,
54
+ query = _ref3.query,
55
+ wasInsertedBySpace = _ref3.wasInsertedBySpace,
56
+ selectedIndex = _ref3.selectedIndex,
57
+ textStartPosition = _ref3.textStartPosition,
58
+ textInserted = _ref3.textInserted;
47
59
  return function (maybeNode) {
48
60
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
49
61
  var tr = state.tr;
@@ -62,16 +74,28 @@ var createInsertCallback = function createInsertCallback(_ref2) {
62
74
  tr.delete(position.start, position.end);
63
75
  return tr;
64
76
  }
65
- node instanceof _model.Node && node.isBlock ? (0, _insertUtils.insertBlockNode)({
66
- node: node,
67
- tr: tr,
68
- position: position
69
- }) : (0, _insertUtils.insertInlineNodeOrFragment)({
70
- maybeFragment: node,
71
- tr: tr,
72
- position: position,
73
- selectInlineNode: Boolean(opts.selectInlineNode)
74
- });
77
+
78
+ // For platform_editor_element_level_templates experiment only
79
+ // clean up ticket ED-24873
80
+ // @ts-ignore
81
+ if (opts.isTemplate) {
82
+ insertTemplateFragment({
83
+ fragment: node,
84
+ tr: tr,
85
+ position: position
86
+ });
87
+ } else {
88
+ node instanceof _model.Node && node.isBlock ? (0, _insertUtils.insertBlockNode)({
89
+ node: node,
90
+ tr: tr,
91
+ position: position
92
+ }) : (0, _insertUtils.insertInlineNodeOrFragment)({
93
+ maybeFragment: node,
94
+ tr: tr,
95
+ position: position,
96
+ selectInlineNode: Boolean(opts.selectInlineNode)
97
+ });
98
+ }
75
99
  (0, _history.closeHistory)(tr);
76
100
  if (wasInsertedBySpace) {
77
101
  return tr;
@@ -86,13 +110,13 @@ var createInsertCallback = function createInsertCallback(_ref2) {
86
110
  return tr;
87
111
  };
88
112
  };
89
- var createDeleteRawTextCallback = function createDeleteRawTextCallback(_ref3) {
90
- var trigger = _ref3.trigger,
91
- selectedIndex = _ref3.selectedIndex,
92
- position = _ref3.position,
93
- query = _ref3.query,
94
- wasInsertedBySpace = _ref3.wasInsertedBySpace,
95
- insertItem = _ref3.insertItem;
113
+ var createDeleteRawTextCallback = function createDeleteRawTextCallback(_ref4) {
114
+ var trigger = _ref4.trigger,
115
+ selectedIndex = _ref4.selectedIndex,
116
+ position = _ref4.position,
117
+ query = _ref4.query,
118
+ wasInsertedBySpace = _ref4.wasInsertedBySpace,
119
+ insertItem = _ref4.insertItem;
96
120
  return function (newState) {
97
121
  var tr = newState.tr;
98
122
  (0, _history.closeHistory)(tr);
@@ -114,13 +138,13 @@ var createDeleteRawTextCallback = function createDeleteRawTextCallback(_ref3) {
114
138
  };
115
139
  };
116
140
  var insertTypeAheadItem = exports.insertTypeAheadItem = function insertTypeAheadItem(view) {
117
- return function (_ref4) {
118
- var item = _ref4.item,
119
- handler = _ref4.handler,
120
- mode = _ref4.mode,
121
- query = _ref4.query,
122
- sourceListItem = _ref4.sourceListItem;
123
- var pluginState = (0, _utils.getPluginState)(view.state);
141
+ return function (_ref5) {
142
+ var item = _ref5.item,
143
+ handler = _ref5.handler,
144
+ mode = _ref5.mode,
145
+ query = _ref5.query,
146
+ sourceListItem = _ref5.sourceListItem;
147
+ var pluginState = (0, _utils2.getPluginState)(view.state);
124
148
  if (!pluginState) {
125
149
  return;
126
150
  }
@@ -2,6 +2,7 @@ import { InsertTypeAheadStages, InsertTypeAheadStep } from '@atlaskit/adf-schema
2
2
  import { SelectItemMode } from '@atlaskit/editor-common/type-ahead';
3
3
  import { closeHistory } from '@atlaskit/editor-prosemirror/history';
4
4
  import { Fragment, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
5
+ import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
5
6
  import { insertBlockNode, insertInlineNodeOrFragment } from '../insert-utils';
6
7
  import { ACTIONS } from '../pm-plugins/actions';
7
8
  import { pluginKey } from '../pm-plugins/key';
@@ -29,6 +30,20 @@ const validateNode = ({
29
30
  return null;
30
31
  }
31
32
  };
33
+ // For platform_editor_element_level_templates experiment only
34
+ // clean up ticket ED-24873
35
+ const insertTemplateFragment = ({
36
+ fragment,
37
+ tr,
38
+ position
39
+ }) => {
40
+ const {
41
+ start
42
+ } = position;
43
+ const trWithInsert = safeInsert(fragment, start)(tr);
44
+ tr.setSelection(trWithInsert.selection);
45
+ return tr;
46
+ };
32
47
  const createInsertCallback = ({
33
48
  editorState: state,
34
49
  handler,
@@ -56,16 +71,28 @@ const createInsertCallback = ({
56
71
  tr.delete(position.start, position.end);
57
72
  return tr;
58
73
  }
59
- node instanceof PMNode && node.isBlock ? insertBlockNode({
60
- node,
61
- tr,
62
- position
63
- }) : insertInlineNodeOrFragment({
64
- maybeFragment: node,
65
- tr,
66
- position,
67
- selectInlineNode: Boolean(opts.selectInlineNode)
68
- });
74
+
75
+ // For platform_editor_element_level_templates experiment only
76
+ // clean up ticket ED-24873
77
+ // @ts-ignore
78
+ if (opts.isTemplate) {
79
+ insertTemplateFragment({
80
+ fragment: node,
81
+ tr,
82
+ position
83
+ });
84
+ } else {
85
+ node instanceof PMNode && node.isBlock ? insertBlockNode({
86
+ node,
87
+ tr,
88
+ position
89
+ }) : insertInlineNodeOrFragment({
90
+ maybeFragment: node,
91
+ tr,
92
+ position,
93
+ selectInlineNode: Boolean(opts.selectInlineNode)
94
+ });
95
+ }
69
96
  closeHistory(tr);
70
97
  if (wasInsertedBySpace) {
71
98
  return tr;
@@ -3,6 +3,7 @@ import { InsertTypeAheadStages, InsertTypeAheadStep } from '@atlaskit/adf-schema
3
3
  import { SelectItemMode } from '@atlaskit/editor-common/type-ahead';
4
4
  import { closeHistory } from '@atlaskit/editor-prosemirror/history';
5
5
  import { Fragment, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
6
+ import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
6
7
  import { insertBlockNode, insertInlineNodeOrFragment } from '../insert-utils';
7
8
  import { ACTIONS } from '../pm-plugins/actions';
8
9
  import { pluginKey } from '../pm-plugins/key';
@@ -29,14 +30,25 @@ var validateNode = function validateNode(_ref) {
29
30
  return null;
30
31
  }
31
32
  };
32
- var createInsertCallback = function createInsertCallback(_ref2) {
33
- var state = _ref2.editorState,
34
- handler = _ref2.handler,
35
- query = _ref2.query,
36
- wasInsertedBySpace = _ref2.wasInsertedBySpace,
37
- selectedIndex = _ref2.selectedIndex,
38
- textStartPosition = _ref2.textStartPosition,
39
- textInserted = _ref2.textInserted;
33
+ // For platform_editor_element_level_templates experiment only
34
+ // clean up ticket ED-24873
35
+ var insertTemplateFragment = function insertTemplateFragment(_ref2) {
36
+ var fragment = _ref2.fragment,
37
+ tr = _ref2.tr,
38
+ position = _ref2.position;
39
+ var start = position.start;
40
+ var trWithInsert = safeInsert(fragment, start)(tr);
41
+ tr.setSelection(trWithInsert.selection);
42
+ return tr;
43
+ };
44
+ var createInsertCallback = function createInsertCallback(_ref3) {
45
+ var state = _ref3.editorState,
46
+ handler = _ref3.handler,
47
+ query = _ref3.query,
48
+ wasInsertedBySpace = _ref3.wasInsertedBySpace,
49
+ selectedIndex = _ref3.selectedIndex,
50
+ textStartPosition = _ref3.textStartPosition,
51
+ textInserted = _ref3.textInserted;
40
52
  return function (maybeNode) {
41
53
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
42
54
  var tr = state.tr;
@@ -55,16 +67,28 @@ var createInsertCallback = function createInsertCallback(_ref2) {
55
67
  tr.delete(position.start, position.end);
56
68
  return tr;
57
69
  }
58
- node instanceof PMNode && node.isBlock ? insertBlockNode({
59
- node: node,
60
- tr: tr,
61
- position: position
62
- }) : insertInlineNodeOrFragment({
63
- maybeFragment: node,
64
- tr: tr,
65
- position: position,
66
- selectInlineNode: Boolean(opts.selectInlineNode)
67
- });
70
+
71
+ // For platform_editor_element_level_templates experiment only
72
+ // clean up ticket ED-24873
73
+ // @ts-ignore
74
+ if (opts.isTemplate) {
75
+ insertTemplateFragment({
76
+ fragment: node,
77
+ tr: tr,
78
+ position: position
79
+ });
80
+ } else {
81
+ node instanceof PMNode && node.isBlock ? insertBlockNode({
82
+ node: node,
83
+ tr: tr,
84
+ position: position
85
+ }) : insertInlineNodeOrFragment({
86
+ maybeFragment: node,
87
+ tr: tr,
88
+ position: position,
89
+ selectInlineNode: Boolean(opts.selectInlineNode)
90
+ });
91
+ }
68
92
  closeHistory(tr);
69
93
  if (wasInsertedBySpace) {
70
94
  return tr;
@@ -79,13 +103,13 @@ var createInsertCallback = function createInsertCallback(_ref2) {
79
103
  return tr;
80
104
  };
81
105
  };
82
- var createDeleteRawTextCallback = function createDeleteRawTextCallback(_ref3) {
83
- var trigger = _ref3.trigger,
84
- selectedIndex = _ref3.selectedIndex,
85
- position = _ref3.position,
86
- query = _ref3.query,
87
- wasInsertedBySpace = _ref3.wasInsertedBySpace,
88
- insertItem = _ref3.insertItem;
106
+ var createDeleteRawTextCallback = function createDeleteRawTextCallback(_ref4) {
107
+ var trigger = _ref4.trigger,
108
+ selectedIndex = _ref4.selectedIndex,
109
+ position = _ref4.position,
110
+ query = _ref4.query,
111
+ wasInsertedBySpace = _ref4.wasInsertedBySpace,
112
+ insertItem = _ref4.insertItem;
89
113
  return function (newState) {
90
114
  var tr = newState.tr;
91
115
  closeHistory(tr);
@@ -107,12 +131,12 @@ var createDeleteRawTextCallback = function createDeleteRawTextCallback(_ref3) {
107
131
  };
108
132
  };
109
133
  export var insertTypeAheadItem = function insertTypeAheadItem(view) {
110
- return function (_ref4) {
111
- var item = _ref4.item,
112
- handler = _ref4.handler,
113
- mode = _ref4.mode,
114
- query = _ref4.query,
115
- sourceListItem = _ref4.sourceListItem;
134
+ return function (_ref5) {
135
+ var item = _ref5.item,
136
+ handler = _ref5.handler,
137
+ mode = _ref5.mode,
138
+ query = _ref5.query,
139
+ sourceListItem = _ref5.sourceListItem;
116
140
  var pluginState = getPluginState(view.state);
117
141
  if (!pluginState) {
118
142
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-type-ahead",
3
- "version": "1.8.4",
3
+ "version": "1.8.5",
4
4
  "description": "Type-ahead plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@atlaskit/adf-schema": "^40.9.0",
35
- "@atlaskit/editor-common": "^88.9.0",
35
+ "@atlaskit/editor-common": "^88.12.0",
36
36
  "@atlaskit/editor-plugin-analytics": "^1.8.0",
37
37
  "@atlaskit/editor-prosemirror": "5.0.1",
38
38
  "@atlaskit/editor-shared-styles": "^2.13.0",