@wizishop/img-manager 18.2.0 → 18.2.1-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +6 -12
- package/wizishop-img-manager-18.2.1-beta.tgz +0 -0
- package/wz-img-manager.scss +77 -60
- 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.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,51 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { DomService } from '../services/dom.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/dom.service";
|
|
5
|
+
export class AutoHideDirective {
|
|
6
|
+
_elementRef;
|
|
7
|
+
domService;
|
|
8
|
+
triggerElement;
|
|
9
|
+
forceOn = null;
|
|
10
|
+
constructor(_elementRef, domService) {
|
|
11
|
+
this._elementRef = _elementRef;
|
|
12
|
+
this.domService = domService;
|
|
13
|
+
}
|
|
14
|
+
clickOutside = new EventEmitter();
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
this.domService.documentEvent().subscribe((targetElement) => {
|
|
17
|
+
const clickedInside = this._elementRef.nativeElement.contains(targetElement);
|
|
18
|
+
const classNameFromElement = targetElement.getAttribute('class');
|
|
19
|
+
if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {
|
|
20
|
+
this.clickOutside.emit(null);
|
|
21
|
+
}
|
|
22
|
+
if (this.forceOn != null && classNameFromElement !== null) {
|
|
23
|
+
let needToClose = true;
|
|
24
|
+
this.forceOn.forEach(v => {
|
|
25
|
+
if (!classNameFromElement.includes(v)) {
|
|
26
|
+
needToClose = false;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
if (needToClose) {
|
|
30
|
+
this.clickOutside.emit(null);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AutoHideDirective, deps: [{ token: i0.ElementRef }, { token: i1.DomService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: { triggerElement: "triggerElement", forceOn: "forceOn" }, outputs: { clickOutside: "clickOutside" }, ngImport: i0 });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AutoHideDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: '[wzAutoHide]'
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DomService }], propDecorators: { triggerElement: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], forceOn: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], clickOutside: [{
|
|
48
|
+
type: Output,
|
|
49
|
+
args: ['clickOutside']
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1oaWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvLWhpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUtyRCxNQUFNLE9BQU8saUJBQWlCO0lBSVI7SUFBaUM7SUFINUMsY0FBYyxDQUFTO0lBQ3ZCLE9BQU8sR0FBa0IsSUFBSSxDQUFDO0lBRXZDLFlBQW9CLFdBQXVCLEVBQVUsVUFBc0I7UUFBdkQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUV2RCxZQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0UsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBc0IsRUFBRSxFQUFFO1lBQ25FLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RSxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3RyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxvQkFBb0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUN0QyxXQUFXLEdBQUcsS0FBSyxDQUFDO29CQUN0QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksV0FBVyxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E3QlUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO3dHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUlrQixZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RvbS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3d6QXV0b0hpZGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvSGlkZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSB0cmlnZ2VyRWxlbWVudDogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JjZU9uOiBBcnJheTxzdHJpbmc+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGRvbVNlcnZpY2U6IERvbVNlcnZpY2UpIHt9XG5cbiAgQE91dHB1dCgnY2xpY2tPdXRzaWRlJykgY2xpY2tPdXRzaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmRvY3VtZW50RXZlbnQoKS5zdWJzY3JpYmUoKHRhcmdldEVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgICBjb25zdCBjbGFzc05hbWVGcm9tRWxlbWVudCA9IHRhcmdldEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjbGFzcycpO1xuXG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUgJiYgKGNsYXNzTmFtZUZyb21FbGVtZW50ID09PSBudWxsIHx8ICFjbGFzc05hbWVGcm9tRWxlbWVudC5pbmNsdWRlcyh0aGlzLnRyaWdnZXJFbGVtZW50KSkpIHtcbiAgICAgICAgdGhpcy5jbGlja091dHNpZGUuZW1pdChudWxsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZm9yY2VPbiAhPSBudWxsICYmIGNsYXNzTmFtZUZyb21FbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGxldCBuZWVkVG9DbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9yY2VPbi5mb3JFYWNoKHYgPT4ge1xuICAgICAgICAgIGlmICghY2xhc3NOYW1lRnJvbUVsZW1lbnQuaW5jbHVkZXModikpIHtcbiAgICAgICAgICAgIG5lZWRUb0Nsb3NlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG5lZWRUb0Nsb3NlKSB7XG4gICAgICAgICAgdGhpcy5jbGlja091dHNpZGUuZW1pdChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Directive, Input, Output, EventEmitter, HostListener } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CopyClipboardDirective {
|
|
4
|
+
payload;
|
|
5
|
+
copied = new EventEmitter();
|
|
6
|
+
onClick(event) {
|
|
7
|
+
event.preventDefault();
|
|
8
|
+
if (!this.payload)
|
|
9
|
+
return;
|
|
10
|
+
let listener = (e) => {
|
|
11
|
+
let clipboard = e.clipboardData || window["clipboardData"];
|
|
12
|
+
clipboard.setData("text", this.payload.toString());
|
|
13
|
+
e.preventDefault();
|
|
14
|
+
this.copied.emit(this.payload);
|
|
15
|
+
};
|
|
16
|
+
document.addEventListener("copy", listener, false);
|
|
17
|
+
document.execCommand("copy");
|
|
18
|
+
document.removeEventListener("copy", listener, false);
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CopyClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CopyClipboardDirective, selector: "[copy-clipboard]", inputs: { payload: ["copy-clipboard", "payload"] }, outputs: { copied: "copied" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CopyClipboardDirective, decorators: [{
|
|
24
|
+
type: Directive,
|
|
25
|
+
args: [{ selector: '[copy-clipboard]' }]
|
|
26
|
+
}], propDecorators: { payload: [{
|
|
27
|
+
type: Input,
|
|
28
|
+
args: ["copy-clipboard"]
|
|
29
|
+
}], copied: [{
|
|
30
|
+
type: Output,
|
|
31
|
+
args: ["copied"]
|
|
32
|
+
}], onClick: [{
|
|
33
|
+
type: HostListener,
|
|
34
|
+
args: ["click", ["$event"]]
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10by1jbGlwYm9hcmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2NvcHktdG8tY2xpcGJvYXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHckYsTUFBTSxPQUFPLHNCQUFzQjtJQUcxQixPQUFPLENBQVM7SUFHaEIsTUFBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRzFELE9BQU8sQ0FBQyxLQUFpQjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2YsT0FBTztRQUVULElBQUksUUFBUSxHQUFHLENBQUMsQ0FBaUIsRUFBRSxFQUFFO1lBQ25DLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzNELFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUVGLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2xELFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzt1R0ExQlUsc0JBQXNCOzJGQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7OEJBSWxDLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLE1BQU07c0JBRFosTUFBTTt1QkFBQyxRQUFRO2dCQUlULE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NvcHktY2xpcGJvYXJkXScgfSlcbmV4cG9ydCBjbGFzcyBDb3B5Q2xpcGJvYXJkRGlyZWN0aXZlIHtcblxuICBASW5wdXQoXCJjb3B5LWNsaXBib2FyZFwiKVxuICBwdWJsaWMgcGF5bG9hZDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoXCJjb3BpZWRcIilcbiAgcHVibGljIGNvcGllZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICBwdWJsaWMgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXRoaXMucGF5bG9hZClcbiAgICAgIHJldHVybjtcblxuICAgIGxldCBsaXN0ZW5lciA9IChlOiBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgbGV0IGNsaXBib2FyZCA9IGUuY2xpcGJvYXJkRGF0YSB8fCB3aW5kb3dbXCJjbGlwYm9hcmREYXRhXCJdO1xuICAgICAgY2xpcGJvYXJkLnNldERhdGEoXCJ0ZXh0XCIsIHRoaXMucGF5bG9hZC50b1N0cmluZygpKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgdGhpcy5jb3BpZWQuZW1pdCh0aGlzLnBheWxvYWQpO1xuICAgIH07XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY29weVwiLCBsaXN0ZW5lciwgZmFsc2UpXG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoXCJjb3B5XCIpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjb3B5XCIsIGxpc3RlbmVyLCBmYWxzZSk7XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DragDropDirective {
|
|
4
|
+
onFileDropped = new EventEmitter();
|
|
5
|
+
background = '#fff';
|
|
6
|
+
opacity = '1';
|
|
7
|
+
onDragOver(evt) {
|
|
8
|
+
evt.preventDefault();
|
|
9
|
+
evt.stopPropagation();
|
|
10
|
+
this.background = '#f5f5f5';
|
|
11
|
+
this.opacity = '0.8';
|
|
12
|
+
}
|
|
13
|
+
onDragLeave(evt) {
|
|
14
|
+
evt.preventDefault();
|
|
15
|
+
evt.stopPropagation();
|
|
16
|
+
this.background = '#fff';
|
|
17
|
+
this.opacity = '1';
|
|
18
|
+
}
|
|
19
|
+
ondrop(evt) {
|
|
20
|
+
evt.preventDefault();
|
|
21
|
+
evt.stopPropagation();
|
|
22
|
+
this.background = '#f5f5f5';
|
|
23
|
+
this.opacity = '1';
|
|
24
|
+
const files = evt.dataTransfer.files;
|
|
25
|
+
if (files.length > 0) {
|
|
26
|
+
this.onFileDropped.emit(files);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DragDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: DragDropDirective, selector: "[appDragDrop]", outputs: { onFileDropped: "onFileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "style.background-color": "this.background", "style.opacity": "this.opacity" } }, ngImport: i0 });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DragDropDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: '[appDragDrop]'
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { onFileDropped: [{
|
|
38
|
+
type: Output
|
|
39
|
+
}], background: [{
|
|
40
|
+
type: HostBinding,
|
|
41
|
+
args: ['style.background-color']
|
|
42
|
+
}], opacity: [{
|
|
43
|
+
type: HostBinding,
|
|
44
|
+
args: ['style.opacity']
|
|
45
|
+
}], onDragOver: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['dragover', ['$event']]
|
|
48
|
+
}], onDragLeave: [{
|
|
49
|
+
type: HostListener,
|
|
50
|
+
args: ['dragleave', ['$event']]
|
|
51
|
+
}], ondrop: [{
|
|
52
|
+
type: HostListener,
|
|
53
|
+
args: ['drop', ['$event']]
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszRixNQUFNLE9BQU8saUJBQWlCO0lBRWxCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0lBRWIsVUFBVSxHQUFHLE1BQU0sQ0FBQTtJQUM1QixPQUFPLEdBQUcsR0FBRyxDQUFBO0lBRUwsVUFBVSxDQUFDLEdBQVE7UUFDdkQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRTZDLFdBQVcsQ0FBQyxHQUFRO1FBQ2hFLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUV3QyxNQUFNLENBQUMsR0FBUTtRQUN0RCxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFBO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQzt1R0E5QlUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzhCQUdXLGFBQWE7c0JBQXRCLE1BQU07Z0JBRWdDLFVBQVU7c0JBQWhELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNQLE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFFVSxVQUFVO3NCQUEvQyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPVSxXQUFXO3NCQUF4RCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPSSxNQUFNO3NCQUE5QyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcERyYWdEcm9wXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0Ryb3BEaXJlY3RpdmUge1xuXG4gIEBPdXRwdXQoKSBvbkZpbGVEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtY29sb3InKSBiYWNrZ3JvdW5kID0gJyNmZmYnXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3BhY2l0eScpIG9wYWNpdHkgPSAnMSdcblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIG9uRHJhZ092ZXIoZXZ0OiBhbnkpIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5iYWNrZ3JvdW5kID0gJyNmNWY1ZjUnO1xuICAgIHRoaXMub3BhY2l0eSA9ICcwLjgnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgcHVibGljIG9uRHJhZ0xlYXZlKGV2dDogYW55KSB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZCA9ICcjZmZmJztcbiAgICB0aGlzLm9wYWNpdHkgPSAnMSc7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSkgcHVibGljIG9uZHJvcChldnQ6IGFueSkge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmJhY2tncm91bmQgPSAnI2Y1ZjVmNSdcbiAgICB0aGlzLm9wYWNpdHkgPSAnMSdcbiAgICBjb25zdCBmaWxlcyA9IGV2dC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub25GaWxlRHJvcHBlZC5lbWl0KGZpbGVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LoadingDirective {
|
|
4
|
+
element;
|
|
5
|
+
currentLoading = 0;
|
|
6
|
+
interval = null;
|
|
7
|
+
constructor(el) {
|
|
8
|
+
this.element = el;
|
|
9
|
+
this.launchLoading();
|
|
10
|
+
}
|
|
11
|
+
launchLoading() {
|
|
12
|
+
if (this.interval !== null) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this.currentLoading = 10;
|
|
16
|
+
this.element.nativeElement.style.width = this.currentLoading + '%';
|
|
17
|
+
this.interval = setInterval(() => {
|
|
18
|
+
if (this.currentLoading < 80) {
|
|
19
|
+
this.currentLoading += Math.floor(Math.random() * 15);
|
|
20
|
+
this.element.nativeElement.style.width = this.currentLoading + '%';
|
|
21
|
+
}
|
|
22
|
+
if (this.currentLoading >= 80 && this.currentLoading < 95) {
|
|
23
|
+
this.currentLoading += Math.floor(Math.random() * 2);
|
|
24
|
+
this.element.nativeElement.style.width = this.currentLoading + '%';
|
|
25
|
+
}
|
|
26
|
+
}, 70);
|
|
27
|
+
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
if (this.interval) {
|
|
30
|
+
clearInterval(this.interval);
|
|
31
|
+
this.interval = null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LoadingDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: LoadingDirective, selector: "[btnLoadingAnim]", ngImport: i0 });
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LoadingDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[btnLoadingAnim]'
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2RpcmVjdGl2ZXMvbG9hZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsT0FBTyxDQUFhO0lBQ3BCLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVoQixZQUFZLEVBQWM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUVuRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7WUFDckUsQ0FBQztRQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt1R0FwQ1UsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2J0bkxvYWRpbmdBbmltXSdcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0RpcmVjdGl2ZSB7XG5cbiAgZWxlbWVudDogRWxlbWVudFJlZjtcbiAgY3VycmVudExvYWRpbmcgPSAwO1xuICBpbnRlcnZhbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbDtcbiAgICB0aGlzLmxhdW5jaExvYWRpbmcoKTtcbiAgfVxuXG4gIGxhdW5jaExvYWRpbmcoKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TG9hZGluZyA9IDEwO1xuXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLmN1cnJlbnRMb2FkaW5nICsgJyUnO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkaW5nIDwgODApIHtcbiAgICAgICAgdGhpcy5jdXJyZW50TG9hZGluZyArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5jdXJyZW50TG9hZGluZyArICclJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkaW5nID49IDgwICYmIHRoaXMuY3VycmVudExvYWRpbmcgPCA5NSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkaW5nICs9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDIpO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuY3VycmVudExvYWRpbmcgKyAnJSc7XG4gICAgICB9XG4gICAgfSwgNzApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgICB0aGlzLmludGVydmFsID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { ComponentFactoryResolver, EventEmitter, Inject, Output, Renderer2, Directive, ElementRef, Input, ApplicationRef, Injector } from '@angular/core';
|
|
3
|
+
import { v4 as uuid } from 'uuid';
|
|
4
|
+
import { CheckboxComponent } from '../../components/shared/checkbox/checkbox.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class CheckBoxRow {
|
|
7
|
+
currentRow;
|
|
8
|
+
appRef;
|
|
9
|
+
renderer;
|
|
10
|
+
document;
|
|
11
|
+
resolver;
|
|
12
|
+
injector;
|
|
13
|
+
checkBoxId;
|
|
14
|
+
checkBoxName;
|
|
15
|
+
set checkBoxValue(value) {
|
|
16
|
+
this._value = value;
|
|
17
|
+
if (this.checkboxComponentRef) {
|
|
18
|
+
this.setCheckBoxValue();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
_value;
|
|
22
|
+
get checkBoxValue() {
|
|
23
|
+
return this._value;
|
|
24
|
+
}
|
|
25
|
+
checkBoxValueChange = new EventEmitter();
|
|
26
|
+
checkboxComponentRef;
|
|
27
|
+
htmlContainer;
|
|
28
|
+
constructor(currentRow, appRef, renderer, document, resolver, injector) {
|
|
29
|
+
this.currentRow = currentRow;
|
|
30
|
+
this.appRef = appRef;
|
|
31
|
+
this.renderer = renderer;
|
|
32
|
+
this.document = document;
|
|
33
|
+
this.resolver = resolver;
|
|
34
|
+
this.injector = injector;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
this.createCheckBoxComponent();
|
|
38
|
+
this.handleChecboxInputs();
|
|
39
|
+
this.handleCheckboxOutputs();
|
|
40
|
+
}
|
|
41
|
+
createCheckBoxComponent() {
|
|
42
|
+
// Create the container
|
|
43
|
+
const checkBoxContainer = document.createElement('div');
|
|
44
|
+
checkBoxContainer.className = 'wz-table__body__line__cell wz-table__body__line__cell--checkbox';
|
|
45
|
+
// Insert divCheckBox in the DOM as the first child of the row
|
|
46
|
+
this.renderer.insertBefore(this.currentRow.nativeElement, checkBoxContainer, this.currentRow.nativeElement.firstChild);
|
|
47
|
+
// Insert the CheckBoxComponent inside the container (DOM and Angular DOM)
|
|
48
|
+
this.htmlContainer = new HtmlContainer(checkBoxContainer, this.appRef, this.resolver, this.injector);
|
|
49
|
+
this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);
|
|
50
|
+
}
|
|
51
|
+
handleChecboxInputs() {
|
|
52
|
+
this.checkboxComponentRef.instance.id = this.checkBoxId ? this.checkBoxId : uuid();
|
|
53
|
+
this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;
|
|
54
|
+
this.checkboxComponentRef.instance.alone = true;
|
|
55
|
+
this.setCheckBoxValue();
|
|
56
|
+
}
|
|
57
|
+
setCheckBoxValue() {
|
|
58
|
+
this.checkboxComponentRef.instance.value = this.checkBoxValue;
|
|
59
|
+
}
|
|
60
|
+
handleCheckboxOutputs() {
|
|
61
|
+
// Detect checkbox changes
|
|
62
|
+
this.checkboxComponentRef.instance.registerOnChange(() => {
|
|
63
|
+
this._toggleCheckbox();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
_toggleCheckbox() {
|
|
67
|
+
this.checkBoxValue = !this.checkBoxValue;
|
|
68
|
+
this.checkBoxValueChange.emit(this.checkBoxValue);
|
|
69
|
+
}
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
this.htmlContainer.dispose();
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CheckBoxRow, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CheckBoxRow, selector: "[checkBoxRow]", inputs: { checkBoxId: "checkBoxId", checkBoxName: "checkBoxName", checkBoxValue: "checkBoxValue" }, outputs: { checkBoxValueChange: "checkBoxValueChange" }, ngImport: i0 });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CheckBoxRow, decorators: [{
|
|
77
|
+
type: Directive,
|
|
78
|
+
args: [{
|
|
79
|
+
selector: '[checkBoxRow]'
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ApplicationRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
82
|
+
type: Inject,
|
|
83
|
+
args: [DOCUMENT]
|
|
84
|
+
}] }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }], propDecorators: { checkBoxId: [{
|
|
85
|
+
type: Input,
|
|
86
|
+
args: ['checkBoxId']
|
|
87
|
+
}], checkBoxName: [{
|
|
88
|
+
type: Input,
|
|
89
|
+
args: ['checkBoxName']
|
|
90
|
+
}], checkBoxValue: [{
|
|
91
|
+
type: Input,
|
|
92
|
+
args: ['checkBoxValue']
|
|
93
|
+
}], checkBoxValueChange: [{
|
|
94
|
+
type: Output
|
|
95
|
+
}] } });
|
|
96
|
+
export class HtmlContainer {
|
|
97
|
+
hostElement;
|
|
98
|
+
appRef;
|
|
99
|
+
componentFactoryResolver;
|
|
100
|
+
injector;
|
|
101
|
+
attached = false;
|
|
102
|
+
disposeFn;
|
|
103
|
+
constructor(hostElement, appRef, componentFactoryResolver, injector) {
|
|
104
|
+
this.hostElement = hostElement;
|
|
105
|
+
this.appRef = appRef;
|
|
106
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
107
|
+
this.injector = injector;
|
|
108
|
+
}
|
|
109
|
+
attach(component) {
|
|
110
|
+
if (this.attached) {
|
|
111
|
+
throw new Error('component has already been attached');
|
|
112
|
+
}
|
|
113
|
+
this.attached = true;
|
|
114
|
+
const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);
|
|
115
|
+
let componentRef = childComponentFactory.create(this.injector);
|
|
116
|
+
this.appRef.attachView(componentRef.hostView);
|
|
117
|
+
this.disposeFn = () => {
|
|
118
|
+
this.appRef.detachView(componentRef.hostView);
|
|
119
|
+
componentRef.destroy();
|
|
120
|
+
};
|
|
121
|
+
this.hostElement.appendChild(componentRef.hostView.rootNodes[0]);
|
|
122
|
+
return componentRef;
|
|
123
|
+
}
|
|
124
|
+
dispose() {
|
|
125
|
+
if (this.attached) {
|
|
126
|
+
this.disposeFn();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tCb3hSb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3RhYmxlL2NoZWNrQm94Um93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsY0FBYyxFQUVkLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFLeEYsTUFBTSxPQUFPLFdBQVc7SUFxQlo7SUFDQTtJQUNBO0lBQ2tCO0lBQ2xCO0lBQ0E7SUF6QlcsVUFBVSxDQUFrQjtJQUMxQixZQUFZLENBQVM7SUFFNUMsSUFBNEIsYUFBYSxDQUFDLEtBQWM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBVTtJQUNoQixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWxFLG9CQUFvQixDQUFrQztJQUN0RCxhQUFhLENBQWdCO0lBRXJDLFlBQ1UsVUFBc0IsRUFDdEIsTUFBc0IsRUFDdEIsUUFBbUIsRUFD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RUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIENvbXBvbmVudFJlZixcbiAgQXBwbGljYXRpb25SZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0b3IsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NoZWNrQm94Um93XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tCb3hSb3cge1xuICBASW5wdXQoJ2NoZWNrQm94SWQnKSBjaGVja0JveElkOiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgnY2hlY2tCb3hOYW1lJykgY2hlY2tCb3hOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCdjaGVja0JveFZhbHVlJykgc2V0IGNoZWNrQm94VmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnNldENoZWNrQm94VmFsdWUoKTtcbiAgICB9XG4gIH1cbiAgX3ZhbHVlOiBib29sZWFuO1xuICBnZXQgY2hlY2tCb3hWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgY2hlY2tCb3hWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgY2hlY2tib3hDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxDaGVja2JveENvbXBvbmVudD47XG4gIHByaXZhdGUgaHRtbENvbnRhaW5lcjogSHRtbENvbnRhaW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cnJlbnRSb3c6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50LFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVDaGVja0JveENvbXBvbmVudCgpO1xuICAgIHRoaXMuaGFuZGxlQ2hlY2JveElucHV0cygpO1xuICAgIHRoaXMuaGFuZGxlQ2hlY2tib3hPdXRwdXRzKCk7XG4gIH1cblxuICBjcmVhdGVDaGVja0JveENvbXBvbmVudCgpIHtcbiAgICAvLyBDcmVhdGUgdGhlIGNvbnRhaW5lclxuICAgIGNvbnN0IGNoZWNrQm94Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY2hlY2tCb3hDb250YWluZXIuY2xhc3NOYW1lID0gJ3d6LXRhYmxlX19ib2R5X19saW5lX19jZWxsIHd6LXRhYmxlX19ib2R5X19saW5lX19jZWxsLS1jaGVja2JveCc7XG5cbiAgICAvLyBJbnNlcnQgZGl2Q2hlY2tCb3ggaW4gdGhlIERPTSBhcyB0aGUgZmlyc3QgY2hpbGQgb2YgdGhlIHJvd1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuY3VycmVudFJvdy5uYXRpdmVFbGVtZW50LCBjaGVja0JveENvbnRhaW5lciwgdGhpcy5jdXJyZW50Um93Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCk7XG5cbiAgICAvLyBJbnNlcnQgdGhlIENoZWNrQm94Q29tcG9uZW50IGluc2lkZSB0aGUgY29udGFpbmVyIChET00gYW5kIEFuZ3VsYXIgRE9NKVxuICAgIHRoaXMuaHRtbENvbnRhaW5lciA9IG5ldyBIdG1sQ29udGFpbmVyKGNoZWNrQm94Q29udGFpbmVyLCB0aGlzLmFwcFJlZiwgdGhpcy5yZXNvbHZlciwgdGhpcy5pbmplY3Rvcik7XG4gICAgdGhpcy5jaGVja2JveENvbXBvbmVudFJlZiA9IHRoaXMuaHRtbENvbnRhaW5lci5hdHRhY2goQ2hlY2tib3hDb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGVjYm94SW5wdXRzKCkge1xuICAgIHRoaXMuY2hlY2tib3hDb21wb25lbnRSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLmNoZWNrQm94SWQgPyB0aGlzLmNoZWNrQm94SWQgOiB1dWlkKCk7XG4gICAgdGhpcy5jaGVja2JveENvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gdGhpcy5jaGVja0JveE5hbWUgPyB0aGlzLmNoZWNrQm94TmFtZSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmLmluc3RhbmNlLmFsb25lID0gdHJ1ZTtcbiAgICB0aGlzLnNldENoZWNrQm94VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hlY2tCb3hWYWx1ZSgpIHtcbiAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlID0gdGhpcy5jaGVja0JveFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGVja2JveE91dHB1dHMoKSB7XG4gICAgLy8gRGV0ZWN0IGNoZWNrYm94IGNoYW5nZXNcbiAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmLmluc3RhbmNlLnJlZ2lzdGVyT25DaGFuZ2UoKCkgPT4ge1xuICAgICAgdGhpcy5fdG9nZ2xlQ2hlY2tib3goKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUNoZWNrYm94KCkge1xuICAgIHRoaXMuY2hlY2tCb3hWYWx1ZSA9ICF0aGlzLmNoZWNrQm94VmFsdWU7XG4gICAgdGhpcy5jaGVja0JveFZhbHVlQ2hhbmdlLmVtaXQodGhpcy5jaGVja0JveFZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaHRtbENvbnRhaW5lci5kaXNwb3NlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEh0bWxDb250YWluZXIge1xuICBwcml2YXRlIGF0dGFjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBkaXNwb3NlRm46ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudCxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgYXR0YWNoKGNvbXBvbmVudDogVHlwZTxhbnk+KTogQ29tcG9uZW50UmVmPGFueT4ge1xuICAgIGlmICh0aGlzLmF0dGFjaGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbXBvbmVudCBoYXMgYWxyZWFkeSBiZWVuIGF0dGFjaGVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5hdHRhY2hlZCA9IHRydWU7XG4gICAgY29uc3QgY2hpbGRDb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcblxuICAgIGxldCBjb21wb25lbnRSZWYgPSBjaGlsZENvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIHRoaXMuZGlzcG9zZUZuID0gKCkgPT4ge1xuICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCgoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0pO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgaWYgKHRoaXMuYXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuZGlzcG9zZUZuKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Inject } from '@angular/core';
|
|
3
|
+
import { Renderer2 } from '@angular/core';
|
|
4
|
+
import { Directive, ElementRef, Input } from '@angular/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TableColumn {
|
|
7
|
+
currentCell;
|
|
8
|
+
renderer;
|
|
9
|
+
document;
|
|
10
|
+
columnSize; // Optional.
|
|
11
|
+
centerCell; // Optional. left|center|right
|
|
12
|
+
centerCellValue = ['left', 'center', 'right'];
|
|
13
|
+
constructor(currentCell, renderer, document) {
|
|
14
|
+
this.currentCell = currentCell;
|
|
15
|
+
this.renderer = renderer;
|
|
16
|
+
this.document = document;
|
|
17
|
+
}
|
|
18
|
+
ngAfterViewInit() {
|
|
19
|
+
this.applyCustomStylesOnCell();
|
|
20
|
+
}
|
|
21
|
+
applyCustomStylesOnCell() {
|
|
22
|
+
this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';
|
|
23
|
+
this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__body__line__cell');
|
|
24
|
+
if (this.centerCell) {
|
|
25
|
+
if (this.centerCellValue.indexOf(this.centerCell) === -1) {
|
|
26
|
+
throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';
|
|
27
|
+
}
|
|
28
|
+
let className = 'wz-table__body__line__cell--center' + '--' + this.centerCell;
|
|
29
|
+
this.renderer.addClass(this.currentCell.nativeElement, className);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableColumn, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: TableColumn, selector: "[tableColumn]", inputs: { columnSize: "columnSize", centerCell: "centerCell" }, ngImport: i0 });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableColumn, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[tableColumn]'
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: [DOCUMENT]
|
|
43
|
+
}] }], propDecorators: { columnSize: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: ['columnSize']
|
|
46
|
+
}], centerCell: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: ['centerCell']
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy90YWJsZS9jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs3RCxNQUFNLE9BQU8sV0FBVztJQU1GO0lBQWlDO0lBQStDO0lBTC9FLFVBQVUsQ0FBUyxDQUFDLFlBQVk7SUFDaEMsVUFBVSxDQUFTLENBQUMsOEJBQThCO0lBRS9ELGVBQWUsR0FBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFaEUsWUFBb0IsV0FBdUIsRUFBVSxRQUFtQixFQUE0QixRQUFRO1FBQXhGLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUE0QixhQUFRLEdBQVIsUUFBUSxDQUFBO0lBQUcsQ0FBQztJQUVoSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRXJGLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELE1BQU0sc0hBQXNILENBQUM7WUFDL0gsQ0FBQztZQUVELElBQUksU0FBUyxHQUFHLG9DQUFvQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO3VHQXhCVSxXQUFXLHFFQU00RCxRQUFROzJGQU4vRSxXQUFXOzsyRkFBWCxXQUFXO2tCQUh2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBTzRFLE1BQU07MkJBQUMsUUFBUTt5Q0FMckUsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0YWJsZUNvbHVtbl0nXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uIHtcbiAgQElucHV0KCdjb2x1bW5TaXplJykgY29sdW1uU2l6ZTogc3RyaW5nOyAvLyBPcHRpb25hbC5cbiAgQElucHV0KCdjZW50ZXJDZWxsJykgY2VudGVyQ2VsbDogc3RyaW5nOyAvLyBPcHRpb25hbC4gbGVmdHxjZW50ZXJ8cmlnaHRcblxuICBwcml2YXRlIGNlbnRlckNlbGxWYWx1ZTogc3RyaW5nW10gPSBbJ2xlZnQnLCAnY2VudGVyJywgJ3JpZ2h0J107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjdXJyZW50Q2VsbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50KSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFwcGx5Q3VzdG9tU3R5bGVzT25DZWxsKCk7XG4gIH1cblxuICBhcHBseUN1c3RvbVN0eWxlc09uQ2VsbCgpIHtcbiAgICB0aGlzLmN1cnJlbnRDZWxsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZmxleEdyb3cgPSB0eXBlb2YgdGhpcy5jb2x1bW5TaXplICE9PSAndW5kZWZpbmVkJyA/IHRoaXMuY29sdW1uU2l6ZSA6ICcxJztcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuY3VycmVudENlbGwubmF0aXZlRWxlbWVudCwgJ3d6LXRhYmxlX19ib2R5X19saW5lX19jZWxsJyk7XG5cbiAgICBpZiAodGhpcy5jZW50ZXJDZWxsKSB7XG4gICAgICBpZiAodGhpcy5jZW50ZXJDZWxsVmFsdWUuaW5kZXhPZih0aGlzLmNlbnRlckNlbGwpID09PSAtMSkge1xuICAgICAgICB0aHJvdyAnRXJyb3IgOiBUaGUgY2VudGVyQ2VsbCBkaXJlY3RpdmUgaGFzIG5vIG1hdGNoZWQgdmFsdWUuIFRoZSB2YWx1ZSBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIDogbGVmdCwgY2VudGVyLCByaWdodC4nO1xuICAgICAgfVxuXG4gICAgICBsZXQgY2xhc3NOYW1lID0gJ3d6LXRhYmxlX19ib2R5X19saW5lX19jZWxsLS1jZW50ZXInICsgJy0tJyArIHRoaXMuY2VudGVyQ2VsbDtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5jdXJyZW50Q2VsbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgIH1cbiAgfVxufVxuIl19
|