@atlaskit/editor-plugin-paste 1.0.3 → 1.0.4
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 +7 -0
- package/dist/cjs/handlers.js +16 -8
- package/dist/es2019/handlers.js +17 -9
- package/dist/esm/handlers.js +17 -9
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-paste
|
|
2
2
|
|
|
3
|
+
## 1.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#74662](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/74662) [`03889d5b1256`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/03889d5b1256) - ED-22244 Allow copy paste of action within a panel into a panel
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
|
|
3
10
|
## 1.0.3
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/dist/cjs/handlers.js
CHANGED
|
@@ -40,6 +40,7 @@ var _utils3 = require("@atlaskit/editor-tables/utils");
|
|
|
40
40
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
41
41
|
var _commands = require("./commands");
|
|
42
42
|
var _edgeCases = require("./edge-cases");
|
|
43
|
+
var _lists = require("./edge-cases/lists");
|
|
43
44
|
var _pluginFactory = require("./pm-plugins/plugin-factory");
|
|
44
45
|
var _util = require("./util");
|
|
45
46
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
@@ -83,7 +84,7 @@ function handleMention(slice, schema) {
|
|
|
83
84
|
}
|
|
84
85
|
function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
85
86
|
return function (state, dispatch) {
|
|
86
|
-
var _slice$content$firstC, _transformedSlice$con;
|
|
87
|
+
var _slice$content$firstC, _slice$content$firstC2, _transformedSlice$con;
|
|
87
88
|
var schema = state.schema,
|
|
88
89
|
selection = state.tr.selection;
|
|
89
90
|
var codeMark = schema.marks.code,
|
|
@@ -105,8 +106,9 @@ function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
|
105
106
|
codeBlock = _schema$nodes.codeBlock;
|
|
106
107
|
var selectionIsValidNode = state.selection instanceof _state.NodeSelection && ['decisionList', 'decisionItem', 'taskList', 'taskItem'].includes(state.selection.node.type.name);
|
|
107
108
|
var selectionHasValidParentNode = (0, _utils2.hasParentNodeOfType)([decisionItem, taskItem, panel])(state.selection);
|
|
108
|
-
var selectionIsPanel = (0, _utils2.hasParentNodeOfType)([panel])(state.selection);
|
|
109
109
|
var selectionIsCodeBlock = (0, _utils2.hasParentNodeOfType)([codeBlock])(state.selection);
|
|
110
|
+
var panelNode = (0, _util.isSelectionInsidePanel)(selection);
|
|
111
|
+
var selectionIsPanel = Boolean(panelNode);
|
|
110
112
|
|
|
111
113
|
// we avoid handling codeBlock-in-panel use case in this function
|
|
112
114
|
// returning false will allow code to flow into `handleCodeBlock` function
|
|
@@ -117,15 +119,15 @@ function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
|
117
119
|
// Some types of content should be handled by the default handler, not this function.
|
|
118
120
|
// Check through slice content to see if it contains an invalid node.
|
|
119
121
|
var sliceIsInvalid = false;
|
|
122
|
+
var sliceHasTask = false;
|
|
120
123
|
slice.content.nodesBetween(0, slice.content.size, function (node) {
|
|
121
124
|
if (node.type === bulletList || node.type === orderedList || node.type === expand || node.type === heading || node.type === listItem) {
|
|
122
125
|
sliceIsInvalid = true;
|
|
123
126
|
}
|
|
124
127
|
if (selectionIsPanel && node.type === taskList) {
|
|
125
|
-
|
|
128
|
+
sliceHasTask = true;
|
|
126
129
|
}
|
|
127
130
|
});
|
|
128
|
-
|
|
129
131
|
// If the selection is a panel,
|
|
130
132
|
// and the slice's first node is a paragraph
|
|
131
133
|
// and it is not from a depth that would indicate it being from inside from another node (e.g. text from a decision)
|
|
@@ -143,6 +145,12 @@ function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
|
143
145
|
var transformedSlice = compose.apply(null, filters)(slice);
|
|
144
146
|
var isFirstChildTaskNode = transformedSlice.content.firstChild.type === taskList || transformedSlice.content.firstChild.type === taskItem;
|
|
145
147
|
var tr = (0, _history.closeHistory)(state.tr);
|
|
148
|
+
if (panelNode && sliceHasTask && ((_slice$content$firstC2 = slice.content.firstChild) === null || _slice$content$firstC2 === void 0 ? void 0 : _slice$content$firstC2.type) === panel && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.handle-paste-for-action-in-panel') && (0, _util.isEmptyNode)(panelNode) && selection.$from.node() === selection.$to.node()) {
|
|
149
|
+
return Boolean((0, _lists.insertSliceInsideOfPanelNodeSelected)(panelNode)({
|
|
150
|
+
tr: tr,
|
|
151
|
+
slice: slice
|
|
152
|
+
}));
|
|
153
|
+
}
|
|
146
154
|
var transformedSliceIsValidNode = (transformedSlice.content.firstChild.type.inlineContent || ['decisionList', 'decisionItem', 'taskItem', 'taskList', 'panel'].includes(transformedSlice.content.firstChild.type.name)) && (!(0, _utils.isInListItem)(state) || (0, _utils.isInListItem)(state) && isFirstChildTaskNode);
|
|
147
155
|
// If the slice or the selection are valid nodes to handle,
|
|
148
156
|
// and the slice is not a whole node (i.e. openStart is 1 and openEnd is 0)
|
|
@@ -197,7 +205,7 @@ function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
|
197
205
|
}
|
|
198
206
|
function handlePasteNonNestableBlockNodesIntoList(slice) {
|
|
199
207
|
return function (state, dispatch) {
|
|
200
|
-
var _tr$doc$nodeAt, _slice$content$
|
|
208
|
+
var _tr$doc$nodeAt, _slice$content$firstC3, _sliceContent$firstCh, _findParentNodeOfType;
|
|
201
209
|
var tr = state.tr;
|
|
202
210
|
var selection = tr.selection;
|
|
203
211
|
var $from = selection.$from,
|
|
@@ -272,7 +280,7 @@ function handlePasteNonNestableBlockNodesIntoList(slice) {
|
|
|
272
280
|
}
|
|
273
281
|
|
|
274
282
|
// handle the insertion of the slice
|
|
275
|
-
if (((_slice$content$
|
|
283
|
+
if (((_slice$content$firstC3 = slice.content.firstChild) === null || _slice$content$firstC3 === void 0 ? void 0 : _slice$content$firstC3.type.name) === 'blockquote' && (0, _utils2.contains)(slice.content.firstChild, state.schema.nodes.listItem)) {
|
|
276
284
|
(0, _edgeCases.insertSliceForListsInsideBlockquote)({
|
|
277
285
|
tr: tr,
|
|
278
286
|
slice: slice
|
|
@@ -991,6 +999,6 @@ var handleSelectedTable = exports.handleSelectedTable = function handleSelectedT
|
|
|
991
999
|
};
|
|
992
1000
|
};
|
|
993
1001
|
function checkTaskListInList(state, slice) {
|
|
994
|
-
var _slice$content$
|
|
995
|
-
return Boolean((0, _utils.isInListItem)(state) && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-action-in-list') && ['taskList', 'taskItem'].includes(((_slice$content$
|
|
1002
|
+
var _slice$content$firstC4;
|
|
1003
|
+
return Boolean((0, _utils.isInListItem)(state) && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-action-in-list') && ['taskList', 'taskItem'].includes(((_slice$content$firstC4 = slice.content.firstChild) === null || _slice$content$firstC4 === void 0 || (_slice$content$firstC4 = _slice$content$firstC4.type) === null || _slice$content$firstC4 === void 0 ? void 0 : _slice$content$firstC4.name) || ''));
|
|
996
1004
|
}
|
package/dist/es2019/handlers.js
CHANGED
|
@@ -14,8 +14,9 @@ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
|
14
14
|
|
|
15
15
|
import { startTrackingPastedMacroPositions, stopTrackingPastedMacroPositions } from './commands';
|
|
16
16
|
import { insertSliceForLists, insertSliceForListsInsideBlockquote, insertSliceForTaskInsideList } from './edge-cases';
|
|
17
|
+
import { insertSliceInsideOfPanelNodeSelected } from './edge-cases/lists';
|
|
17
18
|
import { getPluginState as getPastePluginState } from './pm-plugins/plugin-factory';
|
|
18
|
-
import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
|
|
19
|
+
import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType, isEmptyNode, isSelectionInsidePanel } from './util';
|
|
19
20
|
|
|
20
21
|
/** Helper type for single arg function */
|
|
21
22
|
|
|
@@ -49,7 +50,7 @@ export function handleMention(slice, schema) {
|
|
|
49
50
|
}
|
|
50
51
|
export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
51
52
|
return (state, dispatch) => {
|
|
52
|
-
var _slice$content$firstC, _transformedSlice$con;
|
|
53
|
+
var _slice$content$firstC, _slice$content$firstC2, _transformedSlice$con;
|
|
53
54
|
const {
|
|
54
55
|
schema,
|
|
55
56
|
tr: {
|
|
@@ -80,8 +81,9 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
80
81
|
} = schema;
|
|
81
82
|
const selectionIsValidNode = state.selection instanceof NodeSelection && ['decisionList', 'decisionItem', 'taskList', 'taskItem'].includes(state.selection.node.type.name);
|
|
82
83
|
const selectionHasValidParentNode = hasParentNodeOfType([decisionItem, taskItem, panel])(state.selection);
|
|
83
|
-
const selectionIsPanel = hasParentNodeOfType([panel])(state.selection);
|
|
84
84
|
const selectionIsCodeBlock = hasParentNodeOfType([codeBlock])(state.selection);
|
|
85
|
+
const panelNode = isSelectionInsidePanel(selection);
|
|
86
|
+
const selectionIsPanel = Boolean(panelNode);
|
|
85
87
|
|
|
86
88
|
// we avoid handling codeBlock-in-panel use case in this function
|
|
87
89
|
// returning false will allow code to flow into `handleCodeBlock` function
|
|
@@ -92,15 +94,15 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
92
94
|
// Some types of content should be handled by the default handler, not this function.
|
|
93
95
|
// Check through slice content to see if it contains an invalid node.
|
|
94
96
|
let sliceIsInvalid = false;
|
|
97
|
+
let sliceHasTask = false;
|
|
95
98
|
slice.content.nodesBetween(0, slice.content.size, node => {
|
|
96
99
|
if (node.type === bulletList || node.type === orderedList || node.type === expand || node.type === heading || node.type === listItem) {
|
|
97
100
|
sliceIsInvalid = true;
|
|
98
101
|
}
|
|
99
102
|
if (selectionIsPanel && node.type === taskList) {
|
|
100
|
-
|
|
103
|
+
sliceHasTask = true;
|
|
101
104
|
}
|
|
102
105
|
});
|
|
103
|
-
|
|
104
106
|
// If the selection is a panel,
|
|
105
107
|
// and the slice's first node is a paragraph
|
|
106
108
|
// and it is not from a depth that would indicate it being from inside from another node (e.g. text from a decision)
|
|
@@ -118,6 +120,12 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
118
120
|
const transformedSlice = compose.apply(null, filters)(slice);
|
|
119
121
|
const isFirstChildTaskNode = transformedSlice.content.firstChild.type === taskList || transformedSlice.content.firstChild.type === taskItem;
|
|
120
122
|
const tr = closeHistory(state.tr);
|
|
123
|
+
if (panelNode && sliceHasTask && ((_slice$content$firstC2 = slice.content.firstChild) === null || _slice$content$firstC2 === void 0 ? void 0 : _slice$content$firstC2.type) === panel && getBooleanFF('platform.editor.handle-paste-for-action-in-panel') && isEmptyNode(panelNode) && selection.$from.node() === selection.$to.node()) {
|
|
124
|
+
return Boolean(insertSliceInsideOfPanelNodeSelected(panelNode)({
|
|
125
|
+
tr,
|
|
126
|
+
slice
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
121
129
|
const transformedSliceIsValidNode = (transformedSlice.content.firstChild.type.inlineContent || ['decisionList', 'decisionItem', 'taskItem', 'taskList', 'panel'].includes(transformedSlice.content.firstChild.type.name)) && (!isInListItem(state) || isInListItem(state) && isFirstChildTaskNode);
|
|
122
130
|
// If the slice or the selection are valid nodes to handle,
|
|
123
131
|
// and the slice is not a whole node (i.e. openStart is 1 and openEnd is 0)
|
|
@@ -172,7 +180,7 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
172
180
|
}
|
|
173
181
|
export function handlePasteNonNestableBlockNodesIntoList(slice) {
|
|
174
182
|
return (state, dispatch) => {
|
|
175
|
-
var _tr$doc$nodeAt, _slice$content$
|
|
183
|
+
var _tr$doc$nodeAt, _slice$content$firstC3, _sliceContent$firstCh, _findParentNodeOfType;
|
|
176
184
|
const {
|
|
177
185
|
tr
|
|
178
186
|
} = state;
|
|
@@ -254,7 +262,7 @@ export function handlePasteNonNestableBlockNodesIntoList(slice) {
|
|
|
254
262
|
}
|
|
255
263
|
|
|
256
264
|
// handle the insertion of the slice
|
|
257
|
-
if (((_slice$content$
|
|
265
|
+
if (((_slice$content$firstC3 = slice.content.firstChild) === null || _slice$content$firstC3 === void 0 ? void 0 : _slice$content$firstC3.type.name) === 'blockquote' && contains(slice.content.firstChild, state.schema.nodes.listItem)) {
|
|
258
266
|
insertSliceForListsInsideBlockquote({
|
|
259
267
|
tr,
|
|
260
268
|
slice
|
|
@@ -970,6 +978,6 @@ export const handleSelectedTable = editorAnalyticsAPI => slice => (state, dispat
|
|
|
970
978
|
return false;
|
|
971
979
|
};
|
|
972
980
|
export function checkTaskListInList(state, slice) {
|
|
973
|
-
var _slice$content$
|
|
974
|
-
return Boolean(isInListItem(state) && getBooleanFF('platform.editor.allow-action-in-list') && ['taskList', 'taskItem'].includes(((_slice$content$
|
|
981
|
+
var _slice$content$firstC4, _slice$content$firstC5;
|
|
982
|
+
return Boolean(isInListItem(state) && getBooleanFF('platform.editor.allow-action-in-list') && ['taskList', 'taskItem'].includes(((_slice$content$firstC4 = slice.content.firstChild) === null || _slice$content$firstC4 === void 0 ? void 0 : (_slice$content$firstC5 = _slice$content$firstC4.type) === null || _slice$content$firstC5 === void 0 ? void 0 : _slice$content$firstC5.name) || ''));
|
|
975
983
|
}
|
package/dist/esm/handlers.js
CHANGED
|
@@ -22,8 +22,9 @@ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
|
22
22
|
|
|
23
23
|
import { startTrackingPastedMacroPositions, stopTrackingPastedMacroPositions } from './commands';
|
|
24
24
|
import { insertSliceForLists, insertSliceForListsInsideBlockquote, insertSliceForTaskInsideList } from './edge-cases';
|
|
25
|
+
import { insertSliceInsideOfPanelNodeSelected } from './edge-cases/lists';
|
|
25
26
|
import { getPluginState as getPastePluginState } from './pm-plugins/plugin-factory';
|
|
26
|
-
import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
|
|
27
|
+
import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType, isEmptyNode, isSelectionInsidePanel } from './util';
|
|
27
28
|
|
|
28
29
|
/** Helper type for single arg function */
|
|
29
30
|
|
|
@@ -61,7 +62,7 @@ export function handleMention(slice, schema) {
|
|
|
61
62
|
}
|
|
62
63
|
export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
|
|
63
64
|
return function (state, dispatch) {
|
|
64
|
-
var _slice$content$firstC, _transformedSlice$con;
|
|
65
|
+
var _slice$content$firstC, _slice$content$firstC2, _transformedSlice$con;
|
|
65
66
|
var schema = state.schema,
|
|
66
67
|
selection = state.tr.selection;
|
|
67
68
|
var codeMark = schema.marks.code,
|
|
@@ -83,8 +84,9 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
83
84
|
codeBlock = _schema$nodes.codeBlock;
|
|
84
85
|
var selectionIsValidNode = state.selection instanceof NodeSelection && ['decisionList', 'decisionItem', 'taskList', 'taskItem'].includes(state.selection.node.type.name);
|
|
85
86
|
var selectionHasValidParentNode = hasParentNodeOfType([decisionItem, taskItem, panel])(state.selection);
|
|
86
|
-
var selectionIsPanel = hasParentNodeOfType([panel])(state.selection);
|
|
87
87
|
var selectionIsCodeBlock = hasParentNodeOfType([codeBlock])(state.selection);
|
|
88
|
+
var panelNode = isSelectionInsidePanel(selection);
|
|
89
|
+
var selectionIsPanel = Boolean(panelNode);
|
|
88
90
|
|
|
89
91
|
// we avoid handling codeBlock-in-panel use case in this function
|
|
90
92
|
// returning false will allow code to flow into `handleCodeBlock` function
|
|
@@ -95,15 +97,15 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
95
97
|
// Some types of content should be handled by the default handler, not this function.
|
|
96
98
|
// Check through slice content to see if it contains an invalid node.
|
|
97
99
|
var sliceIsInvalid = false;
|
|
100
|
+
var sliceHasTask = false;
|
|
98
101
|
slice.content.nodesBetween(0, slice.content.size, function (node) {
|
|
99
102
|
if (node.type === bulletList || node.type === orderedList || node.type === expand || node.type === heading || node.type === listItem) {
|
|
100
103
|
sliceIsInvalid = true;
|
|
101
104
|
}
|
|
102
105
|
if (selectionIsPanel && node.type === taskList) {
|
|
103
|
-
|
|
106
|
+
sliceHasTask = true;
|
|
104
107
|
}
|
|
105
108
|
});
|
|
106
|
-
|
|
107
109
|
// If the selection is a panel,
|
|
108
110
|
// and the slice's first node is a paragraph
|
|
109
111
|
// and it is not from a depth that would indicate it being from inside from another node (e.g. text from a decision)
|
|
@@ -121,6 +123,12 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
121
123
|
var transformedSlice = compose.apply(null, filters)(slice);
|
|
122
124
|
var isFirstChildTaskNode = transformedSlice.content.firstChild.type === taskList || transformedSlice.content.firstChild.type === taskItem;
|
|
123
125
|
var tr = closeHistory(state.tr);
|
|
126
|
+
if (panelNode && sliceHasTask && ((_slice$content$firstC2 = slice.content.firstChild) === null || _slice$content$firstC2 === void 0 ? void 0 : _slice$content$firstC2.type) === panel && getBooleanFF('platform.editor.handle-paste-for-action-in-panel') && isEmptyNode(panelNode) && selection.$from.node() === selection.$to.node()) {
|
|
127
|
+
return Boolean(insertSliceInsideOfPanelNodeSelected(panelNode)({
|
|
128
|
+
tr: tr,
|
|
129
|
+
slice: slice
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
124
132
|
var transformedSliceIsValidNode = (transformedSlice.content.firstChild.type.inlineContent || ['decisionList', 'decisionItem', 'taskItem', 'taskList', 'panel'].includes(transformedSlice.content.firstChild.type.name)) && (!isInListItem(state) || isInListItem(state) && isFirstChildTaskNode);
|
|
125
133
|
// If the slice or the selection are valid nodes to handle,
|
|
126
134
|
// and the slice is not a whole node (i.e. openStart is 1 and openEnd is 0)
|
|
@@ -175,7 +183,7 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChange
|
|
|
175
183
|
}
|
|
176
184
|
export function handlePasteNonNestableBlockNodesIntoList(slice) {
|
|
177
185
|
return function (state, dispatch) {
|
|
178
|
-
var _tr$doc$nodeAt, _slice$content$
|
|
186
|
+
var _tr$doc$nodeAt, _slice$content$firstC3, _sliceContent$firstCh, _findParentNodeOfType;
|
|
179
187
|
var tr = state.tr;
|
|
180
188
|
var selection = tr.selection;
|
|
181
189
|
var $from = selection.$from,
|
|
@@ -250,7 +258,7 @@ export function handlePasteNonNestableBlockNodesIntoList(slice) {
|
|
|
250
258
|
}
|
|
251
259
|
|
|
252
260
|
// handle the insertion of the slice
|
|
253
|
-
if (((_slice$content$
|
|
261
|
+
if (((_slice$content$firstC3 = slice.content.firstChild) === null || _slice$content$firstC3 === void 0 ? void 0 : _slice$content$firstC3.type.name) === 'blockquote' && contains(slice.content.firstChild, state.schema.nodes.listItem)) {
|
|
254
262
|
insertSliceForListsInsideBlockquote({
|
|
255
263
|
tr: tr,
|
|
256
264
|
slice: slice
|
|
@@ -969,6 +977,6 @@ export var handleSelectedTable = function handleSelectedTable(editorAnalyticsAPI
|
|
|
969
977
|
};
|
|
970
978
|
};
|
|
971
979
|
export function checkTaskListInList(state, slice) {
|
|
972
|
-
var _slice$content$
|
|
973
|
-
return Boolean(isInListItem(state) && getBooleanFF('platform.editor.allow-action-in-list') && ['taskList', 'taskItem'].includes(((_slice$content$
|
|
980
|
+
var _slice$content$firstC4;
|
|
981
|
+
return Boolean(isInListItem(state) && getBooleanFF('platform.editor.allow-action-in-list') && ['taskList', 'taskItem'].includes(((_slice$content$firstC4 = slice.content.firstChild) === null || _slice$content$firstC4 === void 0 || (_slice$content$firstC4 = _slice$content$firstC4.type) === null || _slice$content$firstC4 === void 0 ? void 0 : _slice$content$firstC4.name) || ''));
|
|
974
982
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-paste",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
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": "^78.
|
|
36
|
+
"@atlaskit/editor-common": "^78.4.0",
|
|
37
37
|
"@atlaskit/editor-markdown-transformer": "^5.3.0",
|
|
38
38
|
"@atlaskit/editor-plugin-analytics": "^1.0.0",
|
|
39
39
|
"@atlaskit/editor-plugin-annotation": "^1.0.0",
|
|
@@ -125,6 +125,9 @@
|
|
|
125
125
|
},
|
|
126
126
|
"platform.editor.media.fix-copy-paste-excel_62g4s": {
|
|
127
127
|
"type": "boolean"
|
|
128
|
+
},
|
|
129
|
+
"platform.editor.handle-paste-for-action-in-panel": {
|
|
130
|
+
"type": "boolean"
|
|
128
131
|
}
|
|
129
132
|
}
|
|
130
133
|
}
|