@wizishop/img-manager 18.2.0 → 18.2.2-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/esm2022/lib/components/canva-btn/canva-btn.component.mjs +73 -0
  2. package/esm2022/lib/components/images-view/images-actions-handler.mjs +168 -0
  3. package/esm2022/lib/components/images-view/images-view.component.mjs +391 -0
  4. package/esm2022/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +70 -0
  5. package/esm2022/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +73 -0
  6. package/esm2022/lib/components/images-view/table-view/table-view.component.mjs +48 -0
  7. package/esm2022/lib/components/img-editor/cropper/cropper.component.mjs +313 -0
  8. package/esm2022/lib/components/img-editor/img-editor.component.mjs +129 -0
  9. package/esm2022/lib/components/img-editor/info-section/info-section.component.mjs +58 -0
  10. package/esm2022/lib/components/img-selection/img-selection.component.mjs +58 -0
  11. package/esm2022/lib/components/img-tabs/img-tabs.component.mjs +128 -0
  12. package/esm2022/lib/components/img-upload/img-upload.component.mjs +133 -0
  13. package/esm2022/lib/components/loader/loader.component.mjs +21 -0
  14. package/esm2022/lib/components/pexels-lib/pexels-lib.component.mjs +211 -0
  15. package/esm2022/lib/components/shared/alert/alert.component.mjs +26 -0
  16. package/esm2022/lib/components/shared/checkbox/checkbox.component.mjs +56 -0
  17. package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
  18. package/esm2022/lib/components/shared/input-search/input-search.component.mjs +53 -0
  19. package/esm2022/lib/components/shared/pagination/page-selector/page-selector.component.mjs +50 -0
  20. package/esm2022/lib/components/shared/pagination/pagination.component.mjs +49 -0
  21. package/esm2022/lib/components/shared/select/select.component.mjs +117 -0
  22. package/esm2022/lib/components/shared/table/table.component.mjs +124 -0
  23. package/esm2022/lib/components/upload-list/upload-list.component.mjs +85 -0
  24. package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +41 -0
  25. package/{esm2020 → esm2022}/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +5 -5
  26. package/esm2022/lib/directives/auto-hide.directive.mjs +51 -0
  27. package/esm2022/lib/directives/copy-to-clipboard.directive.mjs +36 -0
  28. package/esm2022/lib/directives/drag-drop.directive.mjs +55 -0
  29. package/esm2022/lib/directives/loading.directive.mjs +43 -0
  30. package/esm2022/lib/directives/table/checkBoxRow.directive.mjs +130 -0
  31. package/esm2022/lib/directives/table/column.directive.mjs +50 -0
  32. package/esm2022/lib/directives/table/columnHeader.directive.mjs +215 -0
  33. package/esm2022/lib/directives/table/raw.directive.mjs +34 -0
  34. package/esm2022/lib/directives/zindex-toggle.directive.mjs +45 -0
  35. package/esm2022/lib/dto/canva-create-design.dto.mjs +9 -0
  36. package/esm2022/lib/dto/canva.dto.mjs +6 -0
  37. package/esm2022/lib/dto/config/apis/api.dto.mjs +11 -0
  38. package/esm2022/lib/dto/config/external/external-config.dto.mjs +5 -0
  39. package/esm2022/lib/dto/wizi-block-media.dto.mjs +7 -0
  40. package/esm2022/lib/pipes/images/img-src.pipe.mjs +29 -0
  41. package/{esm2020 → esm2022}/lib/pipes/number-to-array.pipe.mjs +4 -4
  42. package/esm2022/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
  43. package/esm2022/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
  44. package/esm2022/lib/pipes/pagination/text/custom-text.pipe.mjs +36 -0
  45. package/esm2022/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
  46. package/{esm2020 → esm2022}/lib/pipes/select/select-filters.pipe.mjs +4 -4
  47. package/esm2022/lib/services/alert.service.mjs +53 -0
  48. package/{esm2020 → esm2022}/lib/services/api.service.mjs +4 -4
  49. package/esm2022/lib/services/canva.service.mjs +165 -0
  50. package/esm2022/lib/services/config/img-cdn.service.mjs +21 -0
  51. package/esm2022/lib/services/dom.service.mjs +31 -0
  52. package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/services/image-not-found.service.mjs +4 -4
  54. package/esm2022/lib/services/img-event.service.mjs +33 -0
  55. package/esm2022/lib/services/img-manager.service.mjs +134 -0
  56. package/esm2022/lib/services/img-selection.service.mjs +75 -0
  57. package/esm2022/lib/services/pexels.service.mjs +66 -0
  58. package/esm2022/lib/services/rename-picture.service.mjs +66 -0
  59. package/esm2022/lib/services/snackbar.service.mjs +67 -0
  60. package/esm2022/lib/services/table/filters-table.service.mjs +61 -0
  61. package/esm2022/lib/services/upload.service.mjs +20 -0
  62. package/esm2022/lib/services/user-settings.service.mjs +23 -0
  63. package/esm2022/lib/wz-img-manager.component.mjs +209 -0
  64. package/{esm2020 → esm2022}/lib/wz-img-manager.module.mjs +61 -61
  65. package/{fesm2020 → fesm2022}/wizishop-img-manager.mjs +1018 -830
  66. package/fesm2022/wizishop-img-manager.mjs.map +1 -0
  67. package/lib/components/canva-btn/canva-btn.component.d.ts +1 -1
  68. package/lib/components/images-view/images-actions-handler.d.ts +2 -1
  69. package/lib/components/images-view/images-view.component.d.ts +4 -9
  70. package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +1 -1
  71. package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +1 -1
  72. package/lib/components/img-editor/cropper/cropper.component.d.ts +1 -1
  73. package/lib/components/img-editor/img-editor.component.d.ts +1 -1
  74. package/lib/components/img-editor/info-section/info-section.component.d.ts +1 -1
  75. package/lib/components/img-selection/img-selection.component.d.ts +4 -5
  76. package/lib/components/img-tabs/img-tabs.component.d.ts +1 -1
  77. package/lib/components/img-upload/img-upload.component.d.ts +1 -1
  78. package/lib/components/loader/loader.component.d.ts +1 -1
  79. package/lib/components/pexels-lib/pexels-lib.component.d.ts +1 -1
  80. package/lib/components/shared/alert/alert.component.d.ts +1 -1
  81. package/lib/components/shared/checkbox/checkbox.component.d.ts +1 -1
  82. package/lib/components/shared/dropdown/dropdown.component.d.ts +1 -1
  83. package/lib/components/shared/input-search/input-search.component.d.ts +1 -1
  84. package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +1 -1
  85. package/lib/components/shared/pagination/pagination.component.d.ts +1 -1
  86. package/lib/components/shared/select/select.component.d.ts +1 -1
  87. package/lib/components/shared/table/table.component.d.ts +1 -1
  88. package/lib/components/upload-list/upload-list.component.d.ts +1 -1
  89. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
  90. package/lib/directives/auto-hide.directive.d.ts +1 -1
  91. package/lib/directives/copy-to-clipboard.directive.d.ts +1 -1
  92. package/lib/directives/table/checkBoxRow.directive.d.ts +1 -1
  93. package/lib/directives/table/column.directive.d.ts +1 -1
  94. package/lib/directives/table/columnHeader.directive.d.ts +1 -1
  95. package/lib/directives/zindex-toggle.directive.d.ts +1 -1
  96. package/lib/wz-img-manager.component.d.ts +3 -3
  97. package/package.json +6 -12
  98. package/wizishop-img-manager-18.2.2-beta.tgz +0 -0
  99. package/wz-img-manager.scss +77 -60
  100. package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +0 -67
  101. package/esm2020/lib/components/images-view/images-actions-handler.mjs +0 -154
  102. package/esm2020/lib/components/images-view/images-view.component.mjs +0 -369
  103. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +0 -66
  104. package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +0 -71
  105. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +0 -48
  106. package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +0 -307
  107. package/esm2020/lib/components/img-editor/img-editor.component.mjs +0 -124
  108. package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +0 -54
  109. package/esm2020/lib/components/img-selection/img-selection.component.mjs +0 -53
  110. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +0 -122
  111. package/esm2020/lib/components/img-upload/img-upload.component.mjs +0 -126
  112. package/esm2020/lib/components/loader/loader.component.mjs +0 -21
  113. package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +0 -203
  114. package/esm2020/lib/components/shared/alert/alert.component.mjs +0 -27
  115. package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +0 -52
  116. package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +0 -21
  117. package/esm2020/lib/components/shared/input-search/input-search.component.mjs +0 -54
  118. package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +0 -49
  119. package/esm2020/lib/components/shared/pagination/pagination.component.mjs +0 -49
  120. package/esm2020/lib/components/shared/select/select.component.mjs +0 -110
  121. package/esm2020/lib/components/shared/table/table.component.mjs +0 -116
  122. package/esm2020/lib/components/upload-list/upload-list.component.mjs +0 -79
  123. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +0 -37
  124. package/esm2020/lib/directives/auto-hide.directive.mjs +0 -48
  125. package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +0 -37
  126. package/esm2020/lib/directives/drag-drop.directive.mjs +0 -57
  127. package/esm2020/lib/directives/loading.directive.mjs +0 -42
  128. package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +0 -114
  129. package/esm2020/lib/directives/table/column.directive.mjs +0 -45
  130. package/esm2020/lib/directives/table/columnHeader.directive.mjs +0 -204
  131. package/esm2020/lib/directives/table/raw.directive.mjs +0 -31
  132. package/esm2020/lib/directives/zindex-toggle.directive.mjs +0 -42
  133. package/esm2020/lib/dto/canva-create-design.dto.mjs +0 -4
  134. package/esm2020/lib/dto/canva.dto.mjs +0 -4
  135. package/esm2020/lib/dto/config/apis/api.dto.mjs +0 -9
  136. package/esm2020/lib/dto/config/external/external-config.dto.mjs +0 -3
  137. package/esm2020/lib/dto/wizi-block-media.dto.mjs +0 -3
  138. package/esm2020/lib/pipes/images/img-src.pipe.mjs +0 -28
  139. package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +0 -28
  140. package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +0 -53
  141. package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +0 -35
  142. package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +0 -25
  143. package/esm2020/lib/services/alert.service.mjs +0 -50
  144. package/esm2020/lib/services/canva.service.mjs +0 -159
  145. package/esm2020/lib/services/config/img-cdn.service.mjs +0 -23
  146. package/esm2020/lib/services/dom.service.mjs +0 -33
  147. package/esm2020/lib/services/img-event.service.mjs +0 -35
  148. package/esm2020/lib/services/img-manager.service.mjs +0 -136
  149. package/esm2020/lib/services/img-selection.service.mjs +0 -76
  150. package/esm2020/lib/services/pexels.service.mjs +0 -62
  151. package/esm2020/lib/services/rename-picture.service.mjs +0 -63
  152. package/esm2020/lib/services/snackbar.service.mjs +0 -64
  153. package/esm2020/lib/services/table/filters-table.service.mjs +0 -60
  154. package/esm2020/lib/services/upload.service.mjs +0 -22
  155. package/esm2020/lib/services/user-settings.service.mjs +0 -25
  156. package/esm2020/lib/wz-img-manager.component.mjs +0 -192
  157. package/fesm2015/wizishop-img-manager.mjs +0 -4035
  158. package/fesm2015/wizishop-img-manager.mjs.map +0 -1
  159. package/fesm2020/wizishop-img-manager.mjs.map +0 -1
  160. package/wizishop-img-manager-18.2.0.tgz +0 -0
  161. /package/{esm2020 → esm2022}/lib/animations/easeInOut/ease-in-out.animation.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/animations/insertRemove/insert-remove.animation.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/animations/listAnnimation/list.animation.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/components/shared/select/call-to-action.model.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/components/shared/select/select-items.dto.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/dto/ImgManagerDisplayConfig.dto.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/dto/config/img-manager.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/dto/export-dtos.api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/dto/img-editor-config.dto.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/dto/img-manager.dto.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/dto/pexels-img.dto.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/dto/picture-name-update.dto.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/dto/stateDisplayed.dto.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/dto/tabDisplayed.dto.mjs +0 -0
  176. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  177. /package/{esm2020 → esm2022}/wizishop-img-manager.mjs +0 -0
