@posiwise/shared-components 0.0.13 → 0.0.15
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/esm2020/index.mjs +2 -1
- package/esm2020/lib/custom-uploader/custom-uploader.component.mjs +5 -4
- package/esm2020/lib/image-cropper/image-cropper.component.mjs +1 -1
- package/esm2020/lib/permission-tree/permission-tree.component.mjs +113 -0
- package/esm2020/lib/shared-components.module.mjs +14 -12
- package/fesm2015/shared-components.mjs +126 -14
- package/fesm2015/shared-components.mjs.map +1 -1
- package/fesm2020/shared-components.mjs +126 -14
- package/fesm2020/shared-components.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/permission-tree/permission-tree.component.d.ts +15 -0
- package/lib/shared-components.module.d.ts +7 -6
- package/package.json +4 -4
package/esm2020/index.mjs
CHANGED
|
@@ -5,4 +5,5 @@ export * from './lib/password-validation/password-validation.component';
|
|
|
5
5
|
export * from './lib/custom-uploader/custom-uploader.component';
|
|
6
6
|
export * from './lib/image-cropper/image-cropper.component';
|
|
7
7
|
export * from './lib/pw-tabs/pw-tabs.component';
|
|
8
|
-
|
|
8
|
+
export * from './lib/permission-tree/permission-tree.component';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQtY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWItdGVzdC9hYi10ZXN0LWNvbnRhaW5lci9hYi10ZXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWItdGVzdC9hYi1hbHRlcm5hdGl2ZS9hYi1hbHRlcm5hdGl2ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFzc3dvcmQtdmFsaWRhdGlvbi9wYXNzd29yZC12YWxpZGF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B3LXRhYnMvcHctdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi10cmVlL3Blcm1pc3Npb24tdHJlZS5jb21wb25lbnQnO1xuIl19
|
|
@@ -5,8 +5,9 @@ import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
|
5
5
|
import { HelperService } from '@posiwise/helper-service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
8
|
-
import * as i2 from "
|
|
9
|
-
import * as i3 from "
|
|
8
|
+
import * as i2 from "@posiwise/directives";
|
|
9
|
+
import * as i3 from "../image-cropper/image-cropper.component";
|
|
10
|
+
import * as i4 from "@ngneat/transloco";
|
|
10
11
|
export class CustomUploaderComponent extends AppBaseComponent {
|
|
11
12
|
constructor(injector, modalService, document) {
|
|
12
13
|
super(injector);
|
|
@@ -82,7 +83,7 @@ export class CustomUploaderComponent extends AppBaseComponent {
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
CustomUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomUploaderComponent, deps: [{ token: i0.Injector }, { token: i1.NgbModal }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
CustomUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CustomUploaderComponent, selector: "pw-custom-uploader", inputs: { controlName: "controlName", previewData: "previewData", aspectRatio: "aspectRatio", title: "title" }, outputs: { saveEvent: "saveEvent" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- exising images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:170px}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"], dependencies: [{ kind: "
|
|
86
|
+
CustomUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CustomUploaderComponent, selector: "pw-custom-uploader", inputs: { controlName: "controlName", previewData: "previewData", aspectRatio: "aspectRatio", title: "title" }, outputs: { saveEvent: "saveEvent" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- exising images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:170px}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"], dependencies: [{ kind: "directive", type: i2.LazyImgDirective, selector: "img" }, { kind: "component", type: i3.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "pipe", type: i4.TranslocoPipe, name: "transloco" }] });
|
|
86
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomUploaderComponent, decorators: [{
|
|
87
88
|
type: Component,
|
|
88
89
|
args: [{ selector: 'pw-custom-uploader', template: "<div class=\"card pb-2\">\n <div class=\"card-header upload-button-bar\">\n <button pButton\n type=\"button\"\n [disabled]=\"previewData?.url || uploadedFile\"\n (click)=\"openModal(content)\"\n icon=\"pi pi-plus\"\n label=\"Choose\"></button>\n </div>\n <div class=\"card-body\">\n <!-- no files -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"!previewData?.url\">\n <div>\n <img src=\"assets/img/icons/nofilesfound.png\"\n (load)=\"onImgChange()\"\n class=\"mx-auto img-fluid\"\n alt=\"\" />\n </div>\n </div>\n <!-- exising images -->\n <div class=\"d-flex preview-wrapper\"\n *ngIf=\"previewData?.url\">\n <div>\n <a [href]=\"previewData?.url\"\n target=\"_blank\">\n <img [src]=\"previewData?.url\"\n alt=\"\"\n (load)=\"onImgChange()\"\n (error)=\"onImgChange($event)\"\n class=\"img-fluid\" />\n </a>\n </div>\n <div class=\"ms-3\">\n <i\n container=\"body\"\n ngbTooltip=\"Delete\"\n (click)=\"deleteExistingFile()\"\n class=\"fa fa-trash delete-icon\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n </div>\n</div>\n<!-- image cropper -->\n<ng-template #content\n let-modal>\n <div class=\"card m-0\">\n <div class=\"card-content\">\n <div class=\"card-title\">\n <h3 class=\"modal-title\">{{ title }}</h3>\n <button type=\"button\"\n class=\"btn-close float-end float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"card-header\">\n <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>\n <pw-image-cropper #profile\n [aspectRatio]=\"aspectRatio\"\n (fileChangeEvent)=\"onFileChange($event)\"\n (imageSelectionEvent)=\"onImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.upload-button-bar{background:#efefef;padding:1rem 1.25rem}.card{min-height:170px}.preview-wrapper{align-items:center;text-align:center}.preview-wrapper div{padding:1rem;flex:1 1 auto;width:25%;word-break:break-all}button[label=Choose],button[label=Choose]:hover,button[label=Choose]:enabled:active{background-color:#616161;border-color:#616161}\n"] }]
|
|
@@ -100,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
100
101
|
}], title: [{
|
|
101
102
|
type: Input
|
|
102
103
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFPekQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQW9CekQsWUFDSSxRQUFrQixFQUNWLFlBQXNCLEVBQ0osUUFBa0I7UUFFNUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFIsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDSixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdEJ0QyxjQUFTLEdBQWlELElBQUksWUFBWSxFQUdoRixDQUFDO1FBTUksZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFJOUIsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFZcEIsQ0FBQztJQUVELGtCQUFrQjtRQUNkLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJ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QzlFLENBQUM7UUFDRixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDekIsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0hBeEdRLHVCQUF1QixrRUF1QnBCLFFBQVE7d0dBdkJYLHVCQUF1QixzT0NacEMsOG5FQXVFQTsyRkQzRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLG9CQUFvQjs7MEJBMkJ6QixNQUFNOzJCQUFDLFFBQVE7NENBdEJWLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0UsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1jdXN0b20tdXBsb2FkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2N1c3RvbS11cGxvYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCB7XG4gICAgQE91dHB1dCgpIHNhdmVFdmVudDogRXZlbnRFbWl0dGVyPHsgZmlsZTogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgZmlsZTogc3RyaW5nO1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgfT4oKTtcblxuICAgIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwcmV2aWV3RGF0YTogYW55O1xuXG4gICAgQElucHV0KCkgYXNwZWN0UmF0aW8gPSAnYXV0byc7XG5cbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gICAgdXBsb2FkZWRGaWxlID0gbnVsbDtcblxuICAgIHNlbGVjdGVkRmlsZU5hbWU6IHN0cmluZztcblxuICAgIGJ1dHRvbkJ1c3k6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBkZWxldGVFeGlzdGluZ0ZpbGUoKSB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UucmFpc2VEZWxldGVQb3B1cCgpLnRoZW4ocmVwID0+IHtcbiAgICAgICAgICAgIGlmIChyZXAudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXZpZXdEYXRhID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLm9uU2F2ZUZpbGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TYXZlRmlsZSgpIHtcbiAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zYXZlRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBmaWxlOiB0aGlzLnByZXZpZXdEYXRhPy51cmwgPyB0aGlzLnByZXZpZXdEYXRhIDogdGhpcy51cGxvYWRlZEZpbGUsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbnRyb2xOYW1lXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIG1vZGFsIGltYWdlIGNyb3BwZXJcblxuICAgIG9uRmlsZUNoYW5nZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRhdGFVUkx0b0Jsb2IoZGF0YXVybDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGFyciA9IGRhdGF1cmw/LnNwbGl0KCcsJyk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJlZ2V4cC1leGVjXG4gICAgICAgIGNvbnN0IG1pbWUgPSBhcnJbMF0ubWF0Y2goL15bQS1aXSpbYS16XSo6KC4qPyk7W0EtWl0qLylbMV07XG4gICAgICAgIGNvbnN0IGJzdHIgPSBhdG9iKGFyclsxXSk7XG4gICAgICAgIGxldCBuID0gYnN0ci5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHU4YXJyID0gbmV3IFVpbnQ4QXJyYXkobik7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wbHVzcGx1c1xuICAgICAgICB3aGlsZSAobi0tKSB7XG4gICAgICAgICAgICB1OGFycltuXSA9IGJzdHIuY2hhckNvZGVBdChuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgQmxvYihbdThhcnJdLCB7IHR5cGU6IG1pbWUgfSk7XG4gICAgfVxuXG4gICAgb25JbWFnZVNlbGVjdGlvbihldmVudCkge1xuICAgICAgICBjb25zdCBibG9iID0gdGhpcy5kYXRhVVJMdG9CbG9iKGV2ZW50KTtcbiAgICAgICAgY29uc3QgZmlsZTogRmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgdGhpcy5zZWxlY3RlZEZpbGVOYW1lKTtcbiAgICAgICAgdGhpcy51cGxvYWRlZEZpbGUgPSBmaWxlO1xuICAgICAgICB0aGlzLm9uU2F2ZUZpbGUoKTtcbiAgICB9XG5cbiAgICBvcGVuTW9kYWwoY29udGVudCkge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGNvbnRlbnQsIHsgY2VudGVyZWQ6IHRydWUsIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJyB9KTtcbiAgICB9XG5cbiAgICBjbGVhclZhbHVlcygpIHtcbiAgICAgICAgdGhpcy51cGxvYWRlZEZpbGUgPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWUgPSBudWxsO1xuICAgICAgICB0aGlzLnVwZGF0ZUhlaWdodCgpO1xuICAgIH1cblxuICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRpc21pc3NBbGwoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVIZWlnaHQoKSB7XG4gICAgICAgIC8vIHdhaXQgZm9yIHVwZGF0ZSBjYXJkIGhlaWdodFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25JbWdDaGFuZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25JbWdDaGFuZ2UoZXZlbnQ/OiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC50YXJnZXQuc3JjID0gJ2Fzc2V0cy9pbWcvaWNvbnMvaW1hZ2Vub3RhdmFpbGFibGUucG5nJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICdwdy1kb21haW4tY29uZmlnLWludGVyZmFjZSxwdy1kb21haW4tY29uZmlnLWJ1aWxkIGRpdlttYXRjaGhlaWdodD1cImNhcmRcIl0nXG4gICAgICAgICk7XG4gICAgICAgIGVsLmZvckVhY2goKGl0ZW06IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UubWF0Y2hIZWlnaHRzKGl0ZW0gYXMgSFRNTEVsZW1lbnQsICdjYXJkJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHBiLTJcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHVwbG9hZC1idXR0b24tYmFyXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcmV2aWV3RGF0YT8udXJsIHx8IHVwbG9hZGVkRmlsZVwiXG4gICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGNvbnRlbnQpXCJcbiAgICAgIGljb249XCJwaSBwaS1wbHVzXCJcbiAgICAgIGxhYmVsPVwiQ2hvb3NlXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgPCEtLSBubyBmaWxlcyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHByZXZpZXctd3JhcHBlclwiXG4gICAgICAqbmdJZj1cIiFwcmV2aWV3RGF0YT8udXJsXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWcvaWNvbnMvbm9maWxlc2ZvdW5kLnBuZ1wiXG4gICAgICAgICAgKGxvYWQpPVwib25JbWdDaGFuZ2UoKVwiXG4gICAgICAgICAgY2xhc3M9XCJteC1hdXRvIGltZy1mbHVpZFwiXG4gICAgICAgICAgYWx0PVwiXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gZXhpc2luZyBpbWFnZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwcmV2aWV3LXdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCJwcmV2aWV3RGF0YT8udXJsXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YSBbaHJlZl09XCJwcmV2aWV3RGF0YT8udXJsXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwicHJldmlld0RhdGE/LnVybFwiXG4gICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgKGxvYWQpPVwib25JbWdDaGFuZ2UoKVwiXG4gICAgICAgICAgICAoZXJyb3IpPVwib25JbWdDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImltZy1mbHVpZFwiIC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1zLTNcIj5cbiAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlRXhpc3RpbmdGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLXRyYXNoIGRlbGV0ZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIGltYWdlIGNyb3BwZXIgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRcbiAgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBtLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1jbG9zZSBmbG9hdC1lbmQgZmxvYXQtZW5kXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgIDxzbWFsbD4ge3sgJ1VzZXIuUHJvZmlsZS5QaWN0dXJlTWVzc2FnZScgfCB0cmFuc2xvY28gfX08L3NtYWxsPlxuICAgICAgICA8cHctaW1hZ2UtY3JvcHBlciAjcHJvZmlsZVxuICAgICAgICAgIFthc3BlY3RSYXRpb109XCJhc3BlY3RSYXRpb1wiXG4gICAgICAgICAgKGZpbGVDaGFuZ2VFdmVudCk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKGltYWdlU2VsZWN0aW9uRXZlbnQpPVwib25JbWFnZVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jdXN0b20tdXBsb2FkZXIvY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBT3pELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFvQnpELFlBQ0ksUUFBa0IsRUFDVixZQUFzQixFQUNKLFFBQWtCO1FBRTVDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhSLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ0osYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXRCdEMsY0FBUyxHQUFpRCxJQUFJLFlBQVksRUFHaEYsQ0FBQztRQU1JLGdCQUFXLEdBQUcsTUFBTSxDQUFDO1FBSTlCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO0lBWXBCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEMs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QUM5RSxDQUFDO1FBQ0YsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ3pCLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQXhHUSx1QkFBdUIsa0VBdUJwQixRQUFRO3dHQXZCWCx1QkFBdUIsc09DWnBDLDhuRUF1RUE7MkZEM0RhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxvQkFBb0I7OzBCQTJCekIsTUFBTTsyQkFBQyxRQUFROzRDQXRCVixTQUFTO3NCQUFsQixNQUFNO2dCQUtFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctY3VzdG9tLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21VcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBzYXZlRXZlbnQ6IEV2ZW50RW1pdHRlcjx7IGZpbGU6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGZpbGU6IHN0cmluZztcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH0+KCk7XG5cbiAgICBASW5wdXQoKSBjb250cm9sTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcHJldmlld0RhdGE6IGFueTtcblxuICAgIEBJbnB1dCgpIGFzcGVjdFJhdGlvID0gJ2F1dG8nO1xuXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIHVwbG9hZGVkRmlsZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICBidXR0b25CdXN5OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgZGVsZXRlRXhpc3RpbmdGaWxlKCkge1xuICAgICAgICBIZWxwZXJTZXJ2aWNlLnJhaXNlRGVsZXRlUG9wdXAoKS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICBpZiAocmVwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3RGF0YSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVGaWxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2F2ZUZpbGUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZmlsZTogdGhpcy5wcmV2aWV3RGF0YT8udXJsID8gdGhpcy5wcmV2aWV3RGF0YSA6IHRoaXMudXBsb2FkZWRGaWxlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5jb250cm9sTmFtZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBtb2RhbCBpbWFnZSBjcm9wcGVyXG5cbiAgICBvbkZpbGVDaGFuZ2UodmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVOYW1lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkYXRhVVJMdG9CbG9iKGRhdGF1cmw6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhcnIgPSBkYXRhdXJsPy5zcGxpdCgnLCcpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWdleHAtZXhlY1xuICAgICAgICBjb25zdCBtaW1lID0gYXJyWzBdLm1hdGNoKC9eW0EtWl0qW2Etel0qOiguKj8pO1tBLVpdKi8pWzFdO1xuICAgICAgICBjb25zdCBic3RyID0gYXRvYihhcnJbMV0pO1xuICAgICAgICBsZXQgbiA9IGJzdHIubGVuZ3RoO1xuICAgICAgICBjb25zdCB1OGFyciA9IG5ldyBVaW50OEFycmF5KG4pO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGx1c3BsdXNcbiAgICAgICAgd2hpbGUgKG4tLSkge1xuICAgICAgICAgICAgdThhcnJbbl0gPSBic3RyLmNoYXJDb2RlQXQobik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IEJsb2IoW3U4YXJyXSwgeyB0eXBlOiBtaW1lIH0pO1xuICAgIH1cblxuICAgIG9uSW1hZ2VTZWxlY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgY29uc3QgYmxvYiA9IHRoaXMuZGF0YVVSTHRvQmxvYihldmVudCk7XG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBuZXcgRmlsZShbYmxvYl0sIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZSk7XG4gICAgICAgIHRoaXMudXBsb2FkZWRGaWxlID0gZmlsZTtcbiAgICAgICAgdGhpcy5vblNhdmVGaWxlKCk7XG4gICAgfVxuXG4gICAgb3Blbk1vZGFsKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihjb250ZW50LCB7IGNlbnRlcmVkOiB0cnVlLCB3aW5kb3dDbGFzczogJ21vZGFsLWhvbGRlcicgfSk7XG4gICAgfVxuXG4gICAgY2xlYXJWYWx1ZXMoKSB7XG4gICAgICAgIHRoaXMudXBsb2FkZWRGaWxlID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVOYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy51cGRhdGVIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKCkge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlSGVpZ2h0KCkge1xuICAgICAgICAvLyB3YWl0IGZvciB1cGRhdGUgY2FyZCBoZWlnaHRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSW1nQ2hhbmdlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uSW1nQ2hhbmdlKGV2ZW50PzogYW55KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNyYyA9ICdhc3NldHMvaW1nL2ljb25zL2ltYWdlbm90YXZhaWxhYmxlLnBuZyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICAncHctZG9tYWluLWNvbmZpZy1pbnRlcmZhY2UscHctZG9tYWluLWNvbmZpZy1idWlsZCBkaXZbbWF0Y2hoZWlnaHQ9XCJjYXJkXCJdJ1xuICAgICAgICApO1xuICAgICAgICBlbC5mb3JFYWNoKChpdGVtOiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBIZWxwZXJTZXJ2aWNlLm1hdGNoSGVpZ2h0cyhpdGVtIGFzIEhUTUxFbGVtZW50LCAnY2FyZCcpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBwYi0yXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciB1cGxvYWQtYnV0dG9uLWJhclwiPlxuICAgIDxidXR0b24gcEJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwicHJldmlld0RhdGE/LnVybCB8fCB1cGxvYWRlZEZpbGVcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbChjb250ZW50KVwiXG4gICAgICBpY29uPVwicGkgcGktcGx1c1wiXG4gICAgICBsYWJlbD1cIkNob29zZVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgIDwhLS0gbm8gZmlsZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwcmV2aWV3LXdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCIhcHJldmlld0RhdGE/LnVybFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1nL2ljb25zL25vZmlsZXNmb3VuZC5wbmdcIlxuICAgICAgICAgIChsb2FkKT1cIm9uSW1nQ2hhbmdlKClcIlxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0byBpbWctZmx1aWRcIlxuICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIGV4aXNpbmcgaW1hZ2VzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHJldmlldy13cmFwcGVyXCJcbiAgICAgICpuZ0lmPVwicHJldmlld0RhdGE/LnVybFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGEgW2hyZWZdPVwicHJldmlld0RhdGE/LnVybFwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cInByZXZpZXdEYXRhPy51cmxcIlxuICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIChsb2FkKT1cIm9uSW1nQ2hhbmdlKClcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uSW1nQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbWctZmx1aWRcIiAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtcy0zXCI+XG4gICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUV4aXN0aW5nRmlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSBpbWFnZSBjcm9wcGVyIC0tPlxuPG5nLXRlbXBsYXRlICNjb250ZW50XG4gIGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cImNhcmQgbS0wXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwibW9kYWwtdGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kIGZsb2F0LWVuZFwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XG5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxuICAgICAgICA8c21hbGw+IHt7ICdVc2VyLlByb2ZpbGUuUGljdHVyZU1lc3NhZ2UnIHwgdHJhbnNsb2NvIH19PC9zbWFsbD5cbiAgICAgICAgPHB3LWltYWdlLWNyb3BwZXIgI3Byb2ZpbGVcbiAgICAgICAgICBbYXNwZWN0UmF0aW9dPVwiYXNwZWN0UmF0aW9cIlxuICAgICAgICAgIChmaWxlQ2hhbmdlRXZlbnQpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChpbWFnZVNlbGVjdGlvbkV2ZW50KT1cIm9uSW1hZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZSgpXCI+XG4gICAgICAgIDwvcHctaW1hZ2UtY3JvcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -66,7 +66,7 @@ export class ProfileImageCropperComponent {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
ProfileImageCropperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProfileImageCropperComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
ProfileImageCropperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: { aspectRatio: "aspectRatio" }, outputs: { imageSelectionEvent: "imageSelectionEvent", closeEvent: "closeEvent", fileChangeEvent: "fileChangeEvent" }, ngImport: i0, template: "<section class=\"image-cropper\">\n <div class=\"row text-start\">\n <div class=\"col-12\">\n <div class=\"card-block pb-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"file-upload my-2 float-start\">\n <label>\n Upload Pic\n <input id=\"custom-input\"\n type=\"file\"\n (change)=\"onFileChange($event)\" />\n </label>\n </div>\n\n <div class=\"float-end m-2\">\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Left\">\n <i\n class=\"fa fa-undo-alt\"\n (click)=\"rotateLeft()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Right\">\n <i\n class=\"fa fa-redo-alt\"\n (click)=\"rotateRight()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Horizontal\">\n <i\n class=\"fa fa-arrows-alt-h\"\n (click)=\"flipHorizontal()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Vertical\">\n <i\n class=\"fa fa-arrows-alt-v\"\n (click)=\"flipVertical()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-8\">\n <div *ngIf=\"aspectRatio === 'auto'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [aspectRatio]=\"4 / 4\"\n [onlyScaleDown]=\"true\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'fullLogo'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"5 / 1.1\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'custom'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [aspectRatio]=\"4 / 3\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n </div>\n <div class=\"col-4\">\n <img [src]=\"croppedImage\"\n alt=\"cropped.png\"\n width=\"128\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer px-3\">\n <div class=\"float-end mt-2\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCloseModal()\">\n Close\n </button>\n <button type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"saveProfilePicture()\"\n [buttonBusy]=\"busy\">\n Save\n </button>\n </div>\n </div>\n</section>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.image-cropper label{background:var(--first);border-radius:5px;color:#fff;display:table;font-size:13px;font-weight:500;padding:7px}.image-cropper input[type=file]{display:none}.card-footer{background-color:transparent;left:0}\n"], dependencies: [{ kind: "directive", type: i1.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "component", type: i2.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }] });
|
|
69
|
+
ProfileImageCropperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: { aspectRatio: "aspectRatio" }, outputs: { imageSelectionEvent: "imageSelectionEvent", closeEvent: "closeEvent", fileChangeEvent: "fileChangeEvent" }, ngImport: i0, template: "<section class=\"image-cropper\">\n <div class=\"row text-start\">\n <div class=\"col-12\">\n <div class=\"card-block pb-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"file-upload my-2 float-start\">\n <label>\n Upload Pic\n <input id=\"custom-input\"\n type=\"file\"\n (change)=\"onFileChange($event)\" />\n </label>\n </div>\n\n <div class=\"float-end m-2\">\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Left\">\n <i\n class=\"fa fa-undo-alt\"\n (click)=\"rotateLeft()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Right\">\n <i\n class=\"fa fa-redo-alt\"\n (click)=\"rotateRight()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Horizontal\">\n <i\n class=\"fa fa-arrows-alt-h\"\n (click)=\"flipHorizontal()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Vertical\">\n <i\n class=\"fa fa-arrows-alt-v\"\n (click)=\"flipVertical()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-8\">\n <div *ngIf=\"aspectRatio === 'auto'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [aspectRatio]=\"4 / 4\"\n [onlyScaleDown]=\"true\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'fullLogo'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"5 / 1.1\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'custom'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [aspectRatio]=\"4 / 3\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n </div>\n <div class=\"col-4\">\n <img [src]=\"croppedImage\"\n alt=\"cropped.png\"\n width=\"128\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer px-3\">\n <div class=\"float-end mt-2\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCloseModal()\">\n Close\n </button>\n <button type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"saveProfilePicture()\"\n [buttonBusy]=\"busy\">\n Save\n </button>\n </div>\n </div>\n</section>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.image-cropper label{background:var(--first);border-radius:5px;color:#fff;display:table;font-size:13px;font-weight:500;padding:7px}.image-cropper input[type=file]{display:none}.card-footer{background-color:transparent;left:0}\n"], dependencies: [{ kind: "directive", type: i1.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i1.LazyImgDirective, selector: "img" }, { kind: "component", type: i2.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }] });
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProfileImageCropperComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{ selector: 'pw-image-cropper', template: "<section class=\"image-cropper\">\n <div class=\"row text-start\">\n <div class=\"col-12\">\n <div class=\"card-block pb-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"file-upload my-2 float-start\">\n <label>\n Upload Pic\n <input id=\"custom-input\"\n type=\"file\"\n (change)=\"onFileChange($event)\" />\n </label>\n </div>\n\n <div class=\"float-end m-2\">\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Left\">\n <i\n class=\"fa fa-undo-alt\"\n (click)=\"rotateLeft()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Rotate Right\">\n <i\n class=\"fa fa-redo-alt\"\n (click)=\"rotateRight()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Horizontal\">\n <i\n class=\"fa fa-arrows-alt-h\"\n (click)=\"flipHorizontal()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n <button class=\"btn btn-primary btn-sm mx-2\"\n title=\"Flip Vertical\">\n <i\n class=\"fa fa-arrows-alt-v\"\n (click)=\"flipVertical()\"\n aria-hidden=\"true\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-8\">\n <div *ngIf=\"aspectRatio === 'auto'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [aspectRatio]=\"4 / 4\"\n [onlyScaleDown]=\"true\"\n [transform]=\"transform\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'fullLogo'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [aspectRatio]=\"5 / 1.1\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n\n <div *ngIf=\"aspectRatio === 'custom'\">\n <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"true\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [aspectRatio]=\"4 / 3\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n alignImage=\"center\"\n outputType=\"base64\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n [imageQuality]=\"100\"\n [style.display]=\"showCropper ? null : 'none'\"></image-cropper>\n </div>\n </div>\n <div class=\"col-4\">\n <img [src]=\"croppedImage\"\n alt=\"cropped.png\"\n width=\"128\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer px-3\">\n <div class=\"float-end mt-2\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onCloseModal()\">\n Close\n </button>\n <button type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"saveProfilePicture()\"\n [buttonBusy]=\"busy\">\n Save\n </button>\n </div>\n </div>\n</section>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.image-cropper label{background:var(--first);border-radius:5px;color:#fff;display:table;font-size:13px;font-weight:500;padding:7px}.image-cropper input[type=file]{display:none}.card-footer{background-color:transparent;left:0}\n"] }]
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Component, ElementRef, Input } from '@angular/core';
|
|
2
|
+
import map from 'lodash/map';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PermissionTreeComponent {
|
|
5
|
+
constructor(_element) {
|
|
6
|
+
this._element = _element;
|
|
7
|
+
}
|
|
8
|
+
ngOnChanges(simple) {
|
|
9
|
+
if (simple['data'] &&
|
|
10
|
+
simple['data'].currentValue &&
|
|
11
|
+
simple['data'].currentValue.grantedPermissionNames) {
|
|
12
|
+
this.refreshTree();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
this._$tree = $(this._element.nativeElement);
|
|
17
|
+
this.refreshTree();
|
|
18
|
+
}
|
|
19
|
+
getGrantedPermissionNames() {
|
|
20
|
+
if (!this._$tree || !this._createdTreeBefore) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const permissionNames = [];
|
|
24
|
+
const selectedPermissions = this._$tree.jstree('get_selected', true);
|
|
25
|
+
for (let i = 0; i < selectedPermissions.length; i++) {
|
|
26
|
+
permissionNames.push(selectedPermissions[i].original.id);
|
|
27
|
+
}
|
|
28
|
+
return permissionNames;
|
|
29
|
+
}
|
|
30
|
+
refreshTree() {
|
|
31
|
+
if (this._createdTreeBefore) {
|
|
32
|
+
this._$tree.jstree('destroy');
|
|
33
|
+
}
|
|
34
|
+
this._createdTreeBefore = false;
|
|
35
|
+
if (!this.data || !this._$tree) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const treeData = map(this.data.permissions, item => {
|
|
39
|
+
return {
|
|
40
|
+
id: item.name,
|
|
41
|
+
parent: item.parentName ? item.parentName : '#',
|
|
42
|
+
text: item.displayName,
|
|
43
|
+
state: {
|
|
44
|
+
opened: true,
|
|
45
|
+
selected: this.data.grantedPermissionNames.includes(item.name)
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
this._$tree.jstree({
|
|
50
|
+
core: {
|
|
51
|
+
data: treeData
|
|
52
|
+
},
|
|
53
|
+
types: {
|
|
54
|
+
default: {
|
|
55
|
+
icon: 'fa fa-folder-open tree-item-icon-color icon-lg'
|
|
56
|
+
},
|
|
57
|
+
file: {
|
|
58
|
+
icon: 'fa fa-file tree-item-icon-color icon-lg'
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
checkbox: {
|
|
62
|
+
keep_selected_style: false,
|
|
63
|
+
three_state: false,
|
|
64
|
+
cascade: ''
|
|
65
|
+
},
|
|
66
|
+
plugins: ['checkbox', 'types']
|
|
67
|
+
});
|
|
68
|
+
this._createdTreeBefore = true;
|
|
69
|
+
let inTreeChangeEvent = false;
|
|
70
|
+
function selectNodeAndAllParents(node) {
|
|
71
|
+
this._$tree.jstree('select_node', node, true);
|
|
72
|
+
const parent = this._$tree.jstree('get_parent', node);
|
|
73
|
+
if (parent) {
|
|
74
|
+
selectNodeAndAllParents(parent);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
this._$tree.on('changed.jstree', (_e, data) => {
|
|
78
|
+
if (!data.node) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const wasInTreeChangeEvent = inTreeChangeEvent;
|
|
82
|
+
if (!wasInTreeChangeEvent) {
|
|
83
|
+
inTreeChangeEvent = true;
|
|
84
|
+
}
|
|
85
|
+
let childrenNodes;
|
|
86
|
+
if (data.node.state.selected) {
|
|
87
|
+
selectNodeAndAllParents(this._$tree.jstree('get_parent', data.node));
|
|
88
|
+
childrenNodes = $.makeArray(this._$tree.jstree('get_children_dom', data.node));
|
|
89
|
+
this._$tree.jstree('select_node', childrenNodes);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
childrenNodes = $.makeArray(this._$tree.jstree('get_children_dom', data.node));
|
|
93
|
+
this._$tree.jstree('deselect_node', childrenNodes);
|
|
94
|
+
}
|
|
95
|
+
if (!wasInTreeChangeEvent) {
|
|
96
|
+
inTreeChangeEvent = false;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
PermissionTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PermissionTreeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
+
PermissionTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: PermissionTreeComponent, selector: "permission-tree", inputs: { data: "data" }, usesOnChanges: true, ngImport: i0, template: ` <div class="permission-tree"></div> `, isInline: true });
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PermissionTreeComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{
|
|
106
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
107
|
+
selector: 'permission-tree',
|
|
108
|
+
template: ` <div class="permission-tree"></div> `
|
|
109
|
+
}]
|
|
110
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { data: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}] } });
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9wZXJtaXNzaW9uLXRyZWUvcGVybWlzc2lvbi10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDOztBQU83QixNQUFNLE9BQU8sdUJBQXVCO0lBT2hDLFlBQW9CLFFBQW9CO1FBQXBCLGFBQVEsR0FBUixRQUFRLENBQVk7SUFBRyxDQUFDO0lBRTVDLFdBQVcsQ0FBQyxNQUFxQjtRQUM3QixJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWTtZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUNwRDtZQUNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHlCQUF5QjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQyxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTNCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLEtBQUssSUFB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QUMsQ0FBQyxDQUFDO2dCQUVyRSxhQUFhLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ3BEO2lCQUFNO2dCQUNILGFBQWEsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDdEQ7WUFFRCxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3ZCLGlCQUFpQixHQUFHLEtBQUssQ0FBQzthQUM3QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0hBekhRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHNHQUZ0Qix1Q0FBdUM7MkZBRXhDLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSx1Q0FBdUM7aUJBQ3BEO2lHQUVZLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBtYXAgZnJvbSAnbG9kYXNoL21hcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdwZXJtaXNzaW9uLXRyZWUnLFxuICAgIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLXRyZWVcIj48L2Rpdj4gYFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgZGF0YTogYW55O1xuXG4gICAgcHJpdmF0ZSBfJHRyZWU6IGFueTtcblxuICAgIHByaXZhdGUgX2NyZWF0ZWRUcmVlQmVmb3JlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZTogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzaW1wbGVbJ2RhdGEnXSAmJlxuICAgICAgICAgICAgc2ltcGxlWydkYXRhJ10uY3VycmVudFZhbHVlICYmXG4gICAgICAgICAgICBzaW1wbGVbJ2RhdGEnXS5jdXJyZW50VmFsdWUuZ3JhbnRlZFBlcm1pc3Npb25OYW1lc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFRyZWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fJHRyZWUgPSAkKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5yZWZyZXNoVHJlZSgpO1xuICAgIH1cblxuICAgIGdldEdyYW50ZWRQZXJtaXNzaW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAoIXRoaXMuXyR0cmVlIHx8ICF0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGVybWlzc2lvbk5hbWVzID0gW107XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X3NlbGVjdGVkJywgdHJ1ZSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcGVybWlzc2lvbk5hbWVzLnB1c2goc2VsZWN0ZWRQZXJtaXNzaW9uc1tpXS5vcmlnaW5hbC5pZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbk5hbWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFRyZWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5fJHRyZWUuanN0cmVlKCdkZXN0cm95Jyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmICghdGhpcy5kYXRhIHx8ICF0aGlzLl8kdHJlZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJlZURhdGEgPSBtYXAodGhpcy5kYXRhLnBlcm1pc3Npb25zLCBpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGl0ZW0ucGFyZW50TmFtZSA/IGl0ZW0ucGFyZW50TmFtZSA6ICcjJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgIHN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuZGF0YS5ncmFudGVkUGVybWlzc2lvbk5hbWVzLmluY2x1ZGVzKGl0ZW0ubmFtZSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl8kdHJlZS5qc3RyZWUoe1xuICAgICAgICAgICAgY29yZToge1xuICAgICAgICAgICAgICAgIGRhdGE6IHRyZWVEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZXM6IHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIGljb246ICdmYSBmYS1mb2xkZXItb3BlbiB0cmVlLWl0ZW0taWNvbi1jb2xvciBpY29uLWxnJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZmlsZToge1xuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEgZmEtZmlsZSB0cmVlLWl0ZW0taWNvbi1jb2xvciBpY29uLWxnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGVja2JveDoge1xuICAgICAgICAgICAgICAgIGtlZXBfc2VsZWN0ZWRfc3R5bGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHRocmVlX3N0YXRlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjYXNjYWRlOiAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsdWdpbnM6IFsnY2hlY2tib3gnLCAndHlwZXMnXVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSA9IHRydWU7XG5cbiAgICAgICAgbGV0IGluVHJlZUNoYW5nZUV2ZW50ID0gZmFsc2U7XG5cbiAgICAgICAgZnVuY3Rpb24gc2VsZWN0Tm9kZUFuZEFsbFBhcmVudHMobm9kZSkge1xuICAgICAgICAgICAgdGhpcy5fJHRyZWUuanN0cmVlKCdzZWxlY3Rfbm9kZScsIG5vZGUsIHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5fJHRyZWUuanN0cmVlKCdnZXRfcGFyZW50Jywgbm9kZSk7XG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0Tm9kZUFuZEFsbFBhcmVudHMocGFyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuXyR0cmVlLm9uKCdjaGFuZ2VkLmpzdHJlZScsIChfZSwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkYXRhLm5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHdhc0luVHJlZUNoYW5nZUV2ZW50ID0gaW5UcmVlQ2hhbmdlRXZlbnQ7XG4gICAgICAgICAgICBpZiAoIXdhc0luVHJlZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICAgICAgaW5UcmVlQ2hhbmdlRXZlbnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY2hpbGRyZW5Ob2RlcztcblxuICAgICAgICAgICAgaWYgKGRhdGEubm9kZS5zdGF0ZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHNlbGVjdE5vZGVBbmRBbGxQYXJlbnRzKHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X3BhcmVudCcsIGRhdGEubm9kZSkpO1xuXG4gICAgICAgICAgICAgICAgY2hpbGRyZW5Ob2RlcyA9ICQubWFrZUFycmF5KHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X2NoaWxkcmVuX2RvbScsIGRhdGEubm9kZSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuXyR0cmVlLmpzdHJlZSgnc2VsZWN0X25vZGUnLCBjaGlsZHJlbk5vZGVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW5Ob2RlcyA9ICQubWFrZUFycmF5KHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X2NoaWxkcmVuX2RvbScsIGRhdGEubm9kZSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuXyR0cmVlLmpzdHJlZSgnZGVzZWxlY3Rfbm9kZScsIGNoaWxkcmVuTm9kZXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXdhc0luVHJlZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICAgICAgaW5UcmVlQ2hhbmdlRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -4,16 +4,15 @@ import { AbAlternativeComponent } from './ab-test/ab-alternative/ab-alternative.
|
|
|
4
4
|
import { PasswordValidationComponent } from './password-validation/password-validation.component';
|
|
5
5
|
import { DirectivesModule } from '@posiwise/directives';
|
|
6
6
|
import { CoreTranslocoModule } from '@posiwise/core-transloco';
|
|
7
|
-
import { CustomUploaderComponent } from
|
|
8
|
-
import { ProfileImageCropperComponent } from
|
|
9
|
-
import { PwTabsComponent } from
|
|
7
|
+
import { CustomUploaderComponent } from './custom-uploader/custom-uploader.component';
|
|
8
|
+
import { ProfileImageCropperComponent } from './image-cropper/image-cropper.component';
|
|
9
|
+
import { PwTabsComponent } from './pw-tabs/pw-tabs.component';
|
|
10
10
|
import { FormsModule } from '@angular/forms';
|
|
11
11
|
import { ImageCropperModule } from 'ngx-image-cropper';
|
|
12
|
-
import { TabMenuModule } from
|
|
12
|
+
import { TabMenuModule } from 'primeng/tabmenu';
|
|
13
|
+
import { PermissionTreeComponent } from './permission-tree/permission-tree.component';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
|
-
const primeNgModules = [
|
|
15
|
-
TabMenuModule,
|
|
16
|
-
];
|
|
15
|
+
const primeNgModules = [TabMenuModule];
|
|
17
16
|
export class SharedComponentsModule {
|
|
18
17
|
}
|
|
19
18
|
SharedComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SharedComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -22,7 +21,8 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
22
21
|
PasswordValidationComponent,
|
|
23
22
|
CustomUploaderComponent,
|
|
24
23
|
ProfileImageCropperComponent,
|
|
25
|
-
PwTabsComponent
|
|
24
|
+
PwTabsComponent,
|
|
25
|
+
PermissionTreeComponent], imports: [FormsModule,
|
|
26
26
|
DirectivesModule,
|
|
27
27
|
CoreTranslocoModule,
|
|
28
28
|
ImageCropperModule, TabMenuModule], exports: [AbTestContainerComponent,
|
|
@@ -31,7 +31,7 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
31
31
|
CustomUploaderComponent,
|
|
32
32
|
ProfileImageCropperComponent,
|
|
33
33
|
ImageCropperModule,
|
|
34
|
-
PwTabsComponent, TabMenuModule] });
|
|
34
|
+
PwTabsComponent, TabMenuModule, PermissionTreeComponent] });
|
|
35
35
|
SharedComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SharedComponentsModule, imports: [FormsModule,
|
|
36
36
|
DirectivesModule,
|
|
37
37
|
CoreTranslocoModule,
|
|
@@ -46,7 +46,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
46
46
|
PasswordValidationComponent,
|
|
47
47
|
CustomUploaderComponent,
|
|
48
48
|
ProfileImageCropperComponent,
|
|
49
|
-
PwTabsComponent
|
|
49
|
+
PwTabsComponent,
|
|
50
|
+
PermissionTreeComponent
|
|
50
51
|
],
|
|
51
52
|
imports: [
|
|
52
53
|
FormsModule,
|
|
@@ -63,8 +64,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
63
64
|
ProfileImageCropperComponent,
|
|
64
65
|
ImageCropperModule,
|
|
65
66
|
PwTabsComponent,
|
|
66
|
-
primeNgModules
|
|
67
|
+
primeNgModules,
|
|
68
|
+
PermissionTreeComponent
|
|
67
69
|
]
|
|
68
70
|
}]
|
|
69
71
|
}] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUV0RixNQUFNLGNBQWMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBK0J2QyxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0IsaUJBM0IzQix3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLGVBQWU7UUFDZix1QkFBdUIsYUFHdkIsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsa0JBQWtCLEVBaEJGLGFBQWEsYUFvQjdCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsMkJBQTJCO1FBQzNCLHVCQUF1QjtRQUN2Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO1FBQ2xCLGVBQWUsRUExQkMsYUFBYSxFQTRCN0IsdUJBQXVCO29IQUdsQixzQkFBc0IsWUFsQjNCLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixjQUFjLEVBUWQsa0JBQWtCLEVBekJGLGFBQWE7MkZBK0J4QixzQkFBc0I7a0JBN0JsQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsdUJBQXVCO3FCQUMxQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYlRlc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2FiLXRlc3QvYWItdGVzdC1jb250YWluZXIvYWItdGVzdC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFiQWx0ZXJuYXRpdmVDb21wb25lbnQgfSBmcm9tICcuL2FiLXRlc3QvYWItYWx0ZXJuYXRpdmUvYWItYWx0ZXJuYXRpdmUuY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtdmFsaWRhdGlvbi9wYXNzd29yZC12YWxpZGF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29yZVRyYW5zbG9jb01vZHVsZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb3JlLXRyYW5zbG9jbyc7XG5pbXBvcnQgeyBDdXN0b21VcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLXVwbG9hZGVyL2N1c3RvbS11cGxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQd1RhYnNDb21wb25lbnQgfSBmcm9tICcuL3B3LXRhYnMvcHctdGFicy5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlck1vZHVsZSB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcbmltcG9ydCB7IFRhYk1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYm1lbnUnO1xuaW1wb3J0IHsgUGVybWlzc2lvblRyZWVDb21wb25lbnQgfSBmcm9tICcuL3Blcm1pc3Npb24tdHJlZS9wZXJtaXNzaW9uLXRyZWUuY29tcG9uZW50JztcblxuY29uc3QgcHJpbWVOZ01vZHVsZXMgPSBbVGFiTWVudU1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFiVGVzdENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgQWJBbHRlcm5hdGl2ZUNvbXBvbmVudCxcbiAgICAgICAgUGFzc3dvcmRWYWxpZGF0aW9uQ29tcG9uZW50LFxuICAgICAgICBDdXN0b21VcGxvYWRlckNvbXBvbmVudCxcbiAgICAgICAgUHJvZmlsZUltYWdlQ3JvcHBlckNvbXBvbmVudCxcbiAgICAgICAgUHdUYWJzQ29tcG9uZW50LFxuICAgICAgICBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRGlyZWN0aXZlc01vZHVsZSxcbiAgICAgICAgQ29yZVRyYW5zbG9jb01vZHVsZSxcbiAgICAgICAgSW1hZ2VDcm9wcGVyTW9kdWxlLFxuICAgICAgICBwcmltZU5nTW9kdWxlc1xuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBBYlRlc3RDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEFiQWx0ZXJuYXRpdmVDb21wb25lbnQsXG4gICAgICAgIFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnQsXG4gICAgICAgIFByb2ZpbGVJbWFnZUNyb3BwZXJDb21wb25lbnQsXG4gICAgICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcbiAgICAgICAgUHdUYWJzQ29tcG9uZW50LFxuICAgICAgICBwcmltZU5nTW9kdWxlcyxcbiAgICAgICAgUGVybWlzc2lvblRyZWVDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
|