@manuscripts/body-editor 1.9.7 → 1.9.9
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.
|
@@ -176,6 +176,6 @@ const DraggableTree = ({ tree, view, depth, can, }) => {
|
|
|
176
176
|
react_1.default.createElement(Outline_1.OutlineItemLink, { to: `#${node.attrs.id}` },
|
|
177
177
|
react_1.default.createElement(Outline_1.OutlineItemIcon, null, (0, node_type_icons_1.nodeTypeIcon)(node.type)),
|
|
178
178
|
react_1.default.createElement(Outline_1.OutlineItemLinkText, { className: `outline-text-${node.type.name} ${isDeletedItem && 'deleted'}` }, itemText(node))))),
|
|
179
|
-
items.length ? (react_1.default.createElement("div", { className: `subtree ${isOpen ? '' : 'collapsed'}` }, items.map((subtree) => (react_1.default.createElement(exports.DraggableTree, { key: subtree.node.attrs.id, tree: subtree, view: view, depth: !tree.parent ? depth : depth + 1, can: can }))))) : null));
|
|
179
|
+
items.length ? (react_1.default.createElement("div", { className: `subtree ${isOpen ? '' : 'collapsed'}` }, items.map((subtree, index) => (react_1.default.createElement(exports.DraggableTree, { key: subtree.node.attrs.id || 'subtree-' + index, tree: subtree, view: view, depth: !tree.parent ? depth : depth + 1, can: can }))))) : null));
|
|
180
180
|
};
|
|
181
181
|
exports.DraggableTree = DraggableTree;
|
package/dist/cjs/keys/list.js
CHANGED
|
@@ -18,17 +18,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.skipCommandTracking = void 0;
|
|
19
19
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
20
20
|
const transform_1 = require("@manuscripts/transform");
|
|
21
|
+
const prosemirror_commands_1 = require("prosemirror-commands");
|
|
22
|
+
const prosemirror_inputrules_1 = require("prosemirror-inputrules");
|
|
21
23
|
const prosemirror_schema_list_1 = require("prosemirror-schema-list");
|
|
24
|
+
const prosemirror_utils_1 = require("prosemirror-utils");
|
|
22
25
|
const skipCommandTracking = (command) => (state, dispatch) => {
|
|
23
|
-
command(state, (tr) => {
|
|
26
|
+
return command(state, (tr) => {
|
|
24
27
|
if (dispatch) {
|
|
25
28
|
(0, track_changes_plugin_1.skipTracking)(tr);
|
|
26
29
|
dispatch(tr);
|
|
27
30
|
}
|
|
28
31
|
});
|
|
29
|
-
return true;
|
|
30
32
|
};
|
|
31
33
|
exports.skipCommandTracking = skipCommandTracking;
|
|
34
|
+
const listItemBackward = (state, dispatch) => {
|
|
35
|
+
const { selection } = state;
|
|
36
|
+
const isListItem = (0, prosemirror_utils_1.findParentNodeOfType)(transform_1.schema.nodes.list_item)(selection);
|
|
37
|
+
if (isListItem) {
|
|
38
|
+
return (0, prosemirror_commands_1.joinBackward)(state, dispatch);
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
};
|
|
32
42
|
const liftToOuterList = (itemType) => {
|
|
33
43
|
return function (state, dispatch) {
|
|
34
44
|
const { $from, $to } = state.selection;
|
|
@@ -55,5 +65,6 @@ const listKeymap = {
|
|
|
55
65
|
'Mod-Alt-k': (0, exports.skipCommandTracking)((0, prosemirror_schema_list_1.wrapInList)(transform_1.schema.nodes.bullet_list)),
|
|
56
66
|
'Shift-Tab': (0, exports.skipCommandTracking)(liftToOuterList(transform_1.schema.nodes.list_item)),
|
|
57
67
|
Tab: (0, exports.skipCommandTracking)((0, prosemirror_schema_list_1.sinkListItem)(transform_1.schema.nodes.list_item)),
|
|
68
|
+
Backspace: (0, exports.skipCommandTracking)((0, prosemirror_commands_1.chainCommands)(prosemirror_inputrules_1.undoInputRule, listItemBackward, prosemirror_commands_1.deleteSelection)),
|
|
58
69
|
};
|
|
59
70
|
exports.default = listKeymap;
|
|
@@ -149,5 +149,5 @@ export const DraggableTree = ({ tree, view, depth, can, }) => {
|
|
|
149
149
|
React.createElement(OutlineItemLink, { to: `#${node.attrs.id}` },
|
|
150
150
|
React.createElement(OutlineItemIcon, null, nodeTypeIcon(node.type)),
|
|
151
151
|
React.createElement(OutlineItemLinkText, { className: `outline-text-${node.type.name} ${isDeletedItem && 'deleted'}` }, itemText(node))))),
|
|
152
|
-
items.length ? (React.createElement("div", { className: `subtree ${isOpen ? '' : 'collapsed'}` }, items.map((subtree) => (React.createElement(DraggableTree, { key: subtree.node.attrs.id, tree: subtree, view: view, depth: !tree.parent ? depth : depth + 1, can: can }))))) : null));
|
|
152
|
+
items.length ? (React.createElement("div", { className: `subtree ${isOpen ? '' : 'collapsed'}` }, items.map((subtree, index) => (React.createElement(DraggableTree, { key: subtree.node.attrs.id || 'subtree-' + index, tree: subtree, view: view, depth: !tree.parent ? depth : depth + 1, can: can }))))) : null));
|
|
153
153
|
};
|
package/dist/es/keys/list.js
CHANGED
|
@@ -15,15 +15,25 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { skipTracking } from '@manuscripts/track-changes-plugin';
|
|
17
17
|
import { schema } from '@manuscripts/transform';
|
|
18
|
+
import { chainCommands, deleteSelection, joinBackward, } from 'prosemirror-commands';
|
|
19
|
+
import { undoInputRule } from 'prosemirror-inputrules';
|
|
18
20
|
import { liftListItem, sinkListItem, splitListItem, wrapInList, } from 'prosemirror-schema-list';
|
|
21
|
+
import { findParentNodeOfType } from 'prosemirror-utils';
|
|
19
22
|
export const skipCommandTracking = (command) => (state, dispatch) => {
|
|
20
|
-
command(state, (tr) => {
|
|
23
|
+
return command(state, (tr) => {
|
|
21
24
|
if (dispatch) {
|
|
22
25
|
skipTracking(tr);
|
|
23
26
|
dispatch(tr);
|
|
24
27
|
}
|
|
25
28
|
});
|
|
26
|
-
|
|
29
|
+
};
|
|
30
|
+
const listItemBackward = (state, dispatch) => {
|
|
31
|
+
const { selection } = state;
|
|
32
|
+
const isListItem = findParentNodeOfType(schema.nodes.list_item)(selection);
|
|
33
|
+
if (isListItem) {
|
|
34
|
+
return joinBackward(state, dispatch);
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
27
37
|
};
|
|
28
38
|
const liftToOuterList = (itemType) => {
|
|
29
39
|
return function (state, dispatch) {
|
|
@@ -51,5 +61,6 @@ const listKeymap = {
|
|
|
51
61
|
'Mod-Alt-k': skipCommandTracking(wrapInList(schema.nodes.bullet_list)),
|
|
52
62
|
'Shift-Tab': skipCommandTracking(liftToOuterList(schema.nodes.list_item)),
|
|
53
63
|
Tab: skipCommandTracking(sinkListItem(schema.nodes.list_item)),
|
|
64
|
+
Backspace: skipCommandTracking(chainCommands(undoInputRule, listItemBackward, deleteSelection)),
|
|
54
65
|
};
|
|
55
66
|
export default listKeymap;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/body-editor",
|
|
3
3
|
"description": "Prosemirror components for editing and viewing manuscripts",
|
|
4
|
-
"version": "1.9.
|
|
4
|
+
"version": "1.9.9",
|
|
5
5
|
"repository": "github:Atypon-OpenSource/manuscripts-body-editor",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"main": "dist/cjs",
|
|
@@ -111,4 +111,4 @@
|
|
|
111
111
|
"@types/react": "^17.0.2",
|
|
112
112
|
"prosemirror-tables": "^1.3.5"
|
|
113
113
|
}
|
|
114
|
-
}
|
|
114
|
+
}
|