@atlaskit/editor-plugin-paste 1.9.0 → 1.10.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 CHANGED
@@ -1,5 +1,25 @@
1
1
  # @atlaskit/editor-plugin-paste
2
2
 
3
+ ## 1.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#131937](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/131937)
8
+ [`64414d9668409`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/64414d9668409) -
9
+ Adding configuration to mentions plugin from confluence
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 1.9.1
16
+
17
+ ### Patch Changes
18
+
19
+ - [#131711](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/131711)
20
+ [`00a61b846f2a1`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/00a61b846f2a1) -
21
+ Cleanup FF platform.editor.media.fix-copy-paste-excel_62g4s
22
+
3
23
  ## 1.9.0
4
24
 
5
25
  ### Minor Changes
@@ -156,8 +156,9 @@ function createPastePayload(actionSubjectId, attributes, linkDomain) {
156
156
  }
157
157
  } : {});
158
158
  }
159
- function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
159
+ function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext, pluginInjectionApi) {
160
160
  return function (selection) {
161
+ var _pluginInjectionApi$m;
161
162
  var text = event.clipboardData ? event.clipboardData.getData('text/plain') || event.clipboardData.getData('text/uri-list') : '';
162
163
  var actionSubjectId = getActionSubjectId({
163
164
  selection: selection,
@@ -190,12 +191,18 @@ function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
190
191
  var source = (0, _util.getPasteSource)(event);
191
192
  var mentionIds = [];
192
193
  var mentionLocalIds = [];
194
+ var mentionsInserted = [];
193
195
  slice.content.descendants(function (node) {
194
196
  if (node.type.name === 'mention') {
195
197
  mentionIds.push(node.attrs.id);
196
198
  mentionLocalIds.push(node.attrs.localId);
199
+ mentionsInserted.push({
200
+ id: node.attrs.id,
201
+ localId: node.attrs.localId
202
+ });
197
203
  }
198
204
  });
205
+ pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m = pluginInjectionApi.mention) === null || _pluginInjectionApi$m === void 0 || (_pluginInjectionApi$m = _pluginInjectionApi$m.actions) === null || _pluginInjectionApi$m === void 0 || _pluginInjectionApi$m.announceMentionsInsertion(mentionsInserted);
199
206
  if (pasteContext.type === _analytics.PasteTypes.plain) {
200
207
  return createPastePayload(actionSubjectId, {
201
208
  pasteSize: text.length,
@@ -290,7 +297,7 @@ var handleRichTextWithAnalytics = exports.handleRichTextWithAnalytics = function
290
297
  var _pluginInjectionApi$a4, _pluginInjectionApi$c4;
291
298
  return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
292
299
  type: _analytics.PasteTypes.richText
293
- }))((0, _handlers.handleRichText)(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c4 = pluginInjectionApi.card) === null || _pluginInjectionApi$c4 === void 0 || (_pluginInjectionApi$c4 = _pluginInjectionApi$c4.actions) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.queueCardsFromChangedTr));
300
+ }, pluginInjectionApi))((0, _handlers.handleRichText)(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c4 = pluginInjectionApi.card) === null || _pluginInjectionApi$c4 === void 0 || (_pluginInjectionApi$c4 = _pluginInjectionApi$c4.actions) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.queueCardsFromChangedTr));
294
301
  };
295
302
  var injectAnalyticsPayloadBeforeCommand = function injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI) {
296
303
  return function (createPayloadByTransaction) {
@@ -27,7 +27,6 @@ var _editorMarkdownTransformer = require("@atlaskit/editor-markdown-transformer"
27
27
  var _model = require("@atlaskit/editor-prosemirror/model");
28
28
  var _utils2 = require("@atlaskit/editor-prosemirror/utils");
29
29
  var _utils3 = require("@atlaskit/editor-tables/utils");
30
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
31
30
  var _actions = require("../actions");
32
31
  var _commands = require("../commands");
33
32
  var _handlers = require("../handlers");
@@ -182,7 +181,7 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
182
181
  * stopImmediatePropagation will run the first event attached to the same element
183
182
  * Which chould have race condition issue
184
183
  */
185
- (0, _platformFeatureFlags.fg)('platform.editor.media.fix-copy-paste-excel_62g4s') ? event.stopPropagation() : event.stopImmediatePropagation();
184
+ event.stopPropagation();
186
185
  }
187
186
  var state = view.state;
188
187
  var analyticsPlugin = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 || (_pluginInjectionApi$a2 = _pluginInjectionApi$a2.sharedState) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.currentState();
@@ -153,8 +153,9 @@ function createPastePayload(actionSubjectId, attributes, linkDomain) {
153
153
  } : {})
154
154
  };