@@ -0,0 +1,49 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { PagniationIsLastPage } from '../../../pipes/pagination/total-pages/is-last-page.pipe';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "./page-selector/page-selector.component";
6
+ import * as i3 from "@ngx-translate/core";
7
+ import * as i4 from "../../../pipes/pagination/total-pages/is-last-page.pipe";
8
+ import * as i5 from "../../../pipes/pagination/text/custom-text.pipe";
9
+ export class PaginationComponent {
10
+ set pagination(pagination) {
11
+ this._pagination = pagination;
12
+ }
13
+ get pagination() {
14
+ return this._pagination;
15
+ }
16
+ _pagination;
17
+ pageChange = new EventEmitter();
18
+ constructor() { }
19
+ decrementPage() {
20
+ if (this.pagination.currentPage <= 1) {
21
+ return;
22
+ }
23
+ this.pagination.currentPage--;
24
+ this.pageChange.emit(this.pagination);
25
+ }
26
+ incrementPage() {
27
+ const isLastPage = new PagniationIsLastPage().transform(this.pagination.currentPage, this.pagination.totalItems, this.pagination.itemsPerPage);
28
+ if (isLastPage) {
29
+ return;
30
+ }
31
+ this.pagination.currentPage++;
32
+ this.pageChange.emit(this.pagination);
33
+ }
34
+ onGotoPageChange(pageNumber) {
35
+ this.pagination.currentPage = parseInt(pageNumber);
36
+ this.pageChange.emit(this.pagination);
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: PaginationComponent, selector: "wz-pagination", inputs: { pagination: "pagination" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"wz-pagination\" *ngIf=\"pagination && pagination.itemsPerPage\">\n <div class=\"wz-pagination__wrapper\">\n <div class=\"wz-pagination__wrapper__page\">\n <p>{{ 'PaginationComponent.page' | translate }}</p>\n\n <wz-page-selector [pagination]=\"pagination\" [totalItems]=\"pagination.totalItems\" (pageChange)=\"onGotoPageChange($event)\"></wz-page-selector>\n </div>\n\n <div class=\"wz-pagination__wrapper__elements\">\n <p>{{ pagination.currentPage | customPagniationText: pagination.totalItems:pagination.itemsPerPage }}</p>\n </div>\n\n <div class=\"wz-pagination__wrapper__arrows\">\n <div\n (click)=\"decrementPage()\"\n class=\"wz-pagination__wrapper__arrows__arrow wz-pagination__wrapper__arrows__arrow--left\"\n [ngClass]=\"{ 'wz-pagination__wrapper__arrows__arrow--disabled': pagination.currentPage === 1 }\"\n >\n <span class=\"wz-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n <div\n (click)=\"incrementPage()\"\n class=\"wz-pagination__wrapper__arrows__arrow wz-pagination__wrapper__arrows__arrow--right\"\n [ngClass]=\"{\n 'wz-pagination__wrapper__arrows__arrow--disabled':\n pagination.currentPage | IsLastPage: pagination.totalItems:pagination.itemsPerPage\n }\"\n >\n <span class=\"wz-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PageSelectorComponent, selector: "wz-page-selector", inputs: ["pagination", "totalItems"], outputs: ["pageChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.PagniationIsLastPage, name: "IsLastPage" }, { kind: "pipe", type: i5.PagniationText, name: "customPagniationText" }] });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PaginationComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'wz-pagination', template: "<div class=\"wz-pagination\" *ngIf=\"pagination && pagination.itemsPerPage\">\n <div class=\"wz-pagination__wrapper\">\n <div class=\"wz-pagination__wrapper__page\">\n <p>{{ 'PaginationComponent.page' | translate }}</p>\n\n <wz-page-selector [pagination]=\"pagination\" [totalItems]=\"pagination.totalItems\" (pageChange)=\"onGotoPageChange($event)\"></wz-page-selector>\n </div>\n\n <div class=\"wz-pagination__wrapper__elements\">\n <p>{{ pagination.currentPage | customPagniationText: pagination.totalItems:pagination.itemsPerPage }}</p>\n </div>\n\n <div class=\"wz-pagination__wrapper__arrows\">\n <div\n (click)=\"decrementPage()\"\n class=\"wz-pagination__wrapper__arrows__arrow wz-pagination__wrapper__arrows__arrow--left\"\n [ngClass]=\"{ 'wz-pagination__wrapper__arrows__arrow--disabled': pagination.currentPage === 1 }\"\n >\n <span class=\"wz-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n <div\n (click)=\"incrementPage()\"\n class=\"wz-pagination__wrapper__arrows__arrow wz-pagination__wrapper__arrows__arrow--right\"\n [ngClass]=\"{\n 'wz-pagination__wrapper__arrows__arrow--disabled':\n pagination.currentPage | IsLastPage: pagination.totalItems:pagination.itemsPerPage\n }\"\n >\n <span class=\"wz-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n </div>\n </div>\n</div>\n" }]
44
+ }], ctorParameters: () => [], propDecorators: { pagination: [{
45
+ type: Input
46
+ }], pageChange: [{
47
+ type: Output
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7Ozs7O0FBWS9GLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsSUFBYSxVQUFVLENBQUMsVUFBNkI7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ08sV0FBVyxDQUFvQjtJQUU3QixVQUFVLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUM7SUFFM0UsZ0JBQWUsQ0FBQztJQUVoQixhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDLFNBQVMsQ0FDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FDN0IsQ0FBQztRQUNGLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFVO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQzt1R0FyQ1UsbUJBQW1COzJGQUFuQixtQkFBbUIsa0lDYmhDLDI3Q0FpQ0E7OzJGRHBCYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsZUFBZTt3REFJWixVQUFVO3NCQUF0QixLQUFLO2dCQVFJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnbmlhdGlvbklzTGFzdFBhZ2UgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9wYWdpbmF0aW9uL3RvdGFsLXBhZ2VzL2lzLWxhc3QtcGFnZS5waXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uRmlsdGVycyB7XG4gIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3d6LXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBwYWdpbmF0aW9uKHBhZ2luYXRpb246IFBhZ2luYXRpb25GaWx0ZXJzKSB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbiA9IHBhZ2luYXRpb247XG4gIH1cbiAgZ2V0IHBhZ2luYXRpb24oKTogUGFnaW5hdGlvbkZpbHRlcnMge1xuICAgIHJldHVybiB0aGlzLl9wYWdpbmF0aW9uO1xuICB9XG4gIHByaXZhdGUgX3BhZ2luYXRpb246IFBhZ2luYXRpb25GaWx0ZXJzO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UGFnaW5hdGlvbkZpbHRlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBkZWNyZW1lbnRQYWdlKCkge1xuICAgIGlmICh0aGlzLnBhZ2luYXRpb24uY3VycmVudFBhZ2UgPD0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBhZ2luYXRpb24uY3VycmVudFBhZ2UtLTtcbiAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBhZ2luYXRpb24pO1xuICB9XG5cbiAgaW5jcmVtZW50UGFnZSgpIHtcbiAgICBjb25zdCBpc0xhc3RQYWdlID0gbmV3IFBhZ25pYXRpb25Jc0xhc3RQYWdlKCkudHJhbnNmb3JtKFxuICAgICAgdGhpcy5wYWdpbmF0aW9uLmN1cnJlbnRQYWdlLFxuICAgICAgdGhpcy5wYWdpbmF0aW9uLnRvdGFsSXRlbXMsXG4gICAgICB0aGlzLnBhZ2luYXRpb24uaXRlbXNQZXJQYWdlXG4gICAgKTtcbiAgICBpZiAoaXNMYXN0UGFnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBhZ2luYXRpb24uY3VycmVudFBhZ2UrKztcbiAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBhZ2luYXRpb24pO1xuICB9XG5cbiAgb25Hb3RvUGFnZUNoYW5nZShwYWdlTnVtYmVyKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uLmN1cnJlbnRQYWdlID0gcGFyc2VJbnQocGFnZU51bWJlcik7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQodGhpcy5wYWdpbmF0aW9uKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInd6LXBhZ2luYXRpb25cIiAqbmdJZj1cInBhZ2luYXRpb24gJiYgcGFnaW5hdGlvbi5pdGVtc1BlclBhZ2VcIj5cbiAgPGRpdiBjbGFzcz1cInd6LXBhZ2luYXRpb25fX3dyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid3otcGFnaW5hdGlvbl9fd3JhcHBlcl9fcGFnZVwiPlxuICAgICAgPHA+e3sgJ1BhZ2luYXRpb25Db21wb25lbnQucGFnZScgfCB0cmFuc2xhdGUgfX08L3A+XG5cbiAgICAgIDx3ei1wYWdlLXNlbGVjdG9yIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIiBbdG90YWxJdGVtc109XCJwYWdpbmF0aW9uLnRvdGFsSXRlbXNcIiAocGFnZUNoYW5nZSk9XCJvbkdvdG9QYWdlQ2hhbmdlKCRldmVudClcIj48L3d6LXBhZ2Utc2VsZWN0b3I+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwid3otcGFnaW5hdGlvbl9fd3JhcHBlcl9fZWxlbWVudHNcIj5cbiAgICAgIDxwPnt7IHBhZ2luYXRpb24uY3VycmVudFBhZ2UgfCBjdXN0b21QYWduaWF0aW9uVGV4dDogcGFnaW5hdGlvbi50b3RhbEl0ZW1zOnBhZ2luYXRpb24uaXRlbXNQZXJQYWdlIH19PC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInd6LXBhZ2luYXRpb25fX3dyYXBwZXJfX2Fycm93c1wiPlxuICAgICAgPGRpdlxuICAgICAgICAoY2xpY2spPVwiZGVjcmVtZW50UGFnZSgpXCJcbiAgICAgICAgY2xhc3M9XCJ3ei1wYWdpbmF0aW9uX193cmFwcGVyX19hcnJvd3NfX2Fycm93IHd6LXBhZ2luYXRpb25fX3dyYXBwZXJfX2Fycm93c19fYXJyb3ctLWxlZnRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICd3ei1wYWdpbmF0aW9uX193cmFwcGVyX19hcnJvd3NfX2Fycm93LS1kaXNhYmxlZCc6IHBhZ2luYXRpb24uY3VycmVudFBhZ2UgPT09IDEgfVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid3otcGFnaW5hdGlvbl9fd3JhcHBlcl9fYXJyb3dzX19hcnJvd19faWNvblwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAoY2xpY2spPVwiaW5jcmVtZW50UGFnZSgpXCJcbiAgICAgICAgY2xhc3M9XCJ3ei1wYWdpbmF0aW9uX193cmFwcGVyX19hcnJvd3NfX2Fycm93IHd6LXBhZ2luYXRpb25fX3dyYXBwZXJfX2Fycm93c19fYXJyb3ctLXJpZ2h0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICd3ei1wYWdpbmF0aW9uX193cmFwcGVyX19hcnJvd3NfX2Fycm93LS1kaXNhYmxlZCc6XG4gICAgICAgICAgICBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlIHwgSXNMYXN0UGFnZTogcGFnaW5hdGlvbi50b3RhbEl0ZW1zOnBhZ2luYXRpb24uaXRlbXNQZXJQYWdlXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInd6LXBhZ2luYXRpb25fX3dyYXBwZXJfX2Fycm93c19fYXJyb3dfX2ljb25cIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,117 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "ngx-scrollbar";
9
+ import * as i5 from "../../../directives/auto-hide.directive";
10
+ import * as i6 from "../../../directives/zindex-toggle.directive";
11
+ import * as i7 from "../../../pipes/select/select-filters.pipe";
12
+ export class SelectComponent {
13
+ translateService;
14
+ items;
15
+ placeholder;
16
+ label;
17
+ maxWidthItems;
18
+ search = false;
19
+ type = 'default';
20
+ callToAction;
21
+ maxWidth = '100%';
22
+ disabled = false;
23
+ selectValue = new EventEmitter();
24
+ clickOnCallToAction = new EventEmitter();
25
+ searchElement;
26
+ openCategories = false;
27
+ searchValue = '';
28
+ indexItemSelected = -1;
29
+ constructor(translateService) {
30
+ this.translateService = translateService;
31
+ }
32
+ ngOnInit() {
33
+ this.indexItemSelected = this.items.findIndex(item => item.selected);
34
+ }
35
+ onClose() {
36
+ this.openCategories = false;
37
+ }
38
+ customTB(item, index) {
39
+ return `${item.id}-${index}`;
40
+ }
41
+ onSelectItem(id) {
42
+ this.unselectAll();
43
+ this.setIndexItemSelected(id);
44
+ const itemSelected = this.getItemSelected();
45
+ itemSelected.selected = true;
46
+ this.selectValue.emit(this.indexItemSelected);
47
+ this.onChange(itemSelected);
48
+ }
49
+ onClickCallToAction() {
50
+ this.onClose();
51
+ this.clickOnCallToAction.emit(this.callToAction.value);
52
+ }
53
+ getItemSelected() {
54
+ return this.items[this.indexItemSelected];
55
+ }
56
+ showCategories() {
57
+ this.openCategories = true;
58
+ setTimeout(() => {
59
+ this.searchElement.nativeElement.focus();
60
+ }, 0);
61
+ }
62
+ unselectAll() {
63
+ this.items.forEach(item => item.selected = false);
64
+ }
65
+ setIndexItemSelected(id) {
66
+ this.indexItemSelected = this.items.findIndex(item => item.id === id);
67
+ }
68
+ // ControlValueAccessor methods
69
+ onChange = () => { };
70
+ onTouch = () => { };
71
+ writeValue(selectItem) {
72
+ if (!selectItem) {
73
+ return;
74
+ }
75
+ this.unselectAll();
76
+ selectItem.selected = true;
77
+ this.setIndexItemSelected(selectItem.id);
78
+ }
79
+ registerOnChange(fn) {
80
+ this.onChange = fn;
81
+ }
82
+ registerOnTouched(fn) {
83
+ this.onTouch = fn;
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SelectComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: SelectComponent, selector: "wac-select", inputs: { items: "items", placeholder: "placeholder", label: "label", maxWidthItems: "maxWidthItems", search: "search", type: "type", callToAction: "callToAction", maxWidth: "maxWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue", clickOnCallToAction: "clickOnCallToAction" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], viewQueries: [{ propertyName: "searchElement", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<p *ngIf=\"label\" [innerHTML]=\"label\" class=\"wac-select__label\"></p>\r\n\r\n<div class=\"wac-select\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\r\n\r\n <div class=\"wac-select__current\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && openCategories = !openCategories\" *ngIf=\"!search\">\r\n <span *ngIf=\"indexItemSelected !== -1\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\r\n <span [innerHTML]=\"(indexItemSelected !== -1 ? items[indexItemSelected].name : placeholder) | translate\"></span><span><i class=\"fa-solid fa-chevron-down\"></i></span>\r\n </div>\r\n\r\n <div class=\"wac-select__current wac-select__current--withSearch\" [ngClass]=\"{ 'select-disabled' : disabled, 'open-search': openCategories }\" *ngIf=\"search\">\r\n <div class=\"wac-select__current__search\" *ngIf=\"openCategories && !disabled\">\r\n <i class=\"far fa-search\"></i>\r\n <input #search type=\"text\" [(ngModel)]=\"searchValue\" />\r\n </div>\r\n <span (click)=\"openCategories = !openCategories;\" *ngIf=\"items[indexItemSelected]?.icon && !openCategories\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\r\n <span (click)=\"showCategories()\" [innerHTML]=\"items[indexItemSelected]?.name ? items[indexItemSelected].name : placeholder\"></span>\r\n <span (click)=\"openCategories = !openCategories;\"><i class=\"fa-solid fa-chevron-down\"></i></span>\r\n </div>\r\n\r\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openCategories, open: type === 'open' }\" [ngStyle]=\"{ 'max-width': maxWidthItems }\">\r\n <ng-scrollbar *ngIf=\"items.length\" style=\"height: 110px; width: 100%;\">\r\n\r\n <div *ngIf=\"callToAction\" class=\"wac-select__content__cta\">\r\n <div (click)=\"onClickCallToAction()\">\r\n <i *ngIf=\"callToAction.icon\" [classList]=\"callToAction.icon\"></i><strong *ngIf=\"callToAction.boldText\">{{ callToAction.boldText }}</strong\r\n ><span>{{ callToAction?.name }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let item of items | selectFilters: searchValue; let index = index;\"\r\n (click)=\"onClose()\"\r\n class=\"wac-select__content__item\"\r\n >\r\n <div *ngIf=\"!item.hide\" [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(item.id)\">\r\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name | translate }}\r\n </div>\r\n </div>\r\n\r\n </ng-scrollbar>\r\n\r\n <div *ngIf=\"!(items | selectFilters: searchValue)?.length\" class=\"wac-select__content__empty\">\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n\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: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.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: i5.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i6.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.SelectFiltersPipe, name: "selectFilters" }] });
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SelectComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'wac-select', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], template: "<p *ngIf=\"label\" [innerHTML]=\"label\" class=\"wac-select__label\"></p>\r\n\r\n<div class=\"wac-select\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\r\n\r\n <div class=\"wac-select__current\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && openCategories = !openCategories\" *ngIf=\"!search\">\r\n <span *ngIf=\"indexItemSelected !== -1\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\r\n <span [innerHTML]=\"(indexItemSelected !== -1 ? items[indexItemSelected].name : placeholder) | translate\"></span><span><i class=\"fa-solid fa-chevron-down\"></i></span>\r\n </div>\r\n\r\n <div class=\"wac-select__current wac-select__current--withSearch\" [ngClass]=\"{ 'select-disabled' : disabled, 'open-search': openCategories }\" *ngIf=\"search\">\r\n <div class=\"wac-select__current__search\" *ngIf=\"openCategories && !disabled\">\r\n <i class=\"far fa-search\"></i>\r\n <input #search type=\"text\" [(ngModel)]=\"searchValue\" />\r\n </div>\r\n <span (click)=\"openCategories = !openCategories;\" *ngIf=\"items[indexItemSelected]?.icon && !openCategories\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\r\n <span (click)=\"showCategories()\" [innerHTML]=\"items[indexItemSelected]?.name ? items[indexItemSelected].name : placeholder\"></span>\r\n <span (click)=\"openCategories = !openCategories;\"><i class=\"fa-solid fa-chevron-down\"></i></span>\r\n </div>\r\n\r\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openCategories, open: type === 'open' }\" [ngStyle]=\"{ 'max-width': maxWidthItems }\">\r\n <ng-scrollbar *ngIf=\"items.length\" style=\"height: 110px; width: 100%;\">\r\n\r\n <div *ngIf=\"callToAction\" class=\"wac-select__content__cta\">\r\n <div (click)=\"onClickCallToAction()\">\r\n <i *ngIf=\"callToAction.icon\" [classList]=\"callToAction.icon\"></i><strong *ngIf=\"callToAction.boldText\">{{ callToAction.boldText }}</strong\r\n ><span>{{ callToAction?.name }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let item of items | selectFilters: searchValue; let index = index;\"\r\n (click)=\"onClose()\"\r\n class=\"wac-select__content__item\"\r\n >\r\n <div *ngIf=\"!item.hide\" [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(item.id)\">\r\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name | translate }}\r\n </div>\r\n </div>\r\n\r\n </ng-scrollbar>\r\n\r\n <div *ngIf=\"!(items | selectFilters: searchValue)?.length\" class=\"wac-select__content__empty\">\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n" }]
91
+ }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { items: [{
92
+ type: Input
93
+ }], placeholder: [{
94
+ type: Input
95
+ }], label: [{
96
+ type: Input
97
+ }], maxWidthItems: [{
98
+ type: Input
99
+ }], search: [{
100
+ type: Input
101
+ }], type: [{
102
+ type: Input
103
+ }], callToAction: [{
104
+ type: Input
105
+ }], maxWidth: [{
106
+ type: Input
107
+ }], disabled: [{
108
+ type: Input
109
+ }], selectValue: [{
110
+ type: Output
111
+ }], clickOnCallToAction: [{
112
+ type: Output
113
+ }], searchElement: [{
114
+ type: ViewChild,
115
+ args: ['search']
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBU3pFLE1BQU0sT0FBTyxlQUFlO0lBc0NOO0lBcENwQixLQUFLLENBQWU7SUFHcEIsV0FBVyxDQUFTO0lBR3BCLEtBQUssQ0FBUztJQUdkLGFBQWEsQ0FBUztJQUd0QixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBR2YsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUdqQixZQUFZLENBQWdCO0lBRW5CLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFHM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVQLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkMsYUFBYSxDQUFhO0lBRS9DLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUVqQixpQkFBaUIsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUUvQixZQUFvQixnQkFBa0M7UUFBbEMs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QixTQUFTOytCQUNFLFlBQVksYUFFWCxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO3FGQUl0RixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRWMsYUFBYTtzQkFBakMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuL3NlbGVjdC1pdGVtcy5kdG8nO1xuaW1wb3J0IHsgQ2FsbGxUb0FjdGlvbiB9IGZyb20gJy4vY2FsbC10by1hY3Rpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBpdGVtczogU2VsZWN0SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aEl0ZW1zOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2VhcmNoID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdHlwZSA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKVxuICBjYWxsVG9BY3Rpb246IENhbGxsVG9BY3Rpb247XG5cbiAgQElucHV0KCkgbWF4V2lkdGggPSAnMTAwJSc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KCkgY2xpY2tPbkNhbGxUb0FjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgb3BlbkNhdGVnb3JpZXMgPSBmYWxzZTtcbiAgc2VhcmNoVmFsdWUgPSAnJztcblxuICBpbmRleEl0ZW1TZWxlY3RlZDogbnVtYmVyID0gLTE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5kZXhJdGVtU2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLm9wZW5DYXRlZ29yaWVzID0gZmFsc2U7XG4gIH1cblxuICBjdXN0b21UQihpdGVtOiBTZWxlY3RJdGVtLCBpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGAke2l0ZW0uaWR9LSR7aW5kZXh9YDtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpZDogbnVtYmVyKSB7XG4gICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgIHRoaXMuc2V0SW5kZXhJdGVtU2VsZWN0ZWQoaWQpO1xuICAgIGNvbnN0IGl0ZW1TZWxlY3RlZDogU2VsZWN0SXRlbSA9IHRoaXMuZ2V0SXRlbVNlbGVjdGVkKCk7XG4gICAgaXRlbVNlbGVjdGVkLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQodGhpcy5pbmRleEl0ZW1TZWxlY3RlZCk7XG4gICAgdGhpcy5vbkNoYW5nZShpdGVtU2VsZWN0ZWQpO1xuICB9XG5cbiAgb25DbGlja0NhbGxUb0FjdGlvbigpIHtcbiAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB0aGlzLmNsaWNrT25DYWxsVG9BY3Rpb24uZW1pdCh0aGlzLmNhbGxUb0FjdGlvbi52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1TZWxlY3RlZCgpOiBTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4SXRlbVNlbGVjdGVkXTtcbiAgfVxuXG4gIHNob3dDYXRlZ29yaWVzKCkge1xuICAgIHRoaXMub3BlbkNhdGVnb3JpZXMgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyB0aGlzIHdpbGwgbWFrZSB0aGUgZXhlY3V0aW9uIGFmdGVyIHRoZSBhYm92ZSBib29sZWFuIGhhcyBjaGFuZ2VkXG4gICAgICB0aGlzLnNlYXJjaEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNlbGVjdGVkID0gZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbmRleEl0ZW1TZWxlY3RlZChpZDogbnVtYmVyKSB7XG4gICAgdGhpcy5pbmRleEl0ZW1TZWxlY3RlZCA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gaWQpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgbWV0aG9kc1xuXG4gIG9uQ2hhbmdlOiAoc2VsZWN0SXRlbTogU2VsZWN0SXRlbSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fVxuXG4gIHdyaXRlVmFsdWUoc2VsZWN0SXRlbTogYW55KXtcbiAgICBpZiAoIXNlbGVjdEl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgIHNlbGVjdEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0SW5kZXhJdGVtU2VsZWN0ZWQoc2VsZWN0SXRlbS5pZCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpe1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KXtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxufVxuIiwiPHAgKm5nSWY9XCJsYWJlbFwiIFtpbm5lckhUTUxdPVwibGFiZWxcIiBjbGFzcz1cIndhYy1zZWxlY3RfX2xhYmVsXCI+PC9wPlxyXG5cclxuPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RcIiB3ekF1dG9IaWRlIChjbGlja091dHNpZGUpPVwib25DbG9zZSgpXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiIFt6SW5kZXhUb2dnbGVdPVwib3BlbkNhdGVnb3JpZXNcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RfX2N1cnJlbnRcIiBbbmdDbGFzc109XCJ7ICdzZWxlY3QtZGlzYWJsZWQnIDogZGlzYWJsZWQgfVwiIChjbGljayk9XCIhZGlzYWJsZWQgJiYgb3BlbkNhdGVnb3JpZXMgPSAhb3BlbkNhdGVnb3JpZXNcIiAqbmdJZj1cIiFzZWFyY2hcIj5cclxuICAgIDxzcGFuICpuZ0lmPVwiaW5kZXhJdGVtU2VsZWN0ZWQgIT09IC0xXCIgY2xhc3M9XCJpY29uXCIgW2lubmVySFRNTF09XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0uaWNvblwiPjwvc3Bhbj5cclxuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiKGluZGV4SXRlbVNlbGVjdGVkICE9PSAtMSA/IGl0ZW1zW2luZGV4SXRlbVNlbGVjdGVkXS5uYW1lIDogcGxhY2Vob2xkZXIpIHwgdHJhbnNsYXRlXCI+PC9zcGFuPjxzcGFuPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1kb3duXCI+PC9pPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RfX2N1cnJlbnQgd2FjLXNlbGVjdF9fY3VycmVudC0td2l0aFNlYXJjaFwiIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1kaXNhYmxlZCcgOiBkaXNhYmxlZCwgJ29wZW4tc2VhcmNoJzogb3BlbkNhdGVnb3JpZXMgfVwiICpuZ0lmPVwic2VhcmNoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY3VycmVudF9fc2VhcmNoXCIgKm5nSWY9XCJvcGVuQ2F0ZWdvcmllcyAmJiAhZGlzYWJsZWRcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtc2VhcmNoXCI+PC9pPlxyXG4gICAgICA8aW5wdXQgI3NlYXJjaCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c3BhbiAoY2xpY2spPVwib3BlbkNhdGVnb3JpZXMgPSAhb3BlbkNhdGVnb3JpZXM7XCIgKm5nSWY9XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0/Lmljb24gJiYgIW9wZW5DYXRlZ29yaWVzXCIgY2xhc3M9XCJpY29uXCIgW2lubmVySFRNTF09XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0uaWNvblwiPjwvc3Bhbj5cclxuICAgIDxzcGFuIChjbGljayk9XCJzaG93Q2F0ZWdvcmllcygpXCIgW2lubmVySFRNTF09XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0/Lm5hbWUgPyBpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0ubmFtZSA6IHBsYWNlaG9sZGVyXCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5DYXRlZ29yaWVzID0gIW9wZW5DYXRlZ29yaWVzO1wiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1kb3duXCI+PC9pPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRcIiAqbmdJZj1cIiFkaXNhYmxlZFwiIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhb3BlbkNhdGVnb3JpZXMsIG9wZW46IHR5cGUgPT09ICdvcGVuJyB9XCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGhJdGVtcyB9XCI+XHJcbiAgICA8bmctc2Nyb2xsYmFyICpuZ0lmPVwiaXRlbXMubGVuZ3RoXCIgc3R5bGU9XCJoZWlnaHQ6IDExMHB4OyB3aWR0aDogMTAwJTtcIj5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJjYWxsVG9BY3Rpb25cIiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2N0YVwiPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tDYWxsVG9BY3Rpb24oKVwiPlxyXG4gICAgICAgICAgPGkgKm5nSWY9XCJjYWxsVG9BY3Rpb24uaWNvblwiIFtjbGFzc0xpc3RdPVwiY2FsbFRvQWN0aW9uLmljb25cIj48L2k+PHN0cm9uZyAqbmdJZj1cImNhbGxUb0FjdGlvbi5ib2xkVGV4dFwiPnt7IGNhbGxUb0FjdGlvbi5ib2xkVGV4dCB9fTwvc3Ryb25nXHJcbiAgICAgICAgICA+PHNwYW4+e3sgY2FsbFRvQWN0aW9uPy5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXZcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IHNlbGVjdEZpbHRlcnM6IHNlYXJjaFZhbHVlOyBsZXQgaW5kZXggPSBpbmRleDtcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIlxyXG4gICAgICAgIGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudF9faXRlbVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFpdGVtLmhpZGVcIiBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBpdGVtLnNlbGVjdGVkIH1cIiAoY2xpY2spPVwib25TZWxlY3RJdGVtKGl0ZW0uaWQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiIFtpbm5lckhUTUxdPVwiaXRlbS5pY29uXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L3NwYW4+e3sgaXRlbS5uYW1lIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9uZy1zY3JvbGxiYXI+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiEoaXRlbXMgfCBzZWxlY3RGaWx0ZXJzOiBzZWFyY2hWYWx1ZSk/Lmxlbmd0aFwiIGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudF9fZW1wdHlcIj5cclxuICAgICAgPHNwYW4+e3snd2FjLmRhdGF0YWJsZS5ub3Jlc3VsdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,124 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { v4 as uuid } from 'uuid';
3
+ import { FiltersTableService } from '../../../services/table/filters-table.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../services/table/filters-table.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "../../loader/loader.component";
9
+ import * as i5 from "../input-search/input-search.component";
10
+ import * as i6 from "../pagination/pagination.component";
11
+ import * as i7 from "../checkbox/checkbox.component";
12
+ export class TableComponent {
13
+ filtersTableService;
14
+ /// Input/Output of table filters ///
15
+ tableFilters;
16
+ tableFiltersChange = new EventEmitter();
17
+ tableRoutingName; // Name of the table
18
+ placeholder = '';
19
+ _filterGroup;
20
+ /// Input/Output of checkbox ///
21
+ /** Pass to true to display checkbox in the header table */
22
+ checkbox = false;
23
+ /** Emit new header checboxValue */
24
+ toggleAllCheckBox = new EventEmitter();
25
+ /// Input to disable section ///
26
+ /** Pass to true to hide search input */
27
+ disableSearch = false;
28
+ /** Pass to true to hide the pagniator */
29
+ disablePagniation = false;
30
+ /// Input for loader on table body ///
31
+ isLoading = false;
32
+ /// Private variables ///
33
+ headerCheckBoxId;
34
+ filterGroupChangeSub;
35
+ constructor(filtersTableService) {
36
+ this.filtersTableService = filtersTableService;
37
+ }
38
+ ngOnInit() {
39
+ this.headerCheckBoxId = uuid(); // Create checkbox unique id
40
+ /* Handle routing filters */
41
+ if (this.tableRoutingName) {
42
+ this._filterGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);
43
+ // Performe initial fetch data
44
+ this._filterGroup.valuesChange$.next([]);
45
+ this.setTablesFilters();
46
+ // Listen to filters changes with debounced time to limit multiple api calls
47
+ this.filterGroupChangeSub = this._filterGroup.valuesChange$.subscribe(filters => {
48
+ this.setTablesFilters();
49
+ });
50
+ }
51
+ }
52
+ onToggleAllCheckBox(event) {
53
+ this.toggleAllCheckBox.emit(event.target.checked);
54
+ }
55
+ searchChange(event) {
56
+ // Reset table filters
57
+ this.tableFilters.sort = undefined;
58
+ this.tableFilters.order = undefined;
59
+ this.tableFilters.currentPage = 1;
60
+ this.tableFiltersChange.emit(this.tableFilters);
61
+ // Reset routing filters
62
+ if (this._filterGroup) {
63
+ this._filterGroup.setValues({
64
+ searchValue: this.tableFilters.searchValue,
65
+ sort: undefined,
66
+ order: undefined,
67
+ currentPage: 1
68
+ });
69
+ }
70
+ }
71
+ pageChange() {
72
+ this.tableFiltersChange.emit(this.tableFilters);
73
+ if (this._filterGroup) {
74
+ this._filterGroup.setValues({
75
+ itemsPerPage: this.tableFilters.itemsPerPage,
76
+ currentPage: this.tableFilters.currentPage
77
+ });
78
+ }
79
+ }
80
+ /**
81
+ * Set tableFilters from routing data existing in the url
82
+ * */
83
+ setTablesFilters() {
84
+ this.tableFilters = {
85
+ sort: this._filterGroup.get('sort'),
86
+ order: this._filterGroup.get('order'),
87
+ searchValue: this._filterGroup.get('searchValue'),
88
+ itemsPerPage: this._filterGroup.get('itemsPerPage') ? parseInt(this._filterGroup.get('itemsPerPage')) : 0,
89
+ currentPage: this._filterGroup.get('currentPage') ? parseInt(this._filterGroup.get('currentPage')) : 0,
90
+ totalItems: this.tableFilters.totalItems
91
+ };
92
+ this.tableFiltersChange.emit(this.tableFilters);
93
+ }
94
+ ngDestroy() {
95
+ if (this.filterGroupChangeSub) {
96
+ this.filterGroupChangeSub.unsubscribe();
97
+ }
98
+ }
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableComponent, deps: [{ token: i1.FiltersTableService }], target: i0.ɵɵFactoryTarget.Component });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TableComponent, selector: "wz-table", inputs: { tableFilters: "tableFilters", tableRoutingName: "tableRoutingName", placeholder: "placeholder", checkbox: "checkbox", disableSearch: "disableSearch", disablePagniation: "disablePagniation", isLoading: "isLoading" }, outputs: { tableFiltersChange: "tableFiltersChange", toggleAllCheckBox: "toggleAllCheckBox" }, ngImport: i0, template: "<div class=\"wz-table\">\n <!-- Header section -->\n <div class=\"wz-table__head\" id=\"headerTable\">\n <div *ngIf=\"checkbox\" class=\"wz-table__head__cell wz-table__head__cell--checkbox\">\n <wz-checkbox [id]=\"headerCheckBoxId\" (change)=\"onToggleAllCheckBox($event)\" [alone]=\"true\"></wz-checkbox>\n </div>\n\n <!-- Header contents are added with the headerCell directive -->\n <ng-content select=\"[headerCell]\"></ng-content>\n </div>\n\n <!-- Search section -->\n <div *ngIf=\"!disableSearch\" class=\"wz-table__search\">\n <wz-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"searchChange($event)\"\n [placeholder]=\"placeholder\"\n [smallPadding]=\"true\"\n ></wz-input-search>\n </div>\n\n <!-- Body section -->\n <div class=\"wz-table__body\">\n <!-- Loader on body -->\n <div class=\"wz-table__body__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\"></wz-loader>\n </div>\n <!-- Body contents are added with the tableRow directive -->\n <ng-content select=\"[tableRow]\" *ngIf=\"!isLoading\"></ng-content>\n </div>\n\n <!-- Pagination section -->\n <wz-pagination *ngIf=\"!disablePagniation\" [pagination]=\"tableFilters\" (pageChange)=\"pageChange()\"></wz-pagination>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "component", type: i5.InputSearchComponent, selector: "wz-input-search", inputs: ["placeholder", "smallPadding", "id"], outputs: ["changeDebounced"] }, { kind: "component", type: i6.PaginationComponent, selector: "wz-pagination", inputs: ["pagination"], outputs: ["pageChange"] }, { kind: "component", type: i7.CheckboxComponent, selector: "wz-checkbox", inputs: ["label", "value", "type", "alone", "checked", "id", "name"] }], encapsulation: i0.ViewEncapsulation.None });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'wz-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"wz-table\">\n <!-- Header section -->\n <div class=\"wz-table__head\" id=\"headerTable\">\n <div *ngIf=\"checkbox\" class=\"wz-table__head__cell wz-table__head__cell--checkbox\">\n <wz-checkbox [id]=\"headerCheckBoxId\" (change)=\"onToggleAllCheckBox($event)\" [alone]=\"true\"></wz-checkbox>\n </div>\n\n <!-- Header contents are added with the headerCell directive -->\n <ng-content select=\"[headerCell]\"></ng-content>\n </div>\n\n <!-- Search section -->\n <div *ngIf=\"!disableSearch\" class=\"wz-table__search\">\n <wz-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"searchChange($event)\"\n [placeholder]=\"placeholder\"\n [smallPadding]=\"true\"\n ></wz-input-search>\n </div>\n\n <!-- Body section -->\n <div class=\"wz-table__body\">\n <!-- Loader on body -->\n <div class=\"wz-table__body__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\"></wz-loader>\n </div>\n <!-- Body contents are added with the tableRow directive -->\n <ng-content select=\"[tableRow]\" *ngIf=\"!isLoading\"></ng-content>\n </div>\n\n <!-- Pagination section -->\n <wz-pagination *ngIf=\"!disablePagniation\" [pagination]=\"tableFilters\" (pageChange)=\"pageChange()\"></wz-pagination>\n</div>\n" }]
105
+ }], ctorParameters: () => [{ type: i1.FiltersTableService }], propDecorators: { tableFilters: [{
106
+ type: Input
107
+ }], tableFiltersChange: [{
108
+ type: Output
109
+ }], tableRoutingName: [{
110
+ type: Input
111
+ }], placeholder: [{
112
+ type: Input
113
+ }], checkbox: [{
114
+ type: Input
115
+ }], toggleAllCheckBox: [{
116
+ type: Output
117
+ }], disableSearch: [{
118
+ type: Input
119
+ }], disablePagniation: [{
120
+ type: Input
121
+ }], isLoading: [{
122
+ type: Input
123
+ }] } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEMsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7QUFPbEcsTUFBTSxPQUFPLGNBQWM7SUFnQ0w7SUEvQnBCLHFDQUFxQztJQUU1QixZQUFZLENBQWU7SUFDMUIsa0JBQWtCLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckUsZ0JBQWdCLENBQVMsQ0FBQyxvQkFBb0I7SUFDOUMsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUUxQixZQUFZLENBQWlCO0lBRXJDLGdDQUFnQztJQUVoQywyREFBMkQ7SUFDbEQsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixtQ0FBbUM7SUFDekIsaUJBQWlCLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFeEUsZ0NBQWdDO0lBRWhDLHdDQUF3QztJQUMvQixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQ3hDLHlDQUF5QztJQUNoQyxpQkFBaUIsR0FBWSxLQUFLLENBQUM7SUFFNUMsc0NBQXNDO0lBQzdCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFM0IseUJBQXlC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QUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1NBQ3pDLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO3VHQXhHVSxjQUFjOzJGQUFkLGNBQWMsaVhDWDNCLDh4Q0FrQ0E7OzJGRHZCYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVUsaUJBRUwsaUJBQWlCLENBQUMsSUFBSTt3RkFLNUIsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRUUsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBS0UsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBOd2JGaWx0ZXJHcm91cCB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFibGVGaWx0ZXJzLCBGaWx0ZXJzVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdGFibGUvZmlsdGVycy10YWJsZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3otdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8vIElucHV0L091dHB1dCBvZiB0YWJsZSBmaWx0ZXJzIC8vL1xuXG4gIEBJbnB1dCgpIHRhYmxlRmlsdGVyczogVGFibGVGaWx0ZXJzO1xuICBAT3V0cHV0KCkgdGFibGVGaWx0ZXJzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGFibGVGaWx0ZXJzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSB0YWJsZVJvdXRpbmdOYW1lOiBzdHJpbmc7IC8vIE5hbWUgb2YgdGhlIHRhYmxlXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9maWx0ZXJHcm91cDogTndiRmlsdGVyR3JvdXA7XG5cbiAgLy8vIElucHV0L091dHB1dCBvZiBjaGVja2JveCAvLy9cblxuICAvKiogUGFzcyB0byB0cnVlIHRvIGRpc3BsYXkgY2hlY2tib3ggaW4gdGhlIGhlYWRlciB0YWJsZSAqL1xuICBASW5wdXQoKSBjaGVja2JveCA9IGZhbHNlO1xuICAvKiogRW1pdCBuZXcgaGVhZGVyIGNoZWNib3hWYWx1ZSAqL1xuICBAT3V0cHV0KCkgdG9nZ2xlQWxsQ2hlY2tCb3g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvLy8gSW5wdXQgdG8gZGlzYWJsZSBzZWN0aW9uIC8vL1xuXG4gIC8qKiBQYXNzIHRvIHRydWUgdG8gaGlkZSBzZWFyY2ggaW5wdXQgKi9cbiAgQElucHV0KCkgZGlzYWJsZVNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogUGFzcyB0byB0cnVlIHRvIGhpZGUgdGhlIHBhZ25pYXRvciAqL1xuICBASW5wdXQoKSBkaXNhYmxlUGFnbmlhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vLyBJbnB1dCBmb3IgbG9hZGVyIG9uIHRhYmxlIGJvZHkgLy8vXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIC8vLyBQcml2YXRlIHZhcmlhYmxlcyAvLy9cbiAgaGVhZGVyQ2hlY2tCb3hJZDogc3RyaW5nO1xuICBwcml2YXRlIGZpbHRlckdyb3VwQ2hhbmdlU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJzVGFibGVTZXJ2aWNlOiBGaWx0ZXJzVGFibGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVyQ2hlY2tCb3hJZCA9IHV1aWQoKTsgLy8gQ3JlYXRlIGNoZWNrYm94IHVuaXF1ZSBpZFxuXG4gICAgLyogSGFuZGxlIHJvdXRpbmcgZmlsdGVycyAqL1xuICAgIGlmICh0aGlzLnRhYmxlUm91dGluZ05hbWUpIHtcbiAgICAgIHRoaXMuX2ZpbHRlckdyb3VwID0gdGhpcy5maWx0ZXJzVGFibGVTZXJ2aWNlLmdldFRhYmxlRmlsdGVyR3JvdXAodGhpcy50YWJsZVJvdXRpbmdOYW1lKTtcblxuICAgICAgLy8gUGVyZm9ybWUgaW5pdGlhbCBmZXRjaCBkYXRhXG4gICAgICB0aGlzLl9maWx0ZXJHcm91cC52YWx1ZXNDaGFuZ2UkLm5leHQoW10pO1xuXG4gICAgICB0aGlzLnNldFRhYmxlc0ZpbHRlcnMoKTtcblxuICAgICAgLy8gTGlzdGVuIHRvIGZpbHRlcnMgY2hhbmdlcyB3aXRoIGRlYm91bmNlZCB0aW1lIHRvIGxpbWl0IG11bHRpcGxlIGFwaSBjYWxsc1xuICAgICAgdGhpcy5maWx0ZXJHcm91cENoYW5nZVN1YiA9IHRoaXMuX2ZpbHRlckdyb3VwLnZhbHVlc0NoYW5nZSQuc3Vic2NyaWJlKGZpbHRlcnMgPT4ge1xuICAgICAgICB0aGlzLnNldFRhYmxlc0ZpbHRlcnMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uVG9nZ2xlQWxsQ2hlY2tCb3goZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZUFsbENoZWNrQm94LmVtaXQoZXZlbnQudGFyZ2V0LmNoZWNrZWQpO1xuICB9XG5cbiAgc2VhcmNoQ2hhbmdlKGV2ZW50OiBzdHJpbmcpIHtcbiAgICAvLyBSZXNldCB0YWJsZSBmaWx0ZXJzXG4gICAgdGhpcy50YWJsZUZpbHRlcnMuc29ydCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRhYmxlRmlsdGVycy5vcmRlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRhYmxlRmlsdGVycy5jdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy50YWJsZUZpbHRlcnNDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlRmlsdGVycyk7XG5cbiAgICAvLyBSZXNldCByb3V0aW5nIGZpbHRlcnNcbiAgICBpZiAodGhpcy5fZmlsdGVyR3JvdXApIHtcbiAgICAgIHRoaXMuX2ZpbHRlckdyb3VwLnNldFZhbHVlcyh7XG4gICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnRhYmxlRmlsdGVycy5zZWFyY2hWYWx1ZSxcbiAgICAgICAgc29ydDogdW5kZWZpbmVkLFxuICAgICAgICBvcmRlcjogdW5kZWZpbmVkLFxuICAgICAgICBjdXJyZW50UGFnZTogMVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcGFnZUNoYW5nZSgpIHtcbiAgICB0aGlzLnRhYmxlRmlsdGVyc0NoYW5nZS5lbWl0KHRoaXMudGFibGVGaWx0ZXJzKTtcbiAgICBpZiAodGhpcy5fZmlsdGVyR3JvdXApIHtcbiAgICAgIHRoaXMuX2ZpbHRlckdyb3VwLnNldFZhbHVlcyh7XG4gICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy50YWJsZUZpbHRlcnMuaXRlbXNQZXJQYWdlLFxuICAgICAgICBjdXJyZW50UGFnZTogdGhpcy50YWJsZUZpbHRlcnMuY3VycmVudFBhZ2VcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgU2V0IHRhYmxlRmlsdGVycyBmcm9tIHJvdXRpbmcgZGF0YSBleGlzdGluZyBpbiB0aGUgdXJsXG4gICAqICovXG4gIHByaXZhdGUgc2V0VGFibGVzRmlsdGVycygpIHtcbiAgICB0aGlzLnRhYmxlRmlsdGVycyA9IHtcbiAgICAgIHNvcnQ6IHRoaXMuX2ZpbHRlckdyb3VwLmdldCgnc29ydCcpLFxuICAgICAgb3JkZXI6IHRoaXMuX2ZpbHRlckdyb3VwLmdldCgnb3JkZXInKSxcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLl9maWx0ZXJHcm91cC5nZXQoJ3NlYXJjaFZhbHVlJyksXG4gICAgICBpdGVtc1BlclBhZ2U6IHRoaXMuX2ZpbHRlckdyb3VwLmdldCgnaXRlbXNQZXJQYWdlJykgPyBwYXJzZUludCh0aGlzLl9maWx0ZXJHcm91cC5nZXQoJ2l0ZW1zUGVyUGFnZScpKSA6IDAsXG4gICAgICBjdXJyZW50UGFnZTogdGhpcy5fZmlsdGVyR3JvdXAuZ2V0KCdjdXJyZW50UGFnZScpID8gcGFyc2VJbnQodGhpcy5fZmlsdGVyR3JvdXAuZ2V0KCdjdXJyZW50UGFnZScpKSA6IDAsXG4gICAgICB0b3RhbEl0ZW1zOiB0aGlzLnRhYmxlRmlsdGVycy50b3RhbEl0ZW1zXG4gICAgfTtcbiAgICB0aGlzLnRhYmxlRmlsdGVyc0NoYW5nZS5lbWl0KHRoaXMudGFibGVGaWx0ZXJzKTtcbiAgfVxuXG4gIG5nRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJHcm91cENoYW5nZVN1Yikge1xuICAgICAgdGhpcy5maWx0ZXJHcm91cENoYW5nZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInd6LXRhYmxlXCI+XG4gIDwhLS0gSGVhZGVyIHNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJ3ei10YWJsZV9faGVhZFwiIGlkPVwiaGVhZGVyVGFibGVcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2hlY2tib3hcIiBjbGFzcz1cInd6LXRhYmxlX19oZWFkX19jZWxsIHd6LXRhYmxlX19oZWFkX19jZWxsLS1jaGVja2JveFwiPlxuICAgICAgPHd6LWNoZWNrYm94IFtpZF09XCJoZWFkZXJDaGVja0JveElkXCIgKGNoYW5nZSk9XCJvblRvZ2dsZUFsbENoZWNrQm94KCRldmVudClcIiBbYWxvbmVdPVwidHJ1ZVwiPjwvd3otY2hlY2tib3g+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEhlYWRlciBjb250ZW50cyBhcmUgYWRkZWQgd2l0aCB0aGUgaGVhZGVyQ2VsbCBkaXJlY3RpdmUgLS0+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckNlbGxdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8IS0tIFNlYXJjaCBzZWN0aW9uIC0tPlxuICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVTZWFyY2hcIiBjbGFzcz1cInd6LXRhYmxlX19zZWFyY2hcIj5cbiAgICA8d3otaW5wdXQtc2VhcmNoXG4gICAgICBbKG5nTW9kZWwpXT1cInRhYmxlRmlsdGVycy5zZWFyY2hWYWx1ZVwiXG4gICAgICAoY2hhbmdlRGVib3VuY2VkKT1cInNlYXJjaENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbc21hbGxQYWRkaW5nXT1cInRydWVcIlxuICAgID48L3d6LWlucHV0LXNlYXJjaD5cbiAgPC9kaXY+XG5cbiAgPCEtLSBCb2R5IHNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJ3ei10YWJsZV9fYm9keVwiPlxuICAgIDwhLS0gTG9hZGVyIG9uIGJvZHkgLS0+XG4gICAgPGRpdiBjbGFzcz1cInd6LXRhYmxlX19ib2R5X19sb2FkZXJcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgICAgPHd6LWxvYWRlciBbc21hbGxdPVwidHJ1ZVwiPjwvd3otbG9hZGVyPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gQm9keSBjb250ZW50cyBhcmUgYWRkZWQgd2l0aCB0aGUgdGFibGVSb3cgZGlyZWN0aXZlIC0tPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0YWJsZVJvd11cIiAqbmdJZj1cIiFpc0xvYWRpbmdcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDwhLS0gUGFnaW5hdGlvbiBzZWN0aW9uIC0tPlxuICA8d3otcGFnaW5hdGlvbiAqbmdJZj1cIiFkaXNhYmxlUGFnbmlhdGlvblwiIFtwYWdpbmF0aW9uXT1cInRhYmxlRmlsdGVyc1wiIChwYWdlQ2hhbmdlKT1cInBhZ2VDaGFuZ2UoKVwiPjwvd3otcGFnaW5hdGlvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,85 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { ImgSelectionService } from '../../services/img-selection.service';
3
+ import { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';
4
+ import { RenamePictureService } from '../../services/rename-picture.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../services/img-selection.service";
7
+ import * as i2 from "../../services/rename-picture.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "ngx-scrollbar";
10
+ import * as i5 from "../images-view/mosaic-view/img-card/img-card.component";
11
+ import * as i6 from "@ngx-translate/core";
12
+ export class UploadListComponent {
13
+ imgSelectionService;
14
+ renamePictureService;
15
+ picturesList = [];
16
+ imgSelectionChange;
17
+ selectImgEvent;
18
+ stateDisplayed;
19
+ tabDisplayed;
20
+ multipleImgMode = false;
21
+ switchDisplayWindow = new EventEmitter();
22
+ constructor(imgSelectionService, renamePictureService) {
23
+ this.imgSelectionService = imgSelectionService;
24
+ this.renamePictureService = renamePictureService;
25
+ }
26
+ ngOnInit() {
27
+ this.setEvents();
28
+ }
29
+ onImgUploaded(img) {
30
+ img.forEach(picture => this.picturesList.push(picture));
31
+ this.renamePictureService.setPicturesList(this.picturesList);
32
+ }
33
+ onToggleSelectImg(index) {
34
+ if (this.stateDisplayed === 'window') {
35
+ return;
36
+ }
37
+ if (!this.picturesList[index].selected) {
38
+ this.imgSelectionService.addImgSelected(this.picturesList[index]);
39
+ this.picturesList[index].selected = true;
40
+ }
41
+ else {
42
+ this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);
43
+ this.picturesList[index].selected = false;
44
+ }
45
+ }
46
+ switchDisplayWindowCard() {
47
+ this.switchDisplayWindow.emit(true);
48
+ }
49
+ onRenamePicture(pictureRenamed) {
50
+ this.renamePictureService.renamePicture(pictureRenamed);
51
+ }
52
+ setEvents() {
53
+ this.imgSelectionChange = this.imgSelectionService.imgSelection$.subscribe(imgSelection => {
54
+ const idFileList = [];
55
+ imgSelection.map(img => idFileList.push(img.id_file));
56
+ for (const picture of this.picturesList) {
57
+ if (idFileList.indexOf(picture.id_file) === -1) {
58
+ picture.selected = false;
59
+ }
60
+ }
61
+ });
62
+ }
63
+ ngOnDestroy() {
64
+ this.imgSelectionChange.unsubscribe();
65
+ }
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UploadListComponent, deps: [{ token: i1.ImgSelectionService }, { token: i2.RenamePictureService }], target: i0.ɵɵFactoryTarget.Component });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: UploadListComponent, selector: "upload-list", inputs: { stateDisplayed: "stateDisplayed", tabDisplayed: "tabDisplayed", multipleImgMode: "multipleImgMode" }, outputs: { switchDisplayWindow: "switchDisplayWindow" }, ngImport: i0, template: "<div class=\"upload-list\" [ngClass]=\"{'smallDisplay': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\r\n\r\n <ng-scrollbar\r\n class=\"upload-list__scroll\"\r\n [ngClass]=\"{\r\n 'upload-list__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'upload-list__scroll--window': stateDisplayed === 'window'}\"\r\n >\r\n <div class=\"upload-list__box\">\r\n <div class=\"upload-list__box__container\">\r\n <div>\r\n <p class=\"mainColor\">\r\n {{ picturesList? picturesList.length : '' }}\r\n <ng-container *ngIf=\"picturesList && picturesList.length > 1\">{{ 'ImgManager.UploadList.imgSuccessImport' | translate }}</ng-container>\r\n <ng-container *ngIf=\"picturesList && picturesList.length === 1\">{{ 'ImgManager.UploadList.imgSuccessImportOne' | translate }}</ng-container>\r\n </p>\r\n <div class=\"dropdown is-hoverable\">\r\n <div class=\"dropdown-trigger\">\r\n <i\r\n aria-haspopup=\"true\" aria-controls=\"dropdown-menuInfoSeo\"\r\n class=\"fa-solid fa-info-circle\">\r\n </i>\r\n </div>\r\n <div class=\"dropdown-menu dropDownShadow\" id=\"dropdown-menuInfoSeo\" role=\"menu\">\r\n <div class=\"dropdown-content\">\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-list__box__cards\">\r\n <div class=\"upload-list__box__cards__card\" *ngFor=\"let picture of picturesList; let index = index;\">\r\n <img-card\r\n [picture]=\"picture\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\r\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\r\n (pictureNameChange)=\"onRenamePicture($event)\"\r\n ></img-card>\r\n <div class=\"upload-list__box__cards__card__btnBox\">\r\n <button type=\"button\" class=\"button success upload-list__box__cards__card__btnBox__btn\"><i class=\"fal fa-check\"></i></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.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: "component", type: i5.ImgCardComponent, selector: "img-card", inputs: ["tabDisplayed", "fullSize", "picture", "index"], outputs: ["toggleImgSelected", "switchDisplayWindow"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
68
+ easeInOut
69
+ ] });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UploadListComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ selector: 'upload-list', animations: [
74
+ easeInOut
75
+ ], template: "<div class=\"upload-list\" [ngClass]=\"{'smallDisplay': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\r\n\r\n <ng-scrollbar\r\n class=\"upload-list__scroll\"\r\n [ngClass]=\"{\r\n 'upload-list__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'upload-list__scroll--window': stateDisplayed === 'window'}\"\r\n >\r\n <div class=\"upload-list__box\">\r\n <div class=\"upload-list__box__container\">\r\n <div>\r\n <p class=\"mainColor\">\r\n {{ picturesList? picturesList.length : '' }}\r\n <ng-container *ngIf=\"picturesList && picturesList.length > 1\">{{ 'ImgManager.UploadList.imgSuccessImport' | translate }}</ng-container>\r\n <ng-container *ngIf=\"picturesList && picturesList.length === 1\">{{ 'ImgManager.UploadList.imgSuccessImportOne' | translate }}</ng-container>\r\n </p>\r\n <div class=\"dropdown is-hoverable\">\r\n <div class=\"dropdown-trigger\">\r\n <i\r\n aria-haspopup=\"true\" aria-controls=\"dropdown-menuInfoSeo\"\r\n class=\"fa-solid fa-info-circle\">\r\n </i>\r\n </div>\r\n <div class=\"dropdown-menu dropDownShadow\" id=\"dropdown-menuInfoSeo\" role=\"menu\">\r\n <div class=\"dropdown-content\">\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n <div class=\"dropdown-item\">\r\n <p>{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-list__box__cards\">\r\n <div class=\"upload-list__box__cards__card\" *ngFor=\"let picture of picturesList; let index = index;\">\r\n <img-card\r\n [picture]=\"picture\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\r\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\r\n (pictureNameChange)=\"onRenamePicture($event)\"\r\n ></img-card>\r\n <div class=\"upload-list__box__cards__card__btnBox\">\r\n <button type=\"button\" class=\"button success upload-list__box__cards__card__btnBox__btn\"><i class=\"fal fa-check\"></i></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n" }]
76
+ }], ctorParameters: () => [{ type: i1.ImgSelectionService }, { type: i2.RenamePictureService }], propDecorators: { stateDisplayed: [{
77
+ type: Input
78
+ }], tabDisplayed: [{
79
+ type: Input
80
+ }], multipleImgMode: [{
81
+ type: Input
82
+ }], switchDisplayWindow: [{
83
+ type: Output
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtbGlzdC91cGxvYWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLG1CQUFtQjtJQWFwQjtJQUNBO0lBWlYsWUFBWSxHQUFvQixFQUFFLENBQUM7SUFDbkMsa0JBQWtCLENBQWU7SUFDakMsY0FBYyxDQUFlO0lBRXBCLGNBQWMsQ0FBaUI7SUFDL0IsWUFBWSxDQUFlO0lBQzNCLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFFMUMsbUJBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaEUsWUFDVSxtQkFBd0MsRUFDeEMsb0JBQTBDO1FBRDFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUNoRCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQW9CO1FBQ2hDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzlCLENBQUM7UUFDSixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLGNBQWlDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEYsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RELEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQzt1R0E5RFUsbUJBQW1COzJGQUFuQixtQkFBbUIsNE5DZmhDLDRwSEFnRUEsdWhDRHJEYztZQUNWLFNBQVM7U0FDVjs7MkZBRVUsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGFBQWEsY0FFWDt3QkFDVixTQUFTO3FCQUNWOzJIQVFRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVOLG1CQUFtQjtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSwgc3RhdGVEaXNwbGF5ZWQsIHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xyXG5pbXBvcnQgeyBSZW5hbWVQaWN0dXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlbmFtZS1waWN0dXJlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1cGxvYWQtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBlYXNlSW5PdXRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcclxuICBpbWdTZWxlY3Rpb25DaGFuZ2U6IFN1YnNjcmlwdGlvbjtcclxuICBzZWxlY3RJbWdFdmVudDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XHJcbiAgQElucHV0KCkgdGFiRGlzcGxheWVkOiB0YWJEaXNwbGF5ZWQ7XHJcbiAgQElucHV0KCkgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldEV2ZW50cygpO1xyXG4gIH1cclxuXHJcbiAgb25JbWdVcGxvYWRlZChpbWc6IEltZ1BpY3R1cmVEVE9bXSkge1xyXG4gICAgaW1nLmZvckVhY2gocGljdHVyZSA9PlxyXG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdC5wdXNoKHBpY3R1cmUpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLnNldFBpY3R1cmVzTGlzdCh0aGlzLnBpY3R1cmVzTGlzdCk7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZVNlbGVjdEltZyhpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLmFkZEltZ1NlbGVjdGVkKHRoaXMucGljdHVyZXNMaXN0W2luZGV4XSk7XHJcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UucmVtb3ZlSW1nU2VsZWN0ZWRCeUlkKHRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5pZF9maWxlKTtcclxuICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpIHtcclxuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgb25SZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkOiBQaWN0dXJlTmFtZVVwZGF0ZSkge1xyXG4gICAgdGhpcy5yZW5hbWVQaWN0dXJlU2VydmljZS5yZW5hbWVQaWN0dXJlKHBpY3R1cmVSZW5hbWVkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RXZlbnRzKCkge1xyXG4gICAgdGhpcy5pbWdTZWxlY3Rpb25DaGFuZ2UgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuaW1nU2VsZWN0aW9uJC5zdWJzY3JpYmUoaW1nU2VsZWN0aW9uID0+e1xyXG4gICAgICBjb25zdCBpZEZpbGVMaXN0ID0gW107XHJcbiAgICAgIGltZ1NlbGVjdGlvbi5tYXAoaW1nID0+IGlkRmlsZUxpc3QucHVzaChpbWcuaWRfZmlsZSkpO1xyXG4gICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcclxuICAgICAgICBpZiAoaWRGaWxlTGlzdC5pbmRleE9mKHBpY3R1cmUuaWRfZmlsZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICBwaWN0dXJlLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZS51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RcIiBbbmdDbGFzc109XCJ7J3NtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cclxuXHJcbiAgICA8bmctc2Nyb2xsYmFyXHJcbiAgICAgICAgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fc2Nyb2xsXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICd1cGxvYWQtbGlzdF9fc2Nyb2xsLS1zbWFsbERpc3BsYXknOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyxcclxuICAgICAgICAgICAgJ3VwbG9hZC1saXN0X19zY3JvbGwtLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J31cIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fYm94XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fYm94X19jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgcGljdHVyZXNMaXN0PyBwaWN0dXJlc0xpc3QubGVuZ3RoIDogJycgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBpY3R1cmVzTGlzdCAmJiBwaWN0dXJlc0xpc3QubGVuZ3RoID4gMVwiPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3QuaW1nU3VjY2Vzc0ltcG9ydCcgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBpY3R1cmVzTGlzdCAmJiBwaWN0dXJlc0xpc3QubGVuZ3RoID09PSAxXCI+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5pbWdTdWNjZXNzSW1wb3J0T25lJyB8IHRyYW5zbGF0ZSB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gaXMtaG92ZXJhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi10cmlnZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1jb250cm9scz1cImRyb3Bkb3duLW1lbnVJbmZvU2VvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWluZm8tY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wRG93blNoYWRvd1wiIGlkPVwiZHJvcGRvd24tbWVudUluZm9TZW9cIiByb2xlPVwibWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby5yZXppc2UnIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby53ZWJwJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby5jZG4nIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPiAxMDAlPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3Quc2VvLmxhenlsb2FkaW5nJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4gMTAwJTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtbGlzdF9fYm94X19jYXJkc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0X19ib3hfX2NhcmRzX19jYXJkXCIgKm5nRm9yPVwibGV0IHBpY3R1cmUgb2YgcGljdHVyZXNMaXN0OyBsZXQgaW5kZXggPSBpbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nLWNhcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BpY3R1cmVdPVwicGljdHVyZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh0b2dnbGVJbWdTZWxlY3RlZCk9XCJvblRvZ2dsZVNlbGVjdEltZyhpbmRleClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoc3dpdGNoRGlzcGxheVdpbmRvdyk9XCJzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBpY3R1cmVOYW1lQ2hhbmdlKT1cIm9uUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9pbWctY2FyZD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWxpc3RfX2JveF9fY2FyZHNfX2NhcmRfX2J0bkJveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBzdWNjZXNzIHVwbG9hZC1saXN0X19ib3hfX2NhcmRzX19jYXJkX19idG5Cb3hfX2J0blwiPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1zY3JvbGxiYXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { Directive, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ export class AbstractDebounceDirective {
6
+ debounceTime;
7
+ onEventChange;
8
+ emitEvent$;
9
+ subscription$;
10
+ constructor() {
11
+ this.debounceTime = 500;
12
+ this.onEventChange = new EventEmitter();
13
+ this.emitEvent$ = new Subject();
14
+ this.subscription$ = new Subject();
15
+ }
16
+ ngOnInit() {
17
+ this.emitEvent$
18
+ .pipe(takeUntil(this.subscription$), debounceTime(this.debounceTime), distinctUntilChanged(), tap(value => this.emitChange(value)))
19
+ .subscribe();
20
+ }
21
+ emitChange(value) {
22
+ this.onEventChange.emit(value);
23
+ }
24
+ ngOnDestroy() {
25
+ this.subscription$.next();
26
+ this.subscription$.complete();
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AbstractDebounceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: AbstractDebounceDirective, selector: "AbstractDebounceDirective", inputs: { debounceTime: "debounceTime" }, outputs: { onEventChange: "onEventChange" }, ngImport: i0 });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AbstractDebounceDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: 'AbstractDebounceDirective'
35
+ }]
36
+ }], ctorParameters: () => [], propDecorators: { debounceTime: [{
37
+ type: Input
38
+ }], onEventChange: [{
39
+ type: Output
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGVib3VuY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Fic3RyYWN0LWRlYm91bmNlL2Fic3RyYWN0LWRlYm91bmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3BGLE1BQU0sT0FBTyx5QkFBeUI7SUFFN0IsWUFBWSxDQUFTO0lBR3JCLGFBQWEsQ0FBb0I7SUFFOUIsVUFBVSxDQUFlO0lBQ3pCLGFBQWEsQ0FBZ0I7SUFFdkM7UUFDRSxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVO2FBQ1osSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQy9CLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDckM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQzt1R0FuQ1UseUJBQXlCOzJGQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7d0RBR1EsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ0Fic3RyYWN0RGVib3VuY2VEaXJlY3RpdmUnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGVib3VuY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVib3VuY2VUaW1lOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkV2ZW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBwcm90ZWN0ZWQgZW1pdEV2ZW50JDogU3ViamVjdDxhbnk+O1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uJDogU3ViamVjdDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRlYm91bmNlVGltZSA9IDUwMDtcbiAgICB0aGlzLm9uRXZlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICB0aGlzLmVtaXRFdmVudCQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdEV2ZW50JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN1YnNjcmlwdGlvbiQpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAodmFsdWUgPT4gdGhpcy5lbWl0Q2hhbmdlKHZhbHVlKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Q2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uRXZlbnRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiQubmV4dCgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -9,16 +9,16 @@ export class DebounceKeyupDirective extends AbstractDebounceDirective {
9
9
  event.preventDefault();
10
10
  this.emitEvent$.next(event);
11
11
  }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DebounceKeyupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]", host: { listeners: { "keyup": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 });
12
14
  }
13
- DebounceKeyupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DebounceKeyupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
- DebounceKeyupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]", host: { listeners: { "keyup": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DebounceKeyupDirective, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DebounceKeyupDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  selector: 'input[debounceKeyUp]'
19
19
  }]
