@usejunior/docx-core 0.9.0 → 0.10.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/.tsbuildinfo +1 -1
- package/dist/atomizer.d.ts +49 -0
- package/dist/atomizer.d.ts.map +1 -1
- package/dist/atomizer.js +90 -0
- package/dist/atomizer.js.map +1 -1
- package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
- package/dist/baselines/atomizer/documentReconstructor.js +289 -92
- package/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/dist/baselines/atomizer/formattingFidelity.d.ts +99 -0
- package/dist/baselines/atomizer/formattingFidelity.d.ts.map +1 -0
- package/dist/baselines/atomizer/formattingFidelity.js +449 -0
- package/dist/baselines/atomizer/formattingFidelity.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +37 -0
- package/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +189 -0
- package/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +74 -0
- package/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-containers.js +171 -0
- package/dist/baselines/atomizer/inPlaceModifier-containers.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +88 -0
- package/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-deletion.js +326 -0
- package/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +85 -0
- package/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-postprocess.js +402 -0
- package/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +39 -0
- package/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-presplit.js +265 -0
- package/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +62 -0
- package/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-shared.js +139 -0
- package/dist/baselines/atomizer/inPlaceModifier-shared.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +189 -0
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.js +427 -0
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -0
- package/dist/baselines/atomizer/inPlaceModifier.d.ts +6 -290
- package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier.js +23 -1828
- package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
- package/dist/baselines/atomizer/pipeline.d.ts +76 -1
- package/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
- package/dist/baselines/atomizer/pipeline.js +445 -108
- package/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
- package/dist/baselines/atomizer/trackChangesAcceptorAst.js +56 -160
- package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
- package/dist/compare-types.d.ts +151 -0
- package/dist/compare-types.d.ts.map +1 -0
- package/dist/compare-types.js +2 -0
- package/dist/compare-types.js.map +1 -0
- package/dist/core-types.d.ts +5 -1
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js +5 -1
- package/dist/core-types.js.map +1 -1
- package/dist/footnotes.d.ts +8 -3
- package/dist/footnotes.d.ts.map +1 -1
- package/dist/footnotes.js +8 -3
- package/dist/footnotes.js.map +1 -1
- package/dist/index.d.ts +6 -150
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/integration/libreoffice-oracle.d.ts +41 -0
- package/dist/integration/libreoffice-oracle.d.ts.map +1 -0
- package/dist/integration/libreoffice-oracle.js +282 -0
- package/dist/integration/libreoffice-oracle.js.map +1 -0
- package/dist/integration/synthetic-docx-fixture.d.ts +62 -0
- package/dist/integration/synthetic-docx-fixture.d.ts.map +1 -0
- package/dist/integration/synthetic-docx-fixture.js +171 -0
- package/dist/integration/synthetic-docx-fixture.js.map +1 -0
- package/dist/primitives/accept_changes.d.ts +2 -2
- package/dist/primitives/accept_changes.d.ts.map +1 -1
- package/dist/primitives/accept_changes.js +24 -79
- package/dist/primitives/accept_changes.js.map +1 -1
- package/dist/primitives/comments.d.ts +12 -3
- package/dist/primitives/comments.d.ts.map +1 -1
- package/dist/primitives/comments.js +374 -97
- package/dist/primitives/comments.js.map +1 -1
- package/dist/primitives/content_fingerprint.d.ts +29 -0
- package/dist/primitives/content_fingerprint.d.ts.map +1 -0
- package/dist/primitives/content_fingerprint.js +63 -0
- package/dist/primitives/content_fingerprint.js.map +1 -0
- package/dist/primitives/document.d.ts +56 -15
- package/dist/primitives/document.d.ts.map +1 -1
- package/dist/primitives/document.js +303 -32
- package/dist/primitives/document.js.map +1 -1
- package/dist/primitives/document_view-comments.d.ts +18 -0
- package/dist/primitives/document_view-comments.d.ts.map +1 -0
- package/dist/primitives/document_view-comments.js +159 -0
- package/dist/primitives/document_view-comments.js.map +1 -0
- package/dist/primitives/document_view-headings.d.ts +45 -0
- package/dist/primitives/document_view-headings.d.ts.map +1 -0
- package/dist/primitives/document_view-headings.js +247 -0
- package/dist/primitives/document_view-headings.js.map +1 -0
- package/dist/primitives/document_view-styles.d.ts +11 -0
- package/dist/primitives/document_view-styles.d.ts.map +1 -0
- package/dist/primitives/document_view-styles.js +104 -0
- package/dist/primitives/document_view-styles.js.map +1 -0
- package/dist/primitives/document_view-toon.d.ts +37 -0
- package/dist/primitives/document_view-toon.d.ts.map +1 -0
- package/dist/primitives/document_view-toon.js +199 -0
- package/dist/primitives/document_view-toon.js.map +1 -0
- package/dist/primitives/document_view-types.d.ts +137 -0
- package/dist/primitives/document_view-types.d.ts.map +1 -0
- package/dist/primitives/document_view-types.js +2 -0
- package/dist/primitives/document_view-types.js.map +1 -0
- package/dist/primitives/document_view.d.ts +8 -106
- package/dist/primitives/document_view.d.ts.map +1 -1
- package/dist/primitives/document_view.js +134 -301
- package/dist/primitives/document_view.js.map +1 -1
- package/dist/primitives/dom-helpers.d.ts +9 -0
- package/dist/primitives/dom-helpers.d.ts.map +1 -1
- package/dist/primitives/dom-helpers.js +10 -1
- package/dist/primitives/dom-helpers.js.map +1 -1
- package/dist/primitives/footnotes.d.ts +4 -3
- package/dist/primitives/footnotes.d.ts.map +1 -1
- package/dist/primitives/footnotes.js +232 -44
- package/dist/primitives/footnotes.js.map +1 -1
- package/dist/primitives/formatting_tags.d.ts +6 -0
- package/dist/primitives/formatting_tags.d.ts.map +1 -1
- package/dist/primitives/formatting_tags.js +6 -1
- package/dist/primitives/formatting_tags.js.map +1 -1
- package/dist/primitives/index.d.ts +6 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +5 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/layout.d.ts +4 -3
- package/dist/primitives/layout.d.ts.map +1 -1
- package/dist/primitives/layout.js +32 -3
- package/dist/primitives/layout.js.map +1 -1
- package/dist/primitives/merge_runs.d.ts +21 -3
- package/dist/primitives/merge_runs.d.ts.map +1 -1
- package/dist/primitives/merge_runs.js +32 -10
- package/dist/primitives/merge_runs.js.map +1 -1
- package/dist/primitives/namespaces.d.ts +6 -0
- package/dist/primitives/namespaces.d.ts.map +1 -1
- package/dist/primitives/namespaces.js +9 -0
- package/dist/primitives/namespaces.js.map +1 -1
- package/dist/primitives/reject_changes.d.ts +2 -2
- package/dist/primitives/reject_changes.d.ts.map +1 -1
- package/dist/primitives/reject_changes.js +24 -81
- package/dist/primitives/reject_changes.js.map +1 -1
- package/dist/primitives/semantic_tags.d.ts +7 -0
- package/dist/primitives/semantic_tags.d.ts.map +1 -1
- package/dist/primitives/semantic_tags.js +21 -3
- package/dist/primitives/semantic_tags.js.map +1 -1
- package/dist/primitives/serialize_html.d.ts +36 -0
- package/dist/primitives/serialize_html.d.ts.map +1 -0
- package/dist/primitives/serialize_html.js +393 -0
- package/dist/primitives/serialize_html.js.map +1 -0
- package/dist/primitives/serialize_markdown.d.ts +16 -0
- package/dist/primitives/serialize_markdown.d.ts.map +1 -0
- package/dist/primitives/serialize_markdown.js +300 -0
- package/dist/primitives/serialize_markdown.js.map +1 -0
- package/dist/primitives/serialize_plaintext.d.ts +15 -0
- package/dist/primitives/serialize_plaintext.d.ts.map +1 -0
- package/dist/primitives/serialize_plaintext.js +154 -0
- package/dist/primitives/serialize_plaintext.js.map +1 -0
- package/dist/primitives/styles.js +22 -22
- package/dist/primitives/styles.js.map +1 -1
- package/dist/primitives/tables.d.ts.map +1 -1
- package/dist/primitives/tables.js +13 -3
- package/dist/primitives/tables.js.map +1 -1
- package/dist/primitives/text.d.ts +2 -1
- package/dist/primitives/text.d.ts.map +1 -1
- package/dist/primitives/text.js +116 -12
- package/dist/primitives/text.js.map +1 -1
- package/dist/primitives/track-changes-emitter.d.ts +139 -0
- package/dist/primitives/track-changes-emitter.d.ts.map +1 -0
- package/dist/primitives/track-changes-emitter.js +241 -0
- package/dist/primitives/track-changes-emitter.js.map +1 -0
- package/dist/primitives/xml-helpers.d.ts +29 -0
- package/dist/primitives/xml-helpers.d.ts.map +1 -0
- package/dist/primitives/xml-helpers.js +35 -0
- package/dist/primitives/xml-helpers.js.map +1 -0
- package/dist/shared/ooxml/namespaces.d.ts +4 -1
- package/dist/shared/ooxml/namespaces.d.ts.map +1 -1
- package/dist/shared/ooxml/namespaces.js +4 -1
- package/dist/shared/ooxml/namespaces.js.map +1 -1
- package/package.json +7 -6
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { DocxZip } from './zip.js';
|
|
2
2
|
import { parseXml, serializeXml } from './xml.js';
|
|
3
3
|
import { OOXML, W } from './namespaces.js';
|
|
4
|
-
import { isW, getDirectChildrenByName } from './dom-helpers.js';
|
|
4
|
+
import { createWmlElement, isW, getDirectChildrenByName } from './dom-helpers.js';
|
|
5
5
|
import { findParagraphByBookmarkId, insertParagraphBookmarks, cleanupInternalBookmarks, getParagraphBookmarkId, insertSingleParagraphBookmark, } from './bookmarks.js';
|
|
6
6
|
import { getParagraphRuns, getParagraphText, replaceParagraphTextRange } from './text.js';
|
|
7
|
+
import { allocateRevisionId, createRevisionContainer, } from './track-changes-emitter.js';
|
|
7
8
|
import { buildNodesForDocumentView } from './document_view.js';
|
|
9
|
+
import { serializeToMarkdown } from './serialize_markdown.js';
|
|
10
|
+
import { serializeToHtml } from './serialize_html.js';
|
|
11
|
+
import { serializeToPlainText } from './serialize_plaintext.js';
|
|
8
12
|
import { findUniqueSubstringMatch } from './matching.js';
|
|
9
13
|
import { parseDocumentRels } from './relationships.js';
|
|
10
14
|
import { setParagraphSpacing, setTableCellPadding, setTableRowHeight, } from './layout.js';
|
|
@@ -14,8 +18,83 @@ import { simplifyRedlines } from './simplify_redlines.js';
|
|
|
14
18
|
import { preventDoubleElevation } from './prevent_double_elevation.js';
|
|
15
19
|
import { validateDocument } from './validate_document.js';
|
|
16
20
|
import { acceptChanges as acceptChangesImpl } from './accept_changes.js';
|
|
21
|
+
import { rejectChanges as rejectChangesImpl } from './reject_changes.js';
|
|
17
22
|
import { bootstrapCommentParts, addComment as addCommentImpl, addCommentReply as addCommentReplyImpl, getComments as getCommentsImpl, getComment as getCommentImpl, deleteComment as deleteCommentImpl, } from './comments.js';
|
|
18
23
|
import { bootstrapFootnoteParts, getFootnotes as getFootnotesImpl, getFootnote as getFootnoteImpl, addFootnote as addFootnoteImpl, updateFootnoteText as updateFootnoteTextImpl, deleteFootnote as deleteFootnoteImpl, } from './footnotes.js';
|
|
24
|
+
const REVISION_STORY_PART_PATHS = [
|
|
25
|
+
'word/footnotes.xml',
|
|
26
|
+
'word/endnotes.xml',
|
|
27
|
+
'word/comments.xml',
|
|
28
|
+
];
|
|
29
|
+
function emptyAcceptChangesResult() {
|
|
30
|
+
return { insertionsAccepted: 0, deletionsAccepted: 0, movesResolved: 0, propertyChangesResolved: 0 };
|
|
31
|
+
}
|
|
32
|
+
function hasAcceptedChanges(result) {
|
|
33
|
+
return (result.insertionsAccepted > 0 ||
|
|
34
|
+
result.deletionsAccepted > 0 ||
|
|
35
|
+
result.movesResolved > 0 ||
|
|
36
|
+
result.propertyChangesResolved > 0);
|
|
37
|
+
}
|
|
38
|
+
function addAcceptChangesResult(total, result) {
|
|
39
|
+
total.insertionsAccepted += result.insertionsAccepted;
|
|
40
|
+
total.deletionsAccepted += result.deletionsAccepted;
|
|
41
|
+
total.movesResolved += result.movesResolved;
|
|
42
|
+
total.propertyChangesResolved += result.propertyChangesResolved;
|
|
43
|
+
}
|
|
44
|
+
function emptyRejectChangesResult() {
|
|
45
|
+
return { insertionsRemoved: 0, deletionsRestored: 0, movesReverted: 0, propertyChangesReverted: 0 };
|
|
46
|
+
}
|
|
47
|
+
function hasRejectedChanges(result) {
|
|
48
|
+
return (result.insertionsRemoved > 0 ||
|
|
49
|
+
result.deletionsRestored > 0 ||
|
|
50
|
+
result.movesReverted > 0 ||
|
|
51
|
+
result.propertyChangesReverted > 0);
|
|
52
|
+
}
|
|
53
|
+
function addRejectChangesResult(total, result) {
|
|
54
|
+
total.insertionsRemoved += result.insertionsRemoved;
|
|
55
|
+
total.deletionsRestored += result.deletionsRestored;
|
|
56
|
+
total.movesReverted += result.movesReverted;
|
|
57
|
+
total.propertyChangesReverted += result.propertyChangesReverted;
|
|
58
|
+
}
|
|
59
|
+
function parseWId(el) {
|
|
60
|
+
const idStr = el.getAttributeNS(OOXML.W_NS, 'id') ?? el.getAttribute('w:id');
|
|
61
|
+
if (!idStr)
|
|
62
|
+
return null;
|
|
63
|
+
const n = parseInt(idStr, 10);
|
|
64
|
+
return Number.isNaN(n) ? null : n;
|
|
65
|
+
}
|
|
66
|
+
function collectLiveFootnoteRefIds(doc) {
|
|
67
|
+
const ids = new Set();
|
|
68
|
+
const refs = doc.getElementsByTagNameNS(OOXML.W_NS, W.footnoteReference);
|
|
69
|
+
for (let i = 0; i < refs.length; i++) {
|
|
70
|
+
const id = parseWId(refs.item(i));
|
|
71
|
+
if (id !== null)
|
|
72
|
+
ids.add(id);
|
|
73
|
+
}
|
|
74
|
+
return ids;
|
|
75
|
+
}
|
|
76
|
+
// Side-effect of accept/reject on document.xml: a body w:footnoteReference that
|
|
77
|
+
// lived inside a removed w:del (accept) or w:ins (reject) is gone afterwards.
|
|
78
|
+
// The corresponding <w:footnote w:id=N> in footnotes.xml is then unreachable —
|
|
79
|
+
// remove it so the side part matches the post-sweep body. Reserved separator /
|
|
80
|
+
// continuationSeparator entries are preserved unconditionally.
|
|
81
|
+
function pruneOrphanedFootnotes(footnotesDoc, liveRefIds) {
|
|
82
|
+
const entries = Array.from(footnotesDoc.getElementsByTagNameNS(OOXML.W_NS, W.footnote));
|
|
83
|
+
let pruned = 0;
|
|
84
|
+
for (const fn of entries) {
|
|
85
|
+
const typ = fn.getAttributeNS(OOXML.W_NS, 'type') ?? fn.getAttribute('w:type');
|
|
86
|
+
if (typ === W.separator || typ === W.continuationSeparator)
|
|
87
|
+
continue;
|
|
88
|
+
const id = parseWId(fn);
|
|
89
|
+
if (id === null)
|
|
90
|
+
continue;
|
|
91
|
+
if (liveRefIds.has(id))
|
|
92
|
+
continue;
|
|
93
|
+
fn.parentNode?.removeChild(fn);
|
|
94
|
+
pruned++;
|
|
95
|
+
}
|
|
96
|
+
return pruned;
|
|
97
|
+
}
|
|
19
98
|
function prevElementSibling(node) {
|
|
20
99
|
let cur = node?.previousSibling ?? null;
|
|
21
100
|
while (cur) {
|
|
@@ -311,19 +390,80 @@ export class DocxDocument {
|
|
|
311
390
|
return validateDocument(this.documentXml);
|
|
312
391
|
}
|
|
313
392
|
/**
|
|
314
|
-
* Accept all tracked changes in
|
|
315
|
-
*
|
|
393
|
+
* Accept all tracked changes in document.xml plus supported revisionable
|
|
394
|
+
* side-story parts, producing clean XML with no revision markup.
|
|
316
395
|
*/
|
|
317
|
-
acceptChanges() {
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
396
|
+
async acceptChanges() {
|
|
397
|
+
const total = emptyAcceptChangesResult();
|
|
398
|
+
const bodyResult = acceptChangesImpl(this.documentXml);
|
|
399
|
+
addAcceptChangesResult(total, bodyResult);
|
|
400
|
+
// After accepting, footnotes whose body reference lived inside a removed
|
|
401
|
+
// w:del are orphaned. Only worth checking when the body sweep removed
|
|
402
|
+
// deletions (the only operation that can drop a footnoteReference).
|
|
403
|
+
const liveFootnoteRefIds = bodyResult.deletionsAccepted > 0
|
|
404
|
+
? collectLiveFootnoteRefIds(this.documentXml)
|
|
405
|
+
: null;
|
|
406
|
+
for (const partPath of REVISION_STORY_PART_PATHS) {
|
|
407
|
+
const xml = await this.zip.readTextOrNull(partPath);
|
|
408
|
+
if (!xml)
|
|
409
|
+
continue;
|
|
410
|
+
const partDoc = parseXml(xml);
|
|
411
|
+
const partResult = acceptChangesImpl(partDoc);
|
|
412
|
+
addAcceptChangesResult(total, partResult);
|
|
413
|
+
let footnotesPruned = 0;
|
|
414
|
+
if (partPath === 'word/footnotes.xml' && liveFootnoteRefIds) {
|
|
415
|
+
footnotesPruned = pruneOrphanedFootnotes(partDoc, liveFootnoteRefIds);
|
|
416
|
+
}
|
|
417
|
+
if (hasAcceptedChanges(partResult) || footnotesPruned > 0) {
|
|
418
|
+
this.zip.writeText(partPath, serializeXml(partDoc));
|
|
419
|
+
if (partPath === 'word/footnotes.xml') {
|
|
420
|
+
this.footnotesXml = partDoc;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
if (hasAcceptedChanges(total)) {
|
|
323
425
|
this.dirty = true;
|
|
324
426
|
this.documentViewCache = null;
|
|
325
427
|
}
|
|
326
|
-
return
|
|
428
|
+
return total;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Reject all tracked changes in document.xml plus supported revisionable
|
|
432
|
+
* side-story parts, restoring their pre-edit state where possible.
|
|
433
|
+
*/
|
|
434
|
+
async rejectChanges() {
|
|
435
|
+
const total = emptyRejectChangesResult();
|
|
436
|
+
const bodyResult = rejectChangesImpl(this.documentXml);
|
|
437
|
+
addRejectChangesResult(total, bodyResult);
|
|
438
|
+
// After rejecting, footnotes whose body reference lived inside a removed
|
|
439
|
+
// w:ins are orphaned. Only worth checking when the body sweep removed
|
|
440
|
+
// insertions (the only operation that can drop a footnoteReference).
|
|
441
|
+
const liveFootnoteRefIds = bodyResult.insertionsRemoved > 0
|
|
442
|
+
? collectLiveFootnoteRefIds(this.documentXml)
|
|
443
|
+
: null;
|
|
444
|
+
for (const partPath of REVISION_STORY_PART_PATHS) {
|
|
445
|
+
const xml = await this.zip.readTextOrNull(partPath);
|
|
446
|
+
if (!xml)
|
|
447
|
+
continue;
|
|
448
|
+
const partDoc = parseXml(xml);
|
|
449
|
+
const partResult = rejectChangesImpl(partDoc);
|
|
450
|
+
addRejectChangesResult(total, partResult);
|
|
451
|
+
let footnotesPruned = 0;
|
|
452
|
+
if (partPath === 'word/footnotes.xml' && liveFootnoteRefIds) {
|
|
453
|
+
footnotesPruned = pruneOrphanedFootnotes(partDoc, liveFootnoteRefIds);
|
|
454
|
+
}
|
|
455
|
+
if (hasRejectedChanges(partResult) || footnotesPruned > 0) {
|
|
456
|
+
this.zip.writeText(partPath, serializeXml(partDoc));
|
|
457
|
+
if (partPath === 'word/footnotes.xml') {
|
|
458
|
+
this.footnotesXml = partDoc;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
if (hasRejectedChanges(total)) {
|
|
463
|
+
this.dirty = true;
|
|
464
|
+
this.documentViewCache = null;
|
|
465
|
+
}
|
|
466
|
+
return total;
|
|
327
467
|
}
|
|
328
468
|
removeJuniorBookmarks() {
|
|
329
469
|
const removed = cleanupInternalBookmarks(this.documentXml);
|
|
@@ -425,7 +565,7 @@ export class DocxDocument {
|
|
|
425
565
|
this.dirty = true;
|
|
426
566
|
this.documentViewCache = null;
|
|
427
567
|
}
|
|
428
|
-
insertParagraph(params) {
|
|
568
|
+
insertParagraph(params, ctx) {
|
|
429
569
|
const { positionalAnchorNodeId, relativePosition, newText, newParagraphId: _newParagraphId, styleSourceId } = params;
|
|
430
570
|
const anchor = findParagraphByBookmarkId(this.documentXml, positionalAnchorNodeId);
|
|
431
571
|
if (!anchor)
|
|
@@ -505,8 +645,86 @@ export class DocxDocument {
|
|
|
505
645
|
continue;
|
|
506
646
|
newP.removeChild(child);
|
|
507
647
|
}
|
|
648
|
+
// sectPr is the section terminator — must stay on the anchor, not propagate to the new paragraph.
|
|
649
|
+
const clonedPPr = getDirectChildrenByName(newP, W.pPr)[0];
|
|
650
|
+
if (clonedPPr) {
|
|
651
|
+
for (const sectPr of getDirectChildrenByName(clonedPPr, 'sectPr')) {
|
|
652
|
+
clonedPPr.removeChild(sectPr);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
508
655
|
return newP;
|
|
509
656
|
}
|
|
657
|
+
function ensureParagraphProperties(paragraph) {
|
|
658
|
+
const existing = getDirectChildrenByName(paragraph, W.pPr)[0];
|
|
659
|
+
if (existing)
|
|
660
|
+
return existing;
|
|
661
|
+
const pPr = createWmlElement(doc, W.pPr);
|
|
662
|
+
paragraph.insertBefore(pPr, paragraph.firstChild);
|
|
663
|
+
return pPr;
|
|
664
|
+
}
|
|
665
|
+
function ensureParagraphRunProperties(pPr) {
|
|
666
|
+
const existing = getDirectChildrenByName(pPr, W.rPr)[0];
|
|
667
|
+
if (existing)
|
|
668
|
+
return existing;
|
|
669
|
+
const rPr = createWmlElement(doc, W.rPr);
|
|
670
|
+
const sectPr = getDirectChildrenByName(pPr, 'sectPr')[0];
|
|
671
|
+
const pPrChange = getDirectChildrenByName(pPr, 'pPrChange')[0];
|
|
672
|
+
const insertBefore = sectPr ?? pPrChange ?? null;
|
|
673
|
+
if (insertBefore) {
|
|
674
|
+
pPr.insertBefore(rPr, insertBefore);
|
|
675
|
+
}
|
|
676
|
+
else {
|
|
677
|
+
pPr.appendChild(rPr);
|
|
678
|
+
}
|
|
679
|
+
return rPr;
|
|
680
|
+
}
|
|
681
|
+
function addParagraphInsertionMarker(paragraph, revisionCtx) {
|
|
682
|
+
const pPr = ensureParagraphProperties(paragraph);
|
|
683
|
+
const rPr = ensureParagraphRunProperties(pPr);
|
|
684
|
+
const marker = createWmlElement(doc, 'ins', {
|
|
685
|
+
'w:id': String(allocateRevisionId(revisionCtx.idState)),
|
|
686
|
+
'w:author': revisionCtx.author,
|
|
687
|
+
'w:date': revisionCtx.date,
|
|
688
|
+
});
|
|
689
|
+
rPr.insertBefore(marker, rPr.firstChild);
|
|
690
|
+
}
|
|
691
|
+
function clearRunPropertyRevisionMarkup(run) {
|
|
692
|
+
const rPr = getDirectChildrenByName(run, W.rPr)[0];
|
|
693
|
+
if (!rPr)
|
|
694
|
+
return;
|
|
695
|
+
for (const child of Array.from(rPr.childNodes)) {
|
|
696
|
+
if (child.nodeType !== 1)
|
|
697
|
+
continue;
|
|
698
|
+
const element = child;
|
|
699
|
+
if (isW(element, 'rPrChange')) {
|
|
700
|
+
rPr.removeChild(element);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
function clearParagraphPropertyRevisionMarkup(paragraph) {
|
|
705
|
+
const pPr = getDirectChildrenByName(paragraph, W.pPr)[0];
|
|
706
|
+
if (!pPr)
|
|
707
|
+
return;
|
|
708
|
+
for (const pPrChange of getDirectChildrenByName(pPr, 'pPrChange')) {
|
|
709
|
+
pPr.removeChild(pPrChange);
|
|
710
|
+
}
|
|
711
|
+
const rPr = getDirectChildrenByName(pPr, W.rPr)[0];
|
|
712
|
+
if (!rPr)
|
|
713
|
+
return;
|
|
714
|
+
for (const child of Array.from(rPr.childNodes)) {
|
|
715
|
+
if (child.nodeType !== 1)
|
|
716
|
+
continue;
|
|
717
|
+
const element = child;
|
|
718
|
+
// CT_ParaRPr revision children: w:ins, w:del, w:moveFrom, w:moveTo, w:rPrChange.
|
|
719
|
+
if (isW(element, 'ins') ||
|
|
720
|
+
isW(element, 'del') ||
|
|
721
|
+
isW(element, 'moveFrom') ||
|
|
722
|
+
isW(element, 'moveTo') ||
|
|
723
|
+
isW(element, 'rPrChange')) {
|
|
724
|
+
rPr.removeChild(element);
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
510
728
|
function getInsertionRefNode() {
|
|
511
729
|
if (relativePosition === 'BEFORE') {
|
|
512
730
|
const prev = prevElementSibling(anchorP);
|
|
@@ -538,7 +756,17 @@ export class DocxDocument {
|
|
|
538
756
|
const newP = cloneParagraphShell(formattingSource);
|
|
539
757
|
const newRun = cloneRunFormattingOnly(templateRun);
|
|
540
758
|
appendTextToRun(newRun, paraText);
|
|
541
|
-
|
|
759
|
+
if (ctx) {
|
|
760
|
+
clearRunPropertyRevisionMarkup(newRun);
|
|
761
|
+
clearParagraphPropertyRevisionMarkup(newP);
|
|
762
|
+
addParagraphInsertionMarker(newP, ctx);
|
|
763
|
+
const insertion = createRevisionContainer(doc, 'ins', ctx);
|
|
764
|
+
insertion.appendChild(newRun);
|
|
765
|
+
newP.appendChild(insertion);
|
|
766
|
+
}
|
|
767
|
+
else {
|
|
768
|
+
newP.appendChild(newRun);
|
|
769
|
+
}
|
|
542
770
|
parent.insertBefore(newP, cursor);
|
|
543
771
|
const id = insertSingleParagraphBookmark(doc, newP);
|
|
544
772
|
insertedIds.push(id);
|
|
@@ -557,24 +785,24 @@ export class DocxDocument {
|
|
|
557
785
|
result.styleSourceFallback = true;
|
|
558
786
|
return result;
|
|
559
787
|
}
|
|
560
|
-
setParagraphSpacing(mutation) {
|
|
561
|
-
const result = setParagraphSpacing(this.documentXml, mutation);
|
|
788
|
+
setParagraphSpacing(mutation, ctx) {
|
|
789
|
+
const result = setParagraphSpacing(this.documentXml, mutation, ctx);
|
|
562
790
|
if (result.affectedParagraphs > 0) {
|
|
563
791
|
this.dirty = true;
|
|
564
792
|
this.documentViewCache = null;
|
|
565
793
|
}
|
|
566
794
|
return result;
|
|
567
795
|
}
|
|
568
|
-
setTableRowHeight(mutation) {
|
|
569
|
-
const result = setTableRowHeight(this.documentXml, mutation);
|
|
796
|
+
setTableRowHeight(mutation, ctx) {
|
|
797
|
+
const result = setTableRowHeight(this.documentXml, mutation, ctx);
|
|
570
798
|
if (result.affectedRows > 0) {
|
|
571
799
|
this.dirty = true;
|
|
572
800
|
this.documentViewCache = null;
|
|
573
801
|
}
|
|
574
802
|
return result;
|
|
575
803
|
}
|
|
576
|
-
setTableCellPadding(mutation) {
|
|
577
|
-
const result = setTableCellPadding(this.documentXml, mutation);
|
|
804
|
+
setTableCellPadding(mutation, ctx) {
|
|
805
|
+
const result = setTableCellPadding(this.documentXml, mutation, ctx);
|
|
578
806
|
if (result.affectedCells > 0) {
|
|
579
807
|
this.dirty = true;
|
|
580
808
|
this.documentViewCache = null;
|
|
@@ -591,9 +819,11 @@ export class DocxDocument {
|
|
|
591
819
|
/**
|
|
592
820
|
* Merge format-identical adjacent runs only (no redline simplification).
|
|
593
821
|
* Useful as a pre-processing step before text search when runs may be fragmented.
|
|
822
|
+
* Pass `{ preserveRsidIdentity: true }` from edit pipelines that must not
|
|
823
|
+
* disturb rsid attributes on runs the caller did not touch (#286).
|
|
594
824
|
*/
|
|
595
|
-
mergeRunsOnly() {
|
|
596
|
-
const result = mergeRuns(this.documentXml);
|
|
825
|
+
mergeRunsOnly(opts = {}) {
|
|
826
|
+
const result = mergeRuns(this.documentXml, opts);
|
|
597
827
|
if (result.runsMerged > 0) {
|
|
598
828
|
this.dirty = true;
|
|
599
829
|
this.documentViewCache = null;
|
|
@@ -606,7 +836,7 @@ export class DocxDocument {
|
|
|
606
836
|
* Bootstraps comment parts if missing (idempotent).
|
|
607
837
|
* Returns the allocated comment ID.
|
|
608
838
|
*/
|
|
609
|
-
async addComment(params) {
|
|
839
|
+
async addComment(params, ctx) {
|
|
610
840
|
const p = findParagraphByBookmarkId(this.documentXml, params.paragraphId);
|
|
611
841
|
if (!p)
|
|
612
842
|
throw new Error(`Paragraph not found: ${params.paragraphId}`);
|
|
@@ -618,7 +848,7 @@ export class DocxDocument {
|
|
|
618
848
|
author: params.author,
|
|
619
849
|
text: params.text,
|
|
620
850
|
initials: params.initials,
|
|
621
|
-
});
|
|
851
|
+
}, ctx);
|
|
622
852
|
this.dirty = true;
|
|
623
853
|
this.documentViewCache = null;
|
|
624
854
|
return result;
|
|
@@ -629,14 +859,14 @@ export class DocxDocument {
|
|
|
629
859
|
* Bootstraps comment parts if missing (idempotent).
|
|
630
860
|
* Returns the allocated comment ID and parent ID.
|
|
631
861
|
*/
|
|
632
|
-
async addCommentReply(params) {
|
|
862
|
+
async addCommentReply(params, ctx) {
|
|
633
863
|
await bootstrapCommentParts(this.zip);
|
|
634
864
|
const result = await addCommentReplyImpl(this.documentXml, this.zip, {
|
|
635
865
|
parentCommentId: params.parentCommentId,
|
|
636
866
|
author: params.author,
|
|
637
867
|
text: params.text,
|
|
638
868
|
initials: params.initials,
|
|
639
|
-
});
|
|
869
|
+
}, ctx);
|
|
640
870
|
this.dirty = true;
|
|
641
871
|
this.documentViewCache = null;
|
|
642
872
|
return result;
|
|
@@ -647,8 +877,8 @@ export class DocxDocument {
|
|
|
647
877
|
async getComment(commentId) {
|
|
648
878
|
return getCommentImpl(this.zip, this.documentXml, commentId);
|
|
649
879
|
}
|
|
650
|
-
async deleteComment(params) {
|
|
651
|
-
await deleteCommentImpl(this.documentXml, this.zip, params);
|
|
880
|
+
async deleteComment(params, ctx) {
|
|
881
|
+
await deleteCommentImpl(this.documentXml, this.zip, params, ctx);
|
|
652
882
|
this.dirty = true;
|
|
653
883
|
this.documentViewCache = null;
|
|
654
884
|
}
|
|
@@ -660,6 +890,47 @@ export class DocxDocument {
|
|
|
660
890
|
async getFootnotes() {
|
|
661
891
|
return getFootnotesImpl(this.zip, this.documentXml);
|
|
662
892
|
}
|
|
893
|
+
/**
|
|
894
|
+
* Serialize the document to GitHub-Flavored Markdown. Convenience wrapper that wires the
|
|
895
|
+
* structured document view (with inline formatting) and footnotes into
|
|
896
|
+
* {@link serializeToMarkdown}. Markdown is intentionally lossy — see that serializer.
|
|
897
|
+
*
|
|
898
|
+
* Async because footnote extraction reads the footnotes part from the zip.
|
|
899
|
+
*/
|
|
900
|
+
async toMarkdown(opts) {
|
|
901
|
+
const { nodes } = this.buildDocumentView({ showFormatting: true });
|
|
902
|
+
const footnotes = await this.getFootnotes();
|
|
903
|
+
return serializeToMarkdown(nodes, footnotes, opts);
|
|
904
|
+
}
|
|
905
|
+
/**
|
|
906
|
+
* Serialize the document to semantic HTML. Convenience wrapper that wires the structured
|
|
907
|
+
* document view (with inline formatting) and footnotes into {@link serializeToHtml}. The
|
|
908
|
+
* default output is a complete `<!DOCTYPE html>` document; pass `{ fragment: true }` for the
|
|
909
|
+
* body-level elements only. This is the semantic tier — exact layout is not reproduced.
|
|
910
|
+
*
|
|
911
|
+
* Async because footnote extraction reads the footnotes part from the zip.
|
|
912
|
+
*/
|
|
913
|
+
async toHtml(opts) {
|
|
914
|
+
const { nodes } = this.buildDocumentView({ showFormatting: true });
|
|
915
|
+
const footnotes = await this.getFootnotes();
|
|
916
|
+
return serializeToHtml(nodes, footnotes, opts);
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* Serialize the document to plain text (no markup). Convenience wrapper that wires the
|
|
920
|
+
* structured document view and footnotes into {@link serializeToPlainText}. All formatting
|
|
921
|
+
* is stripped; block structure survives as blank-line-separated paragraphs, `- ` bullets,
|
|
922
|
+
* and tab-separated table rows. Intentionally lossy — see that serializer.
|
|
923
|
+
*
|
|
924
|
+
* Uses the same `showFormatting: true` view as {@link toMarkdown} so the block structure
|
|
925
|
+
* and injected `[^n]` footnote markers match; the inline tags it produces are then stripped.
|
|
926
|
+
*
|
|
927
|
+
* Async because footnote extraction reads the footnotes part from the zip.
|
|
928
|
+
*/
|
|
929
|
+
async toPlainText(opts) {
|
|
930
|
+
const { nodes } = this.buildDocumentView({ showFormatting: true });
|
|
931
|
+
const footnotes = await this.getFootnotes();
|
|
932
|
+
return serializeToPlainText(nodes, footnotes, opts);
|
|
933
|
+
}
|
|
663
934
|
async getFootnote(noteId) {
|
|
664
935
|
return getFootnoteImpl(this.zip, this.documentXml, noteId);
|
|
665
936
|
}
|
|
@@ -669,7 +940,7 @@ export class DocxDocument {
|
|
|
669
940
|
* Bootstraps footnote parts if missing (idempotent).
|
|
670
941
|
* Returns the allocated footnote ID.
|
|
671
942
|
*/
|
|
672
|
-
async addFootnote(params) {
|
|
943
|
+
async addFootnote(params, ctx) {
|
|
673
944
|
const p = findParagraphByBookmarkId(this.documentXml, params.paragraphId);
|
|
674
945
|
if (!p)
|
|
675
946
|
throw new Error(`Paragraph not found: ${params.paragraphId}`);
|
|
@@ -678,7 +949,7 @@ export class DocxDocument {
|
|
|
678
949
|
paragraphEl: p,
|
|
679
950
|
afterText: params.afterText,
|
|
680
951
|
text: params.text,
|
|
681
|
-
});
|
|
952
|
+
}, ctx);
|
|
682
953
|
await this.refreshFootnotesXml();
|
|
683
954
|
this.dirty = true;
|
|
684
955
|
this.documentViewCache = null;
|
|
@@ -687,8 +958,8 @@ export class DocxDocument {
|
|
|
687
958
|
/**
|
|
688
959
|
* Update the text content of an existing footnote.
|
|
689
960
|
*/
|
|
690
|
-
async updateFootnoteText(params) {
|
|
691
|
-
await updateFootnoteTextImpl(this.zip, params);
|
|
961
|
+
async updateFootnoteText(params, ctx) {
|
|
962
|
+
await updateFootnoteTextImpl(this.zip, params, ctx);
|
|
692
963
|
await this.refreshFootnotesXml();
|
|
693
964
|
this.dirty = true;
|
|
694
965
|
this.documentViewCache = null;
|
|
@@ -696,8 +967,8 @@ export class DocxDocument {
|
|
|
696
967
|
/**
|
|
697
968
|
* Delete a footnote and its references from the document.
|
|
698
969
|
*/
|
|
699
|
-
async deleteFootnote(params) {
|
|
700
|
-
await deleteFootnoteImpl(this.documentXml, this.zip, params);
|
|
970
|
+
async deleteFootnote(params, ctx) {
|
|
971
|
+
await deleteFootnoteImpl(this.documentXml, this.zip, params, ctx);
|
|
701
972
|
await this.refreshFootnotesXml();
|
|
702
973
|
this.dirty = true;
|
|
703
974
|
this.documentViewCache = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/primitives/document.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/primitives/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DocumentViewNode, ToonCommentMarker, ToonCommentMarkerMap, ToonInlineToken } from './document_view-types.js';
|
|
2
|
+
export type { DocumentViewComment, DocumentViewCommentRange, ToonCommentMarker, ToonCommentMarkerMap, ToonInlineToken } from './document_view-types.js';
|
|
3
|
+
export declare const INLINE_COMMENT_MARKER_RUNTIME: unique symbol;
|
|
4
|
+
export declare const TOON_INLINE_TAG_RE: RegExp;
|
|
5
|
+
/**
|
|
6
|
+
* Split a TOON inline-tag string (`DocumentViewNode.tagged_text` produced with
|
|
7
|
+
* `show_formatting`) into an ordered list of `tag` and `text` tokens, using the exact same
|
|
8
|
+
* grammar (`TOON_INLINE_TAG_RE`) the formatter emits. Consecutive literal characters are
|
|
9
|
+
* coalesced into one `text` token. This is the shared tokenization primitive used by
|
|
10
|
+
* downstream serializers (Markdown today, HTML next) so they never reason about the tag
|
|
11
|
+
* grammar independently and drift from the emitter.
|
|
12
|
+
*/
|
|
13
|
+
export declare function tokenizeToonInline(text: string): ToonInlineToken[];
|
|
14
|
+
export declare function countVisibleTextCharacters(text: string): number;
|
|
15
|
+
export declare function findTaggedTextInsertionIndex(text: string, visibleOffset: number): number;
|
|
16
|
+
export declare function injectToonCommentMarkers(text: string, markers: readonly ToonCommentMarker[]): string;
|
|
17
|
+
export declare function collectInlineCommentMarkers(nodes: readonly DocumentViewNode[]): ToonCommentMarkerMap;
|
|
18
|
+
//# sourceMappingURL=document_view-comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document_view-comments.d.ts","sourceRoot":"","sources":["../../src/primitives/document_view-comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhJ,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAExJ,eAAO,MAAM,6BAA6B,eAA0C,CAAC;AAuBrF,eAAO,MAAM,kBAAkB,QAAqE,CAAC;AAErG;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAkBlE;AAQD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAiBxF;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,iBAAiB,EAAE,GACpC,MAAM,CASR;AAqDD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GACjC,oBAAoB,CAmDtB"}
|