155
155
  }
156
- function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
156
+ function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext, pluginInjectionApi) {
157
157
  return selection => {
158
+ var _pluginInjectionApi$m, _pluginInjectionApi$m2;
158
159
  const text = event.clipboardData ? event.clipboardData.getData('text/plain') || event.clipboardData.getData('text/uri-list') : '';
159
160
  const actionSubjectId = getActionSubjectId({
160
161
  selection: selection,
@@ -185,12 +186,18 @@ function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
185
186
  const source = getPasteSource(event);
186
187
  const mentionIds = [];
187
188
  const mentionLocalIds = [];
189
+ const mentionsInserted = [];
188
190
  slice.content.descendants(node => {
189
191
  if (node.type.name === 'mention') {
190
192
  mentionIds.push(node.attrs.id);
191
193
  mentionLocalIds.push(node.attrs.localId);
194
+ mentionsInserted.push({
195
+ id: node.attrs.id,
196
+ localId: node.attrs.localId
197
+ });
192
198
  }
193
199
  });
200
+ pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$m = pluginInjectionApi.mention) === null || _pluginInjectionApi$m === void 0 ? void 0 : (_pluginInjectionApi$m2 = _pluginInjectionApi$m.actions) === null || _pluginInjectionApi$m2 === void 0 ? void 0 : _pluginInjectionApi$m2.announceMentionsInsertion(mentionsInserted);
194
201
  if (pasteContext.type === PasteTypes.plain) {
195
202
  return createPastePayload(actionSubjectId, {
196
203
  pasteSize: text.length,
@@ -267,7 +274,7 @@ export const handleRichTextWithAnalytics = (view, event, slice, pluginInjectionA
267
274
  var _pluginInjectionApi$a4, _pluginInjectionApi$c7, _pluginInjectionApi$c8;
268
275
  return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
269
276
  type: PasteTypes.richText
270
- }))(handleRichText(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c7 = pluginInjectionApi.card) === null || _pluginInjectionApi$c7 === void 0 ? void 0 : (_pluginInjectionApi$c8 = _pluginInjectionApi$c7.actions) === null || _pluginInjectionApi$c8 === void 0 ? void 0 : _pluginInjectionApi$c8.queueCardsFromChangedTr));
277
+ }, pluginInjectionApi))(handleRichText(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c7 = pluginInjectionApi.card) === null || _pluginInjectionApi$c7 === void 0 ? void 0 : (_pluginInjectionApi$c8 = _pluginInjectionApi$c7.actions) === null || _pluginInjectionApi$c8 === void 0 ? void 0 : _pluginInjectionApi$c8.queueCardsFromChangedTr));
271
278
  };
272
279
  const injectAnalyticsPayloadBeforeCommand = editorAnalyticsAPI => createPayloadByTransaction => {
273
280
  return mainCommand => {
@@ -11,7 +11,6 @@ import { MarkdownTransformer } from '@atlaskit/editor-markdown-transformer';
11
11
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
12
12
  import { contains, hasParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
13
13
  import { handlePaste as handlePasteTable } from '@atlaskit/editor-tables/utils';
14
- import { fg } from '@atlaskit/platform-feature-flags';
15
14
  import { PastePluginActionTypes } from '../actions';
16
15
  import { splitParagraphs, upgradeTextToLists } from '../commands';
17
16
  import { handleMacroAutoConvert, handleMention, handleParagraphBlockMarks, handleTableContentPasteInBodiedExtension } from '../handlers';
@@ -146,7 +145,7 @@ export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFl
146
145
  * stopImmediatePropagation will run the first event attached to the same element
147
146
  * Which chould have race condition issue
148
147
  */
149
- fg('platform.editor.media.fix-copy-paste-excel_62g4s') ? event.stopPropagation() : event.stopImmediatePropagation();
148
+ event.stopPropagation();
150
149
  }
151
150
  const {
152
151
  state
@@ -144,8 +144,9 @@ function createPastePayload(actionSubjectId, attributes, linkDomain) {
144
144
  }
145
145
  } : {});
146
146
  }
