@fiduswriter/bibliography-manager 0.1.8 → 0.1.10

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/README.md CHANGED
@@ -1,20 +1,61 @@
1
- # @fiduswriter/bibliography-manager
1
+ <p align="center">
2
+ <img src="logo.svg" alt="@fiduswriter/bibliography-manager" width="100" height="100">
3
+ </p>
2
4
 
3
- Fidus Writer bibliography manager.
5
+ <h1 align="center">@fiduswriter/bibliography-manager</h1>
4
6
 
5
- This package implements the bibliography management UI: the overview table, the
6
- entry form and field editors, import/export filters, and the client-side
7
- bibliography database connector.
7
+ <p align="center">Bibliography manager UI and logic for Fidus Writer</p>
8
8
 
9
- ## Build
9
+ ---
10
+
11
+ ## What it does
12
+
13
+ Implements the browser-based bibliography management interface used in the
14
+ Fidus Writer collaborative editor. Provides an overview table for browsing
15
+ citations, an entry form with specialized field editors, a client-side
16
+ database connector, and import/export filters for bibliography data.
17
+
18
+ ## Exports
19
+
20
+ | Export | Description |
21
+ |--------|-------------|
22
+ | `BibliographyOverview` | Full overview table component showing all bibliography entries |
23
+ | `BibEntryForm` | Entry form with per-field-type editors (names, dates, ranges, URIs, literals, etc.) |
24
+ | `BibliographyDB` | Client-side connector to the server's bibliography database |
25
+ | `importBibFile` | Import bibliography data from external files (BibTeX, CSL JSON, etc.) |
26
+ | `exportBibFile` | Export bibliography data to external formats |
27
+
28
+ ## Installation
29
+
30
+ ```bash
31
+ npm install @fiduswriter/bibliography-manager
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ ```ts
37
+ import {
38
+ BibliographyOverview,
39
+ BibEntryForm,
40
+ BibliographyDB,
41
+ importBibFile,
42
+ exportBibFile
43
+ } from "@fiduswriter/bibliography-manager"
44
+ ```
45
+
46
+ The bibliography manager depends on `@fiduswriter/common` for page chrome and
47
+ `fwtoolkit` for UI primitives.
48
+
49
+ ## Development
10
50
 
11
51
  ```bash
