@wizishop/img-manager 18.2.0-beta → 18.2.1-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/canva-btn/canva-btn.component.mjs +73 -0
- package/esm2022/lib/components/images-view/images-actions-handler.mjs +168 -0
- package/esm2022/lib/components/images-view/images-view.component.mjs +391 -0
- package/esm2022/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +70 -0
- package/esm2022/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +73 -0
- package/esm2022/lib/components/images-view/table-view/table-view.component.mjs +48 -0
- package/esm2022/lib/components/img-editor/cropper/cropper.component.mjs +313 -0
- package/esm2022/lib/components/img-editor/img-editor.component.mjs +129 -0
- package/esm2022/lib/components/img-editor/info-section/info-section.component.mjs +58 -0
- package/esm2022/lib/components/img-selection/img-selection.component.mjs +58 -0
- package/esm2022/lib/components/img-tabs/img-tabs.component.mjs +128 -0
- package/esm2022/lib/components/img-upload/img-upload.component.mjs +133 -0
- package/esm2022/lib/components/loader/loader.component.mjs +21 -0
- package/esm2022/lib/components/pexels-lib/pexels-lib.component.mjs +211 -0
- package/esm2022/lib/components/shared/alert/alert.component.mjs +26 -0
- package/esm2022/lib/components/shared/checkbox/checkbox.component.mjs +56 -0
- package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
- package/esm2022/lib/components/shared/input-search/input-search.component.mjs +53 -0
- package/esm2022/lib/components/shared/pagination/page-selector/page-selector.component.mjs +50 -0
- package/esm2022/lib/components/shared/pagination/pagination.component.mjs +49 -0
- package/esm2022/lib/components/shared/select/select.component.mjs +117 -0
- package/esm2022/lib/components/shared/table/table.component.mjs +124 -0
- package/esm2022/lib/components/upload-list/upload-list.component.mjs +85 -0
- package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +41 -0
- package/{esm2020 → esm2022}/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +5 -5
- package/esm2022/lib/directives/auto-hide.directive.mjs +51 -0
- package/esm2022/lib/directives/copy-to-clipboard.directive.mjs +36 -0
- package/esm2022/lib/directives/drag-drop.directive.mjs +55 -0
- package/esm2022/lib/directives/loading.directive.mjs +43 -0
- package/esm2022/lib/directives/table/checkBoxRow.directive.mjs +130 -0
- package/esm2022/lib/directives/table/column.directive.mjs +50 -0
- package/esm2022/lib/directives/table/columnHeader.directive.mjs +215 -0
- package/esm2022/lib/directives/table/raw.directive.mjs +34 -0
- package/esm2022/lib/directives/zindex-toggle.directive.mjs +45 -0
- package/esm2022/lib/dto/canva-create-design.dto.mjs +9 -0
- package/esm2022/lib/dto/canva.dto.mjs +6 -0
- package/esm2022/lib/dto/config/apis/api.dto.mjs +11 -0
- package/esm2022/lib/dto/config/external/external-config.dto.mjs +5 -0
- package/esm2022/lib/dto/wizi-block-media.dto.mjs +7 -0
- package/esm2022/lib/pipes/images/img-src.pipe.mjs +29 -0
- package/{esm2020 → esm2022}/lib/pipes/number-to-array.pipe.mjs +4 -4
- package/esm2022/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
- package/esm2022/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
- package/esm2022/lib/pipes/pagination/text/custom-text.pipe.mjs +36 -0
- package/esm2022/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
- package/{esm2020 → esm2022}/lib/pipes/select/select-filters.pipe.mjs +4 -4
- package/esm2022/lib/services/alert.service.mjs +53 -0
- package/{esm2020 → esm2022}/lib/services/api.service.mjs +4 -4
- package/esm2022/lib/services/canva.service.mjs +165 -0
- package/esm2022/lib/services/config/img-cdn.service.mjs +21 -0
- package/esm2022/lib/services/dom.service.mjs +31 -0
- package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/image-not-found.service.mjs +4 -4
- package/esm2022/lib/services/img-event.service.mjs +33 -0
- package/esm2022/lib/services/img-manager.service.mjs +134 -0
- package/esm2022/lib/services/img-selection.service.mjs +75 -0
- package/esm2022/lib/services/pexels.service.mjs +66 -0
- package/esm2022/lib/services/rename-picture.service.mjs +66 -0
- package/esm2022/lib/services/snackbar.service.mjs +67 -0
- package/esm2022/lib/services/table/filters-table.service.mjs +61 -0
- package/esm2022/lib/services/upload.service.mjs +20 -0
- package/esm2022/lib/services/user-settings.service.mjs +23 -0
- package/esm2022/lib/wz-img-manager.component.mjs +209 -0
- package/{esm2020 → esm2022}/lib/wz-img-manager.module.mjs +61 -61
- package/{fesm2020 → fesm2022}/wizishop-img-manager.mjs +1018 -830
- package/fesm2022/wizishop-img-manager.mjs.map +1 -0
- package/lib/components/canva-btn/canva-btn.component.d.ts +1 -1
- package/lib/components/images-view/images-actions-handler.d.ts +2 -1
- package/lib/components/images-view/images-view.component.d.ts +4 -9
- package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +1 -1
- package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +1 -1
- package/lib/components/img-editor/cropper/cropper.component.d.ts +1 -1
- package/lib/components/img-editor/img-editor.component.d.ts +1 -1
- package/lib/components/img-editor/info-section/info-section.component.d.ts +1 -1
- package/lib/components/img-selection/img-selection.component.d.ts +4 -5
- package/lib/components/img-tabs/img-tabs.component.d.ts +1 -1
- package/lib/components/img-upload/img-upload.component.d.ts +1 -1
- package/lib/components/loader/loader.component.d.ts +1 -1
- package/lib/components/pexels-lib/pexels-lib.component.d.ts +1 -1
- package/lib/components/shared/alert/alert.component.d.ts +1 -1
- package/lib/components/shared/checkbox/checkbox.component.d.ts +1 -1
- package/lib/components/shared/dropdown/dropdown.component.d.ts +1 -1
- package/lib/components/shared/input-search/input-search.component.d.ts +1 -1
- package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +1 -1
- package/lib/components/shared/pagination/pagination.component.d.ts +1 -1
- package/lib/components/shared/select/select.component.d.ts +1 -1
- package/lib/components/shared/table/table.component.d.ts +1 -1
- package/lib/components/upload-list/upload-list.component.d.ts +1 -1
- package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
- package/lib/directives/auto-hide.directive.d.ts +1 -1
- package/lib/directives/copy-to-clipboard.directive.d.ts +1 -1
- package/lib/directives/table/checkBoxRow.directive.d.ts +1 -1
- package/lib/directives/table/column.directive.d.ts +1 -1
- package/lib/directives/table/columnHeader.directive.d.ts +1 -1
- package/lib/directives/zindex-toggle.directive.d.ts +1 -1
- package/lib/wz-img-manager.component.d.ts +3 -3
- package/package.json +7 -13
- package/wizishop-img-manager-18.2.1-beta.tgz +0 -0
- package/wz-img-manager.scss +20 -3
- package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +0 -67
- package/esm2020/lib/components/images-view/images-actions-handler.mjs +0 -154
- package/esm2020/lib/components/images-view/images-view.component.mjs +0 -369
- package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +0 -66
- package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +0 -71
- package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +0 -48
- package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +0 -307
- package/esm2020/lib/components/img-editor/img-editor.component.mjs +0 -124
- package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +0 -54
- package/esm2020/lib/components/img-selection/img-selection.component.mjs +0 -53
- package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +0 -122
- package/esm2020/lib/components/img-upload/img-upload.component.mjs +0 -126
- package/esm2020/lib/components/loader/loader.component.mjs +0 -21
- package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +0 -203
- package/esm2020/lib/components/shared/alert/alert.component.mjs +0 -27
- package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +0 -52
- package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +0 -21
- package/esm2020/lib/components/shared/input-search/input-search.component.mjs +0 -54
- package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +0 -49
- package/esm2020/lib/components/shared/pagination/pagination.component.mjs +0 -49
- package/esm2020/lib/components/shared/select/select.component.mjs +0 -110
- package/esm2020/lib/components/shared/table/table.component.mjs +0 -116
- package/esm2020/lib/components/upload-list/upload-list.component.mjs +0 -79
- package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +0 -37
- package/esm2020/lib/directives/auto-hide.directive.mjs +0 -48
- package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +0 -37
- package/esm2020/lib/directives/drag-drop.directive.mjs +0 -57
- package/esm2020/lib/directives/loading.directive.mjs +0 -42
- package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +0 -114
- package/esm2020/lib/directives/table/column.directive.mjs +0 -45
- package/esm2020/lib/directives/table/columnHeader.directive.mjs +0 -204
- package/esm2020/lib/directives/table/raw.directive.mjs +0 -31
- package/esm2020/lib/directives/zindex-toggle.directive.mjs +0 -42
- package/esm2020/lib/dto/canva-create-design.dto.mjs +0 -4
- package/esm2020/lib/dto/canva.dto.mjs +0 -4
- package/esm2020/lib/dto/config/apis/api.dto.mjs +0 -9
- package/esm2020/lib/dto/config/external/external-config.dto.mjs +0 -3
- package/esm2020/lib/dto/wizi-block-media.dto.mjs +0 -3
- package/esm2020/lib/pipes/images/img-src.pipe.mjs +0 -28
- package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +0 -28
- package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +0 -53
- package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +0 -35
- package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +0 -25
- package/esm2020/lib/services/alert.service.mjs +0 -50
- package/esm2020/lib/services/canva.service.mjs +0 -159
- package/esm2020/lib/services/config/img-cdn.service.mjs +0 -23
- package/esm2020/lib/services/dom.service.mjs +0 -33
- package/esm2020/lib/services/img-event.service.mjs +0 -35
- package/esm2020/lib/services/img-manager.service.mjs +0 -136
- package/esm2020/lib/services/img-selection.service.mjs +0 -76
- package/esm2020/lib/services/pexels.service.mjs +0 -62
- package/esm2020/lib/services/rename-picture.service.mjs +0 -63
- package/esm2020/lib/services/snackbar.service.mjs +0 -64
- package/esm2020/lib/services/table/filters-table.service.mjs +0 -60
- package/esm2020/lib/services/upload.service.mjs +0 -22
- package/esm2020/lib/services/user-settings.service.mjs +0 -25
- package/esm2020/lib/wz-img-manager.component.mjs +0 -192
- package/fesm2015/wizishop-img-manager.mjs +0 -4035
- package/fesm2015/wizishop-img-manager.mjs.map +0 -1
- package/fesm2020/wizishop-img-manager.mjs.map +0 -1
- package/wizishop-img-manager-18.2.0-beta.tgz +0 -0
- /package/{esm2020 → esm2022}/lib/animations/easeInOut/ease-in-out.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/animations/insertRemove/insert-remove.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/animations/listAnnimation/list.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/shared/select/call-to-action.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/shared/select/select-items.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/ImgManagerDisplayConfig.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/config/img-manager.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/export-dtos.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/img-editor-config.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/img-manager.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/pexels-img.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/picture-name-update.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/stateDisplayed.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/tabDisplayed.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBU3pFLE1BQU0sT0FBTyxlQUFlO0lBc0NOO0lBcENwQixLQUFLLENBQWU7SUFHcEIsV0FBVyxDQUFTO0lBR3BCLEtBQUssQ0FBUztJQUdkLGFBQWEsQ0FBUztJQUd0QixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBR2YsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUdqQixZQUFZLENBQWdCO0lBRW5CLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFHM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVQLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkMsYUFBYSxDQUFhO0lBRS9DLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUVqQixpQkFBaUIsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUUvQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0IsRUFBRSxLQUFhO1FBQ3RDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sWUFBWSxHQUFlLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4RCxZQUFZLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEVBQVU7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLFFBQVEsR0FBcUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7SUFFdkIsVUFBVSxDQUFDLFVBQWU7UUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLFVBQVUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQzt1R0F4R1UsZUFBZTsyRkFBZixlQUFlLDRVQUZmLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsbUlDVHhGLDZ6RkErQ0E7OzJGRHBDYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVksYUFFWCxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO3FGQUl0RixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRWMsYUFBYTtzQkFBakMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuL3NlbGVjdC1pdGVtcy5kdG8nO1xuaW1wb3J0IHsgQ2FsbGxUb0FjdGlvbiB9IGZyb20gJy4vY2FsbC10by1hY3Rpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBpdGVtczogU2VsZWN0SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aEl0ZW1zOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2VhcmNoID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdHlwZSA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKVxuICBjYWxsVG9BY3Rpb246IENhbGxsVG9BY3Rpb247XG5cbiAgQElucHV0KCkgbWF4V2lkdGggPSAnMTAwJSc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KCkgY2xpY2tPbkNhbGxUb0FjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgb3BlbkNhdGVnb3JpZXMgPSBmYWxzZTtcbiAgc2VhcmNoVmFsdWUgPSAnJztcblxuICBpbmRleEl0ZW1TZWxlY3RlZDogbnVtYmVyID0gLTE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5kZXhJdGVtU2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+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
|
-
|
|
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:
|
|
20
|
+
}], ctorParameters: () => [], propDecorators: { onKeyUp: [{
|
|
21
21
|
type: HostListener,
|
|
22
22
|
args: ['keyup', ['$event']]
|
|
23
23
|
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2Uta2V5dXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Fic3RyYWN0LWRlYm91bmNlL2RlYm91bmNlLWtleXVwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJMUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUF5QjtJQUNuRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUdNLE9BQU8sQ0FBQyxLQUFVO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQVRVLHNCQUFzQjsyRkFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDO3dEQU9RLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vYWJzdHJhY3QtZGVib3VuY2UuZGlyZWN0aXZlJztcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W2RlYm91bmNlS2V5VXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBEZWJvdW5jZUtleXVwRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3REZWJvdW5jZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZW1pdEV2ZW50JC5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19
|