147
- function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
147
+ function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext, pluginInjectionApi) {
148
148
  return function (selection) {
149
+ var _pluginInjectionApi$m;
149
150
  var text = event.clipboardData ? event.clipboardData.getData('text/plain') || event.clipboardData.getData('text/uri-list') : '';
150
151
  var actionSubjectId = getActionSubjectId({
151
152
  selection: selection,
@@ -178,12 +179,18 @@ function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
178
179
  var source = getPasteSource(event);
179
180
  var mentionIds = [];
180
181
  var mentionLocalIds = [];
182
+ var mentionsInserted = [];
181
183
  slice.content.descendants(function (node) {
182
184
  if (node.type.name === 'mention') {
183
185
  mentionIds.push(node.attrs.id);
184
186
  mentionLocalIds.push(node.attrs.localId);
187
+ mentionsInserted.push({
188
+ id: node.attrs.id,
189
+ localId: node.attrs.localId
190
+ });
185
191
  }
186
192
  });
193
+ pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m = pluginInjectionApi.mention) === null || _pluginInjectionApi$m === void 0 || (_pluginInjectionApi$m = _pluginInjectionApi$m.actions) === null || _pluginInjectionApi$m === void 0 || _pluginInjectionApi$m.announceMentionsInsertion(mentionsInserted);
187
194
  if (pasteContext.type === PasteTypes.plain) {
188
195
  return createPastePayload(actionSubjectId, {
189
196
  pasteSize: text.length,
@@ -278,7 +285,7 @@ export var handleRichTextWithAnalytics = function handleRichTextWithAnalytics(vi
278
285
  var _pluginInjectionApi$a4, _pluginInjectionApi$c4;
279
286
  return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
280
287
  type: PasteTypes.richText
281
- }))(handleRichText(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c4 = pluginInjectionApi.card) === null || _pluginInjectionApi$c4 === void 0 || (_pluginInjectionApi$c4 = _pluginInjectionApi$c4.actions) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.queueCardsFromChangedTr));
288
+ }, pluginInjectionApi))(handleRichText(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c4 = pluginInjectionApi.card) === null || _pluginInjectionApi$c4 === void 0 || (_pluginInjectionApi$c4 = _pluginInjectionApi$c4.actions) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.queueCardsFromChangedTr));
282
289
  };
