@fiduswriter/bibliography-manager 0.1.6 → 0.1.8
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/database/index.d.ts +12 -11
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +22 -16
- package/dist/database/index.js.map +1 -1
- package/dist/database/server_connector.d.ts +14 -15
- package/dist/database/server_connector.d.ts.map +1 -1
- package/dist/database/server_connector.js +17 -9
- package/dist/database/server_connector.js.map +1 -1
- package/dist/export/index.d.ts +6 -4
- package/dist/export/index.d.ts.map +1 -1
- package/dist/export/index.js +7 -1
- package/dist/export/index.js.map +1 -1
- package/dist/form/cats.d.ts +5 -4
- package/dist/form/cats.d.ts.map +1 -1
- package/dist/form/cats.js +2 -0
- package/dist/form/cats.js.map +1 -1
- package/dist/form/fields/date.d.ts +4 -4
- package/dist/form/fields/date.d.ts.map +1 -1
- package/dist/form/fields/date.js +5 -1
- package/dist/form/fields/date.js.map +1 -1
- package/dist/form/fields/key.d.ts +11 -9
- package/dist/form/fields/key.d.ts.map +1 -1
- package/dist/form/fields/key.js +13 -6
- package/dist/form/fields/key.js.map +1 -1
- package/dist/form/fields/key_list.d.ts +10 -8
- package/dist/form/fields/key_list.d.ts.map +1 -1
- package/dist/form/fields/key_list.js +4 -0
- package/dist/form/fields/key_list.js.map +1 -1
- package/dist/form/fields/literal.d.ts +4 -4
- package/dist/form/fields/literal.d.ts.map +1 -1
- package/dist/form/fields/literal.js +2 -1
- package/dist/form/fields/literal.js.map +1 -1
- package/dist/form/fields/literal_list.d.ts +8 -7
- package/dist/form/fields/literal_list.d.ts.map +1 -1
- package/dist/form/fields/literal_list.js +3 -0
- package/dist/form/fields/literal_list.js.map +1 -1
- package/dist/form/fields/literal_long.d.ts +4 -4
- package/dist/form/fields/literal_long.d.ts.map +1 -1
- package/dist/form/fields/literal_long.js +1 -0
- package/dist/form/fields/literal_long.js.map +1 -1
- package/dist/form/fields/name.d.ts +10 -27
- package/dist/form/fields/name.d.ts.map +1 -1
- package/dist/form/fields/name.js +22 -18
- package/dist/form/fields/name.js.map +1 -1
- package/dist/form/fields/name_list.d.ts +9 -7
- package/dist/form/fields/name_list.d.ts.map +1 -1
- package/dist/form/fields/name_list.js +5 -2
- package/dist/form/fields/name_list.js.map +1 -1
- package/dist/form/fields/range.d.ts +10 -8
- package/dist/form/fields/range.d.ts.map +1 -1
- package/dist/form/fields/range.js +13 -9
- package/dist/form/fields/range.js.map +1 -1
- package/dist/form/fields/range_list.d.ts +9 -7
- package/dist/form/fields/range_list.d.ts.map +1 -1
- package/dist/form/fields/range_list.js +3 -0
- package/dist/form/fields/range_list.js.map +1 -1
- package/dist/form/fields/tag_list.d.ts +7 -6
- package/dist/form/fields/tag_list.d.ts.map +1 -1
- package/dist/form/fields/tag_list.js +3 -0
- package/dist/form/fields/tag_list.js.map +1 -1
- package/dist/form/fields/title.d.ts +4 -4
- package/dist/form/fields/title.d.ts.map +1 -1
- package/dist/form/fields/title.js +1 -0
- package/dist/form/fields/title.js.map +1 -1
- package/dist/form/fields/uri.d.ts +4 -4
- package/dist/form/fields/uri.d.ts.map +1 -1
- package/dist/form/fields/uri.js +5 -1
- package/dist/form/fields/uri.js.map +1 -1
- package/dist/form/fields/verbatim.d.ts +4 -4
- package/dist/form/fields/verbatim.d.ts.map +1 -1
- package/dist/form/fields/verbatim.js +5 -1
- package/dist/form/fields/verbatim.js.map +1 -1
- package/dist/form/index.d.ts +32 -30
- package/dist/form/index.d.ts.map +1 -1
- package/dist/form/index.js +33 -11
- package/dist/form/index.js.map +1 -1
- package/dist/form/strings.d.ts +11 -11
- package/dist/form/strings.d.ts.map +1 -1
- package/dist/form/strings.js +5 -5
- package/dist/form/strings.js.map +1 -1
- package/dist/form/templates.d.ts +6 -5
- package/dist/form/templates.d.ts.map +1 -1
- package/dist/form/templates.js +2 -2
- package/dist/form/templates.js.map +1 -1
- package/dist/import/bibliography_import.d.ts +20 -7
- package/dist/import/bibliography_import.d.ts.map +1 -1
- package/dist/import/bibliography_import.js +15 -7
- package/dist/import/bibliography_import.js.map +1 -1
- package/dist/import/dialog.d.ts +6 -5
- package/dist/import/dialog.d.ts.map +1 -1
- package/dist/import/dialog.js +27 -12
- package/dist/import/dialog.js.map +1 -1
- package/dist/import/index.d.ts +2 -0
- package/dist/import/index.d.ts.map +1 -1
- package/dist/import/index.js +5 -0
- package/dist/import/index.js.map +1 -1
- package/dist/import/templates.d.ts +2 -1
- package/dist/import/templates.d.ts.map +1 -1
- package/dist/import/templates.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/overview/index.d.ts +43 -27
- package/dist/overview/index.d.ts.map +1 -1
- package/dist/overview/index.js +59 -23
- package/dist/overview/index.js.map +1 -1
- package/dist/overview/menu.d.ts +13 -12
- package/dist/overview/menu.d.ts.map +1 -1
- package/dist/overview/menu.js +13 -10
- package/dist/overview/menu.js.map +1 -1
- package/dist/overview/templates.d.ts +5 -3
- package/dist/overview/templates.d.ts.map +1 -1
- package/dist/overview/templates.js.map +1 -1
- package/dist/plugins/bibliography_overview/index.d.ts +1 -1
- package/dist/plugins/bibliography_overview/index.d.ts.map +1 -1
- package/dist/plugins/bibliography_overview/index.js.map +1 -1
- package/dist/schema/csl_bib.d.ts +1 -1
- package/dist/schema/literal.d.ts +1 -1
- package/dist/schema/literal.d.ts.map +1 -1
- package/dist/schema/literal.js.map +1 -1
- package/dist/schema/literal_long.d.ts +1 -1
- package/dist/schema/literal_long.d.ts.map +1 -1
- package/dist/schema/literal_long.js +1 -7
- package/dist/schema/literal_long.js.map +1 -1
- package/dist/schema/title.d.ts +1 -1
- package/dist/schema/title.d.ts.map +1 -1
- package/dist/schema/title.js.map +1 -1
- package/dist/tools.d.ts +4 -3
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js.map +1 -1
- package/dist/types/biblio.d.ts +138 -0
- package/dist/types/biblio.d.ts.map +1 -0
- package/dist/types/biblio.js +2 -0
- package/dist/types/biblio.js.map +1 -0
- package/package.json +1 -1
- package/src/database/{index.js → index.ts} +60 -38
- package/src/database/server_connector.ts +92 -0
- package/src/export/{index.js → index.ts} +16 -4
- package/src/form/{cats.js → cats.ts} +11 -3
- package/src/form/fields/{date.js → date.ts} +10 -5
- package/src/form/fields/{key.js → key.ts} +37 -19
- package/src/form/fields/{key_list.js → key_list.ts} +18 -7
- package/src/form/fields/{literal.js → literal.ts} +11 -5
- package/src/form/fields/{literal_list.js → literal_list.ts} +19 -10
- package/src/form/fields/{literal_long.js → literal_long.ts} +6 -4
- package/src/form/fields/{name.js → name.ts} +53 -39
- package/src/form/fields/name_list.ts +49 -0
- package/src/form/fields/{range.js → range.ts} +34 -22
- package/src/form/fields/{range_list.js → range_list.ts} +17 -10
- package/src/form/fields/{tag_list.js → tag_list.ts} +9 -5
- package/src/form/fields/{title.js → title.ts} +6 -4
- package/src/form/fields/{uri.js → uri.ts} +11 -6
- package/src/form/fields/{verbatim.js → verbatim.ts} +10 -5
- package/src/form/{index.js → index.ts} +113 -60
- package/src/form/{strings.js → strings.ts} +24 -22
- package/src/form/{templates.js → templates.ts} +14 -5
- package/src/global.d.ts +75 -0
- package/src/import/{bibliography_import.js → bibliography_import.ts} +42 -16
- package/src/import/{dialog.js → dialog.ts} +47 -23
- package/src/import/index.ts +14 -0
- package/src/import/{templates.js → templates.ts} +1 -1
- package/src/overview/{index.js → index.ts} +150 -81
- package/src/overview/{menu.js → menu.ts} +18 -12
- package/src/overview/{templates.js → templates.ts} +3 -2
- package/src/plugins/bibliography_overview/index.ts +1 -0
- package/src/schema/{literal_long.js → literal_long.ts} +3 -8
- package/src/schema/{title.js → title.ts} +1 -1
- package/src/{tools.js → tools.ts} +7 -5
- package/src/types/biblio.ts +189 -0
- package/src/database/server_connector.js +0 -57
- package/src/form/fields/name_list.js +0 -42
- package/src/import/index.js +0 -2
- package/src/plugins/bibliography_overview/index.js +0 -1
- /package/src/{index.js → index.ts} +0 -0
- /package/src/schema/{literal.js → literal.ts} +0 -0
package/dist/overview/menu.js
CHANGED
|
@@ -5,27 +5,27 @@ export const bulkMenuModel = () => ({
|
|
|
5
5
|
{
|
|
6
6
|
title: gettext("Delete selected"),
|
|
7
7
|
tooltip: gettext("Delete selected bibliography entries."),
|
|
8
|
-
action: overview => {
|
|
8
|
+
action: (overview) => {
|
|
9
9
|
const ids = overview
|
|
10
10
|
.getSelected()
|
|
11
|
-
.map(id => Number.parseInt(id));
|
|
11
|
+
.map(id => Number.parseInt(String(id)));
|
|
12
12
|
if (ids.length) {
|
|
13
13
|
overview.deleteBibEntryDialog(ids);
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
|
-
disabled: overview => !overview.getSelected().length || overview.app.isOffline()
|
|
16
|
+
disabled: (overview) => !overview.getSelected().length || overview.app.isOffline()
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
title: gettext("Export selected"),
|
|
20
20
|
tooltip: gettext("Export selected bibliography entries."),
|
|
21
|
-
action: overview => {
|
|
21
|
+
action: (overview) => {
|
|
22
22
|
const ids = overview.getSelected();
|
|
23
23
|
if (ids.length) {
|
|
24
24
|
const exporter = new BibLatexFileExporter(overview.app.bibDB, ids);
|
|
25
25
|
exporter.init();
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
-
disabled: overview => !overview.getSelected().length || overview.app.isOffline()
|
|
28
|
+
disabled: (overview) => !overview.getSelected().length || overview.app.isOffline()
|
|
29
29
|
}
|
|
30
30
|
]
|
|
31
31
|
});
|
|
@@ -38,7 +38,7 @@ export const menuModel = () => ({
|
|
|
38
38
|
content: [
|
|
39
39
|
{
|
|
40
40
|
title: gettext("All categories"),
|
|
41
|
-
action: _overview => {
|
|
41
|
+
action: (_overview) => {
|
|
42
42
|
const trs = document.querySelectorAll("#bibliography > tbody > tr");
|
|
43
43
|
trs.forEach(tr => (tr.style.display = ""));
|
|
44
44
|
}
|
|
@@ -50,17 +50,20 @@ export const menuModel = () => ({
|
|
|
50
50
|
type: "text",
|
|
51
51
|
title: gettext("Edit categories"),
|
|
52
52
|
keys: "Alt-e",
|
|
53
|
-
action: overview => overview.editCategoriesDialog(),
|
|
53
|
+
action: (overview) => overview.editCategoriesDialog(),
|
|
54
54
|
order: 2
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
type: "text",
|
|
58
58
|
title: gettext("Register new source"),
|
|
59
59
|
keys: "Alt-n",
|
|
60
|
-
action: overview => {
|
|
60
|
+
action: (overview) => {
|
|
61
61
|
import("../form/index.js").then(({ BibEntryForm }) => {
|
|
62
62
|
const form = new BibEntryForm(overview.app.bibDB, overview.app);
|
|
63
|
-
form.init().then(idTranslations => {
|
|
63
|
+
form.init().then((idTranslations) => {
|
|
64
|
+
if (!idTranslations) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
64
67
|
const ids = idTranslations.map(idTrans => idTrans[1]);
|
|
65
68
|
return overview.updateTable(ids);
|
|
66
69
|
});
|
|
@@ -72,7 +75,7 @@ export const menuModel = () => ({
|
|
|
72
75
|
type: "text",
|
|
73
76
|
title: gettext("Import bibliography"),
|
|
74
77
|
keys: "Alt-u",
|
|
75
|
-
action: overview => {
|
|
78
|
+
action: (overview) => {
|
|
76
79
|
const fileImporter = new BibliographyFileImportDialog(overview.app.bibDB, ids => overview.updateTable(ids), overview.app);
|
|
77
80
|
fileImporter.init();
|
|
78
81
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/overview/menu.
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/overview/menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
import type { BibCategory } from "../types/biblio.js";
|
|
2
|
+
/** A template for the editing of bibliography categories list. */
|
|
3
|
+
export declare const editCategoriesTemplate: ({ categories }: {
|
|
4
|
+
categories: BibCategory[];
|
|
5
|
+
}) => string;
|
|
4
6
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/overview/templates.
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/overview/templates.
|
|
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,2 +1,2 @@
|
|
|
1
|
-
export const plugins:
|
|
1
|
+
export declare const plugins: unknown[];
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/bibliography_overview/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/bibliography_overview/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,OAAO,EAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/bibliography_overview/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/bibliography_overview/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAc,EAAE,CAAA"}
|
package/dist/schema/csl_bib.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Schema } from "prosemirror-model";
|
|
2
|
-
export declare const cslBibSchema: Schema<"
|
|
2
|
+
export declare const cslBibSchema: Schema<"text" | "doc" | "cslbib" | "cslentry" | "cslinline" | "cslblock" | "cslleftmargin" | "cslrightinline" | "cslindent", "em" | "strong" | "sub" | "sup" | "smallcaps">;
|
|
3
3
|
//# sourceMappingURL=csl_bib.d.ts.map
|
package/dist/schema/literal.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const litSchema: Schema<"literal" | "variable" | "doc" | "text", "sup" | "sub" | "smallcaps" | "url" | "enquote" | "em" | "strong">;
|
|
2
1
|
import { Schema } from "prosemirror-model";
|
|
2
|
+
export declare const litSchema: Schema<"text" | "literal" | "variable" | "doc", "em" | "strong" | "sub" | "sup" | "smallcaps" | "url" | "enquote">;
|
|
3
3
|
//# sourceMappingURL=literal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../src/schema/literal.
|
|
1
|
+
{"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../src/schema/literal.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAOxC,eAAO,MAAM,SAAS,oHAgBpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../src/schema/literal.
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../src/schema/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAA;AAE9C,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC;IAChC,KAAK,EAAE;QACH,GAAG;QACH,OAAO;QACP,IAAI;QACJ,QAAQ;KACX;IACD,KAAK,EAAE;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO;QACP,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG;QACH,GAAG;QACH,GAAG;KACN;CACJ,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const longLitSchema: Schema<"variable" | "doc" | "text" | "longliteral", "sup" | "sub" | "smallcaps" | "url" | "enquote" | "em" | "strong">;
|
|
2
1
|
import { Schema } from "prosemirror-model";
|
|
2
|
+
export declare const longLitSchema: Schema<"text" | "variable" | "doc" | "longliteral", "em" | "strong" | "sub" | "sup" | "smallcaps" | "url" | "enquote">;
|
|
3
3
|
//# sourceMappingURL=literal_long.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal_long.d.ts","sourceRoot":"","sources":["../../src/schema/literal_long.
|
|
1
|
+
{"version":3,"file":"literal_long.d.ts","sourceRoot":"","sources":["../../src/schema/literal_long.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAkBxC,eAAO,MAAM,aAAa,wHAgBxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal_long.js","sourceRoot":"","sources":["../../src/schema/literal_long.
|
|
1
|
+
{"version":3,"file":"literal_long.js","sourceRoot":"","sources":["../../src/schema/literal_long.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAA;AAE9C,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,kBAAkB,EAAC,CAAC;IACrC,KAAK,CAAC,KAAW;QACb,OAAO,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAE,CAAC,CAAU,CAAA;IACvD,CAAC;CACJ,CAAA;AAED,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,aAAa;CACzB,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IACpC,KAAK,EAAE;QACH,GAAG;QACH,WAAW;QACX,IAAI;QACJ,QAAQ;KACX;IACD,KAAK,EAAE;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO;QACP,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG;QACH,GAAG;QACH,GAAG;KACN;CACJ,CAAC,CAAA"}
|
package/dist/schema/title.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const titleSchema: Schema<"literal" | "variable" | "doc" | "text", "sup" | "sub" | "smallcaps" | "url" | "enquote" | "em" | "strong" | "nocase">;
|
|
2
1
|
import { Schema } from "prosemirror-model";
|
|
2
|
+
export declare const titleSchema: Schema<"text" | "literal" | "variable" | "doc", "em" | "strong" | "sub" | "sup" | "smallcaps" | "url" | "enquote" | "nocase">;
|
|
3
3
|
//# sourceMappingURL=title.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../src/schema/title.
|
|
1
|
+
{"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../src/schema/title.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAcxC,eAAO,MAAM,WAAW,+HAiBtB,CAAA"}
|
package/dist/schema/title.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/schema/title.
|
|
1
|
+
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/schema/title.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAA;AAE9C,MAAM,MAAM,GAAG;IACX,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,aAAa,EAAC,CAAC;IAChC,KAAK;QACD,OAAO,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAU,CAAA;IAC/C,CAAC;CACJ,CAAA;AAED,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC;IAClC,KAAK,EAAE;QACH,GAAG;QACH,OAAO;QACP,IAAI;QACJ,QAAQ;KACX;IACD,KAAK,EAAE;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO;QACP,MAAM;QACN,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG;QACH,GAAG;QACH,GAAG;KACN;CACJ,CAAC,CAAA"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export function
|
|
3
|
-
export function
|
|
1
|
+
import type { NameDictObject, NodeArray } from "./types/biblio.js";
|
|
2
|
+
export declare function dateToYear(dateStr: string): string;
|
|
3
|
+
export declare function litToText(litStringArray: NodeArray): string;
|
|
4
|
+
export declare function nameToText(nameList: NameDictObject[]): string;
|
|
4
5
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,SAAS,EAAiB,MAAM,mBAAmB,CAAA;AAIhF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlD;AAGD,wBAAgB,SAAS,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAQ3D;AAeD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAqB7D"}
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,mDAAmD;AACnD,yFAAyF;AACzF,MAAM,UAAU,UAAU,CAAC,OAAe;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACb,CAAC;IACD,4EAA4E;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,4DAA4D;IAC5D,OAAO,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,SAAS,CAAC,cAAyB;IAC/C,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAK,SAA4B,CAAC,IAAI,CAAA;QACjD,CAAC;IACL,CAAC,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA4B;IACtD,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,UAAU,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/C,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,UAAU,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAA;QACzD,CAAC;IACL,CAAC;SAAM,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,UAAU,IAAI,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,UAAU,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA0B;IACjD,IAAI,UAAU,CAAA;IACd,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC;YACF,UAAU,GAAG,EAAE,CAAA;YACf,MAAK;QACT,KAAK,CAAC;YACF,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,MAAK;QACT,KAAK,CAAC;YACF,UAAU,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CACxD,KAAK,CACR,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACxC,MAAK;QACT;YACI,UAAU,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CACxD,YAAY,CACf,EAAE,CAAA;YACH,MAAK;IACb,CAAC;IACD,OAAO,UAAU,CAAA;AACrB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { BibFieldTypes, BibTypes } from "bibliojson";
|
|
2
|
+
import type { BibDB as BiblioBibDB } from "bibliojson";
|
|
3
|
+
export type EntryObject = BiblioBibDB[number];
|
|
4
|
+
export type BibFieldType = (typeof BibFieldTypes)[string] & {
|
|
5
|
+
title?: string;
|
|
6
|
+
};
|
|
7
|
+
export type BibType = (typeof BibTypes)[string];
|
|
8
|
+
export interface MarkObject {
|
|
9
|
+
type: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TextNodeObject {
|
|
12
|
+
type: "text";
|
|
13
|
+
text: string;
|
|
14
|
+
marks?: MarkObject[];
|
|
15
|
+
attrs?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface OtherNodeObject {
|
|
18
|
+
type: string;
|
|
19
|
+
marks?: MarkObject[];
|
|
20
|
+
attrs?: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
export type NodeObject = OtherNodeObject | TextNodeObject;
|
|
23
|
+
export type NodeArray = NodeObject[];
|
|
24
|
+
export type NameDictObject = {
|
|
25
|
+
literal?: NodeArray;
|
|
26
|
+
family?: NodeArray;
|
|
27
|
+
given?: NodeArray;
|
|
28
|
+
prefix?: NodeArray;
|
|
29
|
+
suffix?: NodeArray;
|
|
30
|
+
useprefix?: boolean;
|
|
31
|
+
};
|
|
32
|
+
export type RangeArray = [NodeArray, NodeArray] | [NodeArray];
|
|
33
|
+
/** A single bibliography category stored on the client. */
|
|
34
|
+
export interface BibCategory {
|
|
35
|
+
id: number;
|
|
36
|
+
category_title: string;
|
|
37
|
+
}
|
|
38
|
+
/** Client-side bibliography entry.
|
|
39
|
+
*
|
|
40
|
+
* Composes bibliojson's `EntryObject` with the extra `cats` field and the
|
|
41
|
+
* server-side `id` the Fidus Writer backend attaches to each entry.
|
|
42
|
+
*/
|
|
43
|
+
export interface BibDBEntry extends EntryObject {
|
|
44
|
+
/** Categories the entry belongs to. */
|
|
45
|
+
cats: number[];
|
|
46
|
+
/** Server-side primary key (present in entries received from the server). */
|
|
47
|
+
id?: number;
|
|
48
|
+
}
|
|
49
|
+
/** Client-side bibliography database, keyed by server id. */
|
|
50
|
+
export type BibDB = Record<number, BibDBEntry>;
|
|
51
|
+
/** Translation of a temporary client-side id to the server-side id. */
|
|
52
|
+
export type IdTranslation = [number, number];
|
|
53
|
+
/** Single bibliography item as returned in the server's `bib_list` array. */
|
|
54
|
+
export interface ServerBibItem {
|
|
55
|
+
id: number;
|
|
56
|
+
bibDBEntry: BibDBEntry;
|
|
57
|
+
}
|
|
58
|
+
/** Shape of the response from `POST /api/bibliography/biblist/`. */
|
|
59
|
+
export interface BiblistResponse {
|
|
60
|
+
bib_categories: BibCategory[];
|
|
61
|
+
bib_list?: BibDBEntry[];
|
|
62
|
+
last_modified: number;
|
|
63
|
+
number_of_entries: number;
|
|
64
|
+
user_id: number;
|
|
65
|
+
}
|
|
66
|
+
/** Shape of the request body for `POST /api/bibliography/save/`. */
|
|
67
|
+
export interface SaveBibEntriesRequest {
|
|
68
|
+
is_new: boolean;
|
|
69
|
+
bibs: Record<number, BibDBEntry>;
|
|
70
|
+
}
|
|
71
|
+
/** Shape of the response from `POST /api/bibliography/save/`. */
|
|
72
|
+
export interface SaveBibEntriesResponse {
|
|
73
|
+
id_translations: IdTranslation[];
|
|
74
|
+
}
|
|
75
|
+
/** Shape of the request body for `POST /api/bibliography/save_category/`. */
|
|
76
|
+
export interface SaveCategoriesRequest {
|
|
77
|
+
ids: number[];
|
|
78
|
+
titles: string[];
|
|
79
|
+
}
|
|
80
|
+
/** Shape of the response from `POST /api/bibliography/save_category/`. */
|
|
81
|
+
export interface SaveCategoriesResponse {
|
|
82
|
+
entries: BibCategory[];
|
|
83
|
+
}
|
|
84
|
+
/** Shape of the request body for `POST /api/bibliography/delete_category/`. */
|
|
85
|
+
export interface DeleteCategoryRequest {
|
|
86
|
+
ids: number[];
|
|
87
|
+
}
|
|
88
|
+
/** Shape of the request body for `POST /api/bibliography/delete/`. */
|
|
89
|
+
export interface DeleteBibEntriesRequest {
|
|
90
|
+
ids: number[];
|
|
91
|
+
}
|
|
92
|
+
/** Union of all possible field values handled by the form field classes. */
|
|
93
|
+
export type FieldValue = string | number | boolean | NodeArray | NameDictObject[] | RangeArray[] | string[] | number[];
|
|
94
|
+
/** Common interface implemented by every bibliography form field class. */
|
|
95
|
+
export interface FieldForm {
|
|
96
|
+
init(): void;
|
|
97
|
+
readonly value: unknown;
|
|
98
|
+
check(): boolean;
|
|
99
|
+
}
|
|
100
|
+
/** Constructor signature for a class that implements `FieldForm`. */
|
|
101
|
+
export interface FieldFormConstructor {
|
|
102
|
+
new (dom: HTMLElement, initialValue?: unknown, placeHolder?: string | false, fieldType?: BibFieldType): FieldForm;
|
|
103
|
+
}
|
|
104
|
+
/** Map from `BibFieldType.type` to the form field class that renders it. */
|
|
105
|
+
export type FieldFormsMap = Record<string, FieldFormConstructor | undefined>;
|
|
106
|
+
/** Object describing the current values of a bibliography entry being edited. */
|
|
107
|
+
export interface CurrentBibValues {
|
|
108
|
+
bib_type: string | false;
|
|
109
|
+
cats: number[];
|
|
110
|
+
entry_key: string;
|
|
111
|
+
fields: Record<string, unknown>;
|
|
112
|
+
}
|
|
113
|
+
/** Shape returned by `BibEntryForm.value`. */
|
|
114
|
+
export interface FormValue {
|
|
115
|
+
bib_type: string;
|
|
116
|
+
cats: (string | number)[];
|
|
117
|
+
entry_key: string;
|
|
118
|
+
fields: Record<string, unknown>;
|
|
119
|
+
}
|
|
120
|
+
/** Operations exposed by the bibliography database manager. */
|
|
121
|
+
export interface BibDBCollection {
|
|
122
|
+
db: BibDB;
|
|
123
|
+
cats: BibCategory[];
|
|
124
|
+
saveBibEntries(tmpDB: Record<number, BibDBEntry>, isNew: boolean): Promise<IdTranslation[]>;
|
|
125
|
+
saveCategories(cats: SaveCategoriesRequest): Promise<BibCategory[]>;
|
|
126
|
+
deleteBibEntries(ids: number[]): Promise<number[]>;
|
|
127
|
+
}
|
|
128
|
+
/** Subset of the main Fidus Writer app object used by bibliography code. */
|
|
129
|
+
export interface BibliographyApp {
|
|
130
|
+
bibDB: BibDBCollection;
|
|
131
|
+
isOffline: () => boolean;
|
|
132
|
+
settings: {
|
|
133
|
+
APPS: string[];
|
|
134
|
+
};
|
|
135
|
+
name: string;
|
|
136
|
+
}
|
|
137
|
+
export type { BiblioBibDB };
|
|
138
|
+
//# sourceMappingURL=biblio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biblio.d.ts","sourceRoot":"","sources":["../../src/types/biblio.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biblio.js","sourceRoot":"","sources":["../../src/types/biblio.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import {activateWait, addAlert, deactivateWait} from "fwtoolkit"
|
|
2
2
|
import {BibliographyDBServerConnector} from "./server_connector.js"
|
|
3
|
+
import type {
|
|
4
|
+
BibCategory,
|
|
5
|
+
BibDBEntry,
|
|
6
|
+
BibliographyApp,
|
|
7
|
+
IdTranslation,
|
|
8
|
+
SaveCategoriesRequest,
|
|
9
|
+
ServerBibItem
|
|
10
|
+
} from "../types/biblio.js"
|
|
3
11
|
|
|
4
12
|
const FW_LOCALSTORAGE_VERSION = "1.2"
|
|
5
13
|
|
|
6
14
|
export class BibliographyDB {
|
|
7
|
-
|
|
15
|
+
app: BibliographyApp
|
|
16
|
+
db: Record<number, BibDBEntry>
|
|
17
|
+
cats: BibCategory[]
|
|
18
|
+
sc: BibliographyDBServerConnector
|
|
19
|
+
|
|
20
|
+
constructor(app: BibliographyApp) {
|
|
8
21
|
this.app = app
|
|
9
22
|
this.db = {}
|
|
10
23
|
this.cats = []
|
|
@@ -15,16 +28,16 @@ export class BibliographyDB {
|
|
|
15
28
|
* @function getDB
|
|
16
29
|
*/
|
|
17
30
|
|
|
18
|
-
getDB() {
|
|
31
|
+
getDB(): Promise<void> {
|
|
19
32
|
const localStorageVersion = window.localStorage.getItem("version")
|
|
20
33
|
let lastModified = Number.parseInt(
|
|
21
|
-
window.localStorage.getItem("last_modified_biblist")
|
|
34
|
+
window.localStorage.getItem("last_modified_biblist") || ""
|
|
22
35
|
),
|
|
23
36
|
numberOfEntries = Number.parseInt(
|
|
24
|
-
window.localStorage.getItem("number_of_entries")
|
|
37
|
+
window.localStorage.getItem("number_of_entries") || ""
|
|
25
38
|
),
|
|
26
39
|
localStorageOwnerId = Number.parseInt(
|
|
27
|
-
window.localStorage.getItem("owner_id")
|
|
40
|
+
window.localStorage.getItem("owner_id") || ""
|
|
28
41
|
)
|
|
29
42
|
|
|
30
43
|
// A dictionary to look up bib fields by their fw type name.
|
|
@@ -54,35 +67,32 @@ export class BibliographyDB {
|
|
|
54
67
|
.then(
|
|
55
68
|
({bibCats, bibList, lastModified, numberOfEntries, userId}) => {
|
|
56
69
|
bibCats.forEach(bibCat => this.cats.push(bibCat))
|
|
70
|
+
let bibListItems: ServerBibItem[]
|
|
57
71
|
if (bibList) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} catch (error) {
|
|
77
|
-
// The local storage was likely too small
|
|
78
|
-
throw error
|
|
79
|
-
}
|
|
72
|
+
bibListItems = bibList
|
|
73
|
+
window.localStorage.setItem(
|
|
74
|
+
"biblist",
|
|
75
|
+
JSON.stringify(bibListItems)
|
|
76
|
+
)
|
|
77
|
+
window.localStorage.setItem(
|
|
78
|
+
"last_modified_biblist",
|
|
79
|
+
String(lastModified)
|
|
80
|
+
)
|
|
81
|
+
window.localStorage.setItem(
|
|
82
|
+
"number_of_entries",
|
|
83
|
+
String(numberOfEntries)
|
|
84
|
+
)
|
|
85
|
+
window.localStorage.setItem("owner_id", String(userId))
|
|
86
|
+
window.localStorage.setItem(
|
|
87
|
+
"version",
|
|
88
|
+
FW_LOCALSTORAGE_VERSION
|
|
89
|
+
)
|
|
80
90
|
} else {
|
|
81
|
-
|
|
82
|
-
window.localStorage.getItem("biblist")
|
|
91
|
+
bibListItems = JSON.parse(
|
|
92
|
+
window.localStorage.getItem("biblist") || "[]"
|
|
83
93
|
)
|
|
84
94
|
}
|
|
85
|
-
|
|
95
|
+
bibListItems.forEach(({id, bibDBEntry}) => {
|
|
86
96
|
this.db[id] = bibDBEntry
|
|
87
97
|
})
|
|
88
98
|
deactivateWait()
|
|
@@ -100,7 +110,10 @@ export class BibliographyDB {
|
|
|
100
110
|
* @function saveBibEntries
|
|
101
111
|
* @param tmpDB The bibliography DB with temporary IDs to be send to the server.
|
|
102
112
|
*/
|
|
103
|
-
saveBibEntries(
|
|
113
|
+
saveBibEntries(
|
|
114
|
+
tmpDB: Record<number, BibDBEntry>,
|
|
115
|
+
isNew: boolean
|
|
116
|
+
): Promise<IdTranslation[]> {
|
|
104
117
|
return this.sc
|
|
105
118
|
.saveBibEntries(tmpDB, isNew)
|
|
106
119
|
.then(idTranslations =>
|
|
@@ -121,10 +134,14 @@ export class BibliographyDB {
|
|
|
121
134
|
} else {
|
|
122
135
|
throw error
|
|
123
136
|
}
|
|
137
|
+
return []
|
|
124
138
|
})
|
|
125
139
|
}
|
|
126
140
|
|
|
127
|
-
updateLocalBibEntries(
|
|
141
|
+
updateLocalBibEntries(
|
|
142
|
+
tmpDB: Record<number, BibDBEntry>,
|
|
143
|
+
idTranslations: IdTranslation[]
|
|
144
|
+
): IdTranslation[] {
|
|
128
145
|
idTranslations.forEach(bibTrans => {
|
|
129
146
|
this.db[bibTrans[1]] = tmpDB[bibTrans[0]]
|
|
130
147
|
})
|
|
@@ -136,7 +153,7 @@ export class BibliographyDB {
|
|
|
136
153
|
* @function saveCategories
|
|
137
154
|
* @param cats The category objects to add.
|
|
138
155
|
*/
|
|
139
|
-
saveCategories(cats) {
|
|
156
|
+
saveCategories(cats: SaveCategoriesRequest): Promise<BibCategory[]> {
|
|
140
157
|
activateWait()
|
|
141
158
|
|
|
142
159
|
return this.sc
|
|
@@ -147,7 +164,10 @@ export class BibliographyDB {
|
|
|
147
164
|
this.cats.pop()
|
|
148
165
|
}
|
|
149
166
|
while (bibCats.length > 0) {
|
|
150
|
-
|
|
167
|
+
const cat = bibCats.pop()
|
|
168
|
+
if (cat) {
|
|
169
|
+
this.cats.push(cat)
|
|
170
|
+
}
|
|
151
171
|
}
|
|
152
172
|
addAlert("success", gettext("The categories have been updated"))
|
|
153
173
|
deactivateWait()
|
|
@@ -169,6 +189,7 @@ export class BibliographyDB {
|
|
|
169
189
|
} else {
|
|
170
190
|
throw error
|
|
171
191
|
}
|
|
192
|
+
return []
|
|
172
193
|
})
|
|
173
194
|
}
|
|
174
195
|
|
|
@@ -176,10 +197,10 @@ export class BibliographyDB {
|
|
|
176
197
|
* @function deleteCategory
|
|
177
198
|
* @param ids A list of ids to delete.
|
|
178
199
|
*/
|
|
179
|
-
deleteCategory(ids) {
|
|
200
|
+
deleteCategory(ids: number[]): Promise<number[]> {
|
|
180
201
|
return this.sc.deleteCategory(ids).then(() => {
|
|
181
202
|
const deletedPks = ids.slice()
|
|
182
|
-
const deletedBibCats = []
|
|
203
|
+
const deletedBibCats: BibCategory[] = []
|
|
183
204
|
this.cats.forEach(bibCat => {
|
|
184
205
|
if (ids.indexOf(bibCat.id) !== -1) {
|
|
185
206
|
deletedBibCats.push(bibCat)
|
|
@@ -197,9 +218,9 @@ export class BibliographyDB {
|
|
|
197
218
|
* @function deleteBibEntries
|
|
198
219
|
* @param ids A list of bibliography item ids that are to be deleted.
|
|
199
220
|
*/
|
|
200
|
-
deleteBibEntries(ids) {
|
|
221
|
+
deleteBibEntries(ids: number[]): Promise<number[]> {
|
|
201
222
|
activateWait()
|
|
202
|
-
ids = ids.map(id => Number.parseInt(id))
|
|
223
|
+
ids = ids.map(id => Number.parseInt(String(id)))
|
|
203
224
|
return this.sc
|
|
204
225
|
.deleteBibEntries(ids)
|
|
205
226
|
.then(() => {
|
|
@@ -229,6 +250,7 @@ export class BibliographyDB {
|
|
|
229
250
|
} else {
|
|
230
251
|
throw error
|
|
231
252
|
}
|
|
253
|
+
return []
|
|
232
254
|
})
|
|
233
255
|
}
|
|
234
256
|
}
|