12
- npm install
13
- npm run build
52
+ npm install # Install dependencies
53
+ npm run build # Compile TypeScript to dist/
54
+ npm run typecheck # Check types without emitting
55
+ npm run lint # Lint with ESLint
56
+ npm run format:check # Check formatting with Prettier
14
57
  ```
15
58
 
16
- ## Status
59
+ ## License
17
60
 
18
- This is an initial extraction from the main Fidus Writer Django app. The code is
19
- still JavaScript and will be migrated to TypeScript over time. The bibliography
20
- logic depends on `bibliojson` (previously published as `biblatex-csl-converter`).
61
+ AGPL-3.0 see [LICENSE](LICENSE) for details.
@@ -16,7 +16,8 @@ export declare class BibliographyImporter {
16
16
  addToListCall: (ids: number[]) => void;
17
17
  callback: (() => void) | false | undefined;
18
18
  showAlerts: boolean;
19
- constructor(fileContents: string, bibDB: BibDBCollection, addToListCall: (ids: number[]) => void, callback: (() => void) | false | undefined, showAlerts?: boolean);
19
+ workerURL: string;
20
+ constructor(fileContents: string, bibDB: BibDBCollection, addToListCall: (ids: number[]) => void, callback: (() => void) | false | undefined, showAlerts?: boolean, workerURL?: string);
20
21
  init(): void;
21
22
  onMessage(message: ImportMessage): void;
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bibliography_import.d.ts","sourceRoot":"","sources":["../../src/import/bibliography_import.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAA;AAElF,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB;AAkBD,qBAAa,oBAAoB;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1C,UAAU,EAAE,OAAO,CAAA;gBAGf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,EACtC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAG,SAAS,EAC1C,UAAU,UAAO;IASrB,IAAI,IAAI,IAAI;IAyBZ,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAmD1C"}
1
+ {"version":3,"file":"bibliography_import.d.ts","sourceRoot":"","sources":["../../src/import/bibliography_import.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAA;AAElF,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB;AAkBD,qBAAa,oBAAoB;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,eAAe,CAAA;IACtB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1C,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;gBAGb,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,EACtC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAG,SAAS,EAC1C,UAAU,UAAO,EACjB,SAAS,CAAC,EAAE,MAAM;IAetB,IAAI,IAAI,IAAI;IAuBZ,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAmD1C"}
@@ -15,12 +15,16 @@ export class BibliographyImporter {
15
15
  addToListCall;
16
16
  callback;
17
17
  showAlerts;
18
- constructor(fileContents, bibDB, addToListCall, callback, showAlerts = true) {
18
+ workerURL;
19
+ constructor(fileContents, bibDB, addToListCall, callback, showAlerts = true, workerURL) {
19
20
  this.fileContents = fileContents;
20
21
  this.bibDB = bibDB;
21
22
  this.addToListCall = addToListCall;
22
23
  this.callback = callback;
23
24
  this.showAlerts = showAlerts;
25
+ this.workerURL =
26
+ workerURL ||
27
+ new URL("./workers/bibliography_import_worker.js", import.meta.url).href;
24
28
  }
25
29
  init() {
26
30
  // Detect the format of the input file
@@ -35,7 +39,7 @@ export class BibliographyImporter {
35
39
  return;
36
40
  }
37
41
  // Use the worker for the detected format
38
- const importWorker = makeWorker(staticUrl("js/bibliography_import_worker.js"));
42
+ const importWorker = makeWorker(this.workerURL);
39
43
  importWorker.onmessage = message => this.onMessage(message.data);
40
44
  importWorker.postMessage({
41
45
  fileContents: this.fileContents,
@@ -1 +1 @@
1
- {"version":3,"file":"bibliography_import.js","sourceRoot":"","sources":["../../src/import/bibliography_import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bibliography_import.js","sourceRoot":"","sources":["../../src/import/bibliography_import.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface WorkerMessage {
2
+ type: string;
3
+ errorCode?: string;
4
+ errorType?: string;
5
+ key?: string;
6
+ entry?: string;
7
+ data?: Record<string, unknown>;
8
+ done?: boolean;
9
+ }
10
+ type SendMessage = (msg: WorkerMessage) => void;
11
+ export declare class BibliographyImportWorker {
12
+ fileContents: string;
13
+ sendMessage: SendMessage;
14
+ format: string | null;
15
+ tmpDB: Record<string, any>;
16
+ bibKeys: string[];
17
+ totalChunks: number;
18
+ currentChunkNumber: number;
19
+ constructor(fileContents: string, sendMessage: SendMessage, format?: string | null);
20
+ /** Second step of the bibliography file import. Takes a file object,
21
+ * processes client side and cuts into chunks to be uploaded to the server.
22
+ */
23
+ init(): void;
24
+ processChunk(): void;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=bibliography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bibliography.d.ts","sourceRoot":"","sources":["../../../src/import/workers/bibliography.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;AAE/C,qBAAa,wBAAwB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAK;IACtB,WAAW,EAAE,MAAM,CAAI;IACvB,kBAAkB,EAAE,MAAM,CAAI;gBAG1B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,MAAM,GAAE,MAAM,GAAG,IAAW;IAOhC;;OAEG;IACH,IAAI,IAAI,IAAI;IA0IZ,YAAY,IAAI,IAAI;CAevB"}
@@ -0,0 +1,164 @@
1
+ import { BibLatexParser, CSLParser, CitaviParser, CitaviXmlParser, DocxCitationsParser, ENWParser, EndNoteParser, NBIBParser, OdtCitationsParser, RISParser, sniffFormat } from "bibliojson";
2
+ export class BibliographyImportWorker {
3
+ fileContents;
4
+ sendMessage;
5
+ format;
6
+ tmpDB = {};
7
+ bibKeys = [];
8
+ totalChunks = 0;
9
+ currentChunkNumber = 0;
10
+ constructor(fileContents, sendMessage, format = null) {
11
+ this.fileContents = fileContents;
12
+ this.sendMessage = sendMessage;
13
+ this.format = format;
14
+ }
15
+ /** Second step of the bibliography file import. Takes a file object,
16
+ * processes client side and cuts into chunks to be uploaded to the server.
17
+ */
18
+ init() {
19
+ // Detect format if not provided
20
+ const detectedFormat = this.format || sniffFormat(this.fileContents);
21
+ if (!detectedFormat) {
22
+ this.sendMessage({
23
+ type: "error",
24
+ errorCode: "unsupported_format",
25
+ done: true
26
+ });
27
+ return;
28
+ }
29
+ let parser;
30
+ let parseResult;
31
+ try {
32
+ // Select the appropriate parser based on the detected format
33
+ switch (detectedFormat) {
34
+ case "biblatex":
35
+ parser = new BibLatexParser(this.fileContents);
36
+ parseResult = parser.parse();
37
+ break;
38
+ case "csl_json":
39
+ parser = new CSLParser(this.fileContents);
40
+ parseResult = parser.parse();
41
+ break;
42
+ case "ris":
43
+ parser = new RISParser(this.fileContents);
44
+ parseResult = parser.parse();
45
+ break;
46
+ case "enw":
47
+ parser = new ENWParser(this.fileContents);
48
+ parseResult = parser.parse();
49
+ break;
50
+ case "nbib":
51
+ parser = new NBIBParser(this.fileContents);
52
+ parseResult = parser.parse();
53
+ break;
54
+ case "endnote_xml":
55
+ parser = new EndNoteParser(this.fileContents);
56
+ parseResult = parser.parse();
57
+ break;
58
+ case "citavi_xml":
59
+ parser = new CitaviXmlParser(this.fileContents);
60
+ parseResult = parser.parse();
61
+ break;
62
+ case "citavi_json":
63
+ parser = new CitaviParser(this.fileContents);
64
+ parseResult = parser.parse();
65
+ break;
66
+ case "odt_citations":
67
+ parser = new OdtCitationsParser(this.fileContents);
68
+ parseResult = parser.parse();
69
+ break;
70
+ case "docx_citations":
71
+ parser = new DocxCitationsParser(this.fileContents);
72
+ parseResult = parser.parse();
73
+ break;
74
+ default:
75
+ this.sendMessage({
76
+ type: "error",
77
+ errorCode: "unsupported_format",
78
+ done: true
79
+ });
80
+ return;
81
+ }
82
+ // Extract entries from parse result
83
+ this.tmpDB = parseResult.entries || {};
84
+ this.bibKeys = Object.keys(this.tmpDB);
85
+ if (!this.bibKeys.length) {
86
+ this.sendMessage({
87
+ type: "error",
88
+ errorCode: "no_entries",
89
+ done: true
90
+ });
91
+ return;
92
+ }
93
+ // Process entries - add default values for required fields
94
+ this.bibKeys.forEach(bibKey => {
95
+ const bibEntry = this.tmpDB[bibKey];
96
+ // Add an empty category list for all newly imported entries
97
+ bibEntry.cats = [];
98
+ // If the entry has no title, add an empty title
99
+ if (!bibEntry.fields.title) {
100
+ bibEntry.fields.title = [];
101
+ }
102
+ // If the entry has no date, add an uncertain date
103
+ if (!bibEntry.fields.date) {
104
+ bibEntry.fields.date = "uuuu";
105
+ }
106
+ // If the entry has no editor or author, add empty author
107
+ if (!bibEntry.fields.author && !bibEntry.fields.editor) {
108
+ bibEntry.fields.author = [{ literal: [] }];
109
+ }
110
+ });
111
+ // Send errors and warnings
112
+ if (parser.errors) {
113
+ parser.errors.forEach((error) => {
114
+ this.sendMessage({
115
+ type: "error",
116
+ errorCode: "entry_error",
117
+ errorType: error.type || "unknown",
118
+ key: error.key,
119
+ entry: error.entry,
120
+ ...error
121
+ });
122
+ });
123
+ }
124
+ if (parser.warnings) {
125
+ parser.warnings.forEach((warning) => {
126
+ this.sendMessage({
127
+ type: "warning",
128
+ errorCode: warning.type || "unknown",
129
+ ...warning
130
+ });
131
+ });
132
+ }
133
+ // Send entries in chunks
134
+ this.totalChunks = Math.ceil(this.bibKeys.length / 50);
135
+ this.currentChunkNumber = 0;
136
+ this.processChunk();
137
+ }
138
+ catch (error) {
139
+ this.sendMessage({
140
+ type: "error",
141
+ errorCode: "parse_error",
142
+ errorType: error.message || "unknown",
143
+ done: true
144
+ });
145
+ }
146
+ }
147
+ processChunk() {
148
+ if (this.currentChunkNumber < this.totalChunks) {
149
+ const fromNumber = this.currentChunkNumber * 50;
150
+ const toNumber = fromNumber + 50;
151
+ const currentChunk = {};
152
+ this.bibKeys.slice(fromNumber, toNumber).forEach(bibKey => {
153
+ currentChunk[bibKey] = this.tmpDB[bibKey];
154
+ });
155
+ this.sendMessage({ type: "data", data: currentChunk });
156
+ this.currentChunkNumber++;
157
+ this.processChunk();
158
+ }
159
+ else {
160
+ this.sendMessage({ type: "ok", done: true });
161
+ }
162
+ }
163
+ }
164
+ //# sourceMappingURL=bibliography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bibliography.js","sourceRoot":"","sources":["../../../src/import/workers/bibliography.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bibliography_import_worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bibliography_import_worker.d.ts","sourceRoot":"","sources":["../../../src/import/workers/bibliography_import_worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { BibliographyImportWorker } from "./bibliography.js";
2
+ addEventListener("message", message => {
3
+ const { fileContents, format } = message.data;
4
+ const worker = new BibliographyImportWorker(fileContents, postMessage.bind(self), format);
5
+ worker.init();
6
+ });
7
+ //# sourceMappingURL=bibliography_import_worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bibliography_import_worker.js","sourceRoot":"","sources":["../../../src/import/workers/bibliography_import_worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,mBAAmB,CAAA;AAE1D,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;IAClC,MAAM,EAAC,YAAY,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,IAAI,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAI,wBAAwB,CACvC,YAAY,EACZ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,MAAM,CACT,CAAA;IACD,MAAM,CAAC,IAAI,EAAE,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -11,7 +11,7 @@ interface PluginExport {
11
11
  type BibPlugin = [string, Record<string, PluginExport>];
12
12
  export declare class BibliographyOverview {
13
13
  app: BibliographyApp;
14
- user: Record<string, unknown>;
14
+ container: HTMLElement;
15
15
  bibPlugins: BibPlugin[];
16
16
  lastSort: {
17
17
  column: number;
@@ -25,9 +25,9 @@ export declare class BibliographyOverview {
25
25
  plugins?: Record<string, {
26
26
  init: () => Promise<unknown> | void;
27
27
  }>;
28
- constructor({ app, user }: {
28
+ constructor({ app, container }: {
29
29
  app: BibliographyApp;
30
- user: Record<string, unknown>;
30
+ container: HTMLElement;
31
31
  }, bibPlugins?: BibPlugin[]);
32
32
  /** Bind the init function to doc loading.
33
33
  * @function bind
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/overview/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,iBAAiB,EACjB,gBAAgB,EAQnB,MAAM,WAAW,CAAA;AAElB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AAG5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAKhD,OAAO,KAAK,EACR,WAAW,EACX,eAAe,EAIlB,MAAM,oBAAoB,CAAA;AAI3B,UAAU,YAAY;IAClB,KAAK,QAAQ,EAAE,oBAAoB,GAAG;QAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;KAAC,CAAA;IAC3E,IAAI,EAAE,MAAM,CAAA;CACf;AAED,KAAK,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;AAEvD,qBAAa,oBAAoB;IAC7B,GAAG,EAAE,eAAe,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,QAAQ,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAA;KAAC,CAAA;IAC/C,GAAG,EAAG,WAAW,CAAA;IACjB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC,CAAA;gBAG3D,EAAC,GAAG,EAAE,IAAI,EAAC,EAAE;QAAC,GAAG,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAC,EAClE,UAAU,GAAE,SAAS,EAAqC;IAS9D;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrB,MAAM,IAAI,IAAI;IAmBd,QAAQ,IAAI,IAAI;IAQhB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IA6H9B;;;OAGG;IACH,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAqCtD;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAQhC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE;IAqBlE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBpC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IA+D5B;;;OAGG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IA0BzC,WAAW,IAAI,MAAM,EAAE;IAMvB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IA+B1C;;OAEG;IACH,UAAU,IAAI,IAAI;IAsDlB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2DpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAahC,cAAc,CAAC,IAAI,EAAE;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,IAAI;IAM7D,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAMrC,KAAK,IAAI,IAAI;CAchB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/overview/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,iBAAiB,EACjB,gBAAgB,EAQnB,MAAM,WAAW,CAAA;AAElB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AAG5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAIhD,OAAO,KAAK,EACR,WAAW,EACX,eAAe,EAIlB,MAAM,oBAAoB,CAAA;AAI3B,UAAU,YAAY;IAClB,KAAK,QAAQ,EAAE,oBAAoB,GAAG;QAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;KAAC,CAAA;IAC3E,IAAI,EAAE,MAAM,CAAA;CACf;AAED,KAAK,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;AAEvD,qBAAa,oBAAoB;IAC7B,GAAG,EAAE,eAAe,CAAA;IACpB,SAAS,EAAE,WAAW,CAAA;IACtB,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,QAAQ,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAA;KAAC,CAAA;IAC/C,GAAG,EAAG,WAAW,CAAA;IACjB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC,CAAA;gBAG3D,EAAC,GAAG,EAAE,SAAS,EAAC,EAAE;QAAC,GAAG,EAAE,eAAe,CAAC;QAAC,SAAS,EAAE,WAAW,CAAA;KAAC,EAChE,UAAU,GAAE,SAAS,EAAqC;IAS9D;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,MAAM,IAAI,IAAI;IAWd,QAAQ,IAAI,IAAI;IAQhB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IA6H9B;;;OAGG;IACH,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAqCtD;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAQhC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE;IAqBlE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBpC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IA+D5B;;;OAGG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IA0BzC,WAAW,IAAI,MAAM,EAAE;IAMvB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IA+B1C;;OAEG;IACH,UAAU,IAAI,IAAI;IAsDlB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2DpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAahC,cAAc,CAAC,IAAI,EAAE;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,IAAI;IAM7D,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAMrC,KAAK,IAAI,IAAI;CAchB"}
@@ -1,14 +1,13 @@
1
1
  import fixUTF8 from "fix-utf8";
2
2
  import { Dialog, OverviewDataTable, OverviewMenuView, addAlert, ensureCSS, escapeText, findTarget, isActivationEvent, setDocTitle, whenReady } from "fwtoolkit";
3
- import { baseBodyTemplate, FeedbackTab, SiteMenu } from "@fiduswriter/common";
4
3
  import { plugins as defaultBibPlugins } from "../plugins/bibliography_overview/index.js";
5
4
  import { getBibTypeTitle } from "../form/strings.js";
6
5
  import { litToText, nameToText } from "../tools.js";
7
6
  import { bulkMenuModel, menuModel } from "./menu.js";
8
- import { editCategoriesTemplate } from "./templates.js";
7
+ import { bibliographyOverviewTemplate, editCategoriesTemplate } from "./templates.js";
9
8
  export class BibliographyOverview {
10
9
  app;
11
- user;
10
+ container;
12
11
  bibPlugins;
13
12
  lastSort;
14
13
  dom;
@@ -17,9 +16,9 @@ export class BibliographyOverview {
17
16
  dtBulk;
18
17
  menu;
19
18
  plugins;
20
- constructor({ app, user }, bibPlugins = defaultBibPlugins) {
19
+ constructor({ app, container }, bibPlugins = defaultBibPlugins) {
21
20
  this.app = app;
22
- this.user = user;
21
+ this.container = container;
23
22
  this.bibPlugins = bibPlugins;
24
23
  this.lastSort = { column: 0, dir: "asc" };
25
24
  }
@@ -29,8 +28,6 @@ export class BibliographyOverview {
29
28
  init() {
30
29
  return whenReady().then(() => {
31
30
  this.render();
32
- const smenu = new SiteMenu(this.app, "bibliography");
33
- smenu.init();
34
31
  this.menu = new OverviewMenuView(this, menuModel);
35
32
  this.menu.init();
36
33
  this.setBibCategoryList(this.app.bibDB.cats);
@@ -43,22 +40,14 @@ export class BibliographyOverview {
43
40
  });
44
41
  }
45
42
  render() {
46
- this.dom = document.createElement("body");
47
- this.dom.innerHTML = baseBodyTemplate({
48
- contents: "",
49
- user: this.user,
50
- hasOverview: true,
51
- app: this.app
52
- });
53
- document.body = this.dom;
43
+ this.dom = this.container;
44
+ this.dom.innerHTML = bibliographyOverviewTemplate();
54
45
  ensureCSS([
55
46
  staticUrl("css/bibliography.css"),
56
47
  staticUrl("css/prosemirror.css"),
57
48
  staticUrl("css/inline_tools.css")
58
49
  ]);
59
50
  setDocTitle(gettext("Bibliography Manager"), this.app);
60
- const feedbackTab = new FeedbackTab();
61
- feedbackTab.init();
62
51
  }
63
52
  onResize() {
64
53
  if (!this.table) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overview/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overview/index.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,7 @@ import type { BibCategory } from "../types/biblio.js";
3
3
  export declare const editCategoriesTemplate: ({ categories }: {
4
4
  categories: BibCategory[];
5
5
  }) => string;
6
+ /** Returns the inner HTML structure of the bibliography overview page,
7
+ * without any page chrome (body, menu, feedback tab). */
8
+ export declare function bibliographyOverviewTemplate(): string;
6
9
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/overview/templates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAA;AAuBnD,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,GAAI,gBAAc;IAAC,UAAU,EAAE,WAAW,EAAE,CAAA;CAAC,WAKnE,CAAA"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/overview/templates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAA;AAuBnD,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,GAAI,gBAAc;IAAC,UAAU,EAAE,WAAW,EAAE,CAAA;CAAC,WAKnE,CAAA;AAEb;0DAC0D;AAC1D,wBAAgB,4BAA4B,IAAI,MAAM,CAErD"}
@@ -21,4 +21,9 @@ export const editCategoriesTemplate = ({ categories }) => `<table id="editCatego
21
21
  ${categoryFormsTemplate({ categories })}
22
22
  </tbody>
23
23
  </table>`;
24
+ /** Returns the inner HTML structure of the bibliography overview page,
25
+ * without any page chrome (body, menu, feedback tab). */
26
+ export function bibliographyOverviewTemplate() {
27
+ return `<div id="bibliographyOverview" class="fw-overview"><div id="wait" class="fw-overview-wait"><i class="fa fa-spinner fa-pulse"></i></div></div><div id="unobtrusive-messages"></div>`;
28
+ }
24
29
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/overview/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGpC,kGAAkG;AAClG,MAAM,qBAAqB,GAAG,CAAC,EAAC,UAAU,EAA8B,EAAE,EAAE,CACxE,GAAG,UAAU;KACR,GAAG,CACA,GAAG,CAAC,EAAE,CACF,sBAAsB,GAAG,CAAC,EAAE;;iFAEqC,GAAG,CAAC,EAAE;qCAClD,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,EAAE;;;kBAGrE,CACT;KACA,IAAI,CAAC,EAAE,CAAC;;;;;;UAMP,CAAA;AAEV,kEAAkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAC,UAAU,EAA8B,EAAE,EAAE,CAChF;;cAEU,qBAAqB,CAAC,EAAC,UAAU,EAAC,CAAC;;aAEpC,CAAA"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/overview/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAGpC,kGAAkG;AAClG,MAAM,qBAAqB,GAAG,CAAC,EAAC,UAAU,EAA8B,EAAE,EAAE,CACxE,GAAG,UAAU;KACR,GAAG,CACA,GAAG,CAAC,EAAE,CACF,sBAAsB,GAAG,CAAC,EAAE;;iFAEqC,GAAG,CAAC,EAAE;qCAClD,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,EAAE;;;kBAGrE,CACT;KACA,IAAI,CAAC,EAAE,CAAC;;;;;;UAMP,CAAA;AAEV,kEAAkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAC,UAAU,EAA8B,EAAE,EAAE,CAChF;;cAEU,qBAAqB,CAAC,EAAC,UAAU,EAAC,CAAC;;aAEpC,CAAA;AAEb;0DAC0D;AAC1D,MAAM,UAAU,4BAA4B;IACxC,OAAO,oLAAoL,CAAA;AAC/L,CAAC"}
package/package.json CHANGED
@@ -1,81 +1,94 @@
1
1
  {
2
- "name": "@fiduswriter/bibliography-manager",
3
- "version": "0.1.8",
4
- "description": "Fidus Writer bibliography manager",
5
- "repository": {
6
- "type": "git",
7
- "url": "ssh://git@codeberg.org/fiduswriter/fiduswriter-bibliography-manager-js.git"
2
+ "name": "@fiduswriter/bibliography-manager",
3
+ "version": "0.1.10",
4
+ "description": "Fidus Writer bibliography manager",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "ssh://git@codeberg.org/fiduswriter/fiduswriter-bibliography-manager-js.git"
8
+ },
9
+ "license": "AGPL-3.0",
10
+ "author": "Johannes Wilm",
11
+ "type": "module",
12
+ "main": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
8
18
  },
9
- "license": "AGPL-3.0",
10
- "author": "Johannes Wilm",
11
- "type": "module",
12
- "main": "./dist/index.js",
13
- "types": "./dist/index.d.ts",
14
- "exports": {
15
- ".": {
16
- "types": "./dist/index.d.ts",
17
- "default": "./dist/index.js"
18
- },
19
- "./overview": {
20
- "types": "./dist/overview/index.d.ts",
21
- "default": "./dist/overview/index.js"
22
- },
23
- "./form": {
24
- "types": "./dist/form/index.d.ts",
25
- "default": "./dist/form/index.js"
26
- },
27
- "./database": {
28
- "types": "./dist/database/index.d.ts",
29
- "default": "./dist/database/index.js"
30
- },
31
- "./import": {
32
- "types": "./dist/import/index.d.ts",
33
- "default": "./dist/import/index.js"
34
- },
35
- "./export": {
36
- "types": "./dist/export/index.d.ts",
37
- "default": "./dist/export/index.js"
38
- },
39
- "./schema/*": {
40
- "types": "./dist/schema/*.d.ts",
41
- "default": "./dist/schema/*.js"
42
- },
43
- "./*": {
44
- "types": "./dist/*.d.ts",
45
- "default": "./dist/*.js"
46
- }
19
+ "./overview": {
20
+ "types": "./dist/overview/index.d.ts",
21
+ "default": "./dist/overview/index.js"
47
22
  },
48
- "files": [
49
- "dist/",
50
- "src/",
51
- "README.md",
52
- "LICENSE"
53
- ],
54
- "scripts": {
55
- "build": "tsc",
56
- "prepare": "npm run build",
57
- "prepublishOnly": "npm run build",
58
- "typecheck": "tsc --noEmit",
59
- "lint": "eslint src",
60
- "lint:fix": "eslint src --fix",
61
- "format": "prettier --write .",
62
- "format:check": "prettier --check ."
23
+ "./form": {
24
+ "types": "./dist/form/index.d.ts",
25
+ "default": "./dist/form/index.js"
26
+ },
27
+ "./database": {
28
+ "types": "./dist/database/index.d.ts",
29
+ "default": "./dist/database/index.js"
30
+ },
31
+ "./import": {
32
+ "types": "./dist/import/index.d.ts",
33
+ "default": "./dist/import/index.js"
63
34
  },
64
- "dependencies": {
65
- "@fiduswriter/common": "^0.1.3",
66
- "bibliojson": "^4.0.0",
67
- "fix-utf8": "2.0.1",
68
- "fwtoolkit": "^0.1.9",
69
- "prosemirror-model": "^1.25.0",
70
- "prosemirror-schema-basic": "^1.2.4",
71
- "tokenfield": "^1.2.2"
35
+ "./export": {
36
+ "types": "./dist/export/index.d.ts",
37
+ "default": "./dist/export/index.js"
72
38
  },
73
- "devDependencies": {
74
- "@eslint/js": "^10.0.1",
75
- "eslint": "^10.6.0",
76
- "globals": "^15.15.0",
77
- "prettier": "^3.5.3",
78
- "typescript": "^6.0.3",
79
- "typescript-eslint": "^8.62.0"
39
+ "./schema/*": {
40
+ "types": "./dist/schema/*.d.ts",
41
+ "default": "./dist/schema/*.js"
42
+ },
43
+ "./*": {
44
+ "types": "./dist/*.d.ts",
45
+ "default": "./dist/*.js"
80
46
  }
47
+ },
48
+ "files": [
49
+ "dist/",
50
+ "src/",
51
+ "README.md",
52
+ "LICENSE"
53
+ ],
54
+ "scripts": {
55
+ "build": "tsc",
56
+ "prepare": "npm run build",
57
+ "prepublishOnly": "npm run build",
58
+ "typecheck": "tsc --noEmit",
59
+ "lint": "eslint src",
60
+ "lint:fix": "eslint src --fix",
61
+ "format": "prettier --write .",
62
+ "format:check": "prettier --check .",
63
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.js"
64
+ },
65
+ "dependencies": {
66
+ "bibliojson": "^4.0.0",
67
+ "fix-utf8": "2.0.1",
68
+ "fwtoolkit": "^0.1.9",
69
+ "prosemirror-model": "^1.25.0",
70
+ "prosemirror-schema-basic": "^1.2.4",
71
+ "tokenfield": "^1.2.2"
72
+ },
73
+ "devDependencies": {
74
+ "@eslint/js": "^10.0.1",
75
+ "@types/jest": "^30.0.0",
76
+ "eslint": "^10.6.0",
77
+ "globals": "^15.15.0",
78
+ "happy-dom": "^20.10.6",
79
+ "jest": "^30.4.2",
80
+ "prettier": "^3.5.3",
81
+ "ts-jest": "^29.4.11",
82
+ "ts-jest-resolver": "^2.0.1",
83
+ "typescript": "^6.0.3",
84
+ "typescript-eslint": "^8.62.0"
85
+ },
86
+ "lint-staged": {
87
+ "*.{ts,js,mjs,css,md,json,html}": [
88
+ "prettier --write"
89
+ ],
90
+ "*.{ts,js,mjs}": [
91
+ "eslint --fix"
92
+ ]
93
+ }
81
94
  }
package/src/global.d.ts CHANGED
@@ -44,17 +44,6 @@ declare module "fwtoolkit/file/zip" {
44
44
  }
45
45
  }
46
46
 
47
- declare module "@fiduswriter/common" {
48
- export function baseBodyTemplate(...args: unknown[]): string
49
- export class FeedbackTab {
50
- init(): void
51
- }
52
- export class SiteMenu {
53
- constructor(app: unknown, section: string)
54
- init(): void
55
- }
56
- }
57
-
58
47
  // Globals provided by the Fidus Writer host page.
59
48
 
60
49
  declare function gettext(msgid: string): string
@@ -36,19 +36,27 @@ export class BibliographyImporter {
36
36
  addToListCall: (ids: number[]) => void
37
37
  callback: (() => void) | false | undefined
38
38
  showAlerts: boolean
39
+ workerURL: string
39
40
 
40
41
  constructor(
41
42
  fileContents: string,
42
43
  bibDB: BibDBCollection,
43
44
  addToListCall: (ids: number[]) => void,
44
45
  callback: (() => void) | false | undefined,
45
- showAlerts = true
46
+ showAlerts = true,
47
+ workerURL?: string
46
48
  ) {
47
49
  this.fileContents = fileContents
48
50
  this.bibDB = bibDB
49
51
  this.addToListCall = addToListCall
50
52
  this.callback = callback
51
53
  this.showAlerts = showAlerts
54
+ this.workerURL =
55
+ workerURL ||
56
+ new URL(
57
+ "./workers/bibliography_import_worker.js",
58
+ import.meta.url
59
+ ).href
52
60
  }
53
61
 
54
62
  init(): void {
@@ -66,9 +74,7 @@ export class BibliographyImporter {
66
74
  }
67
75
 
68
76
  // Use the worker for the detected format
69
- const importWorker = makeWorker(
70
- staticUrl("js/bibliography_import_worker.js")
71
- )
77
+ const importWorker = makeWorker(this.workerURL)
72
78
  importWorker.onmessage = message => this.onMessage(message.data as ImportMessage)
73
79
  importWorker.postMessage({
74
80
  fileContents: this.fileContents,
@@ -0,0 +1,202 @@
1
+ import {
2
+ BibLatexParser,
3
+ CSLParser,
4
+ CitaviParser,
5
+ CitaviXmlParser,
6
+ DocxCitationsParser,
7
+ ENWParser,
8
+ EndNoteParser,
9
+ NBIBParser,
10
+ OdtCitationsParser,
11
+ RISParser,
12
+ sniffFormat
13
+ } from "bibliojson"
14
+
15
+ export interface WorkerMessage {
16
+ type: string
17
+ errorCode?: string
18
+ errorType?: string
19
+ key?: string
20
+ entry?: string
21
+ data?: Record<string, unknown>
22
+ done?: boolean
23
+ }
24
+
25
+ type SendMessage = (msg: WorkerMessage) => void
26
+
27
+ export class BibliographyImportWorker {
28
+ fileContents: string
29
+ sendMessage: SendMessage
30
+ format: string | null
31
+ tmpDB: Record<string, any> = {}
32
+ bibKeys: string[] = []
33
+ totalChunks: number = 0
34
+ currentChunkNumber: number = 0
35
+
36
+ constructor(
37
+ fileContents: string,
38
+ sendMessage: SendMessage,
39
+ format: string | null = null
40
+ ) {
41
+ this.fileContents = fileContents
42
+ this.sendMessage = sendMessage
43
+ this.format = format
44
+ }
45
+
46
+ /** Second step of the bibliography file import. Takes a file object,
47
+ * processes client side and cuts into chunks to be uploaded to the server.
48
+ */
49
+ init(): void {
50
+ // Detect format if not provided
51
+ const detectedFormat = this.format || sniffFormat(this.fileContents)
52
+
53
+ if (!detectedFormat) {
54
+ this.sendMessage({
55
+ type: "error",
56
+ errorCode: "unsupported_format",
57
+ done: true
58
+ })
59
+ return
60
+ }
61
+
62
+ let parser: any
63
+ let parseResult: {entries?: Record<string, any>}
64
+
65
+ try {
66
+ // Select the appropriate parser based on the detected format
67
+ switch (detectedFormat) {
68
+ case "biblatex":
69
+ parser = new BibLatexParser(this.fileContents)
70
+ parseResult = parser.parse()
71
+ break
72
+ case "csl_json":
73
+ parser = new (CSLParser as any)(this.fileContents)
74
+ parseResult = parser.parse()
75
+ break
76
+ case "ris":
77
+ parser = new RISParser(this.fileContents)
78
+ parseResult = parser.parse()
79
+ break
80
+ case "enw":
81
+ parser = new ENWParser(this.fileContents)
82
+ parseResult = parser.parse()
83
+ break
84
+ case "nbib":
85
+ parser = new NBIBParser(this.fileContents)
86
+ parseResult = parser.parse()
87
+ break
88
+ case "endnote_xml":
89
+ parser = new (EndNoteParser as any)(this.fileContents)
90
+ parseResult = parser.parse()
91
+ break
92
+ case "citavi_xml":
93
+ parser = new CitaviXmlParser(this.fileContents)
94
+ parseResult = parser.parse()
95
+ break
96
+ case "citavi_json":
97
+ parser = new (CitaviParser as any)(this.fileContents)
98
+ parseResult = parser.parse()
99
+ break
100
+ case "odt_citations":
101
+ parser = new OdtCitationsParser(this.fileContents)
102
+ parseResult = parser.parse()
103
+ break
104
+ case "docx_citations":
105
+ parser = new DocxCitationsParser(this.fileContents)
106
+ parseResult = parser.parse()
107
+ break
108
+ default:
109
+ this.sendMessage({
110
+ type: "error",
111
+ errorCode: "unsupported_format",
112
+ done: true
113
+ })
114
+ return
115
+ }
116
+
117
+ // Extract entries from parse result
118
+ this.tmpDB = parseResult.entries || {}
119
+ this.bibKeys = Object.keys(this.tmpDB)
120
+
121
+ if (!this.bibKeys.length) {
122
+ this.sendMessage({
123
+ type: "error",
124
+ errorCode: "no_entries",
125
+ done: true
126
+ })
127
+ return
128
+ }
129
+
130
+ // Process entries - add default values for required fields
131
+ this.bibKeys.forEach(bibKey => {
132
+ const bibEntry = this.tmpDB[bibKey]
133
+ // Add an empty category list for all newly imported entries
134
+ bibEntry.cats = []
135
+ // If the entry has no title, add an empty title
136
+ if (!bibEntry.fields.title) {
137
+ bibEntry.fields.title = []
138
+ }
139
+ // If the entry has no date, add an uncertain date
140
+ if (!bibEntry.fields.date) {
141
+ bibEntry.fields.date = "uuuu"
142
+ }
143
+ // If the entry has no editor or author, add empty author
144
+ if (!bibEntry.fields.author && !bibEntry.fields.editor) {
145
+ bibEntry.fields.author = [{literal: []}]
146
+ }
147
+ })
148
+
149
+ // Send errors and warnings
150
+ if (parser.errors) {
151
+ parser.errors.forEach((error: any) => {
152
+ this.sendMessage({
153
+ type: "error",
154
+ errorCode: "entry_error",
155
+ errorType: error.type || "unknown",
156
+ key: error.key,
157
+ entry: error.entry,
158
+ ...error
159
+ })
160
+ })
161
+ }
162
+
163
+ if (parser.warnings) {
164
+ parser.warnings.forEach((warning: any) => {
165
+ this.sendMessage({
166
+ type: "warning",
167
+ errorCode: warning.type || "unknown",
168
+ ...warning
169
+ })
170
+ })
171
+ }
172
+
173
+ // Send entries in chunks
174
+ this.totalChunks = Math.ceil(this.bibKeys.length / 50)
175
+ this.currentChunkNumber = 0
176
+ this.processChunk()
177
+ } catch (error: any) {
178
+ this.sendMessage({
179
+ type: "error",
180
+ errorCode: "parse_error",
181
+ errorType: error.message || "unknown",
182
+ done: true
183
+ })
184
+ }
185
+ }
186
+
187
+ processChunk(): void {
188
+ if (this.currentChunkNumber < this.totalChunks) {
189
+ const fromNumber = this.currentChunkNumber * 50
190
+ const toNumber = fromNumber + 50
191
+ const currentChunk: Record<string, any> = {}
192
+ this.bibKeys.slice(fromNumber, toNumber).forEach(bibKey => {
193
+ currentChunk[bibKey] = this.tmpDB[bibKey]
194
+ })
195
+ this.sendMessage({type: "data", data: currentChunk})
196
+ this.currentChunkNumber++
197
+ this.processChunk()
198
+ } else {
199
+ this.sendMessage({type: "ok", done: true})
200
+ }
201
+ }
202
+ }
@@ -0,0 +1,11 @@
1
+ import {BibliographyImportWorker} from "./bibliography.js"
2
+
3
+ addEventListener("message", message => {
4
+ const {fileContents, format} = message.data
5
+ const worker = new BibliographyImportWorker(
6
+ fileContents,
7
+ postMessage.bind(self),
8
+ format
9
+ )
10
+ worker.init()
11
+ })
@@ -17,7 +17,6 @@ import type {DatatableBulk} from "fwtoolkit"
17
17
  import type {OverviewMenuModel} from "fwtoolkit/overview_menu"
18
18
  import type {ContentMenuInit} from "fwtoolkit/content_menu"
19
19
  import type {DataTable} from "simple-datatables"
20
- import {baseBodyTemplate, FeedbackTab, SiteMenu} from "@fiduswriter/common"
21
20
  import {plugins as defaultBibPlugins} from "../plugins/bibliography_overview/index.js"
22
21
  import {getBibTypeTitle} from "../form/strings.js"
23
22
  import {litToText, nameToText} from "../tools.js"
@@ -29,7 +28,7 @@ import type {
29
28
  NodeArray
30
29
  } from "../types/biblio.js"
31
30
  import {bulkMenuModel, menuModel} from "./menu.js"
32
- import {editCategoriesTemplate} from "./templates.js"
31
+ import {bibliographyOverviewTemplate, editCategoriesTemplate} from "./templates.js"
33
32
 
34
33
  interface PluginExport {
35
34
  new (overview: BibliographyOverview): {init: () => Promise<unknown> | void}
@@ -40,7 +39,7 @@ type BibPlugin = [string, Record<string, PluginExport>]
40
39
 
41
40
  export class BibliographyOverview {
42
41
  app: BibliographyApp
43
- user: Record<string, unknown>
42
+ container: HTMLElement
44
43
  bibPlugins: BibPlugin[]
45
44
  lastSort: {column: number; dir: "asc" | "desc"}
46
45
  dom!: HTMLElement
@@ -51,11 +50,11 @@ export class BibliographyOverview {
51
50
  plugins?: Record<string, {init: () => Promise<unknown> | void}>
52
51
 
53
52
  constructor(
54
- {app, user}: {app: BibliographyApp; user: Record<string, unknown>},
53
+ {app, container}: {app: BibliographyApp; container: HTMLElement},
55
54
  bibPlugins: BibPlugin[] = defaultBibPlugins as BibPlugin[]
56
55
  ) {
57
56
  this.app = app
58
- this.user = user
57
+ this.container = container
59
58
  this.bibPlugins = bibPlugins
60
59
 
61
60
  this.lastSort = {column: 0, dir: "asc"}
@@ -67,8 +66,6 @@ export class BibliographyOverview {
67
66
  init(): Promise<void> {
68
67
  return whenReady().then(() => {
69
68
  this.render()
70
- const smenu = new SiteMenu(this.app, "bibliography")
71
- smenu.init()
72
69
  this.menu = new OverviewMenuView(
73
70
  this,
74
71
  menuModel as () => OverviewMenuModel
@@ -85,22 +82,14 @@ export class BibliographyOverview {
85
82
  }
86
83
 
87
84
  render(): void {
88
- this.dom = document.createElement("body")
89
- this.dom.innerHTML = baseBodyTemplate({
90
- contents: "",
91
- user: this.user,
92
- hasOverview: true,
93
- app: this.app
94
- })
95
- document.body = this.dom
85
+ this.dom = this.container
86
+ this.dom.innerHTML = bibliographyOverviewTemplate()
96
87
  ensureCSS([
97
88
  staticUrl("css/bibliography.css"),
98
89
  staticUrl("css/prosemirror.css"),
99
90
  staticUrl("css/inline_tools.css")
100
91
  ])
101
92
  setDocTitle(gettext("Bibliography Manager"), this.app)
102
- const feedbackTab = new FeedbackTab()
103
- feedbackTab.init()
104
93
  }
105
94
 
106
95
  onResize(): void {
@@ -29,3 +29,9 @@ export const editCategoriesTemplate = ({categories}: {categories: BibCategory[]}
29
29
  ${categoryFormsTemplate({categories})}
30
30
  </tbody>
31
31
  </table>`
32
+
33
+ /** Returns the inner HTML structure of the bibliography overview page,
34
+ * without any page chrome (body, menu, feedback tab). */
35
+ export function bibliographyOverviewTemplate(): string {
36
+ return `<div id="bibliographyOverview" class="fw-overview"><div id="wait" class="fw-overview-wait"><i class="fa fa-spinner fa-pulse"></i></div></div><div id="unobtrusive-messages"></div>`
37
+ }