@manuscripts/transform 2.3.3-LEAN-3519-1 → 2.3.3-LEAN-3582
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/jats/importer/jats-body-dom-parser.js +0 -18
- package/dist/cjs/jats/importer/jats-body-transformations.js +0 -12
- package/dist/cjs/jats/importer/jats-parser-utils.js +0 -4
- package/dist/cjs/jats/importer/parse-jats-article.js +5 -1
- package/dist/cjs/jats/jats-exporter.js +0 -3
- package/dist/cjs/schema/index.js +0 -3
- package/dist/cjs/schema/nodes/table_element_footer.js +1 -1
- package/dist/cjs/transformer/decode.js +2 -23
- package/dist/cjs/transformer/encode.js +1 -14
- package/dist/cjs/transformer/object-types.js +0 -1
- package/dist/es/jats/importer/jats-body-dom-parser.js +0 -18
- package/dist/es/jats/importer/jats-body-transformations.js +0 -12
- package/dist/es/jats/importer/jats-parser-utils.js +0 -4
- package/dist/es/jats/importer/parse-jats-article.js +5 -1
- package/dist/es/jats/jats-exporter.js +0 -3
- package/dist/es/schema/index.js +0 -3
- package/dist/es/schema/nodes/table_element_footer.js +1 -1
- package/dist/es/transformer/decode.js +2 -23
- package/dist/es/transformer/encode.js +1 -14
- package/dist/es/transformer/object-types.js +0 -1
- package/dist/types/jats/importer/parse-jats-article.d.ts +1 -1
- package/dist/types/schema/index.d.ts +0 -1
- package/dist/types/schema/types.d.ts +1 -1
- package/dist/types/transformer/object-types.d.ts +1 -2
- package/package.json +2 -1
- package/dist/cjs/schema/nodes/general_table_footnote.js +0 -27
- package/dist/es/schema/nodes/general_table_footnote.js +0 -24
- package/dist/types/schema/nodes/general_table_footnote.d.ts +0 -25
|
@@ -315,24 +315,6 @@ const nodes = [
|
|
|
315
315
|
};
|
|
316
316
|
},
|
|
317
317
|
},
|
|
318
|
-
{
|
|
319
|
-
tag: 'general-table-footnote',
|
|
320
|
-
node: 'general_table_footnote',
|
|
321
|
-
context: 'table_element_footer/',
|
|
322
|
-
getAttrs: (node) => {
|
|
323
|
-
const element = node;
|
|
324
|
-
return {
|
|
325
|
-
id: element.getAttribute('id'),
|
|
326
|
-
};
|
|
327
|
-
},
|
|
328
|
-
getContent: (node) => {
|
|
329
|
-
const generalTableFootnote = schema_1.schema.nodes.paragraph.create();
|
|
330
|
-
const content = exports.jatsBodyDOMParser.parse(node, {
|
|
331
|
-
topNode: generalTableFootnote,
|
|
332
|
-
});
|
|
333
|
-
return prosemirror_model_1.Fragment.from([content]);
|
|
334
|
-
},
|
|
335
|
-
},
|
|
336
318
|
{
|
|
337
319
|
tag: 'fn',
|
|
338
320
|
node: 'footnote',
|
|
@@ -242,18 +242,6 @@ exports.jatsBodyTransformations = {
|
|
|
242
242
|
}
|
|
243
243
|
tableWrap.insertBefore(colgroup, table.nextSibling);
|
|
244
244
|
}
|
|
245
|
-
const tableFootWrap = tableWrap.querySelector('table-wrap-foot');
|
|
246
|
-
if (tableFootWrap) {
|
|
247
|
-
const paragraphs = tableFootWrap.querySelectorAll(':scope > p');
|
|
248
|
-
if (paragraphs.length) {
|
|
249
|
-
const generalTableFootnote = createElement('general-table-footnote');
|
|
250
|
-
for (const paragraph of paragraphs) {
|
|
251
|
-
removeNodeFromParent(paragraph);
|
|
252
|
-
generalTableFootnote.append(paragraph);
|
|
253
|
-
}
|
|
254
|
-
tableFootWrap.prepend(generalTableFootnote);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
245
|
});
|
|
258
246
|
},
|
|
259
247
|
orderTableFootnote(doc, body) {
|
|
@@ -36,10 +36,6 @@ const updateNodeID = (node, replacements, warnings) => {
|
|
|
36
36
|
node.attrs = Object.assign(Object.assign({}, node.attrs), { id: `InlineMathFragment:${(0, uuid_1.v4)()}` });
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
if (node.type === schema_1.schema.nodes.general_table_footnote) {
|
|
40
|
-
node.attrs = Object.assign(Object.assign({}, node.attrs), { id: `GeneralTableFootnote:${(0, uuid_1.v4)()}` });
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
39
|
if (!('id' in node.attrs)) {
|
|
44
40
|
return;
|
|
45
41
|
}
|
|
@@ -87,9 +87,13 @@ const createBibliographyModels = (references) => {
|
|
|
87
87
|
models.push(...comments);
|
|
88
88
|
return models;
|
|
89
89
|
};
|
|
90
|
+
const clearUnsupportedChars = (input = '') => {
|
|
91
|
+
return input.replace(/[\u2028\u2029]/gim, ' ');
|
|
92
|
+
};
|
|
90
93
|
const createElementFn = (doc) => (tagName) => doc.createElement(tagName);
|
|
91
94
|
const generateIDs = (models) => models.map((m) => m._id ? m : Object.assign(Object.assign({}, m), { _id: (0, id_1.generateID)(m.objectType) }));
|
|
92
|
-
const parseJATSArticle = (
|
|
95
|
+
const parseJATSArticle = (rawDoc) => {
|
|
96
|
+
const doc = new DOMParser().parseFromString(clearUnsupportedChars(rawDoc), 'application/xml');
|
|
93
97
|
const article = doc.querySelector('article');
|
|
94
98
|
const front = doc.querySelector('front');
|
|
95
99
|
const body = doc.querySelector('body');
|
|
@@ -676,9 +676,6 @@ class JATSExporter {
|
|
|
676
676
|
equation: (node) => {
|
|
677
677
|
return this.createEquation(node);
|
|
678
678
|
},
|
|
679
|
-
general_table_footnote: (node) => {
|
|
680
|
-
return this.serializeNode(node.child(0));
|
|
681
|
-
},
|
|
682
679
|
inline_equation: (node) => {
|
|
683
680
|
const eqElement = this.document.createElement('inline-formula');
|
|
684
681
|
const equation = this.createEquation(node, true);
|
package/dist/cjs/schema/index.js
CHANGED
|
@@ -61,7 +61,6 @@ const figure_element_1 = require("./nodes/figure_element");
|
|
|
61
61
|
const footnote_1 = require("./nodes/footnote");
|
|
62
62
|
const footnotes_element_1 = require("./nodes/footnotes_element");
|
|
63
63
|
const footnotes_section_1 = require("./nodes/footnotes_section");
|
|
64
|
-
const general_table_footnote_1 = require("./nodes/general_table_footnote");
|
|
65
64
|
const graphical_abstract_section_1 = require("./nodes/graphical_abstract_section");
|
|
66
65
|
const hard_break_1 = require("./nodes/hard_break");
|
|
67
66
|
const highlight_marker_1 = require("./nodes/highlight_marker");
|
|
@@ -113,7 +112,6 @@ __exportStar(require("./nodes/equation_element"), exports);
|
|
|
113
112
|
__exportStar(require("./nodes/figcaption"), exports);
|
|
114
113
|
__exportStar(require("./nodes/figure"), exports);
|
|
115
114
|
__exportStar(require("./nodes/figure_element"), exports);
|
|
116
|
-
__exportStar(require("./nodes/general_table_footnote"), exports);
|
|
117
115
|
__exportStar(require("./nodes/footnote"), exports);
|
|
118
116
|
__exportStar(require("./nodes/footnotes_element"), exports);
|
|
119
117
|
__exportStar(require("./nodes/footnotes_section"), exports);
|
|
@@ -189,7 +187,6 @@ exports.schema = new prosemirror_model_1.Schema({
|
|
|
189
187
|
footnote: footnote_1.footnote,
|
|
190
188
|
footnotes_element: footnotes_element_1.footnotesElement,
|
|
191
189
|
footnotes_section: footnotes_section_1.footnotesSection,
|
|
192
|
-
general_table_footnote: general_table_footnote_1.generalTableFootnote,
|
|
193
190
|
graphical_abstract_section: graphical_abstract_section_1.graphicalAbstractSection,
|
|
194
191
|
hard_break: hard_break_1.hardBreak,
|
|
195
192
|
highlight_marker: highlight_marker_1.highlightMarker,
|
|
@@ -21,7 +21,7 @@ exports.tableElementFooter = {
|
|
|
21
21
|
id: { default: '' },
|
|
22
22
|
dataTracked: { default: null },
|
|
23
23
|
},
|
|
24
|
-
content: '
|
|
24
|
+
content: '(paragraph | footnotes_element)*',
|
|
25
25
|
group: 'block element',
|
|
26
26
|
toDOM: () => ['table-wrap-foot', 0],
|
|
27
27
|
};
|
|
@@ -38,7 +38,6 @@ const section_group_type_1 = require("../lib/section-group-type");
|
|
|
38
38
|
const schema_1 = require("../schema");
|
|
39
39
|
const builders_1 = require("./builders");
|
|
40
40
|
const highlight_markers_1 = require("./highlight-markers");
|
|
41
|
-
const id_1 = require("./id");
|
|
42
41
|
const object_types_1 = require("./object-types");
|
|
43
42
|
const section_category_1 = require("./section-category");
|
|
44
43
|
const timestamp_1 = require("./timestamp");
|
|
@@ -493,30 +492,10 @@ class Decoder {
|
|
|
493
492
|
},
|
|
494
493
|
[json_schema_1.ObjectTypes.TableElementFooter]: (data) => {
|
|
495
494
|
const model = data;
|
|
496
|
-
const
|
|
497
|
-
const generalTableFootnotes = [];
|
|
498
|
-
const footnotesElements = [];
|
|
499
|
-
for (const containedObjectID of model.containedObjectIDs) {
|
|
500
|
-
const model = this.modelMap.get(containedObjectID);
|
|
501
|
-
if (model.objectType === json_schema_1.ObjectTypes.ParagraphElement) {
|
|
502
|
-
const paragraph = this.decode(model);
|
|
503
|
-
if (paragraph) {
|
|
504
|
-
generalTableFootnotes.push(paragraph);
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
else {
|
|
508
|
-
footnotesElements.push(this.decode(model));
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
if (generalTableFootnotes && generalTableFootnotes.length) {
|
|
512
|
-
contents.push(schema_1.schema.nodes.general_table_footnote.create({ id: (0, id_1.generateID)(object_types_1.ExtraObjectTypes.GeneralTableFootnote) }, [...generalTableFootnotes]));
|
|
513
|
-
}
|
|
514
|
-
if (footnotesElements && footnotesElements.length) {
|
|
515
|
-
contents.push(...footnotesElements);
|
|
516
|
-
}
|
|
495
|
+
const content = model.containedObjectIDs.map((id) => this.decode(this.modelMap.get(id)));
|
|
517
496
|
return schema_1.schema.nodes.table_element_footer.create({
|
|
518
497
|
id: model._id,
|
|
519
|
-
},
|
|
498
|
+
}, content);
|
|
520
499
|
},
|
|
521
500
|
[json_schema_1.ObjectTypes.AuthorNotes]: (data) => {
|
|
522
501
|
const model = data;
|
|
@@ -210,18 +210,6 @@ const containedBibliographyItemIDs = (node) => {
|
|
|
210
210
|
const bibliographyItemNodeType = node.type.schema.nodes.bibliography_item;
|
|
211
211
|
return containedObjectIDs(node, [bibliographyItemNodeType]);
|
|
212
212
|
};
|
|
213
|
-
const tableElementFooterContainedIDs = (node) => {
|
|
214
|
-
const containedGeneralTableFootnoteIDs = containedObjectIDs(node, [
|
|
215
|
-
schema_1.schema.nodes.footnotes_element,
|
|
216
|
-
]);
|
|
217
|
-
for (let i = 0; i < node.childCount; i++) {
|
|
218
|
-
const childNode = node.child(i);
|
|
219
|
-
if (childNode.type === schema_1.schema.nodes.general_table_footnote) {
|
|
220
|
-
containedGeneralTableFootnoteIDs.push(...containedObjectIDs(childNode));
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return containedGeneralTableFootnoteIDs;
|
|
224
|
-
};
|
|
225
213
|
const containedObjectIDs = (node, nodeTypes) => {
|
|
226
214
|
const ids = [];
|
|
227
215
|
for (let i = 0; i < node.childCount; i++) {
|
|
@@ -394,7 +382,7 @@ const encoders = {
|
|
|
394
382
|
paragraphStyle: node.attrs.paragraphStyle || undefined,
|
|
395
383
|
}),
|
|
396
384
|
table_element_footer: (node) => ({
|
|
397
|
-
containedObjectIDs:
|
|
385
|
+
containedObjectIDs: containedObjectIDs(node),
|
|
398
386
|
}),
|
|
399
387
|
author_notes: (node) => ({
|
|
400
388
|
containedObjectIDs: containedObjectIDs(node),
|
|
@@ -570,7 +558,6 @@ const containerTypes = [
|
|
|
570
558
|
schema_1.schema.nodes.abstracts,
|
|
571
559
|
schema_1.schema.nodes.body,
|
|
572
560
|
schema_1.schema.nodes.backmatter,
|
|
573
|
-
schema_1.schema.nodes.general_table_footnote,
|
|
574
561
|
];
|
|
575
562
|
const placeholderTypes = [
|
|
576
563
|
schema_1.schema.nodes.placeholder,
|
|
@@ -20,7 +20,6 @@ const json_schema_1 = require("@manuscripts/json-schema");
|
|
|
20
20
|
var ExtraObjectTypes;
|
|
21
21
|
(function (ExtraObjectTypes) {
|
|
22
22
|
ExtraObjectTypes["PlaceholderElement"] = "MPPlaceholderElement";
|
|
23
|
-
ExtraObjectTypes["GeneralTableFootnote"] = "MPGeneralTableFootnote";
|
|
24
23
|
})(ExtraObjectTypes = exports.ExtraObjectTypes || (exports.ExtraObjectTypes = {}));
|
|
25
24
|
exports.elementObjects = [
|
|
26
25
|
json_schema_1.ObjectTypes.BibliographyElement,
|
|
@@ -309,24 +309,6 @@ const nodes = [
|
|
|
309
309
|
};
|
|
310
310
|
},
|
|
311
311
|
},
|
|
312
|
-
{
|
|
313
|
-
tag: 'general-table-footnote',
|
|
314
|
-
node: 'general_table_footnote',
|
|
315
|
-
context: 'table_element_footer/',
|
|
316
|
-
getAttrs: (node) => {
|
|
317
|
-
const element = node;
|
|
318
|
-
return {
|
|
319
|
-
id: element.getAttribute('id'),
|
|
320
|
-
};
|
|
321
|
-
},
|
|
322
|
-
getContent: (node) => {
|
|
323
|
-
const generalTableFootnote = schema.nodes.paragraph.create();
|
|
324
|
-
const content = jatsBodyDOMParser.parse(node, {
|
|
325
|
-
topNode: generalTableFootnote,
|
|
326
|
-
});
|
|
327
|
-
return Fragment.from([content]);
|
|
328
|
-
},
|
|
329
|
-
},
|
|
330
312
|
{
|
|
331
313
|
tag: 'fn',
|
|
332
314
|
node: 'footnote',
|
|
@@ -239,18 +239,6 @@ export const jatsBodyTransformations = {
|
|
|
239
239
|
}
|
|
240
240
|
tableWrap.insertBefore(colgroup, table.nextSibling);
|
|
241
241
|
}
|
|
242
|
-
const tableFootWrap = tableWrap.querySelector('table-wrap-foot');
|
|
243
|
-
if (tableFootWrap) {
|
|
244
|
-
const paragraphs = tableFootWrap.querySelectorAll(':scope > p');
|
|
245
|
-
if (paragraphs.length) {
|
|
246
|
-
const generalTableFootnote = createElement('general-table-footnote');
|
|
247
|
-
for (const paragraph of paragraphs) {
|
|
248
|
-
removeNodeFromParent(paragraph);
|
|
249
|
-
generalTableFootnote.append(paragraph);
|
|
250
|
-
}
|
|
251
|
-
tableFootWrap.prepend(generalTableFootnote);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
242
|
});
|
|
255
243
|
},
|
|
256
244
|
orderTableFootnote(doc, body) {
|
|
@@ -32,10 +32,6 @@ const updateNodeID = (node, replacements, warnings) => {
|
|
|
32
32
|
node.attrs = Object.assign(Object.assign({}, node.attrs), { id: `InlineMathFragment:${uuidv4()}` });
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
-
if (node.type === schema.nodes.general_table_footnote) {
|
|
36
|
-
node.attrs = Object.assign(Object.assign({}, node.attrs), { id: `GeneralTableFootnote:${uuidv4()}` });
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
35
|
if (!('id' in node.attrs)) {
|
|
40
36
|
return;
|
|
41
37
|
}
|
|
@@ -82,9 +82,13 @@ const createBibliographyModels = (references) => {
|
|
|
82
82
|
models.push(...comments);
|
|
83
83
|
return models;
|
|
84
84
|
};
|
|
85
|
+
const clearUnsupportedChars = (input = '') => {
|
|
86
|
+
return input.replace(/[\u2028\u2029]/gim, ' ');
|
|
87
|
+
};
|
|
85
88
|
const createElementFn = (doc) => (tagName) => doc.createElement(tagName);
|
|
86
89
|
const generateIDs = (models) => models.map((m) => m._id ? m : Object.assign(Object.assign({}, m), { _id: generateID(m.objectType) }));
|
|
87
|
-
export const parseJATSArticle = (
|
|
90
|
+
export const parseJATSArticle = (rawDoc) => {
|
|
91
|
+
const doc = new DOMParser().parseFromString(clearUnsupportedChars(rawDoc), 'application/xml');
|
|
88
92
|
const article = doc.querySelector('article');
|
|
89
93
|
const front = doc.querySelector('front');
|
|
90
94
|
const body = doc.querySelector('body');
|
|
@@ -668,9 +668,6 @@ export class JATSExporter {
|
|
|
668
668
|
equation: (node) => {
|
|
669
669
|
return this.createEquation(node);
|
|
670
670
|
},
|
|
671
|
-
general_table_footnote: (node) => {
|
|
672
|
-
return this.serializeNode(node.child(0));
|
|
673
|
-
},
|
|
674
671
|
inline_equation: (node) => {
|
|
675
672
|
const eqElement = this.document.createElement('inline-formula');
|
|
676
673
|
const equation = this.createEquation(node, true);
|
package/dist/es/schema/index.js
CHANGED
|
@@ -44,7 +44,6 @@ import { figureElement } from './nodes/figure_element';
|
|
|
44
44
|
import { footnote } from './nodes/footnote';
|
|
45
45
|
import { footnotesElement } from './nodes/footnotes_element';
|
|
46
46
|
import { footnotesSection } from './nodes/footnotes_section';
|
|
47
|
-
import { generalTableFootnote } from './nodes/general_table_footnote';
|
|
48
47
|
import { graphicalAbstractSection } from './nodes/graphical_abstract_section';
|
|
49
48
|
import { hardBreak } from './nodes/hard_break';
|
|
50
49
|
import { highlightMarker } from './nodes/highlight_marker';
|
|
@@ -96,7 +95,6 @@ export * from './nodes/equation_element';
|
|
|
96
95
|
export * from './nodes/figcaption';
|
|
97
96
|
export * from './nodes/figure';
|
|
98
97
|
export * from './nodes/figure_element';
|
|
99
|
-
export * from './nodes/general_table_footnote';
|
|
100
98
|
export * from './nodes/footnote';
|
|
101
99
|
export * from './nodes/footnotes_element';
|
|
102
100
|
export * from './nodes/footnotes_section';
|
|
@@ -172,7 +170,6 @@ export const schema = new Schema({
|
|
|
172
170
|
footnote,
|
|
173
171
|
footnotes_element: footnotesElement,
|
|
174
172
|
footnotes_section: footnotesSection,
|
|
175
|
-
general_table_footnote: generalTableFootnote,
|
|
176
173
|
graphical_abstract_section: graphicalAbstractSection,
|
|
177
174
|
hard_break: hardBreak,
|
|
178
175
|
highlight_marker: highlightMarker,
|
|
@@ -18,7 +18,7 @@ export const tableElementFooter = {
|
|
|
18
18
|
id: { default: '' },
|
|
19
19
|
dataTracked: { default: null },
|
|
20
20
|
},
|
|
21
|
-
content: '
|
|
21
|
+
content: '(paragraph | footnotes_element)*',
|
|
22
22
|
group: 'block element',
|
|
23
23
|
toDOM: () => ['table-wrap-foot', 0],
|
|
24
24
|
};
|
|
@@ -32,7 +32,6 @@ import { abstractsType, backmatterType, bodyType, } from '../lib/section-group-t
|
|
|
32
32
|
import { schema, } from '../schema';
|
|
33
33
|
import { buildTitles } from './builders';
|
|
34
34
|
import { insertHighlightMarkers } from './highlight-markers';
|
|
35
|
-
import { generateID } from './id';
|
|
36
35
|
import { ExtraObjectTypes, isCommentAnnotation, isManuscript, } from './object-types';
|
|
37
36
|
import { chooseSectionLableName, chooseSectionNodeType, chooseSecType, getSectionGroupType, guessSectionCategory, } from './section-category';
|
|
38
37
|
import { timestamp } from './timestamp';
|
|
@@ -484,30 +483,10 @@ export class Decoder {
|
|
|
484
483
|
},
|
|
485
484
|
[ObjectTypes.TableElementFooter]: (data) => {
|
|
486
485
|
const model = data;
|
|
487
|
-
const
|
|
488
|
-
const generalTableFootnotes = [];
|
|
489
|
-
const footnotesElements = [];
|
|
490
|
-
for (const containedObjectID of model.containedObjectIDs) {
|
|
491
|
-
const model = this.modelMap.get(containedObjectID);
|
|
492
|
-
if (model.objectType === ObjectTypes.ParagraphElement) {
|
|
493
|
-
const paragraph = this.decode(model);
|
|
494
|
-
if (paragraph) {
|
|
495
|
-
generalTableFootnotes.push(paragraph);
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
else {
|
|
499
|
-
footnotesElements.push(this.decode(model));
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
if (generalTableFootnotes && generalTableFootnotes.length) {
|
|
503
|
-
contents.push(schema.nodes.general_table_footnote.create({ id: generateID(ExtraObjectTypes.GeneralTableFootnote) }, [...generalTableFootnotes]));
|
|
504
|
-
}
|
|
505
|
-
if (footnotesElements && footnotesElements.length) {
|
|
506
|
-
contents.push(...footnotesElements);
|
|
507
|
-
}
|
|
486
|
+
const content = model.containedObjectIDs.map((id) => this.decode(this.modelMap.get(id)));
|
|
508
487
|
return schema.nodes.table_element_footer.create({
|
|
509
488
|
id: model._id,
|
|
510
|
-
},
|
|
489
|
+
}, content);
|
|
511
490
|
},
|
|
512
491
|
[ObjectTypes.AuthorNotes]: (data) => {
|
|
513
492
|
const model = data;
|
|
@@ -202,18 +202,6 @@ const containedBibliographyItemIDs = (node) => {
|
|
|
202
202
|
const bibliographyItemNodeType = node.type.schema.nodes.bibliography_item;
|
|
203
203
|
return containedObjectIDs(node, [bibliographyItemNodeType]);
|
|
204
204
|
};
|
|
205
|
-
const tableElementFooterContainedIDs = (node) => {
|
|
206
|
-
const containedGeneralTableFootnoteIDs = containedObjectIDs(node, [
|
|
207
|
-
schema.nodes.footnotes_element,
|
|
208
|
-
]);
|
|
209
|
-
for (let i = 0; i < node.childCount; i++) {
|
|
210
|
-
const childNode = node.child(i);
|
|
211
|
-
if (childNode.type === schema.nodes.general_table_footnote) {
|
|
212
|
-
containedGeneralTableFootnoteIDs.push(...containedObjectIDs(childNode));
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
return containedGeneralTableFootnoteIDs;
|
|
216
|
-
};
|
|
217
205
|
const containedObjectIDs = (node, nodeTypes) => {
|
|
218
206
|
const ids = [];
|
|
219
207
|
for (let i = 0; i < node.childCount; i++) {
|
|
@@ -386,7 +374,7 @@ const encoders = {
|
|
|
386
374
|
paragraphStyle: node.attrs.paragraphStyle || undefined,
|
|
387
375
|
}),
|
|
388
376
|
table_element_footer: (node) => ({
|
|
389
|
-
containedObjectIDs:
|
|
377
|
+
containedObjectIDs: containedObjectIDs(node),
|
|
390
378
|
}),
|
|
391
379
|
author_notes: (node) => ({
|
|
392
380
|
containedObjectIDs: containedObjectIDs(node),
|
|
@@ -561,7 +549,6 @@ const containerTypes = [
|
|
|
561
549
|
schema.nodes.abstracts,
|
|
562
550
|
schema.nodes.body,
|
|
563
551
|
schema.nodes.backmatter,
|
|
564
|
-
schema.nodes.general_table_footnote,
|
|
565
552
|
];
|
|
566
553
|
const placeholderTypes = [
|
|
567
554
|
schema.nodes.placeholder,
|
|
@@ -17,7 +17,6 @@ import { manuscriptIDTypes, ObjectTypes, } from '@manuscripts/json-schema';
|
|
|
17
17
|
export var ExtraObjectTypes;
|
|
18
18
|
(function (ExtraObjectTypes) {
|
|
19
19
|
ExtraObjectTypes["PlaceholderElement"] = "MPPlaceholderElement";
|
|
20
|
-
ExtraObjectTypes["GeneralTableFootnote"] = "MPGeneralTableFootnote";
|
|
21
20
|
})(ExtraObjectTypes || (ExtraObjectTypes = {}));
|
|
22
21
|
export const elementObjects = [
|
|
23
22
|
ObjectTypes.BibliographyElement,
|
|
@@ -17,4 +17,4 @@ import { Model } from '@manuscripts/json-schema';
|
|
|
17
17
|
import { References } from './jats-references';
|
|
18
18
|
export declare const parseJATSFront: (doc: Document, front: Element) => Model[];
|
|
19
19
|
export declare const parseJATSBody: (doc: Document, body: Element, references?: References) => IterableIterator<Model>;
|
|
20
|
-
export declare const parseJATSArticle: (
|
|
20
|
+
export declare const parseJATSArticle: (rawDoc: string) => Model[];
|
|
@@ -34,7 +34,6 @@ export * from './nodes/equation_element';
|
|
|
34
34
|
export * from './nodes/figcaption';
|
|
35
35
|
export * from './nodes/figure';
|
|
36
36
|
export * from './nodes/figure_element';
|
|
37
|
-
export * from './nodes/general_table_footnote';
|
|
38
37
|
export * from './nodes/footnote';
|
|
39
38
|
export * from './nodes/footnotes_element';
|
|
40
39
|
export * from './nodes/footnotes_section';
|
|
@@ -17,7 +17,7 @@ import { Fragment, Mark as ProsemirrorMark, MarkType, Node as ProsemirrorNode, N
|
|
|
17
17
|
import { EditorState, NodeSelection, Plugin, TextSelection, Transaction } from 'prosemirror-state';
|
|
18
18
|
import { EditorView, NodeView } from 'prosemirror-view';
|
|
19
19
|
export type Marks = 'bold' | 'code' | 'italic' | 'smallcaps' | 'strikethrough' | 'styled' | 'subscript' | 'superscript' | 'underline' | 'tracked_insert' | 'tracked_delete';
|
|
20
|
-
export type Nodes = 'attribution' | 'bibliography_item' | 'bibliography_element' | 'bibliography_section' | 'blockquote_element' | 'bullet_list' | 'caption' | 'caption_title' | 'comment' | 'comments' | 'citation' | 'cross_reference' | 'doc' | 'equation' | 'equation_element' | 'figcaption' | 'figure' | 'graphical_abstract_section' | 'figure_element' | 'footnote' | 'footnotes_element' | 'footnotes_section' | 'hard_break' | 'highlight_marker' | 'inline_equation' | 'inline_footnote' | 'keyword' | 'keywords_element' | 'keyword_group' | 'keywords' | 'link' | 'list_item' | 'listing' | 'listing_element' | 'manuscript' | 'abstracts' | 'body' | 'backmatter' | 'missing_figure' | 'ordered_list' | 'paragraph' | 'placeholder' | 'placeholder_element' | 'pullquote_element' | 'section' | 'section_label' | 'section_title' | 'section_title_plain' | 'table' | 'table_cell' | 'table_element' | 'table_row' | 'table_colgroup' | 'table_col' | 'table_header' | 'text' | 'toc_element' | 'toc_section' | 'affiliation' | 'contributor' | 'table_element_footer' | 'title' | 'affiliations' | 'contributors' | 'supplements' | 'supplement' | 'author_notes' | 'corresp'
|
|
20
|
+
export type Nodes = 'attribution' | 'bibliography_item' | 'bibliography_element' | 'bibliography_section' | 'blockquote_element' | 'bullet_list' | 'caption' | 'caption_title' | 'comment' | 'comments' | 'citation' | 'cross_reference' | 'doc' | 'equation' | 'equation_element' | 'figcaption' | 'figure' | 'graphical_abstract_section' | 'figure_element' | 'footnote' | 'footnotes_element' | 'footnotes_section' | 'hard_break' | 'highlight_marker' | 'inline_equation' | 'inline_footnote' | 'keyword' | 'keywords_element' | 'keyword_group' | 'keywords' | 'link' | 'list_item' | 'listing' | 'listing_element' | 'manuscript' | 'abstracts' | 'body' | 'backmatter' | 'missing_figure' | 'ordered_list' | 'paragraph' | 'placeholder' | 'placeholder_element' | 'pullquote_element' | 'section' | 'section_label' | 'section_title' | 'section_title_plain' | 'table' | 'table_cell' | 'table_element' | 'table_row' | 'table_colgroup' | 'table_col' | 'table_header' | 'text' | 'toc_element' | 'toc_section' | 'affiliation' | 'contributor' | 'table_element_footer' | 'title' | 'affiliations' | 'contributors' | 'supplements' | 'supplement' | 'author_notes' | 'corresp';
|
|
21
21
|
export type ManuscriptSchema = Schema<Nodes, Marks>;
|
|
22
22
|
export type ManuscriptEditorState = EditorState;
|
|
23
23
|
export type ManuscriptEditorView = EditorView;
|
|
@@ -16,8 +16,7 @@
|
|
|
16
16
|
import { CommentAnnotation, Figure, Keyword, Manuscript, Model, ObjectTypes, Table } from '@manuscripts/json-schema';
|
|
17
17
|
import { ManuscriptModel } from './models';
|
|
18
18
|
export declare enum ExtraObjectTypes {
|
|
19
|
-
PlaceholderElement = "MPPlaceholderElement"
|
|
20
|
-
GeneralTableFootnote = "MPGeneralTableFootnote"
|
|
19
|
+
PlaceholderElement = "MPPlaceholderElement"
|
|
21
20
|
}
|
|
22
21
|
export declare const elementObjects: ObjectTypes[];
|
|
23
22
|
export declare const manuscriptObjects: ObjectTypes[];
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/transform",
|
|
3
3
|
"description": "ProseMirror transformer for Manuscripts applications",
|
|
4
|
-
"version": "2.3.3-LEAN-
|
|
4
|
+
"version": "2.3.3-LEAN-3582",
|
|
5
5
|
"repository": "github:Atypon-OpenSource/manuscripts-transform",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"main": "dist/cjs",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"prettier": "prettier --write \"src/**/*.{ts,tsx}\" \"*.{js,json}\"",
|
|
25
25
|
"preversion": "npm-run-all --parallel typecheck lint test",
|
|
26
26
|
"test": "jest --runInBand",
|
|
27
|
+
"test-inv": "jest -i src/jats/__tests__/jats-importer-invalid.test.ts",
|
|
27
28
|
"test:debug": "DEBUG=manuscripts-transform yarn test",
|
|
28
29
|
"typecheck": "tsc --noEmit",
|
|
29
30
|
"version": "yarn build"
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*!
|
|
3
|
-
* © 2019 Atypon Systems LLC
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.generalTableFootnote = void 0;
|
|
19
|
-
exports.generalTableFootnote = {
|
|
20
|
-
content: 'paragraph*',
|
|
21
|
-
attrs: {
|
|
22
|
-
id: { default: '' },
|
|
23
|
-
dataTracked: { default: null },
|
|
24
|
-
},
|
|
25
|
-
group: 'block',
|
|
26
|
-
toDOM: () => ['div', { class: 'general-table-footnote' }, 0],
|
|
27
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* © 2019 Atypon Systems LLC
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export const generalTableFootnote = {
|
|
17
|
-
content: 'paragraph*',
|
|
18
|
-
attrs: {
|
|
19
|
-
id: { default: '' },
|
|
20
|
-
dataTracked: { default: null },
|
|
21
|
-
},
|
|
22
|
-
group: 'block',
|
|
23
|
-
toDOM: () => ['div', { class: 'general-table-footnote' }, 0],
|
|
24
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* © 2019 Atypon Systems LLC
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { NodeSpec } from 'prosemirror-model';
|
|
17
|
-
import { ManuscriptNode } from '../types';
|
|
18
|
-
interface Attrs {
|
|
19
|
-
id: string;
|
|
20
|
-
}
|
|
21
|
-
export interface GeneralTableFootnote extends ManuscriptNode {
|
|
22
|
-
attrs: Attrs;
|
|
23
|
-
}
|
|
24
|
-
export declare const generalTableFootnote: NodeSpec;
|
|
25
|
-
export {};
|