@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
@@ -1,67 +0,0 @@
1
- import { Component, Output, EventEmitter, Input } from '@angular/core';
2
- import { CanvaService } from '../../services/canva.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/canva.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "ngx-scrollbar";
7
- import * as i4 from "../../directives/loading.directive";
8
- import * as i5 from "../../directives/auto-hide.directive";
9
- import * as i6 from "@ngx-translate/core";
10
- export class CanvaBtnComponent {
11
- constructor(canvaService) {
12
- this.canvaService = canvaService;
13
- this.showImgUploaded = new EventEmitter();
14
- this.imgLoading = false;
15
- this.availableFormat = {
16
- 'ImgManager.CanvaBtn.smallSquare': {
17
- 'width': 500,
18
- 'height': 500
19
- },
20
- 'ImgManager.CanvaBtn.mediumSquare': {
21
- 'width': 1000,
22
- 'height': 1000
23
- },
24
- 'ImgManager.CanvaBtn.bigSquare': {
25
- 'width': 2500,
26
- 'height': 2500
27
- }
28
- };
29
- this.openDropDownMenu = false;
30
- this.subs = [];
31
- }
32
- ngOnInit() {
33
- this.canvaLogoRouteAssets = this.canvaService.getCanvaLogo();
34
- this.listenCanvaExpectedSize();
35
- }
36
- listenCanvaExpectedSize() {
37
- // Subcribe to askImg from wizi-block
38
- const subExpectedImgSizesChange = this.canvaService.bindEventExepectedImgSizeChange().subscribe((mediaDTO) => {
39
- if (mediaDTO) {
40
- this.expectedWidth = parseInt(mediaDTO.image_width, 10);
41
- this.expectedHeight = parseInt(mediaDTO.image_height, 10);
42
- }
43
- else {
44
- this.expectedWidth = undefined;
45
- this.expectedHeight = undefined;
46
- }
47
- });
48
- this.subs.push(subExpectedImgSizesChange);
49
- }
50
- onOpenCanva(width, height) {
51
- this.canvaService.openCanva(width, height);
52
- }
53
- ngOnDestroy() {
54
- this.subs.forEach(sub => sub.unsubscribe());
55
- }
56
- }
57
- CanvaBtnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanvaBtnComponent, deps: [{ token: i1.CanvaService }], target: i0.ɵɵFactoryTarget.Component });
58
- CanvaBtnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CanvaBtnComponent, selector: "canva-btn", inputs: { stateDisplayed: "stateDisplayed" }, outputs: { showImgUploaded: "showImgUploaded" }, ngImport: i0, template: "<div class=\"canva dropdown is-right is-hoverable\"\r\n wzAutoHide (clickOutside)=\"openDropDownMenu = false;\"\r\n [ngClass]=\"{'is-up': stateDisplayed === 'small', 'noTooltip': stateDisplayed !== 'small'}\"\r\n >\r\n <div class=\"dropdown-trigger\">\r\n <div\r\n class=\"button canva-btn\"\r\n aria-controls=\"dropdown-menuCanva\"\r\n (click)=\"openDropDownMenu = true;\"\r\n >\r\n <span>{{'ImgManager.CanvaBtn.createImg' | translate}}</span>\r\n <img [src]=\"canvaLogoRouteAssets\" class=\"canva-btn__logo\">\r\n\r\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"imgLoading\"></span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"dropdown-menu dropDownShadow\"\r\n [ngClass]=\"{'displayDropDownMenu': openDropDownMenu }\"\r\n id=\"dropdown-menuCanva\"\r\n role=\"menu\">\r\n <ng-scrollbar\r\n class=\"smallScroll\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <div class=\"dropdownTitle\">\r\n <p>{{'ImgManager.CanvaBtn.createImg.title' | translate}}</p>\r\n </div>\r\n\r\n <div class=\"infoItem\">\r\n <p>{{'ImgManager.CanvaBtn.info' | translate}}</p>\r\n </div>\r\n\r\n <ng-container >\r\n <div\r\n *ngIf=\"expectedWidth && expectedHeight\"\r\n class=\"dropdown-item-wrapper\"\r\n >\r\n <div class=\"dropdown-item expectedSizes\" (click)=\"onOpenCanva(expectedWidth, expectedHeight)\">\r\n <p>{{'ImgManager.CanvaBtn.recommanded' | translate}}</p><p>{{expectedWidth}}*{{expectedHeight}}</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n *ngFor=\"let format of availableFormat| keyvalue\"\r\n class=\"dropdown-item-wrapper\">\r\n <div\r\n (click)=\"onOpenCanva(format.value.width, format.value.height)\"\r\n class=\"dropdown-item\">\r\n <p>{{format.key | translate}}</p><p>{{format.value.width}}*{{format.value.height}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i4.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "directive", type: i5.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanvaBtnComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'canva-btn', template: "<div class=\"canva dropdown is-right is-hoverable\"\r\n wzAutoHide (clickOutside)=\"openDropDownMenu = false;\"\r\n [ngClass]=\"{'is-up': stateDisplayed === 'small', 'noTooltip': stateDisplayed !== 'small'}\"\r\n >\r\n <div class=\"dropdown-trigger\">\r\n <div\r\n class=\"button canva-btn\"\r\n aria-controls=\"dropdown-menuCanva\"\r\n (click)=\"openDropDownMenu = true;\"\r\n >\r\n <span>{{'ImgManager.CanvaBtn.createImg' | translate}}</span>\r\n <img [src]=\"canvaLogoRouteAssets\" class=\"canva-btn__logo\">\r\n\r\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"imgLoading\"></span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"dropdown-menu dropDownShadow\"\r\n [ngClass]=\"{'displayDropDownMenu': openDropDownMenu }\"\r\n id=\"dropdown-menuCanva\"\r\n role=\"menu\">\r\n <ng-scrollbar\r\n class=\"smallScroll\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <div class=\"dropdownTitle\">\r\n <p>{{'ImgManager.CanvaBtn.createImg.title' | translate}}</p>\r\n </div>\r\n\r\n <div class=\"infoItem\">\r\n <p>{{'ImgManager.CanvaBtn.info' | translate}}</p>\r\n </div>\r\n\r\n <ng-container >\r\n <div\r\n *ngIf=\"expectedWidth && expectedHeight\"\r\n class=\"dropdown-item-wrapper\"\r\n >\r\n <div class=\"dropdown-item expectedSizes\" (click)=\"onOpenCanva(expectedWidth, expectedHeight)\">\r\n <p>{{'ImgManager.CanvaBtn.recommanded' | translate}}</p><p>{{expectedWidth}}*{{expectedHeight}}</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n *ngFor=\"let format of availableFormat| keyvalue\"\r\n class=\"dropdown-item-wrapper\">\r\n <div\r\n (click)=\"onOpenCanva(format.value.width, format.value.height)\"\r\n class=\"dropdown-item\">\r\n <p>{{format.key | translate}}</p><p>{{format.value.width}}*{{format.value.height}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n</div>\r\n" }]
62
- }], ctorParameters: function () { return [{ type: i1.CanvaService }]; }, propDecorators: { stateDisplayed: [{
63
- type: Input
64
- }], showImgUploaded: [{
65
- type: Output
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEtYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9jYW52YS1idG4vY2FudmEtYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9jYW52YS1idG4vY2FudmEtYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQVU1RCxNQUFNLE9BQU8saUJBQWlCO0lBK0I1QixZQUNVLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBNUIxQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixvQkFBZSxHQUFHO1lBQ2hCLGlDQUFpQyxFQUFHO2dCQUNsQyxPQUFPLEVBQUcsR0FBRztnQkFDYixRQUFRLEVBQUcsR0FBRzthQUNmO1lBQ0Qsa0NBQWtDLEVBQUc7Z0JBQ25DLE9BQU8sRUFBRyxJQUFJO2dCQUNkLFFBQVEsRUFBRyxJQUFJO2FBQ2hCO1lBQ0QsK0JBQStCLEVBQUc7Z0JBQ2hDLE9BQU8sRUFBRyxJQUFJO2dCQUNkLFFBQVEsRUFBRyxJQUFJO2FBQ2hCO1NBQ0YsQ0FBQTtRQUVELHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQUlwQixDQUFDO0lBRVAsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIscUNBQXFDO1FBQ3JDLE1BQU0seUJBQXlCLEdBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxTQUFTLENBQUUsQ0FBQyxRQUEyQixFQUFFLEVBQUU7WUFDN0YsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQzthQUMzRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OytHQTdEVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixnSkNYOUIsbzdFQXlEQTs0RkQ5Q2EsaUJBQWlCO2tCQUo3QixTQUFTOytCQUNFLFdBQVc7bUdBS1osY0FBYztzQkFBdEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FudmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FudmEuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbnZhQnV0dG9uQXBpIH0gZnJvbSAnLi4vLi4vZHRvL2NhbnZhLmR0byc7XHJcbmltcG9ydCB7IFdpemlCbG9ja01lZGlhRHRvIH0gZnJvbSAnLi4vLi4vZHRvL3dpemktYmxvY2stbWVkaWEuZHRvJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NhbnZhLWJ0bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbnZhLWJ0bi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbnZhQnRuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XHJcblxyXG4gIEBPdXRwdXQoKSBzaG93SW1nVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNhbnZhQXBpOiBDYW52YUJ1dHRvbkFwaTtcclxuICBjYW52YUxvZ29Sb3V0ZUFzc2V0czogc3RyaW5nO1xyXG4gIGltZ0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgYXZhaWxhYmxlRm9ybWF0ID0ge1xyXG4gICAgJ0ltZ01hbmFnZXIuQ2FudmFCdG4uc21hbGxTcXVhcmUnIDoge1xyXG4gICAgICAnd2lkdGgnIDogNTAwLFxyXG4gICAgICAnaGVpZ2h0JyA6IDUwMFxyXG4gICAgfSxcclxuICAgICdJbWdNYW5hZ2VyLkNhbnZhQnRuLm1lZGl1bVNxdWFyZScgOiB7XHJcbiAgICAgICd3aWR0aCcgOiAxMDAwLFxyXG4gICAgICAnaGVpZ2h0JyA6IDEwMDBcclxuICAgIH0sXHJcbiAgICAnSW1nTWFuYWdlci5DYW52YUJ0bi5iaWdTcXVhcmUnIDoge1xyXG4gICAgICAnd2lkdGgnIDogMjUwMCxcclxuICAgICAgJ2hlaWdodCcgOiAyNTAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcERvd25NZW51OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGV4cGVjdGVkSGVpZ2h0OiBudW1iZXI7XHJcbiAgZXhwZWN0ZWRXaWR0aDogbnVtYmVyO1xyXG4gIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjYW52YVNlcnZpY2U6IENhbnZhU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbnZhTG9nb1JvdXRlQXNzZXRzID0gdGhpcy5jYW52YVNlcnZpY2UuZ2V0Q2FudmFMb2dvKCk7XHJcbiAgICB0aGlzLmxpc3RlbkNhbnZhRXhwZWN0ZWRTaXplKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5DYW52YUV4cGVjdGVkU2l6ZSgpIHtcclxuICAgIC8vIFN1YmNyaWJlIHRvIGFza0ltZyBmcm9tIHdpemktYmxvY2tcclxuICAgIGNvbnN0IHN1YkV4cGVjdGVkSW1nU2l6ZXNDaGFuZ2UgPVxyXG4gICAgICB0aGlzLmNhbnZhU2VydmljZS5iaW5kRXZlbnRFeGVwZWN0ZWRJbWdTaXplQ2hhbmdlKCkuc3Vic2NyaWJlKCAobWVkaWFEVE86IFdpemlCbG9ja01lZGlhRHRvKSA9PiB7XHJcbiAgICAgICAgaWYgKG1lZGlhRFRPKSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGVjdGVkV2lkdGggPSBwYXJzZUludChtZWRpYURUTy5pbWFnZV93aWR0aCwgMTApO1xyXG4gICAgICAgICAgdGhpcy5leHBlY3RlZEhlaWdodCA9IHBhcnNlSW50KG1lZGlhRFRPLmltYWdlX2hlaWdodCwgMTApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGVjdGVkV2lkdGggPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0aGlzLmV4cGVjdGVkSGVpZ2h0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnN1YnMucHVzaChzdWJFeHBlY3RlZEltZ1NpemVzQ2hhbmdlKTtcclxuICB9XHJcblxyXG4gIG9uT3BlbkNhbnZhKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNhbnZhU2VydmljZS5vcGVuQ2FudmEod2lkdGgsIGhlaWdodCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYW52YSBkcm9wZG93biBpcy1yaWdodCBpcy1ob3ZlcmFibGVcIlxyXG4gICAgIHd6QXV0b0hpZGUgKGNsaWNrT3V0c2lkZSk9XCJvcGVuRHJvcERvd25NZW51ID0gZmFsc2U7XCJcclxuICAgIFtuZ0NsYXNzXT1cInsnaXMtdXAnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJywgJ25vVG9vbHRpcCc6IHN0YXRlRGlzcGxheWVkICE9PSAnc21hbGwnfVwiXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdHJpZ2dlclwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGNhbnZhLWJ0blwiXHJcbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tbWVudUNhbnZhXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRHJvcERvd25NZW51ID0gdHJ1ZTtcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3Bhbj57eydJbWdNYW5hZ2VyLkNhbnZhQnRuLmNyZWF0ZUltZycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImNhbnZhTG9nb1JvdXRlQXNzZXRzXCIgY2xhc3M9XCJjYW52YS1idG5fX2xvZ29cIj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuIGJ0bkxvYWRpbmdBbmltIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIiAqbmdJZj1cImltZ0xvYWRpbmdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3BEb3duU2hhZG93XCJcclxuICAgICAgW25nQ2xhc3NdPVwieydkaXNwbGF5RHJvcERvd25NZW51Jzogb3BlbkRyb3BEb3duTWVudSB9XCJcclxuICAgICAgaWQ9XCJkcm9wZG93bi1tZW51Q2FudmFcIlxyXG4gICAgICByb2xlPVwibWVudVwiPlxyXG4gICAgICAgIDxuZy1zY3JvbGxiYXJcclxuICAgICAgICAgICAgY2xhc3M9XCJzbWFsbFNjcm9sbFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHA+e3snSW1nTWFuYWdlci5DYW52YUJ0bi5jcmVhdGVJbWcudGl0bGUnIHwgdHJhbnNsYXRlfX08L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb0l0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8cD57eydJbWdNYW5hZ2VyLkNhbnZhQnRuLmluZm8nIHwgdHJhbnNsYXRlfX08L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGVjdGVkV2lkdGggJiYgZXhwZWN0ZWRIZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbSBleHBlY3RlZFNpemVzXCIgKGNsaWNrKT1cIm9uT3BlbkNhbnZhKGV4cGVjdGVkV2lkdGgsIGV4cGVjdGVkSGVpZ2h0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3snSW1nTWFuYWdlci5DYW52YUJ0bi5yZWNvbW1hbmRlZCcgfCB0cmFuc2xhdGV9fTwvcD48cD57e2V4cGVjdGVkV2lkdGh9fSp7e2V4cGVjdGVkSGVpZ2h0fX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZm9ybWF0IG9mIGF2YWlsYWJsZUZvcm1hdHwga2V5dmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk9wZW5DYW52YShmb3JtYXQudmFsdWUud2lkdGgsIGZvcm1hdC52YWx1ZS5oZWlnaHQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD57e2Zvcm1hdC5rZXkgfCB0cmFuc2xhdGV9fTwvcD48cD57e2Zvcm1hdC52YWx1ZS53aWR0aH19Knt7Zm9ybWF0LnZhbHVlLmhlaWdodH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,154 +0,0 @@
1
- import { HttpClient } from "@angular/common/http";
2
- import { Directive, Input, Output, inject } from "@angular/core";
3
- import { EventEmitter } from '@angular/core';
4
- import { TranslateService } from "@ngx-translate/core";
5
- import { AlertService } from "../../services/alert.service";
6
- import { ImgCDNService } from "../../services/config/img-cdn.service";
7
- import { ImgEventService } from "../../services/img-event.service";
8
- import { ImgManagerService } from "../../services/img-manager.service";
9
- import { ImgSelectionService } from "../../services/img-selection.service";
10
- import { ApiService } from "../../services/api.service";
11
- import { ImageNotFoundService } from "../../services/image-not-found.service";
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../../services/img-manager.service";
14
- import * as i2 from "../../services/img-selection.service";
15
- import * as i3 from "@angular/common/http";
16
- import * as i4 from "../../services/config/img-cdn.service";
17
- import * as i5 from "../../services/img-event.service";
18
- import * as i6 from "../../services/alert.service";
19
- import * as i7 from "@ngx-translate/core";
20
- import * as i8 from "../../services/api.service";
21
- export class ImagesActionHandler {
22
- constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
23
- this.imgManager = imgManager;
24
- this.imgSelectionService = imgSelectionService;
25
- this.http = http;
26
- this.imgCDNService = imgCDNService;
27
- this.imgEventCardService = imgEventCardService;
28
- this.alertService = alertService;
29
- this.translateService = translateService;
30
- this.apiService = apiService;
31
- this.picturesList = [];
32
- this.picturesListChange = new EventEmitter();
33
- this.tableFilters = {
34
- sort: undefined,
35
- order: undefined,
36
- searchValue: '',
37
- totalItems: 0,
38
- itemsPerPage: 30,
39
- currentPage: 1
40
- };
41
- this.displayPexelsResults = false;
42
- this.disable = false;
43
- this.disableChange = new EventEmitter();
44
- this.filtersChange = new EventEmitter();
45
- this.pictureNameChange = new EventEmitter();
46
- this.isLoading = false;
47
- this.fakeImgRoute = this.apiService.CONFIG.assets_route + 'img/fake.png';
48
- this.errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';
49
- this.errorAlreadyUsedImg = 'ImgManager.ImgList.errorAlreadyUsed';
50
- this.imageNotFoundService = inject(ImageNotFoundService);
51
- }
52
- /** Event emit when the header checkbox is checked */
53
- onToggleAllCheckBoxRow(event) {
54
- this.picturesList.forEach(data => {
55
- data.delSelected = event;
56
- });
57
- this._pictureListeChange();
58
- }
59
- onToggleDelSelection(index) {
60
- if (this.disable) {
61
- return;
62
- }
63
- this.picturesList[index].delSelected = !this.picturesList[index].delSelected;
64
- this._pictureListeChange();
65
- }
66
- /** Event emit each time filters change */
67
- onFiltersChange() {
68
- this.filtersChange.emit();
69
- }
70
- onEdit(picture) {
71
- this.imgEventCardService.emitImgToEdit(picture);
72
- }
73
- onToggleSelectImg(index) {
74
- if (this.disable || this.stateDisplayed === 'window') {
75
- return;
76
- }
77
- if (!this.picturesList[index].selected) {
78
- this.imgSelectionService.addImgSelected(this.picturesList[index]);
79
- this.picturesList[index].selected = true;
80
- }
81
- else {
82
- this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);
83
- this.picturesList[index].selected = false;
84
- }
85
- }
86
- onRemoveImg(picture) {
87
- picture.deleted = true;
88
- this.imgManager.removeImg(picture.id_file).subscribe(data => {
89
- this.imgEventCardService.imgRemoved$.next(picture.id_file);
90
- this.imgSelectionService.removeImgSelectedById(picture.id_file);
91
- }, error => {
92
- const msg = error.status === 409 ? this.errorAlreadyUsedImg : this.errorRemoveImg;
93
- picture.deleted = false;
94
- this.alertService.openAlert(msg);
95
- });
96
- }
97
- onPictureNotLoading(event) {
98
- this.imageNotFoundService.imageNotFound(event.target.src);
99
- event.target.src = this.fakeImgRoute;
100
- }
101
- onDownloadImg(display_name, file_name) {
102
- this.http.get(this.getRAWImgRoute(file_name), { responseType: 'blob' }).subscribe(val => {
103
- let url = URL.createObjectURL(val);
104
- this.downloadUrl(url, display_name);
105
- URL.revokeObjectURL(url);
106
- });
107
- }
108
- onNameChange(id_file) {
109
- this.pictureNameChange.emit({ id: id_file, previousName: this.previousName });
110
- }
111
- getRAWImgRoute(file_name) {
112
- return this.imgCDNService.getUrlImg('raw') + file_name;
113
- }
114
- _pictureListeChange() {
115
- this.picturesListChange.emit();
116
- }
117
- downloadUrl(url, fileName) {
118
- const a = document.createElement('a');
119
- a.href = url;
120
- a.download = fileName;
121
- a.click();
122
- }
123
- ngDestroy() {
124
- if (this.getDataAPISub) {
125
- this.getDataAPISub.unsubscribe();
126
- }
127
- }
128
- }
129
- ImagesActionHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImagesActionHandler, deps: [{ token: i1.ImgManagerService }, { token: i2.ImgSelectionService }, { token: i3.HttpClient }, { token: i4.ImgCDNService }, { token: i5.ImgEventService }, { token: i6.AlertService }, { token: i7.TranslateService }, { token: i8.ApiService }], target: i0.ɵɵFactoryTarget.Directive });
130
- ImagesActionHandler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ImagesActionHandler, inputs: { picturesList: "picturesList", tableFilters: "tableFilters", displayPexelsResults: "displayPexelsResults", disable: "disable", isLoading: "isLoading", stateDisplayed: "stateDisplayed" }, outputs: { picturesListChange: "picturesListChange", disableChange: "disableChange", filtersChange: "filtersChange", pictureNameChange: "pictureNameChange" }, ngImport: i0 });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImagesActionHandler, decorators: [{
132
- type: Directive
133
- }], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.ImgSelectionService }, { type: i3.HttpClient }, { type: i4.ImgCDNService }, { type: i5.ImgEventService }, { type: i6.AlertService }, { type: i7.TranslateService }, { type: i8.ApiService }]; }, propDecorators: { picturesList: [{
134
- type: Input
135
- }], picturesListChange: [{
136
- type: Output
137
- }], tableFilters: [{
138
- type: Input
139
- }], displayPexelsResults: [{
140
- type: Input
141
- }], disable: [{
142
- type: Input
143
- }], disableChange: [{
144
- type: Output
145
- }], filtersChange: [{
146
- type: Output
147
- }], pictureNameChange: [{
148
- type: Output
149
- }], isLoading: [{
150
- type: Input
151
- }], stateDisplayed: [{
152
- type: Input
153
- }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWFjdGlvbnMtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9pbWFnZXMtYWN0aW9ucy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBRzlFLE1BQU0sT0FBZ0IsbUJBQW1CO0lBMENyQyxZQUNZLFVBQTZCLEVBQzdCLG1CQUF3QyxFQUN4QyxJQUFnQixFQUNoQixhQUE0QixFQUM1QixtQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ3BDLFVBQXNCO1FBUHBCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhEaEMsaUJBQVksR0FBb0IsRUFBRSxDQUFDO1FBRW5DLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzVELGlCQUFZLEdBQWlCO1lBQzNCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsQ0FBQztZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQztRQUVGLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUd0QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLGtCQUFhLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLHNCQUFpQixHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9ELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFNM0IsaUJBQVksR0FBVyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO1FBR3BFLG1CQUFjLEdBQUcsbUNBQW1DLENBQUM7UUFDckQsd0JBQW1CLEdBQUcscUNBQXFDLENBQUM7UUFFNUQseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFZNUQsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxzQkFBc0IsQ0FBQyxLQUFLO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWE7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDN0UsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXNCO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDbEQsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7WUFDTixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2xGLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDdkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxZQUFvQixFQUFFLFNBQWlCO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEYsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNwQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQWlCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3pELENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQy9DLE1BQU0sQ0FBQyxHQUFRLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN0QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7aUhBOUlpQixtQkFBbUI7cUdBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUR4QyxTQUFTO2dUQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxLQUFLO2dCQVVOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBR0UsU0FBUztzQkFBakIsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBzdGF0ZURpc3BsYXllZCB9IGZyb20gXCIuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpXCI7XHJcbmltcG9ydCB7IFBpY3R1cmVOYW1lVXBkYXRlIH0gZnJvbSBcIi4uLy4uL2R0by9waWN0dXJlLW5hbWUtdXBkYXRlLmR0b1wiO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSBcIi4uLy4uL2R0by9pbWctbWFuYWdlci5kdG9cIjtcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW1nQ0ROU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRhYmxlRmlsdGVycyB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90YWJsZS9maWx0ZXJzLXRhYmxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJbWFnZU5vdEZvdW5kU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9pbWFnZS1ub3QtZm91bmQuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbWFnZXNBY3Rpb25IYW5kbGVyIHtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwaWN0dXJlc0xpc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgdGFibGVGaWx0ZXJzOiBUYWJsZUZpbHRlcnMgPSB7XHJcbiAgICAgIHNvcnQ6IHVuZGVmaW5lZCxcclxuICAgICAgb3JkZXI6IHVuZGVmaW5lZCxcclxuICAgICAgc2VhcmNoVmFsdWU6ICcnLFxyXG4gICAgICB0b3RhbEl0ZW1zOiAwLFxyXG4gICAgICBpdGVtc1BlclBhZ2U6IDMwLFxyXG4gICAgICBjdXJyZW50UGFnZTogMVxyXG4gICAgfTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBkaXNwbGF5UGV4ZWxzUmVzdWx0czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBkaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAT3V0cHV0KClcclxuICAgIGRpc2FibGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGZpbHRlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KClcclxuICAgIHBpY3R1cmVOYW1lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UGljdHVyZU5hbWVVcGRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XHJcblxyXG4gICAgcHJldmlvdXNOYW1lOiBzdHJpbmc7IC8vIFVzZSB0byBzYXZlIHRoZSBwcmV2aW91cyBwaWN0dXJlIG5hbWUsIHdoZW4gYSB1c2VyIGNoYW5nZSBoaXMgbmFtZVxyXG4gICAgZmFrZUltZ1JvdXRlOiBzdHJpbmcgPSB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmFzc2V0c19yb3V0ZSArICdpbWcvZmFrZS5wbmcnO1xyXG5cclxuICAgIHByaXZhdGUgZ2V0RGF0YUFQSVN1YjogU3Vic2NyaXB0aW9uO1xyXG4gICAgcHJpdmF0ZSBlcnJvclJlbW92ZUltZyA9ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZXJyb3JSZW1vdmVJbWcnO1xyXG4gICAgcHJpdmF0ZSBlcnJvckFscmVhZHlVc2VkSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGlzdC5lcnJvckFscmVhZHlVc2VkJztcclxuXHJcbiAgICBwcml2YXRlIGltYWdlTm90Rm91bmRTZXJ2aWNlID0gaW5qZWN0KEltYWdlTm90Rm91bmRTZXJ2aWNlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHJvdGVjdGVkIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgIHByb3RlY3RlZCBpbWdDRE5TZXJ2aWNlOiBJbWdDRE5TZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgaW1nRXZlbnRDYXJkU2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRXZlbnQgZW1pdCB3aGVuIHRoZSBoZWFkZXIgY2hlY2tib3ggaXMgY2hlY2tlZCAqL1xyXG4gICAgb25Ub2dnbGVBbGxDaGVja0JveFJvdyhldmVudCkge1xyXG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xyXG4gICAgICAgIGRhdGEuZGVsU2VsZWN0ZWQgPSBldmVudDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX3BpY3R1cmVMaXN0ZUNoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVG9nZ2xlRGVsU2VsZWN0aW9uKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgaWYgKHRoaXMuZGlzYWJsZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uZGVsU2VsZWN0ZWQgPSAhdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLmRlbFNlbGVjdGVkO1xyXG4gICAgICB0aGlzLl9waWN0dXJlTGlzdGVDaGFuZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRXZlbnQgZW1pdCBlYWNoIHRpbWUgZmlsdGVycyBjaGFuZ2UgKi9cclxuICAgIG9uRmlsdGVyc0NoYW5nZSgpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzQ2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkVkaXQocGljdHVyZTogSW1nUGljdHVyZURUTykge1xyXG4gICAgICB0aGlzLmltZ0V2ZW50Q2FyZFNlcnZpY2UuZW1pdEltZ1RvRWRpdChwaWN0dXJlKTtcclxuICAgIH1cclxuXHJcbiAgICBvblRvZ2dsZVNlbGVjdEltZyhpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgIGlmICh0aGlzLmRpc2FibGUgfHwgdGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQpIHtcclxuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuYWRkSW1nU2VsZWN0ZWQodGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdKTtcclxuICAgICAgICB0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5yZW1vdmVJbWdTZWxlY3RlZEJ5SWQodGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLmlkX2ZpbGUpO1xyXG4gICAgICAgIHRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25SZW1vdmVJbWcocGljdHVyZTogSW1nUGljdHVyZURUTykge1xyXG4gICAgICBwaWN0dXJlLmRlbGV0ZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmltZ01hbmFnZXIucmVtb3ZlSW1nKHBpY3R1cmUuaWRfZmlsZSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIGRhdGEgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWdFdmVudENhcmRTZXJ2aWNlLmltZ1JlbW92ZWQkLm5leHQocGljdHVyZS5pZF9maWxlKTtcclxuICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5yZW1vdmVJbWdTZWxlY3RlZEJ5SWQocGljdHVyZS5pZF9maWxlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgIGNvbnN0IG1zZyA9IGVycm9yLnN0YXR1cyA9PT0gNDA5ID8gIHRoaXMuZXJyb3JBbHJlYWR5VXNlZEltZzogdGhpcy5lcnJvclJlbW92ZUltZztcclxuICAgICAgICAgIHBpY3R1cmUuZGVsZXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KG1zZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25QaWN0dXJlTm90TG9hZGluZyhldmVudCkge1xyXG4gICAgICB0aGlzLmltYWdlTm90Rm91bmRTZXJ2aWNlLmltYWdlTm90Rm91bmQoZXZlbnQudGFyZ2V0LnNyYyk7XHJcbiAgICAgIGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmZha2VJbWdSb3V0ZTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRvd25sb2FkSW1nKGRpc3BsYXlfbmFtZTogc3RyaW5nLCBmaWxlX25hbWU6IHN0cmluZykge1xyXG4gICAgICB0aGlzLmh0dHAuZ2V0KHRoaXMuZ2V0UkFXSW1nUm91dGUoZmlsZV9uYW1lKSwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICBsZXQgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTCh2YWwpO1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWRVcmwodXJsLCBkaXNwbGF5X25hbWUpO1xyXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25OYW1lQ2hhbmdlKGlkX2ZpbGU6IHN0cmluZykge1xyXG4gICAgICB0aGlzLnBpY3R1cmVOYW1lQ2hhbmdlLmVtaXQoe2lkOiBpZF9maWxlLCBwcmV2aW91c05hbWU6IHRoaXMucHJldmlvdXNOYW1lfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRSQVdJbWdSb3V0ZShmaWxlX25hbWU6IHN0cmluZyl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ0NETlNlcnZpY2UuZ2V0VXJsSW1nKCdyYXcnKSArIGZpbGVfbmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9waWN0dXJlTGlzdGVDaGFuZ2UoKSB7XHJcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0Q2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRvd25sb2FkVXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGE6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgYS5ocmVmID0gdXJsO1xyXG4gICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICAgIGEuY2xpY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0Rlc3Ryb3koKSB7XHJcbiAgICAgIGlmICh0aGlzLmdldERhdGFBUElTdWIpIHtcclxuICAgICAgICB0aGlzLmdldERhdGFBUElTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==