@wizishop/img-manager 18.2.0 → 18.2.1-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.1-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
@@ -7,13 +7,13 @@ export class SelectFiltersPipe {
7
7
  return regexp.test(item.name);
8
8
  });
9
9
  }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SelectFiltersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: SelectFiltersPipe, name: "selectFilters" });
10
12
  }
11
- SelectFiltersPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFiltersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
- SelectFiltersPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SelectFiltersPipe, name: "selectFilters" });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFiltersPipe, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SelectFiltersPipe, decorators: [{
14
14
  type: Pipe,
15
15
  args: [{
16
16
  name: 'selectFilters'
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlcnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvcGlwZXMvc2VsZWN0L3NlbGVjdC1maWx0ZXJzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsU0FBUyxDQUFDLEtBQW1CLEVBQUUsVUFBa0I7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7K0dBTlEsaUJBQWlCOzZHQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZUFBZTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC1pdGVtcy5kdG8nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3NlbGVjdEZpbHRlcnMnXG59KVxuXG5leHBvcnQgY2xhc3MgU2VsZWN0RmlsdGVyc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oaXRlbXM6IFNlbGVjdEl0ZW1bXSwgZmlsdGVyTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+ICB7XG4gICAgICAgICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKGZpbHRlck5hbWUsICdpJyk7XG4gICAgICAgICAgICByZXR1cm4gcmVnZXhwLnRlc3QoaXRlbS5uYW1lKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlcnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvcGlwZXMvc2VsZWN0L3NlbGVjdC1maWx0ZXJzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsU0FBUyxDQUFDLEtBQW1CLEVBQUUsVUFBa0I7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt1R0FOUSxpQkFBaUI7cUdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZUFBZTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC1pdGVtcy5kdG8nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3NlbGVjdEZpbHRlcnMnXG59KVxuXG5leHBvcnQgY2xhc3MgU2VsZWN0RmlsdGVyc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oaXRlbXM6IFNlbGVjdEl0ZW1bXSwgZmlsdGVyTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+ICB7XG4gICAgICAgICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKGZpbHRlck5hbWUsICdpJyk7XG4gICAgICAgICAgICByZXR1cm4gcmVnZXhwLnRlc3QoaXRlbS5uYW1lKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,53 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { NwbAlertService } from '@wizishop/ng-wizi-bulma';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@wizishop/ng-wizi-bulma";
6
+ import * as i2 from "@ngx-translate/core";
7
+ export class AlertService {
8
+ nwbAlertService;
9
+ translateService;
10
+ actionMsg = 'ImgManager.alert.action';
11
+ alertConfig = {
12
+ message: '',
13
+ duration: 5000
14
+ };
15
+ alertRefComponent;
16
+ constructor(nwbAlertService, translateService) {
17
+ this.nwbAlertService = nwbAlertService;
18
+ this.translateService = translateService;
19
+ }
20
+ openAlert(msgKey) {
21
+ this.closePreviousAlert();
22
+ this.translateService.get(msgKey).subscribe(trans => {
23
+ this.alertConfig.message = trans;
24
+ this.setAlertColor(msgKey);
25
+ this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);
26
+ this.alertRefComponent.afterClosed().subscribe();
27
+ });
28
+ }
29
+ openAlertWithBackendResponse(msgKey, msgBackend) {
30
+ this.translateService.get(msgKey).subscribe(trans => {
31
+ this.alertConfig.message = trans;
32
+ this.alertConfig.message += '<br/>' + JSON.parse(msgBackend).message;
33
+ this.closePreviousAlert();
34
+ this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);
35
+ this.alertRefComponent.afterClosed().subscribe();
36
+ });
37
+ }
38
+ closePreviousAlert() {
39
+ if (this.alertRefComponent) {
40
+ this.alertRefComponent.dismiss();
41
+ }
42
+ }
43
+ setAlertColor(msgKey) {
44
+ const isErrorMsg = /error/i.test(msgKey);
45
+ this.alertConfig.color = isErrorMsg ? 'is-danger' : 'is-success';
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AlertService, deps: [{ token: i1.NwbAlertService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AlertService });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AlertService, decorators: [{
51
+ type: Injectable
52
+ }], ctorParameters: () => [{ type: i1.NwbAlertService }, { type: i2.TranslateService }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUcxRCxNQUFNLE9BQU8sWUFBWTtJQVlUO0lBQ0E7SUFYWixTQUFTLEdBQUcseUJBQXlCLENBQUM7SUFFdEMsV0FBVyxHQUFtQjtRQUM1QixPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQTtJQUVPLGlCQUFpQixDQUFvQjtJQUU3QyxZQUNZLGVBQWdDLEVBQ2hDLGdCQUFrQztRQURsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN2QyxDQUFDO0lBRVIsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsTUFBYyxFQUFFLFVBQWtCO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFFckUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWM7UUFDbEMsTUFBTSxVQUFVLEdBQVksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ25FLENBQUM7dUdBL0NRLFlBQVk7MkdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTndiQWxlcnRDb25maWcsIE53YkFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnQHdpemlzaG9wL25nLXdpemktYnVsbWEnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE53YkFsZXJ0U2VydmljZSB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcblxyXG4gICAgYWN0aW9uTXNnID0gJ0ltZ01hbmFnZXIuYWxlcnQuYWN0aW9uJztcclxuXHJcbiAgICBhbGVydENvbmZpZzogTndiQWxlcnRDb25maWcgPSB7XHJcbiAgICAgIG1lc3NhZ2U6ICcnLFxyXG4gICAgICBkdXJhdGlvbjogNTAwMFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWxlcnRSZWZDb21wb25lbnQ6IE53YkFsZXJ0Q29tcG9uZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbndiQWxlcnRTZXJ2aWNlOiBOd2JBbGVydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgICAgICAgKSB7fVxyXG5cclxuICAgIG9wZW5BbGVydChtc2dLZXk6IHN0cmluZykge1xyXG4gICAgICB0aGlzLmNsb3NlUHJldmlvdXNBbGVydCgpO1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG1zZ0tleSkuc3Vic2NyaWJlKHRyYW5zID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRDb25maWcubWVzc2FnZSA9IHRyYW5zO1xyXG4gICAgICAgICAgdGhpcy5zZXRBbGVydENvbG9yKG1zZ0tleSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5hbGVydFJlZkNvbXBvbmVudCA9IHRoaXMubndiQWxlcnRTZXJ2aWNlLm9wZW4odGhpcy5hbGVydENvbmZpZyk7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5BbGVydFdpdGhCYWNrZW5kUmVzcG9uc2UobXNnS2V5OiBzdHJpbmcsIG1zZ0JhY2tlbmQ6IHN0cmluZykge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG1zZ0tleSkuc3Vic2NyaWJlKHRyYW5zID0+IHtcclxuICAgICAgICB0aGlzLmFsZXJ0Q29uZmlnLm1lc3NhZ2UgPSB0cmFucztcclxuICAgICAgICB0aGlzLmFsZXJ0Q29uZmlnLm1lc3NhZ2UgKz0gJzxici8+JyArIEpTT04ucGFyc2UobXNnQmFja2VuZCkubWVzc2FnZTtcclxuXHJcbiAgICAgICAgdGhpcy5jbG9zZVByZXZpb3VzQWxlcnQoKTtcclxuICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50ID0gdGhpcy5ud2JBbGVydFNlcnZpY2Uub3Blbih0aGlzLmFsZXJ0Q29uZmlnKTtcclxuICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2xvc2VQcmV2aW91c0FsZXJ0KCkge1xyXG4gICAgICBpZiAodGhpcy5hbGVydFJlZkNvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRSZWZDb21wb25lbnQuZGlzbWlzcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRBbGVydENvbG9yKG1zZ0tleTogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGlzRXJyb3JNc2c6IGJvb2xlYW4gPSAvZXJyb3IvaS50ZXN0KG1zZ0tleSk7XHJcbiAgICAgIHRoaXMuYWxlcnRDb25maWcuY29sb3IgPSBpc0Vycm9yTXNnID8gJ2lzLWRhbmdlcicgOiAnaXMtc3VjY2Vzcyc7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,10 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ApiService {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ApiService });
4
6
  }
5
- ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
- ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiService });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiService, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ApiService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTs7d0dBQVYsVUFBVTs0R0FBVixVQUFVOzRGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVJbWcoaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVNdWx0aXBsZUltZyhpZF9hcnJheTogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE9bXT47XHJcblxyXG59Il19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTt1R0FBVixVQUFVOzJHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVJbWcoaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVNdWx0aXBsZUltZyhpZF9hcnJheTogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE9bXT47XHJcblxyXG59Il19
@@ -0,0 +1,165 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Observable, BehaviorSubject } from 'rxjs';
3
+ import { AlertService } from './alert.service';
4
+ import { ImgEventService } from './img-event.service';
5
+ import { take } from 'rxjs/operators';
6
+ import { TranslateService } from '@ngx-translate/core';
7
+ import { UploadService } from './upload.service';
8
+ import { ApiService } from './api.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./img-event.service";
11
+ import * as i2 from "./alert.service";
12
+ import * as i3 from "@ngx-translate/core";
13
+ import * as i4 from "./upload.service";
14
+ import * as i5 from "./api.service";
15
+ export class CanvaService {
16
+ wzImgEventService;
17
+ alertService;
18
+ translateService;
19
+ uploadService;
20
+ apiService;
21
+ canvaApi; // Object use to manage the canva api
22
+ get canvaApiURL() {
23
+ return this.apiService.CONFIG.canva_url;
24
+ }
25
+ ;
26
+ get canvaApiKey() {
27
+ return this.apiService.CONFIG.canva_token;
28
+ }
29
+ imgLoading = false;
30
+ uploadingImg = 'ImgManager.CanvaBtn.uploadingImg';
31
+ successUploadPhoto = 'ImgManager.CanvaBtn.successImport';
32
+ errorUploadCanvaImg = 'ImgManager.CanvaBtn.errorUploadCanvaImg';
33
+ errorRenameCanvaImg = 'ImgManager.CanvaBtn.errorRenameCanvaImg';
34
+ forceToOpenCanva = false;
35
+ bindExpectedImgSizeEvent = new BehaviorSubject(null);
36
+ bindExpectedSizeDone = this.bindExpectedImgSizeEvent.asObservable();
37
+ constructor(wzImgEventService, alertService, translateService, uploadService, apiService) {
38
+ this.wzImgEventService = wzImgEventService;
39
+ this.alertService = alertService;
40
+ this.translateService = translateService;
41
+ this.uploadService = uploadService;
42
+ this.apiService = apiService;
43
+ }
44
+ getCanvaLogo() {
45
+ return this.apiService.CONFIG.assets_route + "canva/icon_canva.svg";
46
+ }
47
+ bindEventExepectedImgSizeChange() {
48
+ return this.bindExpectedSizeDone;
49
+ }
50
+ expectedImgSizesChange(mediaDTO) {
51
+ this.bindExpectedImgSizeEvent.next(mediaDTO);
52
+ if (this.forceToOpenCanva) {
53
+ this.openCanva(parseInt(mediaDTO.image_width), parseInt(mediaDTO.image_height));
54
+ }
55
+ }
56
+ getCanvaApi() {
57
+ return new Observable(observer => {
58
+ this.loadCanva().subscribe({
59
+ complete: () => {
60
+ if (this.canvaApi && Canva.DesignButton) {
61
+ observer.next(this.canvaApi);
62
+ observer.complete();
63
+ }
64
+ else {
65
+ this.initializeCanva(observer);
66
+ }
67
+ }
68
+ });
69
+ });
70
+ }
71
+ initializeCanva(observer) {
72
+ if (Canva.DesignButton) {
73
+ Canva.DesignButton.initialize({
74
+ apiKey: this.canvaApiKey
75
+ }).then((canvaApi) => {
76
+ this.canvaApi = canvaApi;
77
+ observer.next(this.canvaApi);
78
+ observer.complete();
79
+ });
80
+ }
81
+ }
82
+ loadCanva() {
83
+ return new Observable(observer => {
84
+ if (this.canvaApi) {
85
+ observer.complete();
86
+ }
87
+ else {
88
+ this.loadCanvaScript(observer);
89
+ }
90
+ });
91
+ }
92
+ loadCanvaScript(observer) {
93
+ const node = document.createElement('script');
94
+ node.src = this.canvaApiURL;
95
+ node.type = 'text/javascript';
96
+ node.async = false;
97
+ node.charset = 'utf-8';
98
+ node.onload = () => {
99
+ observer.complete();
100
+ };
101
+ document.getElementsByTagName('head')[0].appendChild(node);
102
+ }
103
+ openCanva(width, height) {
104
+ if (this.imgLoading) {
105
+ return;
106
+ }
107
+ this.getCanvaApi().pipe(take(1)).subscribe((api) => {
108
+ this.canvaApi = api;
109
+ this.addOverflowBody();
110
+ this.createDesign(width, height);
111
+ });
112
+ }
113
+ addOverflowBody() {
114
+ document.body.classList.add('ovh-canva');
115
+ }
116
+ removeOverflowBody() {
117
+ document.body.classList.remove('ovh-canva');
118
+ }
119
+ createDesign(width, height) {
120
+ const createDesign = {
121
+ type: 'EtsyShopIcon',
122
+ dimensions: {
123
+ units: 'px',
124
+ width: width ? width : undefined,
125
+ height: height ? height : undefined,
126
+ },
127
+ publishLabel: this.translateService.instant('ImgManager.CanvaBtn.publish'),
128
+ };
129
+ this.canvaApi.createDesign({
130
+ design: createDesign,
131
+ onDesignPublish: ({ exportUrl, designTitle }) => this.designPublished(exportUrl, designTitle),
132
+ onDesignClose: () => {
133
+ this.removeOverflowBody();
134
+ }
135
+ });
136
+ }
137
+ designPublished(exportUrl, designTitle) {
138
+ this.alertService.openAlert(this.uploadingImg);
139
+ this.imgLoading = true;
140
+ this.uploadService.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe({
141
+ next: (img) => {
142
+ this.imgLoading = false;
143
+ this.removeOverflowBody();
144
+ this.wzImgEventService.emitImgAdded(img.id_file);
145
+ this.alertService.openAlert(this.successUploadPhoto);
146
+ },
147
+ error: error => {
148
+ this.imgLoading = false;
149
+ this.removeOverflowBody();
150
+ if (error.error.code === 406 && error.error.message) {
151
+ this.alertService.openAlertWithBackendResponse(this.errorUploadCanvaImg, error.error.message);
152
+ }
153
+ else {
154
+ this.alertService.openAlert(this.errorUploadCanvaImg);
155
+ }
156
+ }
157
+ });
158
+ }
159
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaService, deps: [{ token: i1.ImgEventService }, { token: i2.AlertService }, { token: i3.TranslateService }, { token: i4.UploadService }, { token: i5.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
160
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaService });
161
+ }
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaService, decorators: [{
163
+ type: Injectable
164
+ }], ctorParameters: () => [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.TranslateService }, { type: i4.UploadService }, { type: i5.ApiService }] });
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvY2FudmEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxZQUFZO0lBc0JiO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF4QlYsUUFBUSxDQUFBLENBQUMscUNBQXFDO0lBQzlDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsWUFBWSxHQUFHLGtDQUFrQyxDQUFDO0lBQ2xELGtCQUFrQixHQUFHLG1DQUFtQyxDQUFDO0lBQ3pELG1CQUFtQixHQUFHLHlDQUF5QyxDQUFDO0lBQ2hFLG1CQUFtQixHQUFHLHlDQUF5QyxD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SUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBRTFCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQy9GLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTlKVSxZQUFZOzJHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDYW52YUJ1dHRvbkFwaSB9IGZyb20gJy4uL2R0by9jYW52YS5kdG8nO1xyXG5pbXBvcnQgeyBXaXppQmxvY2tNZWRpYUR0byB9IGZyb20gJy4uL2R0by93aXppLWJsb2NrLW1lZGlhLmR0byc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4vaW1nLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYW52YUNyZWF0ZURlc2lnbiB9IGZyb20gJy4uL2R0by9jYW52YS1jcmVhdGUtZGVzaWduLmR0byc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XHJcblxyXG5kZWNsYXJlIGxldCBDYW52YSAgOiB7XHJcbiAgRGVzaWduQnV0dG9uIDoge1xyXG4gICAgaW5pdGlhbGl6ZTogKG9wdHM6IHsgYXBpS2V5OiBzdHJpbmcgfSkgPT4gUHJvbWlzZTxDYW52YUJ1dHRvbkFwaT47XHJcbiAgfVxyXG59O1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FudmFTZXJ2aWNlIHtcclxuXHJcbiAgY2FudmFBcGkgLy8gT2JqZWN0IHVzZSB0byBtYW5hZ2UgdGhlIGNhbnZhIGFwaVxyXG4gIGdldCBjYW52YUFwaVVSTCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmNhbnZhX3VybDtcclxuICB9O1xyXG4gIGdldCBjYW52YUFwaUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmNhbnZhX3Rva2VuO1xyXG4gIH1cclxuXHJcbiAgaW1nTG9hZGluZyA9IGZhbHNlO1xyXG4gIHVwbG9hZGluZ0ltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLnVwbG9hZGluZ0ltZyc7XHJcbiAgc3VjY2Vzc1VwbG9hZFBob3RvID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uc3VjY2Vzc0ltcG9ydCc7XHJcbiAgZXJyb3JVcGxvYWRDYW52YUltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmVycm9yVXBsb2FkQ2FudmFJbWcnO1xyXG4gIGVycm9yUmVuYW1lQ2FudmFJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5lcnJvclJlbmFtZUNhbnZhSW1nJztcclxuXHJcbiAgZm9yY2VUb09wZW5DYW52YTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGJpbmRFeHBlY3RlZEltZ1NpemVFdmVudDogQmVoYXZpb3JTdWJqZWN0PFdpemlCbG9ja01lZGlhRHRvPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2l6aUJsb2NrTWVkaWFEdG8+KG51bGwpO1xyXG4gIHByaXZhdGUgYmluZEV4cGVjdGVkU2l6ZURvbmUgPSB0aGlzLmJpbmRFeHBlY3RlZEltZ1NpemVFdmVudC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHd6SW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBnZXRDYW52YUxvZ28oKSB7XHJcbiAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmFzc2V0c19yb3V0ZSArIFwiY2FudmEvaWNvbl9jYW52YS5zdmdcIjtcclxuICB9XHJcblxyXG4gIGJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kRXhwZWN0ZWRTaXplRG9uZTtcclxuICB9XHJcblxyXG4gIGV4cGVjdGVkSW1nU2l6ZXNDaGFuZ2UgKG1lZGlhRFRPOiBXaXppQmxvY2tNZWRpYUR0byl7XHJcbiAgICB0aGlzLmJpbmRFeHBlY3RlZEltZ1NpemVFdmVudC5uZXh0KG1lZGlhRFRPKTtcclxuICAgIGlmICh0aGlzLmZvcmNlVG9PcGVuQ2FudmEpIHtcclxuICAgICAgdGhpcy5vcGVuQ2FudmEocGFyc2VJbnQobWVkaWFEVE8uaW1hZ2Vfd2lkdGgpLCBwYXJzZUludChtZWRpYURUTy5pbWFnZV9oZWlnaHQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENhbnZhQXBpKCk6T2JzZXJ2YWJsZTxDYW52YUJ1dHRvbkFwaT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgIHRoaXMubG9hZENhbnZhKCkuc3Vic2NyaWJlKHtcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLmNhbnZhQXBpICYmIENhbnZhLkRlc2lnbkJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmNhbnZhQXBpKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDYW52YShvYnNlcnZlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2FudmEob2JzZXJ2ZXI6IFN1YnNjcmliZXI8Q2FudmFCdXR0b25BcGk+KSB7XHJcbiAgICBpZiAoQ2FudmEuRGVzaWduQnV0dG9uKSB7XHJcbiAgICAgIENhbnZhLkRlc2lnbkJ1dHRvbi5pbml0aWFsaXplKHtcclxuICAgICAgICBhcGlLZXk6IHRoaXMuY2FudmFBcGlLZXlcclxuXHJcbiAgICAgIH0pLnRoZW4oKGNhbnZhQXBpKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYW52YUFwaSA9ICBjYW52YUFwaTtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ2FudmEoKTpPYnNlcnZhYmxlPG51bGw+IHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgICAgICBpZih0aGlzLmNhbnZhQXBpKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDYW52YVNjcmlwdChvYnNlcnZlcjogU3Vic2NyaWJlcjxudWxsPikge1xyXG5cclxuICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIG5vZGUuc3JjID0gdGhpcy5jYW52YUFwaVVSTDtcclxuICAgIG5vZGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgbm9kZS5hc3luYyA9IGZhbHNlO1xyXG4gICAgbm9kZS5jaGFyc2V0ID0gJ3V0Zi04JztcclxuICAgIG5vZGUub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcclxuICB9XHJcblxyXG4gIG9wZW5DYW52YSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuaW1nTG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldENhbnZhQXBpKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFwaTogQ2FudmFCdXR0b25BcGkpID0+IHtcclxuICAgICAgdGhpcy5jYW52YUFwaSA9IGFwaTtcclxuICAgICAgdGhpcy5hZGRPdmVyZmxvd0JvZHkoKTtcclxuICAgICAgdGhpcy5jcmVhdGVEZXNpZ24od2lkdGgsIGhlaWdodCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkT3ZlcmZsb3dCb2R5KCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdvdmgtY2FudmEnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlT3ZlcmZsb3dCb2R5KCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvdmgtY2FudmEnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRGVzaWduKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCAgY3JlYXRlRGVzaWduOiBDYW52YUNyZWF0ZURlc2lnbiA9IHtcclxuICAgICAgdHlwZTogJ0V0c3lTaG9wSWNvbicsXHJcbiAgICAgIGRpbWVuc2lvbnMgOiB7XHJcbiAgICAgICAgdW5pdHM6ICdweCcsXHJcbiAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGggOiB1bmRlZmluZWQsXHJcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQgPyBoZWlnaHQgOiB1bmRlZmluZWQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHB1Ymxpc2hMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ltZ01hbmFnZXIuQ2FudmFCdG4ucHVibGlzaCcpLFxyXG4gICAgfTtcclxuICAgIHRoaXMuY2FudmFBcGkuY3JlYXRlRGVzaWduKHtcclxuICAgICAgZGVzaWduOiBjcmVhdGVEZXNpZ24sXHJcbiAgICAgIG9uRGVzaWduUHVibGlzaDogKHsgZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSB9KSA9PiB0aGlzLmRlc2lnblB1Ymxpc2hlZChleHBvcnRVcmwsIGRlc2lnblRpdGxlKSxcclxuICAgICAgb25EZXNpZ25DbG9zZTogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlT3ZlcmZsb3dCb2R5KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzaWduUHVibGlzaGVkKGV4cG9ydFVybDogc3RyaW5nLCBkZXNpZ25UaXRsZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy51cGxvYWRpbmdJbWcpO1xyXG4gICAgdGhpcy5pbWdMb2FkaW5nID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZEZpbGVCeVVybChleHBvcnRVcmwsIGRlc2lnblRpdGxlKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpbWcpID0+IHtcclxuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlbW92ZU92ZXJmbG93Qm9keSgpO1xyXG5cclxuICAgICAgICB0aGlzLnd6SW1nRXZlbnRTZXJ2aWNlLmVtaXRJbWdBZGRlZChpbWcuaWRfZmlsZSk7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuc3VjY2Vzc1VwbG9hZFBob3RvKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlbW92ZU92ZXJmbG93Qm9keSgpO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydFdpdGhCYWNrZW5kUmVzcG9uc2UodGhpcy5lcnJvclVwbG9hZENhbnZhSW1nLCBlcnJvci5lcnJvci5tZXNzYWdlKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclVwbG9hZENhbnZhSW1nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ApiService } from '../api.service';
3
+ import * as i0 from "@angular/core";
4
+ export class ImgCDNService {
5
+ imgCDNConfig = inject(ApiService).IMG_SIZE;
6
+ getUrlImg(size) {
7
+ const urlProperty = Object.keys(this.imgCDNConfig)
8
+ .filter(url => new RegExp(size, 'i').test(url))[0];
9
+ return this.imgCDNConfig[urlProperty];
10
+ }
11
+ getAllSize() {
12
+ return Object.keys(this.imgCDNConfig)
13
+ .map(elem => elem.match(/_(\w+)_/)[1]);
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCDNService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCDNService });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCDNService, decorators: [{
19
+ type: Injectable
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNkbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFM0MsU0FBUyxDQUFDLElBQTBDO1FBQ2xELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUMvQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDWixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDcEMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNKLENBQUM7dUdBbEJVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW1nQ0ROU2VydmljZSB7XHJcblxyXG4gIGltZ0NETkNvbmZpZyA9IGluamVjdChBcGlTZXJ2aWNlKS5JTUdfU0laRTtcclxuXHJcbiAgZ2V0VXJsSW1nKHNpemU6ICcxMDAnfCcyMDAnfCc0MDAnfCc4MDAnfCdyYXcnfHN0cmluZykge1xyXG4gICAgY29uc3QgdXJsUHJvcGVydHkgPSBPYmplY3Qua2V5cyh0aGlzLmltZ0NETkNvbmZpZylcclxuICAgICAgLmZpbHRlcih1cmwgPT5cclxuICAgICAgICBuZXcgUmVnRXhwKHNpemUsICdpJykudGVzdCh1cmwpXHJcbiAgICAgIClbMF07XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pbWdDRE5Db25maWdbdXJsUHJvcGVydHldO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2l6ZSgpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbWdDRE5Db25maWcpXHJcbiAgICAubWFwKGVsZW0gPT5cclxuICAgICAgZWxlbS5tYXRjaCgvXyhcXHcrKV8vKVsxXVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class DomService {
5
+ documentEventSource = new Subject();
6
+ documentEventDone = this.documentEventSource.asObservable();
7
+ documentScrollSource = new Subject();
8
+ documentScrollDone = this.documentScrollSource.asObservable();
9
+ documentEvent() {
10
+ return this.documentEventDone;
11
+ }
12
+ setDocumentEventListener() {
13
+ document.body.addEventListener('click', event => {
14
+ this.documentEventSource.next(event.target);
15
+ });
16
+ }
17
+ documentScroll() {
18
+ return this.documentScrollDone;
19
+ }
20
+ setScrollEventListener() {
21
+ window.onscroll = () => {
22
+ this.documentScrollSource.next(window);
23
+ };
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DomService });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DomService, decorators: [{
29
+ type: Injectable
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RvbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLFVBQVU7SUFFYixtQkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU1RCxvQkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV0RSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztJQUNKLENBQUM7dUdBMUJVLFVBQVU7MkdBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRG9tU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgZG9jdW1lbnRFdmVudFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBkb2N1bWVudEV2ZW50RG9uZSA9IHRoaXMuZG9jdW1lbnRFdmVudFNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBkb2N1bWVudFNjcm9sbFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBkb2N1bWVudFNjcm9sbERvbmUgPSB0aGlzLmRvY3VtZW50U2Nyb2xsU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBkb2N1bWVudEV2ZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRFdmVudERvbmU7XHJcbiAgfVxyXG5cclxuICBzZXREb2N1bWVudEV2ZW50TGlzdGVuZXIoKSB7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZXZlbnQgPT4ge1xyXG4gICAgICB0aGlzLmRvY3VtZW50RXZlbnRTb3VyY2UubmV4dChldmVudC50YXJnZXQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudFNjcm9sbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRvY3VtZW50U2Nyb2xsRG9uZTtcclxuICB9XHJcblxyXG4gIHNldFNjcm9sbEV2ZW50TGlzdGVuZXIoKSB7XHJcbiAgICB3aW5kb3cub25zY3JvbGwgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxTb3VyY2UubmV4dCh3aW5kb3cpO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -8,11 +8,11 @@ export class IconService {
8
8
  link.crossOrigin = "anonymous";
9
9
  document.getElementsByTagName('head')[0].appendChild(link);
10
10
  }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconService, providedIn: 'root' });
11
13
  }
12
- IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
- IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconService, providedIn: 'root' });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconService, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconService, decorators: [{
15
15
  type: Injectable,
16
16
  args: [{ providedIn: 'root' }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFdBQVc7SUFFcEIsV0FBVztRQUNMLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRywyRUFBMkUsQ0FBQztRQUN4RixJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7O3lHQVJNLFdBQVc7NkdBQVgsV0FBVyxjQURDLE1BQU07NEZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBJY29uU2VydmljZSB7XHJcblxyXG4gICAgbG9hZEljb25MaWIoKSB7XHJcbiAgICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgICAgICAgbGluay5ocmVmID0gJ2h0dHBzOi8vbWVkaWEuY2Rud3MuY29tL190L18vZGlzdC9pY29ucy9mb250YXdlc29tZS9jc3MvYWxsLm1pbi5jc3M/djEuMDUnO1xyXG4gICAgICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICAgICAgICBsaW5rLmNyb3NzT3JpZ2luID0gXCJhbm9ueW1vdXNcIjtcclxuICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgIH1cclxuXHJcbn1cclxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFdBQVc7SUFFcEIsV0FBVztRQUNMLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRywyRUFBMkUsQ0FBQztRQUN4RixJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7dUdBUk0sV0FBVzsyR0FBWCxXQUFXLGNBREMsTUFBTTs7MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBJY29uU2VydmljZSB7XHJcblxyXG4gICAgbG9hZEljb25MaWIoKSB7XHJcbiAgICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgICAgICAgbGluay5ocmVmID0gJ2h0dHBzOi8vbWVkaWEuY2Rud3MuY29tL190L18vZGlzdC9pY29ucy9mb250YXdlc29tZS9jc3MvYWxsLm1pbi5jc3M/djEuMDUnO1xyXG4gICAgICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICAgICAgICBsaW5rLmNyb3NzT3JpZ2luID0gXCJhbm9ueW1vdXNcIjtcclxuICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgIH1cclxuXHJcbn1cclxuIl19
@@ -4,10 +4,10 @@ export class ImageNotFoundService {
4
4
  imageNotFound($url) {
5
5
  return;
6
6
  }
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImageNotFoundService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImageNotFoundService });
7
9
  }
8
- ImageNotFoundService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImageNotFoundService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- ImageNotFoundService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImageNotFoundService });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImageNotFoundService, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImageNotFoundService, decorators: [{
11
11
  type: Injectable
12
12
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utbm90LWZvdW5kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltYWdlLW5vdC1mb3VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsYUFBYSxDQUFDLElBQVk7UUFDdEIsT0FBTztJQUNYLENBQUM7O2tIQUpRLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWFnZU5vdEZvdW5kU2VydmljZSB7XHJcblxyXG4gICAgaW1hZ2VOb3RGb3VuZCgkdXJsOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG59Il19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utbm90LWZvdW5kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltYWdlLW5vdC1mb3VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsYUFBYSxDQUFDLElBQVk7UUFDdEIsT0FBTztJQUNYLENBQUM7dUdBSlEsb0JBQW9COzJHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWFnZU5vdEZvdW5kU2VydmljZSB7XHJcblxyXG4gICAgaW1hZ2VOb3RGb3VuZCgkdXJsOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG59Il19
@@ -0,0 +1,33 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, Subject } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ export class ImgEventService {
5
+ imgRemoved$ = new BehaviorSubject(undefined);
6
+ imgToEditEvent = new Subject();
7
+ imgAdded = new Subject();
8
+ listDisplayedChange = new Subject();
9
+ emitImgToEdit(imgToEdit) {
10
+ this.imgToEditEvent.next(imgToEdit);
11
+ }
12
+ getImgToEditEventListener() {
13
+ return this.imgToEditEvent.asObservable();
14
+ }
15
+ emitImgAdded(id_file) {
16
+ this.imgAdded.next(id_file);
17
+ }
18
+ getImgAddedEventListner() {
19
+ return this.imgAdded.asObservable();
20
+ }
21
+ emitlistDisplayedChange(value) {
22
+ this.listDisplayedChange.next(value);
23
+ }
24
+ getlistDisplayedChange() {
25
+ return this.listDisplayedChange.asObservable();
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgEventService });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgEventService, decorators: [{
31
+ type: Injectable
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3QyxjQUFjLEdBQTJCLElBQUksT0FBTyxFQUFpQixDQUFDO0lBQ3RFLFFBQVEsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNsRCxtQkFBbUIsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUd0RSxhQUFhLENBQUMsU0FBd0I7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELHlCQUF5QjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCx1QkFBdUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHNCQUFzQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO3VHQTlCUyxlQUFlOzJHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWdFdmVudFNlcnZpY2Uge1xyXG5cclxuICBpbWdSZW1vdmVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xyXG4gIHByaXZhdGUgaW1nVG9FZGl0RXZlbnQ6IFN1YmplY3Q8SW1nUGljdHVyZURUTz4gPSBuZXcgU3ViamVjdDxJbWdQaWN0dXJlRFRPPigpO1xyXG4gIHByaXZhdGUgaW1nQWRkZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBwcml2YXRlIGxpc3REaXNwbGF5ZWRDaGFuZ2U6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuXHJcbiAgIGVtaXRJbWdUb0VkaXQoaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPKXtcclxuICAgICAgdGhpcy5pbWdUb0VkaXRFdmVudC5uZXh0KGltZ1RvRWRpdCk7XHJcbiAgIH1cclxuXHJcbiAgIGdldEltZ1RvRWRpdEV2ZW50TGlzdGVuZXIoKXtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1nVG9FZGl0RXZlbnQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxuXHJcbiAgIGVtaXRJbWdBZGRlZChpZF9maWxlOiBzdHJpbmcpe1xyXG4gICAgICB0aGlzLmltZ0FkZGVkLm5leHQoaWRfZmlsZSk7XHJcbiAgIH1cclxuXHJcbiAgIGdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ0FkZGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcblxyXG4gICBlbWl0bGlzdERpc3BsYXllZENoYW5nZSh2YWx1ZTogYm9vbGVhbil7XHJcbiAgICAgIHRoaXMubGlzdERpc3BsYXllZENoYW5nZS5uZXh0KHZhbHVlKTtcclxuICAgfVxyXG5cclxuICAgZ2V0bGlzdERpc3BsYXllZENoYW5nZSgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcbn1cclxuIl19
@@ -0,0 +1,134 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { BehaviorSubject, debounceTime, distinctUntilChanged, forkJoin, map, merge, shareReplay, startWith, Subject, switchMap, take, tap } from "rxjs";
4
+ import { ApiService } from './api.service';
5
+ import { UploadService } from './upload.service';
6
+ import * as i0 from "@angular/core";
7
+ export class ImgManagerService {
8
+ uploadService = inject(UploadService);
9
+ params = new HttpParams().set("limit", "20").set("page", "1");
10
+ // Display the img selection
11
+ pageFicheProductConfig = {
12
+ stateDisplayed: 'closed',
13
+ multipleImgMode: true,
14
+ showImgManagerModule: true,
15
+ showSelection: true,
16
+ displayBtn: true,
17
+ pageficheProduct: true
18
+ };
19
+ angularFicheProductConfig = {
20
+ stateDisplayed: 'closed',
21
+ multipleImgMode: true,
22
+ showImgManagerModule: true,
23
+ showSelection: true,
24
+ displayBtn: false,
25
+ pageficheProduct: true
26
+ };
27
+ wiziblockConfig = {
28
+ stateDisplayed: 'closed',
29
+ multipleImgMode: false,
30
+ showImgManagerModule: true,
31
+ showSelection: false,
32
+ displayBtn: false
33
+ };
34
+ simpleWithButtonOpenerConfig = {
35
+ stateDisplayed: 'closed',
36
+ multipleImgMode: false,
37
+ showImgManagerModule: true,
38
+ showSelection: false,
39
+ displayBtn: true
40
+ };
41
+ fullWindowConfig = {
42
+ stateDisplayed: 'window',
43
+ multipleImgMode: false,
44
+ showImgManagerModule: true,
45
+ showSelection: false,
46
+ displayBtn: false
47
+ };
48
+ apiService = inject(ApiService);
49
+ destroy$ = new Subject();
50
+ get DEFAULT_SEARCH_PARAMS() {
51
+ return {
52
+ limit: '30',
53
+ page: '1',
54
+ };
55
+ }
56
+ get DEFAULT_DATA_LIST() {
57
+ return {
58
+ imageList: {
59
+ data: [],
60
+ filter: [],
61
+ limit: 0,
62
+ page: 0,
63
+ totalRecords: 0
64
+ },
65
+ imageTotal: 0
66
+ };
67
+ }
68
+ searchImagesParameters$ = new BehaviorSubject(this.DEFAULT_SEARCH_PARAMS);
69
+ refreshImageList$ = new Subject();
70
+ resetImageList$ = merge(this.uploadService.imageUploaded$);
71
+ isLoading$ = new BehaviorSubject(true);
72
+ fetchImagesList$ = merge(this.searchImagesParameters$.pipe(debounceTime(800), distinctUntilChanged()), this.refreshImageList$.pipe(switchMap(() => this.searchImagesParameters$))).pipe(map((params) => this.getHttpParameters(params)), tap(() => this.isLoading$.next(true)), switchMap((params) => forkJoin({
73
+ imageList: this.apiService.getShopImgList(params).pipe(take(1)),
74
+ imageTotal: this.apiService.getShopTotalImgList(params).pipe(take(1))
75
+ })), tap(() => this.isLoading$.next(false)));
76
+ imageList$ = merge(this.fetchImagesList$, this.resetImageList$.pipe(tap(() => this.isLoading$.next(true)), tap(() => this.searchImagesParameters$.next(this.DEFAULT_SEARCH_PARAMS)), map(() => this.DEFAULT_DATA_LIST))).pipe(startWith(this.DEFAULT_DATA_LIST), shareReplay(1));
77
+ getHttpParameters(params) {
78
+ let parameters = new HttpParams();
79
+ parameters = parameters.set('id_file:sort', 'desc');
80
+ for (const param in params) {
81
+ parameters = parameters.set(param, params[param]);
82
+ }
83
+ if (params?.search) {
84
+ parameters = parameters.set('display_name:contains', params.search);
85
+ }
86
+ return parameters;
87
+ }
88
+ getShopImg(idFile) {
89
+ return this.apiService.getShopImg(idFile).pipe(tap(() => this.refreshImageList$.next()));
90
+ }
91
+ replaceImg(imageBase64, id_file) {
92
+ return this.apiService.replaceImg(imageBase64, id_file).pipe(tap(() => this.refreshImageList$.next()));
93
+ }
94
+ removeImg(id_file) {
95
+ return this.apiService.removeImg(id_file).pipe(tap(() => this.refreshImageList$.next()));
96
+ }
97
+ removeMultipleImg(id_array) {
98
+ return this.apiService.removeMultipleImg(id_array).pipe(tap(() => this.refreshImageList$.next()));
99
+ }
100
+ getImgManagerDisplayConfig(displayName) {
101
+ switch (displayName) {
102
+ case "window":
103
+ return this.fullWindowConfig;
104
+ case "wizi-block":
105
+ return this.wiziblockConfig;
106
+ case "fiche-product":
107
+ return this.pageFicheProductConfig;
108
+ case "simple-with-button":
109
+ return this.simpleWithButtonOpenerConfig;
110
+ case 'angular-fiche-product':
111
+ return this.angularFicheProductConfig;
112
+ default:
113
+ return;
114
+ }
115
+ }
116
+ getAllImgManagerDisplayConfig() {
117
+ return [
118
+ this.fullWindowConfig,
119
+ this.wiziblockConfig,
120
+ this.pageFicheProductConfig,
121
+ this.simpleWithButtonOpenerConfig,
122
+ ];
123
+ }
124
+ ngOnDestroy() {
125
+ this.destroy$.next();
126
+ this.destroy$.complete();
127
+ }
128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
129
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgManagerService });
130
+ }
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgManagerService, decorators: [{
132
+ type: Injectable
133
+ }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEosT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBR2pELE1BQU0sT0FBTyxpQkFBaUI7SUFFWCxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXZELE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztJQUU1RCw0QkFBNEI7SUFDcEIsc0JBQXNCLEdBQTRCO1FBQ3hELGNBQWMsRUFBRSxRQUFRO1FBQ3hCLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLG9CQUFvQixFQUFFLElBQUk7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsVUFBVSxFQUFFLElBQUk7UUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QixDQUFBO0lBRU8seUJBQXlCLEdBQTRCO1FBQzNELGNBQWMsRUFBRSxRQUFRO1FBQ3hCLGVB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RSxPQUFPO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTztZQUNMLElBQUksQ0FBQyxnQkFBZ0I7WUFDckIsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQjtZQUMzQixJQUFJLENBQUMsNEJBQTRCO1NBQ2xDLENBQUE7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQTFMVSxpQkFBaUI7MkdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZvcmtKb2luLCBtYXAsIG1lcmdlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWcgfSBmcm9tICcuLi9kdG8vY29uZmlnL2ltZy1tYW5hZ2VyJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi91cGxvYWQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWdNYW5hZ2VyU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkU2VydmljZSA9IGluamVjdChVcGxvYWRTZXJ2aWNlKTtcclxuXHJcbiAgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJsaW1pdFwiLFwiMjBcIikuc2V0KFwicGFnZVwiLFwiMVwiKTtcclxuXHJcbiAgLy8gRGlzcGxheSB0aGUgaW1nIHNlbGVjdGlvblxyXG4gIHByaXZhdGUgcGFnZUZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XHJcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXHJcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXHJcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcclxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICBkaXNwbGF5QnRuOiB0cnVlLFxyXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhbmd1bGFyRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcclxuICAgIG11bHRpcGxlSW1nTW9kZTogdHJ1ZSxcclxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxyXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcclxuICAgIGRpc3BsYXlCdG46IGZhbHNlLFxyXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3aXppYmxvY2tDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xyXG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxyXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcclxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxyXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXHJcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcclxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXHJcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcclxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgZGlzcGxheUJ0bjogdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmdWxsV2luZG93Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHN0YXRlRGlzcGxheWVkOiAnd2luZG93JyxcclxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXHJcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcclxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgREVGQVVMVF9TRUFSQ0hfUEFSQU1TKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGltaXQ6ICczMCcsXHJcbiAgICAgIHBhZ2U6ICcxJyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBERUZBVUxUX0RBVEFfTElTVCgpOiB7XHJcbiAgICBpbWFnZUxpc3Q6IEltZ1BpY3R1cmVzRFRPO1xyXG4gICAgaW1hZ2VUb3RhbDogbnVtYmVyO1xyXG4gIH0ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaW1hZ2VMaXN0OiB7XHJcbiAgICAgICAgZGF0YTogW10sXHJcbiAgICAgICAgZmlsdGVyOiBbXSxcclxuICAgICAgICBsaW1pdDogMCxcclxuICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgIHRvdGFsUmVjb3JkczogMFxyXG4gICAgICB9LFxyXG4gICAgICBpbWFnZVRvdGFsOiAwXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaEltYWdlc1BhcmFtZXRlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbXNJbWdNYW5hZ2VyRFRPPih0aGlzLkRFRkFVTFRfU0VBUkNIX1BBUkFNUyk7XHJcbiAgcHVibGljIHJlZnJlc2hJbWFnZUxpc3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcmVzZXRJbWFnZUxpc3QkID0gbWVyZ2UoXHJcbiAgICB0aGlzLnVwbG9hZFNlcnZpY2UuaW1hZ2VVcGxvYWRlZCRcclxuICApO1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgcHJpdmF0ZSBmZXRjaEltYWdlc0xpc3QkID0gbWVyZ2UoXHJcbiAgICAgIHRoaXMuc2VhcmNoSW1hZ2VzUGFyYW1ldGVycyQucGlwZShcclxuICAgICAgICBkZWJvdW5jZVRpbWUoODAwKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICApLFxyXG4gICAgICB0aGlzLnJlZnJlc2hJbWFnZUxpc3QkLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VhcmNoSW1hZ2VzUGFyYW1ldGVycyQpXHJcbiAgICAgICksXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgocGFyYW1zKSA9PiB0aGlzLmdldEh0dHBQYXJhbWV0ZXJzKHBhcmFtcykpLFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSkpLFxyXG4gICAgICBzd2l0Y2hNYXAoKHBhcmFtcykgPT4gZm9ya0pvaW4oe1xyXG4gICAgICAgIGltYWdlTGlzdDogdGhpcy5hcGlTZXJ2aWNlLmdldFNob3BJbWdMaXN0KHBhcmFtcykucGlwZSh0YWtlKDEpKSxcclxuICAgICAgICBpbWFnZVRvdGFsOiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXMpLnBpcGUodGFrZSgxKSlcclxuICAgICAgfSkpLFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmckLm5leHQoZmFsc2UpKVxyXG4gICAgKTtcclxuXHJcblxyXG4gIHB1YmxpYyBpbWFnZUxpc3QkID0gbWVyZ2UoXHJcbiAgICAgIHRoaXMuZmV0Y2hJbWFnZXNMaXN0JCxcclxuICAgICAgdGhpcy5yZXNldEltYWdlTGlzdCQucGlwZShcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSkpLFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNlYXJjaEltYWdlc1BhcmFtZXRlcnMkLm5leHQodGhpcy5ERUZBVUxUX1NFQVJDSF9QQVJBTVMpKSxcclxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5ERUZBVUxUX0RBVEFfTElTVClcclxuICAgICAgICApXHJcbiAgKS5waXBlKFxyXG4gICAgc3RhcnRXaXRoKCB0aGlzLkRFRkFVTFRfREFUQV9MSVNUKSxcclxuICAgIHNoYXJlUmVwbGF5KDEpXHJcbiAgKTtcclxuXHJcblxyXG4gIGdldEh0dHBQYXJhbWV0ZXJzKHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcclxuICAgIGxldCBwYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuc2V0KCdpZF9maWxlOnNvcnQnLCAnZGVzYycpO1xyXG4gICAgZm9yIChjb25zdCBwYXJhbSBpbiBwYXJhbXMpIHtcclxuICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuc2V0KHBhcmFtLCBwYXJhbXNbcGFyYW1dKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyYW1zPy5zZWFyY2gpIHtcclxuICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuc2V0KCdkaXNwbGF5X25hbWU6Y29udGFpbnMnLCBwYXJhbXMuc2VhcmNoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJhbWV0ZXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wSW1nKGlkRmlsZSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVmcmVzaEltYWdlTGlzdCQubmV4dCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQsIGlkX2ZpbGUpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnJlZnJlc2hJbWFnZUxpc3QkLm5leHQoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5yZW1vdmVJbWcoaWRfZmlsZSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVmcmVzaEltYWdlTGlzdCQubmV4dCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5OiBzdHJpbmdbXSl7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5KS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5yZWZyZXNoSW1hZ2VMaXN0JC5uZXh0KCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1nTWFuYWdlckRpc3BsYXlDb25maWcoZGlzcGxheU5hbWU6IEltZ01hbmFnZXJDb25maWcpIHtcclxuICAgIHN3aXRjaCAoZGlzcGxheU5hbWUpIHtcclxuICAgICAgY2FzZSBcIndpbmRvd1wiOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxXaW5kb3dDb25maWc7XHJcblxyXG4gICAgICBjYXNlIFwid2l6aS1ibG9ja1wiOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndpemlibG9ja0NvbmZpZztcclxuXHJcbiAgICAgIGNhc2UgXCJmaWNoZS1wcm9kdWN0XCI6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZUZpY2hlUHJvZHVjdENvbmZpZztcclxuXHJcbiAgICAgIGNhc2UgXCJzaW1wbGUtd2l0aC1idXR0b25cIjpcclxuICAgICAgICByZXR1cm4gdGhpcy5zaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnO1xyXG5cclxuICAgICAgY2FzZSAnYW5ndWxhci1maWNoZS1wcm9kdWN0JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5hbmd1bGFyRmljaGVQcm9kdWN0Q29uZmlnXHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFsbEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKCk6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgdGhpcy5mdWxsV2luZG93Q29uZmlnLFxyXG4gICAgICB0aGlzLndpemlibG9ja0NvbmZpZyxcclxuICAgICAgdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnLFxyXG4gICAgICB0aGlzLnNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWcsXHJcbiAgICBdXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufSJdfQ==