@manuscripts/body-editor 3.15.0 → 3.16.0
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/dist/cjs/components/affiliations/AffiliationsModal.js +9 -9
- package/dist/cjs/components/authors/AuthorsModal.js +9 -7
- package/dist/cjs/components/references/ImportBibliographyForm.js +5 -2
- package/dist/cjs/components/references/ReferenceSearch.js +2 -2
- package/dist/cjs/components/references/ReferencesModal.js +2 -2
- package/dist/cjs/lib/__tests__/plugins.test.js +1 -0
- package/dist/cjs/plugins/affiliations.js +6 -3
- package/dist/cjs/plugins/bibliography.js +6 -3
- package/dist/cjs/plugins/cross-references.js +5 -2
- package/dist/cjs/plugins/footnotes.js +6 -3
- package/dist/cjs/testing/default-editor-data.js +1 -0
- package/dist/cjs/versions.js +1 -1
- package/dist/cjs/views/embed.js +2 -2
- package/dist/cjs/views/footnote.js +2 -2
- package/dist/es/components/affiliations/AffiliationsModal.js +1 -1
- package/dist/es/components/authors/AuthorsModal.js +3 -1
- package/dist/es/components/references/ImportBibliographyForm.js +1 -1
- package/dist/es/components/references/ReferenceSearch.js +1 -1
- package/dist/es/components/references/ReferencesModal.js +1 -1
- package/dist/es/lib/__tests__/plugins.test.js +1 -0
- package/dist/es/plugins/affiliations.js +1 -1
- package/dist/es/plugins/bibliography.js +1 -1
- package/dist/es/plugins/cross-references.js +1 -1
- package/dist/es/plugins/footnotes.js +1 -1
- package/dist/es/testing/default-editor-data.js +1 -0
- package/dist/es/versions.js +1 -1
- package/dist/es/views/embed.js +1 -1
- package/dist/es/views/footnote.js +1 -1
- package/dist/types/versions.d.ts +1 -1
- package/package.json +4 -4
- package/src/components/affiliations/AffiliationsModal.tsx +1 -1
- package/src/components/authors/AuthorsModal.tsx +3 -1
- package/src/components/references/ImportBibliographyForm.tsx +1 -1
- package/src/components/references/ReferenceSearch.tsx +1 -1
- package/src/components/references/ReferencesModal.tsx +1 -1
- package/src/lib/__tests__/plugins.test.ts +1 -0
- package/src/plugins/affiliations.ts +1 -1
- package/src/plugins/bibliography.ts +1 -1
- package/src/plugins/cross-references.ts +1 -1
- package/src/plugins/footnotes.ts +1 -1
- package/src/testing/default-editor-data.ts +1 -0
- package/src/versions.ts +1 -1
- package/src/views/embed.ts +1 -1
- package/src/views/footnote.ts +1 -1
|
@@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.AffiliationsModal = void 0;
|
|
40
40
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
41
41
|
const transform_1 = require("@manuscripts/transform");
|
|
42
|
-
const
|
|
42
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
43
43
|
const react_1 = __importStar(require("react"));
|
|
44
44
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
45
45
|
const authors_1 = require("../../lib/authors");
|
|
@@ -126,11 +126,11 @@ const AffiliationsModal = ({ authors: $authors, affiliations: $affiliations, aff
|
|
|
126
126
|
}, []);
|
|
127
127
|
const handleClose = () => {
|
|
128
128
|
const values = valuesRef.current;
|
|
129
|
-
const hasAffiliationChanges = selection && !(0,
|
|
129
|
+
const hasAffiliationChanges = selection && !(0, isEqual_1.default)(values, (0, normalize_1.checkID)(selection, 'affiliation'));
|
|
130
130
|
const originalAuthors = selection
|
|
131
131
|
? (affiliationAuthorMap.get(selection.id) ?? [])
|
|
132
132
|
: [];
|
|
133
|
-
const hasAuthorChanges = !(0,
|
|
133
|
+
const hasAuthorChanges = !(0, isEqual_1.default)(originalAuthors.sort(), selectedAuthorIds.sort());
|
|
134
134
|
const hasChanges = hasAffiliationChanges || (selection && hasAuthorChanges);
|
|
135
135
|
const isInstitutionEmpty = values?.institution?.trim() === '';
|
|
136
136
|
if (hasChanges) {
|
|
@@ -149,11 +149,11 @@ const AffiliationsModal = ({ authors: $authors, affiliations: $affiliations, aff
|
|
|
149
149
|
};
|
|
150
150
|
const handleSelect = (affiliation) => {
|
|
151
151
|
const values = valuesRef.current;
|
|
152
|
-
const hasAffiliationChanges = selection && !(0,
|
|
152
|
+
const hasAffiliationChanges = selection && !(0, isEqual_1.default)(values, (0, normalize_1.checkID)(selection, 'affiliation'));
|
|
153
153
|
const originalAuthors = selection
|
|
154
154
|
? (affiliationAuthorMap.get(selection.id) ?? [])
|
|
155
155
|
: [];
|
|
156
|
-
const hasAuthorChanges = !(0,
|
|
156
|
+
const hasAuthorChanges = !(0, isEqual_1.default)(originalAuthors.sort(), selectedAuthorIds.sort());
|
|
157
157
|
const hasChanges = hasAffiliationChanges || hasAuthorChanges;
|
|
158
158
|
const isInstitutionEmpty = values?.institution?.trim() === '';
|
|
159
159
|
if (hasChanges) {
|
|
@@ -234,9 +234,9 @@ const AffiliationsModal = ({ authors: $authors, affiliations: $affiliations, aff
|
|
|
234
234
|
}
|
|
235
235
|
const isInstitutionEmpty = !values.institution?.trim();
|
|
236
236
|
const hasAffiliationChanges = selection &&
|
|
237
|
-
!(0,
|
|
237
|
+
!(0, isEqual_1.default)((0, normalize_1.checkID)(values, 'affiliation'), (0, normalize_1.checkID)(selection, 'affiliation'));
|
|
238
238
|
const originalAuthors = affiliationAuthorMap.get(selection.id) ?? [];
|
|
239
|
-
const hasAuthorChanges = selection && !(0,
|
|
239
|
+
const hasAuthorChanges = selection && !(0, isEqual_1.default)(originalAuthors.sort(), selectedAuthorIds.sort());
|
|
240
240
|
const shouldEnableSave = !isInstitutionEmpty && (hasAffiliationChanges || hasAuthorChanges);
|
|
241
241
|
setIsDisableSave(!shouldEnableSave);
|
|
242
242
|
};
|
|
@@ -272,9 +272,9 @@ const AffiliationsModal = ({ authors: $authors, affiliations: $affiliations, aff
|
|
|
272
272
|
? selectedAuthorIds.filter((id) => id !== authorId)
|
|
273
273
|
: [...selectedAuthorIds, authorId];
|
|
274
274
|
setSelectedAuthorIds(newSelectedAuthorIds);
|
|
275
|
-
const hasAffiliationChanges = !(0,
|
|
275
|
+
const hasAffiliationChanges = !(0, isEqual_1.default)(valuesRef.current, (0, normalize_1.checkID)(selection, 'affiliation'));
|
|
276
276
|
const originalAuthors = affiliationAuthorMap.get(selection.id) ?? [];
|
|
277
|
-
const hasAuthorChanges = !(0,
|
|
277
|
+
const hasAuthorChanges = !(0, isEqual_1.default)(originalAuthors.sort(), newSelectedAuthorIds.sort());
|
|
278
278
|
const isInstitutionEmpty = !valuesRef.current?.institution?.trim();
|
|
279
279
|
const shouldEnableSave = !isInstitutionEmpty && (hasAffiliationChanges || hasAuthorChanges);
|
|
280
280
|
setIsDisableSave(!shouldEnableSave);
|
|
@@ -54,7 +54,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
54
54
|
exports.AuthorsModal = exports.authorsReducer = void 0;
|
|
55
55
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
56
56
|
const transform_1 = require("@manuscripts/transform");
|
|
57
|
-
const
|
|
57
|
+
const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
|
|
58
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
59
|
+
const omit_1 = __importDefault(require("lodash/omit"));
|
|
58
60
|
const react_1 = __importStar(require("react"));
|
|
59
61
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
60
62
|
const array_reducer_1 = require("../../lib/array-reducer");
|
|
@@ -139,7 +141,7 @@ const AuthorsModal = ({ authors: $authors, affiliations: $affiliations, author,
|
|
|
139
141
|
if (values && selection) {
|
|
140
142
|
const normalizedSelection = (0, normalize_1.normalizeAuthor)(selection);
|
|
141
143
|
const normalizedValues = (0, normalize_1.normalizeAuthor)(values);
|
|
142
|
-
const hasChanges = !(0,
|
|
144
|
+
const hasChanges = !(0, isEqual_1.default)(normalizedSelection, normalizedValues);
|
|
143
145
|
if (hasChanges && !isDisableSave) {
|
|
144
146
|
setShowConfirmationDialog(true);
|
|
145
147
|
setNextAuthor(author);
|
|
@@ -227,7 +229,7 @@ const AuthorsModal = ({ authors: $authors, affiliations: $affiliations, author,
|
|
|
227
229
|
});
|
|
228
230
|
};
|
|
229
231
|
const moveAuthor = (0, react_1.useCallback)((from, to, shift) => {
|
|
230
|
-
const copy = (0,
|
|
232
|
+
const copy = (0, cloneDeep_1.default)(authors);
|
|
231
233
|
const order = copy.map((a, i) => {
|
|
232
234
|
if (a.id === from.id) {
|
|
233
235
|
if (to.priority) {
|
|
@@ -265,7 +267,7 @@ const AuthorsModal = ({ authors: $authors, affiliations: $affiliations, author,
|
|
|
265
267
|
setIsCreatingNewAuthor(true);
|
|
266
268
|
if (values &&
|
|
267
269
|
selection &&
|
|
268
|
-
!(0,
|
|
270
|
+
!(0, isEqual_1.default)((0, normalize_1.normalizeAuthor)(values), (0, normalize_1.normalizeAuthor)(selection))) {
|
|
269
271
|
if (isDisableSave) {
|
|
270
272
|
setShowRequiredFieldConfirmationDialog(true);
|
|
271
273
|
}
|
|
@@ -307,10 +309,10 @@ const AuthorsModal = ({ authors: $authors, affiliations: $affiliations, author,
|
|
|
307
309
|
setIsCreatingNewAuthor(false);
|
|
308
310
|
};
|
|
309
311
|
const changeAuthor = (values) => {
|
|
310
|
-
const normalized = (0,
|
|
311
|
-
const updatedValues = (0,
|
|
312
|
+
const normalized = (0, omit_1.default)((0, normalize_1.normalizeAuthor)(selection), 'priority');
|
|
313
|
+
const updatedValues = (0, omit_1.default)((0, normalize_1.normalizeAuthor)(values), 'priority');
|
|
312
314
|
const isSameAuthor = updatedValues.id === normalized.id;
|
|
313
|
-
const hasChanges = !(0,
|
|
315
|
+
const hasChanges = !(0, isEqual_1.default)(updatedValues, normalized);
|
|
314
316
|
setUnSavedChanges(isSameAuthor && hasChanges);
|
|
315
317
|
valuesRef.current = { ...updatedValues, priority: values.priority };
|
|
316
318
|
const { given, family, email, isCorresponding } = values;
|
|
@@ -47,11 +47,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
47
47
|
return result;
|
|
48
48
|
};
|
|
49
49
|
})();
|
|
50
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
+
};
|
|
50
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
54
|
exports.ImportBibliographyForm = void 0;
|
|
52
55
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
53
56
|
const formik_1 = require("formik");
|
|
54
|
-
const
|
|
57
|
+
const debounce_1 = __importDefault(require("lodash/debounce"));
|
|
55
58
|
const react_1 = __importStar(require("react"));
|
|
56
59
|
const styled_components_1 = __importStar(require("styled-components"));
|
|
57
60
|
const references_1 = require("../../lib/references");
|
|
@@ -90,7 +93,7 @@ const ImportBibliographyForm = ({ onCancel, onSave, }) => {
|
|
|
90
93
|
formik.setFieldValue('data', []);
|
|
91
94
|
}
|
|
92
95
|
}, []);
|
|
93
|
-
const debouncedGenerateData = (0, react_1.useMemo)(() => (0,
|
|
96
|
+
const debouncedGenerateData = (0, react_1.useMemo)(() => (0, debounce_1.default)(setDataField, 300), [setDataField]);
|
|
94
97
|
(0, react_1.useEffect)(() => {
|
|
95
98
|
debouncedGenerateData(formik.values.content);
|
|
96
99
|
}, [debouncedGenerateData, formik.values.content]);
|
|
@@ -53,7 +53,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
54
|
exports.ReferenceSearch = void 0;
|
|
55
55
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
56
|
-
const
|
|
56
|
+
const debounce_1 = __importDefault(require("lodash/debounce"));
|
|
57
57
|
const react_1 = __importStar(require("react"));
|
|
58
58
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
59
59
|
const BibliographyItemSource_1 = require("./BibliographyItemSource");
|
|
@@ -111,7 +111,7 @@ const ReferenceSearch = ({ query: initialQuery, sources, items, onAdd, onImport,
|
|
|
111
111
|
const items = Array.from(selections.values());
|
|
112
112
|
return onCite(items);
|
|
113
113
|
};
|
|
114
|
-
const debouncedSetQuery = (0,
|
|
114
|
+
const debouncedSetQuery = (0, debounce_1.default)((e) => {
|
|
115
115
|
setQuery(e.target.value.trim());
|
|
116
116
|
}, 800);
|
|
117
117
|
return (react_1.default.createElement(Container, { "data-cy": 'reference-finder' },
|
|
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.ReferencesModal = void 0;
|
|
40
40
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
41
|
-
const
|
|
41
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
42
42
|
const react_1 = __importStar(require("react"));
|
|
43
43
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
44
44
|
const ReferenceForm_1 = require("./ReferenceForm/ReferenceForm");
|
|
@@ -214,7 +214,7 @@ const ReferencesModal = ({ isOpen, onCancel, items, item, citationCounts, onSave
|
|
|
214
214
|
};
|
|
215
215
|
const handleItemClick = (item) => {
|
|
216
216
|
const values = valuesRef.current;
|
|
217
|
-
if (values && selection && !(0,
|
|
217
|
+
if (values && selection && !(0, isEqual_1.default)(values, normalize(selection))) {
|
|
218
218
|
setConfirm(true);
|
|
219
219
|
return;
|
|
220
220
|
}
|
|
@@ -14,11 +14,14 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
21
|
exports.buildPluginState = exports.affiliationsKey = void 0;
|
|
19
22
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
20
23
|
const transform_1 = require("@manuscripts/transform");
|
|
21
|
-
const
|
|
24
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
22
25
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
23
26
|
const prosemirror_view_1 = require("prosemirror-view");
|
|
24
27
|
const authors_1 = require("../lib/authors");
|
|
@@ -42,8 +45,8 @@ const buildPluginState = (doc, $old) => {
|
|
|
42
45
|
}
|
|
43
46
|
});
|
|
44
47
|
if ($old &&
|
|
45
|
-
(0,
|
|
46
|
-
(0,
|
|
48
|
+
(0, isEqual_1.default)(contributors, $old.contributors) &&
|
|
49
|
+
(0, isEqual_1.default)(affiliations, $old.affiliations)) {
|
|
47
50
|
return $old;
|
|
48
51
|
}
|
|
49
52
|
const iAffiliations = new Set();
|
|
@@ -47,11 +47,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
47
47
|
return result;
|
|
48
48
|
};
|
|
49
49
|
})();
|
|
50
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
+
};
|
|
50
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
54
|
exports.getBibliographyPluginState = exports.buildDecorations = exports.bibliographyKey = void 0;
|
|
52
55
|
const transform_1 = require("@manuscripts/transform");
|
|
53
56
|
const Citeproc = __importStar(require("citeproc"));
|
|
54
|
-
const
|
|
57
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
55
58
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
56
59
|
const prosemirror_view_1 = require("prosemirror-view");
|
|
57
60
|
exports.bibliographyKey = new prosemirror_state_1.PluginKey('bibliography');
|
|
@@ -100,8 +103,8 @@ const buildBibliographyPluginState = (doc, csl, $old) => {
|
|
|
100
103
|
return $new;
|
|
101
104
|
}
|
|
102
105
|
if ($old &&
|
|
103
|
-
(0,
|
|
104
|
-
(0,
|
|
106
|
+
(0, isEqual_1.default)(citations, $old.citations) &&
|
|
107
|
+
(0, isEqual_1.default)(bibliographyItems, $old.bibliographyItems)) {
|
|
105
108
|
$new.version = $old.version;
|
|
106
109
|
$new.citationCounts = $old.citationCounts;
|
|
107
110
|
$new.engine = $old.engine;
|
|
@@ -14,10 +14,13 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
21
|
const transform_1 = require("@manuscripts/transform");
|
|
19
22
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
20
|
-
const
|
|
23
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
21
24
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
22
25
|
const prosemirror_view_1 = require("prosemirror-view");
|
|
23
26
|
const openModal_1 = require("../components/cross-ref-check-modal/openModal");
|
|
@@ -79,7 +82,7 @@ exports.default = () => {
|
|
|
79
82
|
let decoSet = oldDecorationSet;
|
|
80
83
|
const oldTargets = objects_1.objectsKey.getState(oldState);
|
|
81
84
|
const newTargets = objects_1.objectsKey.getState(newState);
|
|
82
|
-
if (tr.docChanged && !(0,
|
|
85
|
+
if (tr.docChanged && !(0, isEqual_1.default)(oldTargets, newTargets)) {
|
|
83
86
|
const decorations = createDecorations(tr.doc);
|
|
84
87
|
decoSet = prosemirror_view_1.DecorationSet.create(tr.doc, decorations);
|
|
85
88
|
}
|
|
@@ -14,11 +14,14 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
21
|
exports.footnotesKey = void 0;
|
|
19
22
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
20
23
|
const transform_1 = require("@manuscripts/transform");
|
|
21
|
-
const
|
|
24
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
22
25
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
23
26
|
const prosemirror_utils_1 = require("prosemirror-utils");
|
|
24
27
|
const prosemirror_view_1 = require("prosemirror-view");
|
|
@@ -99,8 +102,8 @@ const buildFootnotesElementState = (container, element) => {
|
|
|
99
102
|
const hasChanged = ($new, $old) => {
|
|
100
103
|
const nids = $new.footnotes.map(([node]) => node.attrs.id);
|
|
101
104
|
const oids = $old?.footnotes.map(([node]) => node.attrs.id);
|
|
102
|
-
return !((0,
|
|
103
|
-
(0,
|
|
105
|
+
return !((0, isEqual_1.default)(nids, oids) &&
|
|
106
|
+
(0, isEqual_1.default)($new.unusedFootnoteIDs, $old?.unusedFootnoteIDs));
|
|
104
107
|
};
|
|
105
108
|
exports.default = (props) => {
|
|
106
109
|
return new prosemirror_state_1.Plugin({
|
package/dist/cjs/versions.js
CHANGED
package/dist/cjs/views/embed.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.EmbedView = void 0;
|
|
7
|
-
const
|
|
7
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
8
8
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
9
9
|
const InsertEmbedDialog_1 = require("../components/toolbar/InsertEmbedDialog");
|
|
10
10
|
const get_media_type_1 = require("../lib/get-media-type");
|
|
@@ -101,7 +101,7 @@ class EmbedView extends block_view_1.default {
|
|
|
101
101
|
super.updateContents();
|
|
102
102
|
const { href, mimetype, mimeSubtype } = this.node.attrs;
|
|
103
103
|
const currentAttrs = { href, mimetype, mimeSubtype };
|
|
104
|
-
const contentChanged = !this.initialized || !(0,
|
|
104
|
+
const contentChanged = !this.initialized || !(0, isEqual_1.default)(this.previousAttrs, currentAttrs);
|
|
105
105
|
if (contentChanged) {
|
|
106
106
|
this.initialized = true;
|
|
107
107
|
this.previousAttrs = currentAttrs;
|
|
@@ -22,7 +22,7 @@ exports.FootnoteView = void 0;
|
|
|
22
22
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
23
23
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
24
24
|
const transform_1 = require("@manuscripts/transform");
|
|
25
|
-
const
|
|
25
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
26
26
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
27
27
|
const prosemirror_utils_1 = require("prosemirror-utils");
|
|
28
28
|
const DeleteFootnoteDialog_1 = require("../components/views/DeleteFootnoteDialog");
|
|
@@ -93,7 +93,7 @@ class FootnoteView extends base_node_view_1.BaseNodeView {
|
|
|
93
93
|
fns?.inlineFootnotes.forEach(([node, pos]) => {
|
|
94
94
|
pos = tr.mapping.map(pos);
|
|
95
95
|
const rids = node.attrs.rids.filter((rid) => rid !== id);
|
|
96
|
-
if ((0,
|
|
96
|
+
if ((0, isEqual_1.default)(rids, node.attrs.rids)) {
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
if (!rids.length) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AddIcon, AffiliationPlaceholderIcon, CloseButton, InspectorTabPanel, InspectorTabPanels, InspectorTabs, outlineStyle, ModalBody, ModalContainer, ModalHeader, ModalSidebar, ModalSidebarHeader, ModalSidebarTitle, ScrollableModalContent, SidebarContent, StyledModal, } from '@manuscripts/style-guide';
|
|
2
2
|
import { generateNodeID, schema } from '@manuscripts/transform';
|
|
3
|
-
import
|
|
3
|
+
import isEqual from 'lodash/isEqual';
|
|
4
4
|
import React, { useCallback, useEffect, useReducer, useRef, useState, } from 'react';
|
|
5
5
|
import styled from 'styled-components';
|
|
6
6
|
import { authorComparator, } from '../../lib/authors';
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { AddIcon, AuthorPlaceholderIcon, CloseButton, FormSubtitle, ModalBody, ModalContainer, ModalHeader, ModalSidebar, ModalSidebarHeader, ModalSidebarTitle, outlineStyle, ScrollableModalContent, SidebarContent, StyledModal, InspectorTabs, InspectorTabPanel, InspectorTabPanels, } from '@manuscripts/style-guide';
|
|
17
17
|
import { generateNodeID, schema } from '@manuscripts/transform';
|
|
18
|
-
import
|
|
18
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
19
|
+
import isEqual from 'lodash/isEqual';
|
|
20
|
+
import omit from 'lodash/omit';
|
|
19
21
|
import React, { useCallback, useEffect, useReducer, useRef, useState, } from 'react';
|
|
20
22
|
import styled from 'styled-components';
|
|
21
23
|
import { arrayReducer } from '../../lib/array-reducer';
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { FormActionsBar, FormRow, Label, outlineStyle, PrimaryButton, SecondaryButton, TextArea, } from '@manuscripts/style-guide';
|
|
17
17
|
import { useFormik } from 'formik';
|
|
18
|
-
import
|
|
18
|
+
import debounce from 'lodash/debounce';
|
|
19
19
|
import React, { useCallback, useEffect, useMemo, useRef, useState, } from 'react';
|
|
20
20
|
import styled, { css } from 'styled-components';
|
|
21
21
|
import { importBibliographyItems } from '../../lib/references';
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { AddNewIcon, ButtonGroup, IconTextButton, PrimaryButton, SecondaryButton, UploadIcon, withFocusTrap, } from '@manuscripts/style-guide';
|
|
17
|
-
import
|
|
17
|
+
import debounce from 'lodash/debounce';
|
|
18
18
|
import React, { useState } from 'react';
|
|
19
19
|
import styled from 'styled-components';
|
|
20
20
|
import { DocumentReferenceSource, } from './BibliographyItemSource';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Category, CitationCountIcon, CloseButton, Dialog, ModalBody, ModalContainer, ModalHeader, ModalSidebar, ModalSidebarHeader, ModalSidebarTitle, ScrollableModalContent, SidebarContent, StyledModal, useScrollDetection, withListNavigation, withNavigableListItem, } from '@manuscripts/style-guide';
|
|
2
|
-
import
|
|
2
|
+
import isEqual from 'lodash/isEqual';
|
|
3
3
|
import React, { useEffect, useRef, useState } from 'react';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
import { ReferenceForm, } from './ReferenceForm/ReferenceForm';
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { isDeleted } from '@manuscripts/track-changes-plugin';
|
|
17
17
|
import { isAffiliationNode, isContributorNode, } from '@manuscripts/transform';
|
|
18
|
-
import
|
|
18
|
+
import isEqual from 'lodash/isEqual';
|
|
19
19
|
import { Plugin, PluginKey } from 'prosemirror-state';
|
|
20
20
|
import { Decoration, DecorationSet } from 'prosemirror-view';
|
|
21
21
|
import { authorComparator, } from '../lib/authors';
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { buildCiteprocCitation, isBibliographyElementNode, isBibliographyItemNode, isCitationNode, } from '@manuscripts/transform';
|
|
17
17
|
import * as Citeproc from 'citeproc';
|
|
18
|
-
import
|
|
18
|
+
import isEqual from 'lodash/isEqual';
|
|
19
19
|
import { Plugin, PluginKey } from 'prosemirror-state';
|
|
20
20
|
import { Decoration, DecorationSet } from 'prosemirror-view';
|
|
21
21
|
export const bibliographyKey = new PluginKey('bibliography');
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { schema, } from '@manuscripts/transform';
|
|
17
17
|
import { trackChangesPluginKey } from '@manuscripts/track-changes-plugin';
|
|
18
|
-
import
|
|
18
|
+
import isEqual from 'lodash/isEqual';
|
|
19
19
|
import { NodeSelection, Plugin } from 'prosemirror-state';
|
|
20
20
|
import { Decoration, DecorationSet } from 'prosemirror-view';
|
|
21
21
|
import { openCrossRefWarningModal } from '../components/cross-ref-check-modal/openModal';
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { skipTracking } from '@manuscripts/track-changes-plugin';
|
|
17
17
|
import { generateAlphaFootnoteLabel, isTableElementNode, schema, } from '@manuscripts/transform';
|
|
18
|
-
import
|
|
18
|
+
import isEqual from 'lodash/isEqual';
|
|
19
19
|
import { Plugin, PluginKey, TextSelection } from 'prosemirror-state';
|
|
20
20
|
import { findChildrenByType } from 'prosemirror-utils';
|
|
21
21
|
import { Decoration, DecorationSet } from 'prosemirror-view';
|
package/dist/es/versions.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '3.
|
|
1
|
+
export const VERSION = '3.16.0';
|
|
2
2
|
export const MATHJAX_VERSION = '3.2.2';
|
package/dist/es/views/embed.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import isEqual from 'lodash/isEqual';
|
|
2
2
|
import { NodeSelection } from 'prosemirror-state';
|
|
3
3
|
import { NoPreviewMessageWithLink, openEmbedDialog, } from '../components/toolbar/InsertEmbedDialog';
|
|
4
4
|
import { getMediaTypeInfo } from '../lib/get-media-type';
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { ContextMenu } from '@manuscripts/style-guide';
|
|
17
17
|
import { isDeleted, isPendingInsert } from '@manuscripts/track-changes-plugin';
|
|
18
18
|
import { schema } from '@manuscripts/transform';
|
|
19
|
-
import
|
|
19
|
+
import isEqual from 'lodash/isEqual';
|
|
20
20
|
import { NodeSelection } from 'prosemirror-state';
|
|
21
21
|
import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
|
|
22
22
|
import { DeleteFootnoteDialog, } from '../components/views/DeleteFootnoteDialog';
|
package/dist/types/versions.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "3.
|
|
1
|
+
export declare const VERSION = "3.16.0";
|
|
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": "3.
|
|
4
|
+
"version": "3.16.0",
|
|
5
5
|
"repository": "github:Atypon-OpenSource/manuscripts-body-editor",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"main": "dist/cjs",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@iarna/word-count": "1.1.2",
|
|
44
44
|
"@manuscripts/style-guide": "3.7.0",
|
|
45
45
|
"@manuscripts/track-changes-plugin": "2.4.0",
|
|
46
|
-
"@manuscripts/transform": "4.
|
|
46
|
+
"@manuscripts/transform": "4.5.0",
|
|
47
47
|
"@popperjs/core": "2.11.8",
|
|
48
48
|
"citeproc": "2.4.63",
|
|
49
49
|
"codemirror": "5.65.19",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"jest": "30.4.2",
|
|
109
109
|
"jest-environment-jsdom": "30.4.1",
|
|
110
110
|
"jest-prosemirror": "3.0.1",
|
|
111
|
-
"npm-run-all2": "
|
|
111
|
+
"npm-run-all2": "8.0.4",
|
|
112
112
|
"prettier": "3.8.3",
|
|
113
113
|
"regenerator-runtime": "0.14.1",
|
|
114
114
|
"rimraf": "6.1.3",
|
|
@@ -118,4 +118,4 @@
|
|
|
118
118
|
"engines": {
|
|
119
119
|
"node": ">=22"
|
|
120
120
|
}
|
|
121
|
-
}
|
|
121
|
+
}
|
|
@@ -34,7 +34,9 @@ import {
|
|
|
34
34
|
InspectorTabPanels,
|
|
35
35
|
} from '@manuscripts/style-guide'
|
|
36
36
|
import { generateNodeID, schema } from '@manuscripts/transform'
|
|
37
|
-
import
|
|
37
|
+
import cloneDeep from 'lodash/cloneDeep'
|
|
38
|
+
import isEqual from 'lodash/isEqual'
|
|
39
|
+
import omit from 'lodash/omit'
|
|
38
40
|
import React, {
|
|
39
41
|
useCallback,
|
|
40
42
|
useEffect,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from '@manuscripts/style-guide'
|
|
26
26
|
import { BibliographyItemAttrs } from '@manuscripts/transform'
|
|
27
27
|
import { useFormik } from 'formik'
|
|
28
|
-
import
|
|
28
|
+
import debounce from 'lodash/debounce'
|
|
29
29
|
import React, {
|
|
30
30
|
KeyboardEvent,
|
|
31
31
|
useCallback,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
withFocusTrap,
|
|
25
25
|
} from '@manuscripts/style-guide'
|
|
26
26
|
import { BibliographyItemAttrs } from '@manuscripts/transform'
|
|
27
|
-
import
|
|
27
|
+
import debounce from 'lodash/debounce'
|
|
28
28
|
import React, { useState } from 'react'
|
|
29
29
|
import styled from 'styled-components'
|
|
30
30
|
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
withNavigableListItem,
|
|
33
33
|
} from '@manuscripts/style-guide'
|
|
34
34
|
import { BibliographyItemAttrs } from '@manuscripts/transform'
|
|
35
|
-
import
|
|
35
|
+
import isEqual from 'lodash/isEqual'
|
|
36
36
|
import React, { useEffect, useRef, useState } from 'react'
|
|
37
37
|
import styled from 'styled-components'
|
|
38
38
|
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
isContributorNode,
|
|
25
25
|
ManuscriptNode,
|
|
26
26
|
} from '@manuscripts/transform'
|
|
27
|
-
import
|
|
27
|
+
import isEqual from 'lodash/isEqual'
|
|
28
28
|
import { Plugin, PluginKey } from 'prosemirror-state'
|
|
29
29
|
import { Decoration, DecorationSet } from 'prosemirror-view'
|
|
30
30
|
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
ManuscriptNode,
|
|
25
25
|
} from '@manuscripts/transform'
|
|
26
26
|
import * as Citeproc from 'citeproc'
|
|
27
|
-
import
|
|
27
|
+
import isEqual from 'lodash/isEqual'
|
|
28
28
|
import { EditorState, Plugin, PluginKey } from 'prosemirror-state'
|
|
29
29
|
import { Decoration, DecorationSet } from 'prosemirror-view'
|
|
30
30
|
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
Target,
|
|
22
22
|
} from '@manuscripts/transform'
|
|
23
23
|
import { trackChangesPluginKey } from '@manuscripts/track-changes-plugin'
|
|
24
|
-
import
|
|
24
|
+
import isEqual from 'lodash/isEqual'
|
|
25
25
|
import { Node, ResolvedPos } from 'prosemirror-model'
|
|
26
26
|
import { NodeSelection, Plugin, Transaction } from 'prosemirror-state'
|
|
27
27
|
import { Decoration, DecorationSet, EditorView } from 'prosemirror-view'
|
package/src/plugins/footnotes.ts
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
ManuscriptNode,
|
|
25
25
|
schema,
|
|
26
26
|
} from '@manuscripts/transform'
|
|
27
|
-
import
|
|
27
|
+
import isEqual from 'lodash/isEqual'
|
|
28
28
|
import { Plugin, PluginKey, TextSelection } from 'prosemirror-state'
|
|
29
29
|
import { findChildrenByType } from 'prosemirror-utils'
|
|
30
30
|
import { Decoration, DecorationSet } from 'prosemirror-view'
|
package/src/versions.ts
CHANGED
package/src/views/embed.ts
CHANGED
package/src/views/footnote.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { ContextMenu, ContextMenuProps } from '@manuscripts/style-guide'
|
|
|
18
18
|
import { isDeleted, isPendingInsert } from '@manuscripts/track-changes-plugin'
|
|
19
19
|
import { FootnoteNode, ManuscriptNode, schema } from '@manuscripts/transform'
|
|
20
20
|
|
|
21
|
-
import
|
|
21
|
+
import isEqual from 'lodash/isEqual'
|
|
22
22
|
import { NodeSelection, Transaction } from 'prosemirror-state'
|
|
23
23
|
import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils'
|
|
24
24
|
|