ontimize-web-ngx 15.0.0-beta.2 → 15.0.0-beta.3
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/lib/components/app-sidenav/o-app-sidenav.component.mjs +2 -2
- package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +3 -3
- package/esm2020/lib/components/grid/o-grid.component.mjs +5 -5
- package/esm2020/lib/components/input/combo/o-combo.component.mjs +2 -2
- package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +3 -3
- package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +2 -2
- package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +2 -2
- package/esm2020/lib/components/list/o-list.component.mjs +5 -14
- package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +3 -3
- package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +3 -3
- package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +3 -3
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +2 -2
- package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +3 -3
- package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +3 -3
- package/esm2020/lib/components/table/o-table.component.mjs +8 -8
- package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +2 -2
- package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +3 -3
- package/fesm2015/ontimize-web-ngx.mjs +42 -51
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +42 -51
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/list/o-list.component.d.ts +1 -3
- package/ontimize.scss +2 -72
- package/package.json +1 -1
- package/theme.scss +78 -89
- package/theming/addons/report-on-demand.scss +5 -1
- package/theming/ontimize-style-v8.scss +1 -1
- package/theming/styles/density.scss +37 -23
- package/theming/styles/ontimize-v8/o-form-field-style.scss +3 -2
- package/theming/styles/ontimize-v8/o-table-style.scss +1 -1
|
@@ -362,7 +362,7 @@ export class OFormLayoutTabGroupComponent {
|
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
OFormLayoutTabGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OFormLayoutTabGroupComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: forwardRef(() => OFormLayoutManagerBase) }], target: i0.ɵɵFactoryTarget.Component });
|
|
365
|
-
OFormLayoutTabGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OFormLayoutTabGroupComponent, selector: "o-form-layout-tabgroup", inputs: { title: "title", options: "options", stretchTabs: ["stretch-tabs", "stretchTabs"] }, outputs: { onMainTabSelected: "onMainTabSelected", onSelectedTabChange: "onSelectedTabChange", onCloseTab: "onCloseTab" }, host: { properties: { "class.o-form-layout-tabgroup": "true" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "tabsDirectives", predicate: OFormLayoutManagerContentDirective, descendants: true }], ngImport: i0, template: "<mat-tab-group #tabGroup oTabGroup=\"ontimize\" fxFill (selectedTabChange)=\"onTabSelectChange($event)\" [color]=\"color\"\n [backgroundColor]=\"backgroundColor\" [headerPosition]=\"headerPosition\" [@.disabled]=\"disableAnimation\" [mat-stretch-tabs]=\"stretchTabs\">\n <mat-tab label=\"{{ mainTabTitle | oTranslate }}\">\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab *ngFor=\"let tabData of data; let i = index\">\n <ng-template mat-tab-label>\n <span class=\"tab-label\" [class.modified]=\"isTabDataModified(tabData)\">\n <ng-container *ngIf=\"icon && isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"templateMatTabLabel && tabData.formDataByLabelColumns && !tabData.insertionMode \">\n <ng-container *ngTemplateOutlet=\"templateMatTabLabel;context:{$implicit:tabData.formDataByLabelColumns}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!templateMatTabLabel || tabData.insertionMode\">\n {{ tabData.label }}\n </ng-container>\n <ng-container *ngIf=\"icon && !isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <span class=\"gradient-layer\"></span>\n </span>\n <mat-icon (click)=\"closeTab(i)\" svgIcon=\"ontimize:close\"></mat-icon>\n </ng-template>\n <ng-template o-form-layout-manager-content [index]=\"i\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n<div *ngIf=\"showLoading | async\" class=\"spinner-container\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-progress-spinner mode=\"indeterminate\" strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.mdc-tab__ripple{display:none}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label{width:100%;max-width:120px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified{font-weight:700}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified:after{content:\"*\"}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab .mat-icon{height:14px;width:14px;font-size:8px;margin-left:6px;vertical-align:middle}.o-form-layout-tabgroup .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{flex:1 1 auto}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar{padding:0;top:0px!important}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar .mat-toolbar{box-shadow:none;border-radius:0}.o-form-layout-tabgroup .spinner-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:500;visibility:visible;opacity:1;transition:opacity .25s linear}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.OTabGroupDirective, selector: "[oTabGroup]", inputs: ["oTabGroup"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i7.OFormLayoutManagerContentDirective, selector: "[o-form-layout-manager-content]", inputs: ["index"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
365
|
+
OFormLayoutTabGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OFormLayoutTabGroupComponent, selector: "o-form-layout-tabgroup", inputs: { title: "title", options: "options", stretchTabs: ["stretch-tabs", "stretchTabs"] }, outputs: { onMainTabSelected: "onMainTabSelected", onSelectedTabChange: "onSelectedTabChange", onCloseTab: "onCloseTab" }, host: { properties: { "class.o-form-layout-tabgroup": "true" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "tabsDirectives", predicate: OFormLayoutManagerContentDirective, descendants: true }], ngImport: i0, template: "<mat-tab-group #tabGroup oTabGroup=\"ontimize\" fxFill (selectedTabChange)=\"onTabSelectChange($event)\" [color]=\"color\"\n [backgroundColor]=\"backgroundColor\" [headerPosition]=\"headerPosition\" [@.disabled]=\"disableAnimation\" [mat-stretch-tabs]=\"stretchTabs\">\n <mat-tab label=\"{{ mainTabTitle | oTranslate }}\">\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab *ngFor=\"let tabData of data; let i = index\">\n <ng-template mat-tab-label>\n <span class=\"tab-label\" [class.modified]=\"isTabDataModified(tabData)\">\n <ng-container *ngIf=\"icon && isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"templateMatTabLabel && tabData.formDataByLabelColumns && !tabData.insertionMode \">\n <ng-container *ngTemplateOutlet=\"templateMatTabLabel;context:{$implicit:tabData.formDataByLabelColumns}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!templateMatTabLabel || tabData.insertionMode\">\n {{ tabData.label }}\n </ng-container>\n <ng-container *ngIf=\"icon && !isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <span class=\"gradient-layer\"></span>\n </span>\n <mat-icon (click)=\"closeTab(i)\" svgIcon=\"ontimize:close\"></mat-icon>\n </ng-template>\n <ng-template o-form-layout-manager-content [index]=\"i\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n<div *ngIf=\"showLoading | async\" class=\"spinner-container\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-progress-spinner mode=\"indeterminate\" strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.mdc-tab__ripple{display:none}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label{width:100%;max-width:120px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified{font-weight:700}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified:after{content:\"*\"}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab .mat-icon{height:14px;width:14px;min-width:14px;font-size:8px;margin-left:6px;vertical-align:middle}.o-form-layout-tabgroup .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{flex:1 1 auto}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar{padding:0;top:0px!important}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar .mat-toolbar{box-shadow:none;border-radius:0}.o-form-layout-tabgroup .spinner-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:500;visibility:visible;opacity:1;transition:opacity .25s linear}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.OTabGroupDirective, selector: "[oTabGroup]", inputs: ["oTabGroup"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i7.OFormLayoutManagerContentDirective, selector: "[o-form-layout-manager-content]", inputs: ["index"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
366
366
|
__decorate([
|
|
367
367
|
BooleanInputConverter(),
|
|
368
368
|
__metadata("design:type", Boolean)
|
|
@@ -371,7 +371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
371
371
|
type: Component,
|
|
372
372
|
args: [{ selector: 'o-form-layout-tabgroup', inputs: DEFAULT_INPUTS_O_FORM_LAYOUT_TABGROUP, outputs: DEFAULT_OUTPUTS_O_FORM_LAYOUT_TABGROUP, encapsulation: ViewEncapsulation.None, host: {
|
|
373
373
|
'[class.o-form-layout-tabgroup]': 'true'
|
|
374
|
-
}, template: "<mat-tab-group #tabGroup oTabGroup=\"ontimize\" fxFill (selectedTabChange)=\"onTabSelectChange($event)\" [color]=\"color\"\n [backgroundColor]=\"backgroundColor\" [headerPosition]=\"headerPosition\" [@.disabled]=\"disableAnimation\" [mat-stretch-tabs]=\"stretchTabs\">\n <mat-tab label=\"{{ mainTabTitle | oTranslate }}\">\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab *ngFor=\"let tabData of data; let i = index\">\n <ng-template mat-tab-label>\n <span class=\"tab-label\" [class.modified]=\"isTabDataModified(tabData)\">\n <ng-container *ngIf=\"icon && isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"templateMatTabLabel && tabData.formDataByLabelColumns && !tabData.insertionMode \">\n <ng-container *ngTemplateOutlet=\"templateMatTabLabel;context:{$implicit:tabData.formDataByLabelColumns}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!templateMatTabLabel || tabData.insertionMode\">\n {{ tabData.label }}\n </ng-container>\n <ng-container *ngIf=\"icon && !isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <span class=\"gradient-layer\"></span>\n </span>\n <mat-icon (click)=\"closeTab(i)\" svgIcon=\"ontimize:close\"></mat-icon>\n </ng-template>\n <ng-template o-form-layout-manager-content [index]=\"i\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n<div *ngIf=\"showLoading | async\" class=\"spinner-container\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-progress-spinner mode=\"indeterminate\" strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.mdc-tab__ripple{display:none}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label{width:100%;max-width:120px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified{font-weight:700}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified:after{content:\"*\"}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab .mat-icon{height:14px;width:14px;font-size:8px;margin-left:6px;vertical-align:middle}.o-form-layout-tabgroup .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{flex:1 1 auto}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar{padding:0;top:0px!important}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar .mat-toolbar{box-shadow:none;border-radius:0}.o-form-layout-tabgroup .spinner-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:500;visibility:visible;opacity:1;transition:opacity .25s linear}\n"] }]
|
|
374
|
+
}, template: "<mat-tab-group #tabGroup oTabGroup=\"ontimize\" fxFill (selectedTabChange)=\"onTabSelectChange($event)\" [color]=\"color\"\n [backgroundColor]=\"backgroundColor\" [headerPosition]=\"headerPosition\" [@.disabled]=\"disableAnimation\" [mat-stretch-tabs]=\"stretchTabs\">\n <mat-tab label=\"{{ mainTabTitle | oTranslate }}\">\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab *ngFor=\"let tabData of data; let i = index\">\n <ng-template mat-tab-label>\n <span class=\"tab-label\" [class.modified]=\"isTabDataModified(tabData)\">\n <ng-container *ngIf=\"icon && isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"templateMatTabLabel && tabData.formDataByLabelColumns && !tabData.insertionMode \">\n <ng-container *ngTemplateOutlet=\"templateMatTabLabel;context:{$implicit:tabData.formDataByLabelColumns}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!templateMatTabLabel || tabData.insertionMode\">\n {{ tabData.label }}\n </ng-container>\n <ng-container *ngIf=\"icon && !isIconPositionLeft\">\n <mat-icon>{{ icon }}</mat-icon>\n </ng-container>\n <span class=\"gradient-layer\"></span>\n </span>\n <mat-icon (click)=\"closeTab(i)\" svgIcon=\"ontimize:close\"></mat-icon>\n </ng-template>\n <ng-template o-form-layout-manager-content [index]=\"i\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n<div *ngIf=\"showLoading | async\" class=\"spinner-container\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-progress-spinner mode=\"indeterminate\" strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.mdc-tab__ripple{display:none}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label{width:100%;max-width:120px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified{font-weight:700}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab span.tab-label.modified:after{content:\"*\"}.o-form-layout-tabgroup .mat-mdc-tab-group .mdc-tab .mat-icon{height:14px;width:14px;min-width:14px;font-size:8px;margin-left:6px;vertical-align:middle}.o-form-layout-tabgroup .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{flex:1 1 auto}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar{padding:0;top:0px!important}.o-form-layout-tabgroup .mat-mdc-tab-group o-form-toolbar .mat-toolbar{box-shadow:none;border-radius:0}.o-form-layout-tabgroup .spinner-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:500;visibility:visible;opacity:1;transition:opacity .25s linear}\n"] }]
|
|
375
375
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i9.OFormLayoutManagerBase, decorators: [{
|
|
376
376
|
type: Inject,
|
|
377
377
|
args: [forwardRef(() => OFormLayoutManagerBase)]
|
|
@@ -44,10 +44,10 @@ export class OLoadFilterDialogComponent {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
OLoadFilterDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OLoadFilterDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
OLoadFilterDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OLoadFilterDialogComponent, selector: "o-load-filter-dialog", viewQueries: [{ propertyName: "filterList", first: true, predicate: MatSelectionList, descendants: true, static: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList
|
|
47
|
+
OLoadFilterDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OLoadFilterDialogComponent, selector: "o-load-filter-dialog", viewQueries: [{ propertyName: "filterList", first: true, predicate: MatSelectionList, descendants: true, static: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList class=\"o-table-load-filter-dialog-list\">\n <mat-list-option *ngFor=\"let filter of filters \" [value]=\"filter.name\" checkboxPosition=\"before\">\n <span matListItemTitle class=\"o-table-load-filter-dialog-list-title\">{{ filter.name }}</span>\n <span matListItemLine>{{ filter.description }}</span>\n </mat-list-option>\n <mat-list-item *ngIf=\"filters.length === 0\">\n <span class=\"empty-filter-list\">{{ 'TABLE.DIALOG.EMPTY_FILTER_LIST' | oTranslate }}</span>\n </mat-list-item>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n (click)=\"removeFilter(filterList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">{{ 'DELETE' | oTranslate }}</button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">\n {{'TABLE.BUTTONS.APPLY' | oTranslate }}\n </button>\n</mat-dialog-actions>\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: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "pipe", type: i6.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OLoadFilterDialogComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
|
-
args: [{ selector: 'o-load-filter-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList
|
|
50
|
+
args: [{ selector: 'o-load-filter-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.FILTER_LOAD' | oTranslate }}</span>\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.LOAD_FILTER' | oTranslate }}</div>\n <mat-selection-list #filterList class=\"o-table-load-filter-dialog-list\">\n <mat-list-option *ngFor=\"let filter of filters \" [value]=\"filter.name\" checkboxPosition=\"before\">\n <span matListItemTitle class=\"o-table-load-filter-dialog-list-title\">{{ filter.name }}</span>\n <span matListItemLine>{{ filter.description }}</span>\n </mat-list-option>\n <mat-list-item *ngIf=\"filters.length === 0\">\n <span class=\"empty-filter-list\">{{ 'TABLE.DIALOG.EMPTY_FILTER_LIST' | oTranslate }}</span>\n </mat-list-item>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n (click)=\"removeFilter(filterList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">{{ 'DELETE' | oTranslate }}</button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"filterList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">\n {{'TABLE.BUTTONS.APPLY' | oTranslate }}\n </button>\n</mat-dialog-actions>\n" }]
|
|
51
51
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
52
52
|
type: Inject,
|
|
53
53
|
args: [MAT_DIALOG_DATA]
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
55
55
|
type: ViewChild,
|
|
56
56
|
args: [MatSelectionList, { static: true }]
|
|
57
57
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1sb2FkLWZpbHRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2ZpbHRlci9sb2FkLWZpbHRlci9vLWxvYWQtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZmlsdGVyL2xvYWQtZmlsdGVyL28tbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBR1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUNTLFNBQW1ELEVBQ2pDLElBQTJCLEVBQzFDLFFBQWtCO1FBRnJCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBRWhELGFBQVEsR0FBUixRQUFRLENBQVU7UUFWOUIsWUFBTyxHQUEwQixFQUFFLENBQUM7UUFFcEMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVWxELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsYUFBb0MsQ0FBQyxDQUFDO1FBQzVGLElBQUk7WUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFvQixpQkFBNEMsQ0FBQyxDQUFDO1NBQzlGO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FFWDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWdCLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBOEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzNFLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEYsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQTdDVSwwQkFBMEIsOENBYTNCLGVBQWU7MkdBYmQsMEJBQTBCLHdHQUUxQixnQkFBZ0IsOERDekI3QiwwOUNBd0JBOzJGRERhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs7MEJBZTVDLE1BQU07MkJBQUMsZUFBZTttRUFYc0IsVUFBVTtzQkFBeEQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUZpbHRlcnNTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWZpbHRlci1zdGF0dXMudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tbG9hZC1maWx0ZXItZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT0xvYWRGaWx0ZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwgeyBzdGF0aWM6IHRydWUgfSkgZmlsdGVyTGlzdDogTWF0U2VsZWN0aW9uTGlzdDtcblxuICBmaWx0ZXJzOiBPVGFibGVGaWx0ZXJzU3RhdHVzW10gPSBbXTtcblxuICBvbkRlbGV0ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGF0YTogT1RhYmxlRmlsdGVyc1N0YXR1c1tdLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5sb2FkRmlsdGVycyhkYXRhKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxEaWFsb2dTZXJ2aWNlPihEaWFsb2dTZXJ2aWNlIGFzIFR5cGU8RGlhbG9nU2VydmljZT4pO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmNkID0gdGhpcy5pbmplY3Rvci5nZXQ8Q2hhbmdlRGV0ZWN0b3JSZWY+KENoYW5nZURldGVjdG9yUmVmIGFzIFR5cGU8Q2hhbmdlRGV0ZWN0b3JSZWY+KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBubyBwYXJlbnQgZm9ybVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyTGlzdC5zZWxlY3RlZE9wdGlvbnMgPSBuZXcgU2VsZWN0aW9uTW9kZWw8TWF0TGlzdE9wdGlvbj4oZmFsc2UpO1xuICB9XG5cbiAgbG9hZEZpbHRlcnMoZmlsdGVyczogT1RhYmxlRmlsdGVyc1N0YXR1c1tdKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmlsdGVyTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkOiBNYXRMaXN0T3B0aW9uW10gPSB0aGlzLmZpbHRlckxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIHJldHVybiBzZWxlY3RlZC5sZW5ndGggPyBzZWxlY3RlZFswXS52YWx1ZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHJlbW92ZUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybSgnQ09ORklSTScsICdUQUJMRS5ESUFMT0cuQ09ORklSTV9SRU1PVkVfRklMVEVSJykudGhlbihyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLm9uRGVsZXRlLmVtaXQoZmlsdGVyTmFtZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuRklMVEVSX0xPQUQnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgPGRpdiBtYXQtc3ViaGVhZGVyPnt7ICdUQUJMRS5ESUFMT0cuTE9BRF9GSUxURVInIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LXNlbGVjdGlvbi1saXN0ICNmaWx0ZXJMaXN0IGNsYXNzPVwiby10YWJsZS1sb2FkLWZpbHRlci1kaWFsb2ctbGlzdFwiPlxuICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXJzIFwiIFt2YWx1ZV09XCJmaWx0ZXIubmFtZVwiIGNoZWNrYm94UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtVGl0bGUgY2xhc3M9XCJvLXRhYmxlLWxvYWQtZmlsdGVyLWRpYWxvZy1saXN0LXRpdGxlXCI+e3sgZmlsdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbUxpbmU+e3sgZmlsdGVyLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwiZmlsdGVycy5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZW1wdHktZmlsdGVyLWxpc3RcIj57eyAnVEFCTEUuRElBTE9HLkVNUFRZX0ZJTFRFUl9MSVNUJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZmlsdGVyTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoIT09MVwiXG4gICAgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihmaWx0ZXJMaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZFswXS52YWx1ZSlcIiBjbGFzcz1cIm8tYnV0dG9uLWRhbmdlclwiPnt7ICdERUxFVEUnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZmFsc2VcIiBjbGFzcz1cIm8tYnV0dG9uLWRlZmF1bHQgY2FuY2VsXCI+e3sgJ0NBTkNFTCcgfCBvVHJhbnNsYXRlIH19PC9idXR0b24+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImZpbHRlckxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aCE9PTFcIlxuICAgIGNsYXNzPVwiby1idXR0b24tcHJpbWFyeVwiPlxuICAgIHt7J1RBQkxFLkJVVFRPTlMuQVBQTFknIHwgb1RyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|