@fiduswriter/image-manager 0.1.13 → 0.1.16
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/copyright_dialog/index.d.ts.map +1 -1
- package/dist/copyright_dialog/index.js +19 -20
- package/dist/copyright_dialog/index.js.map +1 -1
- package/dist/copyright_dialog/templates.d.ts +2 -2
- package/dist/copyright_dialog/templates.d.ts.map +1 -1
- package/dist/copyright_dialog/templates.js +3 -3
- package/dist/copyright_dialog/templates.js.map +1 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +7 -8
- package/dist/database.js.map +1 -1
- package/dist/edit_dialog/index.d.ts.map +1 -1
- package/dist/edit_dialog/index.js +25 -23
- package/dist/edit_dialog/index.js.map +1 -1
- package/dist/edit_dialog/model.d.ts.map +1 -1
- package/dist/edit_dialog/model.js +14 -18
- package/dist/edit_dialog/model.js.map +1 -1
- package/dist/edit_dialog/templates.d.ts.map +1 -1
- package/dist/edit_dialog/templates.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/overview/categories.d.ts.map +1 -1
- package/dist/overview/categories.js +17 -20
- package/dist/overview/categories.js.map +1 -1
- package/dist/overview/index.d.ts.map +1 -1
- package/dist/overview/index.js +3 -2
- package/dist/overview/index.js.map +1 -1
- package/dist/overview/menu.d.ts.map +1 -1
- package/dist/overview/menu.js +13 -15
- package/dist/overview/menu.js.map +1 -1
- package/dist/selection_dialog/index.d.ts.map +1 -1
- package/dist/selection_dialog/index.js +22 -26
- package/dist/selection_dialog/index.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -4
- package/src/copyright_dialog/index.ts +177 -186
- package/src/copyright_dialog/templates.ts +26 -19
- package/src/database.ts +61 -68
- package/src/edit_dialog/index.ts +261 -251
- package/src/edit_dialog/model.ts +220 -220
- package/src/edit_dialog/templates.ts +22 -22
- package/src/index.ts +5 -4
- package/src/overview/categories.ts +106 -116
- package/src/overview/index.ts +2 -2
- package/src/overview/menu.ts +77 -77
- package/src/selection_dialog/index.ts +197 -207
- package/src/types.ts +79 -65
package/src/database.ts
CHANGED
|
@@ -1,83 +1,76 @@
|
|
|
1
|
-
import {activateWait, addAlert, deactivateWait, gettext
|
|
1
|
+
import { activateWait, addAlert, deactivateWait, gettext } from "fwtoolkit";
|
|
2
2
|
|
|
3
3
|
import type {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
SaveImageResponse
|
|
10
|
-
} from "./types.js"
|
|
4
|
+
Image,
|
|
5
|
+
ImageCategory,
|
|
6
|
+
ImageManagerApp,
|
|
7
|
+
SaveImageRequest,
|
|
8
|
+
} from "./types.js";
|
|
11
9
|
|
|
12
10
|
/* A class that holds information about images uploaded by the user. */
|
|
13
11
|
|
|
14
12
|
export class ImageDB {
|
|
15
|
-
|
|
13
|
+
app: ImageManagerApp;
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
db: Record<number, Image>;
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
cats: ImageCategory[];
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
constructor(app: ImageManagerApp) {
|
|
20
|
+
this.app = app;
|
|
21
|
+
this.db = {};
|
|
22
|
+
this.cats = [];
|
|
23
|
+
}
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
getDB(): Promise<void> {
|
|
26
|
+
this.db = {};
|
|
27
|
+
this.cats = [];
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
activateWait();
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
31
|
+
return this.app.apiConnectors.image.getImages().then((response) => {
|
|
32
|
+
this.cats = response.imageCategories;
|
|
33
|
+
response.images.forEach((image) => {
|
|
34
|
+
this.db[image.id] = image;
|
|
35
|
+
});
|
|
36
|
+
deactivateWait();
|
|
37
|
+
return;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
saveImage(imageData: SaveImageRequest): Promise<number> {
|
|
42
|
+
activateWait();
|
|
43
|
+
const { image, ...jsonData } = imageData;
|
|
47
44
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
deactivateWait()
|
|
80
|
-
throw error
|
|
81
|
-
})
|
|
82
|
-
}
|
|
45
|
+
return this.app.apiConnectors.image
|
|
46
|
+
.saveImage(jsonData as SaveImageRequest, image ? { image } : {})
|
|
47
|
+
.then((response) => {
|
|
48
|
+
deactivateWait();
|
|
49
|
+
if (Object.keys(response.errormsg).length) {
|
|
50
|
+
return Promise.reject(new Error(response.errormsg.error));
|
|
51
|
+
} else {
|
|
52
|
+
this.db[response.values.id] = response.values;
|
|
53
|
+
return response.values.id;
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
.catch((error) => {
|
|
57
|
+
const networkError = error as {
|
|
58
|
+
status?: number;
|
|
59
|
+
message?: string;
|
|
60
|
+
statusText?: string;
|
|
61
|
+
};
|
|
62
|
+
if (networkError.status === 413) {
|
|
63
|
+
addAlert(
|
|
64
|
+
"error",
|
|
65
|
+
`${gettext("Image is larger than the maximum permitted size")}${this.app.settings?.MEDIA_MAX_SIZE ? `: ${Number.parseInt(String(this.app.settings.MEDIA_MAX_SIZE / 1000000))}MB` : "."}`,
|
|
66
|
+
);
|
|
67
|
+
} else if (networkError.message) {
|
|
68
|
+
addAlert("error", gettext(networkError.message));
|
|
69
|
+
} else {
|
|
70
|
+
addAlert("error", gettext(networkError.statusText || ""));
|
|
71
|
+
}
|
|
72
|
+
deactivateWait();
|
|
73
|
+
throw error;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
83
76
|
}
|