@wizishop/img-manager 18.2.0 → 18.2.2-beta

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 (177) hide show
  1. package/esm2022/lib/components/canva-btn/canva-btn.component.mjs +73 -0
  2. package/esm2022/lib/components/images-view/images-actions-handler.mjs +168 -0
  3. package/esm2022/lib/components/images-view/images-view.component.mjs +391 -0
  4. package/esm2022/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +70 -0
  5. package/esm2022/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +73 -0
  6. package/esm2022/lib/components/images-view/table-view/table-view.component.mjs +48 -0
  7. package/esm2022/lib/components/img-editor/cropper/cropper.component.mjs +313 -0
  8. package/esm2022/lib/components/img-editor/img-editor.component.mjs +129 -0
  9. package/esm2022/lib/components/img-editor/info-section/info-section.component.mjs +58 -0
  10. package/esm2022/lib/components/img-selection/img-selection.component.mjs +58 -0
  11. package/esm2022/lib/components/img-tabs/img-tabs.component.mjs +128 -0
  12. package/esm2022/lib/components/img-upload/img-upload.component.mjs +133 -0
  13. package/esm2022/lib/components/loader/loader.component.mjs +21 -0
  14. package/esm2022/lib/components/pexels-lib/pexels-lib.component.mjs +211 -0
  15. package/esm2022/lib/components/shared/alert/alert.component.mjs +26 -0
  16. package/esm2022/lib/components/shared/checkbox/checkbox.component.mjs +56 -0
  17. package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
  18. package/esm2022/lib/components/shared/input-search/input-search.component.mjs +53 -0
  19. package/esm2022/lib/components/shared/pagination/page-selector/page-selector.component.mjs +50 -0
  20. package/esm2022/lib/components/shared/pagination/pagination.component.mjs +49 -0
  21. package/esm2022/lib/components/shared/select/select.component.mjs +117 -0
  22. package/esm2022/lib/components/shared/table/table.component.mjs +124 -0
  23. package/esm2022/lib/components/upload-list/upload-list.component.mjs +85 -0
  24. package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +41 -0
  25. package/{esm2020 → esm2022}/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +5 -5
  26. package/esm2022/lib/directives/auto-hide.directive.mjs +51 -0
  27. package/esm2022/lib/directives/copy-to-clipboard.directive.mjs +36 -0
  28. package/esm2022/lib/directives/drag-drop.directive.mjs +55 -0
  29. package/esm2022/lib/directives/loading.directive.mjs +43 -0
  30. package/esm2022/lib/directives/table/checkBoxRow.directive.mjs +130 -0
  31. package/esm2022/lib/directives/table/column.directive.mjs +50 -0
  32. package/esm2022/lib/directives/table/columnHeader.directive.mjs +215 -0
  33. package/esm2022/lib/directives/table/raw.directive.mjs +34 -0
  34. package/esm2022/lib/directives/zindex-toggle.directive.mjs +45 -0
  35. package/esm2022/lib/dto/canva-create-design.dto.mjs +9 -0
  36. package/esm2022/lib/dto/canva.dto.mjs +6 -0
  37. package/esm2022/lib/dto/config/apis/api.dto.mjs +11 -0
  38. package/esm2022/lib/dto/config/external/external-config.dto.mjs +5 -0
  39. package/esm2022/lib/dto/wizi-block-media.dto.mjs +7 -0
  40. package/esm2022/lib/pipes/images/img-src.pipe.mjs +29 -0
  41. package/{esm2020 → esm2022}/lib/pipes/number-to-array.pipe.mjs +4 -4
  42. package/esm2022/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
  43. package/esm2022/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
  44. package/esm2022/lib/pipes/pagination/text/custom-text.pipe.mjs +36 -0
  45. package/esm2022/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
  46. package/{esm2020 → esm2022}/lib/pipes/select/select-filters.pipe.mjs +4 -4
  47. package/esm2022/lib/services/alert.service.mjs +53 -0
  48. package/{esm2020 → esm2022}/lib/services/api.service.mjs +4 -4
  49. package/esm2022/lib/services/canva.service.mjs +165 -0
  50. package/esm2022/lib/services/config/img-cdn.service.mjs +21 -0
  51. package/esm2022/lib/services/dom.service.mjs +31 -0
  52. package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/services/image-not-found.service.mjs +4 -4
  54. package/esm2022/lib/services/img-event.service.mjs +33 -0
  55. package/esm2022/lib/services/img-manager.service.mjs +134 -0
  56. package/esm2022/lib/services/img-selection.service.mjs +75 -0
  57. package/esm2022/lib/services/pexels.service.mjs +66 -0
  58. package/esm2022/lib/services/rename-picture.service.mjs +66 -0
  59. package/esm2022/lib/services/snackbar.service.mjs +67 -0
  60. package/esm2022/lib/services/table/filters-table.service.mjs +61 -0
  61. package/esm2022/lib/services/upload.service.mjs +20 -0
  62. package/esm2022/lib/services/user-settings.service.mjs +23 -0
  63. package/esm2022/lib/wz-img-manager.component.mjs +209 -0
  64. package/{esm2020 → esm2022}/lib/wz-img-manager.module.mjs +61 -61
  65. package/{fesm2020 → fesm2022}/wizishop-img-manager.mjs +1018 -830
  66. package/fesm2022/wizishop-img-manager.mjs.map +1 -0
  67. package/lib/components/canva-btn/canva-btn.component.d.ts +1 -1
  68. package/lib/components/images-view/images-actions-handler.d.ts +2 -1
  69. package/lib/components/images-view/images-view.component.d.ts +4 -9
  70. package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +1 -1
  71. package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +1 -1
  72. package/lib/components/img-editor/cropper/cropper.component.d.ts +1 -1
  73. package/lib/components/img-editor/img-editor.component.d.ts +1 -1
  74. package/lib/components/img-editor/info-section/info-section.component.d.ts +1 -1
  75. package/lib/components/img-selection/img-selection.component.d.ts +4 -5
  76. package/lib/components/img-tabs/img-tabs.component.d.ts +1 -1
  77. package/lib/components/img-upload/img-upload.component.d.ts +1 -1
  78. package/lib/components/loader/loader.component.d.ts +1 -1
  79. package/lib/components/pexels-lib/pexels-lib.component.d.ts +1 -1
  80. package/lib/components/shared/alert/alert.component.d.ts +1 -1
  81. package/lib/components/shared/checkbox/checkbox.component.d.ts +1 -1
  82. package/lib/components/shared/dropdown/dropdown.component.d.ts +1 -1
  83. package/lib/components/shared/input-search/input-search.component.d.ts +1 -1
  84. package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +1 -1
  85. package/lib/components/shared/pagination/pagination.component.d.ts +1 -1
  86. package/lib/components/shared/select/select.component.d.ts +1 -1
  87. package/lib/components/shared/table/table.component.d.ts +1 -1
  88. package/lib/components/upload-list/upload-list.component.d.ts +1 -1
  89. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
  90. package/lib/directives/auto-hide.directive.d.ts +1 -1
  91. package/lib/directives/copy-to-clipboard.directive.d.ts +1 -1
  92. package/lib/directives/table/checkBoxRow.directive.d.ts +1 -1
  93. package/lib/directives/table/column.directive.d.ts +1 -1
  94. package/lib/directives/table/columnHeader.directive.d.ts +1 -1
  95. package/lib/directives/zindex-toggle.directive.d.ts +1 -1
  96. package/lib/wz-img-manager.component.d.ts +3 -3
  97. package/package.json +6 -12
  98. package/wizishop-img-manager-18.2.2-beta.tgz +0 -0
  99. package/wz-img-manager.scss +77 -60
  100. package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +0 -67
  101. package/esm2020/lib/components/images-view/images-actions-handler.mjs +0 -154
  102. package/esm2020/lib/components/images-view/images-view.component.mjs +0 -369
  103. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +0 -66
  104. package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +0 -71
  105. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +0 -48
  106. package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +0 -307
  107. package/esm2020/lib/components/img-editor/img-editor.component.mjs +0 -124
  108. package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +0 -54
  109. package/esm2020/lib/components/img-selection/img-selection.component.mjs +0 -53
  110. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +0 -122
  111. package/esm2020/lib/components/img-upload/img-upload.component.mjs +0 -126
  112. package/esm2020/lib/components/loader/loader.component.mjs +0 -21
  113. package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +0 -203
  114. package/esm2020/lib/components/shared/alert/alert.component.mjs +0 -27
  115. package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +0 -52
  116. package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +0 -21
  117. package/esm2020/lib/components/shared/input-search/input-search.component.mjs +0 -54
  118. package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +0 -49
  119. package/esm2020/lib/components/shared/pagination/pagination.component.mjs +0 -49
  120. package/esm2020/lib/components/shared/select/select.component.mjs +0 -110
  121. package/esm2020/lib/components/shared/table/table.component.mjs +0 -116
  122. package/esm2020/lib/components/upload-list/upload-list.component.mjs +0 -79
  123. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +0 -37
  124. package/esm2020/lib/directives/auto-hide.directive.mjs +0 -48
  125. package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +0 -37
  126. package/esm2020/lib/directives/drag-drop.directive.mjs +0 -57
  127. package/esm2020/lib/directives/loading.directive.mjs +0 -42
  128. package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +0 -114
  129. package/esm2020/lib/directives/table/column.directive.mjs +0 -45
  130. package/esm2020/lib/directives/table/columnHeader.directive.mjs +0 -204
  131. package/esm2020/lib/directives/table/raw.directive.mjs +0 -31
  132. package/esm2020/lib/directives/zindex-toggle.directive.mjs +0 -42
  133. package/esm2020/lib/dto/canva-create-design.dto.mjs +0 -4
  134. package/esm2020/lib/dto/canva.dto.mjs +0 -4
  135. package/esm2020/lib/dto/config/apis/api.dto.mjs +0 -9
  136. package/esm2020/lib/dto/config/external/external-config.dto.mjs +0 -3
  137. package/esm2020/lib/dto/wizi-block-media.dto.mjs +0 -3
  138. package/esm2020/lib/pipes/images/img-src.pipe.mjs +0 -28
  139. package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +0 -28
  140. package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +0 -53
  141. package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +0 -35
  142. package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +0 -25
  143. package/esm2020/lib/services/alert.service.mjs +0 -50
  144. package/esm2020/lib/services/canva.service.mjs +0 -159
  145. package/esm2020/lib/services/config/img-cdn.service.mjs +0 -23
  146. package/esm2020/lib/services/dom.service.mjs +0 -33
  147. package/esm2020/lib/services/img-event.service.mjs +0 -35
  148. package/esm2020/lib/services/img-manager.service.mjs +0 -136
  149. package/esm2020/lib/services/img-selection.service.mjs +0 -76
  150. package/esm2020/lib/services/pexels.service.mjs +0 -62
  151. package/esm2020/lib/services/rename-picture.service.mjs +0 -63
  152. package/esm2020/lib/services/snackbar.service.mjs +0 -64
  153. package/esm2020/lib/services/table/filters-table.service.mjs +0 -60
  154. package/esm2020/lib/services/upload.service.mjs +0 -22
  155. package/esm2020/lib/services/user-settings.service.mjs +0 -25
  156. package/esm2020/lib/wz-img-manager.component.mjs +0 -192
  157. package/fesm2015/wizishop-img-manager.mjs +0 -4035
  158. package/fesm2015/wizishop-img-manager.mjs.map +0 -1
  159. package/fesm2020/wizishop-img-manager.mjs.map +0 -1
  160. package/wizishop-img-manager-18.2.0.tgz +0 -0
  161. /package/{esm2020 → esm2022}/lib/animations/easeInOut/ease-in-out.animation.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/animations/insertRemove/insert-remove.animation.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/animations/listAnnimation/list.animation.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/components/shared/select/call-to-action.model.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/components/shared/select/select-items.dto.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/dto/ImgManagerDisplayConfig.dto.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/dto/config/img-manager.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/dto/export-dtos.api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/dto/img-editor-config.dto.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/dto/img-manager.dto.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/dto/pexels-img.dto.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/dto/picture-name-update.dto.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/dto/stateDisplayed.dto.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/dto/tabDisplayed.dto.mjs +0 -0
  176. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  177. /package/{esm2020 → esm2022}/wizishop-img-manager.mjs +0 -0
