@fiduswriter/image-manager 0.1.12 → 0.1.14

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