docxodus 7.1.0 → 8.0.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/docxodus.worker.js +2 -2
- package/dist/docxodus.worker.js.map +1 -1
- package/dist/editor-headerfooter.d.ts +130 -0
- package/dist/editor-headerfooter.d.ts.map +1 -0
- package/dist/editor-headerfooter.js +414 -0
- package/dist/editor-headerfooter.js.map +1 -0
- package/dist/editor.bundle.js +1075 -81
- package/dist/editor.d.ts +82 -4
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +304 -63
- package/dist/editor.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/pagination.bundle.js +480 -19
- package/dist/pagination.d.ts +81 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +528 -26
- package/dist/pagination.js.map +1 -1
- package/dist/react.d.ts +3 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +6 -4
- package/dist/react.js.map +1 -1
- package/dist/session.bundle.js +15 -0
- package/dist/session.d.ts +13 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +15 -0
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +47 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -11
- package/dist/types.js.map +1 -1
- package/dist/wasm/_framework/Docxodus.wasm +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Concurrent.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Immutable.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.NonGeneric.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Specialized.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.wasm +0 -0
- package/dist/wasm/_framework/System.ComponentModel.Primitives.wasm +0 -0
- package/dist/wasm/_framework/System.ComponentModel.TypeConverter.wasm +0 -0
- package/dist/wasm/_framework/System.ComponentModel.wasm +0 -0
- package/dist/wasm/_framework/System.Console.wasm +0 -0
- package/dist/wasm/_framework/System.Diagnostics.Process.wasm +0 -0
- package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
- package/dist/wasm/_framework/System.IO.Pipelines.wasm +0 -0
- package/dist/wasm/_framework/System.Linq.Expressions.wasm +0 -0
- package/dist/wasm/_framework/System.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Memory.wasm +0 -0
- package/dist/wasm/_framework/System.Net.Http.wasm +0 -0
- package/dist/wasm/_framework/System.Net.Primitives.wasm +0 -0
- package/dist/wasm/_framework/System.ObjectModel.wasm +0 -0
- package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Uri.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Xml.wasm +0 -0
- package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
- package/dist/wasm/_framework/System.Runtime.wasm +0 -0
- package/dist/wasm/_framework/System.Security.Cryptography.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Encoding.Extensions.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Encodings.Web.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Json.wasm +0 -0
- package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
- package/dist/wasm/_framework/System.Threading.Thread.wasm +0 -0
- package/dist/wasm/_framework/System.Threading.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.ReaderWriter.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.XDocument.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.XPath.XDocument.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.XPath.wasm +0 -0
- package/dist/wasm/_framework/System.wasm +0 -0
- package/dist/wasm/_framework/dotnet.boot.js +41 -41
- package/dist/wasm/_framework/dotnet.js +1 -1
- package/dist/wasm/_framework/dotnet.js.map +1 -1
- package/dist/wasm/_framework/dotnet.native.js +3 -3
- package/dist/wasm/_framework/dotnet.native.wasm +0 -0
- package/dist/wasm/_framework/dotnet.runtime.js +1 -1
- package/dist/wasm/_framework/dotnet.runtime.js.map +1 -1
- package/dist/wasm/index.html +2 -1
- package/package.json +1 -1
package/dist/docxodus.worker.js
CHANGED
|
@@ -120,7 +120,7 @@ function handleCompare(request) {
|
|
|
120
120
|
const options = request.options;
|
|
121
121
|
try {
|
|
122
122
|
let result;
|
|
123
|
-
const engine = options?.engine ??
|
|
123
|
+
const engine = options?.engine ?? 1 /* DocxDiff */;
|
|
124
124
|
if (options?.detailThreshold !== void 0 || options?.caseInsensitive) {
|
|
125
125
|
result = exports.DocumentComparer.CompareDocumentsWithOptions(
|
|
126
126
|
request.originalBytes,
|
|
@@ -151,7 +151,7 @@ function handleCompareToHtml(request) {
|
|
|
151
151
|
const options = request.options;
|
|
152
152
|
try {
|
|
153
153
|
const renderTrackedChanges = options?.renderTrackedChanges ?? true;
|
|
154
|
-
const engine = options?.engine ??
|
|
154
|
+
const engine = options?.engine ?? 1 /* DocxDiff */;
|
|
155
155
|
const result = exports.DocumentComparer.CompareDocumentsToHtmlWithOptions(
|
|
156
156
|
request.originalBytes,
|
|
157
157
|
request.modifiedBytes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docxodus.worker.js","sourceRoot":"","sources":["../src/docxodus.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docxodus.worker.js","sourceRoot":"","sources":["../src/docxodus.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HeaderFooterRegion — the DocxEditor's docked header/footer editing bands.
|
|
3
|
+
*
|
|
4
|
+
* Header and footer stories live in their own OOXML parts (HeaderPart/FooterPart) *outside*
|
|
5
|
+
* the body, so they cannot be another block in the body flow. This module renders them as two
|
|
6
|
+
* docked bands — one above the body, one below — each composed PER STORY PARAGRAPH via the
|
|
7
|
+
* session-attached `RenderBlockHtml`, which resolves `hdr`/`ftr` anchors natively.
|
|
8
|
+
*
|
|
9
|
+
* Using the same renderer for first paint and for the post-edit incremental swap means there is
|
|
10
|
+
* no fidelity drift between them. It is also the only option that works in continuous mode at
|
|
11
|
+
* all: the editor's full-document render only asks for headers/footers in paginated mode, and it
|
|
12
|
+
* never stamps `data-anchor` inside header/footer parts (Unids are assigned to the main document
|
|
13
|
+
* part only). In paginated mode the page boxes additionally clone one header node onto every
|
|
14
|
+
* page, so page-margin nodes could never be uniquely addressable — bands keep exactly one DOM
|
|
15
|
+
* node per story paragraph.
|
|
16
|
+
*
|
|
17
|
+
* Once rendered, a story paragraph is an ORDINARY editable block: DocxSession's anchor
|
|
18
|
+
* resolution indexes every scope and routes by part, so ReplaceText/ApplyFormat/SetParagraphFormat
|
|
19
|
+
* all accept a `p:hdr1:<unid>` anchor. The editor wires band blocks with the same `wireBlock` it
|
|
20
|
+
* uses for the body, which is why the whole ribbon works inside a band with no new command code.
|
|
21
|
+
*/
|
|
22
|
+
import type { HeaderFooterKind } from "./types.js";
|
|
23
|
+
/** Which of the two bands an operation targets. */
|
|
24
|
+
export type BandWhich = "header" | "footer";
|
|
25
|
+
/** The bridge slice the region needs. Structurally satisfied by `DocxEditorExports.DocxSessionBridge`;
|
|
26
|
+
* declared locally so this module and `editor.ts` don't import each other. */
|
|
27
|
+
export interface HeaderFooterBridge {
|
|
28
|
+
Project: (handle: number) => string;
|
|
29
|
+
GetSectionInfo: (handle: number, anchorId: string) => string;
|
|
30
|
+
SetHeaderText: (handle: number, anchor: string, kind: string, markdown: string) => string;
|
|
31
|
+
SetFooterText: (handle: number, anchor: string, kind: string, markdown: string) => string;
|
|
32
|
+
InsertPageNumberField: (handle: number, anchor: string, field: string) => string;
|
|
33
|
+
EnsureHeaderFooterVisible: (handle: number, anchor: string, kind: string) => string;
|
|
34
|
+
RenderBlockHtml: (handle: number, anchorId: string, cssPrefix: string, fabricateClasses: boolean) => string;
|
|
35
|
+
}
|
|
36
|
+
export interface HeaderFooterRegionCallbacks {
|
|
37
|
+
/** Wire a freshly rendered story paragraph as an editable block (DocxEditor.wireBlock). */
|
|
38
|
+
wireBlock: (el: HTMLElement) => void;
|
|
39
|
+
/** Rebuild the editor's unid → full-anchor map (a seed adds a part, changing the projection). */
|
|
40
|
+
refreshAnchorMap: () => void;
|
|
41
|
+
}
|
|
42
|
+
export interface HeaderFooterRegionOptions {
|
|
43
|
+
cssPrefix: string;
|
|
44
|
+
fabricateClasses: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare class HeaderFooterRegion {
|
|
47
|
+
readonly headerBand: HTMLElement;
|
|
48
|
+
readonly footerBand: HTMLElement;
|
|
49
|
+
private readonly bridge;
|
|
50
|
+
private readonly handle;
|
|
51
|
+
private readonly options;
|
|
52
|
+
private readonly callbacks;
|
|
53
|
+
/** The body anchor whose section the bands currently describe (needed to seed a story). */
|
|
54
|
+
private bodyAnchorId;
|
|
55
|
+
private sectionInfo;
|
|
56
|
+
/** Memoized body anchor → governing sectionUnid, so repeat focus costs no bridge call. */
|
|
57
|
+
private readonly sectionOfAnchor;
|
|
58
|
+
private readonly kinds;
|
|
59
|
+
constructor(bridge: HeaderFooterBridge, handle: number, options: HeaderFooterRegionOptions, callbacks: HeaderFooterRegionCallbacks);
|
|
60
|
+
/**
|
|
61
|
+
* Point the bands at the section governing `bodyAnchorId` and repaint if it changed.
|
|
62
|
+
* Cheap to call on every focus change: the anchor → section lookup is memoized, and an
|
|
63
|
+
* unchanged `sectionUnid` returns without touching the DOM (so it never clobbers the
|
|
64
|
+
* user's kind selection).
|
|
65
|
+
*/
|
|
66
|
+
syncToBody(bodyAnchorId: string | null): void;
|
|
67
|
+
/** Repaint one band from the live session. */
|
|
68
|
+
refresh(which: BandWhich): void;
|
|
69
|
+
/** Repaint both bands from the live session (after a remount, undo/redo, or section change). */
|
|
70
|
+
refreshAll(): void;
|
|
71
|
+
/** Select (and, if absent, create) the story kind a band edits, and make it render. */
|
|
72
|
+
setKind(which: BandWhich, kind: HeaderFooterKind): void;
|
|
73
|
+
/** The kind a band is currently editing. */
|
|
74
|
+
kindOf(which: BandWhich): HeaderFooterKind;
|
|
75
|
+
/** Append a PAGE / NUMPAGES field to the story paragraph addressed by `anchorId`. */
|
|
76
|
+
insertPageNumber(which: BandWhich, anchorId: string, field: "currentPage" | "totalPages"): boolean;
|
|
77
|
+
/** Insert a page number into a band's own target paragraph (focused, else last). Seeds the
|
|
78
|
+
* story first if the band's selected kind has none, so the command is never a silent no-op. */
|
|
79
|
+
insertPageNumberInBand(which: BandWhich, field: "currentPage" | "totalPages"): boolean;
|
|
80
|
+
/** The band element containing `node`, or null. */
|
|
81
|
+
bandOf(node: Node | null): HTMLElement | null;
|
|
82
|
+
/** The block-list root (a band's story container) owning `node`, or null. */
|
|
83
|
+
blockRootOf(node: Node | null): HTMLElement | null;
|
|
84
|
+
/** True when `node` is inside either band (including its chrome). */
|
|
85
|
+
contains(node: Node | null): boolean;
|
|
86
|
+
/** `"header"` / `"footer"` for a band element produced by this region. */
|
|
87
|
+
whichOf(band: HTMLElement): BandWhich;
|
|
88
|
+
private readSectionInfo;
|
|
89
|
+
private refsFor;
|
|
90
|
+
/** The reference supplying `kind` for this band — possibly inherited from an earlier section. */
|
|
91
|
+
private refFor;
|
|
92
|
+
/** URI of the part supplying `kind` for this band, or null when the story doesn't exist. */
|
|
93
|
+
private partUriFor;
|
|
94
|
+
/** Full anchor ids of the story paragraphs held in `partUri`, in document order. */
|
|
95
|
+
private storyAnchors;
|
|
96
|
+
/**
|
|
97
|
+
* Create an empty story for `kind`. Seeding happens the moment a kind is selected rather than
|
|
98
|
+
* lazily on first keystroke: an absent story renders no contenteditable element, so there
|
|
99
|
+
* would be nothing to click into.
|
|
100
|
+
*/
|
|
101
|
+
private seedStory;
|
|
102
|
+
private bandFor;
|
|
103
|
+
private buildBand;
|
|
104
|
+
/**
|
|
105
|
+
* Which story paragraph a page-number insert targets: the last one the user focused in this
|
|
106
|
+
* band if it is still attached, else the band's last paragraph (Word's convention — the page
|
|
107
|
+
* number goes at the end of the footer line).
|
|
108
|
+
*/
|
|
109
|
+
private pageNumberTarget;
|
|
110
|
+
private renderBand;
|
|
111
|
+
/**
|
|
112
|
+
* Mark a story paragraph as belonging to this region. The full anchor id is stamped alongside
|
|
113
|
+
* `data-anchor` (which carries only the bare unid, matching the body's convention) so band
|
|
114
|
+
* chrome can address the block without going through the editor's unid map. Called on first
|
|
115
|
+
* render AND after an incremental swap, which replaces the DOM node.
|
|
116
|
+
*/
|
|
117
|
+
adoptBlock(el: HTMLElement, anchorId: string): void;
|
|
118
|
+
private renderStoryBlock;
|
|
119
|
+
private placeholder;
|
|
120
|
+
/**
|
|
121
|
+
* Surface the caveat that comes with the selected kind. Turning on first/even means those pages
|
|
122
|
+
* stop using the Default stories entirely, which bites hardest on the OTHER band: enabling an
|
|
123
|
+
* even header with no even footer leaves even pages footer-less, and enabling a first-page
|
|
124
|
+
* header with an empty first-page footer leaves page 1 footer-less. The note is shown whenever
|
|
125
|
+
* first/even is selected (the behavior change is real either way); the fix button appears only
|
|
126
|
+
* when the counterpart story is missing entirely, which is what a user almost always wants next.
|
|
127
|
+
*/
|
|
128
|
+
private renderKindWarning;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=editor-headerfooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-headerfooter.d.ts","sourceRoot":"","sources":["../src/editor-headerfooter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HeaderFooterRegion — the DocxEditor's docked header/footer editing bands.
|
|
3
|
+
*
|
|
4
|
+
* Header and footer stories live in their own OOXML parts (HeaderPart/FooterPart) *outside*
|
|
5
|
+
* the body, so they cannot be another block in the body flow. This module renders them as two
|
|
6
|
+
* docked bands — one above the body, one below — each composed PER STORY PARAGRAPH via the
|
|
7
|
+
* session-attached `RenderBlockHtml`, which resolves `hdr`/`ftr` anchors natively.
|
|
8
|
+
*
|
|
9
|
+
* Using the same renderer for first paint and for the post-edit incremental swap means there is
|
|
10
|
+
* no fidelity drift between them. It is also the only option that works in continuous mode at
|
|
11
|
+
* all: the editor's full-document render only asks for headers/footers in paginated mode, and it
|
|
12
|
+
* never stamps `data-anchor` inside header/footer parts (Unids are assigned to the main document
|
|
13
|
+
* part only). In paginated mode the page boxes additionally clone one header node onto every
|
|
14
|
+
* page, so page-margin nodes could never be uniquely addressable — bands keep exactly one DOM
|
|
15
|
+
* node per story paragraph.
|
|
16
|
+
*
|
|
17
|
+
* Once rendered, a story paragraph is an ORDINARY editable block: DocxSession's anchor
|
|
18
|
+
* resolution indexes every scope and routes by part, so ReplaceText/ApplyFormat/SetParagraphFormat
|
|
19
|
+
* all accept a `p:hdr1:<unid>` anchor. The editor wires band blocks with the same `wireBlock` it
|
|
20
|
+
* uses for the body, which is why the whole ribbon works inside a band with no new command code.
|
|
21
|
+
*/
|
|
22
|
+
const KIND_LABELS = [
|
|
23
|
+
{ value: "default", label: "Default" },
|
|
24
|
+
{ value: "first", label: "First page" },
|
|
25
|
+
{ value: "even", label: "Even pages" },
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* Verbatim from docs/architecture/docx_mutation_api.md. `w:evenAndOddHeaders` is set on the
|
|
29
|
+
* SETTINGS part, so it is document-global and governs footers as well as headers: once set,
|
|
30
|
+
* even pages stop inheriting the Default stories entirely. A demo user who creates only an
|
|
31
|
+
* even header hits this immediately and sees their footer vanish on page 2.
|
|
32
|
+
*/
|
|
33
|
+
const EVEN_WARNING = "w:evenAndOddHeaders is document-global and governs footers too — even pages stop " +
|
|
34
|
+
"inheriting the Default stories, so a section with only a Default footer shows no footer " +
|
|
35
|
+
"at all on even pages.";
|
|
36
|
+
/**
|
|
37
|
+
* `w:titlePg` is per-section but has the same shape of surprise: once set, page 1 uses its OWN
|
|
38
|
+
* header AND footer, so an empty first-page footer means page 1 shows no footer even though the
|
|
39
|
+
* Default one is populated.
|
|
40
|
+
*/
|
|
41
|
+
const FIRST_WARNING = "w:titlePg makes page 1 use its own first-page header AND footer instead of the Default " +
|
|
42
|
+
"ones, so an empty first-page footer leaves page 1 with no footer.";
|
|
43
|
+
/** Kinds/scopes the markdown projection addresses as editable text blocks. */
|
|
44
|
+
const STORY_BLOCK_KINDS = new Set(["p", "h", "li"]);
|
|
45
|
+
export class HeaderFooterRegion {
|
|
46
|
+
constructor(bridge, handle, options, callbacks) {
|
|
47
|
+
/** The body anchor whose section the bands currently describe (needed to seed a story). */
|
|
48
|
+
this.bodyAnchorId = null;
|
|
49
|
+
this.sectionInfo = null;
|
|
50
|
+
/** Memoized body anchor → governing sectionUnid, so repeat focus costs no bridge call. */
|
|
51
|
+
this.sectionOfAnchor = new Map();
|
|
52
|
+
this.kinds = {
|
|
53
|
+
header: "default",
|
|
54
|
+
footer: "default",
|
|
55
|
+
};
|
|
56
|
+
this.bridge = bridge;
|
|
57
|
+
this.handle = handle;
|
|
58
|
+
this.options = options;
|
|
59
|
+
this.callbacks = callbacks;
|
|
60
|
+
this.headerBand = this.buildBand("header");
|
|
61
|
+
this.footerBand = this.buildBand("footer");
|
|
62
|
+
}
|
|
63
|
+
// ─── public surface ──────────────────────────────────────────────────
|
|
64
|
+
/**
|
|
65
|
+
* Point the bands at the section governing `bodyAnchorId` and repaint if it changed.
|
|
66
|
+
* Cheap to call on every focus change: the anchor → section lookup is memoized, and an
|
|
67
|
+
* unchanged `sectionUnid` returns without touching the DOM (so it never clobbers the
|
|
68
|
+
* user's kind selection).
|
|
69
|
+
*/
|
|
70
|
+
syncToBody(bodyAnchorId) {
|
|
71
|
+
if (!bodyAnchorId)
|
|
72
|
+
return;
|
|
73
|
+
const cached = this.sectionOfAnchor.get(bodyAnchorId);
|
|
74
|
+
if (cached !== undefined && cached === this.sectionInfo?.sectionUnid) {
|
|
75
|
+
this.bodyAnchorId = bodyAnchorId; // same section — keep it as the seed target
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const info = this.readSectionInfo(bodyAnchorId);
|
|
79
|
+
if (!info)
|
|
80
|
+
return; // not a body anchor (or no sectPr) — leave the bands as they are
|
|
81
|
+
this.sectionOfAnchor.set(bodyAnchorId, info.sectionUnid);
|
|
82
|
+
const changed = info.sectionUnid !== this.sectionInfo?.sectionUnid;
|
|
83
|
+
this.bodyAnchorId = bodyAnchorId;
|
|
84
|
+
this.sectionInfo = info;
|
|
85
|
+
if (changed)
|
|
86
|
+
this.refreshAll();
|
|
87
|
+
}
|
|
88
|
+
/** Repaint one band from the live session. */
|
|
89
|
+
refresh(which) {
|
|
90
|
+
this.sectionInfo = this.bodyAnchorId ? this.readSectionInfo(this.bodyAnchorId) : null;
|
|
91
|
+
this.renderBand(which);
|
|
92
|
+
}
|
|
93
|
+
/** Repaint both bands from the live session (after a remount, undo/redo, or section change). */
|
|
94
|
+
refreshAll() {
|
|
95
|
+
this.renderBand("header");
|
|
96
|
+
this.renderBand("footer");
|
|
97
|
+
}
|
|
98
|
+
/** Select (and, if absent, create) the story kind a band edits, and make it render. */
|
|
99
|
+
setKind(which, kind) {
|
|
100
|
+
this.kinds[which] = kind;
|
|
101
|
+
const select = this.bandFor(which).querySelector("[data-hf-kind]");
|
|
102
|
+
if (select && select.value !== kind)
|
|
103
|
+
select.value = kind;
|
|
104
|
+
if (!this.partUriFor(which, kind))
|
|
105
|
+
this.seedStory(which, kind);
|
|
106
|
+
// Selecting first/even IS the user saying "use a different first/even page", so the section's
|
|
107
|
+
// visibility flag must be set even when the part already exists — seedStory (which sets it as
|
|
108
|
+
// a side effect of writing content) doesn't run then. Word leaves first/even parts behind when
|
|
109
|
+
// those options are switched off, so a real document commonly has the reference WITHOUT the
|
|
110
|
+
// flag; without this the typed story is saved but never rendered.
|
|
111
|
+
if (this.bodyAnchorId && kind !== "default") {
|
|
112
|
+
this.bridge.EnsureHeaderFooterVisible(this.handle, this.bodyAnchorId, kind);
|
|
113
|
+
}
|
|
114
|
+
this.refresh(which);
|
|
115
|
+
}
|
|
116
|
+
/** The kind a band is currently editing. */
|
|
117
|
+
kindOf(which) {
|
|
118
|
+
return this.kinds[which];
|
|
119
|
+
}
|
|
120
|
+
/** Append a PAGE / NUMPAGES field to the story paragraph addressed by `anchorId`. */
|
|
121
|
+
insertPageNumber(which, anchorId, field) {
|
|
122
|
+
const res = parseResult(this.bridge.InsertPageNumberField(this.handle, anchorId, field));
|
|
123
|
+
if (!res.success)
|
|
124
|
+
return false;
|
|
125
|
+
this.refresh(which);
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
/** Insert a page number into a band's own target paragraph (focused, else last). Seeds the
|
|
129
|
+
* story first if the band's selected kind has none, so the command is never a silent no-op. */
|
|
130
|
+
insertPageNumberInBand(which, field) {
|
|
131
|
+
if (!this.partUriFor(which, this.kinds[which])) {
|
|
132
|
+
this.seedStory(which, this.kinds[which]);
|
|
133
|
+
this.renderBand(which);
|
|
134
|
+
}
|
|
135
|
+
const target = this.pageNumberTarget(which);
|
|
136
|
+
return target ? this.insertPageNumber(which, target, field) : false;
|
|
137
|
+
}
|
|
138
|
+
/** The band element containing `node`, or null. */
|
|
139
|
+
bandOf(node) {
|
|
140
|
+
const el = node && node.nodeType === 1 ? node : node?.parentElement ?? null;
|
|
141
|
+
const band = el?.closest("[data-hf-band]") ?? null;
|
|
142
|
+
return band === this.headerBand || band === this.footerBand ? band : null;
|
|
143
|
+
}
|
|
144
|
+
/** The block-list root (a band's story container) owning `node`, or null. */
|
|
145
|
+
blockRootOf(node) {
|
|
146
|
+
const band = this.bandOf(node);
|
|
147
|
+
return band ? band.querySelector("[data-hf-body]") : null;
|
|
148
|
+
}
|
|
149
|
+
/** True when `node` is inside either band (including its chrome). */
|
|
150
|
+
contains(node) {
|
|
151
|
+
return this.bandOf(node) !== null;
|
|
152
|
+
}
|
|
153
|
+
/** `"header"` / `"footer"` for a band element produced by this region. */
|
|
154
|
+
whichOf(band) {
|
|
155
|
+
return band === this.footerBand ? "footer" : "header";
|
|
156
|
+
}
|
|
157
|
+
// ─── section + anchor resolution ─────────────────────────────────────
|
|
158
|
+
readSectionInfo(bodyAnchorId) {
|
|
159
|
+
try {
|
|
160
|
+
const raw = this.bridge.GetSectionInfo(this.handle, bodyAnchorId);
|
|
161
|
+
const parsed = JSON.parse(raw);
|
|
162
|
+
return parsed && typeof parsed.sectionUnid === "string" ? parsed : null;
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
refsFor(which) {
|
|
169
|
+
const info = this.sectionInfo;
|
|
170
|
+
if (!info)
|
|
171
|
+
return [];
|
|
172
|
+
return (which === "header" ? info.headerRefs : info.footerRefs) ?? [];
|
|
173
|
+
}
|
|
174
|
+
/** The reference supplying `kind` for this band — possibly inherited from an earlier section. */
|
|
175
|
+
refFor(which, kind) {
|
|
176
|
+
return this.refsFor(which).find((r) => r.kind === kind) ?? null;
|
|
177
|
+
}
|
|
178
|
+
/** URI of the part supplying `kind` for this band, or null when the story doesn't exist. */
|
|
179
|
+
partUriFor(which, kind) {
|
|
180
|
+
return this.refFor(which, kind)?.partUri ?? null;
|
|
181
|
+
}
|
|
182
|
+
/** Full anchor ids of the story paragraphs held in `partUri`, in document order. */
|
|
183
|
+
storyAnchors(partUri) {
|
|
184
|
+
let index;
|
|
185
|
+
try {
|
|
186
|
+
index = JSON.parse(this.bridge.Project(this.handle)).anchorIndex;
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return [];
|
|
190
|
+
}
|
|
191
|
+
return Object.entries(index)
|
|
192
|
+
.filter(([, t]) => t.partUri === partUri && STORY_BLOCK_KINDS.has(t.kind))
|
|
193
|
+
.map(([id]) => id);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Create an empty story for `kind`. Seeding happens the moment a kind is selected rather than
|
|
197
|
+
* lazily on first keystroke: an absent story renders no contenteditable element, so there
|
|
198
|
+
* would be nothing to click into.
|
|
199
|
+
*/
|
|
200
|
+
seedStory(which, kind) {
|
|
201
|
+
if (!this.bodyAnchorId)
|
|
202
|
+
return;
|
|
203
|
+
const set = which === "header" ? this.bridge.SetHeaderText : this.bridge.SetFooterText;
|
|
204
|
+
const res = parseResult(set(this.handle, this.bodyAnchorId, kind, ""));
|
|
205
|
+
if (!res.success)
|
|
206
|
+
return;
|
|
207
|
+
// A new part changes the projection (fresh hdr{N}/ftr{N} scope) and the section's refs.
|
|
208
|
+
this.callbacks.refreshAnchorMap();
|
|
209
|
+
this.sectionInfo = this.readSectionInfo(this.bodyAnchorId);
|
|
210
|
+
}
|
|
211
|
+
// ─── rendering ───────────────────────────────────────────────────────
|
|
212
|
+
bandFor(which) {
|
|
213
|
+
return which === "header" ? this.headerBand : this.footerBand;
|
|
214
|
+
}
|
|
215
|
+
buildBand(which) {
|
|
216
|
+
const band = document.createElement("div");
|
|
217
|
+
band.className = "docx-hf-band";
|
|
218
|
+
band.setAttribute("data-hf-band", which);
|
|
219
|
+
const chrome = document.createElement("div");
|
|
220
|
+
chrome.className = "docx-hf-chrome";
|
|
221
|
+
const label = document.createElement("span");
|
|
222
|
+
label.className = "docx-hf-label";
|
|
223
|
+
label.textContent = which === "header" ? "Header" : "Footer";
|
|
224
|
+
chrome.appendChild(label);
|
|
225
|
+
const kindSelect = document.createElement("select");
|
|
226
|
+
kindSelect.setAttribute("data-hf-kind", "");
|
|
227
|
+
kindSelect.title = "Which header/footer story to edit";
|
|
228
|
+
for (const k of KIND_LABELS) {
|
|
229
|
+
const opt = document.createElement("option");
|
|
230
|
+
opt.value = k.value;
|
|
231
|
+
opt.textContent = k.label;
|
|
232
|
+
kindSelect.appendChild(opt);
|
|
233
|
+
}
|
|
234
|
+
kindSelect.addEventListener("change", () => this.setKind(which, kindSelect.value));
|
|
235
|
+
chrome.appendChild(kindSelect);
|
|
236
|
+
const pageNum = document.createElement("select");
|
|
237
|
+
pageNum.setAttribute("data-hf-pagenum", "");
|
|
238
|
+
pageNum.title = "Insert a page-number field into the focused story paragraph";
|
|
239
|
+
for (const o of [
|
|
240
|
+
{ value: "", label: "Page №…" },
|
|
241
|
+
{ value: "currentPage", label: "Page number" },
|
|
242
|
+
{ value: "totalPages", label: "Total pages" },
|
|
243
|
+
]) {
|
|
244
|
+
const opt = document.createElement("option");
|
|
245
|
+
opt.value = o.value;
|
|
246
|
+
opt.textContent = o.label;
|
|
247
|
+
pageNum.appendChild(opt);
|
|
248
|
+
}
|
|
249
|
+
// The <select> steals focus from the story paragraph, collapsing the caret, so the target
|
|
250
|
+
// is resolved from the band's own blocks rather than from the editor's live selection.
|
|
251
|
+
pageNum.addEventListener("change", () => {
|
|
252
|
+
const field = pageNum.value;
|
|
253
|
+
pageNum.value = "";
|
|
254
|
+
if (field !== "currentPage" && field !== "totalPages")
|
|
255
|
+
return;
|
|
256
|
+
const target = this.pageNumberTarget(which);
|
|
257
|
+
if (target)
|
|
258
|
+
this.insertPageNumber(which, target, field);
|
|
259
|
+
});
|
|
260
|
+
chrome.appendChild(pageNum);
|
|
261
|
+
const inheritedNote = document.createElement("span");
|
|
262
|
+
inheritedNote.className = "docx-hf-inherited";
|
|
263
|
+
inheritedNote.setAttribute("data-hf-inherited-note", "");
|
|
264
|
+
inheritedNote.hidden = true;
|
|
265
|
+
chrome.appendChild(inheritedNote);
|
|
266
|
+
band.appendChild(chrome);
|
|
267
|
+
const warning = document.createElement("div");
|
|
268
|
+
warning.className = "docx-hf-warning";
|
|
269
|
+
warning.setAttribute("data-hf-warning", "");
|
|
270
|
+
warning.hidden = true;
|
|
271
|
+
band.appendChild(warning);
|
|
272
|
+
const body = document.createElement("div");
|
|
273
|
+
body.className = "docx-hf-body";
|
|
274
|
+
body.setAttribute("data-hf-body", "");
|
|
275
|
+
band.appendChild(body);
|
|
276
|
+
return band;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Which story paragraph a page-number insert targets: the last one the user focused in this
|
|
280
|
+
* band if it is still attached, else the band's last paragraph (Word's convention — the page
|
|
281
|
+
* number goes at the end of the footer line).
|
|
282
|
+
*/
|
|
283
|
+
pageNumberTarget(which) {
|
|
284
|
+
const body = this.bandFor(which).querySelector("[data-hf-body]");
|
|
285
|
+
if (!body)
|
|
286
|
+
return null;
|
|
287
|
+
const focused = body.querySelector('[data-hf-focused="true"][data-hf-anchor]');
|
|
288
|
+
const blocks = Array.from(body.querySelectorAll("[data-hf-anchor]"));
|
|
289
|
+
const target = focused ?? blocks[blocks.length - 1];
|
|
290
|
+
return target?.getAttribute("data-hf-anchor") ?? null;
|
|
291
|
+
}
|
|
292
|
+
renderBand(which) {
|
|
293
|
+
const band = this.bandFor(which);
|
|
294
|
+
const body = band.querySelector("[data-hf-body]");
|
|
295
|
+
if (!body)
|
|
296
|
+
return;
|
|
297
|
+
const kind = this.kinds[which];
|
|
298
|
+
const select = band.querySelector("[data-hf-kind]");
|
|
299
|
+
if (select && select.value !== kind)
|
|
300
|
+
select.value = kind;
|
|
301
|
+
// A section that declares no reference of this kind shows the story it inherits from an
|
|
302
|
+
// earlier section. Say so: editing it changes BOTH sections, because they share one part.
|
|
303
|
+
const inherited = this.refFor(which, kind)?.inherited === true;
|
|
304
|
+
band.toggleAttribute("data-hf-inherited", inherited);
|
|
305
|
+
const note = band.querySelector("[data-hf-inherited-note]");
|
|
306
|
+
if (note) {
|
|
307
|
+
note.hidden = !inherited;
|
|
308
|
+
note.textContent = inherited ? "inherited from an earlier section" : "";
|
|
309
|
+
}
|
|
310
|
+
this.renderKindWarning(which);
|
|
311
|
+
body.innerHTML = "";
|
|
312
|
+
const partUri = this.partUriFor(which, kind);
|
|
313
|
+
if (!partUri) {
|
|
314
|
+
body.appendChild(this.placeholder(which, kind));
|
|
315
|
+
band.setAttribute("data-hf-empty", "true");
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
band.removeAttribute("data-hf-empty");
|
|
319
|
+
const anchors = this.storyAnchors(partUri);
|
|
320
|
+
if (anchors.length === 0) {
|
|
321
|
+
body.appendChild(this.placeholder(which, kind));
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
for (const anchorId of anchors) {
|
|
325
|
+
const el = this.renderStoryBlock(anchorId);
|
|
326
|
+
if (!el)
|
|
327
|
+
continue;
|
|
328
|
+
body.appendChild(el);
|
|
329
|
+
// Adopt BEFORE wiring: the editor resolves a block's anchor from `data-hf-anchor` first,
|
|
330
|
+
// because a story paragraph's content-addressed unid can collide with another part's.
|
|
331
|
+
this.adoptBlock(el, anchorId);
|
|
332
|
+
this.callbacks.wireBlock(el);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Mark a story paragraph as belonging to this region. The full anchor id is stamped alongside
|
|
337
|
+
* `data-anchor` (which carries only the bare unid, matching the body's convention) so band
|
|
338
|
+
* chrome can address the block without going through the editor's unid map. Called on first
|
|
339
|
+
* render AND after an incremental swap, which replaces the DOM node.
|
|
340
|
+
*/
|
|
341
|
+
adoptBlock(el, anchorId) {
|
|
342
|
+
const body = this.blockRootOf(el);
|
|
343
|
+
if (!body)
|
|
344
|
+
return;
|
|
345
|
+
el.setAttribute("data-hf-anchor", anchorId);
|
|
346
|
+
if (el.dataset.hfAdopted === "true")
|
|
347
|
+
return;
|
|
348
|
+
el.dataset.hfAdopted = "true";
|
|
349
|
+
el.addEventListener("focus", () => {
|
|
350
|
+
body
|
|
351
|
+
.querySelectorAll("[data-hf-focused]")
|
|
352
|
+
.forEach((sib) => sib.removeAttribute("data-hf-focused"));
|
|
353
|
+
el.setAttribute("data-hf-focused", "true");
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
renderStoryBlock(anchorId) {
|
|
357
|
+
const html = this.bridge.RenderBlockHtml(this.handle, anchorId, this.options.cssPrefix, this.options.fabricateClasses);
|
|
358
|
+
if (html.charCodeAt(0) === 0x7b /* error object */)
|
|
359
|
+
return null;
|
|
360
|
+
return new DOMParser().parseFromString(html, "text/html").body
|
|
361
|
+
.firstElementChild;
|
|
362
|
+
}
|
|
363
|
+
placeholder(which, kind) {
|
|
364
|
+
const el = document.createElement("div");
|
|
365
|
+
el.className = "docx-hf-placeholder";
|
|
366
|
+
el.setAttribute("data-hf-placeholder", "");
|
|
367
|
+
const label = KIND_LABELS.find((k) => k.value === kind)?.label ?? kind;
|
|
368
|
+
el.textContent = `No ${label.toLowerCase()} ${which} — pick a kind to create one.`;
|
|
369
|
+
return el;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Surface the caveat that comes with the selected kind. Turning on first/even means those pages
|
|
373
|
+
* stop using the Default stories entirely, which bites hardest on the OTHER band: enabling an
|
|
374
|
+
* even header with no even footer leaves even pages footer-less, and enabling a first-page
|
|
375
|
+
* header with an empty first-page footer leaves page 1 footer-less. The note is shown whenever
|
|
376
|
+
* first/even is selected (the behavior change is real either way); the fix button appears only
|
|
377
|
+
* when the counterpart story is missing entirely, which is what a user almost always wants next.
|
|
378
|
+
*/
|
|
379
|
+
renderKindWarning(which) {
|
|
380
|
+
const band = this.bandFor(which);
|
|
381
|
+
const warning = band.querySelector("[data-hf-warning]");
|
|
382
|
+
if (!warning)
|
|
383
|
+
return;
|
|
384
|
+
const kind = this.kinds[which];
|
|
385
|
+
if (kind === "default") {
|
|
386
|
+
warning.hidden = true;
|
|
387
|
+
warning.textContent = "";
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
const other = which === "header" ? "footer" : "header";
|
|
391
|
+
warning.hidden = false;
|
|
392
|
+
warning.textContent = `${kind === "even" ? EVEN_WARNING : FIRST_WARNING} `;
|
|
393
|
+
if (this.partUriFor(other, kind))
|
|
394
|
+
return; // counterpart exists — nothing to offer
|
|
395
|
+
const fix = document.createElement("button");
|
|
396
|
+
fix.type = "button";
|
|
397
|
+
fix.setAttribute("data-hf-fix-counterpart", "");
|
|
398
|
+
fix.textContent = `Also create a ${kind === "even" ? "matching even" : "first-page"} ${other}`;
|
|
399
|
+
fix.addEventListener("click", () => {
|
|
400
|
+
this.setKind(other, kind);
|
|
401
|
+
this.renderKindWarning(which);
|
|
402
|
+
});
|
|
403
|
+
warning.appendChild(fix);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
function parseResult(json) {
|
|
407
|
+
try {
|
|
408
|
+
return JSON.parse(json);
|
|
409
|
+
}
|
|
410
|
+
catch {
|
|
411
|
+
return { success: false };
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
//# sourceMappingURL=editor-headerfooter.js.map
|