@atlaskit/editor-core 189.0.3 → 189.0.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 +12 -0
- package/dist/cjs/plugins/paste/handlers.js +15 -13
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +95 -73
- package/dist/cjs/plugins/paste/pm-plugins/main.js +15 -13
- package/dist/cjs/plugins/paste/util/index.js +4 -4
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/plugins/paste/handlers.js +4 -4
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +27 -26
- package/dist/es2019/plugins/paste/pm-plugins/main.js +15 -13
- package/dist/es2019/plugins/paste/util/index.js +4 -4
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/plugins/paste/handlers.js +15 -13
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +94 -71
- package/dist/esm/plugins/paste/pm-plugins/main.js +15 -13
- package/dist/esm/plugins/paste/util/index.js +4 -4
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/plugins/paste/handlers.d.ts +3 -3
- package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +11 -11
- package/dist/types/plugins/paste/util/index.d.ts +2 -1
- package/dist/types-ts4.5/plugins/paste/handlers.d.ts +3 -3
- package/dist/types-ts4.5/plugins/paste/pm-plugins/analytics.d.ts +11 -11
- package/dist/types-ts4.5/plugins/paste/util/index.d.ts +2 -1
- package/package.json +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 189.0.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#42111](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42111) [`e60618a4870`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e60618a4870) - Decouple paste from the legacy analytics plugin.
|
|
8
|
+
|
|
9
|
+
## 189.0.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#41991](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41991) [`28a7171e7e3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/28a7171e7e3) - [ux] add shift click select backward feature to expand selection
|
|
14
|
+
|
|
3
15
|
## 189.0.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -353,7 +353,7 @@ function handlePasteLinkOnSelectedText(slice) {
|
|
|
353
353
|
return false;
|
|
354
354
|
};
|
|
355
355
|
}
|
|
356
|
-
function handlePasteAsPlainText(slice, _event) {
|
|
356
|
+
function handlePasteAsPlainText(slice, _event, editorAnalyticsAPI) {
|
|
357
357
|
return function (state, dispatch, view) {
|
|
358
358
|
var _input;
|
|
359
359
|
if (!view) {
|
|
@@ -381,7 +381,7 @@ function handlePasteAsPlainText(slice, _event) {
|
|
|
381
381
|
tr = (0, _utils2.replaceSelectedTable)(state, slice);
|
|
382
382
|
|
|
383
383
|
// add analytics after replacing selected table
|
|
384
|
-
tr = (0, _util.addReplaceSelectedTableAnalytics)(state, tr);
|
|
384
|
+
tr = (0, _util.addReplaceSelectedTableAnalytics)(state, tr, editorAnalyticsAPI);
|
|
385
385
|
|
|
386
386
|
// otherwise just replace the selection
|
|
387
387
|
if (!tr.docChanged) {
|
|
@@ -919,18 +919,20 @@ function handlePasteIntoCaption(slice) {
|
|
|
919
919
|
return false;
|
|
920
920
|
};
|
|
921
921
|
}
|
|
922
|
-
var handleSelectedTable = exports.handleSelectedTable = function handleSelectedTable(
|
|
923
|
-
return function (
|
|
924
|
-
|
|
922
|
+
var handleSelectedTable = exports.handleSelectedTable = function handleSelectedTable(editorAnalyticsAPI) {
|
|
923
|
+
return function (slice) {
|
|
924
|
+
return function (state, dispatch) {
|
|
925
|
+
var tr = (0, _utils2.replaceSelectedTable)(state, slice);
|
|
925
926
|
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
927
|
+
// add analytics after replacing selected table
|
|
928
|
+
tr = (0, _util.addReplaceSelectedTableAnalytics)(state, tr, editorAnalyticsAPI);
|
|
929
|
+
if (tr.docChanged) {
|
|
930
|
+
if (dispatch) {
|
|
931
|
+
dispatch(tr);
|
|
932
|
+
}
|
|
933
|
+
return true;
|
|
931
934
|
}
|
|
932
|
-
return
|
|
933
|
-
}
|
|
934
|
-
return false;
|
|
935
|
+
return false;
|
|
936
|
+
};
|
|
935
937
|
};
|
|
936
938
|
};
|
|
@@ -9,12 +9,10 @@ exports.createPasteMeasurePayload = void 0;
|
|
|
9
9
|
exports.getContent = getContent;
|
|
10
10
|
exports.getContentNodeTypes = void 0;
|
|
11
11
|
exports.getMediaTraceId = getMediaTraceId;
|
|
12
|
-
exports.handleSelectedTableWithAnalytics = exports.handleRichTextWithAnalytics = exports.handlePastePreservingMarksWithAnalytics = exports.handlePastePanelOrDecisionIntoListWithAnalytics = exports.handlePasteNonNestableBlockNodesIntoListWithAnalytics = exports.handlePasteLinkOnSelectedTextWithAnalytics = exports.handlePasteIntoTaskAndDecisionWithAnalytics = exports.handlePasteIntoCaptionWithAnalytics = exports.handlePasteAsPlainTextWithAnalytics = exports.handleMediaSingleWithAnalytics = exports.handleMarkdownWithAnalytics = exports.handleExpandWithAnalytics = exports.handleCodeBlockWithAnalytics = void 0;
|
|
13
|
-
exports.sendPasteAnalyticsEvent = sendPasteAnalyticsEvent;
|
|
12
|
+
exports.sendPasteAnalyticsEvent = exports.handleSelectedTableWithAnalytics = exports.handleRichTextWithAnalytics = exports.handlePastePreservingMarksWithAnalytics = exports.handlePastePanelOrDecisionIntoListWithAnalytics = exports.handlePasteNonNestableBlockNodesIntoListWithAnalytics = exports.handlePasteLinkOnSelectedTextWithAnalytics = exports.handlePasteIntoTaskAndDecisionWithAnalytics = exports.handlePasteIntoCaptionWithAnalytics = exports.handlePasteAsPlainTextWithAnalytics = exports.handleMediaSingleWithAnalytics = exports.handleMarkdownWithAnalytics = exports.handleExpandWithAnalytics = exports.handleCodeBlockWithAnalytics = void 0;
|
|
14
13
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
15
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
17
|
-
var _analytics2 = require("../../analytics");
|
|
18
16
|
var _util = require("../util");
|
|
19
17
|
var _handlers = require("../handlers");
|
|
20
18
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
@@ -221,103 +219,127 @@ function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
|
221
219
|
// TODO: ED-6612 We should not dispatch only analytics, it's preferred to wrap each command with his own analytics.
|
|
222
220
|
// However, handlers like handleMacroAutoConvert dispatch multiple time,
|
|
223
221
|
// so pasteCommandWithAnalytics is useless in this case.
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
222
|
+
var sendPasteAnalyticsEvent = exports.sendPasteAnalyticsEvent = function sendPasteAnalyticsEvent(editorAnalyticsAPI) {
|
|
223
|
+
return function (view, event, slice, pasteContext) {
|
|
224
|
+
var tr = view.state.tr;
|
|
225
|
+
var payload = createPasteAnalyticsPayload(view, event, slice, pasteContext);
|
|
226
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(tr);
|
|
227
|
+
view.dispatch(tr);
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
var handlePasteAsPlainTextWithAnalytics = exports.handlePasteAsPlainTextWithAnalytics = function handlePasteAsPlainTextWithAnalytics(editorAnalyticsAPI) {
|
|
231
|
+
return function (view, event, slice) {
|
|
232
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
233
|
+
type: _analytics.PasteTypes.plain,
|
|
234
|
+
asPlain: true
|
|
235
|
+
}))((0, _handlers.handlePasteAsPlainText)(slice, event, editorAnalyticsAPI));
|
|
236
|
+
};
|
|
233
237
|
};
|
|
234
238
|
var handlePasteIntoTaskAndDecisionWithAnalytics = exports.handlePasteIntoTaskAndDecisionWithAnalytics = function handlePasteIntoTaskAndDecisionWithAnalytics(view, event, slice, type, pluginInjectionApi) {
|
|
235
|
-
var _pluginInjectionApi$c;
|
|
236
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
239
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$c;
|
|
240
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
237
241
|
type: type
|
|
238
242
|
}))((0, _handlers.handlePasteIntoTaskOrDecisionOrPanel)(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c = pluginInjectionApi.card) === null || _pluginInjectionApi$c === void 0 || (_pluginInjectionApi$c = _pluginInjectionApi$c.actions) === null || _pluginInjectionApi$c === void 0 ? void 0 : _pluginInjectionApi$c.queueCardsFromChangedTr));
|
|
239
243
|
};
|
|
240
|
-
var handlePasteIntoCaptionWithAnalytics = exports.handlePasteIntoCaptionWithAnalytics = function handlePasteIntoCaptionWithAnalytics(
|
|
241
|
-
return
|
|
242
|
-
|
|
243
|
-
|
|
244
|
+
var handlePasteIntoCaptionWithAnalytics = exports.handlePasteIntoCaptionWithAnalytics = function handlePasteIntoCaptionWithAnalytics(editorAnalyticsAPI) {
|
|
245
|
+
return function (view, event, slice, type) {
|
|
246
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
247
|
+
type: type
|
|
248
|
+
}))((0, _handlers.handlePasteIntoCaption)(slice));
|
|
249
|
+
};
|
|
244
250
|
};
|
|
245
|
-
var handleCodeBlockWithAnalytics = exports.handleCodeBlockWithAnalytics = function handleCodeBlockWithAnalytics(
|
|
246
|
-
return
|
|
247
|
-
|
|
248
|
-
|
|
251
|
+
var handleCodeBlockWithAnalytics = exports.handleCodeBlockWithAnalytics = function handleCodeBlockWithAnalytics(editorAnalyticsAPI) {
|
|
252
|
+
return function (view, event, slice, text) {
|
|
253
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
254
|
+
type: _analytics.PasteTypes.plain
|
|
255
|
+
}))((0, _handlers.handleCodeBlock)(text));
|
|
256
|
+
};
|
|
249
257
|
};
|
|
250
|
-
var handleMediaSingleWithAnalytics = exports.handleMediaSingleWithAnalytics = function handleMediaSingleWithAnalytics(
|
|
251
|
-
return
|
|
252
|
-
|
|
253
|
-
|
|
258
|
+
var handleMediaSingleWithAnalytics = exports.handleMediaSingleWithAnalytics = function handleMediaSingleWithAnalytics(editorAnalyticsAPI) {
|
|
259
|
+
return function (view, event, slice, type, insertMediaAsMediaSingle) {
|
|
260
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
261
|
+
type: type
|
|
262
|
+
}))((0, _handlers.handleMediaSingle)(_analytics.INPUT_METHOD.CLIPBOARD, insertMediaAsMediaSingle)(slice));
|
|
263
|
+
};
|
|
254
264
|
};
|
|
255
265
|
var handlePastePreservingMarksWithAnalytics = exports.handlePastePreservingMarksWithAnalytics = function handlePastePreservingMarksWithAnalytics(view, event, slice, type, pluginInjectionApi) {
|
|
256
|
-
var _pluginInjectionApi$c2;
|
|
257
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
266
|
+
var _pluginInjectionApi$a2, _pluginInjectionApi$c2;
|
|
267
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
258
268
|
type: type
|
|
259
269
|
}))((0, _handlers.handlePastePreservingMarks)(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c2 = pluginInjectionApi.card) === null || _pluginInjectionApi$c2 === void 0 || (_pluginInjectionApi$c2 = _pluginInjectionApi$c2.actions) === null || _pluginInjectionApi$c2 === void 0 ? void 0 : _pluginInjectionApi$c2.queueCardsFromChangedTr));
|
|
260
270
|
};
|
|
261
271
|
var handleMarkdownWithAnalytics = exports.handleMarkdownWithAnalytics = function handleMarkdownWithAnalytics(view, event, slice, pluginInjectionApi) {
|
|
262
|
-
var _pluginInjectionApi$c3;
|
|
263
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
272
|
+
var _pluginInjectionApi$a3, _pluginInjectionApi$c3;
|
|
273
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a3 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a3 === void 0 ? void 0 : _pluginInjectionApi$a3.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
264
274
|
type: _analytics.PasteTypes.markdown
|
|
265
275
|
}))((0, _handlers.handleMarkdown)(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c3 = pluginInjectionApi.card) === null || _pluginInjectionApi$c3 === void 0 || (_pluginInjectionApi$c3 = _pluginInjectionApi$c3.actions) === null || _pluginInjectionApi$c3 === void 0 ? void 0 : _pluginInjectionApi$c3.queueCardsFromChangedTr));
|
|
266
276
|
};
|
|
267
277
|
var handleRichTextWithAnalytics = exports.handleRichTextWithAnalytics = function handleRichTextWithAnalytics(view, event, slice, pluginInjectionApi) {
|
|
268
|
-
var _pluginInjectionApi$c4;
|
|
269
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
278
|
+
var _pluginInjectionApi$a4, _pluginInjectionApi$c4;
|
|
279
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
270
280
|
type: _analytics.PasteTypes.richText
|
|
271
281
|
}))((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));
|
|
272
282
|
};
|
|
273
|
-
function injectAnalyticsPayloadBeforeCommand(
|
|
274
|
-
return function (
|
|
275
|
-
return function (
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
283
|
+
var injectAnalyticsPayloadBeforeCommand = function injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI) {
|
|
284
|
+
return function (createPayloadByTransaction) {
|
|
285
|
+
return function (mainCommand) {
|
|
286
|
+
return function (state, dispatch, view) {
|
|
287
|
+
var originalTransaction = state.tr;
|
|
288
|
+
var fakeDispatch = function fakeDispatch(tr) {
|
|
289
|
+
originalTransaction = tr;
|
|
290
|
+
};
|
|
291
|
+
var result = mainCommand(state, fakeDispatch, view);
|
|
292
|
+
if (!result) {
|
|
293
|
+
return false;
|
|
294
|
+
}
|
|
295
|
+
if (dispatch && originalTransaction.docChanged) {
|
|
296
|
+
// it needs to know the selection before the changes
|
|
297
|
+
var payload = createPayloadByTransaction(state.selection);
|
|
298
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(originalTransaction);
|
|
299
|
+
dispatch(originalTransaction);
|
|
300
|
+
}
|
|
301
|
+
return true;
|
|
279
302
|
};
|
|
280
|
-
var result = mainCommand(state, fakeDispatch, view);
|
|
281
|
-
if (!result) {
|
|
282
|
-
return false;
|
|
283
|
-
}
|
|
284
|
-
if (dispatch && originalTransaction.docChanged) {
|
|
285
|
-
// it needs to know the selection before the changes
|
|
286
|
-
var payload = createPayloadByTransaction(state.selection);
|
|
287
|
-
(0, _analytics2.addAnalytics)(state, originalTransaction, payload);
|
|
288
|
-
dispatch(originalTransaction);
|
|
289
|
-
}
|
|
290
|
-
return true;
|
|
291
303
|
};
|
|
292
304
|
};
|
|
293
|
-
}
|
|
294
|
-
var handlePastePanelOrDecisionIntoListWithAnalytics = exports.handlePastePanelOrDecisionIntoListWithAnalytics = function handlePastePanelOrDecisionIntoListWithAnalytics(view, event, slice, findRootParentListNode) {
|
|
295
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
296
|
-
type: _analytics.PasteTypes.richText
|
|
297
|
-
}))((0, _handlers.handlePastePanelOrDecisionContentIntoList)(slice, findRootParentListNode));
|
|
298
305
|
};
|
|
299
|
-
var
|
|
300
|
-
return
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
306
|
+
var handlePastePanelOrDecisionIntoListWithAnalytics = exports.handlePastePanelOrDecisionIntoListWithAnalytics = function handlePastePanelOrDecisionIntoListWithAnalytics(editorAnalyticsAPI) {
|
|
307
|
+
return function (view, event, slice, findRootParentListNode) {
|
|
308
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
309
|
+
type: _analytics.PasteTypes.richText
|
|
310
|
+
}))((0, _handlers.handlePastePanelOrDecisionContentIntoList)(slice, findRootParentListNode));
|
|
311
|
+
};
|
|
304
312
|
};
|
|
305
|
-
var
|
|
306
|
-
return
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
313
|
+
var handlePasteNonNestableBlockNodesIntoListWithAnalytics = exports.handlePasteNonNestableBlockNodesIntoListWithAnalytics = function handlePasteNonNestableBlockNodesIntoListWithAnalytics(editorAnalyticsAPI) {
|
|
314
|
+
return function (view, event, slice) {
|
|
315
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
316
|
+
type: _analytics.PasteTypes.richText,
|
|
317
|
+
pasteSplitList: true
|
|
318
|
+
}))((0, _handlers.handlePasteNonNestableBlockNodesIntoList)(slice));
|
|
319
|
+
};
|
|
310
320
|
};
|
|
311
|
-
var
|
|
312
|
-
return
|
|
313
|
-
|
|
314
|
-
|
|
321
|
+
var handleExpandWithAnalytics = exports.handleExpandWithAnalytics = function handleExpandWithAnalytics(editorAnalyticsAPI) {
|
|
322
|
+
return function (view, event, slice) {
|
|
323
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
324
|
+
type: _analytics.PasteTypes.richText,
|
|
325
|
+
pasteSplitList: true
|
|
326
|
+
}))((0, _handlers.handleExpandPasteInTable)(slice));
|
|
327
|
+
};
|
|
315
328
|
};
|
|
316
|
-
var
|
|
317
|
-
return
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
329
|
+
var handleSelectedTableWithAnalytics = exports.handleSelectedTableWithAnalytics = function handleSelectedTableWithAnalytics(editorAnalyticsAPI) {
|
|
330
|
+
return function (view, event, slice) {
|
|
331
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
332
|
+
type: _analytics.PasteTypes.richText
|
|
333
|
+
}))((0, _handlers.handleSelectedTable)(editorAnalyticsAPI)(slice));
|
|
334
|
+
};
|
|
335
|
+
};
|
|
336
|
+
var handlePasteLinkOnSelectedTextWithAnalytics = exports.handlePasteLinkOnSelectedTextWithAnalytics = function handlePasteLinkOnSelectedTextWithAnalytics(editorAnalyticsAPI) {
|
|
337
|
+
return function (view, event, slice, type) {
|
|
338
|
+
return injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
339
|
+
type: type,
|
|
340
|
+
hyperlinkPasteOnText: true
|
|
341
|
+
}))((0, _handlers.handlePasteLinkOnSelectedText)(slice));
|
|
342
|
+
};
|
|
321
343
|
};
|
|
322
344
|
var createPasteMeasurePayload = exports.createPasteMeasurePayload = function createPasteMeasurePayload(_ref3) {
|
|
323
345
|
var view = _ref3.view,
|
|
@@ -42,6 +42,8 @@ var _actions = require("../actions");
|
|
|
42
42
|
// TODO: ED-20519 It requires annotation extraction to use the plugin injection API
|
|
43
43
|
|
|
44
44
|
function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pluginInjectionApi, cardOptions, sanitizePrivateContent, providerFactory) {
|
|
45
|
+
var _pluginInjectionApi$a;
|
|
46
|
+
var editorAnalyticsAPI = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions;
|
|
45
47
|
var atlassianMarkDownParser = new _editorMarkdownTransformer.MarkdownTransformer(schema, _paste.md);
|
|
46
48
|
function getMarkdownSlice(text, openStart, openEnd) {
|
|
47
49
|
var textInput = text;
|
|
@@ -237,7 +239,7 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
237
239
|
};
|
|
238
240
|
slice = (0, _handlers.handleParagraphBlockMarks)(state, slice);
|
|
239
241
|
var plainTextPasteSlice = (0, _utils.linkifyContent)(state.schema)(slice);
|
|
240
|
-
if ((0, _analytics2.handlePasteAsPlainTextWithAnalytics)(view, event, plainTextPasteSlice)(state, dispatch, view)) {
|
|
242
|
+
if ((0, _analytics2.handlePasteAsPlainTextWithAnalytics)(editorAnalyticsAPI)(view, event, plainTextPasteSlice)(state, dispatch, view)) {
|
|
241
243
|
return true;
|
|
242
244
|
}
|
|
243
245
|
|
|
@@ -257,14 +259,14 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
257
259
|
if (markdownSlice) {
|
|
258
260
|
var _pluginInjectionApi$c;
|
|
259
261
|
// linkify text prior to converting to macro
|
|
260
|
-
if ((0, _analytics2.handlePasteLinkOnSelectedTextWithAnalytics)(view, event, markdownSlice, _analytics.PasteTypes.markdown)(state, dispatch)) {
|
|
262
|
+
if ((0, _analytics2.handlePasteLinkOnSelectedTextWithAnalytics)(editorAnalyticsAPI)(view, event, markdownSlice, _analytics.PasteTypes.markdown)(state, dispatch)) {
|
|
261
263
|
return true;
|
|
262
264
|
}
|
|
263
265
|
|
|
264
266
|
// run macro autoconvert prior to other conversions
|
|
265
267
|
if ((0, _handlers.handleMacroAutoConvert)(text, markdownSlice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c = pluginInjectionApi.card) === null || _pluginInjectionApi$c === void 0 || (_pluginInjectionApi$c = _pluginInjectionApi$c.actions) === null || _pluginInjectionApi$c === void 0 ? void 0 : _pluginInjectionApi$c.queueCardsFromChangedTr, cardOptions, extensionAutoConverter)(state, dispatch, view)) {
|
|
266
268
|
// TODO: handleMacroAutoConvert dispatch twice, so we can't use the helper
|
|
267
|
-
(0, _analytics2.sendPasteAnalyticsEvent)(view, event, markdownSlice, {
|
|
269
|
+
(0, _analytics2.sendPasteAnalyticsEvent)(editorAnalyticsAPI)(view, event, markdownSlice, {
|
|
268
270
|
type: _analytics.PasteTypes.markdown
|
|
269
271
|
});
|
|
270
272
|
return true;
|
|
@@ -291,13 +293,13 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
291
293
|
}
|
|
292
294
|
|
|
293
295
|
// If we're in a code block, append the text contents of clipboard inside it
|
|
294
|
-
if ((0, _analytics2.handleCodeBlockWithAnalytics)(view, event, slice, text)(state, dispatch)) {
|
|
296
|
+
if ((0, _analytics2.handleCodeBlockWithAnalytics)(editorAnalyticsAPI)(view, event, slice, text)(state, dispatch)) {
|
|
295
297
|
return true;
|
|
296
298
|
}
|
|
297
|
-
if ((0, _analytics2.handleMediaSingleWithAnalytics)(view, event, slice, isPastedFile ? _analytics.PasteTypes.binary : _analytics.PasteTypes.richText, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m = pluginInjectionApi.media) === null || _pluginInjectionApi$m === void 0 ? void 0 : _pluginInjectionApi$m.actions.insertMediaAsMediaSingle)(state, dispatch, view)) {
|
|
299
|
+
if ((0, _analytics2.handleMediaSingleWithAnalytics)(editorAnalyticsAPI)(view, event, slice, isPastedFile ? _analytics.PasteTypes.binary : _analytics.PasteTypes.richText, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m = pluginInjectionApi.media) === null || _pluginInjectionApi$m === void 0 ? void 0 : _pluginInjectionApi$m.actions.insertMediaAsMediaSingle)(state, dispatch, view)) {
|
|
298
300
|
return true;
|
|
299
301
|
}
|
|
300
|
-
if ((0, _analytics2.handleSelectedTableWithAnalytics)(view, event, slice)(state, dispatch)) {
|
|
302
|
+
if ((0, _analytics2.handleSelectedTableWithAnalytics)(editorAnalyticsAPI)(view, event, slice)(state, dispatch)) {
|
|
301
303
|
return true;
|
|
302
304
|
}
|
|
303
305
|
|
|
@@ -330,14 +332,14 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
330
332
|
var _pluginInjectionApi$c2, _pluginInjectionApi$l;
|
|
331
333
|
// linkify the text where possible
|
|
332
334
|
slice = (0, _utils.linkifyContent)(state.schema)(slice);
|
|
333
|
-
if ((0, _analytics2.handlePasteLinkOnSelectedTextWithAnalytics)(view, event, slice, _analytics.PasteTypes.richText)(state, dispatch)) {
|
|
335
|
+
if ((0, _analytics2.handlePasteLinkOnSelectedTextWithAnalytics)(editorAnalyticsAPI)(view, event, slice, _analytics.PasteTypes.richText)(state, dispatch)) {
|
|
334
336
|
return true;
|
|
335
337
|
}
|
|
336
338
|
|
|
337
339
|
// run macro autoconvert prior to other conversions
|
|
338
340
|
if ((0, _handlers.handleMacroAutoConvert)(text, slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c2 = pluginInjectionApi.card) === null || _pluginInjectionApi$c2 === void 0 || (_pluginInjectionApi$c2 = _pluginInjectionApi$c2.actions) === null || _pluginInjectionApi$c2 === void 0 ? void 0 : _pluginInjectionApi$c2.queueCardsFromChangedTr, cardOptions, extensionAutoConverter)(state, dispatch, view)) {
|
|
339
341
|
// TODO: handleMacroAutoConvert dispatch twice, so we can't use the helper
|
|
340
|
-
(0, _analytics2.sendPasteAnalyticsEvent)(view, event, slice, {
|
|
342
|
+
(0, _analytics2.sendPasteAnalyticsEvent)(editorAnalyticsAPI)(view, event, slice, {
|
|
341
343
|
type: _analytics.PasteTypes.richText
|
|
342
344
|
});
|
|
343
345
|
return true;
|
|
@@ -346,7 +348,7 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
346
348
|
// get editor-tables to handle pasting tables if it can
|
|
347
349
|
// otherwise, just the replace the selection with the content
|
|
348
350
|
if ((0, _utils2.handlePaste)(view, null, slice)) {
|
|
349
|
-
(0, _analytics2.sendPasteAnalyticsEvent)(view, event, slice, {
|
|
351
|
+
(0, _analytics2.sendPasteAnalyticsEvent)(editorAnalyticsAPI)(view, event, slice, {
|
|
350
352
|
type: _analytics.PasteTypes.richText
|
|
351
353
|
});
|
|
352
354
|
return true;
|
|
@@ -379,7 +381,7 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
379
381
|
});
|
|
380
382
|
slice = sliceCopy;
|
|
381
383
|
}
|
|
382
|
-
if ((0, _analytics2.handleExpandWithAnalytics)(view, event, slice)(state, dispatch)) {
|
|
384
|
+
if ((0, _analytics2.handleExpandWithAnalytics)(editorAnalyticsAPI)(view, event, slice)(state, dispatch)) {
|
|
383
385
|
return true;
|
|
384
386
|
}
|
|
385
387
|
if (!(0, _utils3.insideTable)(state)) {
|
|
@@ -389,13 +391,13 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFlags, pl
|
|
|
389
391
|
// Create a custom handler to avoid handling with handleRichText method
|
|
390
392
|
// As SafeInsert is used inside handleRichText which caused some bad UX like this:
|
|
391
393
|
// https://product-fabric.atlassian.net/browse/MEX-1520
|
|
392
|
-
if ((0, _analytics2.handlePasteIntoCaptionWithAnalytics)(view, event, slice, _analytics.PasteTypes.richText)(state, dispatch)) {
|
|
394
|
+
if ((0, _analytics2.handlePasteIntoCaptionWithAnalytics)(editorAnalyticsAPI)(view, event, slice, _analytics.PasteTypes.richText)(state, dispatch)) {
|
|
393
395
|
return true;
|
|
394
396
|
}
|
|
395
|
-
if ((0, _analytics2.handlePastePanelOrDecisionIntoListWithAnalytics)(view, event, slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$l = pluginInjectionApi.list) === null || _pluginInjectionApi$l === void 0 ? void 0 : _pluginInjectionApi$l.actions.findRootParentListNode)(state, dispatch)) {
|
|
397
|
+
if ((0, _analytics2.handlePastePanelOrDecisionIntoListWithAnalytics)(editorAnalyticsAPI)(view, event, slice, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$l = pluginInjectionApi.list) === null || _pluginInjectionApi$l === void 0 ? void 0 : _pluginInjectionApi$l.actions.findRootParentListNode)(state, dispatch)) {
|
|
396
398
|
return true;
|
|
397
399
|
}
|
|
398
|
-
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists && (0, _analytics2.handlePasteNonNestableBlockNodesIntoListWithAnalytics)(view, event, slice)(state, dispatch)) {
|
|
400
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists && (0, _analytics2.handlePasteNonNestableBlockNodesIntoListWithAnalytics)(editorAnalyticsAPI)(view, event, slice)(state, dispatch)) {
|
|
399
401
|
return true;
|
|
400
402
|
}
|
|
401
403
|
return (0, _analytics2.handleRichTextWithAnalytics)(view, event, slice, pluginInjectionApi)(state, dispatch);
|
|
@@ -21,7 +21,7 @@ exports.transformUnsupportedBlockCardToInline = exports.removeDuplicateInvalidLi
|
|
|
21
21
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
22
22
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
23
23
|
var _mediaClient = require("@atlaskit/media-client");
|
|
24
|
-
var _analytics = require("
|
|
24
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
25
25
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
26
26
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
27
27
|
var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
@@ -168,12 +168,12 @@ var removeDuplicateInvalidLinks = exports.removeDuplicateInvalidLinks = function
|
|
|
168
168
|
}
|
|
169
169
|
return html;
|
|
170
170
|
};
|
|
171
|
-
var addReplaceSelectedTableAnalytics = exports.addReplaceSelectedTableAnalytics = function addReplaceSelectedTableAnalytics(state, tr) {
|
|
171
|
+
var addReplaceSelectedTableAnalytics = exports.addReplaceSelectedTableAnalytics = function addReplaceSelectedTableAnalytics(state, tr, editorAnalyticsAPI) {
|
|
172
172
|
if ((0, _utils2.isTableSelected)(state.selection)) {
|
|
173
173
|
var _getSelectedTableInfo = (0, _utils2.getSelectedTableInfo)(state.selection),
|
|
174
174
|
totalRowCount = _getSelectedTableInfo.totalRowCount,
|
|
175
175
|
totalColumnCount = _getSelectedTableInfo.totalColumnCount;
|
|
176
|
-
|
|
176
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
177
177
|
action: _analytics.TABLE_ACTION.REPLACED,
|
|
178
178
|
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
179
179
|
attributes: {
|
|
@@ -182,7 +182,7 @@ var addReplaceSelectedTableAnalytics = exports.addReplaceSelectedTableAnalytics
|
|
|
182
182
|
inputMethod: _analytics.INPUT_METHOD.CLIPBOARD
|
|
183
183
|
},
|
|
184
184
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
185
|
-
});
|
|
185
|
+
})(tr);
|
|
186
186
|
return tr;
|
|
187
187
|
}
|
|
188
188
|
return state.tr;
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.version = exports.nextMajorVersion = exports.name = void 0;
|
|
7
7
|
var name = exports.name = "@atlaskit/editor-core";
|
|
8
|
-
var version = exports.version = "189.0.
|
|
8
|
+
var version = exports.version = "189.0.5";
|
|
9
9
|
var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
|
|
10
10
|
return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
|
|
11
11
|
};
|
|
@@ -343,7 +343,7 @@ export function handlePasteLinkOnSelectedText(slice) {
|
|
|
343
343
|
return false;
|
|
344
344
|
};
|
|
345
345
|
}
|
|
346
|
-
export function handlePasteAsPlainText(slice, _event) {
|
|
346
|
+
export function handlePasteAsPlainText(slice, _event, editorAnalyticsAPI) {
|
|
347
347
|
return (state, dispatch, view) => {
|
|
348
348
|
var _input;
|
|
349
349
|
if (!view) {
|
|
@@ -372,7 +372,7 @@ export function handlePasteAsPlainText(slice, _event) {
|
|
|
372
372
|
tr = replaceSelectedTable(state, slice);
|
|
373
373
|
|
|
374
374
|
// add analytics after replacing selected table
|
|
375
|
-
tr = addReplaceSelectedTableAnalytics(state, tr);
|
|
375
|
+
tr = addReplaceSelectedTableAnalytics(state, tr, editorAnalyticsAPI);
|
|
376
376
|
|
|
377
377
|
// otherwise just replace the selection
|
|
378
378
|
if (!tr.docChanged) {
|
|
@@ -902,11 +902,11 @@ export function handlePasteIntoCaption(slice) {
|
|
|
902
902
|
return false;
|
|
903
903
|
};
|
|
904
904
|
}
|
|
905
|
-
export const handleSelectedTable = slice => (state, dispatch) => {
|
|
905
|
+
export const handleSelectedTable = editorAnalyticsAPI => slice => (state, dispatch) => {
|
|
906
906
|
let tr = replaceSelectedTable(state, slice);
|
|
907
907
|
|
|
908
908
|
// add analytics after replacing selected table
|
|
909
|
-
tr = addReplaceSelectedTableAnalytics(state, tr);
|
|
909
|
+
tr = addReplaceSelectedTableAnalytics(state, tr, editorAnalyticsAPI);
|
|
910
910
|
if (tr.docChanged) {
|
|
911
911
|
if (dispatch) {
|
|
912
912
|
dispatch(tr);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ACTION, INPUT_METHOD, EVENT_TYPE, ACTION_SUBJECT, ACTION_SUBJECT_ID, PasteTypes, PasteContents } from '@atlaskit/editor-common/analytics';
|
|
2
|
-
import { addAnalytics } from '../../analytics';
|
|
3
2
|
import { getPasteSource } from '../util';
|
|
4
3
|
import { handlePasteAsPlainText, handlePasteIntoTaskOrDecisionOrPanel, handleCodeBlock, handleMediaSingle, handlePastePreservingMarks, handleMarkdown, handleRichText, handleExpandPasteInTable, handleSelectedTable, handlePasteLinkOnSelectedText, handlePasteIntoCaption, handlePastePanelOrDecisionContentIntoList, handlePasteNonNestableBlockNodesIntoList } from '../handlers';
|
|
5
4
|
import { findParentNode } from '@atlaskit/editor-prosemirror/utils';
|
|
@@ -215,48 +214,50 @@ export function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
|
215
214
|
// TODO: ED-6612 We should not dispatch only analytics, it's preferred to wrap each command with his own analytics.
|
|
216
215
|
// However, handlers like handleMacroAutoConvert dispatch multiple time,
|
|
217
216
|
// so pasteCommandWithAnalytics is useless in this case.
|
|
218
|
-
export
|
|
217
|
+
export const sendPasteAnalyticsEvent = editorAnalyticsAPI => (view, event, slice, pasteContext) => {
|
|
218
|
+
const tr = view.state.tr;
|
|
219
219
|
const payload = createPasteAnalyticsPayload(view, event, slice, pasteContext);
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
220
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent(payload)(tr);
|
|
221
|
+
view.dispatch(tr);
|
|
222
|
+
};
|
|
223
|
+
export const handlePasteAsPlainTextWithAnalytics = editorAnalyticsAPI => (view, event, slice) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
223
224
|
type: PasteTypes.plain,
|
|
224
225
|
asPlain: true
|
|
225
|
-
}))(handlePasteAsPlainText(slice, event));
|
|
226
|
+
}))(handlePasteAsPlainText(slice, event, editorAnalyticsAPI));
|
|
226
227
|
export const handlePasteIntoTaskAndDecisionWithAnalytics = (view, event, slice, type, pluginInjectionApi) => {
|
|
227
|
-
var _pluginInjectionApi$c, _pluginInjectionApi$c2;
|
|
228
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
228
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$c, _pluginInjectionApi$c2;
|
|
229
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
229
230
|
type
|
|
230
231
|
}))(handlePasteIntoTaskOrDecisionOrPanel(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c = pluginInjectionApi.card) === null || _pluginInjectionApi$c === void 0 ? void 0 : (_pluginInjectionApi$c2 = _pluginInjectionApi$c.actions) === null || _pluginInjectionApi$c2 === void 0 ? void 0 : _pluginInjectionApi$c2.queueCardsFromChangedTr));
|
|
231
232
|
};
|
|
232
|
-
export const handlePasteIntoCaptionWithAnalytics = (view, event, slice, type) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
233
|
+
export const handlePasteIntoCaptionWithAnalytics = editorAnalyticsAPI => (view, event, slice, type) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
233
234
|
type
|
|
234
235
|
}))(handlePasteIntoCaption(slice));
|
|
235
|
-
export const handleCodeBlockWithAnalytics = (view, event, slice, text) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
236
|
+
export const handleCodeBlockWithAnalytics = editorAnalyticsAPI => (view, event, slice, text) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
236
237
|
type: PasteTypes.plain
|
|
237
238
|
}))(handleCodeBlock(text));
|
|
238
|
-
export const handleMediaSingleWithAnalytics = (view, event, slice, type, insertMediaAsMediaSingle) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
239
|
+
export const handleMediaSingleWithAnalytics = editorAnalyticsAPI => (view, event, slice, type, insertMediaAsMediaSingle) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
239
240
|
type
|
|
240
241
|
}))(handleMediaSingle(INPUT_METHOD.CLIPBOARD, insertMediaAsMediaSingle)(slice));
|
|
241
242
|
export const handlePastePreservingMarksWithAnalytics = (view, event, slice, type, pluginInjectionApi) => {
|
|
242
|
-
var _pluginInjectionApi$c3, _pluginInjectionApi$c4;
|
|
243
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
243
|
+
var _pluginInjectionApi$a2, _pluginInjectionApi$c3, _pluginInjectionApi$c4;
|
|
244
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
244
245
|
type
|
|
245
246
|
}))(handlePastePreservingMarks(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c3 = pluginInjectionApi.card) === null || _pluginInjectionApi$c3 === void 0 ? void 0 : (_pluginInjectionApi$c4 = _pluginInjectionApi$c3.actions) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.queueCardsFromChangedTr));
|
|
246
247
|
};
|
|
247
248
|
export const handleMarkdownWithAnalytics = (view, event, slice, pluginInjectionApi) => {
|
|
248
|
-
var _pluginInjectionApi$c5, _pluginInjectionApi$c6;
|
|
249
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
249
|
+
var _pluginInjectionApi$a3, _pluginInjectionApi$c5, _pluginInjectionApi$c6;
|
|
250
|
+
return injectAnalyticsPayloadBeforeCommand(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a3 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a3 === void 0 ? void 0 : _pluginInjectionApi$a3.actions)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
250
251
|
type: PasteTypes.markdown
|
|
251
252
|
}))(handleMarkdown(slice, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c5 = pluginInjectionApi.card) === null || _pluginInjectionApi$c5 === void 0 ? void 0 : (_pluginInjectionApi$c6 = _pluginInjectionApi$c5.actions) === null || _pluginInjectionApi$c6 === void 0 ? void 0 : _pluginInjectionApi$c6.queueCardsFromChangedTr));
|
|
252
253
|
};
|
|
253
254
|
export const handleRichTextWithAnalytics = (view, event, slice, pluginInjectionApi) => {
|
|
254
|
-
var _pluginInjectionApi$c7, _pluginInjectionApi$c8;
|
|
255
|
-
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
255
|
+
var _pluginInjectionApi$a4, _pluginInjectionApi$c7, _pluginInjectionApi$c8;
|
|
256
|
+
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, {
|
|
256
257
|
type: PasteTypes.richText
|
|
257
258
|
}))(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));
|
|
258
259
|
};
|
|
259
|
-
|
|
260
|
+
const injectAnalyticsPayloadBeforeCommand = editorAnalyticsAPI => createPayloadByTransaction => {
|
|
260
261
|
return mainCommand => {
|
|
261
262
|
return (state, dispatch, view) => {
|
|
262
263
|
let originalTransaction = state.tr;
|
|
@@ -270,28 +271,28 @@ function injectAnalyticsPayloadBeforeCommand(createPayloadByTransaction) {
|
|
|
270
271
|
if (dispatch && originalTransaction.docChanged) {
|
|
271
272
|
// it needs to know the selection before the changes
|
|
272
273
|
const payload = createPayloadByTransaction(state.selection);
|
|
273
|
-
|
|
274
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent(payload)(originalTransaction);
|
|
274
275
|
dispatch(originalTransaction);
|
|
275
276
|
}
|
|
276
277
|
return true;
|
|
277
278
|
};
|
|
278
279
|
};
|
|
279
|
-
}
|
|
280
|
-
export const handlePastePanelOrDecisionIntoListWithAnalytics = (view, event, slice, findRootParentListNode) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
280
|
+
};
|
|
281
|
+
export const handlePastePanelOrDecisionIntoListWithAnalytics = editorAnalyticsAPI => (view, event, slice, findRootParentListNode) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
281
282
|
type: PasteTypes.richText
|
|
282
283
|
}))(handlePastePanelOrDecisionContentIntoList(slice, findRootParentListNode));
|
|
283
|
-
export const handlePasteNonNestableBlockNodesIntoListWithAnalytics = (view, event, slice) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
284
|
+
export const handlePasteNonNestableBlockNodesIntoListWithAnalytics = editorAnalyticsAPI => (view, event, slice) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
284
285
|
type: PasteTypes.richText,
|
|
285
286
|
pasteSplitList: true
|
|
286
287
|
}))(handlePasteNonNestableBlockNodesIntoList(slice));
|
|
287
|
-
export const handleExpandWithAnalytics = (view, event, slice) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
288
|
+
export const handleExpandWithAnalytics = editorAnalyticsAPI => (view, event, slice) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
288
289
|
type: PasteTypes.richText,
|
|
289
290
|
pasteSplitList: true
|
|
290
291
|
}))(handleExpandPasteInTable(slice));
|
|
291
|
-
export const handleSelectedTableWithAnalytics = (view, event, slice) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
292
|
+
export const handleSelectedTableWithAnalytics = editorAnalyticsAPI => (view, event, slice) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
292
293
|
type: PasteTypes.richText
|
|
293
|
-
}))(handleSelectedTable(slice));
|
|
294
|
-
export const handlePasteLinkOnSelectedTextWithAnalytics = (view, event, slice, type) => injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
294
|
+
}))(handleSelectedTable(editorAnalyticsAPI)(slice));
|
|
295
|
+
export const handlePasteLinkOnSelectedTextWithAnalytics = editorAnalyticsAPI => (view, event, slice, type) => injectAnalyticsPayloadBeforeCommand(editorAnalyticsAPI)(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
295
296
|
type,
|
|
296
297
|
hyperlinkPasteOnText: true
|
|
297
298
|
}))(handlePasteLinkOnSelectedText(slice));
|