283
290
  var injectAnalyticsPayloadBeforeCommand = function injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI) {
284
291
  return function (createPayloadByTransaction) {
@@ -13,7 +13,6 @@ import { MarkdownTransformer } from '@atlaskit/editor-markdown-transformer';
13
13
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
14
14
  import { contains, hasParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
15
15
  import { handlePaste as handlePasteTable } from '@atlaskit/editor-tables/utils';
16
- import { fg } from '@atlaskit/platform-feature-flags';
17
16
  import { PastePluginActionTypes } from '../actions';
18
17
  import { splitParagraphs, upgradeTextToLists } from '../commands';
19
18
  import { handleMacroAutoConvert, handleMention, handleParagraphBlockMarks, handleTableContentPasteInBodiedExtension } from '../handlers';
@@ -169,7 +168,7 @@ export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFl
169
168
  * stopImmediatePropagation will run the first event attached to the same element
170
169
  * Which chould have race condition issue
171
170
  */
172
- fg('platform.editor.media.fix-copy-paste-excel_62g4s') ? event.stopPropagation() : event.stopImmediatePropagation();
171
+ event.stopPropagation();
173
172
  }
174
173
  var state = view.state;
175
174
  var analyticsPlugin = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 || (_pluginInjectionApi$a2 = _pluginInjectionApi$a2.sharedState) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.currentState();
@@ -9,6 +9,7 @@ import type { ExtensionPlugin } from '@atlaskit/editor-plugin-extension';
9
9
  import type { FeatureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
10
10
  import type { ListPlugin } from '@atlaskit/editor-plugin-list';
11
11
  import type { MediaPlugin } from '@atlaskit/editor-plugin-media';
12
+ import type { MentionsPlugin } from '@atlaskit/editor-plugin-mentions';
12
13
  import type { Slice } from '@atlaskit/editor-prosemirror/model';
13
14
  export interface PastePluginState {
14
15
  /** map of pasted macro link positions that will to be mapped through incoming transactions */
@@ -42,7 +43,8 @@ export type PastePlugin = NextEditorPlugin<'paste', {
42
43
  OptionalPlugin<AnalyticsPlugin>,
43
44
  OptionalPlugin<MediaPlugin>,
44
45
  OptionalPlugin<ExtensionPlugin>,
45
- OptionalPlugin<AnnotationPlugin>
46
+ OptionalPlugin<AnnotationPlugin>,
47
+ OptionalPlugin<MentionsPlugin>
46
48
  ];
47
49
  sharedState: {
48
50
  lastContentPasted: LastContentPasted | null;
@@ -9,6 +9,7 @@ import type { ExtensionPlugin } from '@atlaskit/editor-plugin-extension';
9
9
  import type { FeatureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
10
10
  import type { ListPlugin } from '@atlaskit/editor-plugin-list';
11
11
  import type { MediaPlugin } from '@atlaskit/editor-plugin-media';
12
+ import type { MentionsPlugin } from '@atlaskit/editor-plugin-mentions';
12
13
  import type { Slice } from '@atlaskit/editor-prosemirror/model';
13
14
  export interface PastePluginState {
14
15
  /** map of pasted macro link positions that will to be mapped through incoming transactions */
@@ -42,7 +43,8 @@ export type PastePlugin = NextEditorPlugin<'paste', {
42
43
  OptionalPlugin<AnalyticsPlugin>,
43
44
  OptionalPlugin<MediaPlugin>,
44
45
  OptionalPlugin<ExtensionPlugin>,
45
- OptionalPlugin<AnnotationPlugin>
46
+ OptionalPlugin<AnnotationPlugin>,
47
+ OptionalPlugin<MentionsPlugin>
46
48
  ];
47
49
  sharedState: {
48
50
  lastContentPasted: LastContentPasted | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-paste",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "Paste plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -33,7 +33,7 @@
33
33
  ".": "./src/index.ts"
34
34
  },
35
35
  "dependencies": {
36
- "@atlaskit/editor-common": "^87.12.0",
36
+ "@atlaskit/editor-common": "^87.13.0",
37
37
  "@atlaskit/editor-markdown-transformer": "^5.11.0",
38
38
  "@atlaskit/editor-plugin-analytics": "^1.7.0",
39
39
  "@atlaskit/editor-plugin-annotation": "^1.19.0",
@@ -42,6 +42,7 @@
42
42
  "@atlaskit/editor-plugin-feature-flags": "^1.2.0",
43
43
  "@atlaskit/editor-plugin-list": "^3.8.0",
44
44
  "@atlaskit/editor-plugin-media": "^1.29.0",
45
+ "@atlaskit/editor-plugin-mentions": "^2.4.0",
45
46
  "@atlaskit/editor-prosemirror": "5.0.1",
46
47
  "@atlaskit/editor-tables": "^2.8.0",
47
48
  "@atlaskit/media-client": "^27.3.0",
@@ -112,9 +113,6 @@
112
113
  "platform.editor.media.extended-resize-experience": {
113
114
  "type": "boolean"
114
115
  },
115
- "platform.editor.media.fix-copy-paste-excel_62g4s": {
116
- "type": "boolean"
117
- },
118
116
  "platform.editor.multi-bodied-extension_0rygg": {
119
117
  "type": "boolean"
120
118
  },