@manuscripts/body-editor 2.8.63-LEAN-4160.2 → 2.8.63

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.
@@ -32,6 +32,7 @@ const react_dnd_1 = require("react-dnd");
32
32
  const context_menu_1 = require("../../lib/context-menu");
33
33
  const dnd_1 = require("../../lib/dnd");
34
34
  const track_changes_utils_1 = require("../../lib/track-changes-utils");
35
+ const utils_1 = require("../../lib/utils");
35
36
  const node_type_icons_1 = require("../../node-type-icons");
36
37
  const Outline_1 = require("./Outline");
37
38
  const excludedTypes = [
@@ -94,6 +95,7 @@ const DraggableTree = ({ tree, view, depth, can, }) => {
94
95
  const [dropSide, setDropSide] = (0, react_1.useState)();
95
96
  const [isOpen, setOpen] = (0, react_1.useState)(depth === 0);
96
97
  const ref = (0, react_1.useRef)(null);
98
+ const disableDragAndDrop = view ? (0, utils_1.isBodyLocked)(view.state) : true;
97
99
  const { node, items, parent } = tree;
98
100
  const itemText = (node) => {
99
101
  const text = (0, transform_1.nodeTitle)(node);
@@ -110,7 +112,7 @@ const DraggableTree = ({ tree, view, depth, can, }) => {
110
112
  type: 'outline',
111
113
  item: tree,
112
114
  canDrag: () => {
113
- return depth !== 0;
115
+ return depth !== 0 && !disableDragAndDrop;
114
116
  },
115
117
  collect: (monitor) => ({
116
118
  isDragging: monitor.isDragging(),
@@ -119,6 +121,9 @@ const DraggableTree = ({ tree, view, depth, can, }) => {
119
121
  const [{ isOver }, dropRef] = (0, react_dnd_1.useDrop)({
120
122
  accept: 'outline',
121
123
  canDrop(item, monitor) {
124
+ if (disableDragAndDrop) {
125
+ return false;
126
+ }
122
127
  if (isAbstractOrBackmatter(item) || isAbstractOrBackmatter(tree)) {
123
128
  return false;
124
129
  }
@@ -142,20 +147,20 @@ const DraggableTree = ({ tree, view, depth, can, }) => {
142
147
  return tree.parent.canReplace(index, index, prosemirror_model_1.Fragment.from(item.node));
143
148
  },
144
149
  hover(item, monitor) {
145
- if (!ref.current || !monitor.canDrop()) {
150
+ if (disableDragAndDrop || !ref.current || !monitor.canDrop()) {
146
151
  return;
147
152
  }
148
153
  const side = (0, dnd_1.getDropSide)(ref.current, monitor);
149
154
  setDropSide(side);
150
155
  },
151
156
  drop(item, monitor) {
152
- if (!ref.current || !view) {
157
+ if (disableDragAndDrop || !ref.current || !view) {
153
158
  return;
154
159
  }
155
160
  const side = (0, dnd_1.getDropSide)(ref.current, monitor);
156
161
  const pos = side === 'before' ? tree.pos - 1 : tree.endPos - 1;
157
162
  let sourcePos = item.pos - 1;
158
- const node = item.node.type.schema.nodes[item.node.type.name].create(Object.assign({}, item.node.attrs), item.node.content);
163
+ const node = item.node.type.schema.nodes[item.node.type.name].create(Object.assign(Object.assign({}, item.node.attrs), { id: '' }), item.node.content);
159
164
  const tr = view.state.tr.insert(pos, node);
160
165
  sourcePos = tr.mapping.map(sourcePos);
161
166
  tr.delete(sourcePos, sourcePos + item.node.nodeSize);
@@ -182,7 +187,8 @@ const DraggableTree = ({ tree, view, depth, can, }) => {
182
187
  dragRef(dropRef(ref));
183
188
  const dragClass = isDragging ? 'dragging' : '';
184
189
  const dropClass = isOver && dropSide ? `drop-${dropSide}` : '';
185
- return (react_1.default.createElement(Outline_1.Outline, { ref: ref, className: `${dragClass} ${dropClass} ${isDeletedItem && 'deleted'}` },
190
+ const deletedClass = isDeletedItem ? 'deleted' : '';
191
+ return (react_1.default.createElement(Outline_1.Outline, { ref: ref, className: `${dragClass} ${dropClass} ${deletedClass}` },
186
192
  !isTop && node.type.name != 'manuscript' && (react_1.default.createElement(Outline_1.OutlineItem, { depth: depth, onContextMenu: handleContextMenu },
187
193
  items.length ? (react_1.default.createElement(Outline_1.OutlineItemArrow, { onClick: toggleOpen }, isOpen ? react_1.default.createElement(style_guide_1.TriangleExpandedIcon, null) : react_1.default.createElement(style_guide_1.TriangleCollapsedIcon, null))) : (react_1.default.createElement(Outline_1.OutlineItemNoArrow, null)),
188
194
  react_1.default.createElement(Outline_1.OutlineItemLink, { to: `#${node.attrs.id}` },
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MATHJAX_VERSION = exports.VERSION = void 0;
4
- exports.VERSION = '2.8.63-LEAN-4160.2';
4
+ exports.VERSION = '2.8.63';
5
5
  exports.MATHJAX_VERSION = '3.2.2';
@@ -6,6 +6,7 @@ import { useDrag, useDrop } from 'react-dnd';
6
6
  import { ContextMenu } from '../../lib/context-menu';
7
7
  import { getDropSide } from '../../lib/dnd';
8
8
  import { isDeleted } from '../../lib/track-changes-utils';
9
+ import { isBodyLocked } from '../../lib/utils';
9
10
  import { nodeTypeIcon } from '../../node-type-icons';
10
11
  import { Outline, OutlineItem, OutlineItemArrow, OutlineItemIcon, OutlineItemLink, OutlineItemLinkText, OutlineItemNoArrow, OutlineItemPlaceholder, } from './Outline';
11
12
  const excludedTypes = [
@@ -67,6 +68,7 @@ export const DraggableTree = ({ tree, view, depth, can, }) => {
67
68
  const [dropSide, setDropSide] = useState();
68
69
  const [isOpen, setOpen] = useState(depth === 0);
69
70
  const ref = useRef(null);
71
+ const disableDragAndDrop = view ? isBodyLocked(view.state) : true;
70
72
  const { node, items, parent } = tree;
71
73
  const itemText = (node) => {
72
74
  const text = nodeTitle(node);
@@ -83,7 +85,7 @@ export const DraggableTree = ({ tree, view, depth, can, }) => {
83
85
  type: 'outline',
84
86
  item: tree,
85
87
  canDrag: () => {
86
- return depth !== 0;
88
+ return depth !== 0 && !disableDragAndDrop;
87
89
  },
88
90
  collect: (monitor) => ({
89
91
  isDragging: monitor.isDragging(),
@@ -92,6 +94,9 @@ export const DraggableTree = ({ tree, view, depth, can, }) => {
92
94
  const [{ isOver }, dropRef] = useDrop({
93
95
  accept: 'outline',
94
96
  canDrop(item, monitor) {
97
+ if (disableDragAndDrop) {
98
+ return false;
99
+ }
95
100
  if (isAbstractOrBackmatter(item) || isAbstractOrBackmatter(tree)) {
96
101
  return false;
97
102
  }
@@ -115,20 +120,20 @@ export const DraggableTree = ({ tree, view, depth, can, }) => {
115
120
  return tree.parent.canReplace(index, index, Fragment.from(item.node));
116
121
  },
117
122
  hover(item, monitor) {
118
- if (!ref.current || !monitor.canDrop()) {
123
+ if (disableDragAndDrop || !ref.current || !monitor.canDrop()) {
119
124
  return;
120
125
  }
121
126
  const side = getDropSide(ref.current, monitor);
122
127
  setDropSide(side);
123
128
  },
124
129
  drop(item, monitor) {
125
- if (!ref.current || !view) {
130
+ if (disableDragAndDrop || !ref.current || !view) {
126
131
  return;
127
132
  }
128
133
  const side = getDropSide(ref.current, monitor);
129
134
  const pos = side === 'before' ? tree.pos - 1 : tree.endPos - 1;
130
135
  let sourcePos = item.pos - 1;
131
- const node = item.node.type.schema.nodes[item.node.type.name].create(Object.assign({}, item.node.attrs), item.node.content);
136
+ const node = item.node.type.schema.nodes[item.node.type.name].create(Object.assign(Object.assign({}, item.node.attrs), { id: '' }), item.node.content);
132
137
  const tr = view.state.tr.insert(pos, node);
133
138
  sourcePos = tr.mapping.map(sourcePos);
134
139
  tr.delete(sourcePos, sourcePos + item.node.nodeSize);
@@ -155,7 +160,8 @@ export const DraggableTree = ({ tree, view, depth, can, }) => {
155
160
  dragRef(dropRef(ref));
156
161
  const dragClass = isDragging ? 'dragging' : '';
157
162
  const dropClass = isOver && dropSide ? `drop-${dropSide}` : '';
158
- return (React.createElement(Outline, { ref: ref, className: `${dragClass} ${dropClass} ${isDeletedItem && 'deleted'}` },
163
+ const deletedClass = isDeletedItem ? 'deleted' : '';
164
+ return (React.createElement(Outline, { ref: ref, className: `${dragClass} ${dropClass} ${deletedClass}` },
159
165
  !isTop && node.type.name != 'manuscript' && (React.createElement(OutlineItem, { depth: depth, onContextMenu: handleContextMenu },
160
166
  items.length ? (React.createElement(OutlineItemArrow, { onClick: toggleOpen }, isOpen ? React.createElement(TriangleExpandedIcon, null) : React.createElement(TriangleCollapsedIcon, null))) : (React.createElement(OutlineItemNoArrow, null)),
161
167
  React.createElement(OutlineItemLink, { to: `#${node.attrs.id}` },
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.8.63-LEAN-4160.2';
1
+ export const VERSION = '2.8.63';
2
2
  export const MATHJAX_VERSION = '3.2.2';
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.8.63-LEAN-4160.2";
1
+ export declare const VERSION = "2.8.63";
2
2
  export declare const MATHJAX_VERSION = "3.2.2";
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": "2.8.63-LEAN-4160.2",
4
+ "version": "2.8.63",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-body-editor",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",
@@ -22,8 +22,8 @@
22
22
  "dependencies-versions": "node versions.mjs > src/versions.ts",
23
23
  "prettier": "prettier --write 'src/**/*.{ts,tsx}'",
24
24
  "prepare": "husky install",
25
- "preversion": "concurrently 'yarn:typecheck' 'yarn:lint' 'yarn:test'",
26
25
  "pretest": "yarn prebuild",
26
+ "preversion": "concurrently 'yarn:typecheck' 'yarn:lint' 'yarn:test'",
27
27
  "test": "jest --runInBand",
28
28
  "typecheck": "tsc --noEmit",
29
29
  "version": "yarn build"
@@ -33,7 +33,7 @@
33
33
  "@manuscripts/json-schema": "2.2.11",
34
34
  "@manuscripts/library": "1.3.14",
35
35
  "@manuscripts/style-guide": "2.1.10",
36
- "@manuscripts/track-changes-plugin": "1.10.5-LEAN-4160.6",
36
+ "@manuscripts/track-changes-plugin": "1.10.4",
37
37
  "@manuscripts/transform": "3.0.62",
38
38
  "@popperjs/core": "^2.11.8",
39
39
  "astrocite-eutils": "^0.16.4",
@@ -759,8 +759,6 @@ figure.block:has(.equation.selected-suggestion) {
759
759
  .block,
760
760
  .tracking-visible
761
761
  .selected-suggestion[data-track-op='wrap_with_node'][data-track-status='pending']
762
- .block, .tracking-visible
763
- .selected-suggestion[data-track-op='move'][data-track-status='pending']
764
762
  .block {
765
763
  box-shadow: inset 6px 0 0 var(--inserted-pending-color),
766
764
  inset 9px 0 0 var(--inserted-pending-bg-color) !important;