@atlaskit/editor-plugin-tasks-and-decisions 9.1.20 → 9.1.21
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,12 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-tasks-and-decisions
|
|
2
2
|
|
|
3
|
+
## 9.1.21
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`f494ec7455464`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f494ec7455464) -
|
|
8
|
+
ED-29712: Insert a new action item on empty selection when clicking on Task list
|
|
9
|
+
|
|
3
10
|
## 9.1.20
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
|
@@ -4,13 +4,41 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.toggleTaskList = void 0;
|
|
7
|
+
var _adfSchema = require("@atlaskit/adf-schema");
|
|
7
8
|
var _transforms = require("@atlaskit/editor-common/transforms");
|
|
9
|
+
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
10
|
+
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
11
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
8
12
|
var toggleTaskList = exports.toggleTaskList = function toggleTaskList() {
|
|
9
13
|
var targetType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'paragraph';
|
|
10
14
|
return function (_ref) {
|
|
11
15
|
var tr = _ref.tr;
|
|
12
16
|
var nodes = tr.doc.type.schema.nodes;
|
|
13
17
|
var selection = tr.selection;
|
|
18
|
+
|
|
19
|
+
// Handle empty selection: insert a new task item
|
|
20
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_toolbar_aifc_ga_blockers')) {
|
|
21
|
+
var $from = selection.$from;
|
|
22
|
+
var isEmpty = $from.parent.content.size === 0;
|
|
23
|
+
if (isEmpty && nodes.taskList && nodes.taskItem) {
|
|
24
|
+
// Create an empty task list with one empty task item
|
|
25
|
+
var listLocalId = _adfSchema.uuid.generate();
|
|
26
|
+
var itemLocalId = _adfSchema.uuid.generate();
|
|
27
|
+
var emptyList = nodes.taskList.create({
|
|
28
|
+
localId: listLocalId
|
|
29
|
+
}, [nodes.taskItem.create({
|
|
30
|
+
localId: itemLocalId
|
|
31
|
+
})]);
|
|
32
|
+
|
|
33
|
+
// Insert the empty list at the current selection
|
|
34
|
+
var insertTr = (0, _utils.safeInsert)(emptyList)(tr);
|
|
35
|
+
if (insertTr !== tr) {
|
|
36
|
+
// Set cursor inside the new task item
|
|
37
|
+
var insertPos = insertTr.selection.$from.pos;
|
|
38
|
+
return insertTr.setSelection(_state.TextSelection.near(insertTr.doc.resolve(insertPos)));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
14
42
|
var _getFormattedNode = (0, _transforms.getFormattedNode)(tr),
|
|
15
43
|
node = _getFormattedNode.node,
|
|
16
44
|
pos = _getFormattedNode.pos;
|
|
@@ -33,9 +61,9 @@ var toggleTaskList = exports.toggleTaskList = function toggleTaskList() {
|
|
|
33
61
|
};
|
|
34
62
|
return targetType === 'paragraph' ? (0, _transforms.transformTaskListToBlockNodes)(_context) : (0, _transforms.transformBetweenListTypes)(_context);
|
|
35
63
|
}
|
|
36
|
-
var $from = selection.$from,
|
|
64
|
+
var _$from = selection.$from,
|
|
37
65
|
$to = selection.$to;
|
|
38
|
-
var range = $from.blockRange($to);
|
|
66
|
+
var range = _$from.blockRange($to);
|
|
39
67
|
if (range) {
|
|
40
68
|
return (0, _transforms.transformToTaskList)(tr, range, nodes.taskList, undefined, nodes);
|
|
41
69
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { uuid } from '@atlaskit/adf-schema';
|
|
1
2
|
import { transformBetweenListTypes, transformToTaskList, transformTaskListToBlockNodes, isBulletOrOrderedList, isTaskList, getFormattedNode } from '@atlaskit/editor-common/transforms';
|
|
3
|
+
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
4
|
+
import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
6
|
export const toggleTaskList = (targetType = 'paragraph') => ({
|
|
3
7
|
tr
|
|
4
8
|
}) => {
|
|
@@ -8,6 +12,32 @@ export const toggleTaskList = (targetType = 'paragraph') => ({
|
|
|
8
12
|
const {
|
|
9
13
|
selection
|
|
10
14
|
} = tr;
|
|
15
|
+
|
|
16
|
+
// Handle empty selection: insert a new task item
|
|
17
|
+
if (fg('platform_editor_toolbar_aifc_ga_blockers')) {
|
|
18
|
+
const {
|
|
19
|
+
$from
|
|
20
|
+
} = selection;
|
|
21
|
+
const isEmpty = $from.parent.content.size === 0;
|
|
22
|
+
if (isEmpty && nodes.taskList && nodes.taskItem) {
|
|
23
|
+
// Create an empty task list with one empty task item
|
|
24
|
+
const listLocalId = uuid.generate();
|
|
25
|
+
const itemLocalId = uuid.generate();
|
|
26
|
+
const emptyList = nodes.taskList.create({
|
|
27
|
+
localId: listLocalId
|
|
28
|
+
}, [nodes.taskItem.create({
|
|
29
|
+
localId: itemLocalId
|
|
30
|
+
})]);
|
|
31
|
+
|
|
32
|
+
// Insert the empty list at the current selection
|
|
33
|
+
const insertTr = safeInsert(emptyList)(tr);
|
|
34
|
+
if (insertTr !== tr) {
|
|
35
|
+
// Set cursor inside the new task item
|
|
36
|
+
const insertPos = insertTr.selection.$from.pos;
|
|
37
|
+
return insertTr.setSelection(TextSelection.near(insertTr.doc.resolve(insertPos)));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
11
41
|
const {
|
|
12
42
|
node,
|
|
13
43
|
pos
|
|
@@ -1,10 +1,38 @@
|
|
|
1
|
+
import { uuid } from '@atlaskit/adf-schema';
|
|
1
2
|
import { transformBetweenListTypes, transformToTaskList, transformTaskListToBlockNodes, isBulletOrOrderedList, isTaskList, getFormattedNode } from '@atlaskit/editor-common/transforms';
|
|
3
|
+
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
4
|
+
import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
6
|
export var toggleTaskList = function toggleTaskList() {
|
|
3
7
|
var targetType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'paragraph';
|
|
4
8
|
return function (_ref) {
|
|
5
9
|
var tr = _ref.tr;
|
|
6
10
|
var nodes = tr.doc.type.schema.nodes;
|
|
7
11
|
var selection = tr.selection;
|
|
12
|
+
|
|
13
|
+
// Handle empty selection: insert a new task item
|
|
14
|
+
if (fg('platform_editor_toolbar_aifc_ga_blockers')) {
|
|
15
|
+
var $from = selection.$from;
|
|
16
|
+
var isEmpty = $from.parent.content.size === 0;
|
|
17
|
+
if (isEmpty && nodes.taskList && nodes.taskItem) {
|
|
18
|
+
// Create an empty task list with one empty task item
|
|
19
|
+
var listLocalId = uuid.generate();
|
|
20
|
+
var itemLocalId = uuid.generate();
|
|
21
|
+
var emptyList = nodes.taskList.create({
|
|
22
|
+
localId: listLocalId
|
|
23
|
+
}, [nodes.taskItem.create({
|
|
24
|
+
localId: itemLocalId
|
|
25
|
+
})]);
|
|
26
|
+
|
|
27
|
+
// Insert the empty list at the current selection
|
|
28
|
+
var insertTr = safeInsert(emptyList)(tr);
|
|
29
|
+
if (insertTr !== tr) {
|
|
30
|
+
// Set cursor inside the new task item
|
|
31
|
+
var insertPos = insertTr.selection.$from.pos;
|
|
32
|
+
return insertTr.setSelection(TextSelection.near(insertTr.doc.resolve(insertPos)));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
8
36
|
var _getFormattedNode = getFormattedNode(tr),
|
|
9
37
|
node = _getFormattedNode.node,
|
|
10
38
|
pos = _getFormattedNode.pos;
|
|
@@ -27,9 +55,9 @@ export var toggleTaskList = function toggleTaskList() {
|
|
|
27
55
|
};
|
|
28
56
|
return targetType === 'paragraph' ? transformTaskListToBlockNodes(_context) : transformBetweenListTypes(_context);
|
|
29
57
|
}
|
|
30
|
-
var $from = selection.$from,
|
|
58
|
+
var _$from = selection.$from,
|
|
31
59
|
$to = selection.$to;
|
|
32
|
-
var range = $from.blockRange($to);
|
|
60
|
+
var range = _$from.blockRange($to);
|
|
33
61
|
if (range) {
|
|
34
62
|
return transformToTaskList(tr, range, nodes.taskList, undefined, nodes);
|
|
35
63
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-tasks-and-decisions",
|
|
3
|
-
"version": "9.1.
|
|
3
|
+
"version": "9.1.21",
|
|
4
4
|
"description": "Tasks and decisions plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -29,40 +29,40 @@
|
|
|
29
29
|
],
|
|
30
30
|
"atlaskit:src": "src/index.ts",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@atlaskit/adf-schema": "^51.5.
|
|
32
|
+
"@atlaskit/adf-schema": "^51.5.0",
|
|
33
33
|
"@atlaskit/analytics-namespaced-context": "^7.2.0",
|
|
34
34
|
"@atlaskit/css": "^0.17.0",
|
|
35
35
|
"@atlaskit/editor-plugin-analytics": "^6.2.0",
|
|
36
|
-
"@atlaskit/editor-plugin-block-menu": "^5.
|
|
36
|
+
"@atlaskit/editor-plugin-block-menu": "^5.2.0",
|
|
37
37
|
"@atlaskit/editor-plugin-context-identifier": "^6.0.0",
|
|
38
38
|
"@atlaskit/editor-plugin-editor-viewmode": "^8.0.0",
|
|
39
39
|
"@atlaskit/editor-plugin-selection": "^6.1.0",
|
|
40
40
|
"@atlaskit/editor-plugin-toolbar": "^3.4.0",
|
|
41
41
|
"@atlaskit/editor-plugin-type-ahead": "^6.5.0",
|
|
42
|
-
"@atlaskit/editor-prosemirror": "7.
|
|
42
|
+
"@atlaskit/editor-prosemirror": "^7.2.0",
|
|
43
43
|
"@atlaskit/editor-shared-styles": "^3.10.0",
|
|
44
44
|
"@atlaskit/editor-toolbar": "^0.18.0",
|
|
45
45
|
"@atlaskit/editor-toolbar-model": "^0.2.0",
|
|
46
46
|
"@atlaskit/heading": "^5.2.0",
|
|
47
|
-
"@atlaskit/icon": "^29.
|
|
47
|
+
"@atlaskit/icon": "^29.1.0",
|
|
48
48
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
49
49
|
"@atlaskit/primitives": "^16.4.0",
|
|
50
50
|
"@atlaskit/prosemirror-input-rules": "^3.6.0",
|
|
51
51
|
"@atlaskit/task-decision": "^19.2.0",
|
|
52
|
-
"@atlaskit/tmp-editor-statsig": "^15.
|
|
53
|
-
"@atlaskit/tokens": "^8.
|
|
52
|
+
"@atlaskit/tmp-editor-statsig": "^15.11.0",
|
|
53
|
+
"@atlaskit/tokens": "^8.5.0",
|
|
54
54
|
"@babel/runtime": "^7.0.0",
|
|
55
55
|
"@compiled/react": "^0.18.6",
|
|
56
56
|
"bind-event-listener": "^3.0.0"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@atlaskit/editor-common": "^110.
|
|
59
|
+
"@atlaskit/editor-common": "^110.44.0",
|
|
60
60
|
"react": "^18.2.0",
|
|
61
61
|
"react-dom": "^18.2.0",
|
|
62
62
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@testing-library/react": "^
|
|
65
|
+
"@testing-library/react": "^16.3.0",
|
|
66
66
|
"wait-for-expect": "^1.2.0"
|
|
67
67
|
},
|
|
68
68
|
"techstack": {
|
|
@@ -106,6 +106,9 @@
|
|
|
106
106
|
},
|
|
107
107
|
"platform_editor_blocktaskitem_patch_3": {
|
|
108
108
|
"type": "boolean"
|
|
109
|
+
},
|
|
110
|
+
"platform_editor_toolbar_aifc_ga_blockers": {
|
|
111
|
+
"type": "boolean"
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
114
|
}
|