20
- }], ctorParameters: function () { return []; }, propDecorators: { onKeyUp: [{
20
+ }], ctorParameters: () => [], propDecorators: { onKeyUp: [{
21
21
  type: HostListener,
22
22
  args: ['keyup', ['$event']]
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2Uta2V5dXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Fic3RyYWN0LWRlYm91bmNlL2RlYm91bmNlLWtleXVwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJMUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUF5QjtJQUNuRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUdNLE9BQU8sQ0FBQyxLQUFVO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOztvSEFUVSxzQkFBc0I7d0dBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzBFQU9RLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vYWJzdHJhY3QtZGVib3VuY2UuZGlyZWN0aXZlJztcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W2RlYm91bmNlS2V5VXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBEZWJvdW5jZUtleXVwRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZW1pdEV2ZW50JC5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2Uta2V5dXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Fic3RyYWN0LWRlYm91bmNlL2RlYm91bmNlLWtleXVwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJMUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUF5QjtJQUNuRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUdNLE9BQU8sQ0FBQyxLQUFVO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQVRVLHNCQUFzQjsyRkFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDO3dEQU9RLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vYWJzdHJhY3QtZGVib3VuY2UuZGlyZWN0aXZlJztcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W2RlYm91bmNlS2V5VXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBEZWJvdW5jZUtleXVwRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZW1pdEV2ZW50JC5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19