@@ -0,0 +1,75 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ImgSelectionService {
5
+ multipleImgMode = false;
6
+ imgSelection$ = new BehaviorSubject([]);
7
+ imgSelectedListLoading$ = new BehaviorSubject(false);
8
+ constructor() { }
9
+ getImgSelection() {
10
+ return this.imgSelection$.getValue();
11
+ }
12
+ // Use in img manager webelement, when the product img selection is retrieved
13
+ setImgSelection(imgSelectedList) {
14
+ this.imgSelection$.next(imgSelectedList || []);
15
+ }
16
+ addImgSelected(picture) {
17
+ if (this.multipleImgMode) {
18
+ this.imgSelection$.next([...this.imgSelection$.getValue(), picture]);
19
+ }
20
+ else {
21
+ this.imgSelection$.next([picture]);
22
+ }
23
+ }
24
+ removeImgSelectedByIndex(index) {
25
+ const imgSelectedList = this.imgSelection$.getValue();
26
+ imgSelectedList.splice(index, 1);
27
+ this.imgSelection$.next(imgSelectedList);
28
+ }
29
+ removeImgSelectedById(id_file) {
30
+ if (!this.multipleImgMode) {
31
+ this.imgSelection$.next([]);
32
+ return;
33
+ }
34
+ this.imgSelection$.next(this.imgSelection$.getValue().filter(img => img.id_file !== id_file));
35
+ }
36
+ removeImgSelectionByIds(id_file_list) {
37
+ if (!this.multipleImgMode) {
38
+ this.imgSelection$.next([]);
39
+ return;
40
+ }
41
+ this.imgSelection$.next(this.imgSelection$.getValue().filter(img => id_file_list.includes(img.id_file)));
42
+ }
43
+ removeAllImgSelected() {
44
+ this.imgSelection$.next([]);
45
+ }
46
+ setMultipleImgMode(activated) {
47
+ this.multipleImgMode = activated;
48
+ }
49
+ initImgSelectedList(imgSelectedList) {
50
+ // Retrieve the imgSelectedList from parameter
51
+ if (imgSelectedList) {
52
+ this.imgSelection$.next(imgSelectedList);
53
+ return;
54
+ }
55
+ this.imgSelection$.next([]);
56
+ }
57
+ /**
58
+ * Use angular cdk function
59
+ * Called by img selection component
60
+ * @param event
61
+ */
62
+ moveImgOrder(event) {
63
+ const fromIndex = event.previousIndex;
64
+ const toIndex = event.currentIndex;
65
+ const imgSelectedList = this.imgSelection$.getValue();
66
+ imgSelectedList.splice(toIndex, 0, imgSelectedList.splice(fromIndex, 1)[0]);
67
+ this.imgSelection$.next(imgSelectedList);
68
+ }
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
70
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgSelectionService });
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgSelectionService, decorators: [{
73
+ type: Injectable
74
+ }], ctorParameters: () => [] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJdkMsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLGFBQWEsR0FBcUMsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLHVCQUF1QixHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUV4RixnQkFBZSxDQUFDO0lBRWhCLGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxlQUFlLENBQUMsZUFBZ0M7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxjQUFjLENBQUMsT0FBdUI7UUFDbEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWE7UUFDbEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUU3QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsT0FBZTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELHVCQUF1QixDQUFDLFlBQXNCO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsZUFBZ0M7UUFDaEQsOENBQThDO1FBQzlDLElBQUksZUFBZSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxLQUE0QjtRQUNyQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDbkMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QyxDQUFDO3VHQTVFUSxtQkFBbUI7MkdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW1nU2VsZWN0aW9uU2VydmljZSB7XHJcblxyXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpbWdTZWxlY3Rpb24kOiBCZWhhdmlvclN1YmplY3Q8SW1nUGljdHVyZURUT1tdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW1nUGljdHVyZURUT1tdPihbXSk7XHJcbiAgICBpbWdTZWxlY3RlZExpc3RMb2FkaW5nJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIGdldEltZ1NlbGVjdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXNlIGluIGltZyBtYW5hZ2VyIHdlYmVsZW1lbnQsIHdoZW4gdGhlIHByb2R1Y3QgaW1nIHNlbGVjdGlvbiBpcyByZXRyaWV2ZWRcclxuICAgIHNldEltZ1NlbGVjdGlvbihpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xyXG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KGltZ1NlbGVjdGVkTGlzdCB8fCBbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkSW1nU2VsZWN0ZWQocGljdHVyZSA6IEltZ1BpY3R1cmVEVE8pIHtcclxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZUltZ01vZGUpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoWy4uLnRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpLCBwaWN0dXJlXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW3BpY3R1cmVdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlSW1nU2VsZWN0ZWRCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCBpbWdTZWxlY3RlZExpc3QgPSB0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKTtcclxuICAgICAgICBpbWdTZWxlY3RlZExpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChpbWdTZWxlY3RlZExpc3QpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVJbWdTZWxlY3RlZEJ5SWQoaWRfZmlsZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQodGhpcy5pbWdTZWxlY3Rpb24kLmdldFZhbHVlKCkuZmlsdGVyKGltZyA9PiBpbWcuaWRfZmlsZSAhPT0gaWRfZmlsZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkX2ZpbGVfbGlzdDogc3RyaW5nW10pIHtcclxuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGVJbWdNb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uJC5uZXh0KFtdKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dCh0aGlzLmltZ1NlbGVjdGlvbiQuZ2V0VmFsdWUoKS5maWx0ZXIoaW1nID0+IGlkX2ZpbGVfbGlzdC5pbmNsdWRlcyhpbWcuaWRfZmlsZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBbGxJbWdTZWxlY3RlZCgpIHsgLy8gVE9ETyB0ZXN0IGl0XHJcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoW10pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE11bHRpcGxlSW1nTW9kZShhY3RpdmF0ZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLm11bHRpcGxlSW1nTW9kZSA9IGFjdGl2YXRlZDtcclxuICAgIH1cclxuXHJcbiAgICBpbml0SW1nU2VsZWN0ZWRMaXN0KGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdKSB7XHJcbiAgICAgICAgLy8gUmV0cmlldmUgdGhlIGltZ1NlbGVjdGVkTGlzdCBmcm9tIHBhcmFtZXRlclxyXG4gICAgICAgIGlmIChpbWdTZWxlY3RlZExpc3QpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb24kLm5leHQoaW1nU2VsZWN0ZWRMaXN0KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVc2UgYW5ndWxhciBjZGsgZnVuY3Rpb25cclxuICAgICAqIENhbGxlZCBieSBpbWcgc2VsZWN0aW9uIGNvbXBvbmVudFxyXG4gICAgICogQHBhcmFtIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIG1vdmVJbWdPcmRlcihldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICAgICAgY29uc3QgZnJvbUluZGV4ID0gZXZlbnQucHJldmlvdXNJbmRleDtcclxuICAgICAgICBjb25zdCB0b0luZGV4ID0gZXZlbnQuY3VycmVudEluZGV4O1xyXG4gICAgICAgIGNvbnN0IGltZ1NlbGVjdGVkTGlzdCA9IHRoaXMuaW1nU2VsZWN0aW9uJC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIGltZ1NlbGVjdGVkTGlzdC5zcGxpY2UodG9JbmRleCwgMCwgaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdKTtcclxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvbiQubmV4dChpbWdTZWxlY3RlZExpc3QpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,66 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
3
+ import { map } from "rxjs/operators";
4
+ import { TranslateService } from '@ngx-translate/core';
5
+ import { ApiService } from './api.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "./api.service";
9
+ import * as i3 from "@ngx-translate/core";
10
+ export class PexelsService {
11
+ http;
12
+ apiService;
13
+ translateService;
14
+ get apiBaseUrl() {
15
+ return this.apiService.CONFIG.pexels_route;
16
+ }
17
+ ;
18
+ get apiKey() {
19
+ return this.apiService.CONFIG.pexels_token;
20
+ }
21
+ lang;
22
+ languages = { 'fr': 'fr-FR', 'en': 'en-US', 'it': 'it-IT', 'es': 'es-ES' };
23
+ constructor(http, apiService, translateService) {
24
+ this.http = http;
25
+ this.apiService = apiService;
26
+ this.translateService = translateService;
27
+ this.setLang(this.translateService.currentLang);
28
+ this.translateService.onLangChange.subscribe(langData => {
29
+ this.setLang(langData.lang);
30
+ });
31
+ }
32
+ setLang(lang) {
33
+ this.lang = this.languages[lang] ? this.languages[lang] : 'fr-FR';
34
+ }
35
+ searchOnPexels(toSearch, perPage, page) {
36
+ const httpOptions = {
37
+ headers: new HttpHeaders({
38
+ Authorization: this.apiKey
39
+ })
40
+ };
41
+ let request;
42
+ // If search value is not empty or blank
43
+ if (toSearch && !/^\s*$/.test(toSearch)) {
44
+ request = `/search?query=${toSearch}&per_page=${perPage}&page=${page}&locale=${this.lang}`;
45
+ }
46
+ else { // Search by category or display Pexels selection
47
+ const shopCategory = this.apiService.getShopCategory();
48
+ // Search by shop category
49
+ if (shopCategory && shopCategory !== 'other' && shopCategory !== 'btob' && shopCategory !== 'default') {
50
+ request = `/search?query=${shopCategory}&per_page=${perPage}&page=${page}&locale=en-US`;
51
+ }
52
+ else { // Display Pexels selection
53
+ request = `/curated?per_page=${perPage}&page=${page}`;
54
+ }
55
+ }
56
+ return this.http.get(this.apiBaseUrl + request, httpOptions).pipe(map((data) => {
57
+ return data;
58
+ }));
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PexelsService, deps: [{ token: i1.HttpClient }, { token: i2.ApiService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PexelsService });
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PexelsService, decorators: [{
64
+ type: Injectable
65
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiService }, { type: i3.TranslateService }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3BleGVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFHM0MsTUFBTSxPQUFPLGFBQWE7SUFXZDtJQUNBO0lBQ0E7SUFaVixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM3QyxDQUFDO0lBQUEsQ0FBQztJQUNGLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFJLENBQVM7SUFDYixTQUFTLEdBQUcsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7SUFFekUsWUFDVSxJQUFnQixFQUNoQixVQUFzQixFQUN0QixnQkFBa0M7UUFGbEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkUsQ0FBQztJQUVGLGNBQWMsQ0FBQyxRQUFnQixFQUFFLE9BQWUsRUFBRSxJQUFZO1FBQzVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQzNCLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUM7UUFFWix3Q0FBd0M7UUFDeEMsSUFBSSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxHQUFHLGlCQUFpQixRQUFRLGFBQWEsT0FBTyxTQUFTLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFN0YsQ0FBQzthQUFNLENBQUMsQ0FBQyxpREFBaUQ7WUFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV2RCwwQkFBMEI7WUFDMUIsSUFBSSxZQUFZLElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxZQUFZLEtBQUssTUFBTSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEcsT0FBTyxHQUFHLGlCQUFpQixZQUFZLGFBQWEsT0FBTyxTQUFTLElBQUksZUFBZSxDQUFDO1lBQzFGLENBQUM7aUJBQU0sQ0FBQyxDQUFDLDJCQUEyQjtnQkFDbEMsT0FBTyxHQUFHLHFCQUFxQixPQUFPLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDeEQsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7dUdBdERVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1d6SW1nTGliRHRvfSBmcm9tIFwiLi4vZHRvL3BleGVscy1pbWcuZHRvXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUGV4ZWxzU2VydmljZSB7XHJcbiAgZ2V0IGFwaUJhc2VVcmwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLkNPTkZJRy5wZXhlbHNfcm91dGU7XHJcbiAgfTtcclxuICBnZXQgYXBpS2V5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5DT05GSUcucGV4ZWxzX3Rva2VuO1xyXG4gIH1cclxuICBsYW5nOiBzdHJpbmc7XHJcbiAgbGFuZ3VhZ2VzID0geydmcic6ICdmci1GUicsICdlbic6ICdlbi1VUycsICdpdCc6ICdpdC1JVCcsICdlcyc6ICdlcy1FUyd9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5zZXRMYW5nKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZShsYW5nRGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0TGFuZyhsYW5nRGF0YS5sYW5nKTtcclxuICAgIH0pXHJcbiAgIH1cclxuXHJcbiAgIHNldExhbmcobGFuZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmxhbmd1YWdlc1tsYW5nXSA/IHRoaXMubGFuZ3VhZ2VzW2xhbmddIDogJ2ZyLUZSJztcclxuICAgfVxyXG5cclxuICBzZWFyY2hPblBleGVscyh0b1NlYXJjaDogc3RyaW5nLCBwZXJQYWdlOiBudW1iZXIsIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8V3pJbWdMaWJEdG8+IHtcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuYXBpS2V5XHJcbiAgICAgIH0pXHJcbiAgICB9O1xyXG5cclxuICAgIGxldCByZXF1ZXN0O1xyXG5cclxuICAgIC8vIElmIHNlYXJjaCB2YWx1ZSBpcyBub3QgZW1wdHkgb3IgYmxhbmtcclxuICAgIGlmICh0b1NlYXJjaCAmJiAhL15cXHMqJC8udGVzdCh0b1NlYXJjaCkpIHtcclxuICAgICAgcmVxdWVzdCA9IGAvc2VhcmNoP3F1ZXJ5PSR7dG9TZWFyY2h9JnBlcl9wYWdlPSR7cGVyUGFnZX0mcGFnZT0ke3BhZ2V9JmxvY2FsZT0ke3RoaXMubGFuZ31gO1xyXG5cclxuICAgIH0gZWxzZSB7IC8vIFNlYXJjaCBieSBjYXRlZ29yeSBvciBkaXNwbGF5IFBleGVscyBzZWxlY3Rpb25cclxuICAgICAgY29uc3Qgc2hvcENhdGVnb3J5ID0gdGhpcy5hcGlTZXJ2aWNlLmdldFNob3BDYXRlZ29yeSgpO1xyXG5cclxuICAgICAgLy8gU2VhcmNoIGJ5IHNob3AgY2F0ZWdvcnlcclxuICAgICAgaWYgKHNob3BDYXRlZ29yeSAmJiBzaG9wQ2F0ZWdvcnkgIT09ICdvdGhlcicgJiYgc2hvcENhdGVnb3J5ICE9PSAnYnRvYicgJiYgc2hvcENhdGVnb3J5ICE9PSAnZGVmYXVsdCcpIHtcclxuICAgICAgICByZXF1ZXN0ID0gYC9zZWFyY2g/cXVlcnk9JHtzaG9wQ2F0ZWdvcnl9JnBlcl9wYWdlPSR7cGVyUGFnZX0mcGFnZT0ke3BhZ2V9JmxvY2FsZT1lbi1VU2A7XHJcbiAgICAgIH0gZWxzZSB7IC8vIERpc3BsYXkgUGV4ZWxzIHNlbGVjdGlvblxyXG4gICAgICAgIHJlcXVlc3QgPSBgL2N1cmF0ZWQ/cGVyX3BhZ2U9JHtwZXJQYWdlfSZwYWdlPSR7cGFnZX1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5hcGlCYXNlVXJsICsgcmVxdWVzdCwgaHR0cE9wdGlvbnMpLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogV3pJbWdMaWJEdG8pID0+IHtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,66 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AlertService } from './alert.service';
3
+ import { ApiService } from './api.service';
4
+ import { ImgManagerService } from './img-manager.service';
5
+ import { tap } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./api.service";
8
+ import * as i2 from "./alert.service";
9
+ import * as i3 from "./img-manager.service";
10
+ export class RenamePictureService {
11
+ apiService;
12
+ alertService;
13
+ imgManagerService;
14
+ picturesList = [];
15
+ errorRenameImg = 'ImgManager.ImgList.errorRenameImg';
16
+ msgSavingImgName = 'ImgManager.ImgLib.savingImgName';
17
+ msgImgNameSaved = 'ImgManager.ImgLib.imgNameSaved';
18
+ constructor(apiService, alertService, imgManagerService) {
19
+ this.apiService = apiService;
20
+ this.alertService = alertService;
21
+ this.imgManagerService = imgManagerService;
22
+ }
23
+ setPicturesList(picturesList) {
24
+ this.picturesList = picturesList;
25
+ }
26
+ renamePicture(pictureNameUpdate) {
27
+ const picture = this.getPictureById(pictureNameUpdate.id);
28
+ if (!picture) {
29
+ this.alertService.openAlert(this.errorRenameImg);
30
+ return;
31
+ }
32
+ this.alertService.openAlert(this.msgSavingImgName);
33
+ this.apiService
34
+ .changeImgName(picture.display_name, picture.id_file).pipe(tap(() => this.imgManagerService.refreshImageList$.next()))
35
+ .subscribe({
36
+ next: (data) => {
37
+ picture.display_name = data.display_name;
38
+ this.alertService.openAlert(this.msgImgNameSaved);
39
+ },
40
+ error: () => {
41
+ picture.display_name = pictureNameUpdate.previousName;
42
+ this.alertService.openAlert(this.errorRenameImg);
43
+ }
44
+ });
45
+ }
46
+ changeImageName(name, idFile) {
47
+ return this.apiService.changeImgName(name, idFile).pipe(tap(() => this.imgManagerService.refreshImageList$.next()));
48
+ }
49
+ getPictureById(id_file) {
50
+ if (!this.picturesList) {
51
+ return;
52
+ }
53
+ for (const picture of this.picturesList) {
54
+ if (picture.id_file === id_file) {
55
+ return picture;
56
+ }
57
+ }
58
+ return null;
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: RenamePictureService, deps: [{ token: i1.ApiService }, { token: i2.AlertService }, { token: i3.ImgManagerService }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: RenamePictureService });
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: RenamePictureService, decorators: [{
64
+ type: Injectable
65
+ }], ctorParameters: () => [{ type: i1.ApiService }, { type: i2.AlertService }, { type: i3.ImgManagerService }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLXBpY3R1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRzNCLE1BQU0sT0FBTyxvQkFBb0I7SUFRbkI7SUFDQTtJQUNBO0lBUkYsWUFBWSxHQUFvQixFQUFFLENBQUM7SUFDbkMsY0FBYyxHQUFHLG1DQUFtQyxDQUFDO0lBQ3JELGdCQUFnQixHQUFHLGlDQUFpQyxDQUFDO0lBQ3JELGVBQWUsR0FBRyxnQ0FBZ0MsQ0FBQztJQUUzRCxZQUNVLFVBQXNCLEVBQ3RCLFlBQTBCLEVBQzFCLGlCQUFvQztRQUZwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFFN0MsQ0FBQztJQUVGLGVBQWUsQ0FBQyxZQUE2QjtRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYSxDQUFDLGlCQUFvQztRQUM5QyxNQUFNLE9BQU8sR0FBa0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVTthQUNaLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDM0Q7YUFDQSxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxJQUFtQixFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBSSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNyRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWU7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLElBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3VHQTNEUSxvQkFBb0I7MkdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSB9IGZyb20gJy4uL2R0by9waWN0dXJlLW5hbWUtdXBkYXRlLmR0byc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJlbmFtZVBpY3R1cmVTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIHBpY3R1cmVzTGlzdDogSW1nUGljdHVyZURUT1tdID0gW107XHJcbiAgICBwcml2YXRlIGVycm9yUmVuYW1lSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGlzdC5lcnJvclJlbmFtZUltZyc7XHJcbiAgICBwcml2YXRlIG1zZ1NhdmluZ0ltZ05hbWUgPSAnSW1nTWFuYWdlci5JbWdMaWIuc2F2aW5nSW1nTmFtZSc7XHJcbiAgICBwcml2YXRlIG1zZ0ltZ05hbWVTYXZlZCA9ICdJbWdNYW5hZ2VyLkltZ0xpYi5pbWdOYW1lU2F2ZWQnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlXHJcbiAgICApXHJcbiAgICB7fVxyXG5cclxuICAgIHNldFBpY3R1cmVzTGlzdChwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSkgeyAvLyB0b2RvIGdldCBmcm9tIGltZyBtYW5hZ2VyIHNlcnZpY2VcclxuICAgICAgICB0aGlzLnBpY3R1cmVzTGlzdCA9IHBpY3R1cmVzTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICByZW5hbWVQaWN0dXJlKHBpY3R1cmVOYW1lVXBkYXRlOiBQaWN0dXJlTmFtZVVwZGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHBpY3R1cmU6IEltZ1BpY3R1cmVEVE8gPSB0aGlzLmdldFBpY3R1cmVCeUlkKHBpY3R1cmVOYW1lVXBkYXRlLmlkKTtcclxuICAgICAgICBpZiAoIXBpY3R1cmUpIHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmVuYW1lSW1nKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMubXNnU2F2aW5nSW1nTmFtZSk7XHJcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlXHJcbiAgICAgICAgICAuY2hhbmdlSW1nTmFtZShwaWN0dXJlLmRpc3BsYXlfbmFtZSwgcGljdHVyZS5pZF9maWxlKS5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5yZWZyZXNoSW1hZ2VMaXN0JC5uZXh0KCkpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKGRhdGE6IEltZ1BpY3R1cmVEVE8pID0+IHtcclxuICAgICAgICAgICAgICBwaWN0dXJlLmRpc3BsYXlfbmFtZSA9IGRhdGEuZGlzcGxheV9uYW1lO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLm1zZ0ltZ05hbWVTYXZlZCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoKSAgPT4ge1xyXG4gICAgICAgICAgICAgIHBpY3R1cmUuZGlzcGxheV9uYW1lID0gcGljdHVyZU5hbWVVcGRhdGUucHJldmlvdXNOYW1lO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmVuYW1lSW1nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlSW1hZ2VOYW1lKG5hbWU6IHN0cmluZywgaWRGaWxlOiBzdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5jaGFuZ2VJbWdOYW1lKG5hbWUsIGlkRmlsZSkucGlwZShcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5yZWZyZXNoSW1hZ2VMaXN0JC5uZXh0KCkpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRQaWN0dXJlQnlJZChpZF9maWxlOiBzdHJpbmcpOiBJbWdQaWN0dXJlRFRPIHtcclxuICAgICAgICBpZiAoIXRoaXMucGljdHVyZXNMaXN0KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcclxuICAgICAgICAgIGlmKHBpY3R1cmUuaWRfZmlsZSA9PT0gaWRfZmlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gcGljdHVyZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,67 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NwbSnackbarService } from '@wizishop/ng-wizi-bulma';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { Observable } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@wizishop/ng-wizi-bulma";
7
+ import * as i2 from "@ngx-translate/core";
8
+ export class SnackBarService {
9
+ nwbSnackbar;
10
+ translateService;
11
+ actionMsg = 'ImgManager.snackBar.action';
12
+ snackBarConfigAction = {
13
+ message: '',
14
+ duration: 5000
15
+ };
16
+ snackBarConfig = {
17
+ message: '',
18
+ duration: 5000
19
+ };
20
+ snackBarRefComponent;
21
+ constructor(nwbSnackbar, translateService) {
22
+ this.nwbSnackbar = nwbSnackbar;
23
+ this.translateService = translateService;
24
+ }
25
+ openSnackBar(msgKey) {
26
+ this.closePreviousSnackbar();
27
+ this.translateService.get(msgKey).subscribe(trans => {
28
+ this.snackBarConfig.message = trans;
29
+ this.snackBarRefComponent = this.nwbSnackbar.open(this.snackBarConfig);
30
+ this.snackBarRefComponent.afterClosed().subscribe();
31
+ });
32
+ }
33
+ openSnackBarWithAction(msgKey) {
34
+ return new Observable(observer => {
35
+ this.translateService.get([msgKey, this.actionMsg]).subscribe((trans) => {
36
+ this.snackBarConfigAction.message = trans[msgKey];
37
+ this.snackBarConfigAction.action = trans[this.actionMsg];
38
+ this.closePreviousSnackbar();
39
+ this.snackBarRefComponent = this.nwbSnackbar.open(this.snackBarConfigAction);
40
+ this.snackBarRefComponent.afterClosed().subscribe(manualClose => {
41
+ observer.next(manualClose);
42
+ observer.complete();
43
+ });
44
+ });
45
+ });
46
+ }
47
+ openSnackBarWithBackendRespons(msgKey, msgBackend) {
48
+ this.translateService.get(msgKey).subscribe(trans => {
49
+ this.snackBarConfig.message = trans;
50
+ this.snackBarConfig.message += '<br/>' + JSON.parse(msgBackend).message;
51
+ this.closePreviousSnackbar();
52
+ this.snackBarRefComponent = this.nwbSnackbar.open(this.snackBarConfig);
53
+ this.snackBarRefComponent.afterClosed().subscribe();
54
+ });
55
+ }
56
+ closePreviousSnackbar() {
57
+ if (this.snackBarRefComponent) {
58
+ this.snackBarRefComponent.dismiss(false);
59
+ }
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SnackBarService, deps: [{ token: i1.NwbSnackbarService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
62
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SnackBarService });
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SnackBarService, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: () => [{ type: i1.NwbSnackbarService }, { type: i2.TranslateService }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBR2xDLE1BQU0sT0FBTyxlQUFlO0lBaUJaO0lBQ0E7SUFoQlosU0FBUyxHQUFHLDRCQUE0QixDQUFDO0lBRXpDLG9CQUFvQixHQUFzQjtRQUN4QyxPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztJQUVGLGNBQWMsR0FBc0I7UUFDbEMsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUM7SUFFTSxvQkFBb0IsQ0FBdUI7SUFFbkQsWUFDWSxXQUErQixFQUMvQixnQkFBa0M7UUFEbEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDdkMsQ0FBQztJQUVSLFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxNQUFjO1FBQ25DLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFFL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFFcEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFekQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDN0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDOUQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDM0IsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsOEJBQThCLENBQUMsTUFBYyxFQUFFLFVBQWtCO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFFeEUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQzt1R0EvRFEsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOd2JTbmFja2JhclNlcnZpY2UsIE53YlNuYWNrYmFyQ29uZmlnLCBOd2JTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbmFja0JhclNlcnZpY2Uge1xyXG5cclxuICAgIGFjdGlvbk1zZyA9ICdJbWdNYW5hZ2VyLnNuYWNrQmFyLmFjdGlvbic7XHJcblxyXG4gICAgc25hY2tCYXJDb25maWdBY3Rpb246IE53YlNuYWNrYmFyQ29uZmlnID0ge1xyXG4gICAgICBtZXNzYWdlOiAnJyxcclxuICAgICAgZHVyYXRpb246IDUwMDBcclxuICAgIH07XHJcblxyXG4gICAgc25hY2tCYXJDb25maWc6IE53YlNuYWNrYmFyQ29uZmlnID0ge1xyXG4gICAgICBtZXNzYWdlOiAnJyxcclxuICAgICAgZHVyYXRpb246IDUwMDBcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBzbmFja0JhclJlZkNvbXBvbmVudDogTndiU25hY2tiYXJDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBud2JTbmFja2JhcjogTndiU25hY2tiYXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICAgICAgICkge31cclxuXHJcbiAgICBvcGVuU25hY2tCYXIobXNnS2V5OiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy5jbG9zZVByZXZpb3VzU25hY2tiYXIoKTtcclxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChtc2dLZXkpLnN1YnNjcmliZSh0cmFucyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyQ29uZmlnLm1lc3NhZ2UgPSB0cmFucztcclxuICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWZDb21wb25lbnQgPSB0aGlzLm53YlNuYWNrYmFyLm9wZW4odGhpcy5zbmFja0JhckNvbmZpZyk7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmQ29tcG9uZW50LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5TbmFja0JhcldpdGhBY3Rpb24obXNnS2V5OiBzdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuXHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChbbXNnS2V5LCB0aGlzLmFjdGlvbk1zZ10pLnN1YnNjcmliZSgodHJhbnMpID0+IHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXJDb25maWdBY3Rpb24ubWVzc2FnZSA9IHRyYW5zW21zZ0tleV07XHJcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXJDb25maWdBY3Rpb24uYWN0aW9uID0gdHJhbnNbdGhpcy5hY3Rpb25Nc2ddO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jbG9zZVByZXZpb3VzU25hY2tiYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5zbmFja0JhclJlZkNvbXBvbmVudCA9IHRoaXMubndiU25hY2tiYXIub3Blbih0aGlzLnNuYWNrQmFyQ29uZmlnQWN0aW9uKTtcclxuICAgICAgICAgICAgdGhpcy5zbmFja0JhclJlZkNvbXBvbmVudC5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShtYW51YWxDbG9zZSA9PiB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChtYW51YWxDbG9zZSk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5TbmFja0JhcldpdGhCYWNrZW5kUmVzcG9ucyhtc2dLZXk6IHN0cmluZywgbXNnQmFja2VuZDogc3RyaW5nKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQobXNnS2V5KS5zdWJzY3JpYmUodHJhbnMgPT4ge1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXJDb25maWcubWVzc2FnZSA9IHRyYW5zO1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXJDb25maWcubWVzc2FnZSArPSAnPGJyLz4nICsgSlNPTi5wYXJzZShtc2dCYWNrZW5kKS5tZXNzYWdlO1xyXG5cclxuICAgICAgICB0aGlzLmNsb3NlUHJldmlvdXNTbmFja2JhcigpO1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXJSZWZDb21wb25lbnQgPSB0aGlzLm53YlNuYWNrYmFyLm9wZW4odGhpcy5zbmFja0JhckNvbmZpZyk7XHJcbiAgICAgICAgdGhpcy5zbmFja0JhclJlZkNvbXBvbmVudC5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlUHJldmlvdXNTbmFja2JhcigpIHtcclxuICAgICAgaWYgKHRoaXMuc25hY2tCYXJSZWZDb21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyUmVmQ29tcG9uZW50LmRpc21pc3MoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,61 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';
3
+ import { Subject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@wizishop/ng-wizi-bulma";
6
+ export class FiltersTableService {
7
+ filterRoutingBuilder;
8
+ filterGroups = new Map();
9
+ dataTableFilters = {
10
+ sort: undefined,
11
+ order: undefined,
12
+ searchValue: undefined,
13
+ totalItems: 0,
14
+ itemsPerPage: 0,
15
+ currentPage: 0
16
+ };
17
+ sortSubject = new Subject();
18
+ constructor(filterRoutingBuilder) {
19
+ this.filterRoutingBuilder = filterRoutingBuilder;
20
+ }
21
+ getTableFilterGroup(dataTableName) {
22
+ if (this.filterGroups.has(dataTableName)) {
23
+ return this.filterGroups.get(dataTableName);
24
+ }
25
+ const filterGroup = this.filterRoutingBuilder.group(this.dataTableFilters, dataTableName);
26
+ this.filterGroups.set(dataTableName, filterGroup);
27
+ return filterGroup;
28
+ }
29
+ /**
30
+ * Use to reset the others sorts of the table
31
+ * @param dataTableName
32
+ * @param sortName
33
+ * @param order
34
+ */
35
+ emitSortChange(dataTableName, sortName, order) {
36
+ this.sortSubject.next({ dataTableName, sortName, order });
37
+ }
38
+ getSortChangeListner() {
39
+ return this.sortSubject.asObservable();
40
+ }
41
+ setPaginationFilters(dataTableName, totalItems, itemsPerPage, currentPage) {
42
+ const filterGroup = this.getTableFilterGroup(dataTableName);
43
+ filterGroup.setValues({
44
+ itemsPerPage,
45
+ currentPage
46
+ });
47
+ }
48
+ setInitialPaginationFiltersIfNotExist(dataTableName, itemsPerPage, currentPage) {
49
+ const filterGroup = this.getTableFilterGroup(dataTableName);
50
+ filterGroup.setValues({
51
+ itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,
52
+ currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage
53
+ });
54
+ }
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FiltersTableService, deps: [{ token: i1.NwbFilterRoutingBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FiltersTableService });
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FiltersTableService, decorators: [{
59
+ type: Injectable
60
+ }], ctorParameters: () => [{ type: i1.NwbFilterRoutingBuilder }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy90YWJsZS9maWx0ZXJzLXRhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtCLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBVS9CLE1BQU0sT0FBTyxtQkFBbUI7SUFhVjtJQVpwQixZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFDakQsZ0JBQWdCLEdBQWlCO1FBQy9CLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLFNBQVM7UUFDaEIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsVUFBVSxFQUFFLENBQUM7UUFDYixZQUFZLEVBQUUsQ0FBQztRQUNmLFdBQVcsRUFBRSxDQUFDO0tBQ2YsQ0FBQztJQUVNLFdBQVcsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUV2RCxZQUFvQixvQkFBNkM7UUFBN0MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtJQUFHLENBQUM7SUFFckUsbUJBQW1CLENBQUMsYUFBcUI7UUFDdkMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFtQixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLGFBQXFCLEVBQUUsUUFBZ0IsRUFBRSxLQUFjO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxhQUFxQixFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxXQUFtQjtRQUN2RyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUNwQixZQUFZO1lBQ1osV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQ0FBcUMsQ0FBQyxhQUFxQixFQUFFLFlBQW9CLEVBQUUsV0FBbUI7UUFDcEcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDcEIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVk7WUFDeEcsV0FBVyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7U0FDckcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FwRFUsbUJBQW1COzJHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE53YkZpbHRlckdyb3VwLCBOd2JGaWx0ZXJSb3V0aW5nQnVpbGRlciB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uRmlsdGVycyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hhcmVkL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUZpbHRlcnMgZXh0ZW5kcyBQYWdpbmF0aW9uRmlsdGVycyB7XHJcbiAgc29ydDogc3RyaW5nO1xyXG4gIG9yZGVyOiBib29sZWFuO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZpbHRlcnNUYWJsZVNlcnZpY2Uge1xyXG4gIGZpbHRlckdyb3VwcyA9IG5ldyBNYXA8c3RyaW5nLCBOd2JGaWx0ZXJHcm91cD4oKTtcclxuICBkYXRhVGFibGVGaWx0ZXJzOiBUYWJsZUZpbHRlcnMgPSB7XHJcbiAgICBzb3J0OiB1bmRlZmluZWQsXHJcbiAgICBvcmRlcjogdW5kZWZpbmVkLFxyXG4gICAgc2VhcmNoVmFsdWU6IHVuZGVmaW5lZCxcclxuICAgIHRvdGFsSXRlbXM6IDAsXHJcbiAgICBpdGVtc1BlclBhZ2U6IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgc29ydFN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJSb3V0aW5nQnVpbGRlcjogTndiRmlsdGVyUm91dGluZ0J1aWxkZXIpIHt9XHJcblxyXG4gIGdldFRhYmxlRmlsdGVyR3JvdXAoZGF0YVRhYmxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJHcm91cHMuaGFzKGRhdGFUYWJsZU5hbWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlckdyb3Vwcy5nZXQoZGF0YVRhYmxlTmFtZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaWx0ZXJHcm91cDogTndiRmlsdGVyR3JvdXAgPSB0aGlzLmZpbHRlclJvdXRpbmdCdWlsZGVyLmdyb3VwKHRoaXMuZGF0YVRhYmxlRmlsdGVycywgZGF0YVRhYmxlTmFtZSk7XHJcbiAgICB0aGlzLmZpbHRlckdyb3Vwcy5zZXQoZGF0YVRhYmxlTmFtZSwgZmlsdGVyR3JvdXApO1xyXG4gICAgcmV0dXJuIGZpbHRlckdyb3VwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXNlIHRvIHJlc2V0IHRoZSBvdGhlcnMgc29ydHMgb2YgdGhlIHRhYmxlXHJcbiAgICogQHBhcmFtIGRhdGFUYWJsZU5hbWVcclxuICAgKiBAcGFyYW0gc29ydE5hbWVcclxuICAgKiBAcGFyYW0gb3JkZXJcclxuICAgKi9cclxuICBlbWl0U29ydENoYW5nZShkYXRhVGFibGVOYW1lOiBzdHJpbmcsIHNvcnROYW1lOiBzdHJpbmcsIG9yZGVyOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNvcnRTdWJqZWN0Lm5leHQoeyBkYXRhVGFibGVOYW1lLCBzb3J0TmFtZSwgb3JkZXIgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTb3J0Q2hhbmdlTGlzdG5lcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNvcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvbkZpbHRlcnMoZGF0YVRhYmxlTmFtZTogc3RyaW5nLCB0b3RhbEl0ZW1zOiBudW1iZXIsIGl0ZW1zUGVyUGFnZTogbnVtYmVyLCBjdXJyZW50UGFnZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBmaWx0ZXJHcm91cCA9IHRoaXMuZ2V0VGFibGVGaWx0ZXJHcm91cChkYXRhVGFibGVOYW1lKTtcclxuICAgIGZpbHRlckdyb3VwLnNldFZhbHVlcyh7XHJcbiAgICAgIGl0ZW1zUGVyUGFnZSxcclxuICAgICAgY3VycmVudFBhZ2VcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5pdGlhbFBhZ2luYXRpb25GaWx0ZXJzSWZOb3RFeGlzdChkYXRhVGFibGVOYW1lOiBzdHJpbmcsIGl0ZW1zUGVyUGFnZTogbnVtYmVyLCBjdXJyZW50UGFnZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBmaWx0ZXJHcm91cCA9IHRoaXMuZ2V0VGFibGVGaWx0ZXJHcm91cChkYXRhVGFibGVOYW1lKTtcclxuICAgIGZpbHRlckdyb3VwLnNldFZhbHVlcyh7XHJcbiAgICAgIGl0ZW1zUGVyUGFnZTogZmlsdGVyR3JvdXAuZ2V0KCdpdGVtc1BlclBhZ2UnKSA/IHBhcnNlSW50KGZpbHRlckdyb3VwLmdldCgnaXRlbXNQZXJQYWdlJykpIDogaXRlbXNQZXJQYWdlLFxyXG4gICAgICBjdXJyZW50UGFnZTogZmlsdGVyR3JvdXAuZ2V0KCdjdXJyZW50UGFnZScpID8gcGFyc2VJbnQoZmlsdGVyR3JvdXAuZ2V0KCdjdXJyZW50UGFnZScpKSA6IGN1cnJlbnRQYWdlXHJcbiAgICB9KTtcclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ApiService } from './api.service';
3
+ import { Subject, tap } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export class UploadService {
6
+ imageUploaded$ = new Subject();
7
+ apiService = inject(ApiService);
8
+ uploadFile(formData) {
9
+ return this.apiService.uploadFile(formData).pipe(tap((img) => this.imageUploaded$.next(img)));
10
+ }
11
+ uploadFileByUrl(url, fileName) {
12
+ return this.apiService.uploadFileByUrl(url, fileName).pipe(tap((img) => this.imageUploaded$.next(img)));
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UploadService });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UploadService, decorators: [{
18
+ type: Injectable
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSXBDLE1BQU0sT0FBTyxhQUFhO0lBRXRCLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztJQUU5QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWhDLFVBQVUsQ0FBQyxRQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLENBQUMsR0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBVyxFQUFFLFFBQWlCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLENBQUMsR0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNOLENBQUM7dUdBaEJRLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRTZXJ2aWNlIHtcclxuXHJcbiAgICBpbWFnZVVwbG9hZGVkJCA9IG5ldyBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+KCk7XHJcblxyXG4gICAgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuXHJcbiAgICB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UudXBsb2FkRmlsZShmb3JtRGF0YSkucGlwZShcclxuICAgICAgICAgICAgdGFwKChpbWc6IEltZ1BpY3R1cmVEVE8pID0+IHRoaXMuaW1hZ2VVcGxvYWRlZCQubmV4dChpbWcpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UudXBsb2FkRmlsZUJ5VXJsKHVybCwgZmlsZU5hbWUpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgoaW1nOiBJbWdQaWN0dXJlRFRPKSA9PiB0aGlzLmltYWdlVXBsb2FkZWQkLm5leHQoaW1nKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class UserSettingsService {
4
+ userdisplayPreference = 'WzImgManagerListDisplayed';
5
+ /**
6
+ * true : display list
7
+ * false : display mosaic
8
+ * @param value
9
+ */
10
+ setUserDisplayPreference(value) {
11
+ localStorage.setItem(this.userdisplayPreference, '' + value);
12
+ }
13
+ getUserDisplayPreference() {
14
+ const value = localStorage.getItem(this.userdisplayPreference);
15
+ return value == 'true';
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UserSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UserSettingsService });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UserSettingsService, decorators: [{
21
+ type: Injectable
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91c2VyLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUVwQixxQkFBcUIsR0FBRywyQkFBMkIsQ0FBQztJQUU1RDs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUMsS0FBYztRQUNuQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sS0FBSyxJQUFJLE1BQU0sQ0FBQztJQUMzQixDQUFDO3VHQWhCUSxtQkFBbUI7MkdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVzZXJTZXR0aW5nc1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgdXNlcmRpc3BsYXlQcmVmZXJlbmNlID0gJ1d6SW1nTWFuYWdlckxpc3REaXNwbGF5ZWQnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJ1ZSA6IGRpc3BsYXkgbGlzdFxyXG4gICAgICogZmFsc2UgOiBkaXNwbGF5IG1vc2FpY1xyXG4gICAgICogQHBhcmFtIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHNldFVzZXJEaXNwbGF5UHJlZmVyZW5jZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMudXNlcmRpc3BsYXlQcmVmZXJlbmNlLCAnJyArIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRVc2VyRGlzcGxheVByZWZlcmVuY2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnVzZXJkaXNwbGF5UHJlZmVyZW5jZSk7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09ICd0cnVlJztcclxuICAgIH1cclxuXHJcbn1cclxuIl19