@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
@@ -0,0 +1,70 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { ImgEventService } from '../../../../services/img-event.service';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { ImgManagerService } from '../../../../services/img-manager.service';
5
+ import { ImgSelectionService } from '../../../../services/img-selection.service';
6
+ import { ImgCDNService } from '../../../../services/config/img-cdn.service';
7
+ import { TranslateService } from '@ngx-translate/core';
8
+ import { ImagesActionHandler } from '../../images-actions-handler';
9
+ import { easeInOut } from '../../../../animations/easeInOut/ease-in-out.animation';
10
+ import { AlertService } from '../../../../services/alert.service';
11
+ import { ApiService } from '../../../../services/api.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
+ import * as i9 from "@angular/common";
22
+ import * as i10 from "@angular/forms";
23
+ import * as i11 from "../../../../directives/loading.directive";
24
+ import * as i12 from "../../../../pipes/images/img-src.pipe";
25
+ export class ImgCardComponent extends ImagesActionHandler {
26
+ tabDisplayed;
27
+ fullSize;
28
+ picture;
29
+ index;
30
+ focusInput = false;
31
+ toggleImgSelected = new EventEmitter();
32
+ switchDisplayWindow = new EventEmitter();
33
+ isUploadSection = false;
34
+ activeConfirmDelete = false;
35
+ constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
36
+ super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService);
37
+ }
38
+ ngOnInit() {
39
+ this.isUploadSection = this.tabDisplayed === 'img-upload';
40
+ }
41
+ displayLargeWindow() {
42
+ this.switchDisplayWindow.emit(true);
43
+ }
44
+ onToggleImgSelected() {
45
+ this.toggleImgSelected.next();
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCardComponent, 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.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ImgCardComponent, selector: "img-card", inputs: { tabDisplayed: "tabDisplayed", fullSize: "fullSize", picture: "picture", index: "index" }, outputs: { toggleImgSelected: "toggleImgSelected", switchDisplayWindow: "switchDisplayWindow" }, usesInheritance: true, ngImport: i0, template: "<div class=\"addCssPriority\" [@easeInOut]=\"'in'\" [ngClass]=\"{ 'fullSize': fullSize }\">\r\n <div class=\"img-card\">\r\n <div class=\"img-card__container\"\r\n [ngClass]=\"{\r\n 'smallDisplay': stateDisplayed === 'small' || isUploadSection,\r\n 'imgSelected': picture.selected,\r\n 'deletion': picture.deleted}\">\r\n <img\r\n class=\"img-card__container__img\"\r\n [src]=\"picture.file_name | imgSrc : '400'\"\r\n [alt]=\"picture.display_name\"\r\n (click)=\"onToggleImgSelected()\"\r\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\r\n />\r\n <div\r\n class=\"img-card__container__config\"\r\n *ngIf=\"!picture.deleted && stateDisplayed !== 'small'\"\r\n >\r\n <button type=\"button\" class=\"size\"><i class=\"fal fa-image-polaroid\"></i><span>{{picture.raw_height}}x{{picture.raw_width}}</span></button>\r\n <button type=\"button\" class=\"dl\" (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"><i class=\"fal fa-download\"></i><span>{{ 'ImgManager.ImgCard.download' | translate }}</span></button>\r\n <button type=\"button\" class=\"edit\" (click)=\"onEdit(picture)\"><i class=\"far fa-crop-alt\"></i><span>{{ 'ImgManager.ImgCard.edit' | translate }}</span></button>\r\n <button type=\"button\" class=\"deleted\" (click)=\"activeConfirmDelete = true;\"><i class=\"fal fa-times\"></i><span>{{ 'ImgManager.ImgCard.del' | translate }}</span></button>\r\n <button type=\"button\" class=\"selected\" (click)=\"onToggleImgSelected()\" *ngIf=\"stateDisplayed !== 'window'\">\r\n <i *ngIf=\"!picture.selected\" class=\"fal fa-square\"></i>\r\n <i *ngIf=\"picture.selected\" class=\"fa-solid fa-check-square checked\"></i>\r\n <span>{{ 'ImgManager.ImgCard.select' | translate }}</span>\r\n </button>\r\n </div>\r\n <div\r\n class=\"img-card__container__config img-card__container__config--small\"\r\n *ngIf=\"!picture.deleted && stateDisplayed === 'small'\"\r\n >\r\n <button class=\"show-edit\" (click)=\"displayLargeWindow()\"><i class=\"fa-solid fa-edit\"></i></button>\r\n </div>\r\n <div class=\"img-card__container__delete\" [ngClass]=\"{ 'show' : activeConfirmDelete}\">\r\n <span>{{ 'ImgManager.ImgCard.confirmDeleteImg' | translate }}</span>\r\n <div>\r\n <button (click)=\"activeConfirmDelete = false;\">{{ 'no' | translate }}</button>\r\n <button (click)=\"onRemoveImg(picture);activeConfirmDelete = false;\">{{ 'yes' | translate }}</button>\r\n </div>\r\n </div>\r\n <div class=\"img-card__container__valid\" *ngIf=\"stateDisplayed === 'small' && tabDisplayed == 'img-upload'\">\r\n <i class=\"far fa-check\"></i>\r\n <span>{{ 'ImgManager.ImgCard.validImgSmall' | translate }}</span>\r\n </div>\r\n <div\r\n *ngIf=\"picture.imgNotLoaded\"\r\n class=\"img-card__container__overlay\"\r\n [ngClass]=\"{'img-card__container__overlay--smallDisplay': stateDisplayed === 'small' || isUploadSection}\">\r\n <i (click)=\"onToggleImgSelected()\" class=\"fad fa-folder-times\"></i>\r\n </div>\r\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"picture.deleted\"></span>\r\n\r\n </div>\r\n <div\r\n class=\"img-card__nameContainer\"\r\n [ngClass]=\"{'smallNameDisplay': stateDisplayed === 'small' || isUploadSection, 'focus': focusInput}\">\r\n <input\r\n type=\"text\"\r\n class=\"wzImgMngInput img-card__nameContainer__name\"\r\n [(ngModel)]=\"picture.display_name\"\r\n (ngModelChange)=\"onNameChange(picture.id_file)\"\r\n [ngModelOptions]=\"{standalone: true, updateOn: 'blur'}\"\r\n (focus)=\"previousName=picture.display_name;focusInput = true;\"\r\n (blur)=\"focusInput = false;\"\r\n >\r\n <span>{{picture.display_name}}</span>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i11.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i12.ImageSrcPipe, name: "imgSrc" }], animations: [
49
+ easeInOut
50
+ ] });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCardComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'img-card', animations: [
55
+ easeInOut
56
+ ], template: "<div class=\"addCssPriority\" [@easeInOut]=\"'in'\" [ngClass]=\"{ 'fullSize': fullSize }\">\r\n <div class=\"img-card\">\r\n <div class=\"img-card__container\"\r\n [ngClass]=\"{\r\n 'smallDisplay': stateDisplayed === 'small' || isUploadSection,\r\n 'imgSelected': picture.selected,\r\n 'deletion': picture.deleted}\">\r\n <img\r\n class=\"img-card__container__img\"\r\n [src]=\"picture.file_name | imgSrc : '400'\"\r\n [alt]=\"picture.display_name\"\r\n (click)=\"onToggleImgSelected()\"\r\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\r\n />\r\n <div\r\n class=\"img-card__container__config\"\r\n *ngIf=\"!picture.deleted && stateDisplayed !== 'small'\"\r\n >\r\n <button type=\"button\" class=\"size\"><i class=\"fal fa-image-polaroid\"></i><span>{{picture.raw_height}}x{{picture.raw_width}}</span></button>\r\n <button type=\"button\" class=\"dl\" (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"><i class=\"fal fa-download\"></i><span>{{ 'ImgManager.ImgCard.download' | translate }}</span></button>\r\n <button type=\"button\" class=\"edit\" (click)=\"onEdit(picture)\"><i class=\"far fa-crop-alt\"></i><span>{{ 'ImgManager.ImgCard.edit' | translate }}</span></button>\r\n <button type=\"button\" class=\"deleted\" (click)=\"activeConfirmDelete = true;\"><i class=\"fal fa-times\"></i><span>{{ 'ImgManager.ImgCard.del' | translate }}</span></button>\r\n <button type=\"button\" class=\"selected\" (click)=\"onToggleImgSelected()\" *ngIf=\"stateDisplayed !== 'window'\">\r\n <i *ngIf=\"!picture.selected\" class=\"fal fa-square\"></i>\r\n <i *ngIf=\"picture.selected\" class=\"fa-solid fa-check-square checked\"></i>\r\n <span>{{ 'ImgManager.ImgCard.select' | translate }}</span>\r\n </button>\r\n </div>\r\n <div\r\n class=\"img-card__container__config img-card__container__config--small\"\r\n *ngIf=\"!picture.deleted && stateDisplayed === 'small'\"\r\n >\r\n <button class=\"show-edit\" (click)=\"displayLargeWindow()\"><i class=\"fa-solid fa-edit\"></i></button>\r\n </div>\r\n <div class=\"img-card__container__delete\" [ngClass]=\"{ 'show' : activeConfirmDelete}\">\r\n <span>{{ 'ImgManager.ImgCard.confirmDeleteImg' | translate }}</span>\r\n <div>\r\n <button (click)=\"activeConfirmDelete = false;\">{{ 'no' | translate }}</button>\r\n <button (click)=\"onRemoveImg(picture);activeConfirmDelete = false;\">{{ 'yes' | translate }}</button>\r\n </div>\r\n </div>\r\n <div class=\"img-card__container__valid\" *ngIf=\"stateDisplayed === 'small' && tabDisplayed == 'img-upload'\">\r\n <i class=\"far fa-check\"></i>\r\n <span>{{ 'ImgManager.ImgCard.validImgSmall' | translate }}</span>\r\n </div>\r\n <div\r\n *ngIf=\"picture.imgNotLoaded\"\r\n class=\"img-card__container__overlay\"\r\n [ngClass]=\"{'img-card__container__overlay--smallDisplay': stateDisplayed === 'small' || isUploadSection}\">\r\n <i (click)=\"onToggleImgSelected()\" class=\"fad fa-folder-times\"></i>\r\n </div>\r\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"picture.deleted\"></span>\r\n\r\n </div>\r\n <div\r\n class=\"img-card__nameContainer\"\r\n [ngClass]=\"{'smallNameDisplay': stateDisplayed === 'small' || isUploadSection, 'focus': focusInput}\">\r\n <input\r\n type=\"text\"\r\n class=\"wzImgMngInput img-card__nameContainer__name\"\r\n [(ngModel)]=\"picture.display_name\"\r\n (ngModelChange)=\"onNameChange(picture.id_file)\"\r\n [ngModelOptions]=\"{standalone: true, updateOn: 'blur'}\"\r\n (focus)=\"previousName=picture.display_name;focusInput = true;\"\r\n (blur)=\"focusInput = false;\"\r\n >\r\n <span>{{picture.display_name}}</span>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n" }]
57
+ }], ctorParameters: () => [{ 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: { tabDisplayed: [{
58
+ type: Input
59
+ }], fullSize: [{
60
+ type: Input
61
+ }], picture: [{
62
+ type: Input
63
+ }], index: [{
64
+ type: Input
65
+ }], toggleImgSelected: [{
66
+ type: Output
67
+ }], switchDisplayWindow: [{
68
+ type: Output
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlcy12aWV3L21vc2FpYy12aWV3L2ltZy1jYXJkL2ltZy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9tb3NhaWMtdmlldy9pbWctY2FyZC9pbWctY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3REFBd0QsQ0FBQTtBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVM5RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBR3ZELFlBQVksQ0FBZTtJQUUzQixRQUFRLENBQVU7SUFFbEIsT0FBTyxDQUFnQjtJQUV2QixLQUFLLENBQVM7SUFDZCxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLGlCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzNELG1CQUFtQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWhFLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBRTVCLFlBQ0UsVUFBNkIsRUFDN0IsbUJBQXdDLEVBQ3hDLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLG1CQUFvQyxFQUNwQyxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsVUFBc0I7UUFFdEIsS0FBSyxDQUNILFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsSUFBSSxFQUNKLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQztJQUM1RCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzt1R0FyRFUsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsNFFDckI3QiwrcklBdUVBLDIvQkR0RGM7WUFDVixTQUFTO1NBQ1Y7OzJGQUVVLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxVQUFVLGNBRVI7d0JBQ1YsU0FBUztxQkFDVjs4UkFLRCxZQUFZO3NCQURYLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1nRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWdDRE5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvY29uZmlnL2ltZy1jZG4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgSW1hZ2VzQWN0aW9uSGFuZGxlciB9IGZyb20gJy4uLy4uL2ltYWdlcy1hY3Rpb25zLWhhbmRsZXInO1xyXG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nXHJcbmltcG9ydCB7IHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uLy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW1nLWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZWFzZUluT3V0XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1nQ2FyZENvbXBvbmVudCBleHRlbmRzIEltYWdlc0FjdGlvbkhhbmRsZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkRpc3BsYXllZDogdGFiRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgZnVsbFNpemU6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBwaWN0dXJlOiBJbWdQaWN0dXJlRFRPO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kZXg6IG51bWJlcjtcclxuICBmb2N1c0lucHV0ID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHRvZ2dsZUltZ1NlbGVjdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHN3aXRjaERpc3BsYXlXaW5kb3c6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNVcGxvYWRTZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWN0aXZlQ29uZmlybURlbGV0ZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcclxuICAgIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBpbWdDRE5TZXJ2aWNlOiBJbWdDRE5TZXJ2aWNlLFxyXG4gICAgaW1nRXZlbnRDYXJkU2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxyXG4gICAgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgYXBpU2VydmljZTogQXBpU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGltZ01hbmFnZXIsXHJcbiAgICAgIGltZ1NlbGVjdGlvblNlcnZpY2UsXHJcbiAgICAgIGh0dHAsXHJcbiAgICAgIGltZ0NETlNlcnZpY2UsXHJcbiAgICAgIGltZ0V2ZW50Q2FyZFNlcnZpY2UsXHJcbiAgICAgIGFsZXJ0U2VydmljZSxcclxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgYXBpU2VydmljZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1VwbG9hZFNlY3Rpb24gPSB0aGlzLnRhYkRpc3BsYXllZCA9PT0gJ2ltZy11cGxvYWQnO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheUxhcmdlV2luZG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zd2l0Y2hEaXNwbGF5V2luZG93LmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZUltZ1NlbGVjdGVkKCkge1xyXG4gICAgdGhpcy50b2dnbGVJbWdTZWxlY3RlZC5uZXh0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZGRDc3NQcmlvcml0eVwiIFtAZWFzZUluT3V0XT1cIidpbidcIiBbbmdDbGFzc109XCJ7ICdmdWxsU2l6ZSc6IGZ1bGxTaXplIH1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaW1nLWNhcmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImltZy1jYXJkX19jb250YWluZXJcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAnc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgfHwgaXNVcGxvYWRTZWN0aW9uLFxyXG4gICAgICAgICAgJ2ltZ1NlbGVjdGVkJzogcGljdHVyZS5zZWxlY3RlZCxcclxuICAgICAgICAgICdkZWxldGlvbic6IHBpY3R1cmUuZGVsZXRlZH1cIj5cclxuICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgY2xhc3M9XCJpbWctY2FyZF9fY29udGFpbmVyX19pbWdcIlxyXG4gICAgICAgICAgICBbc3JjXT1cInBpY3R1cmUuZmlsZV9uYW1lIHwgaW1nU3JjIDogJzQwMCdcIlxyXG4gICAgICAgICAgICBbYWx0XT1cInBpY3R1cmUuZGlzcGxheV9uYW1lXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlSW1nU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgIChlcnJvcik9XCJwaWN0dXJlLmltZ05vdExvYWRlZD10cnVlO29uUGljdHVyZU5vdExvYWRpbmcoJGV2ZW50KTtcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJpbWctY2FyZF9fY29udGFpbmVyX19jb25maWdcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFwaWN0dXJlLmRlbGV0ZWQgJiYgc3RhdGVEaXNwbGF5ZWQgIT09ICdzbWFsbCdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzaXplXCI+PGkgY2xhc3M9XCJmYWwgZmEtaW1hZ2UtcG9sYXJvaWRcIj48L2k+PHNwYW4+e3twaWN0dXJlLnJhd19oZWlnaHR9fXh7e3BpY3R1cmUucmF3X3dpZHRofX08L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJkbFwiIChjbGljayk9XCJvbkRvd25sb2FkSW1nKHBpY3R1cmUuZGlzcGxheV9uYW1lLCBwaWN0dXJlLmZpbGVfbmFtZSlcIj48aSBjbGFzcz1cImZhbCBmYS1kb3dubG9hZFwiPjwvaT48c3Bhbj57eyAnSW1nTWFuYWdlci5JbWdDYXJkLmRvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImVkaXRcIiAoY2xpY2spPVwib25FZGl0KHBpY3R1cmUpXCI+PGkgY2xhc3M9XCJmYXIgZmEtY3JvcC1hbHRcIj48L2k+PHNwYW4+e3sgJ0ltZ01hbmFnZXIuSW1nQ2FyZC5lZGl0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImRlbGV0ZWRcIiAoY2xpY2spPVwiYWN0aXZlQ29uZmlybURlbGV0ZSA9IHRydWU7XCI+PGkgY2xhc3M9XCJmYWwgZmEtdGltZXNcIj48L2k+PHNwYW4+e3sgJ0ltZ01hbmFnZXIuSW1nQ2FyZC5kZWwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2VsZWN0ZWRcIiAoY2xpY2spPVwib25Ub2dnbGVJbWdTZWxlY3RlZCgpXCIgKm5nSWY9XCJzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdydcIj5cclxuICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcGljdHVyZS5zZWxlY3RlZFwiIGNsYXNzPVwiZmFsIGZhLXNxdWFyZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJwaWN0dXJlLnNlbGVjdGVkXCIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVjay1zcXVhcmUgY2hlY2tlZFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0ltZ01hbmFnZXIuSW1nQ2FyZC5zZWxlY3QnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW1nLWNhcmRfX2NvbnRhaW5lcl9fY29uZmlnIGltZy1jYXJkX19jb250YWluZXJfX2NvbmZpZy0tc21hbGxcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFwaWN0dXJlLmRlbGV0ZWQgJiYgc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCdcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2hvdy1lZGl0XCIgKGNsaWNrKT1cImRpc3BsYXlMYXJnZVdpbmRvdygpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1lZGl0XCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLWNhcmRfX2NvbnRhaW5lcl9fZGVsZXRlXCIgW25nQ2xhc3NdPVwieyAnc2hvdycgOiAgYWN0aXZlQ29uZmlybURlbGV0ZX1cIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgJ0ltZ01hbmFnZXIuSW1nQ2FyZC5jb25maXJtRGVsZXRlSW1nJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhY3RpdmVDb25maXJtRGVsZXRlID0gZmFsc2U7XCI+e3sgJ25vJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uUmVtb3ZlSW1nKHBpY3R1cmUpO2FjdGl2ZUNvbmZpcm1EZWxldGUgPSBmYWxzZTtcIj57eyAneWVzJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImltZy1jYXJkX19jb250YWluZXJfX3ZhbGlkXCIgKm5nSWY9XCJzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyAmJiB0YWJEaXNwbGF5ZWQgPT0gJ2ltZy11cGxvYWQnXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrXCI+PC9pPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyAnSW1nTWFuYWdlci5JbWdDYXJkLnZhbGlkSW1nU21hbGwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0lmPVwicGljdHVyZS5pbWdOb3RMb2FkZWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImltZy1jYXJkX19jb250YWluZXJfX292ZXJsYXlcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy1jYXJkX19jb250YWluZXJfX292ZXJsYXktLXNtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnIHx8IGlzVXBsb2FkU2VjdGlvbn1cIj5cclxuICAgICAgICAgICAgICAgIDxpIChjbGljayk9XCJvblRvZ2dsZUltZ1NlbGVjdGVkKClcIiBjbGFzcz1cImZhZCBmYS1mb2xkZXItdGltZXNcIj48L2k+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuIGJ0bkxvYWRpbmdBbmltIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIiAqbmdJZj1cInBpY3R1cmUuZGVsZXRlZFwiPjwvc3Bhbj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJpbWctY2FyZF9fbmFtZUNvbnRhaW5lclwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydzbWFsbE5hbWVEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgfHwgaXNVcGxvYWRTZWN0aW9uLCAnZm9jdXMnOiBmb2N1c0lucHV0fVwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ3ekltZ01uZ0lucHV0IGltZy1jYXJkX19uYW1lQ29udGFpbmVyX19uYW1lXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwicGljdHVyZS5kaXNwbGF5X25hbWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25OYW1lQ2hhbmdlKHBpY3R1cmUuaWRfZmlsZSlcIlxyXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlLCB1cGRhdGVPbjogJ2JsdXInfVwiXHJcbiAgICAgICAgICAoZm9jdXMpPVwicHJldmlvdXNOYW1lPXBpY3R1cmUuZGlzcGxheV9uYW1lO2ZvY3VzSW5wdXQgPSB0cnVlO1wiXHJcbiAgICAgICAgICAoYmx1cik9XCJmb2N1c0lucHV0ID0gZmFsc2U7XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPHNwYW4+e3twaWN0dXJlLmRpc3BsYXlfbmFtZX19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,73 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { listAnnimation } from '../../../animations/listAnnimation/list.animation';
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 { ImagesActionHandler } from '../images-actions-handler';
11
+ import { ApiService } from '../../../services/api.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
+ import * as i9 from "@angular/common";
22
+ import * as i10 from "@angular/forms";
23
+ import * as i11 from "./img-card/img-card.component";
24
+ import * as i12 from "../../loader/loader.component";
25
+ import * as i13 from "../../shared/input-search/input-search.component";
26
+ import * as i14 from "../../shared/pagination/pagination.component";
27
+ import * as i15 from "../../../pipes/number-to-array.pipe";
28
+ export class MosaicViewComponent extends ImagesActionHandler {
29
+ tabDisplayed;
30
+ fullSize;
31
+ nbFakeImg = 0;
32
+ switchDisplayWindow = new EventEmitter();
33
+ constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
34
+ super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService);
35
+ }
36
+ ngOnInit() {
37
+ }
38
+ onSearchChange(event) {
39
+ // Reset table filters
40
+ this.tableFilters.sort = undefined;
41
+ this.tableFilters.order = undefined;
42
+ this.tableFilters.currentPage = 1;
43
+ this.filtersChange.emit(this.tableFilters);
44
+ }
45
+ onCardRenamePicture(pictureRenamed) {
46
+ this.pictureNameChange.next(pictureRenamed);
47
+ }
48
+ switchDisplayWindowCard() {
49
+ this.switchDisplayWindow.emit(true);
50
+ }
51
+ trackById(index, picture) {
52
+ return picture.id;
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: MosaicViewComponent, 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.Component });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: MosaicViewComponent, selector: "mosaic-view", inputs: { tabDisplayed: "tabDisplayed", fullSize: "fullSize", nbFakeImg: "nbFakeImg" }, outputs: { switchDisplayWindow: "switchDisplayWindow" }, usesInheritance: true, ngImport: i0, template: "<div class=\"mosaic\" [ngClass]=\"{'fullSize': fullSize, 'small': stateDisplayed === 'small', 'mosaic--displayPexelsImg': displayPexelsResults}\">\r\n <!-- Search section -->\r\n <div\r\n class=\"mosaic__search\"\r\n [ngClass]=\"{'mosaic__search--small': stateDisplayed === 'small'}\"\r\n *ngIf=\"tabDisplayed !== 'img-upload'\">\r\n <wz-input-search\r\n [(ngModel)]=\"tableFilters.searchValue\"\r\n (changeDebounced)=\"onSearchChange($event)\"\r\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\r\n [smallPadding]=\"stateDisplayed === 'small'\"\r\n ></wz-input-search>\r\n </div>\r\n\r\n <!-- Cards section -->\r\n <div\r\n class=\"mosaic__container__cards\"\r\n [ngClass]=\"{'mosaic__container__cards--padding': stateDisplayed !== 'window'}\"\r\n [@listAnimation]=\"picturesList.length\"\r\n *ngIf=\"!isLoading && !displayPexelsResults\"\r\n >\r\n <img-card\r\n *ngFor=\"let picture of picturesList; let index = index; trackBy: trackById \"\r\n [picture]=\"picture\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabDisplayed\"\r\n [disable]=\"disable\"\r\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\r\n (pictureNameChange)=\"onCardRenamePicture($event)\"\r\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\r\n [fullSize]=\"fullSize\"\r\n ></img-card>\r\n <div\r\n *ngFor=\"let fakeImg of nbFakeImg | numberToArray\"\r\n class=\"mosaic__container__cards__fakeImg\"\r\n [ngClass]=\"{'mosaic__container__cards__fakeImg--smallFakeImg': stateDisplayed === 'small' || tabDisplayed === 'img-upload'}\">\r\n </div>\r\n </div>\r\n\r\n <!-- Loader section -->\r\n <div class=\"mosaic__container__loader\" *ngIf=\"isLoading\">\r\n <wz-loader [small]=\"true\"></wz-loader>\r\n </div>\r\n\r\n <!-- Pagination section -->\r\n <div class=\"mosaic__pagination\" *ngIf=\"picturesList.length && tabDisplayed !== 'img-upload' && !displayPexelsResults\" >\r\n <wz-pagination\r\n [pagination]=\"tableFilters\"\r\n (pageChange)=\"onFiltersChange()\"\r\n >\r\n </wz-pagination>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.ImgCardComponent, selector: "img-card", inputs: ["tabDisplayed", "fullSize", "picture", "index"], outputs: ["toggleImgSelected", "switchDisplayWindow"] }, { kind: "component", type: i12.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "component", type: i13.InputSearchComponent, selector: "wz-input-search", inputs: ["placeholder", "smallPadding", "id"], outputs: ["changeDebounced"] }, { kind: "component", type: i14.PaginationComponent, selector: "wz-pagination", inputs: ["pagination"], outputs: ["pageChange"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i15.NumberToArray, name: "numberToArray" }], animations: [
56
+ listAnnimation
57
+ ] });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: MosaicViewComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'mosaic-view', animations: [
62
+ listAnnimation
63
+ ], template: "<div class=\"mosaic\" [ngClass]=\"{'fullSize': fullSize, 'small': stateDisplayed === 'small', 'mosaic--displayPexelsImg': displayPexelsResults}\">\r\n <!-- Search section -->\r\n <div\r\n class=\"mosaic__search\"\r\n [ngClass]=\"{'mosaic__search--small': stateDisplayed === 'small'}\"\r\n *ngIf=\"tabDisplayed !== 'img-upload'\">\r\n <wz-input-search\r\n [(ngModel)]=\"tableFilters.searchValue\"\r\n (changeDebounced)=\"onSearchChange($event)\"\r\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\r\n [smallPadding]=\"stateDisplayed === 'small'\"\r\n ></wz-input-search>\r\n </div>\r\n\r\n <!-- Cards section -->\r\n <div\r\n class=\"mosaic__container__cards\"\r\n [ngClass]=\"{'mosaic__container__cards--padding': stateDisplayed !== 'window'}\"\r\n [@listAnimation]=\"picturesList.length\"\r\n *ngIf=\"!isLoading && !displayPexelsResults\"\r\n >\r\n <img-card\r\n *ngFor=\"let picture of picturesList; let index = index; trackBy: trackById \"\r\n [picture]=\"picture\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabDisplayed\"\r\n [disable]=\"disable\"\r\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\r\n (pictureNameChange)=\"onCardRenamePicture($event)\"\r\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\r\n [fullSize]=\"fullSize\"\r\n ></img-card>\r\n <div\r\n *ngFor=\"let fakeImg of nbFakeImg | numberToArray\"\r\n class=\"mosaic__container__cards__fakeImg\"\r\n [ngClass]=\"{'mosaic__container__cards__fakeImg--smallFakeImg': stateDisplayed === 'small' || tabDisplayed === 'img-upload'}\">\r\n </div>\r\n </div>\r\n\r\n <!-- Loader section -->\r\n <div class=\"mosaic__container__loader\" *ngIf=\"isLoading\">\r\n <wz-loader [small]=\"true\"></wz-loader>\r\n </div>\r\n\r\n <!-- Pagination section -->\r\n <div class=\"mosaic__pagination\" *ngIf=\"picturesList.length && tabDisplayed !== 'img-upload' && !displayPexelsResults\" >\r\n <wz-pagination\r\n [pagination]=\"tableFilters\"\r\n (pageChange)=\"onFiltersChange()\"\r\n >\r\n </wz-pagination>\r\n </div>\r\n\r\n</div>\r\n" }]
64
+ }], ctorParameters: () => [{ 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: { tabDisplayed: [{
65
+ type: Input
66
+ }], fullSize: [{
67
+ type: Input
68
+ }], nbFakeImg: [{
69
+ type: Input
70
+ }], switchDisplayWindow: [{
71
+ type: Output
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlcy12aWV3L21vc2FpYy12aWV3L21vc2FpYy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9tb3NhaWMtdmlldy9tb3NhaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVMzRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBRzFELFlBQVksQ0FBZTtJQUUzQixRQUFRLENBQVU7SUFFbEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUV0QixtQkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRSxZQUNFLFVBQTZCLEVBQzdCLG1CQUF3QyxFQUN4QyxJQUFnQixFQUNoQixhQUE0QixFQUM1QixtQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLFVBQXNCO1FBRXRCLEtBQUssQ0FDSCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLElBQUksRUFDSixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUFpQztRQUNuRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxPQUFZO1FBQ25DLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUNwQixDQUFDO3VHQXREVSxtQkFBbUI7MkZBQW5CLG1CQUFtQiwyTkNwQmhDLHNyRUFzREEsMjJDRHRDYztZQUNWLGNBQWM7U0FDZjs7MkZBRVUsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGFBQWEsY0FFWDt3QkFDVixjQUFjO3FCQUNmOzhSQUtELFlBQVk7c0JBRFgsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgbGlzdEFubmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb25zL2xpc3RBbm5pbWF0aW9uL2xpc3QuYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgUGljdHVyZU5hbWVVcGRhdGUsIHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1nQ0ROU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9pbWctY2RuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWFnZXNBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vaW1hZ2VzLWFjdGlvbnMtaGFuZGxlcic7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21vc2FpYy12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9zYWljLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGxpc3RBbm5pbWF0aW9uXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9zYWljVmlld0NvbXBvbmVudCBleHRlbmRzIEltYWdlc0FjdGlvbkhhbmRsZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkRpc3BsYXllZDogdGFiRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgZnVsbFNpemU6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBuYkZha2VJbWc6IG51bWJlciA9IDA7XHJcbiAgQE91dHB1dCgpXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcclxuICAgIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBpbWdDRE5TZXJ2aWNlOiBJbWdDRE5TZXJ2aWNlLFxyXG4gICAgaW1nRXZlbnRDYXJkU2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxyXG4gICAgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgYXBpU2VydmljZTogQXBpU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoXHJcbiAgICAgIGltZ01hbmFnZXIsXHJcbiAgICAgIGltZ1NlbGVjdGlvblNlcnZpY2UsXHJcbiAgICAgIGh0dHAsXHJcbiAgICAgIGltZ0NETlNlcnZpY2UsXHJcbiAgICAgIGltZ0V2ZW50Q2FyZFNlcnZpY2UsXHJcbiAgICAgIGFsZXJ0U2VydmljZSxcclxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgYXBpU2VydmljZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hDaGFuZ2UoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgLy8gUmVzZXQgdGFibGUgZmlsdGVyc1xyXG4gICAgdGhpcy50YWJsZUZpbHRlcnMuc29ydCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudGFibGVGaWx0ZXJzLm9yZGVyID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50YWJsZUZpbHRlcnMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlLmVtaXQodGhpcy50YWJsZUZpbHRlcnMpO1xyXG4gIH1cclxuXHJcbiAgb25DYXJkUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcclxuICAgIHRoaXMucGljdHVyZU5hbWVDaGFuZ2UubmV4dChwaWN0dXJlUmVuYW1lZCk7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpIHtcclxuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIsIHBpY3R1cmU6IGFueSkge1xyXG4gICAgcmV0dXJuIHBpY3R1cmUuaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb3NhaWNcIiBbbmdDbGFzc109XCJ7J2Z1bGxTaXplJzogZnVsbFNpemUsICdzbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLCAnbW9zYWljLS1kaXNwbGF5UGV4ZWxzSW1nJzogZGlzcGxheVBleGVsc1Jlc3VsdHN9XCI+XHJcbiAgPCEtLSBTZWFyY2ggc2VjdGlvbiAtLT5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIm1vc2FpY19fc2VhcmNoXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnbW9zYWljX19zZWFyY2gtLXNtYWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCd9XCJcclxuICAgICpuZ0lmPVwidGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCdcIj5cclxuICAgICAgPHd6LWlucHV0LXNlYXJjaFxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidGFibGVGaWx0ZXJzLnNlYXJjaFZhbHVlXCJcclxuICAgICAgICAoY2hhbmdlRGVib3VuY2VkKT1cIm9uU2VhcmNoQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInSW1nTWFuYWdlci5TZWFyY2hCYXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbc21hbGxQYWRkaW5nXT1cInN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnXCJcclxuICAgICAgPjwvd3otaW5wdXQtc2VhcmNoPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIENhcmRzIHNlY3Rpb24gLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJtb3NhaWNfX2NvbnRhaW5lcl9fY2FyZHNcIlxyXG4gICAgW25nQ2xhc3NdPVwieydtb3NhaWNfX2NvbnRhaW5lcl9fY2FyZHMtLXBhZGRpbmcnOiBzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdyd9XCJcclxuICAgIFtAbGlzdEFuaW1hdGlvbl09XCJwaWN0dXJlc0xpc3QubGVuZ3RoXCJcclxuICAgICpuZ0lmPVwiIWlzTG9hZGluZyAmJiAhZGlzcGxheVBleGVsc1Jlc3VsdHNcIlxyXG4gICAgPlxyXG4gICAgICA8aW1nLWNhcmRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgcGljdHVyZSBvZiBwaWN0dXJlc0xpc3Q7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SWQgXCJcclxuICAgICAgICBbcGljdHVyZV09XCJwaWN0dXJlXCJcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiRGlzcGxheWVkXCJcclxuICAgICAgICBbZGlzYWJsZV09XCJkaXNhYmxlXCJcclxuICAgICAgICAodG9nZ2xlSW1nU2VsZWN0ZWQpPVwib25Ub2dnbGVTZWxlY3RJbWcoaW5kZXgpXCJcclxuICAgICAgICAocGljdHVyZU5hbWVDaGFuZ2UpPVwib25DYXJkUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcclxuICAgICAgICAoc3dpdGNoRGlzcGxheVdpbmRvdyk9XCJzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpXCJcclxuICAgICAgICBbZnVsbFNpemVdPVwiZnVsbFNpemVcIlxyXG4gICAgICA+PC9pbWctY2FyZD5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBmYWtlSW1nIG9mIG5iRmFrZUltZyB8IG51bWJlclRvQXJyYXlcIlxyXG4gICAgICAgIGNsYXNzPVwibW9zYWljX19jb250YWluZXJfX2NhcmRzX19mYWtlSW1nXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J21vc2FpY19fY29udGFpbmVyX19jYXJkc19fZmFrZUltZy0tc21hbGxGYWtlSW1nJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcgfHwgdGFiRGlzcGxheWVkID09PSAnaW1nLXVwbG9hZCd9XCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIExvYWRlciBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJtb3NhaWNfX2NvbnRhaW5lcl9fbG9hZGVyXCIgICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICA8d3otbG9hZGVyIFtzbWFsbF09XCJ0cnVlXCI+PC93ei1sb2FkZXI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUGFnaW5hdGlvbiBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJtb3NhaWNfX3BhZ2luYXRpb25cIiAqbmdJZj1cInBpY3R1cmVzTGlzdC5sZW5ndGggJiYgdGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCcgJiYgIWRpc3BsYXlQZXhlbHNSZXN1bHRzXCIgPlxyXG4gICAgPHd6LXBhZ2luYXRpb25cclxuICAgIFtwYWdpbmF0aW9uXT1cInRhYmxlRmlsdGVyc1wiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJvbkZpbHRlcnNDaGFuZ2UoKVwiXHJcbiAgICA+XHJcbiAgICA8L3d6LXBhZ2luYXRpb24+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,48 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Component } from '@angular/core';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { listAnnimation } from '../../../animations/listAnnimation/list.animation';
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 { ImagesActionHandler } from '../images-actions-handler';
11
+ import { ApiService } from '../../../services/api.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
+ import * as i9 from "@angular/common";
22
+ import * as i10 from "@angular/forms";
23
+ import * as i11 from "../../shared/dropdown/dropdown.component";
24
+ import * as i12 from "../../shared/table/table.component";
25
+ import * as i13 from "../../../directives/table/column.directive";
26
+ import * as i14 from "../../../directives/table/checkBoxRow.directive";
27
+ import * as i15 from "../../../directives/table/columnHeader.directive";
28
+ import * as i16 from "../../../directives/table/raw.directive";
29
+ import * as i17 from "../../../pipes/images/img-src.pipe";
30
+ export class TableViewComponent extends ImagesActionHandler {
31
+ dataTableName = 'imgagesView'; // Name of your table
32
+ constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
33
+ super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService);
34
+ }
35
+ ngOnInit() {
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableViewComponent, 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.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TableViewComponent, selector: "table-view", usesInheritance: true, ngImport: i0, template: "<div class=\"table-view\" [@listAnimation]=\"picturesList.length\">\n <wz-table\n [checkbox]=\"true\"\n (toggleAllCheckBox)=\"onToggleAllCheckBoxRow($event)\"\n [(tableFilters)]=\"tableFilters\"\n (tableFiltersChange)=\"onFiltersChange()\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n [disablePagniation]=\"displayPexelsResults\"\n [isLoading]=\"isLoading\"\n >\n <!-- Header Section -->\n <div\n headerCell\n [headerName]=\"'ImgManager.ImgList.titleImgName' | translate\"\n columnSize=\"2\"\n sortName=\"name\"\n ></div>\n <div\n headerCell\n centerCell=\"center\"\n [headerName]=\"'ImgManager.ImgList.titleResolution' | translate\"\n ></div>\n <div headerCell columnSize=\"0\"></div>\n\n <!-- Body Section -->\n <div\n tableRow\n checkBoxRow\n [checkBoxValue]=\"picture.delSelected\"\n (checkBoxValueChange)=\"onToggleDelSelection(index)\"\n *ngFor=\"let picture of picturesList; let index = index\"\n >\n\n <div tableColumn columnSize=\"2\">\n <div class=\"table-view__row__container\">\n <div\n class=\"table-view__row__container__imgContainer\"\n [ngClass]=\"{'imgSelected': picture.selected}\"\n (click)=\"onToggleSelectImg(index)\">\n <img\n class=\"table-view__row__container__imgContainer__img\"\n [src]=\"picture.file_name | imgSrc : '100'\"\n alt=\"picture.display_name\"\n [ngClass]=\"{'pictureDeletion': picture.deleted}\"\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\n />\n <!-- If the img is not loaded, or the link is broken, an icon is displayed -->\n <div\n *ngIf=\"picture.imgNotLoaded\"\n class=\"table-view__row__container__imgContainer__overlay\"\n >\n <i class=\"fad fa-folder-times\"></i>\n </div>\n </div>\n <input\n type=\"text\"\n class=\"wzImgMngInput table-view__row__container__name\"\n [(ngModel)]=\"picture.display_name\"\n (focus)=\"previousName=picture.display_name\"\n (blur)=\"onNameChange(picture.id_file)\"\n (click)=\"onToggleDelSelection(index)\"\n [ngClass]=\"{'desabled': picture.deleted}\"\n [disabled]=\"picture.deleted\"\n >\n </div>\n </div>\n\n <div\n tableColumn\n centerCell=\"center\"\n (click)=\"onToggleDelSelection(index)\"\n >\n <p class=\"grey\">{{picture.raw_height}}x{{picture.raw_width}}</p>\n </div>\n\n <div tableColumn centerCell=\"center\" columnSize=\"0\" class=\"table-view__dropdown-options\">\n <!-- Dropdown -->\n <dropdown dropdownId=\"dropdown-options\" [disable]=\"picture.deleted\">\n <ng-container label>\n <div class=\"table-view__dropdown-options__label rotate\">\n <span> <i class=\"far fa-ellipsis-h is-size-4\" aria-haspopup=\"true\" aria-controls=\"dropdown-menu\"> </i> </span>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"\n >\n <i class=\"far fa-download download\"></i>&nbsp;\n <p>{{ 'ImgManager.ImgList.download' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onEdit(picture)\"\n >\n <i class=\"far fa-crop-alt edit\"></i>&nbsp;\n <p>{{ 'ImgManager.ImgList.edit' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onRemoveImg(picture)\"\n >\n <i class=\"fal fa-times deleted\"></i>&nbsp;\n <p>{{ 'ImgManager.ImgList.remove' | translate }}</p>\n </div>\n </ng-container>\n </dropdown>\n </div>\n </div>\n </wz-table>\n</div>\n", dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.DropdownComponent, selector: "dropdown", inputs: ["dropDownMenuClass", "disable"] }, { kind: "component", type: i12.TableComponent, selector: "wz-table", inputs: ["tableFilters", "tableRoutingName", "placeholder", "checkbox", "disableSearch", "disablePagniation", "isLoading"], outputs: ["tableFiltersChange", "toggleAllCheckBox"] }, { kind: "directive", type: i13.TableColumn, selector: "[tableColumn]", inputs: ["columnSize", "centerCell"] }, { kind: "directive", type: i14.CheckBoxRow, selector: "[checkBoxRow]", inputs: ["checkBoxId", "checkBoxName", "checkBoxValue"], outputs: ["checkBoxValueChange"] }, { kind: "directive", type: i15.TableColumnHeader, selector: "[headerCell]", inputs: ["headerName", "columnSize", "filterRouting", "tableName", "sortName", "centerCell", "tableFilters"], outputs: ["onSortChange", "tableFiltersChange"] }, { kind: "directive", type: i16.TableRow, selector: "[tableRow]" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i17.ImageSrcPipe, name: "imgSrc" }], animations: [
39
+ listAnnimation
40
+ ] });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableViewComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'table-view', animations: [
45
+ listAnnimation
46
+ ], template: "<div class=\"table-view\" [@listAnimation]=\"picturesList.length\">\n <wz-table\n [checkbox]=\"true\"\n (toggleAllCheckBox)=\"onToggleAllCheckBoxRow($event)\"\n [(tableFilters)]=\"tableFilters\"\n (tableFiltersChange)=\"onFiltersChange()\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n [disablePagniation]=\"displayPexelsResults\"\n [isLoading]=\"isLoading\"\n >\n <!-- Header Section -->\n <div\n headerCell\n [headerName]=\"'ImgManager.ImgList.titleImgName' | translate\"\n columnSize=\"2\"\n sortName=\"name\"\n ></div>\n <div\n headerCell\n centerCell=\"center\"\n [headerName]=\"'ImgManager.ImgList.titleResolution' | translate\"\n ></div>\n <div headerCell columnSize=\"0\"></div>\n\n <!-- Body Section -->\n <div\n tableRow\n checkBoxRow\n [checkBoxValue]=\"picture.delSelected\"\n (checkBoxValueChange)=\"onToggleDelSelection(index)\"\n *ngFor=\"let picture of picturesList; let index = index\"\n >\n\n <div tableColumn columnSize=\"2\">\n <div class=\"table-view__row__container\">\n <div\n class=\"table-view__row__container__imgContainer\"\n [ngClass]=\"{'imgSelected': picture.selected}\"\n (click)=\"onToggleSelectImg(index)\">\n <img\n class=\"table-view__row__container__imgContainer__img\"\n [src]=\"picture.file_name | imgSrc : '100'\"\n alt=\"picture.display_name\"\n [ngClass]=\"{'pictureDeletion': picture.deleted}\"\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\n />\n <!-- If the img is not loaded, or the link is broken, an icon is displayed -->\n <div\n *ngIf=\"picture.imgNotLoaded\"\n class=\"table-view__row__container__imgContainer__overlay\"\n >\n <i class=\"fad fa-folder-times\"></i>\n </div>\n </div>\n <input\n type=\"text\"\n class=\"wzImgMngInput table-view__row__container__name\"\n [(ngModel)]=\"picture.display_name\"\n (focus)=\"previousName=picture.display_name\"\n (blur)=\"onNameChange(picture.id_file)\"\n (click)=\"onToggleDelSelection(index)\"\n [ngClass]=\"{'desabled': picture.deleted}\"\n [disabled]=\"picture.deleted\"\n >\n </div>\n </div>\n\n <div\n tableColumn\n centerCell=\"center\"\n (click)=\"onToggleDelSelection(index)\"\n >\n <p class=\"grey\">{{picture.raw_height}}x{{picture.raw_width}}</p>\n </div>\n\n <div tableColumn centerCell=\"center\" columnSize=\"0\" class=\"table-view__dropdown-options\">\n <!-- Dropdown -->\n <dropdown dropdownId=\"dropdown-options\" [disable]=\"picture.deleted\">\n <ng-container label>\n <div class=\"table-view__dropdown-options__label rotate\">\n <span> <i class=\"far fa-ellipsis-h is-size-4\" aria-haspopup=\"true\" aria-controls=\"dropdown-menu\"> </i> </span>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"\n >\n <i class=\"far fa-download download\"></i>&nbsp;\n <p>{{ 'ImgManager.ImgList.download' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onEdit(picture)\"\n >\n <i class=\"far fa-crop-alt edit\"></i>&nbsp;\n <p>{{ 'ImgManager.ImgList.edit' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onRemoveImg(picture)\"\n >\n <i class=\"fal fa-times deleted\"></i>&nbsp;\n <p>{{ 'ImgManager.ImgList.remove' | translate }}</p>\n </div>\n </ng-container>\n </dropdown>\n </div>\n </div>\n </wz-table>\n</div>\n" }]
47
+ }], ctorParameters: () => [{ type: i1.ImgManagerService }, { type: i2.ImgSelectionService }, { type: i3.HttpClient }, { type: i4.ImgCDNService }, { type: i5.ImgEventService }, { type: i6.AlertService }, { type: i7.TranslateService }, { type: i8.ApiService }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2VzLXZpZXcvdGFibGUtdmlldy90YWJsZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy90YWJsZS12aWV3L3RhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVMzRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsbUJBQW1CO0lBQ3ZELGFBQWEsR0FBVyxhQUFhLENBQUMsQ0FBQyxxQkFBcUI7SUFFNUQsWUFDRSxVQUE2QixFQUM3QixtQkFBd0MsRUFDeEMsSUFBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNsQyxVQUFzQjtRQUV0QixLQUFLLENBQ0gsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixJQUFJLEVBQ0osYUFBYSxFQUNiLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO3VHQTFCUSxrQkFBa0I7MkZBQWxCLGtCQUFrQix5RUNuQi9CLDB4SUFtSEEsdTlERHBHYztZQUNWLGNBQWM7U0FDZjs7MkZBRVUsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FFVjt3QkFDVixjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBsaXN0QW5uaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvbGlzdEFubmltYXRpb24vbGlzdC5hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1nQ0ROU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9pbWctY2RuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWFnZXNBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vaW1hZ2VzLWFjdGlvbnMtaGFuZGxlcic7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RhYmxlLXZpZXcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBsaXN0QW5uaW1hdGlvblxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlVmlld0NvbXBvbmVudCBleHRlbmRzIEltYWdlc0FjdGlvbkhhbmRsZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgZGF0YVRhYmxlTmFtZTogc3RyaW5nID0gJ2ltZ2FnZXNWaWV3JzsgLy8gTmFtZSBvZiB5b3VyIHRhYmxlXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgICBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICBpbWdDRE5TZXJ2aWNlOiBJbWdDRE5TZXJ2aWNlLFxyXG4gICAgICBpbWdFdmVudENhcmRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXHJcbiAgICAgIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgc3VwZXIoXHJcbiAgICAgICAgaW1nTWFuYWdlcixcclxuICAgICAgICBpbWdTZWxlY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIGh0dHAsXHJcbiAgICAgICAgaW1nQ0ROU2VydmljZSxcclxuICAgICAgICBpbWdFdmVudENhcmRTZXJ2aWNlLFxyXG4gICAgICAgIGFsZXJ0U2VydmljZSxcclxuICAgICAgICB0cmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIGFwaVNlcnZpY2VcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLXZpZXdcIiBbQGxpc3RBbmltYXRpb25dPVwicGljdHVyZXNMaXN0Lmxlbmd0aFwiPlxuICA8d3otdGFibGVcbiAgICBbY2hlY2tib3hdPVwidHJ1ZVwiXG4gICAgKHRvZ2dsZUFsbENoZWNrQm94KT1cIm9uVG9nZ2xlQWxsQ2hlY2tCb3hSb3coJGV2ZW50KVwiXG4gICAgWyh0YWJsZUZpbHRlcnMpXT1cInRhYmxlRmlsdGVyc1wiXG4gICAgKHRhYmxlRmlsdGVyc0NoYW5nZSk9XCJvbkZpbHRlcnNDaGFuZ2UoKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidJbWdNYW5hZ2VyLlNlYXJjaEJhci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgIFtkaXNhYmxlUGFnbmlhdGlvbl09XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICA+XG4gICAgPCEtLSBIZWFkZXIgU2VjdGlvbiAtLT5cbiAgICA8ZGl2XG4gICAgICBoZWFkZXJDZWxsXG4gICAgICBbaGVhZGVyTmFtZV09XCInSW1nTWFuYWdlci5JbWdMaXN0LnRpdGxlSW1nTmFtZScgfCB0cmFuc2xhdGVcIlxuICAgICAgY29sdW1uU2l6ZT1cIjJcIlxuICAgICAgc29ydE5hbWU9XCJuYW1lXCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgaGVhZGVyQ2VsbFxuICAgICAgY2VudGVyQ2VsbD1cImNlbnRlclwiXG4gICAgICBbaGVhZGVyTmFtZV09XCInSW1nTWFuYWdlci5JbWdMaXN0LnRpdGxlUmVzb2x1dGlvbicgfCB0cmFuc2xhdGVcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGhlYWRlckNlbGwgY29sdW1uU2l6ZT1cIjBcIj48L2Rpdj5cblxuICAgIDwhLS0gQm9keSBTZWN0aW9uIC0tPlxuICAgIDxkaXZcbiAgICAgIHRhYmxlUm93XG4gICAgICBjaGVja0JveFJvd1xuICAgICAgW2NoZWNrQm94VmFsdWVdPVwicGljdHVyZS5kZWxTZWxlY3RlZFwiXG4gICAgICAoY2hlY2tCb3hWYWx1ZUNoYW5nZSk9XCJvblRvZ2dsZURlbFNlbGVjdGlvbihpbmRleClcIlxuICAgICAgKm5nRm9yPVwibGV0IHBpY3R1cmUgb2YgcGljdHVyZXNMaXN0OyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgPlxuXG4gICAgICA8ZGl2IHRhYmxlQ29sdW1uIGNvbHVtblNpemU9XCIyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS12aWV3X19yb3dfX2NvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGFibGUtdmlld19fcm93X19jb250YWluZXJfX2ltZ0NvbnRhaW5lclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltZ1NlbGVjdGVkJzogcGljdHVyZS5zZWxlY3RlZH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4KVwiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS12aWV3X19yb3dfX2NvbnRhaW5lcl9faW1nQ29udGFpbmVyX19pbWdcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwicGljdHVyZS5maWxlX25hbWUgfCBpbWdTcmMgOiAnMTAwJ1wiXG4gICAgICAgICAgICAgICAgYWx0PVwicGljdHVyZS5kaXNwbGF5X25hbWVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGljdHVyZURlbGV0aW9uJzogcGljdHVyZS5kZWxldGVkfVwiXG4gICAgICAgICAgICAgICAgKGVycm9yKT1cInBpY3R1cmUuaW1nTm90TG9hZGVkPXRydWU7b25QaWN0dXJlTm90TG9hZGluZygkZXZlbnQpO1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwhLS0gSWYgdGhlIGltZyBpcyBub3QgbG9hZGVkLCBvciB0aGUgbGluayBpcyBicm9rZW4sIGFuIGljb24gaXMgZGlzcGxheWVkIC0tPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwaWN0dXJlLmltZ05vdExvYWRlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS12aWV3X19yb3dfX2NvbnRhaW5lcl9faW1nQ29udGFpbmVyX19vdmVybGF5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFkIGZhLWZvbGRlci10aW1lc1wiPjwvaT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3ekltZ01uZ0lucHV0IHRhYmxlLXZpZXdfX3Jvd19fY29udGFpbmVyX19uYW1lXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwaWN0dXJlLmRpc3BsYXlfbmFtZVwiXG4gICAgICAgICAgICAgIChmb2N1cyk9XCJwcmV2aW91c05hbWU9cGljdHVyZS5kaXNwbGF5X25hbWVcIlxuICAgICAgICAgICAgICAoYmx1cik9XCJvbk5hbWVDaGFuZ2UocGljdHVyZS5pZF9maWxlKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZURlbFNlbGVjdGlvbihpbmRleClcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rlc2FibGVkJzogcGljdHVyZS5kZWxldGVkfVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwaWN0dXJlLmRlbGV0ZWRcIlxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICB0YWJsZUNvbHVtblxuICAgICAgICBjZW50ZXJDZWxsPVwiY2VudGVyXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRGVsU2VsZWN0aW9uKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cCBjbGFzcz1cImdyZXlcIj57e3BpY3R1cmUucmF3X2hlaWdodH19eHt7cGljdHVyZS5yYXdfd2lkdGh9fTwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHRhYmxlQ29sdW1uIGNlbnRlckNlbGw9XCJjZW50ZXJcIiBjb2x1bW5TaXplPVwiMFwiIGNsYXNzPVwidGFibGUtdmlld19fZHJvcGRvd24tb3B0aW9uc1wiPlxuICAgICAgICA8IS0tIERyb3Bkb3duIC0tPlxuICAgICAgICA8ZHJvcGRvd24gZHJvcGRvd25JZD1cImRyb3Bkb3duLW9wdGlvbnNcIiBbZGlzYWJsZV09XCJwaWN0dXJlLmRlbGV0ZWRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGxhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdmlld19fZHJvcGRvd24tb3B0aW9uc19fbGFiZWwgcm90YXRlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+IDxpIGNsYXNzPVwiZmFyIGZhLWVsbGlwc2lzLWggaXMtc2l6ZS00XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tbWVudVwiPiA8L2k+IDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBpdGVtPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZEltZyhwaWN0dXJlLmRpc3BsYXlfbmFtZSwgcGljdHVyZS5maWxlX25hbWUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZG93bmxvYWQgZG93bmxvYWRcIj48L2k+Jm5ic3A7XG4gICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5JbWdMaXN0LmRvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBpdGVtPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0KHBpY3R1cmUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1jcm9wLWFsdCBlZGl0XCI+PC9pPiZuYnNwO1xuICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZWRpdCcgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGl0ZW0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblJlbW92ZUltZyhwaWN0dXJlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgZGVsZXRlZFwiPjwvaT4mbmJzcDtcbiAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5JbWdMaXN0LnJlbW92ZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kcm9wZG93bj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3d6LXRhYmxlPlxuPC9kaXY+XG4iXX0=