ngx-bimplus-components 0.0.63 → 0.0.64
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/assets/languages/strings_en.json +5 -1
- package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-sidenav/bimplus-sidenav.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +1 -1
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +6 -3
- package/fesm2022/ngx-bimplus-components.mjs +10 -7
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -2341,5 +2341,9 @@
|
|
|
2341
2341
|
"_Allplan_Autoconverter": "Allplan Autoconverter",
|
|
2342
2342
|
"_Autoconverter": "Autoconverter",
|
|
2343
2343
|
"_Autoconverter_data_confirmation_message": "By confirmation you agree your personal data to be shared with Allplan for multiple purposes. This may include for example invoicing, delivery of your purchases, providing services including customer service, managing and analysing consumer data, credit checks and managing product marketing related information.",
|
|
2344
|
-
"_No valid models available": "No valid models available."
|
|
2344
|
+
"_No valid models available": "No valid models available.",
|
|
2345
|
+
"_Select_an_object_using_Object_Picker": "Select an object using Object Picker and choose one or more properties to add the filter criteria then click APPLY.",
|
|
2346
|
+
"_Object_Picker": "Object Picker",
|
|
2347
|
+
"_Connection_Designer": "Connection Designer",
|
|
2348
|
+
"_Don_t_refresh_or_close_this_page": "Don't refresh or close this page."
|
|
2345
2349
|
}
|
package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs
CHANGED
|
@@ -199,7 +199,7 @@ export class BimplusObjectNavigatorComponent extends BimplusLocalizedWidgetCompo
|
|
|
199
199
|
return filter;
|
|
200
200
|
}
|
|
201
201
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusObjectNavigatorComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
202
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusObjectNavigatorComponent, isStandalone: true, selector: "lib-bimplus-object-navigator", inputs: { hideFilterContextMenu: "hideFilterContextMenu", filterContextMenu: "filterContextMenu", filterTypes: "filterTypes", filters: "filters", api: "api", projectId: "projectId", selectedObjectId: "selectedObjectId", selectedObjects: "selectedObjects", selectionObject: "selectionObject" }, outputs: { filterCriteriaSelectionModeChanged: "filterCriteriaSelectionModeChanged", filterResultObjectSelectionChanged: "filterResultObjectSelectionChanged", filterResultObjectDoubleClicked: "filterResultObjectDoubleClicked", filterResultObjectMouseEntered: "filterResultObjectMouseEntered", filterResultObjectMouseLeft: "filterResultObjectMouseLeft" }, host: { properties: { "class.object-navigator": "this.objNavClassClass" } }, usesInheritance: true, ngImport: i0, template: "<lib-bimplus-sidenav-drawer-content [header]=\"'_Object navigator' | translate\"\n [isLoading]=\"isLoadingResults\"\n [loadingSpinnerText]=\"'_Loading_Filter_Results' | translate\"\n>\n <div class=\"object-navigator-content-container\">\n @if(filterTypes.length>0){\n <div class=\"object-navigator-filters-type\">\n <ng-select data-test=\"object-navigator-filter-types-dropdown\" class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilterType\" [clearable]=\"false\" [searchable]=\"false\">\n <ng-option *ngFor=\"let type of filterTypes\" [value]=\"type\">{{type.name}}</ng-option>\n </ng-select>\n </div>\n <div class=\"object-navigator-filters-name\">\n <ng-select class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilter\" [clearable]=\"false\" [disabled]=\"!filters\" [searchable]=\"false\">\n <ng-option *ngFor=\"let filter of filters\" [value]=\"filter\">{{filter.name}}</ng-option>\n </ng-select>\n\n @if(!hideFilterContextMenu){\n <lib-bimplus-context-menu class=\"object-navigator-filters-name-context-menu\"\n [items]=\"filterContextMenu\"\n *ngIf=\"filterContextMenu?.length\"\n >\n </lib-bimplus-context-menu>\n }\n\n </div>\n\n <lib-expansion-panel class=\"object-navigator-filter-criteria-panel\">\n <lib-expansion-panel-header>\n <span class=\"object-navigator-filter-criteria-header\">\n {{\"_Assign_Objects_Selection_Mode\" | translate}} ({{filterCriteria.length}})\n </span>\n <lib-expansion-panel-header-actions>\n <div class=\"object-navigator-pick-object-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectObjectProperties? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectObjectProperties)\"\n ></div>\n <!-- Commented until functionality will be implemented\n <div class=\"object-navigator-select-attributes-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectAttributes? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectAttributes)\"\n ></div>-->\n </lib-expansion-panel-header-actions>\n </lib-expansion-panel-header>\n\n <div class=\"filter-criteria-container\">\n @for (criterium of filterCriteria; track criterium; let i = $index) {\n <app-filter-criterium\n [criterium] = \"criterium\"\n [indent]=\"i*0.8\"\n (deleteCriterium)=\"deleteFilterCriterium(i)\"\n ></app-filter-criterium>\n }\n </div>\n </lib-expansion-panel>\n\n <div class=\"object-navigator-apply-button-row\">\n <button class=\"primary-button\" [ngClass]=\"filterCriteria.length===0 ? 'disabled' : ''\" (click)=\"applyFilter()\"> {{\"_Apply filter\" | translate}} </button>\n </div>\n\n <div class=\"object-navigator-separator\"></div>\n\n @switch(filterCriteriaSelectionMode$.getValue()){\n @case(FilterCriteriaSelectionMode.SelectObjectProperties){\n @if(!selectedObjectId){\n <p id=\"NoObjectSelected\">{{ \"_NoObjectSelected\" | translate}}</p>\n }@else{\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-criteria-select-object-properties\n [api]=\"api\"\n [selectedLanguage]=\"selectedLanguage\"\n [localizedStrings]=\"localizedStrings\"\n [(filterCriteria)]=\"filterCriteria\"\n [rootObjectId]=\"selectedObjectId\"\n (filterCriteriaChange)=\"activateModifiedCustomFilter()\"\n >\n </lib-criteria-select-object-properties>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n @case(FilterCriteriaSelectionMode.SelectAttributes){\n\n }\n @default{\n @if (filterResult) {\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-object-filter-result\n [filterResult]=\"filterResult\"\n [selectedObjects]=\"selectedObjects\"\n (nodeSelectionChanged)=\"handleFilterResultSelectionChanged($event)\"\n (nodeDoubleClicked)=\"handleFilterResulObjectDoubleClicked($event)\"\n (nodeMouseEntered)=\"handleFilterResulObjectMouseEntered($event)\"\n (nodeMouseLeft)=\"handleFilterResulObjectMouseLeft($event)\"\n ></lib-object-filter-result>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n }\n }\n @else {\n <div data-test=\"object-navigator-no-filter-types-message\" class=\"object-navigator-no-filter-types\"> {{\"_No visible models found\" | translate}} </div>\n }\n </div>\n</lib-bimplus-sidenav-drawer-content>\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:0;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f;background-color:#f5f5f5}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#fff1eb;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5f5f5}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#fff1eb;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#fff1eb}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5f5f5;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.primary-button{text-transform:uppercase;font: 700 1rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;display:inline-block;margin-left:.8rem;height:2.4rem;white-space:nowrap;border-radius:.2rem;vertical-align:middle;font-size:1.2rem;border:solid .2rem #fe5000;color:#fff;background-color:#fe5000;cursor:pointer}.primary-button:hover{border:solid .2rem #eb4b00;color:#fff;background-color:#eb4b00;outline:0}.primary-button.disabled{border:solid .2rem #bababa;color:#fff;background-color:#bababa;cursor:default}:host{display:flex}lib-bimplus-sidenav-drawer-content{width:100%;max-height:100%;display:flex;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container{display:flex;flex-direction:column;width:100%;max-height:100%;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem;display:flex;flex-direction:row}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown{flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-filters-name-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: 2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filter-criteria-panel{flex:0;padding-top:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-apply-button-row{flex:0;display:flex;margin-top:.8rem;margin-bottom:.8rem;justify-content:flex-end}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-separator{flex:0;border-top:solid .078125em #d4d4d4;padding-bottom:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container{position:relative;flex:1;width:100%;display:flex;flex-direction:column}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container>lib-bimplus-scrollable-container{position:absolute;top:0;bottom:0;flex:1;width:100%}.filter-criteria-container{display:flex;flex-direction:column;width:calc(100% - 2.4rem);padding-left:2.4rem;height:14.4rem}:host(.object-navigator){height:100%;width:100%}.object-navigator-filter-action-buttons{width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6z\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6S10.6 5 11.5 5c.9 0 1.6.7 1.6 1.6z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-pick-object-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-pick-object-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-filter-criteria-header{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i4.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "component", type: FilterCriteriumComponent, selector: "app-filter-criterium", inputs: ["criterium", "indent"], outputs: ["deleteCriterium"] }, { kind: "component", type: ExpansionPanelComponent, selector: "lib-expansion-panel", inputs: ["expanded"] }, { kind: "component", type: ExpansionPanelHeaderComponent, selector: "lib-expansion-panel-header" }, { kind: "component", type: ExpansionPanelHeaderActionsComponent, selector: "lib-expansion-panel-header-actions" }, { kind: "component", type: BimplusSidenavDrawerContentComponent, selector: "lib-bimplus-sidenav-drawer-content", inputs: ["header", "isLoading", "loadingSpinnerText"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: CriteriaSelectObjectPropertiesComponent, selector: "lib-criteria-select-object-properties", inputs: ["api", "rootObjectId", "revision", "filterCriteria"], outputs: ["filterCriteriaChange"] }, { kind: "component", type: BimplusContextMenuComponent, selector: "lib-bimplus-context-menu", inputs: ["showIcons", "triggerTitle", "items", "data"], outputs: ["triggerSelected"] }, { kind: "component", type: ObjectFilterResultComponent, selector: "lib-object-filter-result", inputs: ["filterResult", "selectedObjects"], outputs: ["nodeSelectionChanged", "nodeDoubleClicked", "nodeMouseEntered", "nodeMouseLeft"] }, { kind: "component", type: BimplusScrollableContainerComponent, selector: "lib-bimplus-scrollable-container" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
202
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusObjectNavigatorComponent, isStandalone: true, selector: "lib-bimplus-object-navigator", inputs: { hideFilterContextMenu: "hideFilterContextMenu", filterContextMenu: "filterContextMenu", filterTypes: "filterTypes", filters: "filters", api: "api", projectId: "projectId", selectedObjectId: "selectedObjectId", selectedObjects: "selectedObjects", selectionObject: "selectionObject" }, outputs: { filterCriteriaSelectionModeChanged: "filterCriteriaSelectionModeChanged", filterResultObjectSelectionChanged: "filterResultObjectSelectionChanged", filterResultObjectDoubleClicked: "filterResultObjectDoubleClicked", filterResultObjectMouseEntered: "filterResultObjectMouseEntered", filterResultObjectMouseLeft: "filterResultObjectMouseLeft" }, host: { properties: { "class.object-navigator": "this.objNavClassClass" } }, usesInheritance: true, ngImport: i0, template: "<lib-bimplus-sidenav-drawer-content [header]=\"'_Object navigator' | translate\"\n [isLoading]=\"isLoadingResults\"\n [loadingSpinnerText]=\"'_Loading_Filter_Results' | translate\"\n>\n <div class=\"object-navigator-content-container\">\n <div class=\"description\">\n {{\"_Select_an_object_using_Object_Picker\" | translate}}\n </div>\n @if(filterTypes.length>0){\n <div class=\"object-navigator-filters-type\">\n <ng-select data-test=\"object-navigator-filter-types-dropdown\" class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilterType\" [clearable]=\"false\" [searchable]=\"false\">\n <ng-option *ngFor=\"let type of filterTypes\" [value]=\"type\">{{type.name}}</ng-option>\n </ng-select>\n </div>\n <div class=\"object-navigator-filters-name\">\n <ng-select class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilter\" [clearable]=\"false\" [disabled]=\"!filters\" [searchable]=\"false\">\n <ng-option *ngFor=\"let filter of filters\" [value]=\"filter\">{{filter.name}}</ng-option>\n </ng-select>\n\n @if(!hideFilterContextMenu){\n <lib-bimplus-context-menu class=\"object-navigator-filters-name-context-menu\"\n [items]=\"filterContextMenu\"\n *ngIf=\"filterContextMenu?.length\"\n >\n </lib-bimplus-context-menu>\n }\n\n </div>\n\n <lib-expansion-panel class=\"object-navigator-filter-criteria-panel\">\n <lib-expansion-panel-header>\n <span class=\"object-navigator-filter-criteria-header\">\n {{\"_Assign_Objects_Selection_Mode\" | translate}} ({{filterCriteria.length}})\n </span>\n <lib-expansion-panel-header-actions>\n <div class=\"object-navigator-pick-object-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectObjectProperties? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectObjectProperties)\"\n [title]=\"'_Object_Picker'| translate\"\n ></div>\n <!-- Commented until functionality will be implemented\n <div class=\"object-navigator-select-attributes-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectAttributes? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectAttributes)\"\n ></div>-->\n </lib-expansion-panel-header-actions>\n </lib-expansion-panel-header>\n\n <div class=\"filter-criteria-container\">\n @for (criterium of filterCriteria; track criterium; let i = $index) {\n <app-filter-criterium\n [criterium] = \"criterium\"\n [indent]=\"i*0.8\"\n (deleteCriterium)=\"deleteFilterCriterium(i)\"\n ></app-filter-criterium>\n }\n </div>\n </lib-expansion-panel>\n\n <div class=\"object-navigator-apply-button-row\">\n <button class=\"primary-button\" [ngClass]=\"filterCriteria.length===0 ? 'disabled' : ''\" (click)=\"applyFilter()\"> {{\"_Apply filter\" | translate}} </button>\n </div>\n\n <div class=\"object-navigator-separator\"></div>\n\n @switch(filterCriteriaSelectionMode$.getValue()){\n @case(FilterCriteriaSelectionMode.SelectObjectProperties){\n @if(!selectedObjectId){\n <p id=\"NoObjectSelected\">{{ \"_NoObjectSelected\" | translate}}</p>\n }@else{\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-criteria-select-object-properties\n [api]=\"api\"\n [selectedLanguage]=\"selectedLanguage\"\n [localizedStrings]=\"localizedStrings\"\n [(filterCriteria)]=\"filterCriteria\"\n [rootObjectId]=\"selectedObjectId\"\n (filterCriteriaChange)=\"activateModifiedCustomFilter()\"\n >\n </lib-criteria-select-object-properties>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n @case(FilterCriteriaSelectionMode.SelectAttributes){\n\n }\n @default{\n @if (filterResult) {\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-object-filter-result\n [filterResult]=\"filterResult\"\n [selectedObjects]=\"selectedObjects\"\n (nodeSelectionChanged)=\"handleFilterResultSelectionChanged($event)\"\n (nodeDoubleClicked)=\"handleFilterResulObjectDoubleClicked($event)\"\n (nodeMouseEntered)=\"handleFilterResulObjectMouseEntered($event)\"\n (nodeMouseLeft)=\"handleFilterResulObjectMouseLeft($event)\"\n ></lib-object-filter-result>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n }\n }\n @else {\n <div data-test=\"object-navigator-no-filter-types-message\" class=\"object-navigator-no-filter-types\"> {{\"_No visible models found\" | translate}} </div>\n }\n </div>\n</lib-bimplus-sidenav-drawer-content>\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:0;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f;background-color:#f5f5f5}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#fff1eb;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5f5f5}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#fff1eb;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#fff1eb}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5f5f5;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.primary-button{text-transform:uppercase;font: 700 1rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;display:inline-block;margin-left:.8rem;height:2.4rem;white-space:nowrap;border-radius:.2rem;vertical-align:middle;font-size:1.2rem;border:solid .2rem #fe5000;color:#fff;background-color:#fe5000;cursor:pointer}.primary-button:hover{border:solid .2rem #eb4b00;color:#fff;background-color:#eb4b00;outline:0}.primary-button.disabled{border:solid .2rem #bababa;color:#fff;background-color:#bababa;cursor:default}:host{display:flex}lib-bimplus-sidenav-drawer-content{width:100%;max-height:100%;display:flex;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container{display:flex;flex-direction:column;width:100%;max-height:100%;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.description{margin-bottom:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem;display:flex;flex-direction:row}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown{flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-filters-name-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: 2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filter-criteria-panel{flex:0;padding-top:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-apply-button-row{flex:0;display:flex;margin-top:.8rem;margin-bottom:.8rem;justify-content:flex-end}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-separator{flex:0;border-top:solid .078125em #d4d4d4;padding-bottom:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container{position:relative;flex:1;width:100%;display:flex;flex-direction:column}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container>lib-bimplus-scrollable-container{position:absolute;top:0;bottom:0;flex:1;width:100%}.filter-criteria-container{display:flex;flex-direction:column;width:calc(100% - 2.4rem);padding-left:2.4rem;height:14.4rem}:host(.object-navigator){height:100%;width:100%}.object-navigator-filter-action-buttons{width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6z\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6S10.6 5 11.5 5c.9 0 1.6.7 1.6 1.6z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-pick-object-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-pick-object-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-filter-criteria-header{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i4.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "component", type: FilterCriteriumComponent, selector: "app-filter-criterium", inputs: ["criterium", "indent"], outputs: ["deleteCriterium"] }, { kind: "component", type: ExpansionPanelComponent, selector: "lib-expansion-panel", inputs: ["expanded"] }, { kind: "component", type: ExpansionPanelHeaderComponent, selector: "lib-expansion-panel-header" }, { kind: "component", type: ExpansionPanelHeaderActionsComponent, selector: "lib-expansion-panel-header-actions" }, { kind: "component", type: BimplusSidenavDrawerContentComponent, selector: "lib-bimplus-sidenav-drawer-content", inputs: ["header", "isLoading", "loadingSpinnerText"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: CriteriaSelectObjectPropertiesComponent, selector: "lib-criteria-select-object-properties", inputs: ["api", "rootObjectId", "revision", "filterCriteria"], outputs: ["filterCriteriaChange"] }, { kind: "component", type: BimplusContextMenuComponent, selector: "lib-bimplus-context-menu", inputs: ["showIcons", "triggerTitle", "items", "data"], outputs: ["triggerSelected"] }, { kind: "component", type: ObjectFilterResultComponent, selector: "lib-object-filter-result", inputs: ["filterResult", "selectedObjects"], outputs: ["nodeSelectionChanged", "nodeDoubleClicked", "nodeMouseEntered", "nodeMouseLeft"] }, { kind: "component", type: BimplusScrollableContainerComponent, selector: "lib-bimplus-scrollable-container" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
203
203
|
}
|
|
204
204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusObjectNavigatorComponent, decorators: [{
|
|
205
205
|
type: Component,
|
|
@@ -216,7 +216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
216
216
|
BimplusContextMenuComponent,
|
|
217
217
|
ObjectFilterResultComponent,
|
|
218
218
|
BimplusScrollableContainerComponent
|
|
219
|
-
], encapsulation: ViewEncapsulation.ShadowDom, template: "<lib-bimplus-sidenav-drawer-content [header]=\"'_Object navigator' | translate\"\n [isLoading]=\"isLoadingResults\"\n [loadingSpinnerText]=\"'_Loading_Filter_Results' | translate\"\n>\n <div class=\"object-navigator-content-container\">\n @if(filterTypes.length>0){\n <div class=\"object-navigator-filters-type\">\n <ng-select data-test=\"object-navigator-filter-types-dropdown\" class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilterType\" [clearable]=\"false\" [searchable]=\"false\">\n <ng-option *ngFor=\"let type of filterTypes\" [value]=\"type\">{{type.name}}</ng-option>\n </ng-select>\n </div>\n <div class=\"object-navigator-filters-name\">\n <ng-select class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilter\" [clearable]=\"false\" [disabled]=\"!filters\" [searchable]=\"false\">\n <ng-option *ngFor=\"let filter of filters\" [value]=\"filter\">{{filter.name}}</ng-option>\n </ng-select>\n\n @if(!hideFilterContextMenu){\n <lib-bimplus-context-menu class=\"object-navigator-filters-name-context-menu\"\n [items]=\"filterContextMenu\"\n *ngIf=\"filterContextMenu?.length\"\n >\n </lib-bimplus-context-menu>\n }\n\n </div>\n\n <lib-expansion-panel class=\"object-navigator-filter-criteria-panel\">\n <lib-expansion-panel-header>\n <span class=\"object-navigator-filter-criteria-header\">\n {{\"_Assign_Objects_Selection_Mode\" | translate}} ({{filterCriteria.length}})\n </span>\n <lib-expansion-panel-header-actions>\n <div class=\"object-navigator-pick-object-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectObjectProperties? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectObjectProperties)\"\n ></div>\n <!-- Commented until functionality will be implemented\n <div class=\"object-navigator-select-attributes-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectAttributes? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectAttributes)\"\n ></div>-->\n </lib-expansion-panel-header-actions>\n </lib-expansion-panel-header>\n\n <div class=\"filter-criteria-container\">\n @for (criterium of filterCriteria; track criterium; let i = $index) {\n <app-filter-criterium\n [criterium] = \"criterium\"\n [indent]=\"i*0.8\"\n (deleteCriterium)=\"deleteFilterCriterium(i)\"\n ></app-filter-criterium>\n }\n </div>\n </lib-expansion-panel>\n\n <div class=\"object-navigator-apply-button-row\">\n <button class=\"primary-button\" [ngClass]=\"filterCriteria.length===0 ? 'disabled' : ''\" (click)=\"applyFilter()\"> {{\"_Apply filter\" | translate}} </button>\n </div>\n\n <div class=\"object-navigator-separator\"></div>\n\n @switch(filterCriteriaSelectionMode$.getValue()){\n @case(FilterCriteriaSelectionMode.SelectObjectProperties){\n @if(!selectedObjectId){\n <p id=\"NoObjectSelected\">{{ \"_NoObjectSelected\" | translate}}</p>\n }@else{\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-criteria-select-object-properties\n [api]=\"api\"\n [selectedLanguage]=\"selectedLanguage\"\n [localizedStrings]=\"localizedStrings\"\n [(filterCriteria)]=\"filterCriteria\"\n [rootObjectId]=\"selectedObjectId\"\n (filterCriteriaChange)=\"activateModifiedCustomFilter()\"\n >\n </lib-criteria-select-object-properties>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n @case(FilterCriteriaSelectionMode.SelectAttributes){\n\n }\n @default{\n @if (filterResult) {\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-object-filter-result\n [filterResult]=\"filterResult\"\n [selectedObjects]=\"selectedObjects\"\n (nodeSelectionChanged)=\"handleFilterResultSelectionChanged($event)\"\n (nodeDoubleClicked)=\"handleFilterResulObjectDoubleClicked($event)\"\n (nodeMouseEntered)=\"handleFilterResulObjectMouseEntered($event)\"\n (nodeMouseLeft)=\"handleFilterResulObjectMouseLeft($event)\"\n ></lib-object-filter-result>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n }\n }\n @else {\n <div data-test=\"object-navigator-no-filter-types-message\" class=\"object-navigator-no-filter-types\"> {{\"_No visible models found\" | translate}} </div>\n }\n </div>\n</lib-bimplus-sidenav-drawer-content>\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:0;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f;background-color:#f5f5f5}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#fff1eb;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5f5f5}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#fff1eb;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#fff1eb}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5f5f5;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.primary-button{text-transform:uppercase;font: 700 1rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;display:inline-block;margin-left:.8rem;height:2.4rem;white-space:nowrap;border-radius:.2rem;vertical-align:middle;font-size:1.2rem;border:solid .2rem #fe5000;color:#fff;background-color:#fe5000;cursor:pointer}.primary-button:hover{border:solid .2rem #eb4b00;color:#fff;background-color:#eb4b00;outline:0}.primary-button.disabled{border:solid .2rem #bababa;color:#fff;background-color:#bababa;cursor:default}:host{display:flex}lib-bimplus-sidenav-drawer-content{width:100%;max-height:100%;display:flex;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container{display:flex;flex-direction:column;width:100%;max-height:100%;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem;display:flex;flex-direction:row}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown{flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-filters-name-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: 2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filter-criteria-panel{flex:0;padding-top:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-apply-button-row{flex:0;display:flex;margin-top:.8rem;margin-bottom:.8rem;justify-content:flex-end}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-separator{flex:0;border-top:solid .078125em #d4d4d4;padding-bottom:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container{position:relative;flex:1;width:100%;display:flex;flex-direction:column}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container>lib-bimplus-scrollable-container{position:absolute;top:0;bottom:0;flex:1;width:100%}.filter-criteria-container{display:flex;flex-direction:column;width:calc(100% - 2.4rem);padding-left:2.4rem;height:14.4rem}:host(.object-navigator){height:100%;width:100%}.object-navigator-filter-action-buttons{width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6z\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6S10.6 5 11.5 5c.9 0 1.6.7 1.6 1.6z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-pick-object-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-pick-object-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-filter-criteria-header{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"] }]
|
|
219
|
+
], encapsulation: ViewEncapsulation.ShadowDom, template: "<lib-bimplus-sidenav-drawer-content [header]=\"'_Object navigator' | translate\"\n [isLoading]=\"isLoadingResults\"\n [loadingSpinnerText]=\"'_Loading_Filter_Results' | translate\"\n>\n <div class=\"object-navigator-content-container\">\n <div class=\"description\">\n {{\"_Select_an_object_using_Object_Picker\" | translate}}\n </div>\n @if(filterTypes.length>0){\n <div class=\"object-navigator-filters-type\">\n <ng-select data-test=\"object-navigator-filter-types-dropdown\" class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilterType\" [clearable]=\"false\" [searchable]=\"false\">\n <ng-option *ngFor=\"let type of filterTypes\" [value]=\"type\">{{type.name}}</ng-option>\n </ng-select>\n </div>\n <div class=\"object-navigator-filters-name\">\n <ng-select class=\"object-navigator-dropdown\" [(ngModel)]=\"activeFilter\" [clearable]=\"false\" [disabled]=\"!filters\" [searchable]=\"false\">\n <ng-option *ngFor=\"let filter of filters\" [value]=\"filter\">{{filter.name}}</ng-option>\n </ng-select>\n\n @if(!hideFilterContextMenu){\n <lib-bimplus-context-menu class=\"object-navigator-filters-name-context-menu\"\n [items]=\"filterContextMenu\"\n *ngIf=\"filterContextMenu?.length\"\n >\n </lib-bimplus-context-menu>\n }\n\n </div>\n\n <lib-expansion-panel class=\"object-navigator-filter-criteria-panel\">\n <lib-expansion-panel-header>\n <span class=\"object-navigator-filter-criteria-header\">\n {{\"_Assign_Objects_Selection_Mode\" | translate}} ({{filterCriteria.length}})\n </span>\n <lib-expansion-panel-header-actions>\n <div class=\"object-navigator-pick-object-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectObjectProperties? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectObjectProperties)\"\n [title]=\"'_Object_Picker'| translate\"\n ></div>\n <!-- Commented until functionality will be implemented\n <div class=\"object-navigator-select-attributes-button\"\n [ngClass]=\"filterCriteriaSelectionMode$.getValue() === FilterCriteriaSelectionMode.SelectAttributes? 'active' : ''\"\n (click)=\"setFilterCriteriaSelectionMode(FilterCriteriaSelectionMode.SelectAttributes)\"\n ></div>-->\n </lib-expansion-panel-header-actions>\n </lib-expansion-panel-header>\n\n <div class=\"filter-criteria-container\">\n @for (criterium of filterCriteria; track criterium; let i = $index) {\n <app-filter-criterium\n [criterium] = \"criterium\"\n [indent]=\"i*0.8\"\n (deleteCriterium)=\"deleteFilterCriterium(i)\"\n ></app-filter-criterium>\n }\n </div>\n </lib-expansion-panel>\n\n <div class=\"object-navigator-apply-button-row\">\n <button class=\"primary-button\" [ngClass]=\"filterCriteria.length===0 ? 'disabled' : ''\" (click)=\"applyFilter()\"> {{\"_Apply filter\" | translate}} </button>\n </div>\n\n <div class=\"object-navigator-separator\"></div>\n\n @switch(filterCriteriaSelectionMode$.getValue()){\n @case(FilterCriteriaSelectionMode.SelectObjectProperties){\n @if(!selectedObjectId){\n <p id=\"NoObjectSelected\">{{ \"_NoObjectSelected\" | translate}}</p>\n }@else{\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-criteria-select-object-properties\n [api]=\"api\"\n [selectedLanguage]=\"selectedLanguage\"\n [localizedStrings]=\"localizedStrings\"\n [(filterCriteria)]=\"filterCriteria\"\n [rootObjectId]=\"selectedObjectId\"\n (filterCriteriaChange)=\"activateModifiedCustomFilter()\"\n >\n </lib-criteria-select-object-properties>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n @case(FilterCriteriaSelectionMode.SelectAttributes){\n\n }\n @default{\n @if (filterResult) {\n <div class=\"scrollable-content-container\">\n <lib-bimplus-scrollable-container>\n <lib-object-filter-result\n [filterResult]=\"filterResult\"\n [selectedObjects]=\"selectedObjects\"\n (nodeSelectionChanged)=\"handleFilterResultSelectionChanged($event)\"\n (nodeDoubleClicked)=\"handleFilterResulObjectDoubleClicked($event)\"\n (nodeMouseEntered)=\"handleFilterResulObjectMouseEntered($event)\"\n (nodeMouseLeft)=\"handleFilterResulObjectMouseLeft($event)\"\n ></lib-object-filter-result>\n </lib-bimplus-scrollable-container>\n </div>\n }\n }\n }\n }\n @else {\n <div data-test=\"object-navigator-no-filter-types-message\" class=\"object-navigator-no-filter-types\"> {{\"_No visible models found\" | translate}} </div>\n }\n </div>\n</lib-bimplus-sidenav-drawer-content>\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:0;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f;background-color:#f5f5f5}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#fff1eb;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5f5f5}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#fff1eb;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#fff1eb}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5f5f5;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.primary-button{text-transform:uppercase;font: 700 1rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;display:inline-block;margin-left:.8rem;height:2.4rem;white-space:nowrap;border-radius:.2rem;vertical-align:middle;font-size:1.2rem;border:solid .2rem #fe5000;color:#fff;background-color:#fe5000;cursor:pointer}.primary-button:hover{border:solid .2rem #eb4b00;color:#fff;background-color:#eb4b00;outline:0}.primary-button.disabled{border:solid .2rem #bababa;color:#fff;background-color:#bababa;cursor:default}:host{display:flex}lib-bimplus-sidenav-drawer-content{width:100%;max-height:100%;display:flex;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container{display:flex;flex-direction:column;width:100%;max-height:100%;flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.description{margin-bottom:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-type>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name{flex:0;margin-top:.1rem;margin-bottom:.1rem;height:2.4rem;display:flex;flex-direction:row}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown{flex:1}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-dropdown .ng-select-container{height:2.4rem;min-height:2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filters-name>.object-navigator-filters-name-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: 2.4rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-filter-criteria-panel{flex:0;padding-top:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-apply-button-row{flex:0;display:flex;margin-top:.8rem;margin-bottom:.8rem;justify-content:flex-end}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.object-navigator-separator{flex:0;border-top:solid .078125em #d4d4d4;padding-bottom:.8rem}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container{position:relative;flex:1;width:100%;display:flex;flex-direction:column}lib-bimplus-sidenav-drawer-content .object-navigator-content-container>.scrollable-content-container>lib-bimplus-scrollable-container{position:absolute;top:0;bottom:0;flex:1;width:100%}.filter-criteria-container{display:flex;flex-direction:column;width:calc(100% - 2.4rem);padding-left:2.4rem;height:14.4rem}:host(.object-navigator){height:100%;width:100%}.object-navigator-filter-action-buttons{width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6z\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-select-attributes-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M14.6 9.1l.1-3c0-2.4-.1-2.7-2.5-2.7l-3 .1c-.4.1-.7.2-1 .5L2.7 9.5c-.6.6-.6 1.6 0 2.2l3.7 3.8c.6.6 1.6.6 2.2 0l5.5-5.5c.3-.2.4-.6.5-.9zm-1.5-2.5c0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6S10.6 5 11.5 5c.9 0 1.6.7 1.6 1.6z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-pick-object-button{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\"/></svg>');width:2.4rem;height:2.4rem;display:inline-block;background-position:center center;background-repeat:no-repeat;cursor:pointer;background-size:1.8rem 1.8rem;color:#39aef2;margin-left:.4rem}.object-navigator-pick-object-button.active{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M2.8 12.4c1.2 1.2-1.3 3-.7 3.6.5.5 2.5-1.8 3.6-.7l5.6-5.6-2.9-3s-4.6 4.7-5.6 5.7zM8.4 11L7 9.6l1.4-1.4 1.4 1.4L8.4 11zm4.2-8.4l-2 2-.7-.7-1.5 1.4 4.3 4.3 1.4-1.4-.7-.7 2-2c1.8-1.9-1-4.7-2.8-2.9z\" fill=\"%23fe5000\"/></svg>')}.object-navigator-filter-criteria-header{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"] }]
|
|
220
220
|
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { hideFilterContextMenu: [{
|
|
221
221
|
type: Input
|
|
222
222
|
}], filterContextMenu: [{
|
|
@@ -249,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
249
249
|
}], filterResultObjectMouseLeft: [{
|
|
250
250
|
type: Output
|
|
251
251
|
}] } });
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBK0IsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV2RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDbEksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDM0csT0FB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NkJBQTZCLHVFQUM3QixvQ0FBb0MsK0VBQ3BDLG9DQUFvQyxxSUFDcEMsZUFBZSw0RkFDZix1Q0FBdUMsb0xBQ3ZDLDJCQUEyQiwySkFDM0IsMkJBQTJCLCtNQUMzQixtQ0FBbUM7OzRGQU01QiwrQkFBK0I7a0JBckIzQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBRSxZQUFZO3dCQUNuQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0Isb0NBQW9DO3dCQUNwQyxvQ0FBb0M7d0JBQ3BDLGVBQWU7d0JBQ2YsdUNBQXVDO3dCQUN2QywyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsbUNBQW1DO3FCQUN0QyxpQkFHYyxpQkFBaUIsQ0FBQyxTQUFTO3FGQVcxQyxxQkFBcUI7c0JBRHBCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFvQ04sT0FBTztzQkFETixLQUFLO2dCQU1OLEdBQUc7c0JBREYsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBR2lDLGdCQUFnQjtzQkFBdEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBS3JDLGtDQUFrQztzQkFEakMsTUFBTTtnQkFJUCxnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQVFOLGtDQUFrQztzQkFEakMsTUFBTTtnQkFJUCwrQkFBK0I7c0JBRDlCLE1BQU07Z0JBSVAsOEJBQThCO3NCQUQ3QixNQUFNO2dCQUlQLDJCQUEyQjtzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBXZWJTZGsgZnJvbSAnYmltcGx1cy13ZWJzZGsnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0ICxmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUsIEZpbHRlckNyaXRlcml1bSwgRmlsdGVyVHlwZSwgTWF4RmlsdGVyQ3JpdGVyaWEgfSBmcm9tICcuL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyQ3JpdGVyaXVtQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXItY3JpdGVyaXVtL2ZpbHRlci1jcml0ZXJpdW0uY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEJpbXBsdXNTaWRlbmF2RHJhd2VyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtc2lkZW5hdi1kcmF3ZXItY29udGVudC9iaW1wbHVzLXNpZGVuYXYtZHJhd2VyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLWhlYWRlci9leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHBhbnNpb25QYW5lbEhlYWRlckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwtaGVhZGVyLWFjdGlvbnMvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDcml0ZXJpYVNlbGVjdE9iamVjdFByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuL2NyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdEZpbHRlclJlc3VsdENvbXBvbmVudCB9IGZyb20gJy4vb2JqZWN0LWZpbHRlci1yZXN1bHQvb2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gICcuLi9iaW1wbHVzLWNvbnRleHQtbWVudS9iaW1wbHVzLWNvbnRleHQtbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlclN0cmluZyB9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbHRlclN0cmluZyc7XG5pbXBvcnQgeyBGaWx0ZXJTdHJ1Y3R1cmVGZXRjaGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsdGVyU3RydWN0dXJlRmV0Y2hlcic7XG5pbXBvcnQgeyBCaW1wbHVzU2Nyb2xsYWJsZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXIvYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lci5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbIENvbW1vbk1vZHVsZVxuICAgICwgRm9ybXNNb2R1bGVcbiAgICAsIE5nU2VsZWN0TW9kdWxlXG4gICAgLCBGaWx0ZXJDcml0ZXJpdW1Db21wb25lbnRcbiAgICAsIEV4cGFuc2lvblBhbmVsQ29tcG9uZW50XG4gICAgLCBFeHBhbnNpb25QYW5lbEhlYWRlckNvbXBvbmVudFxuICAgICwgRXhwYW5zaW9uUGFuZWxIZWFkZXJBY3Rpb25zQ29tcG9uZW50XG4gICAgLCBCaW1wbHVzU2lkZW5hdkRyYXdlckNvbnRlbnRDb21wb25lbnRcbiAgICAsIFRyYW5zbGF0ZU1vZHVsZVxuICAgICwgQ3JpdGVyaWFTZWxlY3RPYmplY3RQcm9wZXJ0aWVzQ29tcG9uZW50XG4gICAgLCBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnRcbiAgICAsIE9iamVjdEZpbHRlclJlc3VsdENvbXBvbmVudFxuICAgICwgQmltcGx1c1Njcm9sbGFibGVDb250YWluZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50Lmxlc3MnLCBcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIEJpbXBsdXNPYmplY3ROYXZpZ2F0b3JDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiAgVHJhbnNsYXRlU2VydmljZSl7XG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSkgIFxuICB9XG4gIFxuICAvLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcblxuICBASW5wdXQoKVxuICBoaWRlRmlsdGVyQ29udGV4dE1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBmaWx0ZXJDb250ZXh0TWVudTogQXJyYXk8QmltcGx1c0NvbnRleHRNZW51SXRlbT4gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZXQgZmlsdGVyVHlwZXModHlwZXMgOiBBcnJheTxGaWx0ZXJUeXBlPil7XG4gICAgdGhpcy5fZmlsdGVyVHlwZXMgPSB0eXBlcztcbiAgICBpZih0aGlzLl9maWx0ZXJUeXBlcy5sZW5ndGggPjApXG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlclR5cGUgPSB0aGlzLl9maWx0ZXJUeXBlc1swXTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJUeXBlcygpOkFycmF5PEZpbHRlclR5cGU+e1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJUeXBlcztcbiAgfVxuXG4gIHNldCBhY3RpdmVGaWx0ZXJUeXBlKHZhbHVlIDogRmlsdGVyVHlwZSB8IG51bGwpe1xuICAgIHRoaXMuYWN0aXZlRmlsdGVyVHlwZVN1YmplY3QkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZUZpbHRlclR5cGUoKSA6IEZpbHRlclR5cGUgfCBudWxse1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUZpbHRlclR5cGVTdWJqZWN0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgYWN0aXZlRmlsdGVyVHlwZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJUeXBlIHwgbnVsbD4gKG51bGwpO1xuICBhY3RpdmVGaWx0ZXJTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2ViU2RrLk9iamVjdEZpbHRlciB8IG51bGw+IChudWxsKTtcblxuICBzZXQgYWN0aXZlRmlsdGVyKGZpbHRlciA6IFdlYlNkay5PYmplY3RGaWx0ZXIgfCBudWxsKXtcbiAgICBcbiAgICBpZihmaWx0ZXIgJiYgIWZpbHRlci5pZCl7IC8vIFN3aXRjaGluZyB0byBjdXN0b20gZmlsdGVyIHdpbGwgcmVzdG9yZSB0aGUgZGVmYXVsdCBjdXN0b20gZmlsdGVyXG4gICAgICB0aGlzLl9zZXREZWZhdWx0Q3VzdG9tRmlsdGVyU3RyaW5nKGZpbHRlcik7XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5uZXh0KGZpbHRlcik7XG4gIH1cblxuICBnZXQgYWN0aXZlRmlsdGVyKCkgOiBXZWJTZGsuT2JqZWN0RmlsdGVyIHwgbnVsbHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZmlsdGVycyA6IFdlYlNkay5PYmplY3RGaWx0ZXJzUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBmaWx0ZXJDcml0ZXJpYSA6IEZpbHRlckNyaXRlcml1bVtdID0gW11cbiAgXG4gIEBJbnB1dCgpXG4gIGFwaSA6IFdlYlNkay5BcGkgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwcm9qZWN0SWQgOiBzdHJpbmcgPSAnJ1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub2JqZWN0LW5hdmlnYXRvcicpIG9iak5hdkNsYXNzQ2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZT4oRmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlLk5vbmUpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGU+KCk7XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRPYmplY3RJZCA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkT2JqZWN0cyA6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0aW9uT2JqZWN0IDogV2ViU2RrLkV4cG9ydE9iamVjdCB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBmaWx0ZXJSZXN1bHQoKXtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyUmVzdWx0O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclJlc3VsdE9iamVjdFNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJSZXN1bHRPYmplY3REb3VibGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclJlc3VsdE9iamVjdE1vdXNlRW50ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJSZXN1bHRPYmplY3RNb3VzZUxlZnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUgPSBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGU7IC8vIEV4cG9zZSBlbnVtIHRvIHRlbXBsYXRlXG5cbiAgaXNMb2FkaW5nUmVzdWx0cyA9IGZhbHNlO1xuXG4gIC8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xuXG4gIC8vICNyZWdpb24gcHJpdmF0ZSBmaWVsZHNcbiAgcHJpdmF0ZSBfZmlsdGVyUmVzdWx0IDogV2ViU2RrLk9iamVjdEZpbHRlclN0cnVjdHVyZVJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2ZpbHRlclR5cGVzIDogQXJyYXk8RmlsdGVyVHlwZT4gPSBbXTtcbiAgLy8gI2VuZHJlZ2lvbiBwcml2YXRlIGZpZWxkc1xuXG4gIC8vICNyZWdpb24gcHVibGljIG1ldGhvZHNcbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmFjdGl2ZUZpbHRlclR5cGVTdWJqZWN0JC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgaWYoIXRoaXMucHJvamVjdElkIHx8ICF0aGlzLmFwaSB8fCAhdil7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlciA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5sb2FkQ3VycmVudExheWVyRmlsdGVycyh0aGlzLnByb2plY3RJZCwgdi5pZCk/LnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAodmFsdWUpID0+IHsgXG4gICAgICAgICAgICAgIHRoaXMuZmlsdGVycyA9IFt0aGlzLl9jcmVhdGVEZWZhdWx0Q3VzdG9tRmlsdGVyKHYuaWQpLCAuLi52YWx1ZV07XG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZlRmlsdGVyID0gdGhpcy5maWx0ZXJzWzBdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge3Rocm93IG5ldyBFcnJvciAoZXJyKX0sXG4gICAgICAgICAgfVxuICAgICAgICApfVxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHsgXG4gICAgICAgIGlmKCF2KVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBcbiAgICAgICAgdGhpcy5maWx0ZXJDcml0ZXJpYSA9IHRoaXMucGFyc2VGaWx0ZXJTdHJpbmcodik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2KSA9PiB7IHRoaXMuZmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlQ2hhbmdlZC5lbWl0KHYpfVxuICAgIH0pXG5cbiAgICBpZiggdGhpcy5maWx0ZXJUeXBlcy5sZW5ndGggPiAwKXtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyVHlwZSA9IHRoaXMuZmlsdGVyVHlwZXNbMF07XG4gICAgfVxuICB9XG5cbiAgbG9hZEN1cnJlbnRMYXllckZpbHRlcnMocHJvamVjdElkIDogc3RyaW5nLCBsYXllcklkIDogc3RyaW5nKXtcbiAgICBpZighdGhpcy5hcGkpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RGaWx0ZXJzLmdldChsYXllcklkLHByb2plY3RJZCkpO1xuICB9XG5cbiAgcGFyc2VGaWx0ZXJTdHJpbmcoZmlsdGVyIDogV2ViU2RrLk9iamVjdEZpbHRlcil7XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gbmV3IEZpbHRlclN0cmluZyhmaWx0ZXIuZmlsdGVyU3RyaW5nLCBNYXhGaWx0ZXJDcml0ZXJpYSk7XG4gICAgcmV0dXJuIGZpbHRlclN0cmluZy50b0ZpbHRlckNyaXRlcmlhKGZpbHRlci5yZWFkYWJsZVZhbHVlcyk7XG4gIH1cblxuICBkZWxldGVGaWx0ZXJDcml0ZXJpdW0oaW5kZXg6IG51bWJlcil7XG4gICAgdGhpcy5maWx0ZXJDcml0ZXJpYS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWEgPSBbLi4udGhpcy5maWx0ZXJDcml0ZXJpYV07XG4gICAgdGhpcy5hY3RpdmF0ZU1vZGlmaWVkQ3VzdG9tRmlsdGVyKCk7XG4gIH1cblxuICBzZXRGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUobW9kZSA6IEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSl7XG4gICAgaWYodGhpcy5maWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLmdldFZhbHVlKCkgPT0gbW9kZSl7XG4gICAgICB0aGlzLmZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQubmV4dChGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuTm9uZSk7XG4gICAgICByZXR1cm47ICBcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQubmV4dChtb2RlKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyKCl7XG4gICAgdGhpcy5maWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLm5leHQoRmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlLk5vbmUpO1xuICAgIHRoaXMuX2ZpbHRlclJlc3VsdCA9IG51bGw7XG5cbiAgICAvLyBDdXN0b20gZmlsdGVyIGlzIHNlbGVjdGVkXG4gICAgaWYodGhpcy5hY3RpdmVGaWx0ZXIgJiYgIXRoaXMuYWN0aXZlRmlsdGVyLmlkKXtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyLmZpbHRlclN0cmluZyA9IG5ldyBGaWx0ZXJTdHJpbmcoKS5mcm9tRmlsdGVyQ3JpdGVyaWEodGhpcy5maWx0ZXJDcml0ZXJpYSk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5zZWxlY3Rpb25PYmplY3Qpe1xuICAgICAgdGhpcy5fYXBwbHlTZWxlY3Rpb25PYmplY3RGaWx0ZXIodGhpcy5hY3RpdmVGaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbHRlclJlc3VsdFNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uIDogc3RyaW5nW10pe1xuICAgIHRoaXMuZmlsdGVyUmVzdWx0T2JqZWN0U2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBoYW5kbGVGaWx0ZXJSZXN1bE9iamVjdERvdWJsZUNsaWNrZWQoc2VsZWN0aW9uIDogc3RyaW5nKXtcbiAgICB0aGlzLmZpbHRlclJlc3VsdE9iamVjdERvdWJsZUNsaWNrZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgXG4gIGhhbmRsZUZpbHRlclJlc3VsT2JqZWN0TW91c2VFbnRlcmVkKHNlbGVjdGlvbiA6IHN0cmluZyl7XG4gICAgdGhpcy5maWx0ZXJSZXN1bHRPYmplY3RNb3VzZUVudGVyZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgaGFuZGxlRmlsdGVyUmVzdWxPYmplY3RNb3VzZUxlZnQoc2VsZWN0aW9uIDogc3RyaW5nKXtcbiAgICB0aGlzLmZpbHRlclJlc3VsdE9iamVjdE1vdXNlTGVmdC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBhY3RpdmF0ZU1vZGlmaWVkQ3VzdG9tRmlsdGVyKCl7XG4gICAgLy8gV2hlbiBleGlzdGluZyBmaWx0ZXIgaXMgY2hhbmdlZCwgQ3VzdG9tIGZpbHRlciB3aWxsIGJlIHNlbGVjdGVkIGFuZCBmaWx0ZXIgc2V0dGluZ3MgbmVlZCB0byBiZSBjbG9uZWQuIE5vdGhpbmcgaXMgZG9uZSB3aGVuIGN1c3RvbSBmaWx0ZXIgaXMgYWxyZWFkeSBhY3RpdmVcbiAgICBpZih0aGlzLmFjdGl2ZUZpbHRlcj8uaWQgJiYgdGhpcy5maWx0ZXJzKXtcblxuICAgICAgLy8gQ29weSBmaWx0ZXIgc3RyaW5nIGZyb20gY3VycmVudCBjcml0ZXJpYSBzZXR0aW5ncyB0byBjdXN0b20gZmlsdGVyXG4gICAgICB0aGlzLmZpbHRlcnNbMF0uZmlsdGVyU3RyaW5nID0gbmV3IEZpbHRlclN0cmluZygpLmZyb21GaWx0ZXJDcml0ZXJpYSh0aGlzLmZpbHRlckNyaXRlcmlhKTtcbiAgICAgIHRoaXMuZmlsdGVyc1swXS5yZWFkYWJsZVZhbHVlcyA9IG5ldyBGaWx0ZXJTdHJpbmcoKS5nZXRSZWFkYWJsZVZhbHVlc0Zyb21GaWx0ZXJDcml0ZXJpYSh0aGlzLmZpbHRlckNyaXRlcmlhKTtcblxuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5uZXh0KHRoaXMuZmlsdGVyc1swXSk7XG4gICAgfVxuICB9XG4gIC8vICNlbmRyZWdpb24gcHVibGljIG1ldGhvZHNcblxuICAvLyAjcmVnaW9uIHByaXZhdGUgbWV0aG9kc1xuICBwcml2YXRlIF9hcHBseVNlbGVjdGlvbk9iamVjdEZpbHRlcihhY3RpdmVGaWx0ZXIgOiBXZWJTZGsuT2JqZWN0RmlsdGVyIHwgbnVsbCl7XG5cbiAgICBpZighdGhpcy5hcGkgfHwgIXRoaXMuc2VsZWN0aW9uT2JqZWN0IHx8ICFhY3RpdmVGaWx0ZXIpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0aW9uT2JqZWN0LnNpbmdsZVVzZSA9IHRydWU7XG4gICAgdGhpcy5zZWxlY3Rpb25PYmplY3Quc2VsZWN0aW9uLnNpbmdsZXVzZSA9IHRydWU7XG4gICAgXG4gICAgdGhpcy5pc0xvYWRpbmdSZXN1bHRzID0gdHJ1ZTtcbiAgICBcbiAgICBGaWx0ZXJTdHJ1Y3R1cmVGZXRjaGVyLmZldGNoT2JqZWN0RmlsdGVyU3RydWN0dXJlRnJvbVNlbGVjdGlvbih0aGlzLnByb2plY3RJZCwgYWN0aXZlRmlsdGVyLCB0aGlzLnNlbGVjdGlvbk9iamVjdCwgdGhpcy5hcGkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZmlsdGVyUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclJlc3VsdCA9IGZpbHRlclJlc3VsdDtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdSZXN1bHRzID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RGVmYXVsdEN1c3RvbUZpbHRlclN0cmluZyhmaWx0ZXI6IFdlYlNkay5PYmplY3RGaWx0ZXIpe1xuICAgIGNvbnN0IHR5cGVBdHRyaWJJZCA9IFwiYTBlOGFlMmMtYzg2OS00ZWMzLTkwMTktMjVkMzcwNGJlNzA3XCI7XG4gICAgZmlsdGVyLmZpbHRlclN0cmluZyA9IGBbSV1bJHt0eXBlQXR0cmliSWR9XS5WYWx1ZWA7XG4gICAgZmlsdGVyLnJlYWRhYmxlVmFsdWVzID0ge307XG4gICAgZmlsdGVyLnJlYWRhYmxlVmFsdWVzW3R5cGVBdHRyaWJJZF0gPSBcIlR5cGVcIjsgLy8gUHJvdmlkZSByZWFkYWJsZSBjcml0ZXJpdW0gbmFtZSBmb3IgdHlwZVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlRGVmYXVsdEN1c3RvbUZpbHRlcihkaXNjaXBsaW5lSUQ6IHN0cmluZykgOiBXZWJTZGsuT2JqZWN0RmlsdGVye1xuXG4gICAgY29uc3QgZmlsdGVyID0ge1xuICAgICAgbW9kdWxlOiBcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMFwiLFxuICAgICAgY2F0ZWdvcnk6IFwiXCIsXG4gICAgICBkaXNjaXBsaW5lSUQ6IGRpc2NpcGxpbmVJRCxcbiAgICAgIG5hbWU6IFwiQ3VzdG9tIGZpbHRlclwiLFxuICAgICAgZmlsdGVyU3RyaW5nOiAgXCJcIixcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBkaXNhYmxlU29ydEJ5TW9kZWxzOiBmYWxzZSxcbiAgICB9XG5cbiAgICB0aGlzLl9zZXREZWZhdWx0Q3VzdG9tRmlsdGVyU3RyaW5nKGZpbHRlcik7XG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuICAvLyAjZW5kcmVnaW9uIHByaXZhdGUgbWV0aG9kc1xuXG59XG4iLCI8bGliLWJpbXBsdXMtc2lkZW5hdi1kcmF3ZXItY29udGVudCBbaGVhZGVyXT1cIidfT2JqZWN0IG5hdmlnYXRvcicgfCB0cmFuc2xhdGVcIlxuICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nUmVzdWx0c1wiXG4gICAgW2xvYWRpbmdTcGlubmVyVGV4dF09XCInX0xvYWRpbmdfRmlsdGVyX1Jlc3VsdHMnIHwgdHJhbnNsYXRlXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICBAaWYoZmlsdGVyVHlwZXMubGVuZ3RoPjApe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItZmlsdGVycy10eXBlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXNlbGVjdCBkYXRhLXRlc3Q9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlci10eXBlcy1kcm9wZG93blwiIGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1kcm9wZG93blwiIFsobmdNb2RlbCldPVwiYWN0aXZlRmlsdGVyVHlwZVwiIFtjbGVhcmFibGVdPVwiZmFsc2VcIiBbc2VhcmNoYWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uICpuZ0Zvcj1cImxldCB0eXBlIG9mIGZpbHRlclR5cGVzXCIgW3ZhbHVlXT1cInR5cGVcIj57e3R5cGUubmFtZX19PC9uZy1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlcnMtbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1zZWxlY3QgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWRyb3Bkb3duXCIgWyhuZ01vZGVsKV09XCJhY3RpdmVGaWx0ZXJcIiAgW2NsZWFyYWJsZV09XCJmYWxzZVwiIFtkaXNhYmxlZF09XCIhZmlsdGVyc1wiIFtzZWFyY2hhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXJzXCIgW3ZhbHVlXT1cImZpbHRlclwiPnt7ZmlsdGVyLm5hbWV9fTwvbmctb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgQGlmKCFoaWRlRmlsdGVyQ29udGV4dE1lbnUpe1xuICAgICAgICAgICAgICAgICAgICA8bGliLWJpbXBsdXMtY29udGV4dC1tZW51IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1maWx0ZXJzLW5hbWUtY29udGV4dC1tZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cImZpbHRlckNvbnRleHRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJDb250ZXh0TWVudT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9saWItYmltcGx1cy1jb250ZXh0LW1lbnU+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGxpYi1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlci1jcml0ZXJpYS1wYW5lbFwiPlxuICAgICAgICAgICAgICAgIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlci1jcml0ZXJpYS1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XCJfQXNzaWduX09iamVjdHNfU2VsZWN0aW9uX01vZGVcIiB8IHRyYW5zbGF0ZX19ICYjNDA7e3tmaWx0ZXJDcml0ZXJpYS5sZW5ndGh9fSYjNDE7XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1waWNrLW9iamVjdC1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLmdldFZhbHVlKCkgPT09IEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZS5TZWxlY3RPYmplY3RQcm9wZXJ0aWVzPyAnYWN0aXZlJyA6ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZShGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuU2VsZWN0T2JqZWN0UHJvcGVydGllcylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb21tZW50ZWQgdW50aWwgZnVuY3Rpb25hbGl0eSB3aWxsIGJlIGltcGxlbWVudGVkXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1zZWxlY3QtYXR0cmlidXRlcy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLmdldFZhbHVlKCkgPT09IEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZS5TZWxlY3RBdHRyaWJ1dGVzPyAnYWN0aXZlJyA6ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZShGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuU2VsZWN0QXR0cmlidXRlcylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2Pi0tPlxuICAgICAgICAgICAgICAgICAgICA8L2xpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgPC9saWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY3JpdGVyaWEtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoY3JpdGVyaXVtIG9mIGZpbHRlckNyaXRlcmlhOyB0cmFjayBjcml0ZXJpdW07IGxldCAgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8YXBwLWZpbHRlci1jcml0ZXJpdW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjcml0ZXJpdW1dID0gXCJjcml0ZXJpdW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGVudF09XCJpKjAuOFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlQ3JpdGVyaXVtKT1cImRlbGV0ZUZpbHRlckNyaXRlcml1bShpKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2FwcC1maWx0ZXItY3JpdGVyaXVtPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItYXBwbHktYnV0dG9uLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5LWJ1dHRvblwiIFtuZ0NsYXNzXT1cImZpbHRlckNyaXRlcmlhLmxlbmd0aD09PTAgPyAnZGlzYWJsZWQnIDogJydcIiAoY2xpY2spPVwiYXBwbHlGaWx0ZXIoKVwiPiB7e1wiX0FwcGx5IGZpbHRlclwiIHwgdHJhbnNsYXRlfX0gPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3Itc2VwYXJhdG9yXCI+PC9kaXY+XG5cbiAgICAgICAgICAgIEBzd2l0Y2goZmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlJC5nZXRWYWx1ZSgpKXtcbiAgICAgICAgICAgICAgICBAY2FzZShGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuU2VsZWN0T2JqZWN0UHJvcGVydGllcyl7XG4gICAgICAgICAgICAgICAgICAgIEBpZighc2VsZWN0ZWRPYmplY3RJZCl7XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD1cIk5vT2JqZWN0U2VsZWN0ZWRcIj57eyBcIl9Ob09iamVjdFNlbGVjdGVkXCIgfCB0cmFuc2xhdGV9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgfUBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGFibGUtY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBpXT1cImFwaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRMYW5ndWFnZV09XCJzZWxlY3RlZExhbmd1YWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGl6ZWRTdHJpbmdzXT1cImxvY2FsaXplZFN0cmluZ3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWx0ZXJDcml0ZXJpYSldPVwiZmlsdGVyQ3JpdGVyaWFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jvb3RPYmplY3RJZF09XCJzZWxlY3RlZE9iamVjdElkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXJDcml0ZXJpYUNoYW5nZSk9XCJhY3RpdmF0ZU1vZGlmaWVkQ3VzdG9tRmlsdGVyKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLWJpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAY2FzZShGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuU2VsZWN0QXR0cmlidXRlcyl7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGRlZmF1bHR7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1vYmplY3QtZmlsdGVyLXJlc3VsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlclJlc3VsdF09XCJmaWx0ZXJSZXN1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkT2JqZWN0c109XCJzZWxlY3RlZE9iamVjdHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGVTZWxlY3Rpb25DaGFuZ2VkKT1cImhhbmRsZUZpbHRlclJlc3VsdFNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm9kZURvdWJsZUNsaWNrZWQpPVwiaGFuZGxlRmlsdGVyUmVzdWxPYmplY3REb3VibGVDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGVNb3VzZUVudGVyZWQpPVwiaGFuZGxlRmlsdGVyUmVzdWxPYmplY3RNb3VzZUVudGVyZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm9kZU1vdXNlTGVmdCk9XCJoYW5kbGVGaWx0ZXJSZXN1bE9iamVjdE1vdXNlTGVmdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGliLW9iamVjdC1maWx0ZXItcmVzdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLWJpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGRhdGEtdGVzdD1cIm9iamVjdC1uYXZpZ2F0b3Itbm8tZmlsdGVyLXR5cGVzLW1lc3NhZ2VcIiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3Itbm8tZmlsdGVyLXR5cGVzXCI+IHt7XCJfTm8gdmlzaWJsZSBtb2RlbHMgZm91bmRcIiB8IHRyYW5zbGF0ZX19IDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2xpYi1iaW1wbHVzLXNpZGVuYXYtZHJhd2VyLWNvbnRlbnQ+XG4iXX0=
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBK0IsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV2RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDbEksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDM0csT0FB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NkJBQTZCLHVFQUM3QixvQ0FBb0MsK0VBQ3BDLG9DQUFvQyxxSUFDcEMsZUFBZSw0RkFDZix1Q0FBdUMsb0xBQ3ZDLDJCQUEyQiwySkFDM0IsMkJBQTJCLCtNQUMzQixtQ0FBbUM7OzRGQU01QiwrQkFBK0I7a0JBckIzQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBRSxZQUFZO3dCQUNuQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0Isb0NBQW9DO3dCQUNwQyxvQ0FBb0M7d0JBQ3BDLGVBQWU7d0JBQ2YsdUNBQXVDO3dCQUN2QywyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsbUNBQW1DO3FCQUN0QyxpQkFHYyxpQkFBaUIsQ0FBQyxTQUFTO3FGQVcxQyxxQkFBcUI7c0JBRHBCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFvQ04sT0FBTztzQkFETixLQUFLO2dCQU1OLEdBQUc7c0JBREYsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBR2lDLGdCQUFnQjtzQkFBdEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBS3JDLGtDQUFrQztzQkFEakMsTUFBTTtnQkFJUCxnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQVFOLGtDQUFrQztzQkFEakMsTUFBTTtnQkFJUCwrQkFBK0I7c0JBRDlCLE1BQU07Z0JBSVAsOEJBQThCO3NCQUQ3QixNQUFNO2dCQUlQLDJCQUEyQjtzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBXZWJTZGsgZnJvbSAnYmltcGx1cy13ZWJzZGsnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0ICxmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUsIEZpbHRlckNyaXRlcml1bSwgRmlsdGVyVHlwZSwgTWF4RmlsdGVyQ3JpdGVyaWEgfSBmcm9tICcuL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyQ3JpdGVyaXVtQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXItY3JpdGVyaXVtL2ZpbHRlci1jcml0ZXJpdW0uY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEJpbXBsdXNTaWRlbmF2RHJhd2VyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtc2lkZW5hdi1kcmF3ZXItY29udGVudC9iaW1wbHVzLXNpZGVuYXYtZHJhd2VyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLWhlYWRlci9leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHBhbnNpb25QYW5lbEhlYWRlckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwtaGVhZGVyLWFjdGlvbnMvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDcml0ZXJpYVNlbGVjdE9iamVjdFByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuL2NyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdEZpbHRlclJlc3VsdENvbXBvbmVudCB9IGZyb20gJy4vb2JqZWN0LWZpbHRlci1yZXN1bHQvb2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gICcuLi9iaW1wbHVzLWNvbnRleHQtbWVudS9iaW1wbHVzLWNvbnRleHQtbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlclN0cmluZyB9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbHRlclN0cmluZyc7XG5pbXBvcnQgeyBGaWx0ZXJTdHJ1Y3R1cmVGZXRjaGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsdGVyU3RydWN0dXJlRmV0Y2hlcic7XG5pbXBvcnQgeyBCaW1wbHVzU2Nyb2xsYWJsZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXIvYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lci5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbIENvbW1vbk1vZHVsZVxuICAgICwgRm9ybXNNb2R1bGVcbiAgICAsIE5nU2VsZWN0TW9kdWxlXG4gICAgLCBGaWx0ZXJDcml0ZXJpdW1Db21wb25lbnRcbiAgICAsIEV4cGFuc2lvblBhbmVsQ29tcG9uZW50XG4gICAgLCBFeHBhbnNpb25QYW5lbEhlYWRlckNvbXBvbmVudFxuICAgICwgRXhwYW5zaW9uUGFuZWxIZWFkZXJBY3Rpb25zQ29tcG9uZW50XG4gICAgLCBCaW1wbHVzU2lkZW5hdkRyYXdlckNvbnRlbnRDb21wb25lbnRcbiAgICAsIFRyYW5zbGF0ZU1vZHVsZVxuICAgICwgQ3JpdGVyaWFTZWxlY3RPYmplY3RQcm9wZXJ0aWVzQ29tcG9uZW50XG4gICAgLCBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnRcbiAgICAsIE9iamVjdEZpbHRlclJlc3VsdENvbXBvbmVudFxuICAgICwgQmltcGx1c1Njcm9sbGFibGVDb250YWluZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50Lmxlc3MnLCBcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIEJpbXBsdXNPYmplY3ROYXZpZ2F0b3JDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiAgVHJhbnNsYXRlU2VydmljZSl7XG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSkgIFxuICB9XG4gIFxuICAvLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcblxuICBASW5wdXQoKVxuICBoaWRlRmlsdGVyQ29udGV4dE1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBmaWx0ZXJDb250ZXh0TWVudTogQXJyYXk8QmltcGx1c0NvbnRleHRNZW51SXRlbT4gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZXQgZmlsdGVyVHlwZXModHlwZXMgOiBBcnJheTxGaWx0ZXJUeXBlPil7XG4gICAgdGhpcy5fZmlsdGVyVHlwZXMgPSB0eXBlcztcbiAgICBpZih0aGlzLl9maWx0ZXJUeXBlcy5sZW5ndGggPjApXG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlclR5cGUgPSB0aGlzLl9maWx0ZXJUeXBlc1swXTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJUeXBlcygpOkFycmF5PEZpbHRlclR5cGU+e1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJUeXBlcztcbiAgfVxuXG4gIHNldCBhY3RpdmVGaWx0ZXJUeXBlKHZhbHVlIDogRmlsdGVyVHlwZSB8IG51bGwpe1xuICAgIHRoaXMuYWN0aXZlRmlsdGVyVHlwZVN1YmplY3QkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZUZpbHRlclR5cGUoKSA6IEZpbHRlclR5cGUgfCBudWxse1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUZpbHRlclR5cGVTdWJqZWN0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgYWN0aXZlRmlsdGVyVHlwZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJUeXBlIHwgbnVsbD4gKG51bGwpO1xuICBhY3RpdmVGaWx0ZXJTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2ViU2RrLk9iamVjdEZpbHRlciB8IG51bGw+IChudWxsKTtcblxuICBzZXQgYWN0aXZlRmlsdGVyKGZpbHRlciA6IFdlYlNkay5PYmplY3RGaWx0ZXIgfCBudWxsKXtcbiAgICBcbiAgICBpZihmaWx0ZXIgJiYgIWZpbHRlci5pZCl7IC8vIFN3aXRjaGluZyB0byBjdXN0b20gZmlsdGVyIHdpbGwgcmVzdG9yZSB0aGUgZGVmYXVsdCBjdXN0b20gZmlsdGVyXG4gICAgICB0aGlzLl9zZXREZWZhdWx0Q3VzdG9tRmlsdGVyU3RyaW5nKGZpbHRlcik7XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5uZXh0KGZpbHRlcik7XG4gIH1cblxuICBnZXQgYWN0aXZlRmlsdGVyKCkgOiBXZWJTZGsuT2JqZWN0RmlsdGVyIHwgbnVsbHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZmlsdGVycyA6IFdlYlNkay5PYmplY3RGaWx0ZXJzUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBmaWx0ZXJDcml0ZXJpYSA6IEZpbHRlckNyaXRlcml1bVtdID0gW11cbiAgXG4gIEBJbnB1dCgpXG4gIGFwaSA6IFdlYlNkay5BcGkgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwcm9qZWN0SWQgOiBzdHJpbmcgPSAnJ1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub2JqZWN0LW5hdmlnYXRvcicpIG9iak5hdkNsYXNzQ2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZT4oRmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlLk5vbmUpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGU+KCk7XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRPYmplY3RJZCA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkT2JqZWN0cyA6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0aW9uT2JqZWN0IDogV2ViU2RrLkV4cG9ydE9iamVjdCB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBmaWx0ZXJSZXN1bHQoKXtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyUmVzdWx0O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclJlc3VsdE9iamVjdFNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJSZXN1bHRPYmplY3REb3VibGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclJlc3VsdE9iamVjdE1vdXNlRW50ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJSZXN1bHRPYmplY3RNb3VzZUxlZnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUgPSBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGU7IC8vIEV4cG9zZSBlbnVtIHRvIHRlbXBsYXRlXG5cbiAgaXNMb2FkaW5nUmVzdWx0cyA9IGZhbHNlO1xuXG4gIC8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xuXG4gIC8vICNyZWdpb24gcHJpdmF0ZSBmaWVsZHNcbiAgcHJpdmF0ZSBfZmlsdGVyUmVzdWx0IDogV2ViU2RrLk9iamVjdEZpbHRlclN0cnVjdHVyZVJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2ZpbHRlclR5cGVzIDogQXJyYXk8RmlsdGVyVHlwZT4gPSBbXTtcbiAgLy8gI2VuZHJlZ2lvbiBwcml2YXRlIGZpZWxkc1xuXG4gIC8vICNyZWdpb24gcHVibGljIG1ldGhvZHNcbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmFjdGl2ZUZpbHRlclR5cGVTdWJqZWN0JC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgaWYoIXRoaXMucHJvamVjdElkIHx8ICF0aGlzLmFwaSB8fCAhdil7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlciA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5sb2FkQ3VycmVudExheWVyRmlsdGVycyh0aGlzLnByb2plY3RJZCwgdi5pZCk/LnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAodmFsdWUpID0+IHsgXG4gICAgICAgICAgICAgIHRoaXMuZmlsdGVycyA9IFt0aGlzLl9jcmVhdGVEZWZhdWx0Q3VzdG9tRmlsdGVyKHYuaWQpLCAuLi52YWx1ZV07XG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZlRmlsdGVyID0gdGhpcy5maWx0ZXJzWzBdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge3Rocm93IG5ldyBFcnJvciAoZXJyKX0sXG4gICAgICAgICAgfVxuICAgICAgICApfVxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHsgXG4gICAgICAgIGlmKCF2KVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBcbiAgICAgICAgdGhpcy5maWx0ZXJDcml0ZXJpYSA9IHRoaXMucGFyc2VGaWx0ZXJTdHJpbmcodik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2KSA9PiB7IHRoaXMuZmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlQ2hhbmdlZC5lbWl0KHYpfVxuICAgIH0pXG5cbiAgICBpZiggdGhpcy5maWx0ZXJUeXBlcy5sZW5ndGggPiAwKXtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyVHlwZSA9IHRoaXMuZmlsdGVyVHlwZXNbMF07XG4gICAgfVxuICB9XG5cbiAgbG9hZEN1cnJlbnRMYXllckZpbHRlcnMocHJvamVjdElkIDogc3RyaW5nLCBsYXllcklkIDogc3RyaW5nKXtcbiAgICBpZighdGhpcy5hcGkpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RGaWx0ZXJzLmdldChsYXllcklkLHByb2plY3RJZCkpO1xuICB9XG5cbiAgcGFyc2VGaWx0ZXJTdHJpbmcoZmlsdGVyIDogV2ViU2RrLk9iamVjdEZpbHRlcil7XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gbmV3IEZpbHRlclN0cmluZyhmaWx0ZXIuZmlsdGVyU3RyaW5nLCBNYXhGaWx0ZXJDcml0ZXJpYSk7XG4gICAgcmV0dXJuIGZpbHRlclN0cmluZy50b0ZpbHRlckNyaXRlcmlhKGZpbHRlci5yZWFkYWJsZVZhbHVlcyk7XG4gIH1cblxuICBkZWxldGVGaWx0ZXJDcml0ZXJpdW0oaW5kZXg6IG51bWJlcil7XG4gICAgdGhpcy5maWx0ZXJDcml0ZXJpYS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWEgPSBbLi4udGhpcy5maWx0ZXJDcml0ZXJpYV07XG4gICAgdGhpcy5hY3RpdmF0ZU1vZGlmaWVkQ3VzdG9tRmlsdGVyKCk7XG4gIH1cblxuICBzZXRGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUobW9kZSA6IEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSl7XG4gICAgaWYodGhpcy5maWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLmdldFZhbHVlKCkgPT0gbW9kZSl7XG4gICAgICB0aGlzLmZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQubmV4dChGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuTm9uZSk7XG4gICAgICByZXR1cm47ICBcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQubmV4dChtb2RlKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyKCl7XG4gICAgdGhpcy5maWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLm5leHQoRmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlLk5vbmUpO1xuICAgIHRoaXMuX2ZpbHRlclJlc3VsdCA9IG51bGw7XG5cbiAgICAvLyBDdXN0b20gZmlsdGVyIGlzIHNlbGVjdGVkXG4gICAgaWYodGhpcy5hY3RpdmVGaWx0ZXIgJiYgIXRoaXMuYWN0aXZlRmlsdGVyLmlkKXtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyLmZpbHRlclN0cmluZyA9IG5ldyBGaWx0ZXJTdHJpbmcoKS5mcm9tRmlsdGVyQ3JpdGVyaWEodGhpcy5maWx0ZXJDcml0ZXJpYSk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5zZWxlY3Rpb25PYmplY3Qpe1xuICAgICAgdGhpcy5fYXBwbHlTZWxlY3Rpb25PYmplY3RGaWx0ZXIodGhpcy5hY3RpdmVGaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbHRlclJlc3VsdFNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uIDogc3RyaW5nW10pe1xuICAgIHRoaXMuZmlsdGVyUmVzdWx0T2JqZWN0U2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBoYW5kbGVGaWx0ZXJSZXN1bE9iamVjdERvdWJsZUNsaWNrZWQoc2VsZWN0aW9uIDogc3RyaW5nKXtcbiAgICB0aGlzLmZpbHRlclJlc3VsdE9iamVjdERvdWJsZUNsaWNrZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgXG4gIGhhbmRsZUZpbHRlclJlc3VsT2JqZWN0TW91c2VFbnRlcmVkKHNlbGVjdGlvbiA6IHN0cmluZyl7XG4gICAgdGhpcy5maWx0ZXJSZXN1bHRPYmplY3RNb3VzZUVudGVyZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgaGFuZGxlRmlsdGVyUmVzdWxPYmplY3RNb3VzZUxlZnQoc2VsZWN0aW9uIDogc3RyaW5nKXtcbiAgICB0aGlzLmZpbHRlclJlc3VsdE9iamVjdE1vdXNlTGVmdC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBhY3RpdmF0ZU1vZGlmaWVkQ3VzdG9tRmlsdGVyKCl7XG4gICAgLy8gV2hlbiBleGlzdGluZyBmaWx0ZXIgaXMgY2hhbmdlZCwgQ3VzdG9tIGZpbHRlciB3aWxsIGJlIHNlbGVjdGVkIGFuZCBmaWx0ZXIgc2V0dGluZ3MgbmVlZCB0byBiZSBjbG9uZWQuIE5vdGhpbmcgaXMgZG9uZSB3aGVuIGN1c3RvbSBmaWx0ZXIgaXMgYWxyZWFkeSBhY3RpdmVcbiAgICBpZih0aGlzLmFjdGl2ZUZpbHRlcj8uaWQgJiYgdGhpcy5maWx0ZXJzKXtcblxuICAgICAgLy8gQ29weSBmaWx0ZXIgc3RyaW5nIGZyb20gY3VycmVudCBjcml0ZXJpYSBzZXR0aW5ncyB0byBjdXN0b20gZmlsdGVyXG4gICAgICB0aGlzLmZpbHRlcnNbMF0uZmlsdGVyU3RyaW5nID0gbmV3IEZpbHRlclN0cmluZygpLmZyb21GaWx0ZXJDcml0ZXJpYSh0aGlzLmZpbHRlckNyaXRlcmlhKTtcbiAgICAgIHRoaXMuZmlsdGVyc1swXS5yZWFkYWJsZVZhbHVlcyA9IG5ldyBGaWx0ZXJTdHJpbmcoKS5nZXRSZWFkYWJsZVZhbHVlc0Zyb21GaWx0ZXJDcml0ZXJpYSh0aGlzLmZpbHRlckNyaXRlcmlhKTtcblxuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJTdWJqZWN0JC5uZXh0KHRoaXMuZmlsdGVyc1swXSk7XG4gICAgfVxuICB9XG4gIC8vICNlbmRyZWdpb24gcHVibGljIG1ldGhvZHNcblxuICAvLyAjcmVnaW9uIHByaXZhdGUgbWV0aG9kc1xuICBwcml2YXRlIF9hcHBseVNlbGVjdGlvbk9iamVjdEZpbHRlcihhY3RpdmVGaWx0ZXIgOiBXZWJTZGsuT2JqZWN0RmlsdGVyIHwgbnVsbCl7XG5cbiAgICBpZighdGhpcy5hcGkgfHwgIXRoaXMuc2VsZWN0aW9uT2JqZWN0IHx8ICFhY3RpdmVGaWx0ZXIpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0aW9uT2JqZWN0LnNpbmdsZVVzZSA9IHRydWU7XG4gICAgdGhpcy5zZWxlY3Rpb25PYmplY3Quc2VsZWN0aW9uLnNpbmdsZXVzZSA9IHRydWU7XG4gICAgXG4gICAgdGhpcy5pc0xvYWRpbmdSZXN1bHRzID0gdHJ1ZTtcbiAgICBcbiAgICBGaWx0ZXJTdHJ1Y3R1cmVGZXRjaGVyLmZldGNoT2JqZWN0RmlsdGVyU3RydWN0dXJlRnJvbVNlbGVjdGlvbih0aGlzLnByb2plY3RJZCwgYWN0aXZlRmlsdGVyLCB0aGlzLnNlbGVjdGlvbk9iamVjdCwgdGhpcy5hcGkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZmlsdGVyUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclJlc3VsdCA9IGZpbHRlclJlc3VsdDtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdSZXN1bHRzID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RGVmYXVsdEN1c3RvbUZpbHRlclN0cmluZyhmaWx0ZXI6IFdlYlNkay5PYmplY3RGaWx0ZXIpe1xuICAgIGNvbnN0IHR5cGVBdHRyaWJJZCA9IFwiYTBlOGFlMmMtYzg2OS00ZWMzLTkwMTktMjVkMzcwNGJlNzA3XCI7XG4gICAgZmlsdGVyLmZpbHRlclN0cmluZyA9IGBbSV1bJHt0eXBlQXR0cmliSWR9XS5WYWx1ZWA7XG4gICAgZmlsdGVyLnJlYWRhYmxlVmFsdWVzID0ge307XG4gICAgZmlsdGVyLnJlYWRhYmxlVmFsdWVzW3R5cGVBdHRyaWJJZF0gPSBcIlR5cGVcIjsgLy8gUHJvdmlkZSByZWFkYWJsZSBjcml0ZXJpdW0gbmFtZSBmb3IgdHlwZVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlRGVmYXVsdEN1c3RvbUZpbHRlcihkaXNjaXBsaW5lSUQ6IHN0cmluZykgOiBXZWJTZGsuT2JqZWN0RmlsdGVye1xuXG4gICAgY29uc3QgZmlsdGVyID0ge1xuICAgICAgbW9kdWxlOiBcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMFwiLFxuICAgICAgY2F0ZWdvcnk6IFwiXCIsXG4gICAgICBkaXNjaXBsaW5lSUQ6IGRpc2NpcGxpbmVJRCxcbiAgICAgIG5hbWU6IFwiQ3VzdG9tIGZpbHRlclwiLFxuICAgICAgZmlsdGVyU3RyaW5nOiAgXCJcIixcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBkaXNhYmxlU29ydEJ5TW9kZWxzOiBmYWxzZSxcbiAgICB9XG5cbiAgICB0aGlzLl9zZXREZWZhdWx0Q3VzdG9tRmlsdGVyU3RyaW5nKGZpbHRlcik7XG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuICAvLyAjZW5kcmVnaW9uIHByaXZhdGUgbWV0aG9kc1xuXG59XG4iLCI8bGliLWJpbXBsdXMtc2lkZW5hdi1kcmF3ZXItY29udGVudCBbaGVhZGVyXT1cIidfT2JqZWN0IG5hdmlnYXRvcicgfCB0cmFuc2xhdGVcIlxuICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nUmVzdWx0c1wiXG4gICAgW2xvYWRpbmdTcGlubmVyVGV4dF09XCInX0xvYWRpbmdfRmlsdGVyX1Jlc3VsdHMnIHwgdHJhbnNsYXRlXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIHt7XCJfU2VsZWN0X2FuX29iamVjdF91c2luZ19PYmplY3RfUGlja2VyXCIgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmKGZpbHRlclR5cGVzLmxlbmd0aD4wKXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlcnMtdHlwZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1zZWxlY3QgZGF0YS10ZXN0PVwib2JqZWN0LW5hdmlnYXRvci1maWx0ZXItdHlwZXMtZHJvcGRvd25cIiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItZHJvcGRvd25cIiBbKG5nTW9kZWwpXT1cImFjdGl2ZUZpbHRlclR5cGVcIiBbY2xlYXJhYmxlXT1cImZhbHNlXCIgW3NlYXJjaGFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLW9wdGlvbiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBmaWx0ZXJUeXBlc1wiIFt2YWx1ZV09XCJ0eXBlXCI+e3t0eXBlLm5hbWV9fTwvbmctb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1maWx0ZXJzLW5hbWVcIj5cbiAgICAgICAgICAgICAgICA8bmctc2VsZWN0IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1kcm9wZG93blwiIFsobmdNb2RlbCldPVwiYWN0aXZlRmlsdGVyXCIgIFtjbGVhcmFibGVdPVwiZmFsc2VcIiBbZGlzYWJsZWRdPVwiIWZpbHRlcnNcIiBbc2VhcmNoYWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyc1wiIFt2YWx1ZV09XCJmaWx0ZXJcIj57e2ZpbHRlci5uYW1lfX08L25nLW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L25nLXNlbGVjdD5cblxuICAgICAgICAgICAgICAgIEBpZighaGlkZUZpbHRlckNvbnRleHRNZW51KXtcbiAgICAgICAgICAgICAgICAgICAgPGxpYi1iaW1wbHVzLWNvbnRleHQtbWVudSBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItZmlsdGVycy1uYW1lLWNvbnRleHQtbWVudVwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJmaWx0ZXJDb250ZXh0TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsdGVyQ29udGV4dE1lbnU/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxsaWItZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1maWx0ZXItY3JpdGVyaWEtcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8bGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1maWx0ZXItY3JpdGVyaWEtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1wiX0Fzc2lnbl9PYmplY3RzX1NlbGVjdGlvbl9Nb2RlXCIgfCB0cmFuc2xhdGV9fSAmIzQwO3t7ZmlsdGVyQ3JpdGVyaWEubGVuZ3RofX0mIzQxO1xuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1uYXZpZ2F0b3ItcGljay1vYmplY3QtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlJC5nZXRWYWx1ZSgpID09PSBGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUuU2VsZWN0T2JqZWN0UHJvcGVydGllcz8gJ2FjdGl2ZScgOiAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRGaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUoRmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlLlNlbGVjdE9iamVjdFByb3BlcnRpZXMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidfT2JqZWN0X1BpY2tlcid8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbW1lbnRlZCB1bnRpbCBmdW5jdGlvbmFsaXR5IHdpbGwgYmUgaW1wbGVtZW50ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLXNlbGVjdC1hdHRyaWJ1dGVzLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZSQuZ2V0VmFsdWUoKSA9PT0gRmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlLlNlbGVjdEF0dHJpYnV0ZXM/ICdhY3RpdmUnIDogJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0RmlsdGVyQ3JpdGVyaWFTZWxlY3Rpb25Nb2RlKEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZS5TZWxlY3RBdHRyaWJ1dGVzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+LS0+XG4gICAgICAgICAgICAgICAgICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8L2xpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jcml0ZXJpYS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChjcml0ZXJpdW0gb2YgZmlsdGVyQ3JpdGVyaWE7IHRyYWNrIGNyaXRlcml1bTsgbGV0ICBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZmlsdGVyLWNyaXRlcml1bVxuICAgICAgICAgICAgICAgICAgICAgICAgW2NyaXRlcml1bV0gPSBcImNyaXRlcml1bVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5kZW50XT1cImkqMC44XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVDcml0ZXJpdW0pPVwiZGVsZXRlRmlsdGVyQ3JpdGVyaXVtKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXBwLWZpbHRlci1jcml0ZXJpdW0+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saWItZXhwYW5zaW9uLXBhbmVsPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1hcHBseS1idXR0b24tcm93XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnktYnV0dG9uXCIgW25nQ2xhc3NdPVwiZmlsdGVyQ3JpdGVyaWEubGVuZ3RoPT09MCA/ICdkaXNhYmxlZCcgOiAnJ1wiIChjbGljayk9XCJhcHBseUZpbHRlcigpXCI+IHt7XCJfQXBwbHkgZmlsdGVyXCIgfCB0cmFuc2xhdGV9fSA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1zZXBhcmF0b3JcIj48L2Rpdj5cblxuICAgICAgICAgICAgQHN3aXRjaChmaWx0ZXJDcml0ZXJpYVNlbGVjdGlvbk1vZGUkLmdldFZhbHVlKCkpe1xuICAgICAgICAgICAgICAgIEBjYXNlKEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZS5TZWxlY3RPYmplY3RQcm9wZXJ0aWVzKXtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCFzZWxlY3RlZE9iamVjdElkKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwiTm9PYmplY3RTZWxlY3RlZFwiPnt7IFwiX05vT2JqZWN0U2VsZWN0ZWRcIiB8IHRyYW5zbGF0ZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWJpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcGldPVwiYXBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZExhbmd1YWdlXT1cInNlbGVjdGVkTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2FsaXplZFN0cmluZ3NdPVwibG9jYWxpemVkU3RyaW5nc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGZpbHRlckNyaXRlcmlhKV09XCJmaWx0ZXJDcml0ZXJpYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm9vdE9iamVjdElkXT1cInNlbGVjdGVkT2JqZWN0SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNyaXRlcmlhQ2hhbmdlKT1cImFjdGl2YXRlTW9kaWZpZWRDdXN0b21GaWx0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLWNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBjYXNlKEZpbHRlckNyaXRlcmlhU2VsZWN0aW9uTW9kZS5TZWxlY3RBdHRyaWJ1dGVzKXtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZGVmYXVsdHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlLWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLW9iamVjdC1maWx0ZXItcmVzdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyUmVzdWx0XT1cImZpbHRlclJlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRPYmplY3RzXT1cInNlbGVjdGVkT2JqZWN0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm9kZVNlbGVjdGlvbkNoYW5nZWQpPVwiaGFuZGxlRmlsdGVyUmVzdWx0U2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub2RlRG91YmxlQ2xpY2tlZCk9XCJoYW5kbGVGaWx0ZXJSZXN1bE9iamVjdERvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm9kZU1vdXNlRW50ZXJlZCk9XCJoYW5kbGVGaWx0ZXJSZXN1bE9iamVjdE1vdXNlRW50ZXJlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub2RlTW91c2VMZWZ0KT1cImhhbmRsZUZpbHRlclJlc3VsT2JqZWN0TW91c2VMZWZ0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItb2JqZWN0LWZpbHRlci1yZXN1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgZGF0YS10ZXN0PVwib2JqZWN0LW5hdmlnYXRvci1uby1maWx0ZXItdHlwZXMtbWVzc2FnZVwiIGNsYXNzPVwib2JqZWN0LW5hdmlnYXRvci1uby1maWx0ZXItdHlwZXNcIj4ge3tcIl9ObyB2aXNpYmxlIG1vZGVscyBmb3VuZFwiIHwgdHJhbnNsYXRlfX0gPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbGliLWJpbXBsdXMtc2lkZW5hdi1kcmF3ZXItY29udGVudD5cbiJdfQ==
|
|
@@ -74,11 +74,11 @@ export class BimplusSidenavComponent extends BimplusLocalizedWidgetComponent {
|
|
|
74
74
|
this.drawerWidth += deltaX;
|
|
75
75
|
}
|
|
76
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusSidenavComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusSidenavComponent, isStandalone: true, selector: "lib-bimplus-sidenav", inputs: { items: "items", actionItems: "actionItems", footerItem: "footerItem" }, outputs: { activeItemChanged: "activeItemChanged", actionClicked: "actionClicked", footerClicked: "footerClicked" }, providers: [TranslateService], usesInheritance: true, ngImport: i0, template: "\
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusSidenavComponent, isStandalone: true, selector: "lib-bimplus-sidenav", inputs: { items: "items", actionItems: "actionItems", footerItem: "footerItem" }, outputs: { activeItemChanged: "activeItemChanged", actionClicked: "actionClicked", footerClicked: "footerClicked" }, providers: [TranslateService], usesInheritance: true, ngImport: i0, template: "\n<div class=\"sidenav\">\n <div class=\"sidenav-row\" *ngFor=\"let sideNavItem of items\">\n @if (sideNavItem.disabled) {\n <div\n [attr.data-test]=\"'sidenav_item_' + sideNavItem.id\"\n class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + sideNavItem.iconDisabled + ')'\"\n [title]=\"sideNavItem.text | translate\"\n >\n </div>\n } @else {\n @if (activeItem === sideNavItem.id) {\n <div\n [attr.data-test]=\"'sidenav_item_' + sideNavItem.id\"\n class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + sideNavItem.iconActive + ')'\"\n (click)=\"_toggleDrawer()\"\n [title]=\"sideNavItem.text | translate\"\n >\n </div>\n } @else {\n <div\n [attr.data-test]=\"'sidenav_item_' + sideNavItem.id\" class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + sideNavItem.icon + ')'\"\n (click)=\"_activateItem(sideNavItem.id)\"\n [title]=\"sideNavItem.text | translate\"\n >\n </div>\n }\n }\n </div>\n @if (actionItems.length > 0) {\n <div class=\"sidenav-separator\"></div>\n <div class=\"sidenav-row\" *ngFor=\"let actionItem of actionItems\">\n <div\n [attr.data-test]=\"'sidenav_action_item_' + actionItem.id\"\n class=\"sidenav-item\" [style.background]=\"' no-repeat center center url(' + actionItem.icon + ')'\"\n (click)=\"_clickAction(actionItem.id)\"\n [title]=\"actionItem.text | translate\"\n >\n </div>\n </div>\n }\n @if (footerItem) {\n <div class=\"sidenav-row-footer\">\n <div\n [attr.data-test]=\"'sidenav_footer_item_' + footerItem.id\"\n class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + footerItem.icon + ')'\"\n (click)=\"_clickFooter(footerItem.id)\"\n >\n </div>\n </div>\n }\n</div>\n\n<div\n class=\"sidenav-drawer\"\n [style.width] = \"drawerWidth | pxsuffix\"\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\n>\n <slot></slot>\n @if (drawerExpanded) { \n <div xDraggable\n class=\"sidenav-resize-border-right\"\n (dragging)=\"_onResizeWidth($event)\"\n >\n </div>\n <div xDraggable\n data-test=\"sidenav-resize-handle\"\n class=\"sidenav-resize-handle-left\"\n (dragging)=\"_onResizeWidth($event)\"\n (clicked)=\"_toggleDrawer()\"\n >\n </div>\n }\n</div>\n@if (!drawerExpanded) { \n <div\n data-test=\"sidenav-resize-handle\"\n class =\"sidenav-resize-handle-left collapsed\"\n (click)=\"_toggleDrawer()\"\n >\n </div>\n}\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav{width:4rem;height:100%;margin:0;padding:0;text-align:center;background-color:#444;border:0 solid #444444;font-size:0;display:flex;flex-direction:column;position:absolute;bottom:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav-item{width:3.2rem;height:3.2rem;background-size:2rem 2rem!important;margin:auto;cursor:pointer}.sidenav-separator{width:2rem;height:.1rem;border-top:.1rem solid white;cursor:default;pointer-events:none;margin-top:.8rem;text-align:center;display:inline-block;align-self:center}.sidenav-row{width:4rem;height:3.2rem;margin-top:.8rem;display:inline-block}.sidenav-row-footer{margin-top:auto;margin-bottom:5.2rem;width:4rem;height:3.2rem}.sidenav-row-footer:hover,.sidenav-row:hover{background-color:#555}.sidenav-drawer{min-width:25rem;height:100%;border:0 solid #444444;position:absolute;bottom:0;left:4rem;background-color:#fffc;transition:background-color .7s;border-right:solid thin #d4d4d4;width:300px;display:flex;flex-direction:row}.sidenav-drawer:hover{background-color:#fff}.sidenav-drawer.hidden{display:none}.sidenav-resize-border-right{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav-resize-handle-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0A</svg>%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:#ffffff94;cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav-resize-handle-left.collapsed{left:4rem!important;border-radius:.4rem 0 0 .4rem;transform:scaleX(-1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: PxsuffixPipe, name: "pxsuffix" }, { kind: "directive", type: XDraggableDirective, selector: "[xDraggable]", outputs: ["dragging", "clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
78
78
|
}
|
|
79
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusSidenavComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
|
-
args: [{ selector: 'lib-bimplus-sidenav', standalone: true, imports: [CommonModule, PxsuffixPipe, XDraggableDirective, TranslateModule], providers: [TranslateService], encapsulation: ViewEncapsulation.ShadowDom, template: "\
|
|
81
|
+
args: [{ selector: 'lib-bimplus-sidenav', standalone: true, imports: [CommonModule, PxsuffixPipe, XDraggableDirective, TranslateModule], providers: [TranslateService], encapsulation: ViewEncapsulation.ShadowDom, template: "\n<div class=\"sidenav\">\n <div class=\"sidenav-row\" *ngFor=\"let sideNavItem of items\">\n @if (sideNavItem.disabled) {\n <div\n [attr.data-test]=\"'sidenav_item_' + sideNavItem.id\"\n class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + sideNavItem.iconDisabled + ')'\"\n [title]=\"sideNavItem.text | translate\"\n >\n </div>\n } @else {\n @if (activeItem === sideNavItem.id) {\n <div\n [attr.data-test]=\"'sidenav_item_' + sideNavItem.id\"\n class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + sideNavItem.iconActive + ')'\"\n (click)=\"_toggleDrawer()\"\n [title]=\"sideNavItem.text | translate\"\n >\n </div>\n } @else {\n <div\n [attr.data-test]=\"'sidenav_item_' + sideNavItem.id\" class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + sideNavItem.icon + ')'\"\n (click)=\"_activateItem(sideNavItem.id)\"\n [title]=\"sideNavItem.text | translate\"\n >\n </div>\n }\n }\n </div>\n @if (actionItems.length > 0) {\n <div class=\"sidenav-separator\"></div>\n <div class=\"sidenav-row\" *ngFor=\"let actionItem of actionItems\">\n <div\n [attr.data-test]=\"'sidenav_action_item_' + actionItem.id\"\n class=\"sidenav-item\" [style.background]=\"' no-repeat center center url(' + actionItem.icon + ')'\"\n (click)=\"_clickAction(actionItem.id)\"\n [title]=\"actionItem.text | translate\"\n >\n </div>\n </div>\n }\n @if (footerItem) {\n <div class=\"sidenav-row-footer\">\n <div\n [attr.data-test]=\"'sidenav_footer_item_' + footerItem.id\"\n class=\"sidenav-item\"\n [style.background]=\"' no-repeat center center url(' + footerItem.icon + ')'\"\n (click)=\"_clickFooter(footerItem.id)\"\n >\n </div>\n </div>\n }\n</div>\n\n<div\n class=\"sidenav-drawer\"\n [style.width] = \"drawerWidth | pxsuffix\"\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\n>\n <slot></slot>\n @if (drawerExpanded) { \n <div xDraggable\n class=\"sidenav-resize-border-right\"\n (dragging)=\"_onResizeWidth($event)\"\n >\n </div>\n <div xDraggable\n data-test=\"sidenav-resize-handle\"\n class=\"sidenav-resize-handle-left\"\n (dragging)=\"_onResizeWidth($event)\"\n (clicked)=\"_toggleDrawer()\"\n >\n </div>\n }\n</div>\n@if (!drawerExpanded) { \n <div\n data-test=\"sidenav-resize-handle\"\n class =\"sidenav-resize-handle-left collapsed\"\n (click)=\"_toggleDrawer()\"\n >\n </div>\n}\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav{width:4rem;height:100%;margin:0;padding:0;text-align:center;background-color:#444;border:0 solid #444444;font-size:0;display:flex;flex-direction:column;position:absolute;bottom:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav-item{width:3.2rem;height:3.2rem;background-size:2rem 2rem!important;margin:auto;cursor:pointer}.sidenav-separator{width:2rem;height:.1rem;border-top:.1rem solid white;cursor:default;pointer-events:none;margin-top:.8rem;text-align:center;display:inline-block;align-self:center}.sidenav-row{width:4rem;height:3.2rem;margin-top:.8rem;display:inline-block}.sidenav-row-footer{margin-top:auto;margin-bottom:5.2rem;width:4rem;height:3.2rem}.sidenav-row-footer:hover,.sidenav-row:hover{background-color:#555}.sidenav-drawer{min-width:25rem;height:100%;border:0 solid #444444;position:absolute;bottom:0;left:4rem;background-color:#fffc;transition:background-color .7s;border-right:solid thin #d4d4d4;width:300px;display:flex;flex-direction:row}.sidenav-drawer:hover{background-color:#fff}.sidenav-drawer.hidden{display:none}.sidenav-resize-border-right{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav-resize-handle-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0A</svg>%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:#ffffff94;cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sidenav-resize-handle-left.collapsed{left:4rem!important;border-radius:.4rem 0 0 .4rem;transform:scaleX(-1)}\n"] }]
|
|
82
82
|
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { activeItemChanged: [{
|
|
83
83
|
type: Output
|
|
84
84
|
}], actionClicked: [{
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
92
92
|
}], footerItem: [{
|
|
93
93
|
type: Input
|
|
94
94
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1zaWRlbmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtc2lkZW5hdi9iaW1wbHVzLXNpZGVuYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1zaWRlbmF2L2JpbXBsdXMtc2lkZW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDNUUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sa0VBQWtFLENBQUE7QUFDaEgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQW9COUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLCtCQUErQjtJQUMxRSxZQUFZLGdCQUFtQztRQUM3QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUczQix3QkFBd0I7UUFDdEIsZUFBVSxHQUFZLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFZLEdBQUcsQ0FBQztRQUMzQixtQkFBYyxHQUFhLElBQUksQ0FBQztRQUV0QixzQkFBaUIsR0FBRyxJQUFJLFlB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Z0IsQ0FBQyxpQkFHZCxpQkFBaUIsQ0FBQyxTQUFTO3FGQVloQyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQU1NLEtBQUs7c0JBQWpCLEtBQUs7Z0JBYU8sV0FBVztzQkFBdkIsS0FBSztnQkFTTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFB4c3VmZml4UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3B4c3VmZml4LnBpcGUnO1xyXG5pbXBvcnQgeyBYRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy94LWRyYWdnYWJsZS5kaXJlY3RpdmUnXHJcbmltcG9ydCB7QmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIlxyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZW5hdkl0ZW17XHJcbiAgaWQgOiBzdHJpbmc7XHJcbiAgaWNvbj8gOiBzdHJpbmc7XHJcbiAgaWNvbkFjdGl2ZT8gOiBzdHJpbmc7XHJcbiAgaWNvbkRpc2FibGVkPyA6IHN0cmluZztcclxuICB0ZXh0IDogc3RyaW5nO1xyXG4gIGRpc2FibGVkPyA6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtc2lkZW5hdicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQeHN1ZmZpeFBpcGUsIFhEcmFnZ2FibGVEaXJlY3RpdmUsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtc2lkZW5hdi5jb21wb25lbnQubGVzcycsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c1NpZGVuYXZDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50e1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6ICBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpICBcclxuICB9XHJcblxyXG4vLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcclxuICBhY3RpdmVJdGVtIDogc3RyaW5nID0gXCJcIjtcclxuICBkcmF3ZXJXaWR0aCA6IG51bWJlciA9IDMwMDtcclxuICBkcmF3ZXJFeHBhbmRlZCA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgYWN0aXZlSXRlbUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBmb290ZXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGdldCBpdGVtcygpIDogQXJyYXk8U2lkZW5hdkl0ZW0+e1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxTaWRlbmF2SXRlbT4pIHtcclxuICAgIHRoaXMuX2l0ZW1zLmxlbmd0aCA9IDA7XHJcblxyXG4gICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcclxuICAgIGlmKHRoaXMuaXRlbXMubGVuZ3RoID4gMCl7XHJcbiAgICAgIHRoaXMuX2FjdGl2YXRlSXRlbSh0aGlzLml0ZW1zWzBdLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhY3Rpb25JdGVtcygpIDogQXJyYXk8U2lkZW5hdkl0ZW0+e1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbkl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGFjdGlvbkl0ZW1zKHZhbHVlOiBBcnJheTxTaWRlbmF2SXRlbT4pIHtcclxuICAgIHRoaXMuX2FjdGlvbkl0ZW1zLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLl9hY3Rpb25JdGVtcyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvb3Rlckl0ZW0oKSA6IFNpZGVuYXZJdGVtIHwgbnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9mb290ZXJJdGVtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGZvb3Rlckl0ZW0odmFsdWU6IFNpZGVuYXZJdGVtIHwgbnVsbCkge1xyXG5cclxuICAgIHRoaXMuX2Zvb3Rlckl0ZW0gPSB2YWx1ZTtcclxuICB9XHJcbi8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xyXG5cclxuLy8gI3JlZ2lvbiBwcml2YXRlIGZpZWxkc1xyXG4gIHByaXZhdGUgX2l0ZW1zIDogQXJyYXk8U2lkZW5hdkl0ZW0+ID0gbmV3IEFycmF5PFNpZGVuYXZJdGVtPigpO1xyXG4gIHByaXZhdGUgX2FjdGlvbkl0ZW1zIDogQXJyYXk8U2lkZW5hdkl0ZW0+ID0gbmV3IEFycmF5PFNpZGVuYXZJdGVtPigpO1xyXG4gIHByaXZhdGUgX2Zvb3Rlckl0ZW0gOiBTaWRlbmF2SXRlbSB8IG51bGwgPSBudWxsO1xyXG4vLyAjZW5kcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcblxyXG4vLyAjcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcbl9hY3RpdmF0ZUl0ZW0oaXRlbSA6IHN0cmluZyl7XHJcbiAgdGhpcy5hY3RpdmVJdGVtID0gaXRlbTtcclxuICBjb25zdCBmb3VuZEl0ZW0gPSB0aGlzLl9pdGVtcy5maW5kKHg9PnguaWQgPT0gaXRlbSk7XHJcbiAgaWYoIWZvdW5kSXRlbSl7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIFxyXG4gIGlmKCF0aGlzLmRyYXdlckV4cGFuZGVkKXtcclxuICAgIHRoaXMuX3RvZ2dsZURyYXdlcigpO1xyXG4gIH1cclxuICBmaXJlRXZlbnQodGhpcywgXCJhY3RpdmVJdGVtQ2hhbmdlZFwiLCBpdGVtKTtcclxufVxyXG5cclxuX2NsaWNrQWN0aW9uKGl0ZW0gOiBzdHJpbmcpe1xyXG4gIGZpcmVFdmVudCh0aGlzLCBcImFjdGlvbkNsaWNrZWRcIiwgaXRlbSk7XHJcbn1cclxuXHJcbl9jbGlja0Zvb3RlcihpdGVtIDogc3RyaW5nKXtcclxuICBmaXJlRXZlbnQodGhpcywgXCJmb290ZXJDbGlja2VkXCIsIGl0ZW0pO1xyXG59XHJcblxyXG5fdG9nZ2xlRHJhd2VyKCl7XHJcbiAgdGhpcy5kcmF3ZXJFeHBhbmRlZCA9ICF0aGlzLmRyYXdlckV4cGFuZGVkO1xyXG59XHJcblxyXG5fb25SZXNpemVXaWR0aChldmVudCA6IG51bWJlcik6IHZvaWQge1xyXG4gIGNvbnN0IGRlbHRhWCA9IGV2ZW50O1xyXG4gIHRoaXMuZHJhd2VyV2lkdGggKz0gZGVsdGFYO1xyXG59XHJcbi8vICNlbmRyZWdpb24gcHVibGljIG1ldGhvZHNcclxuXHJcbn1cclxuIiwiXHJcbjxkaXYgY2xhc3M9XCJzaWRlbmF2XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2lkZW5hdi1yb3dcIiAqbmdGb3I9XCJsZXQgc2lkZU5hdkl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgICBAaWYgKHNpZGVOYXZJdGVtLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIDxkaXYgW2F0dHIuZGF0YS10ZXN0XT1cIidzaWRlbmF2X2l0ZW1fJyArIHNpZGVOYXZJdGVtLmlkXCIgY2xhc3M9XCJzaWRlbmF2LWl0ZW1cIiBbc3R5bGUuYmFja2dyb3VuZF09XCInIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybCgnICsgc2lkZU5hdkl0ZW0uaWNvbkRpc2FibGVkICsgJyknXCI+PC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpZiAoYWN0aXZlSXRlbSA9PT0gc2lkZU5hdkl0ZW0uaWQpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgW2F0dHIuZGF0YS10ZXN0XT1cIidzaWRlbmF2X2l0ZW1fJyArIHNpZGVOYXZJdGVtLmlkXCIgY2xhc3M9XCJzaWRlbmF2LWl0ZW1cIiBbc3R5bGUuYmFja2dyb3VuZF09XCInIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybCgnICsgc2lkZU5hdkl0ZW0uaWNvbkFjdGl2ZSArICcpJ1wiIChjbGljayk9XCJfdG9nZ2xlRHJhd2VyKClcIj48L2Rpdj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFthdHRyLmRhdGEtdGVzdF09XCInc2lkZW5hdl9pdGVtXycgKyBzaWRlTmF2SXRlbS5pZFwiIGNsYXNzPVwic2lkZW5hdi1pdGVtXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiJyBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoJyArIHNpZGVOYXZJdGVtLmljb24gKyAnKSdcIiAoY2xpY2spPVwiX2FjdGl2YXRlSXRlbShzaWRlTmF2SXRlbS5pZClcIj48L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChhY3Rpb25JdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGVuYXYtc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGVuYXYtcm93XCIgKm5nRm9yPVwibGV0IGFjdGlvbkl0ZW0gb2YgYWN0aW9uSXRlbXNcIj5cclxuICAgICAgICAgICAgPGRpdiBbYXR0ci5kYXRhLXRlc3RdPVwiJ3NpZGVuYXZfYWN0aW9uX2l0ZW1fJyArIGFjdGlvbkl0ZW0uaWRcIiBjbGFzcz1cInNpZGVuYXYtaXRlbVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIicgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKCcgKyBhY3Rpb25JdGVtLmljb24gKyAnKSdcIiAoY2xpY2spPVwiX2NsaWNrQWN0aW9uKGFjdGlvbkl0ZW0uaWQpXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKGZvb3Rlckl0ZW0pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZW5hdi1yb3ctZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgW2F0dHIuZGF0YS10ZXN0XT1cIidzaWRlbmF2X2Zvb3Rlcl9pdGVtXycgKyBmb290ZXJJdGVtLmlkXCIgY2xhc3M9XCJzaWRlbmF2LWl0ZW1cIiBbc3R5bGUuYmFja2dyb3VuZF09XCInIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybCgnICsgZm9vdGVySXRlbS5pY29uICsgJyknXCIgKGNsaWNrKT1cIl9jbGlja0Zvb3Rlcihmb290ZXJJdGVtLmlkKVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJzaWRlbmF2LWRyYXdlclwiIFtzdHlsZS53aWR0aF0gPSBcImRyYXdlcldpZHRoIHwgcHhzdWZmaXhcIiBbbmdDbGFzc109XCJkcmF3ZXJFeHBhbmRlZCA/ICcnIDogJ2hpZGRlbidcIj5cclxuXHJcbiAgICA8c2xvdD48L3Nsb3Q+XHJcbiAgICBAaWYgKGRyYXdlckV4cGFuZGVkKSB7ICAgIFxyXG4gICAgICAgIDxkaXYgeERyYWdnYWJsZSBjbGFzcz1cInNpZGVuYXYtcmVzaXplLWJvcmRlci1yaWdodFwiIChkcmFnZ2luZyk9XCJfb25SZXNpemVXaWR0aCgkZXZlbnQpXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiB4RHJhZ2dhYmxlIGRhdGEtdGVzdD1cInNpZGVuYXYtcmVzaXplLWhhbmRsZVwiIGNsYXNzPVwic2lkZW5hdi1yZXNpemUtaGFuZGxlLWxlZnRcIiAoZHJhZ2dpbmcpPVwiX29uUmVzaXplV2lkdGgoJGV2ZW50KVwiIChjbGlja2VkKT1cIl90b2dnbGVEcmF3ZXIoKVwiPjwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuQGlmICghZHJhd2VyRXhwYW5kZWQpIHsgICAgXHJcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInNpZGVuYXYtcmVzaXplLWhhbmRsZVwiIGNsYXNzID1cInNpZGVuYXYtcmVzaXplLWhhbmRsZS1sZWZ0IGNvbGxhcHNlZFwiIChjbGljayk9XCJfdG9nZ2xlRHJhd2VyKClcIj48L2Rpdj5cclxufVxyXG4iXX0=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1zaWRlbmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtc2lkZW5hdi9iaW1wbHVzLXNpZGVuYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1zaWRlbmF2L2JpbXBsdXMtc2lkZW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDNUUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sa0VBQWtFLENBQUE7QUFDaEgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQW9COUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLCtCQUErQjtJQUMxRSxZQUFZLGdCQUFtQztRQUM3QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUczQix3QkFBd0I7UUFDdEIsZUFBVSxHQUFZLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFZLEdBQUcsQ0FBQztRQUMzQixtQkFBYyxHQUFhLElBQUksQ0FBQztRQUV0QixzQkFBaUIsR0FBRyxJQUFJLFlB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Z0IsQ0FBQyxpQkFHZCxpQkFBaUIsQ0FBQyxTQUFTO3FGQVloQyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQU1NLEtBQUs7c0JBQWpCLEtBQUs7Z0JBYU8sV0FBVztzQkFBdkIsS0FBSztnQkFTTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFB4c3VmZml4UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3B4c3VmZml4LnBpcGUnO1xyXG5pbXBvcnQgeyBYRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy94LWRyYWdnYWJsZS5kaXJlY3RpdmUnXHJcbmltcG9ydCB7QmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIlxyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZW5hdkl0ZW17XHJcbiAgaWQgOiBzdHJpbmc7XHJcbiAgaWNvbj8gOiBzdHJpbmc7XHJcbiAgaWNvbkFjdGl2ZT8gOiBzdHJpbmc7XHJcbiAgaWNvbkRpc2FibGVkPyA6IHN0cmluZztcclxuICB0ZXh0IDogc3RyaW5nO1xyXG4gIGRpc2FibGVkPyA6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtc2lkZW5hdicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQeHN1ZmZpeFBpcGUsIFhEcmFnZ2FibGVEaXJlY3RpdmUsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtc2lkZW5hdi5jb21wb25lbnQubGVzcycsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c1NpZGVuYXZDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50e1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6ICBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpICBcclxuICB9XHJcblxyXG4vLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcclxuICBhY3RpdmVJdGVtIDogc3RyaW5nID0gXCJcIjtcclxuICBkcmF3ZXJXaWR0aCA6IG51bWJlciA9IDMwMDtcclxuICBkcmF3ZXJFeHBhbmRlZCA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgYWN0aXZlSXRlbUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBmb290ZXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGdldCBpdGVtcygpIDogQXJyYXk8U2lkZW5hdkl0ZW0+e1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxTaWRlbmF2SXRlbT4pIHtcclxuICAgIHRoaXMuX2l0ZW1zLmxlbmd0aCA9IDA7XHJcblxyXG4gICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcclxuICAgIGlmKHRoaXMuaXRlbXMubGVuZ3RoID4gMCl7XHJcbiAgICAgIHRoaXMuX2FjdGl2YXRlSXRlbSh0aGlzLml0ZW1zWzBdLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhY3Rpb25JdGVtcygpIDogQXJyYXk8U2lkZW5hdkl0ZW0+e1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbkl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGFjdGlvbkl0ZW1zKHZhbHVlOiBBcnJheTxTaWRlbmF2SXRlbT4pIHtcclxuICAgIHRoaXMuX2FjdGlvbkl0ZW1zLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLl9hY3Rpb25JdGVtcyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvb3Rlckl0ZW0oKSA6IFNpZGVuYXZJdGVtIHwgbnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9mb290ZXJJdGVtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGZvb3Rlckl0ZW0odmFsdWU6IFNpZGVuYXZJdGVtIHwgbnVsbCkge1xyXG5cclxuICAgIHRoaXMuX2Zvb3Rlckl0ZW0gPSB2YWx1ZTtcclxuICB9XHJcbi8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xyXG5cclxuLy8gI3JlZ2lvbiBwcml2YXRlIGZpZWxkc1xyXG4gIHByaXZhdGUgX2l0ZW1zIDogQXJyYXk8U2lkZW5hdkl0ZW0+ID0gbmV3IEFycmF5PFNpZGVuYXZJdGVtPigpO1xyXG4gIHByaXZhdGUgX2FjdGlvbkl0ZW1zIDogQXJyYXk8U2lkZW5hdkl0ZW0+ID0gbmV3IEFycmF5PFNpZGVuYXZJdGVtPigpO1xyXG4gIHByaXZhdGUgX2Zvb3Rlckl0ZW0gOiBTaWRlbmF2SXRlbSB8IG51bGwgPSBudWxsO1xyXG4vLyAjZW5kcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcblxyXG4vLyAjcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcbl9hY3RpdmF0ZUl0ZW0oaXRlbSA6IHN0cmluZyl7XHJcbiAgdGhpcy5hY3RpdmVJdGVtID0gaXRlbTtcclxuICBjb25zdCBmb3VuZEl0ZW0gPSB0aGlzLl9pdGVtcy5maW5kKHg9PnguaWQgPT0gaXRlbSk7XHJcbiAgaWYoIWZvdW5kSXRlbSl7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIFxyXG4gIGlmKCF0aGlzLmRyYXdlckV4cGFuZGVkKXtcclxuICAgIHRoaXMuX3RvZ2dsZURyYXdlcigpO1xyXG4gIH1cclxuICBmaXJlRXZlbnQodGhpcywgXCJhY3RpdmVJdGVtQ2hhbmdlZFwiLCBpdGVtKTtcclxufVxyXG5cclxuX2NsaWNrQWN0aW9uKGl0ZW0gOiBzdHJpbmcpe1xyXG4gIGZpcmVFdmVudCh0aGlzLCBcImFjdGlvbkNsaWNrZWRcIiwgaXRlbSk7XHJcbn1cclxuXHJcbl9jbGlja0Zvb3RlcihpdGVtIDogc3RyaW5nKXtcclxuICBmaXJlRXZlbnQodGhpcywgXCJmb290ZXJDbGlja2VkXCIsIGl0ZW0pO1xyXG59XHJcblxyXG5fdG9nZ2xlRHJhd2VyKCl7XHJcbiAgdGhpcy5kcmF3ZXJFeHBhbmRlZCA9ICF0aGlzLmRyYXdlckV4cGFuZGVkO1xyXG59XHJcblxyXG5fb25SZXNpemVXaWR0aChldmVudCA6IG51bWJlcik6IHZvaWQge1xyXG4gIGNvbnN0IGRlbHRhWCA9IGV2ZW50O1xyXG4gIHRoaXMuZHJhd2VyV2lkdGggKz0gZGVsdGFYO1xyXG59XHJcbi8vICNlbmRyZWdpb24gcHVibGljIG1ldGhvZHNcclxuXHJcbn1cclxuIiwiXG48ZGl2IGNsYXNzPVwic2lkZW5hdlwiPlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlbmF2LXJvd1wiICpuZ0Zvcj1cImxldCBzaWRlTmF2SXRlbSBvZiBpdGVtc1wiPlxuICAgICAgICBAaWYgKHNpZGVOYXZJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidzaWRlbmF2X2l0ZW1fJyArIHNpZGVOYXZJdGVtLmlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpZGVuYXYtaXRlbVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJyBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoJyArIHNpZGVOYXZJdGVtLmljb25EaXNhYmxlZCArICcpJ1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInNpZGVOYXZJdGVtLnRleHQgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChhY3RpdmVJdGVtID09PSBzaWRlTmF2SXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidzaWRlbmF2X2l0ZW1fJyArIHNpZGVOYXZJdGVtLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaWRlbmF2LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybCgnICsgc2lkZU5hdkl0ZW0uaWNvbkFjdGl2ZSArICcpJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlRHJhd2VyKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwic2lkZU5hdkl0ZW0udGV4dCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ3NpZGVuYXZfaXRlbV8nICsgc2lkZU5hdkl0ZW0uaWRcIiBjbGFzcz1cInNpZGVuYXYtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIicgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKCcgKyBzaWRlTmF2SXRlbS5pY29uICsgJyknXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9hY3RpdmF0ZUl0ZW0oc2lkZU5hdkl0ZW0uaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInNpZGVOYXZJdGVtLnRleHQgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoYWN0aW9uSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZW5hdi1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGVuYXYtcm93XCIgKm5nRm9yPVwibGV0IGFjdGlvbkl0ZW0gb2YgYWN0aW9uSXRlbXNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ3NpZGVuYXZfYWN0aW9uX2l0ZW1fJyArIGFjdGlvbkl0ZW0uaWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2lkZW5hdi1pdGVtXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiJyBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoJyArIGFjdGlvbkl0ZW0uaWNvbiArICcpJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbGlja0FjdGlvbihhY3Rpb25JdGVtLmlkKVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImFjdGlvbkl0ZW0udGV4dCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoZm9vdGVySXRlbSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZW5hdi1yb3ctZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidzaWRlbmF2X2Zvb3Rlcl9pdGVtXycgKyBmb290ZXJJdGVtLmlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpZGVuYXYtaXRlbVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJyBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoJyArIGZvb3Rlckl0ZW0uaWNvbiArICcpJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbGlja0Zvb3Rlcihmb290ZXJJdGVtLmlkKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG5cbjxkaXZcbiAgICBjbGFzcz1cInNpZGVuYXYtZHJhd2VyXCJcbiAgICBbc3R5bGUud2lkdGhdID0gXCJkcmF3ZXJXaWR0aCB8IHB4c3VmZml4XCJcbiAgICBbbmdDbGFzc109XCJkcmF3ZXJFeHBhbmRlZCA/ICcnIDogJ2hpZGRlbidcIlxuPlxuICAgIDxzbG90Pjwvc2xvdD5cbiAgICBAaWYgKGRyYXdlckV4cGFuZGVkKSB7ICAgIFxuICAgICAgICA8ZGl2IHhEcmFnZ2FibGVcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZW5hdi1yZXNpemUtYm9yZGVyLXJpZ2h0XCJcbiAgICAgICAgICAgIChkcmFnZ2luZyk9XCJfb25SZXNpemVXaWR0aCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiB4RHJhZ2dhYmxlXG4gICAgICAgICAgICBkYXRhLXRlc3Q9XCJzaWRlbmF2LXJlc2l6ZS1oYW5kbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlbmF2LXJlc2l6ZS1oYW5kbGUtbGVmdFwiXG4gICAgICAgICAgICAoZHJhZ2dpbmcpPVwiX29uUmVzaXplV2lkdGgoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJfdG9nZ2xlRHJhd2VyKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuQGlmICghZHJhd2VyRXhwYW5kZWQpIHsgICAgXG4gICAgPGRpdlxuICAgICAgICBkYXRhLXRlc3Q9XCJzaWRlbmF2LXJlc2l6ZS1oYW5kbGVcIlxuICAgICAgICBjbGFzcyA9XCJzaWRlbmF2LXJlc2l6ZS1oYW5kbGUtbGVmdCBjb2xsYXBzZWRcIlxuICAgICAgICAoY2xpY2spPVwiX3RvZ2dsZURyYXdlcigpXCJcbiAgICA+XG4gICAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -8,7 +8,7 @@ export class BimplusSidenavDrawerContentComponent {
|
|
|
8
8
|
this.loadingSpinnerText = "";
|
|
9
9
|
}
|
|
10
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusSidenavDrawerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusSidenavDrawerContentComponent, isStandalone: true, selector: "lib-bimplus-sidenav-drawer-content", inputs: { header: "header", isLoading: "isLoading", loadingSpinnerText: "loadingSpinnerText" }, ngImport: i0, template: "<div class=\"sidenav-drawer-content-layout\">\n @if (header) { \n <div class = \"sidenav-drawer-header\">\n <div class = \"sidenav-drawer-header-title\">\n <span>{{header}}</span>\n </div>\n </div>\n }\n \n <div class=\"sidenav-drawer-content-offset\">\n <ng-content></ng-content>\n </div>\n @if(isLoading){\n <div class=\"sidenav-drawer-loading-overlay\">\n <lib-loading-spinner\n [spinnerHoverEnabled]=\"false\"\n [spinnerSpinActive]=\"true\"\n [spinnerDisabled]=\"false\"\n [spinnerText]=\"loadingSpinnerText\"\n >\n </lib-loading-spinner>\n </div>\n }\n</div>\n", styles: [".sidenav-drawer-content-layout{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;width:100%;max-height:100%;min-height:0}.sidenav-drawer-content-layout>.sidenav-drawer-header{flex:0;width:100%;background-color:#f5f5f5cc;transition:background-color .7s;display:inline-block}.sidenav-drawer-content-layout>.sidenav-drawer-header>.sidenav-drawer-header-title{font-size:1.8rem;flex-shrink:0;height:2.4rem;line-height:2.4rem;font-weight:600;padding-left:1.4rem;padding-bottom:0;margin-top:1rem;margin-bottom:1.2rem;overflow:hidden}.sidenav-drawer-content-layout>.sidenav-drawer-content-offset{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;max-height:100%;min-height:0;margin:var(--sidenav-drawer-content-offset, .8rem)}.sidenav-drawer-content-layout>.sidenav-drawer-loading-overlay{position:absolute;top:4.6rem;left:0;min-width:100%;min-height:100%;z-index:4}.sidenav-drawer-content-layout>.sidenav-drawer-loading-overlay>lib-loading-spinner{--background-color: rgba(0, 0, 0, .5);--loading-spinner-size: 6rem;--loading-spinner-time: 1.8s;--color: white}\n"], dependencies: [{ kind: "component", type: LoadingSpinnerComponent, selector: "lib-loading-spinner", inputs: ["spinnerSpinActive", "spinnerHoverEnabled", "spinnerDisabled", "spinnerText"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusSidenavDrawerContentComponent, isStandalone: true, selector: "lib-bimplus-sidenav-drawer-content", inputs: { header: "header", isLoading: "isLoading", loadingSpinnerText: "loadingSpinnerText" }, ngImport: i0, template: "<div class=\"sidenav-drawer-content-layout\">\n @if (header) { \n <div class = \"sidenav-drawer-header\">\n <div class = \"sidenav-drawer-header-title\">\n <span>{{header}}</span>\n </div>\n </div>\n }\n \n <div class=\"sidenav-drawer-content-offset\">\n <ng-content></ng-content>\n </div>\n @if(isLoading){\n <div class=\"sidenav-drawer-loading-overlay\">\n <lib-loading-spinner\n [spinnerHoverEnabled]=\"false\"\n [spinnerSpinActive]=\"true\"\n [spinnerDisabled]=\"false\"\n [spinnerText]=\"loadingSpinnerText\"\n >\n </lib-loading-spinner>\n </div>\n }\n</div>\n", styles: [".sidenav-drawer-content-layout{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;width:100%;max-height:100%;min-height:0}.sidenav-drawer-content-layout>.sidenav-drawer-header{flex:0;width:100%;background-color:#f5f5f5cc;transition:background-color .7s;display:inline-block}.sidenav-drawer-content-layout>.sidenav-drawer-header>.sidenav-drawer-header-title{font-size:1.8rem;flex-shrink:0;height:2.4rem;line-height:2.4rem;font-weight:600;padding-left:1.4rem;padding-bottom:0;margin-top:1rem;margin-bottom:1.2rem;overflow:hidden}.sidenav-drawer-content-layout>.sidenav-drawer-content-offset{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;max-height:100%;min-height:0;margin:var(--sidenav-drawer-content-offset, .8rem)}.sidenav-drawer-content-layout>.sidenav-drawer-loading-overlay{position:absolute;top:4.6rem;left:0;min-width:100%;min-height:100%;z-index:4}.sidenav-drawer-content-layout>.sidenav-drawer-loading-overlay>lib-loading-spinner{--background-color: rgba(0, 0, 0, .5);--loading-spinner-size: 6rem;--loading-spinner-time: 1.8s;--color: white}\n"], dependencies: [{ kind: "component", type: LoadingSpinnerComponent, selector: "lib-loading-spinner", inputs: ["spinnerSpinActive", "spinnerHoverEnabled", "spinnerDisabled", "spinnerText", "spinnerTexts"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
12
12
|
}
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusSidenavDrawerContentComponent, decorators: [{
|
|
14
14
|
type: Component,
|