@mediusinc/mng-commons-layout 5.3.0-rc.0 → 5.3.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/index.mjs +4 -2
- package/esm2022/lib/components/footer.component.mjs +5 -3
- package/esm2022/lib/components/main-layout.component.mjs +11 -12
- package/esm2022/lib/components/menu-item.component.mjs +13 -13
- package/esm2022/lib/components/menu.component.mjs +4 -4
- package/esm2022/lib/components/pages/error/error.page.component.mjs +20 -0
- package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +20 -0
- package/esm2022/lib/components/settings.component.mjs +46 -8
- package/esm2022/lib/components/sidebar.component.mjs +11 -12
- package/esm2022/lib/components/topbar-user.component.mjs +11 -5
- package/esm2022/lib/components/topbar.component.mjs +4 -4
- package/esm2022/lib/helpers/menu-items.mjs +2 -2
- package/esm2022/lib/provide.mjs +3 -1
- package/esm2022/lib/services/layout-feature-config.token.mjs +1 -1
- package/esm2022/lib/services/layout.service.mjs +166 -0
- package/esm2022/lib/services/menu.service.mjs +2 -2
- package/fesm2022/mediusinc-mng-commons-layout.mjs +284 -143
- package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -1
- package/index.d.ts +3 -1
- package/lib/components/footer.component.d.ts +2 -0
- package/lib/components/main-layout.component.d.ts +2 -4
- package/lib/components/menu-item.component.d.ts +1 -1
- package/lib/components/menu.component.d.ts +1 -1
- package/lib/components/pages/error/error.page.component.d.ts +7 -0
- package/lib/components/pages/not-found/not-found.page.component.d.ts +7 -0
- package/lib/components/settings.component.d.ts +11 -3
- package/lib/components/sidebar.component.d.ts +2 -4
- package/lib/components/topbar-user.component.d.ts +2 -0
- package/lib/components/topbar.component.d.ts +2 -2
- package/lib/services/layout-feature-config.token.d.ts +72 -0
- package/lib/services/layout.service.d.ts +46 -0
- package/package.json +2 -2
- package/scss/theme/theme-base/_components.scss +2 -2
- package/scss/theme/theme-base/mng/_mng_theme_datatable.scss +4 -0
- package/scss/theme/theme-base/mng/_mng_theme_input.scss +5 -0
- package/scss/theme/theme-base/mng/_mng_theme_styles.scss +1 -0
- package/scss/theme/theme-base/mng/_mng_theme_tableview.scss +4 -0
- package/scss/theme/theme-base/mng/_mng_theme_tag.scss +11 -0
- package/version-info.json +5 -5
- package/esm2022/lib/services/main-layout.component.service.mjs +0 -91
- package/lib/services/main-layout.component.service.d.ts +0 -26
|
@@ -1,33 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
|
|
2
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
4
|
import { FormsModule } from '@angular/forms';
|
|
4
5
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
5
6
|
import { Button } from 'primeng/button';
|
|
6
7
|
import { DropdownModule } from 'primeng/dropdown';
|
|
7
8
|
import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
|
|
9
|
+
import { InputSwitchModule } from 'primeng/inputswitch';
|
|
8
10
|
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
11
|
+
import { SelectButtonModule } from 'primeng/selectbutton';
|
|
9
12
|
import { CommonsService } from '@mediusinc/mng-commons/core';
|
|
10
|
-
import {
|
|
13
|
+
import { LayoutService } from '../services/layout.service';
|
|
11
14
|
import * as i0 from "@angular/core";
|
|
12
15
|
import * as i1 from "@ngx-translate/core";
|
|
13
16
|
import * as i2 from "primeng/radiobutton";
|
|
14
17
|
import * as i3 from "@angular/forms";
|
|
15
18
|
import * as i4 from "primeng/dropdown";
|
|
19
|
+
import * as i5 from "primeng/selectbutton";
|
|
20
|
+
const defaultColorSchemeOpts = [
|
|
21
|
+
{
|
|
22
|
+
value: 'auto',
|
|
23
|
+
label: 'system'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
value: 'light',
|
|
27
|
+
label: 'light'
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
value: 'dark',
|
|
31
|
+
label: 'dark'
|
|
32
|
+
}
|
|
33
|
+
];
|
|
16
34
|
export class SettingsComponent {
|
|
17
35
|
constructor() {
|
|
36
|
+
this.document = inject(DOCUMENT);
|
|
18
37
|
this.dynamicDialogConfig = inject(DynamicDialogConfig);
|
|
19
38
|
this.dynamicDialogRef = inject(DynamicDialogRef);
|
|
39
|
+
this.colorSchemeOptions = signal(defaultColorSchemeOpts);
|
|
20
40
|
this.injector = this.dynamicDialogConfig.data.injector;
|
|
21
41
|
this.translate = this.injector.get(TranslateService);
|
|
22
42
|
this.commons = this.injector.get(CommonsService);
|
|
23
|
-
this.
|
|
24
|
-
this.menuModes = this.
|
|
43
|
+
this.layout = this.injector.get(LayoutService);
|
|
44
|
+
this.menuModes = this.layout.menuModes;
|
|
25
45
|
this.translate
|
|
26
46
|
.stream('mngSettings.title')
|
|
27
47
|
.pipe(takeUntilDestroyed())
|
|
28
48
|
.subscribe(t => {
|
|
29
49
|
setTimeout(() => (this.dynamicDialogConfig.header = t));
|
|
30
50
|
});
|
|
51
|
+
const translateKey = 'mngSettings.colorScheme.options';
|
|
52
|
+
this.translate
|
|
53
|
+
.stream('mngSettings.colorScheme.options')
|
|
54
|
+
.pipe(takeUntilDestroyed())
|
|
55
|
+
.subscribe(t => {
|
|
56
|
+
if (t === translateKey) {
|
|
57
|
+
this.colorSchemeOptions.set(defaultColorSchemeOpts);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.colorSchemeOptions.update(options => options.map(o => ({
|
|
61
|
+
value: o.value,
|
|
62
|
+
label: `${t[o.value]}`
|
|
63
|
+
})));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
31
66
|
}
|
|
32
67
|
switchLocale(language) {
|
|
33
68
|
this.commons.setAppLocale(language);
|
|
@@ -36,16 +71,19 @@ export class SettingsComponent {
|
|
|
36
71
|
this.commons.setAppDataLocale(language);
|
|
37
72
|
}
|
|
38
73
|
onMenuModeChange(mode) {
|
|
39
|
-
this.
|
|
74
|
+
this.layout.onMenuModeChange(mode);
|
|
75
|
+
}
|
|
76
|
+
onColorSchemeChange(scheme) {
|
|
77
|
+
this.layout.setColorScheme(scheme);
|
|
40
78
|
}
|
|
41
79
|
closeDialog() {
|
|
42
80
|
this.dynamicDialogRef.close();
|
|
43
81
|
}
|
|
44
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SettingsComponent, isStandalone: true, selector: "mng-settings", ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"formgrid grid\">\n @if (commons.appLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-dropdown [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-dropdown>\n </div>\n }\n </div>\n }\n\n @if (menuModes.length > 1) {\n <h5>{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n @for (mode of menuModes; track mode) {\n <div class=\"field-radiobutton col-6 md:col-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SettingsComponent, isStandalone: true, selector: "mng-settings", ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"formgrid grid\">\n @if (commons.appLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-dropdown [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-dropdown>\n </div>\n }\n </div>\n }\n\n <h5>{{ 'mngSettings.colorScheme.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n <p-selectButton\n [options]=\"colorSchemeOptions()\"\n [ngModel]=\"layout.colorSchemeSetting()\"\n (ngModelChange)=\"onColorSchemeChange($event)\"\n optionLabel=\"label\"\n optionValue=\"value\"\n allowEmpty=\"false\" />\n </div>\n\n @if (menuModes.length > 1) {\n <h5>{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n @for (mode of menuModes; track mode) {\n <div class=\"field-radiobutton col-6 md:col-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"layout.menuMode()\" (ngModelChange)=\"onMenuModeChange(mode)\" />\n <label [for]=\"mode\" class=\"ml-2\">\n {{ 'mngSettings.menuMode.' + mode | translate }}\n </label>\n </div>\n }\n </div>\n }\n\n <div class=\"flex flex-row justify-content-between mng-action-editor-footer-container\">\n <div></div>\n <div>\n <p-button (onClick)=\"closeDialog()\" [label]=\"'general.close' | translate\" icon=\"pi pi-times\" styleClass=\"p-button-primary p-button-text\" />\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i2.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { 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: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i5.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
84
|
}
|
|
47
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SettingsComponent, decorators: [{
|
|
48
86
|
type: Component,
|
|
49
|
-
args: [{ standalone: true, selector: 'mng-settings', imports: [TranslateModule, RadioButtonModule, FormsModule, Button, DropdownModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"formgrid grid\">\n @if (commons.appLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-dropdown [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-dropdown>\n </div>\n }\n </div>\n }\n\n @if (menuModes.length > 1) {\n <h5>{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n @for (mode of menuModes; track mode) {\n <div class=\"field-radiobutton col-6 md:col-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"
|
|
87
|
+
args: [{ standalone: true, selector: 'mng-settings', imports: [TranslateModule, RadioButtonModule, FormsModule, Button, DropdownModule, InputSwitchModule, SelectButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"formgrid grid\">\n @if (commons.appLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-dropdown [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-dropdown>\n </div>\n }\n </div>\n }\n\n <h5>{{ 'mngSettings.colorScheme.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n <p-selectButton\n [options]=\"colorSchemeOptions()\"\n [ngModel]=\"layout.colorSchemeSetting()\"\n (ngModelChange)=\"onColorSchemeChange($event)\"\n optionLabel=\"label\"\n optionValue=\"value\"\n allowEmpty=\"false\" />\n </div>\n\n @if (menuModes.length > 1) {\n <h5>{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n @for (mode of menuModes; track mode) {\n <div class=\"field-radiobutton col-6 md:col-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"layout.menuMode()\" (ngModelChange)=\"onMenuModeChange(mode)\" />\n <label [for]=\"mode\" class=\"ml-2\">\n {{ 'mngSettings.menuMode.' + mode | translate }}\n </label>\n </div>\n }\n </div>\n }\n\n <div class=\"flex flex-row justify-content-between mng-action-editor-footer-container\">\n <div></div>\n <div>\n <p-button (onClick)=\"closeDialog()\" [label]=\"'general.close' | translate\" icon=\"pi pi-times\" styleClass=\"p-button-primary p-button-text\" />\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
50
88
|
}], ctorParameters: () => [] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3NldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFZLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRzNELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFTckYsTUFBTSxPQUFPLGlCQUFpQjtJQVUxQjtRQVRpQix3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBRTlDLElBQUksQ0FBQyxTQUFTO2FBQ1QsTUFBTSxDQUFDLG1CQUFtQixDQUFDO2FBQzNCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQzFCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQW9CO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0F2Q1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsd0VDdEI5Qiw4bUVBMENBLDJDRHhCYyxlQUFlLDJGQUFFLGlCQUFpQiw0VUFBRSxXQUFXLCtWQUFFLE1BQU0scVZBQUUsY0FBYzs7MkZBSXhFLGlCQUFpQjtrQkFQN0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUNmLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLG1CQUVqRSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7RHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7UmFkaW9CdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0xheW91dE1lbnVNb2RlfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi1sYXlvdXQuY29tcG9uZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXNldHRpbmdzJyxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBSYWRpb0J1dHRvbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEJ1dHRvbiwgRHJvcGRvd25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0RpYWxvZ0NvbmZpZyA9IGluamVjdChEeW5hbWljRGlhbG9nQ29uZmlnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtaWNEaWFsb2dSZWYgPSBpbmplY3QoRHluYW1pY0RpYWxvZ1JlZik7XG4gICAgcHVibGljIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zO1xuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXRTZXJ2aWNlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1lbnVNb2RlcztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluamVjdG9yID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaW5qZWN0b3I7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlID0gdGhpcy5pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgICAgIHRoaXMuY29tbW9ucyA9IHRoaXMuaW5qZWN0b3IuZ2V0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UpO1xuICAgICAgICB0aGlzLm1lbnVNb2RlcyA9IHRoaXMubGF5b3V0U2VydmljZS5tZW51TW9kZXM7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0oJ21uZ1NldHRpbmdzLnRpdGxlJylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuaGVhZGVyID0gdCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3dpdGNoTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcExvY2FsZShsYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgc3dpdGNoRGF0YUxvY2FsZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29tbW9ucy5zZXRBcHBEYXRhTG9jYWxlKGxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICBvbk1lbnVNb2RlQ2hhbmdlKG1vZGU6IExheW91dE1lbnVNb2RlKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vbk1lbnVNb2RlQ2hhbmdlKG1vZGUpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKCkge1xuICAgICAgICB0aGlzLmR5bmFtaWNEaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIGZsZXggZmxleC1jb2x1bW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgbW5nLWFjdGlvbi1lZGl0b3ItZm9ybS1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChjb21tb25zLmFwcExvY2FsZXMoKS5sZW5ndGggPiAxIHx8IGNvbW1vbnMuYXBwRGF0YUxvY2FsZXMoKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICA8aDU+e3sgJ21uZ1NldHRpbmdzLmxvY2FsZXMnIHwgdHJhbnNsYXRlIH19PC9oNT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtZ3JpZCBncmlkXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb21tb25zLmFwcExvY2FsZXMoKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwci00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWdsb2JlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW25nTW9kZWxdPVwiY29tbW9ucy5hcHBMb2NhbGUoKVwiIFtvcHRpb25zXT1cImNvbW1vbnMuYXBwTG9jYWxlcygpXCIgKG9uQ2hhbmdlKT1cInN3aXRjaExvY2FsZSgkZXZlbnQudmFsdWUpXCI+PC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChjb21tb25zLmFwcERhdGFMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgcHItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1kYXRhYmFzZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtuZ01vZGVsXT1cImNvbW1vbnMuYXBwRGF0YUxvY2FsZSgpXCIgW29wdGlvbnNdPVwiY29tbW9ucy5hcHBEYXRhTG9jYWxlcygpXCIgKG9uQ2hhbmdlKT1cInN3aXRjaERhdGFMb2NhbGUoJGV2ZW50LnZhbHVlKVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKG1lbnVNb2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICA8aDU+e3sgJ21uZ1NldHRpbmdzLm1lbnVNb2RlLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG1vZGUgb2YgbWVudU1vZGVzOyB0cmFjayBtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvbiBjb2wtNiBtZDpjb2wtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b24gbmFtZT1cImNhdGVnb3J5XCIgW3ZhbHVlXT1cIm1vZGVcIiBbbmdNb2RlbF09XCJsYXlvdXRTZXJ2aWNlLm1lbnVNb2RlKClcIiAobmdNb2RlbENoYW5nZSk9XCJvbk1lbnVNb2RlQ2hhbmdlKG1vZGUpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIm1vZGVcIiBjbGFzcz1cIm1sLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnbW5nU2V0dGluZ3MubWVudU1vZGUuJyArIG1vZGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWJldHdlZW4gbW5nLWFjdGlvbi1lZGl0b3ItZm9vdGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHAtYnV0dG9uIChvbkNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBbbGFiZWxdPVwiJ2dlbmVyYWwuY2xvc2UnIHwgdHJhbnNsYXRlXCIgaWNvbj1cInBpIHBpLXRpbWVzXCIgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXByaW1hcnkgcC1idXR0b24tdGV4dFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3NldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQWMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBT3pELE1BQU0sc0JBQXNCLEdBQXdCO0lBQ2hEO1FBQ0ksS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUUsUUFBUTtLQUNsQjtJQUNEO1FBQ0ksS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsT0FBTztLQUNqQjtJQUNEO1FBQ0ksS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUUsTUFBTTtLQUNoQjtDQUNKLENBQUM7QUFTRixNQUFNLE9BQU8saUJBQWlCO0lBYzFCO1FBYmlCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFRdEQsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFHdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFFdkMsSUFBSSxDQUFDLFNBQVM7YUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxZQUFZLEdBQUcsaUNBQWlDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVM7YUFDVCxNQUFNLENBQUMsaUNBQWlDLENBQUM7YUFDekMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7b0JBQ2QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtpQkFDekIsQ0FBQyxDQUFDLENBQ04sQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQW9CO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQW1CO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBaEVRLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdFQzdDOUIsd2lGQXFEQSwyQ0RaYyxlQUFlLDJGQUFFLGlCQUFpQiw0VUFBRSxXQUFXLCtWQUFFLE1BQU0scVZBQUUsY0FBYywycUNBQUUsaUJBQWlCLDhCQUFFLGtCQUFrQjs7MkZBSS9HLGlCQUFpQjtrQkFQN0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUNmLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLG1CQUV4Ryx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7RHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7SW5wdXRTd2l0Y2hNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xuaW1wb3J0IHtSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9yYWRpb2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdEJ1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9zZWxlY3RidXR0b24nO1xuXG5pbXBvcnQge0NvbG9yU2NoZW1lLCBDb21tb25zU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtMYXlvdXRNZW51TW9kZX0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuJztcbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgQ29sb3JTY2hlbWVPcHRpb24ge1xuICAgIHZhbHVlOiBDb2xvclNjaGVtZTtcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5jb25zdCBkZWZhdWx0Q29sb3JTY2hlbWVPcHRzOiBDb2xvclNjaGVtZU9wdGlvbltdID0gW1xuICAgIHtcbiAgICAgICAgdmFsdWU6ICdhdXRvJyxcbiAgICAgICAgbGFiZWw6ICdzeXN0ZW0nXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHZhbHVlOiAnbGlnaHQnLFxuICAgICAgICBsYWJlbDogJ2xpZ2h0J1xuICAgIH0sXG4gICAge1xuICAgICAgICB2YWx1ZTogJ2RhcmsnLFxuICAgICAgICBsYWJlbDogJ2RhcmsnXG4gICAgfVxuXTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1zZXR0aW5ncycsXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgUmFkaW9CdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBCdXR0b24sIERyb3Bkb3duTW9kdWxlLCBJbnB1dFN3aXRjaE1vZHVsZSwgU2VsZWN0QnV0dG9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0RpYWxvZ0NvbmZpZyA9IGluamVjdChEeW5hbWljRGlhbG9nQ29uZmlnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtaWNEaWFsb2dSZWYgPSBpbmplY3QoRHluYW1pY0RpYWxvZ1JlZik7XG4gICAgcHVibGljIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zO1xuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXQ7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWVudU1vZGVzO1xuXG4gICAgcHVibGljIGNvbG9yU2NoZW1lT3B0aW9ucyA9IHNpZ25hbChkZWZhdWx0Q29sb3JTY2hlbWVPcHRzKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluamVjdG9yID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaW5qZWN0b3I7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlID0gdGhpcy5pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgICAgIHRoaXMuY29tbW9ucyA9IHRoaXMuaW5qZWN0b3IuZ2V0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLmluamVjdG9yLmdldChMYXlvdXRTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5tZW51TW9kZXMgPSB0aGlzLmxheW91dC5tZW51TW9kZXM7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0oJ21uZ1NldHRpbmdzLnRpdGxlJylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuaGVhZGVyID0gdCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdHJhbnNsYXRlS2V5ID0gJ21uZ1NldHRpbmdzLmNvbG9yU2NoZW1lLm9wdGlvbnMnO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLnN0cmVhbSgnbW5nU2V0dGluZ3MuY29sb3JTY2hlbWUub3B0aW9ucycpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHQgPT09IHRyYW5zbGF0ZUtleSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG9yU2NoZW1lT3B0aW9ucy5zZXQoZGVmYXVsdENvbG9yU2NoZW1lT3B0cyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclNjaGVtZU9wdGlvbnMudXBkYXRlKG9wdGlvbnMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubWFwKG8gPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogby52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCR7dFtvLnZhbHVlXX1gXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzd2l0Y2hMb2NhbGUobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbW1vbnMuc2V0QXBwTG9jYWxlKGxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICBzd2l0Y2hEYXRhTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcERhdGFMb2NhbGUobGFuZ3VhZ2UpO1xuICAgIH1cblxuICAgIG9uTWVudU1vZGVDaGFuZ2UobW9kZTogTGF5b3V0TWVudU1vZGUpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQub25NZW51TW9kZUNoYW5nZShtb2RlKTtcbiAgICB9XG5cbiAgICBvbkNvbG9yU2NoZW1lQ2hhbmdlKHNjaGVtZTogQ29sb3JTY2hlbWUpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0Q29sb3JTY2hlbWUoc2NoZW1lKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5keW5hbWljRGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIG1uZy1hY3Rpb24tZWRpdG9yLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoY29tbW9ucy5hcHBMb2NhbGVzKCkubGVuZ3RoID4gMSB8fCBjb21tb25zLmFwcERhdGFMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGg1Pnt7ICdtbmdTZXR0aW5ncy5sb2NhbGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICAgIEBpZiAoY29tbW9ucy5hcHBMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgcHItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1nbG9iZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtuZ01vZGVsXT1cImNvbW1vbnMuYXBwTG9jYWxlKClcIiBbb3B0aW9uc109XCJjb21tb25zLmFwcExvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hMb2NhbGUoJGV2ZW50LnZhbHVlKVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoY29tbW9ucy5hcHBEYXRhTG9jYWxlcygpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIHByLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktZGF0YWJhc2VcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbbmdNb2RlbF09XCJjb21tb25zLmFwcERhdGFMb2NhbGUoKVwiIFtvcHRpb25zXT1cImNvbW1vbnMuYXBwRGF0YUxvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hEYXRhTG9jYWxlKCRldmVudC52YWx1ZSlcIj48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGg1Pnt7ICdtbmdTZXR0aW5ncy5jb2xvclNjaGVtZS50aXRsZScgfCB0cmFuc2xhdGUgfX08L2g1PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiY29sb3JTY2hlbWVPcHRpb25zKClcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImxheW91dC5jb2xvclNjaGVtZVNldHRpbmcoKVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Db2xvclNjaGVtZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBhbGxvd0VtcHR5PVwiZmFsc2VcIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKG1lbnVNb2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICA8aDU+e3sgJ21uZ1NldHRpbmdzLm1lbnVNb2RlLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG1vZGUgb2YgbWVudU1vZGVzOyB0cmFjayBtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvbiBjb2wtNiBtZDpjb2wtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b24gbmFtZT1cImNhdGVnb3J5XCIgW3ZhbHVlXT1cIm1vZGVcIiBbbmdNb2RlbF09XCJsYXlvdXQubWVudU1vZGUoKVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVudU1vZGVDaGFuZ2UobW9kZSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwibW9kZVwiIGNsYXNzPVwibWwtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdtbmdTZXR0aW5ncy5tZW51TW9kZS4nICsgbW9kZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtbmctYWN0aW9uLWVkaXRvci1mb290ZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2PjwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8cC1idXR0b24gKG9uQ2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIFtsYWJlbF09XCInZ2VuZXJhbC5jbG9zZScgfCB0cmFuc2xhdGVcIiBpY29uPVwicGkgcGktdGltZXNcIiBzdHlsZUNsYXNzPVwicC1idXR0b24tcHJpbWFyeSBwLWJ1dHRvbi10ZXh0XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,36 +1,35 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
|
-
import {
|
|
3
|
+
import { ComponentDirective } from '@mediusinc/mng-commons/core';
|
|
4
4
|
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
|
|
5
|
-
import {
|
|
5
|
+
import { LayoutService } from '../services/layout.service';
|
|
6
6
|
import { MenuComponent } from './menu.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/router";
|
|
9
9
|
export class SidebarComponent {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
|
|
12
|
-
this.
|
|
13
|
-
this.layoutService = inject(MainLayoutComponentService);
|
|
12
|
+
this.layout = inject(LayoutService);
|
|
14
13
|
this.el = inject(ElementRef);
|
|
15
14
|
this.menuComponent = signal(this.config?.components?.menu === false ? undefined : this.config?.components?.menu ?? MenuComponent);
|
|
16
15
|
this.timeout = null;
|
|
17
16
|
}
|
|
18
17
|
onMouseEnter() {
|
|
19
|
-
if (!this.
|
|
18
|
+
if (!this.layout.state().anchored) {
|
|
20
19
|
if (this.timeout) {
|
|
21
20
|
clearTimeout(this.timeout);
|
|
22
21
|
this.timeout = null;
|
|
23
22
|
}
|
|
24
|
-
this.
|
|
23
|
+
this.layout.state.update(state => ({
|
|
25
24
|
...state,
|
|
26
25
|
sidebarActive: true
|
|
27
26
|
}));
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
29
|
onMouseLeave() {
|
|
31
|
-
if (!this.
|
|
30
|
+
if (!this.layout.state().anchored) {
|
|
32
31
|
if (!this.timeout) {
|
|
33
|
-
this.timeout = setTimeout(() => this.
|
|
32
|
+
this.timeout = setTimeout(() => this.layout.state.update(state => ({
|
|
34
33
|
...state,
|
|
35
34
|
sidebarActive: false
|
|
36
35
|
})), 300);
|
|
@@ -38,16 +37,16 @@ export class SidebarComponent {
|
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
anchor() {
|
|
41
|
-
this.
|
|
40
|
+
this.layout.state.update(state => ({
|
|
42
41
|
...state,
|
|
43
42
|
anchored: !state.anchored
|
|
44
43
|
}));
|
|
45
44
|
}
|
|
46
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SidebarComponent, isStandalone: true, selector: "mng-sidebar", ngImport: i0, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SidebarComponent, isStandalone: true, selector: "mng-sidebar", ngImport: i0, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n </div>\n <div class=\"app-logo-normal\">\n <img class=\"h-2rem\" [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n <img class=\"h-2rem ml-3\" [src]=\"layout.appLogoName()\" [alt]=\"'App name'\" />\n </div>\n </a>\n <button class=\"layout-sidebar-anchor p-link z-2\" type=\"button\" (click)=\"anchor()\"></button>\n </div>\n\n @if (menuComponent()) {\n <div #menuContainer class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
47
|
}
|
|
49
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
50
49
|
type: Component,
|
|
51
|
-
args: [{ standalone: true, selector: 'mng-sidebar', imports: [RouterModule, MenuComponent, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"
|
|
50
|
+
args: [{ standalone: true, selector: 'mng-sidebar', imports: [RouterModule, MenuComponent, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n </div>\n <div class=\"app-logo-normal\">\n <img class=\"h-2rem\" [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n <img class=\"h-2rem ml-3\" [src]=\"layout.appLogoName()\" [alt]=\"'App name'\" />\n </div>\n </a>\n <button class=\"layout-sidebar-anchor p-link z-2\" type=\"button\" (click)=\"anchor()\"></button>\n </div>\n\n @if (menuComponent()) {\n <div #menuContainer class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n" }]
|
|
52
51
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFTL0MsTUFBTSxPQUFPLGdCQUFnQjtJQVA3QjtRQVFxQixXQUFNLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDckUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLGtCQUFhLEdBQUcsTUFBTSxDQUF3QixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksSUFBSSxhQUFhLENBQUMsQ0FBQztRQUNuSixZQUFPLEdBQXlDLElBQUksQ0FBQztLQW9DaEU7SUFsQ0csWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQixHQUFHLEtBQUs7Z0JBQ1IsYUFBYSxFQUFFLElBQUk7YUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FDckIsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0IsR0FBRyxLQUFLO29CQUNSLGFBQWEsRUFBRSxLQUFLO2lCQUN2QixDQUFDLENBQUMsRUFDUCxHQUFHLENBQ04sQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLEdBQUcsS0FBSztZQUNSLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRO1NBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs4R0F6Q1EsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsdUVDaEI3QixnNkJBb0JBLDJDRFJjLFlBQVksZ1JBQWlCLGtCQUFrQjs7MkZBSWhELGdCQUFnQjtrQkFQNUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sYUFBYSxXQUNkLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxtQkFFekMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Q29tcG9uZW50RGlyZWN0aXZlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge01lbnVDb21wb25lbnR9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXNpZGViYXInLFxuICAgIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUsIE1lbnVDb21wb25lbnQsIENvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHB1YmxpYyBtZW51Q29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4odGhpcy5jb25maWc/LmNvbXBvbmVudHM/Lm1lbnUgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdGhpcy5jb25maWc/LmNvbXBvbmVudHM/Lm1lbnUgPz8gTWVudUNvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSB0aW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuXG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMubGF5b3V0LnN0YXRlKCkuYW5jaG9yZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sYXlvdXQuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgc2lkZWJhckFjdGl2ZTogdHJ1ZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlKCkge1xuICAgICAgICBpZiAoIXRoaXMubGF5b3V0LnN0YXRlKCkuYW5jaG9yZWQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy50aW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZGViYXJBY3RpdmU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbmNob3IoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBhbmNob3JlZDogIXN0YXRlLmFuY2hvcmVkXG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXNpZGViYXJcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItaGVhZGVyXCI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCIgY2xhc3M9XCJhcHAtbG9nb1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1sb2dvLXNtYWxsIGgtMnJlbVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsYXlvdXQuYXBwTG9nbygpXCIgW2FsdF09XCInQXBwIGxvZ28nXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1sb2dvLW5vcm1hbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJoLTJyZW1cIiBbc3JjXT1cImxheW91dC5hcHBMb2dvKClcIiBbYWx0XT1cIidBcHAgbG9nbydcIiAvPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJoLTJyZW0gbWwtM1wiIFtzcmNdPVwibGF5b3V0LmFwcExvZ29OYW1lKClcIiBbYWx0XT1cIidBcHAgbmFtZSdcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxheW91dC1zaWRlYmFyLWFuY2hvciBwLWxpbmsgei0yXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhbmNob3IoKVwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChtZW51Q29tcG9uZW50KCkpIHtcbiAgICAgICAgPGRpdiAjbWVudUNvbnRhaW5lciBjbGFzcz1cImxheW91dC1tZW51LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AsyncPipe } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Injector, computed, inject } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Injector, computed, inject, signal } from '@angular/core';
|
|
3
3
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
4
|
import { TranslateModule } from '@ngx-translate/core';
|
|
5
5
|
import { DialogService } from 'primeng/dynamicdialog';
|
|
6
6
|
import { RippleModule } from 'primeng/ripple';
|
|
7
7
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
8
8
|
import { CommonsService, EnumerateAsyncPipe } from '@mediusinc/mng-commons/core';
|
|
9
|
+
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
|
|
9
10
|
import { SettingsComponent } from './settings.component';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "@ngx-translate/core";
|
|
@@ -17,8 +18,10 @@ export class TopbarUserComponent {
|
|
|
17
18
|
this.dialogService = inject(DialogService);
|
|
18
19
|
this.commons = inject(CommonsService);
|
|
19
20
|
this.hrefJsVoid = inject(DomSanitizer).bypassSecurityTrustUrl('javascript:void(0)');
|
|
21
|
+
this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
|
|
20
22
|
this.user = computed(() => this.commons.user());
|
|
21
23
|
this.userRoles = computed(() => this.commons.userRoles());
|
|
24
|
+
this.settingsDisabled = signal(this.config?.components?.settings === false);
|
|
22
25
|
}
|
|
23
26
|
logout(user, event) {
|
|
24
27
|
if (typeof user?.logout === 'function') {
|
|
@@ -28,7 +31,10 @@ export class TopbarUserComponent {
|
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
openSettings() {
|
|
31
|
-
this.
|
|
34
|
+
if (this.config?.components?.settings === false) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.dialogService.open(this.config?.components?.settings ?? SettingsComponent, {
|
|
32
38
|
modal: true,
|
|
33
39
|
styleClass: 'mng-dialog mng-action-editor-dialog mng-dialog-xs',
|
|
34
40
|
data: {
|
|
@@ -37,10 +43,10 @@ export class TopbarUserComponent {
|
|
|
37
43
|
});
|
|
38
44
|
}
|
|
39
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: TopbarUserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: TopbarUserComponent, isStandalone: true, selector: "mng-topbar-user-component", ngImport: i0, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\"> {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n <li role=\"menuitem\">\n
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: TopbarUserComponent, isStandalone: true, selector: "mng-topbar-user-component", ngImport: i0, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\"> {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (!settingsDisabled()) {\n <li role=\"menuitem\">\n <a\n [href]=\"hrefJsVoid\"\n (click)=\"openSettings()\"\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-cog text-base mr-2\"></i>\n {{ 'mngSettings.title' | translate }}\n </a>\n </li>\n }\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex align-items-center hover:text-primary-500 transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41
47
|
}
|
|
42
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: TopbarUserComponent, decorators: [{
|
|
43
49
|
type: Component,
|
|
44
|
-
args: [{ standalone: true, selector: 'mng-topbar-user-component', imports: [AsyncPipe, EnumerateAsyncPipe, TranslateModule, RippleModule, StyleClassModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\"> {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n <li role=\"menuitem\">\n
|
|
50
|
+
args: [{ standalone: true, selector: 'mng-topbar-user-component', imports: [AsyncPipe, EnumerateAsyncPipe, TranslateModule, RippleModule, StyleClassModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\"> {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (!settingsDisabled()) {\n <li role=\"menuitem\">\n <a\n [href]=\"hrefJsVoid\"\n (click)=\"openSettings()\"\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-cog text-base mr-2\"></i>\n {{ 'mngSettings.title' | translate }}\n </a>\n </li>\n }\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex align-items-center hover:text-primary-500 transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n" }]
|
|
45
51
|
}] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci11c2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXItdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQVEsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RixPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFTdkQsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFxQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JFLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUU5RSxTQUFJLEdBQUcsUUFBUSxDQUFvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsY0FBUyxHQUFHLFFBQVEsQ0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFL0QscUJBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQztLQXVCakY7SUFyQlUsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBWTtRQUMvQyxJQUFJLE9BQU8sSUFBSSxFQUFFLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxpQkFBaUIsRUFBRTtZQUM1RSxLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxtREFBbUQ7WUFDL0QsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUMxQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaENRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHFGQ3JCaEMscWlGQWtFQSwyQ0RqRDZDLGVBQWUsMkZBQUUsWUFBWSw2RkFBRSxnQkFBZ0I7OzJGQUkvRSxtQkFBbUI7a0JBUC9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJCQUEyQixXQUM1QixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLG1CQUV4RSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBFbnVtZXJhdGVBc3luY1BpcGUsIElVc2VyfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtTZXR0aW5nc0NvbXBvbmVudH0gZnJvbSAnLi9zZXR0aW5ncy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRvcGJhci11c2VyLWNvbXBvbmVudCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgRW51bWVyYXRlQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGUsIFJpcHBsZU1vZHVsZSwgU3R5bGVDbGFzc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcGJhci11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb3BiYXJVc2VyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgaHJlZkpzVm9pZCA9IGluamVjdChEb21TYW5pdGl6ZXIpLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoJ2phdmFzY3JpcHQ6dm9pZCgwKScpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyB1c2VyID0gY29tcHV0ZWQ8SVVzZXIgfCB1bmRlZmluZWQ+KCgpID0+IHRoaXMuY29tbW9ucy51c2VyKCkpO1xuICAgIHB1YmxpYyB1c2VyUm9sZXMgPSBjb21wdXRlZDxzdHJpbmdbXT4oKCkgPT4gdGhpcy5jb21tb25zLnVzZXJSb2xlcygpKTtcblxuICAgIHB1YmxpYyBzZXR0aW5nc0Rpc2FibGVkID0gc2lnbmFsKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA9PT0gZmFsc2UpO1xuXG4gICAgcHVibGljIGxvZ291dCh1c2VyOiBJVXNlciB8IHVuZGVmaW5lZCwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdXNlcj8ubG9nb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB1c2VyLmxvZ291dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5TZXR0aW5ncygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA/PyBTZXR0aW5nc0NvbXBvbmVudCwge1xuICAgICAgICAgICAgbW9kYWw6IHRydWUsXG4gICAgICAgICAgICBzdHlsZUNsYXNzOiAnbW5nLWRpYWxvZyBtbmctYWN0aW9uLWVkaXRvci1kaWFsb2cgbW5nLWRpYWxvZy14cycsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGFcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGxnOnByLTRcIlxuICAgIHBTdHlsZUNsYXNzPVwiQG5leHRcIlxuICAgIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCJcbiAgICBlbnRlckFjdGl2ZUNsYXNzPVwicHgtc2NhbGVpblwiXG4gICAgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiXG4gICAgW2hpZGVPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgICBwUmlwcGxlPlxuICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktdXNlciB0ZXh0LTJ4bFwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImhpZGRlbiBzbTppbmxpbmUtYmxvY2tcIj4mbmJzcDsge3sgdXNlcigpPy5kaXNwbGF5TmFtZSA/PyB1c2VyKCk/LnVzZXJuYW1lIH19PC9zcGFuPlxuPC9hPlxuPHVsIGNsYXNzPVwidG9wYmFyLW1lbnUgYWN0aXZlLXRvcGJhci1tZW51IHctMTVyZW0gei01IG5nLWhpZGRlbiBib3JkZXItcm91bmRcIj5cbiAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRyYW5zaXRpb24tZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQGdyYW5kcGFyZW50XCJcbiAgICAgICAgICAgIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJweC1zY2FsZWluXCJcbiAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS11c2VyIHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHVzZXIoKT8uZGlzcGxheU5hbWUgPz8gdXNlcigpPy51c2VybmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIEBpZiAodXNlclJvbGVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICA8c21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXJSb2xlcygpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIEBpZiAoIXNldHRpbmdzRGlzYWJsZWQoKSkge1xuICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImhyZWZKc1ZvaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2V0dGluZ3MoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0cmFuc2l0aW9uLWR1cmF0aW9uLTIwMFwiXG4gICAgICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAZ3JhbmRwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBlbnRlckFjdGl2ZUNsYXNzPVwicHgtc2NhbGVpblwiXG4gICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktY29nIHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgIHt7ICdtbmdTZXR0aW5ncy50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG4gICAgQGlmICh1c2VyKCk/LmxvZ291dCB8fCB1c2VyKCk/LmxvZ291dFVybCkge1xuICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cInVzZXIoKT8ubG9nb3V0VXJsID8/IGhyZWZKc1ZvaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dvdXQodXNlcigpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGhvdmVyOnRleHQtcHJpbWFyeS01MDAgdHJhbnNpdGlvbi1kdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQGdyYW5kcGFyZW50XCJcbiAgICAgICAgICAgICAgICBlbnRlckZyb21DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIlxuICAgICAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLXNpZ24tb3V0IHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdtbmdUb3BiYXIubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG48L3VsPlxuIl19
|
|
@@ -7,7 +7,7 @@ import { RippleModule } from 'primeng/ripple';
|
|
|
7
7
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
8
8
|
import { CommonsService, ComponentDirective } from '@mediusinc/mng-commons/core';
|
|
9
9
|
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
|
|
10
|
-
import {
|
|
10
|
+
import { LayoutService } from '../services/layout.service';
|
|
11
11
|
import { BreadcrumbComponent } from './breadcrumb.component';
|
|
12
12
|
import { SidebarComponent } from './sidebar.component';
|
|
13
13
|
import { TopbarUserComponent } from './topbar-user.component';
|
|
@@ -18,13 +18,13 @@ export class TopbarComponent {
|
|
|
18
18
|
constructor() {
|
|
19
19
|
this.el = inject(ElementRef);
|
|
20
20
|
this.commons = inject(CommonsService);
|
|
21
|
-
this.
|
|
21
|
+
this.layout = inject(LayoutService);
|
|
22
22
|
this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
|
|
23
23
|
this.topbarUserComponent = signal(this.config?.components?.topbarUser === false ? undefined : this.config?.components?.topbarUser ?? TopbarUserComponent);
|
|
24
24
|
this.breadcrumbComponent = signal(this.config?.components?.breadcrumb === false ? undefined : this.config?.components?.breadcrumb ?? BreadcrumbComponent);
|
|
25
25
|
}
|
|
26
26
|
onMenuButtonClick() {
|
|
27
|
-
this.
|
|
27
|
+
this.layout.onMenuToggle();
|
|
28
28
|
}
|
|
29
29
|
switchLocale(language) {
|
|
30
30
|
this.commons.setAppLocale(language);
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
|
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ standalone: true, selector: 'mng-topbar', imports: [SidebarComponent, NgClass, ButtonModule, StyleClassModule, RippleModule, BreadcrumbComponent, AsyncPipe, DropdownModule, ComponentDirective, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"topbar-start\">\n <button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\n <i class=\"pi pi-bars\"></i>\n </button>\n\n @if (breadcrumbComponent()) {\n <div class=\"topbar-breadcrumb\">\n <div [mngComponent]=\"breadcrumbComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n </div>\n <div class=\"layout-topbar-menu-section\">\n <mng-sidebar></mng-sidebar>\n </div>\n <div class=\"topbar-end\">\n <ul class=\"topbar-menu\">\n @if (commons.appLocales().length > 1) {\n <li class=\"profile-item\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </li>\n }\n @if (topbarUserComponent()) {\n <li #userMenuItem class=\"profile-item topbar-item mr-3\" [mngComponent]=\"topbarUserComponent()\" [attachToHost]=\"true\"></li>\n }\n </ul>\n </div>\n</div>\n" }]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFTNUQsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRb0IsT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRTlFLHdCQUFtQixHQUFHLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksbUJBQW1CLENBQ3pILENBQUM7UUFDSyx3QkFBbUIsR0FBRyxNQUFNLENBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxJQUFJLG1CQUFtQixDQUN6SCxDQUFDO0tBU0w7SUFQVSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBbkJRLGVBQWU7a0dBQWYsZUFBZSxzRUN4QjVCLCtzQ0E2QkEsNENEVGMsZ0JBQWdCLHVEQUFXLFlBQVksOEJBQUUsZ0JBQWdCLDhCQUFFLFlBQVksOEJBQWtDLGNBQWMsNHFDQUFFLGtCQUFrQixnTEFBRSxXQUFXOzsyRkFJekosZUFBZTtrQkFQM0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsbUJBRWxKLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZX0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7Q09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVR9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vc2lkZWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BiYXJVc2VyQ29tcG9uZW50fSBmcm9tICcuL3RvcGJhci11c2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdG9wYmFyJyxcbiAgICBpbXBvcnRzOiBbU2lkZWJhckNvbXBvbmVudCwgTmdDbGFzcywgQnV0dG9uTW9kdWxlLCBTdHlsZUNsYXNzTW9kdWxlLCBSaXBwbGVNb2R1bGUsIEJyZWFkY3J1bWJDb21wb25lbnQsIEFzeW5jUGlwZSwgRHJvcGRvd25Nb2R1bGUsIENvbXBvbmVudERpcmVjdGl2ZSwgRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b3BiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRvcGJhckNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyB0b3BiYXJVc2VyQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID8/IFRvcGJhclVzZXJDb21wb25lbnRcbiAgICApO1xuICAgIHB1YmxpYyBicmVhZGNydW1iQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID8/IEJyZWFkY3J1bWJDb21wb25lbnRcbiAgICApO1xuXG4gICAgcHVibGljIG9uTWVudUJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmxheW91dC5vbk1lbnVUb2dnbGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3dpdGNoTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcExvY2FsZShsYW5ndWFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLXN0YXJ0XCI+XG4gICAgICAgIDxidXR0b24gI21lbnVidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidG9wYmFyLW1lbnVidXR0b24gcC1saW5rIHAtdHJpZ2dlclwiIChjbGljayk9XCJvbk1lbnVCdXR0b25DbGljaygpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWJhcnNcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIEBpZiAoYnJlYWRjcnVtYkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLWJyZWFkY3J1bWJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFttbmdDb21wb25lbnRdPVwiYnJlYWRjcnVtYkNvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLW1lbnUtc2VjdGlvblwiPlxuICAgICAgICA8bW5nLXNpZGViYXI+PC9tbmctc2lkZWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLWVuZFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJ0b3BiYXItbWVudVwiPlxuICAgICAgICAgICAgQGlmIChjb21tb25zLmFwcExvY2FsZXMoKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZmlsZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktZ2xvYmVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtuZ01vZGVsXT1cImNvbW1vbnMuYXBwTG9jYWxlKClcIiBbb3B0aW9uc109XCJjb21tb25zLmFwcExvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hMb2NhbGUoJGV2ZW50LnZhbHVlKVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0b3BiYXJVc2VyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8bGkgI3VzZXJNZW51SXRlbSBjbGFzcz1cInByb2ZpbGUtaXRlbSB0b3BiYXItaXRlbSBtci0zXCIgW21uZ0NvbXBvbmVudF09XCJ0b3BiYXJVc2VyQ29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -17,10 +17,10 @@ export function prepareMenuItemsToInternal(menuItems, parentKey = '') {
|
|
|
17
17
|
};
|
|
18
18
|
if (Array.isArray(item.items) && item.items.length > 0) {
|
|
19
19
|
newItem.items.set(prepareMenuItemsToInternal(item.items, newItem.key));
|
|
20
|
-
newItem.itemsVisibility.set(newItem.items()?.map(
|
|
20
|
+
newItem.itemsVisibility.set(newItem.items()?.map(() => signal(true)));
|
|
21
21
|
}
|
|
22
22
|
return newItem;
|
|
23
23
|
});
|
|
24
24
|
return newItems;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9tZW51LWl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxTQUE0QixFQUFFLFNBQVMsR0FBRyxFQUFFO0lBQ25GLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDekMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUN4RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQTRCO1lBQ3JDLEdBQUcsSUFBSTtZQUNQLFNBQVMsRUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNoRixHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUN2RCxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxFQUFFLFlBQVk7WUFDdEIsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksWUFBWSxFQUFFLENBQUM7U0FDL0UsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q29tbW9uc01lbnVJdGVtLCBJbnRlcm5hbENvbW1vbnNNZW51SXRlbX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVNZW51SXRlbXNUb0ludGVybmFsKG1lbnVJdGVtczogQ29tbW9uc01lbnVJdGVtW10sIHBhcmVudEtleSA9ICcnKTogSW50ZXJuYWxDb21tb25zTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbmV3SXRlbXMgPSBtZW51SXRlbXMubWFwKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXNQcm9wID0gc2lnbmFsPEludGVybmFsQ29tbW9uc01lbnVJdGVtW10+KFtdKTtcbiAgICAgICAgY29uc3QgbGF6eUNoaWxkcmVuUHJvcCA9IHNpZ25hbChpdGVtLmxhenlDaGlsZHJlbiA/PyBmYWxzZSk7XG4gICAgICAgIGNvbnN0IGhhc0l0ZW1zUHJvcCA9IGNvbXB1dGVkKCgpID0+IGl0ZW1zUHJvcCgpLmxlbmd0aCA+IDApO1xuICAgICAgICBjb25zdCBuZXdJdGVtOiBJbnRlcm5hbENvbW1vbnNNZW51SXRlbSA9IHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBpc1Zpc2libGU6IHR5cGVvZiBpdGVtLmlzVmlzaWJsZSAhPT0gJ3VuZGVmaW5lZCcgPyBpdGVtLmlzVmlzaWJsZSA6IGl0ZW0udmlzaWJsZSxcbiAgICAgICAgICAgIGtleTogcGFyZW50S2V5ID8gcGFyZW50S2V5ICsgJy0nICsgaWR4IDogaWR4LnRvU3RyaW5nKCksXG4gICAgICAgICAgICBjb25maWc6IGl0ZW0sXG4gICAgICAgICAgICBpdGVtczogaXRlbXNQcm9wLFxuICAgICAgICAgICAgbGF6eUNoaWxkcmVuOiBsYXp5Q2hpbGRyZW5Qcm9wLFxuICAgICAgICAgICAgaXRlbXNWaXNpYmlsaXR5OiBzaWduYWwoW10pLFxuICAgICAgICAgICAgaGFzSXRlbXM6IGhhc0l0ZW1zUHJvcCxcbiAgICAgICAgICAgIGhhc0l0ZW1zT3JMYXp5Q2hpbGRyZW46IGNvbXB1dGVkKCgpID0+IGxhenlDaGlsZHJlblByb3AoKSB8fCBoYXNJdGVtc1Byb3AoKSlcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLml0ZW1zKSAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG5ld0l0ZW0uaXRlbXMuc2V0KHByZXBhcmVNZW51SXRlbXNUb0ludGVybmFsKGl0ZW0uaXRlbXMsIG5ld0l0ZW0ua2V5KSk7XG4gICAgICAgICAgICBuZXdJdGVtLml0ZW1zVmlzaWJpbGl0eS5zZXQobmV3SXRlbS5pdGVtcygpPy5tYXAoKCkgPT4gc2lnbmFsKHRydWUpKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3SXRlbTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdJdGVtcztcbn1cbiJdfQ==
|
package/esm2022/lib/provide.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CommonsFeatureTypeEnum } from '@mediusinc/mng-commons/core';
|
|
2
2
|
import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from './services/layout-feature-config.token';
|
|
3
|
+
import { LayoutService } from './services/layout.service';
|
|
3
4
|
import { MenuService } from './services/menu.service';
|
|
4
5
|
import { VersionService } from './services/version.service';
|
|
5
6
|
/**
|
|
@@ -13,6 +14,7 @@ export function withLayout(config) {
|
|
|
13
14
|
providers: [
|
|
14
15
|
MenuService,
|
|
15
16
|
VersionService,
|
|
17
|
+
LayoutService,
|
|
16
18
|
{
|
|
17
19
|
provide: COMMONS_LAYOUT_FEATURE_CONFIG_IT,
|
|
18
20
|
useValue: config
|
|
@@ -20,4 +22,4 @@ export function withLayout(config) {
|
|
|
20
22
|
]
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJvdmlkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGdDQUFnQyxFQUFzQixNQUFNLHdDQUF3QyxDQUFDO0FBQzdHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTRCO0lBQ25ELE9BQU87UUFDSCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsTUFBTTtRQUNuQyxTQUFTLEVBQUU7WUFDUCxXQUFXO1lBQ1gsY0FBYztZQUNkLGFBQWE7WUFDYjtnQkFDSSxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxRQUFRLEVBQUUsTUFBTTthQUNuQjtTQUNKO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbnNGZWF0dXJlLCBDb21tb25zRmVhdHVyZVR5cGVFbnVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCBMYXlvdXRGZWF0dXJlQ29uZmlnfSBmcm9tICcuL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtWZXJzaW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByZXBhcmVzIHByb3ZpZGVycyBmb3IgdXNhZ2Ugb2YgdGhlIGxheW91dCBmdW5jdGlvbmFsaXRpZXMuXG4gKlxuICogQHJldHVybnMge0NvbW1vbnNGZWF0dXJlfSBUaGUgYENvbW1vbnNGZWF0dXJlYCBvYmplY3Qgd2l0aCB0aGUgbGF5b3V0IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTGF5b3V0KGNvbmZpZz86IExheW91dEZlYXR1cmVDb25maWcpOiBDb21tb25zRmVhdHVyZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogQ29tbW9uc0ZlYXR1cmVUeXBlRW51bS5MYXlvdXQsXG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgTWVudVNlcnZpY2UsXG4gICAgICAgICAgICBWZXJzaW9uU2VydmljZSxcbiAgICAgICAgICAgIExheW91dFNlcnZpY2UsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const COMMONS_LAYOUT_FEATURE_CONFIG_IT = new InjectionToken('COMMONS_LAYOUT_FEATURE_CONFIG');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQStGbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsSUFBSSxjQUFjLENBQXNCLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5leHBvcnQgdHlwZSBMYXlvdXRNZW51TW9kZSA9ICdzdGF0aWMnIHwgJ292ZXJsYXknIHwgJ3JldmVhbCcgfCAnZHJhd2VyJyB8ICdzbGltJyB8ICdzbGltLXBsdXMnO1xuXG5leHBvcnQgdHlwZSBDb2xvclNjaGVtZSA9ICdsaWdodCcgfCAnZGFyaycgfCAnYXV0byc7XG5cbi8qKlxuICogU2V0IG9mIGNvbmZpZ3VyYXRpb25zIGZvciBsYXlvdXQgY3VzdG9taXphdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRGZWF0dXJlQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBDaG9vc2UgZGVmYXVsdCBtZW51IG1vZGUuXG4gICAgICovXG4gICAgbWVudU1vZGU/OiBMYXlvdXRNZW51TW9kZTtcbiAgICAvKipcbiAgICAgKiBTZXRzIGF2YWlsYWJsZSBtZW51IG1vZGVzLlxuICAgICAqL1xuICAgIG1lbnVNb2Rlcz86IExheW91dE1lbnVNb2RlW107XG4gICAgLyoqXG4gICAgICogUHJlZGVmaW5lcyBtZW51IG1vZGVzIChpbnN0ZWFkIG9mIHRha2luZyB0aGVtIGZyb20gcm91dGUgZGF0YSBjb25maWcpLlxuICAgICAqL1xuICAgIG1lbnVJdGVtcz86IE1lbnVJdGVtW107XG4gICAgLyoqXG4gICAgICogTG9nbyBwYXRoICh1c3VhbGx5IGljb24gcGFydCBvbmx5KS5cbiAgICAgKi9cbiAgICBsb2dvUGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggZm9yIGxpZ2h0IGNvbG9yIG1vZGUgKHVzdWFsbHkgaWNvbiBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29QYXRoTGlnaHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTG9nbyBwYXRoIGZvciBkYXJrIGNvbG9yIG1vZGUgKHVzdWFsbHkgaWNvbiBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29QYXRoRGFyaz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggKHVzdWFsbHkgbmFtZSBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29OYW1lUGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggZm9yIGxpZ2h0IGNvbG9yIG1vZGUgKHVzdWFsbHkgbmFtZSBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29OYW1lUGF0aExpZ2h0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExvZ28gcGF0aCBmb3IgZGFyayBjb2xvciBtb2RlICh1c3VhbGx5IG5hbWUgcGFydCBvbmx5KS5cbiAgICAgKi9cbiAgICBsb2dvTmFtZVBhdGhEYXJrPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgY29sb3Igc2NoZW1lIChkZWZhdWx0cyB0byAnYXV0bycpLlxuICAgICAqL1xuICAgIGNvbG9yU2NoZW1lPzogQ29sb3JTY2hlbWU7XG4gICAgLyoqXG4gICAgICogRW5hYmxlIHJpcHBsZSBlZmZlY3QuXG4gICAgICovXG4gICAgcmlwcGxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB3cmFwcGluZyBsYXlvdXQgaW4gbm90aWZpY2F0aW9uIHdyYXBwZXIuXG4gICAgICovXG4gICAgZGlzYWJsZU5vdGlmaWNhdGlvbldyYXBwZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNldCBjdXN0b20gY29tcG9uZW50cyBpbnN0ZWFkIG9mIGRlZmF1bHQgbGF5b3V0J3Mgb25lLiBJZiBmYWxzZSBwcm92aWRlZCBmb3IgY29tcG9uZW50LCB0aGVuIGl0IHdpbGwgbm90IGJlIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBjdXN0b20gdG9wYmFyIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICB0b3BiYXI/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgY3VzdG9tIG1lbnUgY29tcG9uZW50IG9yIGRpc2FibGUgKGlmIGZhbHNlKS5cbiAgICAgICAgICovXG4gICAgICAgIG1lbnU/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgY3VzdG9tIGZvb3RlciBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgZm9vdGVyPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSBicmVhZGNydW1iIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICBicmVhZGNydW1iPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSB0b3BiYXJVc2VyIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICB0b3BiYXJVc2VyPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSB2ZXJzaW9uIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICB2ZXJzaW9uPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSBzZXR0aW5ncyBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0dGluZ3M/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48TGF5b3V0RmVhdHVyZUNvbmZpZz4oJ0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHJyk7XG4iXX0=
|