@smartbit4all/ng-client 4.0.0 → 4.0.1
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/session/smart-session.module.mjs +2 -2
- package/esm2022/lib/shared/smart-tooltip.directive.mjs +5 -5
- package/esm2022/lib/smart-dialog/smartdialog.component.mjs +6 -6
- package/esm2022/lib/smart-dialog/smartdialog.module.mjs +2 -2
- package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +4 -4
- package/esm2022/lib/smart-filter/smart-filter.module.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +4 -4
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +2 -2
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +2 -2
- package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +4 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +7 -7
- package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +13 -13
- package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +2 -2
- package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +2 -2
- package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +7 -7
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +8 -8
- package/esm2022/lib/smart-grid/smart-grid.module.mjs +5 -5
- package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
- package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +5 -5
- package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +2 -2
- package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
- package/esm2022/lib/smart-table/components/loading/loading.component.mjs +2 -2
- package/esm2022/lib/smart-table/smarttable.module.mjs +8 -8
- package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +7 -7
- package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +5 -5
- package/esm2022/lib/smart-table/tables/table.mjs +2 -2
- package/esm2022/lib/smart-tree/smarttree.component.mjs +5 -5
- package/esm2022/lib/smart-tree/smarttree.module.mjs +3 -3
- package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +5 -4
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +2 -2
- package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +4 -4
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +2 -2
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +4 -4
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +2 -2
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +4 -4
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +2 -2
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +4 -4
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +4 -4
- package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +4 -4
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +2 -2
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +4 -4
- package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.module.mjs +12 -12
- package/fesm2022/smartbit4all-ng-client.mjs +213 -214
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/smart-session.module.d.ts +2 -2
- package/lib/shared/smart-tooltip.directive.d.ts +1 -1
- package/lib/smart-dialog/smartdialog.component.d.ts +1 -1
- package/lib/smart-dialog/smartdialog.module.d.ts +2 -2
- package/lib/smart-dialog/smartdialog.service.d.ts +1 -1
- package/lib/smart-expandable-section/smart-expandable-section.module.d.ts +3 -3
- package/lib/smart-filter/smart-filter.module.d.ts +3 -3
- package/lib/smart-filter-editor/smart-filter-editor.module.d.ts +2 -2
- package/lib/smart-form/smartfileuploader/smartfileuploader.component.d.ts +1 -1
- package/lib/smart-form/widgets/smartformwidget/smartformwidget.component.d.ts +2 -2
- package/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.d.ts +1 -1
- package/lib/smart-grid/smart-grid.component.d.ts +2 -2
- package/lib/smart-grid/smart-grid.module.d.ts +5 -5
- package/lib/smart-navbar/smart-navbar.module.d.ts +5 -5
- package/lib/smart-tab-group/smart-tab-group.module.d.ts +2 -2
- package/lib/smart-table/smarttable.module.d.ts +8 -8
- package/lib/smart-table/tables/table.d.ts +2 -2
- package/lib/smart-tree/smarttree.component.d.ts +1 -1
- package/lib/smart-tree/smarttree.module.d.ts +3 -3
- package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +1 -1
- package/lib/view-context/smart-ui-action/ui-action.service.d.ts +1 -1
- package/lib/view-context/smart-view-context-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-view-context.model.d.ts +1 -1
- package/lib/view-context/smart-view-context.module.d.ts +12 -12
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.0.1.tgz +0 -0
- package/smartbit4all-ng-client-4.0.0.tgz +0 -0
|
@@ -2,14 +2,14 @@ import { Component, Input } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "../../../smart-icon/smart-icon/smart-icon.component";
|
|
5
|
-
import * as i3 from "@angular/material/
|
|
5
|
+
import * as i3 from "@angular/material/button";
|
|
6
6
|
export class ExpandableGridComponent {
|
|
7
7
|
constructor() { }
|
|
8
8
|
ngOnInit() {
|
|
9
9
|
console.log(this.sectionData);
|
|
10
10
|
}
|
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ExpandableGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ExpandableGridComponent, selector: "app-expandable-grid", inputs: { sectionData: "sectionData" }, ngImport: i0, template: "<div\r\n [ngClass]=\"\r\n sectionData[1].dataLayoutDef.gridLayout === 'ROW'\r\n ? 'expandable-container-list'\r\n : 'expandable-container'\r\n \"\r\n>\r\n <div\r\n [ngClass]=\"\r\n sectionData[0].background === undefined ? '' : 'expandable-background'\r\n \"\r\n [ngStyle]=\"{\r\n 'background-image':\r\n sectionData[0].background === undefined\r\n ? ''\r\n : 'url(' + sectionData[0].background + ')'\r\n }\"\r\n >\r\n <div *ngIf=\"sectionData[0].icons !== undefined\" class=\"expandable-icon\">\r\n <smart-icon icon=\"{{ sectionData[0].icons }}\"></smart-icon>\r\n </div>\r\n </div>\r\n\r\n <div\r\n [ngClass]=\"\r\n sectionData[1].dataLayoutDef.dataLayout === 'ROW'\r\n ? 'expandable-data-container-list'\r\n : 'expandable-data-container'\r\n \"\r\n >\r\n <div *ngFor=\"let value of values\">\r\n <div>{{ value }}</div>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"sectionData.button !== undefined\"\r\n [ngClass]=\"\r\n sectionData[1].dataLayoutDef.dataLayout === undefined\r\n ? ''\r\n : 'expandable-button'\r\n \"\r\n >\r\n <container-element [ngSwitch]=\"sectionData.button.type\">\r\n <button *ngSwitchCase=\"'RAISED'\" mat-raised-button>alma</button>\r\n\r\n <button *ngSwitchCase=\"'ICON'\" mat-icon-button>alma</button>\r\n </container-element>\r\n </div>\r\n</div>\r\n", styles: [".expandable-container-list{display:flex;flex-direction:row;padding:1.5rem;gap:1rem}.expandable-container{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;align-items:center}.expandable-background{height:10rem;width:10rem}.expandable-data-container{display:flex;flex-direction:column;gap:.5rem}.expandable-data-container-list{display:grid;grid-template-columns:repeat(3,10rem);gap:.5rem}.expandable-button{display:flex;align-items:end}.expandable-icon{padding:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i3.
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ExpandableGridComponent, selector: "app-expandable-grid", inputs: { sectionData: "sectionData" }, ngImport: i0, template: "<div\r\n [ngClass]=\"\r\n sectionData[1].dataLayoutDef.gridLayout === 'ROW'\r\n ? 'expandable-container-list'\r\n : 'expandable-container'\r\n \"\r\n>\r\n <div\r\n [ngClass]=\"\r\n sectionData[0].background === undefined ? '' : 'expandable-background'\r\n \"\r\n [ngStyle]=\"{\r\n 'background-image':\r\n sectionData[0].background === undefined\r\n ? ''\r\n : 'url(' + sectionData[0].background + ')'\r\n }\"\r\n >\r\n <div *ngIf=\"sectionData[0].icons !== undefined\" class=\"expandable-icon\">\r\n <smart-icon icon=\"{{ sectionData[0].icons }}\"></smart-icon>\r\n </div>\r\n </div>\r\n\r\n <div\r\n [ngClass]=\"\r\n sectionData[1].dataLayoutDef.dataLayout === 'ROW'\r\n ? 'expandable-data-container-list'\r\n : 'expandable-data-container'\r\n \"\r\n >\r\n <div *ngFor=\"let value of values\">\r\n <div>{{ value }}</div>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"sectionData.button !== undefined\"\r\n [ngClass]=\"\r\n sectionData[1].dataLayoutDef.dataLayout === undefined\r\n ? ''\r\n : 'expandable-button'\r\n \"\r\n >\r\n <container-element [ngSwitch]=\"sectionData.button.type\">\r\n <button *ngSwitchCase=\"'RAISED'\" mat-raised-button>alma</button>\r\n\r\n <button *ngSwitchCase=\"'ICON'\" mat-icon-button>alma</button>\r\n </container-element>\r\n </div>\r\n</div>\r\n", styles: [".expandable-container-list{display:flex;flex-direction:row;padding:1.5rem;gap:1rem}.expandable-container{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;align-items:center}.expandable-background{height:10rem;width:10rem}.expandable-data-container{display:flex;flex-direction:column;gap:.5rem}.expandable-data-container-list{display:grid;grid-template-columns:repeat(3,10rem);gap:.5rem}.expandable-button{display:flex;align-items:end}.expandable-icon{padding:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] }); }
|
|
13
13
|
}
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ExpandableGridComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
@@ -43,11 +43,11 @@ export class SmartGridCardComponent {
|
|
|
43
43
|
this.onSelect(this.item.id);
|
|
44
44
|
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartGridCardComponent, deps: [{ token: i1.ComponentFactoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SmartGridCardComponent, selector: "app-smart-grid-card", inputs: { item: "item", smartGrid: "smartGrid", onSelect: "onSelect" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["customCardComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div (click)=\"select()\" class=\"smart-grid-card-template\">\r\n <ng-template #customCardComponent></ng-template>\r\n</div>\r\n<!-- <div [ngSwitch]=\"smartGrid.dataLayoutDef!.type\">\r\n <div\r\n *ngSwitchCase=\"'CARD1'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'ROW'\r\n ? 'sm-card-container-list'\r\n : 'sm-card-container'\r\n \"\r\n >\r\n <smart-icon [icon]=\"item.data.icon\"></smart-icon>\r\n <div>{{ item.data.title }}</div>\r\n <div>\r\n <div>{{ item.data.state }}</div>\r\n <div>{{ item.data.stateDate }}</div>\r\n </div>\r\n <div>\r\n <div>{{ item.data.lastViewed }}</div>\r\n <div>{{ item.data.lastViewedDate }}</div>\r\n </div>\r\n </div>\r\n <div\r\n *ngSwitchCase=\"'CARD2'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-container'\r\n : 'sm-list-card-container-list'\r\n \"\r\n >\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-image'\r\n : 'sm-list-card-image-list'\r\n \"\r\n [ngStyle]=\"{\r\n 'background-image': 'url(' + item.data.img + ')'\r\n }\"\r\n >\r\n <button mat-icon-button title=\"btn\">\r\n <smart-icon icon=\"favorite_border\"></smart-icon>\r\n </button>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-data-container'\r\n : 'sm-list-card-data-container-list'\r\n \"\r\n >\r\n <div class=\"mat-caption color-primary\">\r\n <b>{{ item.data.title }}</b>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n item.data.availability === 'Rendelhet\u0151'\r\n ? 'sm-list-ordered'\r\n : '' || item.data.availability === 'K\u00E9szleten'\r\n ? 'sm-list-instock'\r\n : 'sm-list-comingsoon'\r\n \"\r\n >\r\n <smart-icon icon=\"{{ item.data.icon }}\"></smart-icon>\r\n <b>{{ item.data.availability }}</b>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-secondary\"></div>\r\n <div class=\"sm-list-font-size color-secondary\">\r\n {{ item.data.lastUpdate }}\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n <div class=\"sm-list-price-container\">\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout\r\n ? 'sm-list-card-price'\r\n : 'sm-list-card-price-list'\r\n \"\r\n >\r\n <div class=\"color-primary\">\r\n <b>{{ item.data.price }} Ft</b>\r\n </div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n </div>\r\n <button *ngIf=\"false\" mat-icon-button title=\"btn2\">\r\n <smart-icon icon=\"{{ item.data.icon }}\" class=\"color-primary\"></smart-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n", styles: [".sm-card-container{display:flex;flex-direction:column;padding:1rem}.sm-card-container-list{display:flex;flex-direction:row;padding:1rem;gap:.25rem}.sm-card-title{display:flex}.sm-card-data-fontsize{font-size:10px}.sm-card-data0{border-radius:32px;padding:.1rem .5rem;width:fit-content}.sm-list-card-container{display:flex;flex-direction:column;border-radius:.75rem}.sm-list-card-image{height:9rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem .5rem 0rem 0rem}.sm-list-card-data-container{display:flex;flex-direction:column;text-align:left;padding:.5rem;border-radius:0rem 0rem .5rem .5rem;gap:.25rem}.sm-list-card-price{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;width:100%}.sm-list-instock{display:flex;flex-direction:row;align-items:center;border-radius:.125rem;padding:.125rem;width:fit-content;font-size:8px}.sm-list-ordered{display:flex;align-items:center;flex-direction:row;border-radius:.125rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-comingsoon{align-items:center;display:flex;flex-direction:row;border-radius:.25rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-font-size{font-size:10px}.sm-list-card-container ::ng-deep .mat-icon-button{max-width:fit-content!important;max-height:30px!important}.sm-list-card-container-list{display:flex;flex-direction:row;height:10.75rem;padding:1rem;border-radius:.5rem}.sm-list-card-image-list{width:8.5rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem}.sm-list-card-data-container-list{display:flex;flex-direction:column;text-align:left;padding-left:1rem;width:10.5rem}.sm-list-card-price-list{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;height:2rem;width:100%}.sm-list-price-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.sm-list-card-container-list ::ng-deep .mat-icon-button{max-width:fit-content!important;max-height:30px!important}\n"] }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SmartGridCardComponent, selector: "app-smart-grid-card", inputs: { item: "item", smartGrid: "smartGrid", onSelect: "onSelect" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["customCardComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div (click)=\"select()\" class=\"smart-grid-card-template\">\r\n <ng-template #customCardComponent></ng-template>\r\n</div>\r\n<!-- <div [ngSwitch]=\"smartGrid.dataLayoutDef!.type\">\r\n <div\r\n *ngSwitchCase=\"'CARD1'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'ROW'\r\n ? 'sm-card-container-list'\r\n : 'sm-card-container'\r\n \"\r\n >\r\n <smart-icon [icon]=\"item.data.icon\"></smart-icon>\r\n <div>{{ item.data.title }}</div>\r\n <div>\r\n <div>{{ item.data.state }}</div>\r\n <div>{{ item.data.stateDate }}</div>\r\n </div>\r\n <div>\r\n <div>{{ item.data.lastViewed }}</div>\r\n <div>{{ item.data.lastViewedDate }}</div>\r\n </div>\r\n </div>\r\n <div\r\n *ngSwitchCase=\"'CARD2'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-container'\r\n : 'sm-list-card-container-list'\r\n \"\r\n >\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-image'\r\n : 'sm-list-card-image-list'\r\n \"\r\n [ngStyle]=\"{\r\n 'background-image': 'url(' + item.data.img + ')'\r\n }\"\r\n >\r\n <button mat-icon-button title=\"btn\">\r\n <smart-icon icon=\"favorite_border\"></smart-icon>\r\n </button>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-data-container'\r\n : 'sm-list-card-data-container-list'\r\n \"\r\n >\r\n <div class=\"mat-caption color-primary\">\r\n <b>{{ item.data.title }}</b>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n item.data.availability === 'Rendelhet\u0151'\r\n ? 'sm-list-ordered'\r\n : '' || item.data.availability === 'K\u00E9szleten'\r\n ? 'sm-list-instock'\r\n : 'sm-list-comingsoon'\r\n \"\r\n >\r\n <smart-icon icon=\"{{ item.data.icon }}\"></smart-icon>\r\n <b>{{ item.data.availability }}</b>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-secondary\"></div>\r\n <div class=\"sm-list-font-size color-secondary\">\r\n {{ item.data.lastUpdate }}\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n <div class=\"sm-list-price-container\">\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout\r\n ? 'sm-list-card-price'\r\n : 'sm-list-card-price-list'\r\n \"\r\n >\r\n <div class=\"color-primary\">\r\n <b>{{ item.data.price }} Ft</b>\r\n </div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n </div>\r\n <button *ngIf=\"false\" mat-icon-button title=\"btn2\">\r\n <smart-icon icon=\"{{ item.data.icon }}\" class=\"color-primary\"></smart-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n", styles: [".sm-card-container{display:flex;flex-direction:column;padding:1rem}.sm-card-container-list{display:flex;flex-direction:row;padding:1rem;gap:.25rem}.sm-card-title{display:flex}.sm-card-data-fontsize{font-size:10px}.sm-card-data0{border-radius:32px;padding:.1rem .5rem;width:fit-content}.sm-list-card-container{display:flex;flex-direction:column;border-radius:.75rem}.sm-list-card-image{height:9rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem .5rem 0rem 0rem}.sm-list-card-data-container{display:flex;flex-direction:column;text-align:left;padding:.5rem;border-radius:0rem 0rem .5rem .5rem;gap:.25rem}.sm-list-card-price{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;width:100%}.sm-list-instock{display:flex;flex-direction:row;align-items:center;border-radius:.125rem;padding:.125rem;width:fit-content;font-size:8px}.sm-list-ordered{display:flex;align-items:center;flex-direction:row;border-radius:.125rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-comingsoon{align-items:center;display:flex;flex-direction:row;border-radius:.25rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-font-size{font-size:10px}.sm-list-card-container ::ng-deep .mat-mdc-icon-button{max-width:fit-content!important;max-height:30px!important}.sm-list-card-container-list{display:flex;flex-direction:row;height:10.75rem;padding:1rem;border-radius:.5rem}.sm-list-card-image-list{width:8.5rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem}.sm-list-card-data-container-list{display:flex;flex-direction:column;text-align:left;padding-left:1rem;width:10.5rem}.sm-list-card-price-list{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;height:2rem;width:100%}.sm-list-price-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.sm-list-card-container-list ::ng-deep .mat-mdc-icon-button{max-width:fit-content!important;max-height:30px!important}\n"] }); }
|
|
47
47
|
}
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SmartGridCardComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
|
-
args: [{ selector: 'app-smart-grid-card', template: "<div (click)=\"select()\" class=\"smart-grid-card-template\">\r\n <ng-template #customCardComponent></ng-template>\r\n</div>\r\n<!-- <div [ngSwitch]=\"smartGrid.dataLayoutDef!.type\">\r\n <div\r\n *ngSwitchCase=\"'CARD1'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'ROW'\r\n ? 'sm-card-container-list'\r\n : 'sm-card-container'\r\n \"\r\n >\r\n <smart-icon [icon]=\"item.data.icon\"></smart-icon>\r\n <div>{{ item.data.title }}</div>\r\n <div>\r\n <div>{{ item.data.state }}</div>\r\n <div>{{ item.data.stateDate }}</div>\r\n </div>\r\n <div>\r\n <div>{{ item.data.lastViewed }}</div>\r\n <div>{{ item.data.lastViewedDate }}</div>\r\n </div>\r\n </div>\r\n <div\r\n *ngSwitchCase=\"'CARD2'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-container'\r\n : 'sm-list-card-container-list'\r\n \"\r\n >\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-image'\r\n : 'sm-list-card-image-list'\r\n \"\r\n [ngStyle]=\"{\r\n 'background-image': 'url(' + item.data.img + ')'\r\n }\"\r\n >\r\n <button mat-icon-button title=\"btn\">\r\n <smart-icon icon=\"favorite_border\"></smart-icon>\r\n </button>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-data-container'\r\n : 'sm-list-card-data-container-list'\r\n \"\r\n >\r\n <div class=\"mat-caption color-primary\">\r\n <b>{{ item.data.title }}</b>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n item.data.availability === 'Rendelhet\u0151'\r\n ? 'sm-list-ordered'\r\n : '' || item.data.availability === 'K\u00E9szleten'\r\n ? 'sm-list-instock'\r\n : 'sm-list-comingsoon'\r\n \"\r\n >\r\n <smart-icon icon=\"{{ item.data.icon }}\"></smart-icon>\r\n <b>{{ item.data.availability }}</b>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-secondary\"></div>\r\n <div class=\"sm-list-font-size color-secondary\">\r\n {{ item.data.lastUpdate }}\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n <div class=\"sm-list-price-container\">\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout\r\n ? 'sm-list-card-price'\r\n : 'sm-list-card-price-list'\r\n \"\r\n >\r\n <div class=\"color-primary\">\r\n <b>{{ item.data.price }} Ft</b>\r\n </div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n </div>\r\n <button *ngIf=\"false\" mat-icon-button title=\"btn2\">\r\n <smart-icon icon=\"{{ item.data.icon }}\" class=\"color-primary\"></smart-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n", styles: [".sm-card-container{display:flex;flex-direction:column;padding:1rem}.sm-card-container-list{display:flex;flex-direction:row;padding:1rem;gap:.25rem}.sm-card-title{display:flex}.sm-card-data-fontsize{font-size:10px}.sm-card-data0{border-radius:32px;padding:.1rem .5rem;width:fit-content}.sm-list-card-container{display:flex;flex-direction:column;border-radius:.75rem}.sm-list-card-image{height:9rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem .5rem 0rem 0rem}.sm-list-card-data-container{display:flex;flex-direction:column;text-align:left;padding:.5rem;border-radius:0rem 0rem .5rem .5rem;gap:.25rem}.sm-list-card-price{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;width:100%}.sm-list-instock{display:flex;flex-direction:row;align-items:center;border-radius:.125rem;padding:.125rem;width:fit-content;font-size:8px}.sm-list-ordered{display:flex;align-items:center;flex-direction:row;border-radius:.125rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-comingsoon{align-items:center;display:flex;flex-direction:row;border-radius:.25rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-font-size{font-size:10px}.sm-list-card-container ::ng-deep .mat-icon-button{max-width:fit-content!important;max-height:30px!important}.sm-list-card-container-list{display:flex;flex-direction:row;height:10.75rem;padding:1rem;border-radius:.5rem}.sm-list-card-image-list{width:8.5rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem}.sm-list-card-data-container-list{display:flex;flex-direction:column;text-align:left;padding-left:1rem;width:10.5rem}.sm-list-card-price-list{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;height:2rem;width:100%}.sm-list-price-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.sm-list-card-container-list ::ng-deep .mat-icon-button{max-width:fit-content!important;max-height:30px!important}\n"] }]
|
|
50
|
+
args: [{ selector: 'app-smart-grid-card', template: "<div (click)=\"select()\" class=\"smart-grid-card-template\">\r\n <ng-template #customCardComponent></ng-template>\r\n</div>\r\n<!-- <div [ngSwitch]=\"smartGrid.dataLayoutDef!.type\">\r\n <div\r\n *ngSwitchCase=\"'CARD1'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'ROW'\r\n ? 'sm-card-container-list'\r\n : 'sm-card-container'\r\n \"\r\n >\r\n <smart-icon [icon]=\"item.data.icon\"></smart-icon>\r\n <div>{{ item.data.title }}</div>\r\n <div>\r\n <div>{{ item.data.state }}</div>\r\n <div>{{ item.data.stateDate }}</div>\r\n </div>\r\n <div>\r\n <div>{{ item.data.lastViewed }}</div>\r\n <div>{{ item.data.lastViewedDate }}</div>\r\n </div>\r\n </div>\r\n <div\r\n *ngSwitchCase=\"'CARD2'\"\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-container'\r\n : 'sm-list-card-container-list'\r\n \"\r\n >\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-image'\r\n : 'sm-list-card-image-list'\r\n \"\r\n [ngStyle]=\"{\r\n 'background-image': 'url(' + item.data.img + ')'\r\n }\"\r\n >\r\n <button mat-icon-button title=\"btn\">\r\n <smart-icon icon=\"favorite_border\"></smart-icon>\r\n </button>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout === 'COLUMN'\r\n ? 'sm-list-card-data-container'\r\n : 'sm-list-card-data-container-list'\r\n \"\r\n >\r\n <div class=\"mat-caption color-primary\">\r\n <b>{{ item.data.title }}</b>\r\n </div>\r\n <div\r\n [ngClass]=\"\r\n item.data.availability === 'Rendelhet\u0151'\r\n ? 'sm-list-ordered'\r\n : '' || item.data.availability === 'K\u00E9szleten'\r\n ? 'sm-list-instock'\r\n : 'sm-list-comingsoon'\r\n \"\r\n >\r\n <smart-icon icon=\"{{ item.data.icon }}\"></smart-icon>\r\n <b>{{ item.data.availability }}</b>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-secondary\"></div>\r\n <div class=\"sm-list-font-size color-secondary\">\r\n {{ item.data.lastUpdate }}\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n <div class=\"sm-list-price-container\">\r\n <div\r\n [ngClass]=\"\r\n smartGrid.dataLayoutDef!.gridLayout\r\n ? 'sm-list-card-price'\r\n : 'sm-list-card-price-list'\r\n \"\r\n >\r\n <div class=\"color-primary\">\r\n <b>{{ item.data.price }} Ft</b>\r\n </div>\r\n <div class=\"sm-list-font-size color-primary\"></div>\r\n </div>\r\n <button *ngIf=\"false\" mat-icon-button title=\"btn2\">\r\n <smart-icon icon=\"{{ item.data.icon }}\" class=\"color-primary\"></smart-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n", styles: [".sm-card-container{display:flex;flex-direction:column;padding:1rem}.sm-card-container-list{display:flex;flex-direction:row;padding:1rem;gap:.25rem}.sm-card-title{display:flex}.sm-card-data-fontsize{font-size:10px}.sm-card-data0{border-radius:32px;padding:.1rem .5rem;width:fit-content}.sm-list-card-container{display:flex;flex-direction:column;border-radius:.75rem}.sm-list-card-image{height:9rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem .5rem 0rem 0rem}.sm-list-card-data-container{display:flex;flex-direction:column;text-align:left;padding:.5rem;border-radius:0rem 0rem .5rem .5rem;gap:.25rem}.sm-list-card-price{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;width:100%}.sm-list-instock{display:flex;flex-direction:row;align-items:center;border-radius:.125rem;padding:.125rem;width:fit-content;font-size:8px}.sm-list-ordered{display:flex;align-items:center;flex-direction:row;border-radius:.125rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-comingsoon{align-items:center;display:flex;flex-direction:row;border-radius:.25rem;padding:.25rem;width:fit-content;font-size:8px}.sm-list-font-size{font-size:10px}.sm-list-card-container ::ng-deep .mat-mdc-icon-button{max-width:fit-content!important;max-height:30px!important}.sm-list-card-container-list{display:flex;flex-direction:row;height:10.75rem;padding:1rem;border-radius:.5rem}.sm-list-card-image-list{width:8.5rem;display:flex;flex-direction:column;padding:.75rem;align-items:flex-end;border-radius:.5rem}.sm-list-card-data-container-list{display:flex;flex-direction:column;text-align:left;padding-left:1rem;width:10.5rem}.sm-list-card-price-list{display:flex;flex-direction:column;border-radius:.25rem;padding:.25rem;height:2rem;width:100%}.sm-list-price-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.sm-list-card-container-list ::ng-deep .mat-mdc-icon-button{max-width:fit-content!important;max-height:30px!important}\n"] }]
|
|
51
51
|
}], ctorParameters: () => [{ type: i1.ComponentFactoryService }], propDecorators: { item: [{
|
|
52
52
|
type: Input
|
|
53
53
|
}], smartGrid: [{
|
package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
2
2
|
import { Component, Inject, ViewChildren } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
4
|
import { SmartFormWidgetDirection, SmartFormWidgetType, } from '../../../smart-form/projects';
|
|
5
5
|
import { Subject, takeUntil } from 'rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/
|
|
7
|
+
import * as i1 from "@angular/material/dialog";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
9
|
import * as i3 from "../../../smart-icon/smart-icon/smart-icon.component";
|
|
10
10
|
import * as i4 from "@angular/material/icon";
|
|
11
|
-
import * as i5 from "@angular/material/
|
|
11
|
+
import * as i5 from "@angular/material/button";
|
|
12
12
|
import * as i6 from "@angular/cdk/drag-drop";
|
|
13
13
|
import * as i7 from "../../../smart-form/smartform.component";
|
|
14
14
|
export class TableLayoutDefinerComponent {
|
|
@@ -166,8 +166,8 @@ export class TableLayoutDefinerComponent {
|
|
|
166
166
|
}
|
|
167
167
|
return true;
|
|
168
168
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TableLayoutDefinerComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.
|
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: TableLayoutDefinerComponent, selector: "app-table-layout-definer", viewQueries: [{ propertyName: "formChildren", predicate: ["forms"], descendants: true }], ngImport: i0, template: "<div class=\"edit-columns-container\">\r\n <div class=\"example-list\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"column-meta-row\" *ngFor=\"let col of forms\" cdkDrag cdkDragLockAxis=\"y\">\r\n <smart-icon color=\"primary\" icon=\"drag_handle\"></smart-icon>\r\n <smartform class=\"form\" #forms [smartForm]=\"col\"></smartform>\r\n <button\r\n *ngIf=\"isAlwaysShow(col) && (view?.orderedColumnNames)!.length > 1\"\r\n (click)=\"removeColumn(col)\"\r\n mat-icon-button\r\n color=\"primary\"\r\n >\r\n <mat-icon>delete_outline</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"add-btn\" *ngIf=\"showAddBtn\">\r\n <button mat-icon-button color=\"primary\" (click)=\"addColumn()\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"button-toolbar\">\r\n <button mat-button color=\"primary\" (click)=\"cancel()\"> M\u00E9gsem </button>\r\n <button mat-raised-button color=\"primary\" [disabled]=\"disableSave\" (click)=\"submit()\">\r\n Ment\u00E9s\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".edit-columns-container{padding:1rem;display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-direction:row;gap:.5rem}.form{flex:1}.fields{padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.example-list{display:flex;flex-direction:column;gap:1rem;width:500px;max-width:100%;max-height:80vh;overflow:auto}.column-meta-row{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;border:solid 1px #ccc;padding:1rem}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}h2{margin:0}.button-toolbar{display:flex;flex-direction:row;justify-content:space-between;padding:.5rem}.add-btn{display:flex;flex-direction:column;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TableLayoutDefinerComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: TableLayoutDefinerComponent, selector: "app-table-layout-definer", viewQueries: [{ propertyName: "formChildren", predicate: ["forms"], descendants: true }], ngImport: i0, template: "<div class=\"edit-columns-container\">\r\n <div class=\"example-list\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"column-meta-row\" *ngFor=\"let col of forms\" cdkDrag cdkDragLockAxis=\"y\">\r\n <smart-icon color=\"primary\" icon=\"drag_handle\"></smart-icon>\r\n <smartform class=\"form\" #forms [smartForm]=\"col\"></smartform>\r\n <button\r\n *ngIf=\"isAlwaysShow(col) && (view?.orderedColumnNames)!.length > 1\"\r\n (click)=\"removeColumn(col)\"\r\n mat-icon-button\r\n color=\"primary\"\r\n >\r\n <mat-icon>delete_outline</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"add-btn\" *ngIf=\"showAddBtn\">\r\n <button mat-icon-button color=\"primary\" (click)=\"addColumn()\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"button-toolbar\">\r\n <button mat-button color=\"primary\" (click)=\"cancel()\"> M\u00E9gsem </button>\r\n <button mat-raised-button color=\"primary\" [disabled]=\"disableSave\" (click)=\"submit()\">\r\n Ment\u00E9s\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".edit-columns-container{padding:1rem;display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-direction:row;gap:.5rem}.form{flex:1}.fields{padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.example-list{display:flex;flex-direction:column;gap:1rem;width:500px;max-width:100%;max-height:80vh;overflow:auto}.column-meta-row{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;border:solid 1px #ccc;padding:1rem}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}h2{margin:0}.button-toolbar{display:flex;flex-direction:row;justify-content:space-between;padding:.5rem}.add-btn{display:flex;flex-direction:column;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }] }); }
|
|
171
171
|
}
|
|
172
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TableLayoutDefinerComponent, decorators: [{
|
|
173
173
|
type: Component,
|
|
@@ -175,8 +175,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
175
175
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
176
176
|
type: Inject,
|
|
177
177
|
args: [MAT_DIALOG_DATA]
|
|
178
|
-
}] }, { type: i1.
|
|
178
|
+
}] }, { type: i1.MatDialogRef }], propDecorators: { formChildren: [{
|
|
179
179
|
type: ViewChildren,
|
|
180
180
|
args: ['forms']
|
|
181
181
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ3JpZC9jb21wb25lbnRzL3RhYmxlLWxheW91dC1kZWZpbmVyL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWdyaWQvY29tcG9uZW50cy90YWJsZS1sYXlvdXQtZGVmaW5lci90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsc0JBQXNCLElBQUksZUFBZSxFQUFzQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hJLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsbUJBQW1CLEdBRXBCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBUSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWlCaEQsTUFBTSxPQUFPLDJCQUEyQjtJQVV0QyxZQUNrQyxJQUFxQixFQUM3QyxTQUFvRDtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQVh0RCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJekMsMkJBQXNCLEdBQThCLEVBQUUsQ0FBQztRQUMvRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixzQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFDakMsZUFBVSxHQUFZLElB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OEdBbE1VLDJCQUEyQixrQkFXNUIsZUFBZTtrR0FYZCwyQkFBMkIsMEpDMUJ4Qyx1bkNBMkJBOzsyRkREYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFlakMsTUFBTTsyQkFBQyxlQUFlOzBFQVRGLFlBQVk7c0JBQWxDLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRGb3JtLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbixcclxuICBTbWFydEZvcm1XaWRnZXRUeXBlLFxyXG4gIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxufSBmcm9tICcuLi8uLi8uLi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdyaWRDb2x1bW5NZXRhLCBHcmlkVXBkYXRlRGF0YSwgR3JpZFZpZXcgfSBmcm9tICcuLi8uLi9hcGkvZ3JpZC1hcGknO1xyXG5pbXBvcnQgeyBTbWFydEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZ3JpZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnREaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vLi4vc21hcnQtZGlhbG9nL3Byb2plY3RzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVMYXlvdXREZWZpbmVyQ29uZmlnIHtcclxuICB1dWlkOiBzdHJpbmc7XHJcbiAgaWRlbnRpZmllcjogc3RyaW5nO1xyXG4gIHZpZXc6IEdyaWRWaWV3O1xyXG4gIHNlcnZpY2U6IFNtYXJ0R3JpZFNlcnZpY2U7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWxheW91dC1kZWZpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlTGF5b3V0RGVmaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zvcm1zJykgZm9ybUNoaWxkcmVuPzogU21hcnRmb3JtQ29tcG9uZW50W107XHJcbiAgZm9ybXM/OiBTbWFydEZvcm1bXTtcclxuICB2aWV3PzogR3JpZFZpZXc7XHJcbiAgcHJpdmF0ZSBvcmRlcmVkQ29sdW1uc0FzT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgZGlzYWJsZVNhdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbHdheXNTaG93Q29sdW1uczogc3RyaW5nW10gPSBbXTtcclxuICBzaG93QWRkQnRuOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFNtYXJ0RGlhbG9nRGF0YSxcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGFibGVMYXlvdXREZWZpbmVyQ29tcG9uZW50PlxyXG4gICkge1xyXG4gICAgdGhpcy52aWV3ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhLmN1c3RvbUNvbXBvbmVudElucHV0cy5jb25maWcudmlldykpO1xyXG4gICAgdGhpcy5tYXBPcmRlcmVkQ29sdW1uc1RvT2JqZWN0KCk7XHJcbiAgICB0aGlzLmNvbnN0cnVjdEZvcm1zKCk7XHJcbiAgICB0aGlzLmdldEFsd2F5c1Nob3dDb2x1bW5zKCk7XHJcbiAgICB0aGlzLnNob3dBZGRCdG4gPSAhKHRoaXMuZm9ybXMhLmxlbmd0aCA9PSB0aGlzLmdldE1heENvbHVtbkNvdW50KCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXhDb2x1bW5Db3VudCgpIHtcclxuICAgIHJldHVybiB0aGlzLnZpZXchLmRlc2NyaXB0b3IhLmNvbHVtbnMuZmlsdGVyKChjb2wpID0+ICFjb2wuYWx3YXlzSGlkZGVuKS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjaWJlRm9yVmFsdWVDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NpYmVGb3JWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoaWxkcmVuPy5mb3JFYWNoKChjb21wOiBTbWFydGZvcm1Db21wb25lbnQpID0+IHtcclxuICAgICAgY29tcC5vblZhbHVlQ2hhbmdlU3ViamVjdD8ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGxldCB1cGRhdGVkT3JkZXJlZENvbHVtbnMgPSB0aGlzLmdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpO1xyXG5cclxuICAgICAgICBsZXQgZmluZER1cGxpY2F0ZXMgPSB1cGRhdGVkT3JkZXJlZENvbHVtbnMuZmlsdGVyKFxyXG4gICAgICAgICAgKGl0ZW0sIGluZGV4KSA9PiB1cGRhdGVkT3JkZXJlZENvbHVtbnMuaW5kZXhPZihpdGVtKSAhPT0gaW5kZXhcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLmRpc2FibGVTYXZlID0gZmluZER1cGxpY2F0ZXMubGVuZ3RoID4gMCB8fCB0aGlzLmhhc0VtcHR5VmFsdWUodXBkYXRlZE9yZGVyZWRDb2x1bW5zKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhc0VtcHR5VmFsdWUodXBkYXRlZE9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIHVwZGF0ZWRPcmRlcmVkQ29sdW1ucy5zb21lKCh2YWx1ZSkgPT4gdmFsdWUubGVuZ3RoID09PSAwKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm1zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtcyA9IHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLm1hcCgoY29sOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgbGV0IGZvcm06IFNtYXJ0Rm9ybSA9IHtcclxuICAgICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3QgfSxcclxuICAgICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0wsXHJcbiAgICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICAgIHdpZGdldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAga2V5OiBpbmRleC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuU0VMRUNULFxyXG4gICAgICAgICAgICB2YWx1ZUxpc3Q6IHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5maWx0ZXIoKGNtKSA9PiAhY20uYWx3YXlzSGlkZGVuKS5tYXAoXHJcbiAgICAgICAgICAgICAgKGNvbE1ldGE6IEdyaWRDb2x1bW5NZXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogY29sTWV0YS5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbE1ldGEucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLklURU0sXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIGZvcm07XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zdWJzY2liZUZvclZhbHVlQ2hhbmdlKCk7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIGFkZENvbHVtbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm1zIS5sZW5ndGggPCB0aGlzLmdldE1heENvbHVtbkNvdW50KCkpIHtcclxuICAgICAgdGhpcy52aWV3Py5vcmRlcmVkQ29sdW1uTmFtZXMucHVzaCgnJyk7XHJcbiAgICAgIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFt0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcy5sZW5ndGggLSAxXSA9ICcnO1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEZvcm1zKCk7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVNhdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93QWRkQnRuID0gdGhpcy5mb3JtcyEubGVuZ3RoIDwgdGhpcy5nZXRNYXhDb2x1bW5Db3VudCgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ29sdW1uKGZvcm06IFNtYXJ0Rm9ybSk6IHZvaWQge1xyXG4gICAgbGV0IHByb3BlcnR5TmFtZSA9IHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFtmb3JtLndpZGdldHNbMF0ua2V5IV07XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcy5pbmRleE9mKHByb3BlcnR5TmFtZSk7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYXBPcmRlcmVkQ29sdW1uc1RvT2JqZWN0KCk7XHJcbiAgICB0aGlzLmNvbnN0cnVjdEZvcm1zKCk7XHJcbiAgICB0aGlzLnNob3dBZGRCdG4gPSB0aGlzLmZvcm1zIS5sZW5ndGggPCB0aGlzLmdldE1heENvbHVtbkNvdW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExhYmVsRnJvbUNvbHVtbk1ldGEocHJvcDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBsYWJlbCA9IHRoaXMudmlldz8uZGVzY3JpcHRvcj8uY29sdW1ucy5maW5kKFxyXG4gICAgICAodmFsdWU6IEdyaWRDb2x1bW5NZXRhKSA9PiB2YWx1ZS5wcm9wZXJ0eU5hbWUgPT09IHByb3BcclxuICAgICk/LmxhYmVsO1xyXG4gICAgcmV0dXJuIGxhYmVsID8/IHByb3A7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmZvcm1zISwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Gb3JDb2woY29sOiBzdHJpbmcpOiBTbWFydEZvcm0ge1xyXG4gICAgbGV0IGZvcm06IFNtYXJ0Rm9ybSA9IHtcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0IH0sXHJcbiAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTCxcclxuICAgICAgd2lkZ2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGtleTogY29sLFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0TGFiZWxGcm9tQ29sdW1uTWV0YShjb2wpLFxyXG4gICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsXHJcbiAgICAgICAgICB2YWx1ZUxpc3Q6IHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5tYXAoKGNvbE1ldGE6IEdyaWRDb2x1bW5NZXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAga2V5OiAnJyxcclxuICAgICAgICAgICAgICBsYWJlbDogY29sTWV0YS5sYWJlbCxcclxuICAgICAgICAgICAgICB2YWx1ZTogY29sTWV0YS5wcm9wZXJ0eU5hbWUsXHJcbiAgICAgICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgICByZXR1cm4gZm9ybTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHN1Ym1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzID0gdGhpcy5nZXRVcGRhdGVkT3JkZXJlZENvbHVtbnMoKTtcclxuICAgIGxldCBjb25maWcgPSB0aGlzLmRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZztcclxuXHJcbiAgICBsZXQgdXBkYXRlRGF0YTogR3JpZFVwZGF0ZURhdGEgPSB7XHJcbiAgICAgIG9yZGVyQnlMaXN0OiB0aGlzLnZpZXchLm9yZGVyQnlMaXN0LFxyXG4gICAgICBvcmRlcmVkQ29sdW1uTmFtZXM6IHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLFxyXG4gICAgfTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLmRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZy5zZXJ2aWNlLnVwZGF0ZShcclxuICAgICAgY29uZmlnLnV1aWQsXHJcbiAgICAgIGNvbmZpZy5pZGVudGlmaWVyLFxyXG4gICAgICB1cGRhdGVEYXRhXHJcbiAgICApO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpIHtcclxuICAgIGxldCB1cGRhdGVkS2V5T3JkZXIgPSB0aGlzLmZvcm1zIS5tYXAoKGZvcm06IFNtYXJ0Rm9ybSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm9ybS53aWRnZXRzWzBdLmtleSE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmZvcm1DaGlsZHJlbj8uZm9yRWFjaCgoY29tcDogU21hcnRmb3JtQ29tcG9uZW50KSA9PiBjb21wLnN1Ym1pdEZvcm0oKSk7XHJcblxyXG4gICAgbGV0IHVwZGF0ZWRPcmRlcmVkQ29sdW1ucyA9IHVwZGF0ZWRLZXlPcmRlciEubWFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3RbdmFsdWVdO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdXBkYXRlZE9yZGVyZWRDb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYXBPcmRlcmVkQ29sdW1uc1RvT2JqZWN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3Py5vcmRlcmVkQ29sdW1uTmFtZXMubWFwKCh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFtpbmRleF0gPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBbHdheXNTaG93Q29sdW1ucygpOiB2b2lkIHtcclxuICAgIHRoaXMudmlldz8uZGVzY3JpcHRvcj8uY29sdW1ucy5mb3JFYWNoKChjb2w6IEdyaWRDb2x1bW5NZXRhKSA9PiB7XHJcbiAgICAgIGlmIChjb2wuYWx3YXlzU2hvdykge1xyXG4gICAgICAgIHRoaXMuYWx3YXlzU2hvd0NvbHVtbnMucHVzaChjb2wucHJvcGVydHlOYW1lKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc0Fsd2F5c1Nob3coY29sOiBTbWFydEZvcm0pIHtcclxuICAgIGxldCBrZXkgPSBjb2wud2lkZ2V0c1swXS5rZXkhO1xyXG5cclxuICAgIGlmICh0aGlzLmFsd2F5c1Nob3dDb2x1bW5zLmluY2x1ZGVzKHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFtrZXldKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImVkaXQtY29sdW1ucy1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1saXN0XCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbWV0YS1yb3dcIiAqbmdGb3I9XCJsZXQgY29sIG9mIGZvcm1zXCIgY2RrRHJhZyBjZGtEcmFnTG9ja0F4aXM9XCJ5XCI+XHJcbiAgICAgIDxzbWFydC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIGljb249XCJkcmFnX2hhbmRsZVwiPjwvc21hcnQtaWNvbj5cclxuICAgICAgPHNtYXJ0Zm9ybSBjbGFzcz1cImZvcm1cIiAjZm9ybXMgW3NtYXJ0Rm9ybV09XCJjb2xcIj48L3NtYXJ0Zm9ybT5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICpuZ0lmPVwiaXNBbHdheXNTaG93KGNvbCkgJiYgKHZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcykhLmxlbmd0aCA+IDFcIlxyXG4gICAgICAgIChjbGljayk9XCJyZW1vdmVDb2x1bW4oY29sKVwiXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGVfb3V0bGluZTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFkZC1idG5cIiAqbmdJZj1cInNob3dBZGRCdG5cIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGRDb2x1bW4oKVwiPlxyXG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJidXR0b24tdG9vbGJhclwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiPiBNw6lnc2VtIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVNhdmVcIiAoY2xpY2spPVwic3VibWl0KClcIj5cclxuICAgICAgTWVudMOpc1xyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ3JpZC9jb21wb25lbnRzL3RhYmxlLWxheW91dC1kZWZpbmVyL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWdyaWQvY29tcG9uZW50cy90YWJsZS1sYXlvdXQtZGVmaW5lci90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsbUJBQW1CLEdBRXBCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBUSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWlCaEQsTUFBTSxPQUFPLDJCQUEyQjtJQVV0QyxZQUNrQyxJQUFxQixFQUM3QyxTQUFvRDtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQVh0RCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJekMsMkJBQXNCLEdBQThCLEVBQUUsQ0FBQztRQUMvRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixzQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFDakMsZUFBVSxHQUFZLElBQUksQ0FBQztRQU16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QixrQkFXNUIsZUFBZTtrR0FYZCwyQkFBMkIsMEpDMUJ4Qyx1bkNBMkJBOzsyRkREYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFlakMsTUFBTTsyQkFBQyxlQUFlO29FQVRGLFlBQVk7c0JBQWxDLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtcclxuICBTbWFydEZvcm0sXHJcbiAgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldFR5cGUsXHJcbiAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG59IGZyb20gJy4uLy4uLy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR3JpZENvbHVtbk1ldGEsIEdyaWRVcGRhdGVEYXRhLCBHcmlkVmlldyB9IGZyb20gJy4uLy4uL2FwaS9ncmlkLWFwaSc7XHJcbmltcG9ydCB7IFNtYXJ0R3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zbWFydC1ncmlkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUxheW91dERlZmluZXJDb25maWcge1xyXG4gIHV1aWQ6IHN0cmluZztcclxuICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgdmlldzogR3JpZFZpZXc7XHJcbiAgc2VydmljZTogU21hcnRHcmlkU2VydmljZTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtbGF5b3V0LWRlZmluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVMYXlvdXREZWZpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQFZpZXdDaGlsZHJlbignZm9ybXMnKSBmb3JtQ2hpbGRyZW4/OiBTbWFydGZvcm1Db21wb25lbnRbXTtcclxuICBmb3Jtcz86IFNtYXJ0Rm9ybVtdO1xyXG4gIHZpZXc/OiBHcmlkVmlldztcclxuICBwcml2YXRlIG9yZGVyZWRDb2x1bW5zQXNPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBkaXNhYmxlU2F2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFsd2F5c1Nob3dDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHNob3dBZGRCdG46IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogU21hcnREaWFsb2dEYXRhLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUYWJsZUxheW91dERlZmluZXJDb21wb25lbnQ+XHJcbiAgKSB7XHJcbiAgICB0aGlzLnZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZy52aWV3KSk7XHJcbiAgICB0aGlzLm1hcE9yZGVyZWRDb2x1bW5zVG9PYmplY3QoKTtcclxuICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcclxuICAgIHRoaXMuZ2V0QWx3YXlzU2hvd0NvbHVtbnMoKTtcclxuICAgIHRoaXMuc2hvd0FkZEJ0biA9ICEodGhpcy5mb3JtcyEubGVuZ3RoID09IHRoaXMuZ2V0TWF4Q29sdW1uQ291bnQoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1heENvbHVtbkNvdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5maWx0ZXIoKGNvbCkgPT4gIWNvbC5hbHdheXNIaWRkZW4pLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NpYmVGb3JWYWx1ZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY2liZUZvclZhbHVlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ2hpbGRyZW4/LmZvckVhY2goKGNvbXA6IFNtYXJ0Zm9ybUNvbXBvbmVudCkgPT4ge1xyXG4gICAgICBjb21wLm9uVmFsdWVDaGFuZ2VTdWJqZWN0Py5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgbGV0IHVwZGF0ZWRPcmRlcmVkQ29sdW1ucyA9IHRoaXMuZ2V0VXBkYXRlZE9yZGVyZWRDb2x1bW5zKCk7XHJcblxyXG4gICAgICAgIGxldCBmaW5kRHVwbGljYXRlcyA9IHVwZGF0ZWRPcmRlcmVkQ29sdW1ucy5maWx0ZXIoXHJcbiAgICAgICAgICAoaXRlbSwgaW5kZXgpID0+IHVwZGF0ZWRPcmRlcmVkQ29sdW1ucy5pbmRleE9mKGl0ZW0pICE9PSBpbmRleFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzYWJsZVNhdmUgPSBmaW5kRHVwbGljYXRlcy5sZW5ndGggPiAwIHx8IHRoaXMuaGFzRW1wdHlWYWx1ZSh1cGRhdGVkT3JkZXJlZENvbHVtbnMpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFzRW1wdHlWYWx1ZSh1cGRhdGVkT3JkZXJlZENvbHVtbnM6IHN0cmluZ1tdKSB7XHJcbiAgICByZXR1cm4gdXBkYXRlZE9yZGVyZWRDb2x1bW5zLnNvbWUoKHZhbHVlKSA9PiB2YWx1ZS5sZW5ndGggPT09IDApO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0Rm9ybXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1zID0gdGhpcy52aWV3IS5vcmRlcmVkQ29sdW1uTmFtZXMubWFwKChjb2w6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBsZXQgZm9ybTogU21hcnRGb3JtID0ge1xyXG4gICAgICAgIGNvbXBvbmVudE1vZGVsOiB7IGRhdGE6IHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdCB9LFxyXG4gICAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTCxcclxuICAgICAgICB1c2VPblZhbHVlQ2hhbmdlRXZlbnQ6IHRydWUsXHJcbiAgICAgICAgd2lkZ2V0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBrZXk6IGluZGV4LnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGxhYmVsOiAnJyxcclxuICAgICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsXHJcbiAgICAgICAgICAgIHZhbHVlTGlzdDogdGhpcy52aWV3IS5kZXNjcmlwdG9yIS5jb2x1bW5zLmZpbHRlcigoY20pID0+ICFjbS5hbHdheXNIaWRkZW4pLm1hcChcclxuICAgICAgICAgICAgICAoY29sTWV0YTogR3JpZENvbHVtbk1ldGEpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgIGtleTogJycsXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb2xNZXRhLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogY29sTWV0YS5wcm9wZXJ0eU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSVRFTSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gZm9ybTtcclxuICAgIH0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN1YnNjaWJlRm9yVmFsdWVDaGFuZ2UoKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgYWRkQ29sdW1uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybXMhLmxlbmd0aCA8IHRoaXMuZ2V0TWF4Q29sdW1uQ291bnQoKSkge1xyXG4gICAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5wdXNoKCcnKTtcclxuICAgICAgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W3RoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLmxlbmd0aCAtIDFdID0gJyc7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcclxuICAgICAgdGhpcy5kaXNhYmxlU2F2ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dBZGRCdG4gPSB0aGlzLmZvcm1zIS5sZW5ndGggPCB0aGlzLmdldE1heENvbHVtbkNvdW50KCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDb2x1bW4oZm9ybTogU21hcnRGb3JtKTogdm9pZCB7XHJcbiAgICBsZXQgcHJvcGVydHlOYW1lID0gdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2Zvcm0ud2lkZ2V0c1swXS5rZXkhXTtcclxuICAgIGxldCBpbmRleCA9IHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLmluZGV4T2YocHJvcGVydHlOYW1lKTtcclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgIHRoaXMudmlldz8ub3JkZXJlZENvbHVtbk5hbWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1hcE9yZGVyZWRDb2x1bW5zVG9PYmplY3QoKTtcclxuICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcclxuICAgIHRoaXMuc2hvd0FkZEJ0biA9IHRoaXMuZm9ybXMhLmxlbmd0aCA8IHRoaXMuZ2V0TWF4Q29sdW1uQ291bnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGFiZWxGcm9tQ29sdW1uTWV0YShwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxhYmVsID0gdGhpcy52aWV3Py5kZXNjcmlwdG9yPy5jb2x1bW5zLmZpbmQoXHJcbiAgICAgICh2YWx1ZTogR3JpZENvbHVtbk1ldGEpID0+IHZhbHVlLnByb3BlcnR5TmFtZSA9PT0gcHJvcFxyXG4gICAgKT8ubGFiZWw7XHJcbiAgICByZXR1cm4gbGFiZWwgPz8gcHJvcDtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZm9ybXMhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybUZvckNvbChjb2w6IHN0cmluZyk6IFNtYXJ0Rm9ybSB7XHJcbiAgICBsZXQgZm9ybTogU21hcnRGb3JtID0ge1xyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3QgfSxcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MLFxyXG4gICAgICB3aWRnZXRzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAga2V5OiBjb2wsXHJcbiAgICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbEZyb21Db2x1bW5NZXRhKGNvbCksXHJcbiAgICAgICAgICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlNFTEVDVCxcclxuICAgICAgICAgIHZhbHVlTGlzdDogdGhpcy52aWV3IS5kZXNjcmlwdG9yIS5jb2x1bW5zLm1hcCgoY29sTWV0YTogR3JpZENvbHVtbk1ldGEpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiBjb2xNZXRhLmxhYmVsLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBjb2xNZXRhLnByb3BlcnR5TmFtZSxcclxuICAgICAgICAgICAgICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLklURU0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBmb3JtO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc3VibWl0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy52aWV3IS5vcmRlcmVkQ29sdW1uTmFtZXMgPSB0aGlzLmdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpO1xyXG4gICAgbGV0IGNvbmZpZyA9IHRoaXMuZGF0YS5jdXN0b21Db21wb25lbnRJbnB1dHMuY29uZmlnO1xyXG5cclxuICAgIGxldCB1cGRhdGVEYXRhOiBHcmlkVXBkYXRlRGF0YSA9IHtcclxuICAgICAgb3JkZXJCeUxpc3Q6IHRoaXMudmlldyEub3JkZXJCeUxpc3QsXHJcbiAgICAgIG9yZGVyZWRDb2x1bW5OYW1lczogdGhpcy52aWV3IS5vcmRlcmVkQ29sdW1uTmFtZXMsXHJcbiAgICB9O1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZGF0YS5jdXN0b21Db21wb25lbnRJbnB1dHMuY29uZmlnLnNlcnZpY2UudXBkYXRlKFxyXG4gICAgICBjb25maWcudXVpZCxcclxuICAgICAgY29uZmlnLmlkZW50aWZpZXIsXHJcbiAgICAgIHVwZGF0ZURhdGFcclxuICAgICk7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VXBkYXRlZE9yZGVyZWRDb2x1bW5zKCkge1xyXG4gICAgbGV0IHVwZGF0ZWRLZXlPcmRlciA9IHRoaXMuZm9ybXMhLm1hcCgoZm9ybTogU21hcnRGb3JtKSA9PiB7XHJcbiAgICAgIHJldHVybiBmb3JtLndpZGdldHNbMF0ua2V5ITtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZm9ybUNoaWxkcmVuPy5mb3JFYWNoKChjb21wOiBTbWFydGZvcm1Db21wb25lbnQpID0+IGNvbXAuc3VibWl0Rm9ybSgpKTtcclxuXHJcbiAgICBsZXQgdXBkYXRlZE9yZGVyZWRDb2x1bW5zID0gdXBkYXRlZEtleU9yZGVyIS5tYXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFt2YWx1ZV07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB1cGRhdGVkT3JkZXJlZENvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcE9yZGVyZWRDb2x1bW5zVG9PYmplY3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5tYXAoKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2luZGV4XSA9IHZhbHVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFsd2F5c1Nob3dDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3Py5kZXNjcmlwdG9yPy5jb2x1bW5zLmZvckVhY2goKGNvbDogR3JpZENvbHVtbk1ldGEpID0+IHtcclxuICAgICAgaWYgKGNvbC5hbHdheXNTaG93KSB7XHJcbiAgICAgICAgdGhpcy5hbHdheXNTaG93Q29sdW1ucy5wdXNoKGNvbC5wcm9wZXJ0eU5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzQWx3YXlzU2hvdyhjb2w6IFNtYXJ0Rm9ybSkge1xyXG4gICAgbGV0IGtleSA9IGNvbC53aWRnZXRzWzBdLmtleSE7XHJcblxyXG4gICAgaWYgKHRoaXMuYWx3YXlzU2hvd0NvbHVtbnMuaW5jbHVkZXModGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2tleV0pKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZWRpdC1jb2x1bW5zLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJleGFtcGxlLWxpc3RcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1tZXRhLXJvd1wiICpuZ0Zvcj1cImxldCBjb2wgb2YgZm9ybXNcIiBjZGtEcmFnIGNka0RyYWdMb2NrQXhpcz1cInlcIj5cclxuICAgICAgPHNtYXJ0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgaWNvbj1cImRyYWdfaGFuZGxlXCI+PC9zbWFydC1pY29uPlxyXG4gICAgICA8c21hcnRmb3JtIGNsYXNzPVwiZm9ybVwiICNmb3JtcyBbc21hcnRGb3JtXT1cImNvbFwiPjwvc21hcnRmb3JtPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJpc0Fsd2F5c1Nob3coY29sKSAmJiAodmlldz8ub3JkZXJlZENvbHVtbk5hbWVzKSEubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbHVtbihjb2wpXCJcclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYWRkLWJ0blwiICpuZ0lmPVwic2hvd0FkZEJ0blwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImFkZENvbHVtbigpXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi10b29sYmFyXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+IE3DqWdzZW0gPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlU2F2ZVwiIChjbGljayk9XCJzdWJtaXQoKVwiPlxyXG4gICAgICBNZW50w6lzXHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|