@fiduswriter/books-document 0.1.28 → 0.1.29
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/ui/book_dialog/dialog.d.ts +98 -0
- package/dist/ui/book_dialog/dialog.d.ts.map +1 -0
- package/dist/ui/book_dialog/dialog.js +590 -0
- package/dist/ui/book_dialog/dialog.js.map +1 -0
- package/dist/ui/book_dialog/export.d.ts +81 -0
- package/dist/ui/book_dialog/export.d.ts.map +1 -0
- package/dist/ui/book_dialog/export.js +184 -0
- package/dist/ui/book_dialog/export.js.map +1 -0
- package/dist/ui/book_dialog/index.d.ts +38 -0
- package/dist/ui/book_dialog/index.d.ts.map +1 -0
- package/dist/ui/book_dialog/index.js +36 -0
- package/dist/ui/book_dialog/index.js.map +1 -0
- package/dist/ui/book_dialog/sanity_check.d.ts +22 -0
- package/dist/ui/book_dialog/sanity_check.d.ts.map +1 -0
- package/dist/ui/book_dialog/sanity_check.js +109 -0
- package/dist/ui/book_dialog/sanity_check.js.map +1 -0
- package/dist/ui/book_dialog/templates.d.ts +74 -0
- package/dist/ui/book_dialog/templates.d.ts.map +1 -0
- package/dist/ui/book_dialog/templates.js +526 -0
- package/dist/ui/book_dialog/templates.js.map +1 -0
- package/dist/ui/book_dialog/types.d.ts +165 -0
- package/dist/ui/book_dialog/types.d.ts.map +1 -0
- package/dist/ui/book_dialog/types.js +15 -0
- package/dist/ui/book_dialog/types.js.map +1 -0
- package/package.json +5 -1
- package/src/ui/book_dialog/dialog.ts +765 -0
- package/src/ui/book_dialog/export.ts +398 -0
- package/src/ui/book_dialog/index.ts +81 -0
- package/src/ui/book_dialog/sanity_check.ts +208 -0
- package/src/ui/book_dialog/templates.ts +705 -0
- package/src/ui/book_dialog/types.ts +180 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/ui/book_dialog/dialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Book export initiation.
|
|
3
|
+
*
|
|
4
|
+
* Wraps every book exporter of this package in the chapter-data preloading
|
|
5
|
+
* and progress reporting the dialog's export menu needs, and delivers the
|
|
6
|
+
* resulting Blob through the host-supplied
|
|
7
|
+
* {@link BookExportContext.deliver}.
|
|
8
|
+
*
|
|
9
|
+
* The exporters themselves are environment-agnostic: they load chapter data
|
|
10
|
+
* through injected strategies (defaulting to no-ops) and simply return the
|
|
11
|
+
* produced Blob. Preloading here with the host's `chapterLoader`/`e2ee` makes
|
|
12
|
+
* the exporters' own internal `getMissingChapterData` call a no-op.
|
|
13
|
+
*/
|
|
14
|
+
import type { ProgressCallback } from "@fiduswriter/document/exporter/tools/progress";
|
|
15
|
+
import type { Book, DocumentListEntry } from "../../types.js";
|
|
16
|
+
import type { ContentMenuInit } from "fwtoolkit/content_menu";
|
|
17
|
+
import type { BookExportContext } from "./types.js";
|
|
18
|
+
/**
|
|
19
|
+
* The subset of a book exporter this module needs. Every exporter of
|
|
20
|
+
* `@fiduswriter/books-document` exposes these members; the declared return
|
|
21
|
+
* type of `init()` differs slightly between them (some return `false`, some
|
|
22
|
+
* `void`, instead of a Blob), so it is kept loose here. `mimeType` likewise
|
|
23
|
+
* only exists on the DOCX/ODT exporters, which read it off the instance.
|
|
24
|
+
*/
|
|
25
|
+
export interface BookExporterLike {
|
|
26
|
+
book: Book;
|
|
27
|
+
defaultFilename: string;
|
|
28
|
+
init(progressCallback?: ProgressCallback): Promise<Blob | false | void> | false;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Arguments passed to the callbacks of the single-book export menu. The
|
|
32
|
+
* dialog assembles them once and hands them to every entry.
|
|
33
|
+
*/
|
|
34
|
+
export interface BookExportMenuArgs {
|
|
35
|
+
saveBook: () => Promise<unknown>;
|
|
36
|
+
book: Book;
|
|
37
|
+
documentList: DocumentListEntry[];
|
|
38
|
+
context: BookExportContext;
|
|
39
|
+
}
|
|
40
|
+
/** Model of the book dialog's export menu (a content menu of actions). */
|
|
41
|
+
export type BookExportMenu = ContentMenuInit;
|
|
42
|
+
/**
|
|
43
|
+
* Load any missing chapter data (fetching content lazily and decrypting E2EE
|
|
44
|
+
* chapters), run the given exporter, then hand the resulting Blob to the
|
|
45
|
+
* host's `deliver`.
|
|
46
|
+
*
|
|
47
|
+
* @param exporter - A constructed book exporter instance.
|
|
48
|
+
* @param documentList - Document entries for the book's chapters.
|
|
49
|
+
* @param context - The host's schema, chapter loader, E2EE strategy and
|
|
50
|
+
* delivery callback.
|
|
51
|
+
* @param mimeType - MIME type of the produced file.
|
|
52
|
+
* @param rawContent - Whether the exporter needs doc.rawContent.
|
|
53
|
+
*/
|
|
54
|
+
export declare const runBookExport: (exporter: BookExporterLike, documentList: DocumentListEntry[], context: BookExportContext, mimeType: string, rawContent?: boolean) => Promise<unknown>;
|
|
55
|
+
/** Export a book as an Epub file. */
|
|
56
|
+
export declare const exportEpub: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
57
|
+
/** Export a book as a BITS (Book Interchange Tag Set) file. */
|
|
58
|
+
export declare const exportBITS: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
59
|
+
/** Export a book as a multi-file HTML archive. */
|
|
60
|
+
export declare const exportHTML: (book: Book, documentList: DocumentListEntry[], context: BookExportContext, multiDoc?: boolean) => Promise<unknown>;
|
|
61
|
+
/** Export a book as a single-file HTML archive. */
|
|
62
|
+
export declare const exportSingleHTML: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
63
|
+
/** Export a book as LaTeX. */
|
|
64
|
+
export declare const exportLatex: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
65
|
+
/** Export a book as DOCX, using the book's DOCX template. */
|
|
66
|
+
export declare const exportDOCX: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
67
|
+
/** Export a book as ODT, using the book's ODT template. */
|
|
68
|
+
export declare const exportODT: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
69
|
+
/** Open a book's print/PDF view. */
|
|
70
|
+
export declare const exportPrint: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
71
|
+
/** Export a book as a native `.fidusbook` file. */
|
|
72
|
+
export declare const exportFidusbook: (book: Book, documentList: DocumentListEntry[], context: BookExportContext) => Promise<unknown>;
|
|
73
|
+
/**
|
|
74
|
+
* Model of the book dialog's export menu.
|
|
75
|
+
*
|
|
76
|
+
* Every entry saves the book first, so an export always reflects what is on
|
|
77
|
+
* screen. The DOCX and ODT entries are disabled while the book has no
|
|
78
|
+
* matching template.
|
|
79
|
+
*/
|
|
80
|
+
export declare const bookExportMenuModel: () => BookExportMenu;
|
|
81
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/ui/book_dialog/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,+CAA+C,CAAA;AAUnF,OAAO,KAAK,EAAC,IAAI,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAE3D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAA;AAEjD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,IAAI,CAAA;IACV,eAAe,EAAE,MAAM,CAAA;IAGvB,IAAI,CACA,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,CAAA;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,EAAE,iBAAiB,EAAE,CAAA;IACjC,OAAO,EAAE,iBAAiB,CAAA;CAC7B;AAED,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,eAAe,CAAA;AAE5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,aACZ,gBAAgB,gBACZ,iBAAiB,EAAE,WACxB,iBAAiB,YAChB,MAAM,2BAEjB,OAAO,CAAC,OAAO,CAoCjB,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,UAAU,SACb,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAezB,CAAA;AAEL,+DAA+D;AAC/D,eAAO,MAAM,UAAU,SACb,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAczB,CAAA;AAEL,kDAAkD;AAClD,eAAO,MAAM,UAAU,SACb,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,yCAiBzB,CAAA;AAEL,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,SACnB,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBACqB,CAAA;AAEnD,8BAA8B;AAC9B,eAAO,MAAM,WAAW,SACd,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAazB,CAAA;AAEL,6DAA6D;AAC7D,eAAO,MAAM,UAAU,SACb,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAiB7B,CAAA;AAED,2DAA2D;AAC3D,eAAO,MAAM,SAAS,SACZ,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAiB7B,CAAA;AAED,oCAAoC;AACpC,eAAO,MAAM,WAAW,SACd,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAczB,CAAA;AAEL,mDAAmD;AACnD,eAAO,MAAM,eAAe,SAClB,IAAI,gBACI,iBAAiB,EAAE,WACxB,iBAAiB,qBAazB,CAAA;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAAO,cAmGrC,CAAA"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Book export initiation.
|
|
3
|
+
*
|
|
4
|
+
* Wraps every book exporter of this package in the chapter-data preloading
|
|
5
|
+
* and progress reporting the dialog's export menu needs, and delivers the
|
|
6
|
+
* resulting Blob through the host-supplied
|
|
7
|
+
* {@link BookExportContext.deliver}.
|
|
8
|
+
*
|
|
9
|
+
* The exporters themselves are environment-agnostic: they load chapter data
|
|
10
|
+
* through injected strategies (defaulting to no-ops) and simply return the
|
|
11
|
+
* produced Blob. Preloading here with the host's `chapterLoader`/`e2ee` makes
|
|
12
|
+
* the exporters' own internal `getMissingChapterData` call a no-op.
|
|
13
|
+
*/
|
|
14
|
+
import { BITSBookExporter } from "../../exporter/bits/index.js";
|
|
15
|
+
import { DOCXBookExporter } from "../../exporter/docx/index.js";
|
|
16
|
+
import { EpubBookExporter } from "../../exporter/epub/index.js";
|
|
17
|
+
import { HTMLBookExporter } from "../../exporter/html/index.js";
|
|
18
|
+
import { LatexBookExporter } from "../../exporter/latex/index.js";
|
|
19
|
+
import { NativeBookExporter } from "../../exporter/native/index.js";
|
|
20
|
+
import { ODTBookExporter } from "../../exporter/odt/index.js";
|
|
21
|
+
import { PrintBookExporter } from "../../exporter/print/index.js";
|
|
22
|
+
import { getMissingChapterData } from "../../exporter/tools.js";
|
|
23
|
+
import { addAlert, addProgress, gettext } from "fwtoolkit";
|
|
24
|
+
/**
|
|
25
|
+
* Load any missing chapter data (fetching content lazily and decrypting E2EE
|
|
26
|
+
* chapters), run the given exporter, then hand the resulting Blob to the
|
|
27
|
+
* host's `deliver`.
|
|
28
|
+
*
|
|
29
|
+
* @param exporter - A constructed book exporter instance.
|
|
30
|
+
* @param documentList - Document entries for the book's chapters.
|
|
31
|
+
* @param context - The host's schema, chapter loader, E2EE strategy and
|
|
32
|
+
* delivery callback.
|
|
33
|
+
* @param mimeType - MIME type of the produced file.
|
|
34
|
+
* @param rawContent - Whether the exporter needs doc.rawContent.
|
|
35
|
+
*/
|
|
36
|
+
export const runBookExport = (exporter, documentList, context, mimeType, rawContent = false) => {
|
|
37
|
+
const { schema, chapterLoader, e2ee, deliver } = context;
|
|
38
|
+
const formatName = exporter.defaultFilename.split(".").pop()?.toUpperCase() ||
|
|
39
|
+
gettext("Book");
|
|
40
|
+
const task = addProgress("info", `${exporter.book.title}: ${gettext("Exporting")} ${formatName}...`, { autoClose: 6000 });
|
|
41
|
+
const progressCallback = (message, percentage) => task.update(percentage ?? null, message);
|
|
42
|
+
return getMissingChapterData(exporter.book, documentList, schema, {
|
|
43
|
+
rawContent,
|
|
44
|
+
loader: chapterLoader,
|
|
45
|
+
e2ee,
|
|
46
|
+
progressCallback
|
|
47
|
+
})
|
|
48
|
+
.then(() => exporter.init(progressCallback))
|
|
49
|
+
.then(blob => {
|
|
50
|
+
task.update(100, gettext("Export complete."));
|
|
51
|
+
if (blob) {
|
|
52
|
+
const extension = `.${exporter.defaultFilename.split(".").pop()}`;
|
|
53
|
+
deliver(blob, exporter.defaultFilename, {
|
|
54
|
+
description: exporter.book.title,
|
|
55
|
+
mimeType,
|
|
56
|
+
extensions: [extension]
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return blob;
|
|
60
|
+
})
|
|
61
|
+
.catch((error) => {
|
|
62
|
+
task.close();
|
|
63
|
+
addAlert("error", error.message || gettext("Book export failed."));
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
/** Export a book as an Epub file. */
|
|
67
|
+
export const exportEpub = (book, documentList, context) => runBookExport(new EpubBookExporter(context.schema, context.csl, context.bookStyles, book, context.user, documentList, book.updated ?? 0), documentList, context, "application/epub+zip");
|
|
68
|
+
/** Export a book as a BITS (Book Interchange Tag Set) file. */
|
|
69
|
+
export const exportBITS = (book, documentList, context) => runBookExport(new BITSBookExporter(context.schema, context.csl, book, context.user, documentList, book.updated ?? 0), documentList, context, "application/zip");
|
|
70
|
+
/** Export a book as a multi-file HTML archive. */
|
|
71
|
+
export const exportHTML = (book, documentList, context, multiDoc = true) => runBookExport(new HTMLBookExporter(context.schema, context.csl, context.bookStyles, book, context.user, documentList, book.updated ?? 0, multiDoc), documentList, context, "application/zip");
|
|
72
|
+
/** Export a book as a single-file HTML archive. */
|
|
73
|
+
export const exportSingleHTML = (book, documentList, context) => exportHTML(book, documentList, context, false);
|
|
74
|
+
/** Export a book as LaTeX. */
|
|
75
|
+
export const exportLatex = (book, documentList, context) => runBookExport(new LatexBookExporter(context.schema, book, context.user, documentList, book.updated ?? 0), documentList, context, "application/zip");
|
|
76
|
+
/** Export a book as DOCX, using the book's DOCX template. */
|
|
77
|
+
export const exportDOCX = (book, documentList, context) => {
|
|
78
|
+
const exporter = new DOCXBookExporter(context.schema, context.csl, book, context.user, documentList, book.updated ?? 0);
|
|
79
|
+
return runBookExport(exporter, documentList, context, exporter.mimeType, true);
|
|
80
|
+
};
|
|
81
|
+
/** Export a book as ODT, using the book's ODT template. */
|
|
82
|
+
export const exportODT = (book, documentList, context) => {
|
|
83
|
+
const exporter = new ODTBookExporter(context.schema, context.csl, book, context.user, documentList, book.updated ?? 0);
|
|
84
|
+
return runBookExport(exporter, documentList, context, exporter.mimeType, true);
|
|
85
|
+
};
|
|
86
|
+
/** Open a book's print/PDF view. */
|
|
87
|
+
export const exportPrint = (book, documentList, context) => runBookExport(new PrintBookExporter(context.schema, context.csl, context.bookStyles, book, context.user, documentList), documentList, context, "text/html");
|
|
88
|
+
/** Export a book as a native `.fidusbook` file. */
|
|
89
|
+
export const exportFidusbook = (book, documentList, context) => runBookExport(new NativeBookExporter(context.schema, book, context.user, documentList, book.updated ?? 0), documentList, context, "application/vnd.fiduswriter.book+zip");
|
|
90
|
+
/**
|
|
91
|
+
* Model of the book dialog's export menu.
|
|
92
|
+
*
|
|
93
|
+
* Every entry saves the book first, so an export always reflects what is on
|
|
94
|
+
* screen. The DOCX and ODT entries are disabled while the book has no
|
|
95
|
+
* matching template.
|
|
96
|
+
*/
|
|
97
|
+
export const bookExportMenuModel = () => ({
|
|
98
|
+
content: [
|
|
99
|
+
{
|
|
100
|
+
type: "action",
|
|
101
|
+
title: gettext("Export as BITS"),
|
|
102
|
+
tooltip: gettext("Export book as Book Interchange Tag Set."),
|
|
103
|
+
action: (page) => {
|
|
104
|
+
const { saveBook, book, documentList, context } = page;
|
|
105
|
+
saveBook().then(() => exportBITS(book, documentList, context));
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: "action",
|
|
110
|
+
title: gettext("Export as Epub"),
|
|
111
|
+
tooltip: gettext("Export book as Epub."),
|
|
112
|
+
action: (page) => {
|
|
113
|
+
const { saveBook, book, documentList, context } = page;
|
|
114
|
+
saveBook().then(() => exportEpub(book, documentList, context));
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: "action",
|
|
119
|
+
title: gettext("Export as HTML"),
|
|
120
|
+
tooltip: gettext("Export book as HTML."),
|
|
121
|
+
action: (page) => {
|
|
122
|
+
const { saveBook, book, documentList, context } = page;
|
|
123
|
+
saveBook().then(() => exportHTML(book, documentList, context, true));
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: "action",
|
|
128
|
+
title: gettext("Export as Unified HTML"),
|
|
129
|
+
tooltip: gettext("Export book as Single-file HTML."),
|
|
130
|
+
action: (page) => {
|
|
131
|
+
const { saveBook, book, documentList, context } = page;
|
|
132
|
+
saveBook().then(() => exportSingleHTML(book, documentList, context));
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: "action",
|
|
137
|
+
title: gettext("Export as LaTeX"),
|
|
138
|
+
tooltip: gettext("Export book as LaTeX."),
|
|
139
|
+
action: (page) => {
|
|
140
|
+
const { saveBook, book, documentList, context } = page;
|
|
141
|
+
saveBook().then(() => exportLatex(book, documentList, context));
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: "action",
|
|
146
|
+
title: gettext("Export as DOCX"),
|
|
147
|
+
tooltip: gettext("Export book as DOCX."),
|
|
148
|
+
action: (page) => {
|
|
149
|
+
const { saveBook, book, documentList, context } = page;
|
|
150
|
+
saveBook().then(() => exportDOCX(book, documentList, context));
|
|
151
|
+
},
|
|
152
|
+
disabled: (page) => !page.book.docx_template
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: "action",
|
|
156
|
+
title: gettext("Export as ODT"),
|
|
157
|
+
tooltip: gettext("Export book as ODT."),
|
|
158
|
+
action: (page) => {
|
|
159
|
+
const { saveBook, book, documentList, context } = page;
|
|
160
|
+
saveBook().then(() => exportODT(book, documentList, context));
|
|
161
|
+
},
|
|
162
|
+
disabled: (page) => !page.book.odt_template
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: "action",
|
|
166
|
+
title: gettext("Export to Print/PDF"),
|
|
167
|
+
tooltip: gettext("Export book to the print dialog."),
|
|
168
|
+
action: (page) => {
|
|
169
|
+
const { saveBook, book, documentList, context } = page;
|
|
170
|
+
saveBook().then(() => exportPrint(book, documentList, context));
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: "action",
|
|
175
|
+
title: gettext("Export as Fidusbook"),
|
|
176
|
+
tooltip: gettext("Export book as a .fidusbook file (for moving to another server)."),
|
|
177
|
+
action: (page) => {
|
|
178
|
+
const { saveBook, book, documentList, context } = page;
|
|
179
|
+
saveBook().then(() => exportFidusbook(book, documentList, context));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
});
|
|
184
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/ui/book_dialog/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The book edit dialog.
|
|
3
|
+
*
|
|
4
|
+
* A reusable, backend-agnostic tabbed dialog for editing a book's metadata,
|
|
5
|
+
* settings, cover image and chapter list, running a sanity check and starting
|
|
6
|
+
* an export. Import it from the `@fiduswriter/books-document/ui/book_dialog`
|
|
7
|
+
* subpath so that the main entry stays free of DOM code and remains usable
|
|
8
|
+
* from Node (as `@fiduswriter/cli` needs).
|
|
9
|
+
*
|
|
10
|
+
* ```js
|
|
11
|
+
* import {BookDialog} from "@fiduswriter/books-document/ui/book_dialog"
|
|
12
|
+
*
|
|
13
|
+
* new BookDialog({
|
|
14
|
+
* book, // omit to create a new book
|
|
15
|
+
* documentList,
|
|
16
|
+
* schema,
|
|
17
|
+
* chapterLoader, // @fiduswriter/books-document
|
|
18
|
+
* e2ee, // @fiduswriter/books-document
|
|
19
|
+
* backend: {
|
|
20
|
+
* saveBook: book => postJson("/api/book/save/", {book}),
|
|
21
|
+
* selectCoverImage: id => showImagePicker(id),
|
|
22
|
+
* saveDocxTemplate: (book, file) => uploadTemplate(book, file)
|
|
23
|
+
* },
|
|
24
|
+
* exportContext: {schema, chapterLoader, e2ee, csl, bookStyles, user, deliver: saveFile}
|
|
25
|
+
* }).open()
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* `ChapterLoader` and `E2EEStrategy` are the same interfaces the book
|
|
29
|
+
* exporters already accept, so a host that can export a book needs no extra
|
|
30
|
+
* wiring to run a sanity check.
|
|
31
|
+
*/
|
|
32
|
+
export { BookDialog } from "./dialog.js";
|
|
33
|
+
export { bookSanityCheck } from "./sanity_check.js";
|
|
34
|
+
export { bookBasicInfoTemplate, bookBibliographyDataTemplate, bookChapterDialogTemplate, bookChapterListTemplate, bookDialogChaptersTemplate, bookDialogTemplate, bookDOCXDataRowTemplate, bookDOCXDataTemplate, bookEpubDataCoverTemplate, bookEpubDataTemplate, bookODTDataRowTemplate, bookODTDataTemplate, bookPrintDataTemplate, bookSanityCheckTemplate } from "./templates.js";
|
|
35
|
+
export { bookExportMenuModel, exportBITS, exportDOCX, exportEpub, exportFidusbook, exportHTML, exportLatex, exportODT, exportPrint, exportSingleHTML, runBookExport } from "./export.js";
|
|
36
|
+
export type { BookExportMenu, BookExportMenuArgs, BookExporterLike } from "./export.js";
|
|
37
|
+
export type { BookDataContext, BookDialogBackend, BookDialogCoverImage, BookDialogImageDB, BookDialogInfo, BookDialogOptions, BookDialogPart, BookExportContext, BookExportDeliverer } from "./types.js";
|
|
38
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/book_dialog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EACH,eAAe,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACH,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,aAAa,EAChB,MAAM,aAAa,CAAA;AACpB,YAAY,EACR,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EACnB,MAAM,aAAa,CAAA;AACpB,YAAY,EACR,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The book edit dialog.
|
|
3
|
+
*
|
|
4
|
+
* A reusable, backend-agnostic tabbed dialog for editing a book's metadata,
|
|
5
|
+
* settings, cover image and chapter list, running a sanity check and starting
|
|
6
|
+
* an export. Import it from the `@fiduswriter/books-document/ui/book_dialog`
|
|
7
|
+
* subpath so that the main entry stays free of DOM code and remains usable
|
|
8
|
+
* from Node (as `@fiduswriter/cli` needs).
|
|
9
|
+
*
|
|
10
|
+
* ```js
|
|
11
|
+
* import {BookDialog} from "@fiduswriter/books-document/ui/book_dialog"
|
|
12
|
+
*
|
|
13
|
+
* new BookDialog({
|
|
14
|
+
* book, // omit to create a new book
|
|
15
|
+
* documentList,
|
|
16
|
+
* schema,
|
|
17
|
+
* chapterLoader, // @fiduswriter/books-document
|
|
18
|
+
* e2ee, // @fiduswriter/books-document
|
|
19
|
+
* backend: {
|
|
20
|
+
* saveBook: book => postJson("/api/book/save/", {book}),
|
|
21
|
+
* selectCoverImage: id => showImagePicker(id),
|
|
22
|
+
* saveDocxTemplate: (book, file) => uploadTemplate(book, file)
|
|
23
|
+
* },
|
|
24
|
+
* exportContext: {schema, chapterLoader, e2ee, csl, bookStyles, user, deliver: saveFile}
|
|
25
|
+
* }).open()
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* `ChapterLoader` and `E2EEStrategy` are the same interfaces the book
|
|
29
|
+
* exporters already accept, so a host that can export a book needs no extra
|
|
30
|
+
* wiring to run a sanity check.
|
|
31
|
+
*/
|
|
32
|
+
export { BookDialog } from "./dialog.js";
|
|
33
|
+
export { bookSanityCheck } from "./sanity_check.js";
|
|
34
|
+
export { bookBasicInfoTemplate, bookBibliographyDataTemplate, bookChapterDialogTemplate, bookChapterListTemplate, bookDialogChaptersTemplate, bookDialogTemplate, bookDOCXDataRowTemplate, bookDOCXDataTemplate, bookEpubDataCoverTemplate, bookEpubDataTemplate, bookODTDataRowTemplate, bookODTDataTemplate, bookPrintDataTemplate, bookSanityCheckTemplate } from "./templates.js";
|
|
35
|
+
export { bookExportMenuModel, exportBITS, exportDOCX, exportEpub, exportFidusbook, exportHTML, exportLatex, exportODT, exportPrint, exportSingleHTML, runBookExport } from "./export.js";
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/book_dialog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EACH,eAAe,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACH,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,aAAa,EAChB,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Book sanity check.
|
|
3
|
+
*
|
|
4
|
+
* Loads whatever chapter data is missing, decrypts encrypted chapters through
|
|
5
|
+
* the injected {@link BookDataContext} and reports unresolved tracked changes,
|
|
6
|
+
* comments, cross references and internal links.
|
|
7
|
+
*
|
|
8
|
+
* Only the context touches the host; the analysis itself is entirely
|
|
9
|
+
* host-agnostic and shared by every consumer of this package.
|
|
10
|
+
*/
|
|
11
|
+
import type { Book, DocumentListEntry } from "../../types.js";
|
|
12
|
+
import type { BookDataContext } from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Run a sanity check on a book.
|
|
15
|
+
*
|
|
16
|
+
* @param book - The book to check.
|
|
17
|
+
* @param documentList - Document entries for the book's chapters.
|
|
18
|
+
* @param context - The host's schema, chapter loader and E2EE strategy.
|
|
19
|
+
* @returns A promise resolving to the report as an HTML fragment.
|
|
20
|
+
*/
|
|
21
|
+
export declare const bookSanityCheck: (book: Book, documentList: DocumentListEntry[], { schema, chapterLoader, e2ee }: BookDataContext) => Promise<string>;
|
|
22
|
+
//# sourceMappingURL=sanity_check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanity_check.d.ts","sourceRoot":"","sources":["../../../src/ui/book_dialog/sanity_check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAC,IAAI,EAAW,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAEpE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,YAAY,CAAA;AA0G/C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,SAClB,IAAI,gBACI,iBAAiB,EAAE,mCACF,eAAe,KAC/C,OAAO,CAAC,MAAM,CA2EhB,CAAA"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Book sanity check.
|
|
3
|
+
*
|
|
4
|
+
* Loads whatever chapter data is missing, decrypts encrypted chapters through
|
|
5
|
+
* the injected {@link BookDataContext} and reports unresolved tracked changes,
|
|
6
|
+
* comments, cross references and internal links.
|
|
7
|
+
*
|
|
8
|
+
* Only the context touches the host; the analysis itself is entirely
|
|
9
|
+
* host-agnostic and shared by every consumer of this package.
|
|
10
|
+
*/
|
|
11
|
+
import { getMissingChapterData } from "../../exporter/tools.js";
|
|
12
|
+
import { gettext, longFilePath } from "fwtoolkit";
|
|
13
|
+
/*
|
|
14
|
+
* Chapters whose document the user cannot see have no `doc` to take a title
|
|
15
|
+
* and path from, so fall back to the same placeholder `longFilePath` uses for
|
|
16
|
+
* an untitled document.
|
|
17
|
+
*/
|
|
18
|
+
const labelChapter = (chapter, doc) => `(${gettext("Chapter")} ${chapter.number}, ${longFilePath(doc?.title ?? gettext("Untitled"), doc?.path ?? "/")})`;
|
|
19
|
+
function findContentIssues(node, chapter, doc, messages) {
|
|
20
|
+
if (node.attrs?.track?.length) {
|
|
21
|
+
messages.warnings.push(`${gettext("Unresolved tracked changes")} ${labelChapter(chapter, doc)}`);
|
|
22
|
+
}
|
|
23
|
+
if (node.marks) {
|
|
24
|
+
node.marks.forEach(mark => {
|
|
25
|
+
if (mark.type == "link" &&
|
|
26
|
+
mark.attrs?.href?.charAt(0) === "#" &&
|
|
27
|
+
!mark.attrs?.title) {
|
|
28
|
+
messages.warnings.push(`${gettext("Internal links without target")} ${labelChapter(chapter, doc)}`);
|
|
29
|
+
}
|
|
30
|
+
else if (mark.type == "comment" &&
|
|
31
|
+
doc.comments?.[Number.parseInt(mark.attrs?.id)]?.resolved === false) {
|
|
32
|
+
messages.warnings.push(`${gettext("Unresolved comments")} ${labelChapter(chapter, doc)}`);
|
|
33
|
+
}
|
|
34
|
+
else if (mark.type === "deletion" ||
|
|
35
|
+
(mark.type === "insertion" && mark.attrs?.approved === false)) {
|
|
36
|
+
messages.warnings.push(`${gettext("Unresolved tracked changes")} ${labelChapter(chapter, doc)}`);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (node.type === "cross_reference" && !node.attrs?.title) {
|
|
41
|
+
messages.warnings.push(`${gettext("Cross references without targets")} ${labelChapter(chapter, doc)}`);
|
|
42
|
+
}
|
|
43
|
+
if (node.content) {
|
|
44
|
+
node.content.forEach(subNode => findContentIssues(subNode, chapter, doc, messages));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Run a sanity check on a book.
|
|
49
|
+
*
|
|
50
|
+
* @param book - The book to check.
|
|
51
|
+
* @param documentList - Document entries for the book's chapters.
|
|
52
|
+
* @param context - The host's schema, chapter loader and E2EE strategy.
|
|
53
|
+
* @returns A promise resolving to the report as an HTML fragment.
|
|
54
|
+
*/
|
|
55
|
+
export const bookSanityCheck = (book, documentList, { schema, chapterLoader, e2ee }) => {
|
|
56
|
+
if (!book.chapters.length) {
|
|
57
|
+
return Promise.resolve(`<ul class="fw-errorlist"><li>${gettext("The book contains no chapters.")}</li></ul>`);
|
|
58
|
+
}
|
|
59
|
+
return getMissingChapterData(book, documentList, schema, {
|
|
60
|
+
rawContent: true,
|
|
61
|
+
loader: chapterLoader,
|
|
62
|
+
e2ee
|
|
63
|
+
})
|
|
64
|
+
.then(() => {
|
|
65
|
+
const messages = {
|
|
66
|
+
warnings: [],
|
|
67
|
+
errors: []
|
|
68
|
+
};
|
|
69
|
+
book.chapters.forEach(chapter => {
|
|
70
|
+
const doc = documentList.find(doc => doc.id === chapter.text);
|
|
71
|
+
if (!doc || !doc.rawContent) {
|
|
72
|
+
messages.errors.push(`${gettext("No access")} ${labelChapter(chapter, doc)}`);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (!doc.title || !doc.title.length) {
|
|
76
|
+
messages.warnings.push(`${gettext("No chapter title")} ${labelChapter(chapter, doc)}`);
|
|
77
|
+
}
|
|
78
|
+
findContentIssues(doc.rawContent, chapter, doc, messages);
|
|
79
|
+
});
|
|
80
|
+
const warnings = Array.from(new Set(messages.warnings));
|
|
81
|
+
const errors = Array.from(new Set(messages.errors));
|
|
82
|
+
if (!warnings.length && !errors.length) {
|
|
83
|
+
return `<p>${gettext("No issues were found:")}</p>
|
|
84
|
+
<p>${gettext("The book contains chapters.")}</p>
|
|
85
|
+
<p>${gettext("Each chapter has a title.")}</p>
|
|
86
|
+
<p>${gettext("There are no unresolved tracked changes.")}</p>
|
|
87
|
+
<p>${gettext("There are no unresolved comments.")}</p>
|
|
88
|
+
<p>${gettext("All cross references have working targets.")}</p>
|
|
89
|
+
<p>${gettext("All internal links have working targets.")}</p>`;
|
|
90
|
+
}
|
|
91
|
+
return `<ul class="warninglist">
|
|
92
|
+
${warnings.map(warning => `<li>${warning}</li>`).join("")}
|
|
93
|
+
</ul>
|
|
94
|
+
<ul class="fw-errorlist">
|
|
95
|
+
${errors.map(error => `<li>${error}</li>`).join("")}
|
|
96
|
+
</ul>`;
|
|
97
|
+
})
|
|
98
|
+
.catch((err) => {
|
|
99
|
+
// Passphrase unavailable or user cancelled the unlock dialog.
|
|
100
|
+
if (err.message &&
|
|
101
|
+
err.message.toLowerCase().includes("passphrase is required")) {
|
|
102
|
+
return `<ul class="fw-errorlist"><li>${gettext("This book contains encrypted chapters. A personal passphrase is required to perform a sanity check. Please set up or unlock your personal passphrase in your profile settings.")}</li></ul>`;
|
|
103
|
+
}
|
|
104
|
+
// Individual chapter decryption failure — alerts were already
|
|
105
|
+
// shown by decryptE2EEChapters; show a summary here.
|
|
106
|
+
return `<ul class="fw-errorlist"><li>${gettext("One or more encrypted chapters could not be decrypted. See the error notifications for details.")}</li></ul>`;
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=sanity_check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanity_check.js","sourceRoot":"","sources":["../../../src/ui/book_dialog/sanity_check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML templates of the book dialog.
|
|
3
|
+
*
|
|
4
|
+
* One function per dialog pane plus the tab strip that holds them. Field ids
|
|
5
|
+
* are fixed: the dialog reads them back in `./dialog.js` when saving.
|
|
6
|
+
*/
|
|
7
|
+
import type { Book, BookStyle, Chapter, DocumentListEntry } from "../../types.js";
|
|
8
|
+
import type { BookDialogInfo, BookDialogPart } from "./types.js";
|
|
9
|
+
/** A template for the basic info book template pane */
|
|
10
|
+
export declare const bookBasicInfoTemplate: ({ book }: {
|
|
11
|
+
book: Book;
|
|
12
|
+
}) => string;
|
|
13
|
+
/** A template for the citation style pane of the book dialog */
|
|
14
|
+
export declare const bookBibliographyDataTemplate: ({ book, citationStyles }: {
|
|
15
|
+
book: Book;
|
|
16
|
+
citationStyles: Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
title?: string;
|
|
19
|
+
}>;
|
|
20
|
+
}) => string;
|
|
21
|
+
/** A template for the print related data pane of the book dialog */
|
|
22
|
+
export declare const bookPrintDataTemplate: ({ book, bookStyleList }: {
|
|
23
|
+
book: Book;
|
|
24
|
+
bookStyleList: BookStyle[];
|
|
25
|
+
}) => string;
|
|
26
|
+
/** A template for the cover image input on the epub pane of the book dialog. */
|
|
27
|
+
export declare const bookEpubDataCoverTemplate: ({ book, imageDB }: {
|
|
28
|
+
book: Book;
|
|
29
|
+
imageDB: BookDialogInfo["imageDB"];
|
|
30
|
+
}) => string;
|
|
31
|
+
/** A template for the epub related data pane of the book dialog */
|
|
32
|
+
export declare const bookEpubDataTemplate: ({ book, imageDB }: {
|
|
33
|
+
book: Book;
|
|
34
|
+
imageDB: BookDialogInfo["imageDB"];
|
|
35
|
+
}) => string;
|
|
36
|
+
/** A template for the ODT template row of the book dialog. */
|
|
37
|
+
export declare const bookODTDataRowTemplate: ({ book }: {
|
|
38
|
+
book: Book;
|
|
39
|
+
}) => string;
|
|
40
|
+
/** A template for the ODT related data pane of the book dialog */
|
|
41
|
+
export declare const bookODTDataTemplate: ({ book }: {
|
|
42
|
+
book: Book;
|
|
43
|
+
}) => string;
|
|
44
|
+
/** A template for the DOCX template row of the book dialog. */
|
|
45
|
+
export declare const bookDOCXDataRowTemplate: ({ book }: {
|
|
46
|
+
book: Book;
|
|
47
|
+
}) => string;
|
|
48
|
+
/** A template for the DOCX related data pane of the book dialog */
|
|
49
|
+
export declare const bookDOCXDataTemplate: ({ book }: {
|
|
50
|
+
book: Book;
|
|
51
|
+
}) => string;
|
|
52
|
+
/** A template for the sanity check pane of the book dialog */
|
|
53
|
+
export declare const bookSanityCheckTemplate: () => string;
|
|
54
|
+
/** A template for the book dialog. */
|
|
55
|
+
export declare const bookDialogTemplate: ({ title, bookInfo, dialogParts }: {
|
|
56
|
+
title: string;
|
|
57
|
+
bookInfo: BookDialogInfo;
|
|
58
|
+
dialogParts: BookDialogPart[];
|
|
59
|
+
}) => string;
|
|
60
|
+
/** A template for the chapter pane of the book dialog. */
|
|
61
|
+
export declare const bookDialogChaptersTemplate: ({ book, documentList }: {
|
|
62
|
+
book: Book;
|
|
63
|
+
documentList: DocumentListEntry[];
|
|
64
|
+
}) => string;
|
|
65
|
+
/** A template for the chapter list on the chapter pane the book dialog. */
|
|
66
|
+
export declare const bookChapterListTemplate: ({ book, documentList }: {
|
|
67
|
+
book: Book;
|
|
68
|
+
documentList: DocumentListEntry[];
|
|
69
|
+
}) => string;
|
|
70
|
+
/** A template for the chapter dialog for books */
|
|
71
|
+
export declare const bookChapterDialogTemplate: ({ chapter }: {
|
|
72
|
+
chapter: Chapter;
|
|
73
|
+
}) => string;
|
|
74
|
+
//# sourceMappingURL=templates.d.ts.map
|