@cuby-ui/core 0.0.368 → 0.0.370
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/widgets/user-action-context-menu/activity-item/activity-item.component.mjs +26 -6
- package/esm2022/widgets/user-action-context-menu/services/activity.service.mjs +7 -3
- package/esm2022/widgets/user-action-context-menu/user-action-context-menu.component.mjs +6 -6
- package/esm2022/widgets/user-action-context-menu/user-action-context.option.mjs +1 -1
- package/fesm2022/cuby-ui-core.mjs +30 -11
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/package.json +4 -4
- package/widgets/user-action-context-menu/activity-item/activity-item.component.d.ts +8 -3
- package/widgets/user-action-context-menu/services/activity.service.d.ts +4 -1
- package/widgets/user-action-context-menu/user-action-context-menu.component.d.ts +2 -2
- package/widgets/user-action-context-menu/user-action-context.option.d.ts +1 -1
|
@@ -1,21 +1,41 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject, input } from '@angular/core';
|
|
2
|
+
import { CUI_WINDOW } from "@cuby-ui/cdk";
|
|
3
|
+
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
|
2
4
|
import { CuiLetterBoxComponent } from '../../../components/letter-box/letter-box.component';
|
|
3
5
|
import { CuiSvgModule } from "../../../components/svg/svg.module";
|
|
6
|
+
import { CuiAuthService } from "../../../providers";
|
|
7
|
+
import { CUI_ACTIVITY_SERVICE_TOKEN } from "../user-action-context.option";
|
|
4
8
|
import * as i0 from "@angular/core";
|
|
5
9
|
import * as i1 from "../../../components/svg/svg.component";
|
|
6
10
|
export class CuiActivityItemComponent {
|
|
7
11
|
constructor() {
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
12
|
+
this.cuiWindow = inject(CUI_WINDOW);
|
|
13
|
+
this.destroy = inject(DestroyRef);
|
|
14
|
+
this.cuiAuthService = inject(CuiAuthService);
|
|
15
|
+
this.cuiActivityService = inject(CUI_ACTIVITY_SERVICE_TOKEN);
|
|
16
|
+
this.isSelected = computed(() => this.cuiActivityService.checkIsCurrentActivity(this.activity().activityId));
|
|
10
17
|
this.activity = input.required();
|
|
18
|
+
this.companyId = input.required();
|
|
19
|
+
}
|
|
20
|
+
onGoToActivity() {
|
|
21
|
+
if (this.isSelected()) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.cuiAuthService.exchangeToken({
|
|
25
|
+
type: "EXCHANGE_CONTEXT_ACTIVITY" /* CuiTokenExchangeType.Activity */,
|
|
26
|
+
activityId: this.activity().activityId,
|
|
27
|
+
companyId: this.companyId()
|
|
28
|
+
}).pipe(takeUntilDestroyed(this.destroy)).subscribe(() => {
|
|
29
|
+
this.cuiWindow.location.reload();
|
|
30
|
+
});
|
|
11
31
|
}
|
|
12
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiActivityItemComponent, isStandalone: true, selector: "cui-activity-item", inputs: {
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiActivityItemComponent, isStandalone: true, selector: "cui-activity-item", inputs: { activity: { classPropertyName: "activity", publicName: "activity", isSignal: true, isRequired: true, transformFunction: null }, companyId: { classPropertyName: "companyId", publicName: "companyId", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.selected": "isSelected()" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <button\n type=\"button\"\n class=\"activity-button\"\n (click)=\"onGoToActivity()\">\n <cui-letter-box\n [letter]=\"activity().description[0]\"\n [shape]=\"'rounded'\"\n size=\"md\" />\n <span>{{activity().description}}</span>\n </button>\n\n @if(isSelected()){\n <div class=\"icon-wrapper\">\n <cui-svg [icon]=\"'cuiIconCheck'\" />\n </div>\n }\n</div>\n", styles: [":host(.selected){background:var(--cui-badge-blue-bg);border-radius:8px}.wrapper{display:flex;justify-content:space-between}.activity-button{height:36px;color:var(--cui-base-900)}.icon-wrapper{display:flex;align-items:center;justify-content:center;padding:8px}\n"], dependencies: [{ kind: "component", type: CuiLetterBoxComponent, selector: "cui-letter-box", inputs: ["letter", "backgroundColor", "size", "shape"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
34
|
}
|
|
15
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityItemComponent, decorators: [{
|
|
16
36
|
type: Component,
|
|
17
37
|
args: [{ selector: 'cui-activity-item', standalone: true, imports: [CuiLetterBoxComponent, CuiSvgModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
18
38
|
'[class.selected]': 'isSelected()'
|
|
19
|
-
}, template: "<div class=\"wrapper\">\n <button
|
|
39
|
+
}, template: "<div class=\"wrapper\">\n <button\n type=\"button\"\n class=\"activity-button\"\n (click)=\"onGoToActivity()\">\n <cui-letter-box\n [letter]=\"activity().description[0]\"\n [shape]=\"'rounded'\"\n size=\"md\" />\n <span>{{activity().description}}</span>\n </button>\n\n @if(isSelected()){\n <div class=\"icon-wrapper\">\n <cui-svg [icon]=\"'cuiIconCheck'\" />\n </div>\n }\n</div>\n", styles: [":host(.selected){background:var(--cui-badge-blue-bg);border-radius:8px}.wrapper{display:flex;justify-content:space-between}.activity-button{height:36px;color:var(--cui-base-900)}.icon-wrapper{display:flex;align-items:center;justify-content:center;padding:8px}\n"] }]
|
|
20
40
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdXNlci1hY3Rpb24tY29udGV4dC1tZW51L2FjdGl2aXR5LWl0ZW0vYWN0aXZpdHktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdXNlci1hY3Rpb24tY29udGV4dC1tZW51L2FjdGl2aXR5LWl0ZW0vYWN0aXZpdHktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7QUFhekUsTUFBTSxPQUFPLHdCQUF3QjtJQVhyQztRQVlxQixjQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFdEQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFFMUcsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTBCLENBQUM7UUFDcEQsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztLQWdCeEQ7SUFkYSxjQUFjO1FBQ3BCLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFDLENBQUM7WUFFbEIsT0FBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUM5QixJQUFJLGlFQUErQjtZQUNuQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVU7WUFDdEMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7U0FDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzsrR0F4QlEsd0JBQXdCO21HQUF4Qix3QkFBd0Isd1pDckJyQyxpaEJBa0JBLCtURExjLHFCQUFxQixrSEFBRSxZQUFZOzs0RkFRcEMsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNJLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsbUJBRzdCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0Ysa0JBQWtCLEVBQUUsY0FBYztxQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBEZXN0cm95UmVmLCBpbmplY3QsIGlucHV0LCBPbkluaXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0N1aVRva2VuRXhjaGFuZ2VUeXBlLCBDdWlVc2VyQ29tcGFueUFjdGl2aXR5fSBmcm9tIFwiQGN1YnktdWkvYXBpXCI7XG5pbXBvcnQge0NVSV9XSU5ET1d9IGZyb20gXCJAY3VieS11aS9jZGtcIjtcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcblxuaW1wb3J0IHtDdWlMZXR0ZXJCb3hDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvbGV0dGVyLWJveC9sZXR0ZXItYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0N1aVN2Z01vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvc3ZnL3N2Zy5tb2R1bGVcIjtcbmltcG9ydCB7Q3VpQXV0aFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9wcm92aWRlcnNcIjtcbmltcG9ydCB7Q1VJX0FDVElWSVRZX1NFUlZJQ0VfVE9LRU59IGZyb20gXCIuLi91c2VyLWFjdGlvbi1jb250ZXh0Lm9wdGlvblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1hY3Rpdml0eS1pdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDdWlMZXR0ZXJCb3hDb21wb25lbnQsIEN1aVN2Z01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9hY3Rpdml0eS1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ2lzU2VsZWN0ZWQoKSdcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDdWlBY3Rpdml0eUl0ZW1Db21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpV2luZG93ID0gaW5qZWN0KENVSV9XSU5ET1cpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUF1dGhTZXJ2aWNlID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFjdGl2aXR5U2VydmljZSA9IGluamVjdChDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmNoZWNrSXNDdXJyZW50QWN0aXZpdHkodGhpcy5hY3Rpdml0eSgpLmFjdGl2aXR5SWQpKVxuXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2aXR5ID0gaW5wdXQucmVxdWlyZWQ8Q3VpVXNlckNvbXBhbnlBY3Rpdml0eT4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcGFueUlkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gICAgcHJvdGVjdGVkIG9uR29Ub0FjdGl2aXR5KCk6IHZvaWQge1xuICAgICAgICBpZih0aGlzLmlzU2VsZWN0ZWQoKSl7XG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdWlBdXRoU2VydmljZS5leGNoYW5nZVRva2VuKHtcbiAgICAgICAgICAgIHR5cGU6IEN1aVRva2VuRXhjaGFuZ2VUeXBlLkFjdGl2aXR5LFxuICAgICAgICAgICAgYWN0aXZpdHlJZDogdGhpcy5hY3Rpdml0eSgpLmFjdGl2aXR5SWQsXG4gICAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkKClcbiAgICAgICAgfSkucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VpV2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9KVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhY3Rpdml0eS1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25Hb1RvQWN0aXZpdHkoKVwiPlxuICAgICAgICAgICAgICAgIDxjdWktbGV0dGVyLWJveFxuICAgICAgICAgICAgICAgICAgICBbbGV0dGVyXT1cImFjdGl2aXR5KCkuZGVzY3JpcHRpb25bMF1cIlxuICAgICAgICAgICAgICAgICAgICBbc2hhcGVdPVwiJ3JvdW5kZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1kXCIgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e2FjdGl2aXR5KCkuZGVzY3JpcHRpb259fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIEBpZihpc1NlbGVjdGVkKCkpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8Y3VpLXN2ZyBbaWNvbl09XCInY3VpSWNvbkNoZWNrJ1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { inject, Injectable, signal } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { UserCompanyApiService } from '@cuby-ui/api';
|
|
4
|
+
import { CuiAuthService } from "../../../providers";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class CuiActivityImplService {
|
|
6
7
|
constructor() {
|
|
8
|
+
this.cuiAuthService = inject(CuiAuthService);
|
|
7
9
|
this.userCompanyApiService = inject(UserCompanyApiService);
|
|
8
10
|
this.companiesSignal = signal([]);
|
|
11
|
+
this.authData = this.cuiAuthService.getAccessTokenData();
|
|
12
|
+
this.currentActivityId = this.authData.employee_session.activityId;
|
|
9
13
|
this.companies = this.companiesSignal.asReadonly();
|
|
10
14
|
}
|
|
11
15
|
initActivityData() {
|
|
@@ -13,8 +17,8 @@ export class CuiActivityImplService {
|
|
|
13
17
|
.pipe(takeUntilDestroyed())
|
|
14
18
|
.subscribe((response) => this.companiesSignal.set(response));
|
|
15
19
|
}
|
|
16
|
-
checkIsCurrentActivity() {
|
|
17
|
-
|
|
20
|
+
checkIsCurrentActivity(activityId) {
|
|
21
|
+
return this.currentActivityId === activityId;
|
|
18
22
|
}
|
|
19
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityImplService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
24
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityImplService, providedIn: 'any' }); }
|
|
@@ -25,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
25
29
|
providedIn: 'any'
|
|
26
30
|
}]
|
|
27
31
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvc2VydmljZXMvYWN0aXZpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3JELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFNbEQsTUFBTSxPQUFPLHNCQUFzQjtJQUhuQztRQUlxQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QywwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RCxvQkFBZSxHQUFHLE1BQU0sQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFFL0MsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQTJCLENBQUM7UUFDN0Usc0JBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7UUFFL0QsY0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7S0FXakU7SUFUVSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRTthQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLHNCQUFzQixDQUFDLFVBQWtCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLFVBQVUsQ0FBQTtJQUNoRCxDQUFDOytHQW5CUSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZuQixLQUFLOzs0RkFFUixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHR5cGUgeyBDdWlVc2VyQ29tcGFueSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgeyBVc2VyQ29tcGFueUFwaVNlcnZpY2UgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgdHlwZSB7IEN1aUFjdGl2aXR5U2VydmljZSB9IGZyb20gJy4uL3VzZXItYWN0aW9uLWNvbnRleHQub3B0aW9uJztcbmltcG9ydCB7Q3VpQXV0aFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9wcm92aWRlcnNcIjtcbmltcG9ydCB0eXBlIHtDdWlFeGNoYW5nZVRva2VuU2Vzc2lvbn0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBDdWlBY3Rpdml0eUltcGxTZXJ2aWNlIGltcGxlbWVudHMgQ3VpQWN0aXZpdHlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUF1dGhTZXJ2aWNlID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJDb21wYW55QXBpU2VydmljZSA9IGluamVjdChVc2VyQ29tcGFueUFwaVNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wYW5pZXNTaWduYWwgPSBzaWduYWw8Q3VpVXNlckNvbXBhbnlbXT4oW10pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoRGF0YSA9IHRoaXMuY3VpQXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW5EYXRhPEN1aUV4Y2hhbmdlVG9rZW5TZXNzaW9uPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VycmVudEFjdGl2aXR5SWQgPSB0aGlzLmF1dGhEYXRhLmVtcGxveWVlX3Nlc3Npb24uYWN0aXZpdHlJZDtcblxuICAgIHB1YmxpYyByZWFkb25seSBjb21wYW5pZXMgPSB0aGlzLmNvbXBhbmllc1NpZ25hbC5hc1JlYWRvbmx5KCk7XG5cbiAgICBwdWJsaWMgaW5pdEFjdGl2aXR5RGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyQ29tcGFueUFwaVNlcnZpY2UuZ2V0TXlDb21wYW5pZXMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4gdGhpcy5jb21wYW5pZXNTaWduYWwuc2V0KHJlc3BvbnNlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrSXNDdXJyZW50QWN0aXZpdHkoYWN0aXZpdHlJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID09PSBhY3Rpdml0eUlkXG4gICAgfVxufVxuIl19
|
|
@@ -17,8 +17,8 @@ export class CuiUserActionContextMenuComponent {
|
|
|
17
17
|
this.authData = this.cuiAuthService.getAccessTokenData();
|
|
18
18
|
this.langs = this.translocoService.getAvailableLangs();
|
|
19
19
|
this.email = this.authData.email;
|
|
20
|
-
this.fullName =
|
|
21
|
-
this.
|
|
20
|
+
this.fullName = this.authData.name;
|
|
21
|
+
this.companyId = this.authData.employee_session.companyId;
|
|
22
22
|
this.theme$ = this.cuiThemeService.asObservable();
|
|
23
23
|
this.lang$ = this.translocoService.langChanges$;
|
|
24
24
|
this.isOpen = signal(false);
|
|
@@ -26,7 +26,7 @@ export class CuiUserActionContextMenuComponent {
|
|
|
26
26
|
this.cuiActivityService.initActivityData();
|
|
27
27
|
}
|
|
28
28
|
onLogout() {
|
|
29
|
-
|
|
29
|
+
this.cuiAuthService.logOut();
|
|
30
30
|
}
|
|
31
31
|
onToggleOpenState(open) {
|
|
32
32
|
this.isOpen.set(open);
|
|
@@ -42,7 +42,7 @@ export class CuiUserActionContextMenuComponent {
|
|
|
42
42
|
this.translocoService.setActiveLang(lang.label);
|
|
43
43
|
}
|
|
44
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n }\n </div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">Log out</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:16px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiDropdownWrapperComponent, selector: "cui-dropdown-wrapper", inputs: ["title", "width"] }, { kind: "component", type: CuiLetterBoxComponent, selector: "cui-letter-box", inputs: ["letter", "backgroundColor", "size", "shape"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiActivityItemComponent, selector: "cui-activity-item", inputs: ["activity", "companyId"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
46
|
}
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
@@ -56,6 +56,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
56
56
|
CuiContextMenuModule,
|
|
57
57
|
CuiActivityItemComponent,
|
|
58
58
|
AsyncPipe
|
|
59
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n
|
|
59
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n }\n </div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">Log out</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:16px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"] }]
|
|
60
60
|
}], ctorParameters: () => [] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFrQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFGLE9BQU8sRUFDSCxlQUFlLEVBQUUsb0JBQW9CLEVBQ3JDLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLFlBQVksRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQW9CakQsTUFBTSxPQUFPLGlDQUFpQztJQW1CMUM7UUFsQmlCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRXhELGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUEyQixDQUFDO1FBRTNFLFVBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNsRCxVQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6RCxlQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7UUFFdkQsV0FBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0MsVUFBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFFM0MsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztRQUc3RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRVMsUUFBUTtRQUNkLHlDQUF5QztJQUM3QyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsSUFBYTtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRVMsYUFBYSxDQUFDLEtBQWU7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQTNDUSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx3RkNuQzlDLHd4S0FpSEEsc3ZDRDVGUSxrQkFBa0IsK0xBQ2xCLFlBQVksd0tBQ1osb0JBQW9CLG9KQUNwQiwyQkFBMkIsNkZBQzNCLHFCQUFxQixrSEFDckIsZUFBZSw4QkFDZixvQkFBb0IsK0JBQ3BCLHdCQUF3QixvR0FDeEIsU0FBUzs7NEZBTUosaUNBQWlDO2tCQWxCN0MsU0FBUzsrQkFDSSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQO3dCQUNMLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixTQUFTO3FCQUNaLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYW5nRGVmaW5pdGlvbiwgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHtcbiAgICBDdWlCdXR0b25Nb2R1bGUsIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIEN1aURyb3Bkb3duV3JhcHBlckNvbXBvbmVudCxcbiAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgQ3VpU3ZnTW9kdWxlXG59IGZyb20gXCIuLi8uLi9jb21wb25lbnRzXCI7XG5pbXBvcnQgdHlwZSB7IEN1aUV4Y2hhbmdlVG9rZW5TZXNzaW9uLCBDdWlUaGVtZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEN1aVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2FjdGl2aXR5LWl0ZW1cIjtcbmltcG9ydCB7IENVSV9BQ1RJVklUWV9TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi91c2VyLWFjdGlvbi1jb250ZXh0Lm9wdGlvbic7XG5pbXBvcnQgeyBDdWlBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXVzZXItYWN0aW9uLWNvbnRleHQtbWVudScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBDdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVXNlckFjdGlvbkNvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlUaGVtZVNlcnZpY2UgPSBpbmplY3QoQ3VpVGhlbWVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUF1dGhTZXJ2aWNlID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFjdGl2aXR5U2VydmljZSA9IGluamVjdChDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhEYXRhID0gdGhpcy5jdWlBdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbkRhdGE8Q3VpRXhjaGFuZ2VUb2tlblNlc3Npb24+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZ3MgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QXZhaWxhYmxlTGFuZ3MoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1haWwgPSB0aGlzLmF1dGhEYXRhLmVtYWlsO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmdWxsTmFtZSA9IGAke3RoaXMuYXV0aERhdGEubmFtZX0gJHt0aGlzLmF1dGhEYXRhLm5hbWV9YDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZpdHlJZCA9IHRoaXMuYXV0aERhdGEuZW1wbG95ZWVfc2Vzc2lvbi5hY3Rpdml0eUlkO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRoZW1lJCA9IHRoaXMuY3VpVGhlbWVTZXJ2aWNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsYW5nJCA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFuaWVzID0gdGhpcy5jdWlBY3Rpdml0eVNlcnZpY2UuY29tcGFuaWVzO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmluaXRBY3Rpdml0eURhdGEoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Mb2dvdXQoKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE86IGxvZ291dCBsb2dpYyBmcm9tIGFkbWluaXN0cmF0aW9uXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG9nZ2xlT3BlblN0YXRlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KG9wZW4pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZVRoZW1lKHRoZW1lOiBDdWlUaGVtZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1aVRoZW1lU2VydmljZS5uZXh0KHRoZW1lKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2VMYW5nKGxhbmc6IHN0cmluZyB8IExhbmdEZWZpbml0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgbGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsb2NvU2VydmljZS5zZXRBY3RpdmVMYW5nKGxhbmcpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyYW5zbG9jb1NlcnZpY2Uuc2V0QWN0aXZlTGFuZyhsYW5nLmxhYmVsKTtcbiAgICB9XG59XG4iLCJAbGV0IGN1cnJlbnRUaGVtZSA9IHRoZW1lJCB8IGFzeW5jO1xuQGxldCBjdXJyZW50TGFuZyA9IGxhbmckIHwgYXN5bmM7XG5cbjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgPCEtLSBUT0RPOiBpbnZhbGlkIGJ1dHRvbiAtLT5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbY3VpRHJvcGRvd25dPVwiY29udGVudFwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0XCJcbiAgICAgICAgKGlzT3BlbmVkKT1cIm9uVG9nZ2xlT3BlblN0YXRlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgdGVzdFxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgICAgICBAaWYgKGlzT3BlbigpKSB7XG4gICAgICAgICAgICA8Y3VpLWRyb3Bkb3duLXdyYXBwZXIgd2lkdGg9XCIzMDBweFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgI2Ryb3Bkb3duQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid3JhcHBlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2stbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWxldHRlci1ib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xldHRlcl09XCJmdWxsTmFtZVswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaGFwZV09XCIncm91bmRlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBmdWxsTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic3VidGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbWFpbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbXBhbnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGNvbXBhbnkgb2YgY29tcGFuaWVzKCk7IHRyYWNrIGNvbXBhbnkuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aXRsZS1jb21wYW55XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbXBhbnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtYWN0aXZpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYWN0aXZpdHkgb2YgY29tcGFueS5jb250ZXh0czsgdHJhY2sgYWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktYWN0aXZpdHktaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpdml0eV09XCJhY3Rpdml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRBY3Rpdml0eUlkXT1cImFjdGl2aXR5SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnIGljb249XCJjdWlJY29uUGFsZXR0ZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3aXRjaCB0aGVtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRUaGVtZSA9PT0gJ2RhcmsnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25Nb29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZVRoZW1lKCdkYXJrJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbnRhaW5lci1zdWItYnV0dG9uX19zZWxlY3RdPVwiY3VycmVudFRoZW1lID09PSAnbGlnaHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25TdW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVGhlbWUoJ2xpZ2h0JylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25HbG9iZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3aXRjaCB0aGVtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsYW5nIG9mIGxhbmdzOyB0cmFjayBsYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRMYW5nID09PSBsYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLXN1Yi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlTGFuZyhsYW5nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxhbmcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25Mb2dvdXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkxvZ091dFNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5Mb2cgb3V0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2N1aS1kcm9wZG93bi13cmFwcGVyPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUvdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFrQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFGLE9BQU8sRUFDSCxlQUFlLEVBQUUsb0JBQW9CLEVBQ3JDLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLFlBQVksRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQW9CakQsTUFBTSxPQUFPLGlDQUFpQztJQW1CMUM7UUFsQmlCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRXhELGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUEyQixDQUFDO1FBRTNFLFVBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNsRCxVQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQTtRQUVwRCxXQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxVQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQztRQUUzQyxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1FBRzdELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFUyxRQUFRO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsSUFBYTtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRVMsYUFBYSxDQUFDLEtBQWU7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQTNDUSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx3RkNuQzlDLHF2S0FnSEEsc3ZDRDNGUSxrQkFBa0IsK0xBQ2xCLFlBQVksd0tBQ1osb0JBQW9CLG9KQUNwQiwyQkFBMkIsNkZBQzNCLHFCQUFxQixrSEFDckIsZUFBZSw4QkFDZixvQkFBb0IsK0JBQ3BCLHdCQUF3Qiw0RkFDeEIsU0FBUzs7NEZBTUosaUNBQWlDO2tCQWxCN0MsU0FBUzsrQkFDSSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQO3dCQUNMLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixTQUFTO3FCQUNaLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYW5nRGVmaW5pdGlvbiwgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHtcbiAgICBDdWlCdXR0b25Nb2R1bGUsIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIEN1aURyb3Bkb3duV3JhcHBlckNvbXBvbmVudCxcbiAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgQ3VpU3ZnTW9kdWxlXG59IGZyb20gXCIuLi8uLi9jb21wb25lbnRzXCI7XG5pbXBvcnQgdHlwZSB7IEN1aUV4Y2hhbmdlVG9rZW5TZXNzaW9uLCBDdWlUaGVtZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEN1aVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2FjdGl2aXR5LWl0ZW1cIjtcbmltcG9ydCB7IENVSV9BQ1RJVklUWV9TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi91c2VyLWFjdGlvbi1jb250ZXh0Lm9wdGlvbic7XG5pbXBvcnQgeyBDdWlBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXVzZXItYWN0aW9uLWNvbnRleHQtbWVudScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBDdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlMZXR0ZXJCb3hDb21wb25lbnQsXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUFjdGl2aXR5SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdXNlci1hY3Rpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVXNlckFjdGlvbkNvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlUaGVtZVNlcnZpY2UgPSBpbmplY3QoQ3VpVGhlbWVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUF1dGhTZXJ2aWNlID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFjdGl2aXR5U2VydmljZSA9IGluamVjdChDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhEYXRhID0gdGhpcy5jdWlBdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbkRhdGE8Q3VpRXhjaGFuZ2VUb2tlblNlc3Npb24+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZ3MgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QXZhaWxhYmxlTGFuZ3MoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1haWwgPSB0aGlzLmF1dGhEYXRhLmVtYWlsO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmdWxsTmFtZSA9IHRoaXMuYXV0aERhdGEubmFtZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFueUlkID0gdGhpcy5hdXRoRGF0YS5lbXBsb3llZV9zZXNzaW9uLmNvbXBhbnlJZFxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRoZW1lJCA9IHRoaXMuY3VpVGhlbWVTZXJ2aWNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsYW5nJCA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFuaWVzID0gdGhpcy5jdWlBY3Rpdml0eVNlcnZpY2UuY29tcGFuaWVzO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY3VpQWN0aXZpdHlTZXJ2aWNlLmluaXRBY3Rpdml0eURhdGEoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Mb2dvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpQXV0aFNlcnZpY2UubG9nT3V0KClcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ub2dnbGVPcGVuU3RhdGUob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQob3Blbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlVGhlbWUodGhlbWU6IEN1aVRoZW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpVGhlbWVTZXJ2aWNlLm5leHQodGhlbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZUxhbmcobGFuZzogc3RyaW5nIHwgTGFuZ0RlZmluaXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsYW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnNldEFjdGl2ZUxhbmcobGFuZyk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJhbnNsb2NvU2VydmljZS5zZXRBY3RpdmVMYW5nKGxhbmcubGFiZWwpO1xuICAgIH1cbn1cbiIsIkBsZXQgY3VycmVudFRoZW1lID0gdGhlbWUkIHwgYXN5bmM7XG5AbGV0IGN1cnJlbnRMYW5nID0gbGFuZyQgfCBhc3luYztcblxuPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHRcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbY3VpRHJvcGRvd25dPVwiY29udGVudFwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0XCJcbiAgICAgICAgKGlzT3BlbmVkKT1cIm9uVG9nZ2xlT3BlblN0YXRlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQvPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgICAgICBAaWYgKGlzT3BlbigpKSB7XG4gICAgICAgICAgICA8Y3VpLWRyb3Bkb3duLXdyYXBwZXIgd2lkdGg9XCIzMDBweFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgI2Ryb3Bkb3duQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid3JhcHBlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2stbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWxldHRlci1ib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xldHRlcl09XCJmdWxsTmFtZVswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaGFwZV09XCIncm91bmRlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBmdWxsTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic3VidGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbWFpbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWNvbXBhbnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGNvbXBhbnkgb2YgY29tcGFuaWVzKCk7IHRyYWNrIGNvbXBhbnkuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aXRsZS1jb21wYW55XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbXBhbnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtYWN0aXZpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYWN0aXZpdHkgb2YgY29tcGFueS5jb250ZXh0czsgdHJhY2sgYWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktYWN0aXZpdHktaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpdml0eV09XCJhY3Rpdml0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBhbnlJZF09XCJjb21wYW55SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjdWktc3ZnIGljb249XCJjdWlJY29uUGFsZXR0ZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3aXRjaCB0aGVtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRUaGVtZSA9PT0gJ2RhcmsnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25Nb29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoYW5nZVRoZW1lKCdkYXJrJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbnRhaW5lci1zdWItYnV0dG9uX19zZWxlY3RdPVwiY3VycmVudFRoZW1lID09PSAnbGlnaHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXItc3ViLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25TdW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVGhlbWUoJ2xpZ2h0JylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN1aS1zdmcgaWNvbj1cImN1aUljb25HbG9iZVNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3aXRjaCB0aGVtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXN1Yi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsYW5nIG9mIGxhbmdzOyB0cmFjayBsYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb250YWluZXItc3ViLWJ1dHRvbl9fc2VsZWN0XT1cImN1cnJlbnRMYW5nID09PSBsYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLXN1Yi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlTGFuZyhsYW5nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxhbmcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25Mb2dvdXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkxvZ091dFNtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYW5kLXN1Yi1idXR0b25cIj5Mb2cgb3V0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2N1aS1kcm9wZG93bi13cmFwcGVyPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const CUI_ACTIVITY_SERVICE_TOKEN = new InjectionToken('ACTIVITY_SERVICE_TOKEN');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC5vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdXNlci1hY3Rpb24tY29udGV4dC1tZW51L3VzZXItYWN0aW9uLWNvbnRleHQub3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQXFCLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdWlVc2VyQ29tcGFueSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmV4cG9ydCBjb25zdCBDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDdWlBY3Rpdml0eVNlcnZpY2U+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY3Rpb24tY29udGV4dC5vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdXNlci1hY3Rpb24tY29udGV4dC1tZW51L3VzZXItYWN0aW9uLWNvbnRleHQub3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQXFCLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdWlVc2VyQ29tcGFueSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmV4cG9ydCBjb25zdCBDVUlfQUNUSVZJVFlfU0VSVklDRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDdWlBY3Rpdml0eVNlcnZpY2U+KCdBQ1RJVklUWV9TRVJWSUNFX1RPS0VOJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VpQWN0aXZpdHlEYXRhIHtcbiAgICByZWFkb25seSBjb21wYW5pZXM6IFNpZ25hbDxDdWlVc2VyQ29tcGFueVtdPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdWlBY3Rpdml0eVNlcnZpY2UgZXh0ZW5kcyBDdWlBY3Rpdml0eURhdGEge1xuICAgIGluaXRBY3Rpdml0eURhdGEoKTogdm9pZDtcbiAgICBjaGVja0lzQ3VycmVudEFjdGl2aXR5KGFjdGl2aXR5SWQ6IHN0cmluZyk6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -10325,8 +10325,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
10325
10325
|
|
|
10326
10326
|
class CuiActivityImplService {
|
|
10327
10327
|
constructor() {
|
|
10328
|
+
this.cuiAuthService = inject(CuiAuthService);
|
|
10328
10329
|
this.userCompanyApiService = inject(UserCompanyApiService);
|
|
10329
10330
|
this.companiesSignal = signal([]);
|
|
10331
|
+
this.authData = this.cuiAuthService.getAccessTokenData();
|
|
10332
|
+
this.currentActivityId = this.authData.employee_session.activityId;
|
|
10330
10333
|
this.companies = this.companiesSignal.asReadonly();
|
|
10331
10334
|
}
|
|
10332
10335
|
initActivityData() {
|
|
@@ -10334,8 +10337,8 @@ class CuiActivityImplService {
|
|
|
10334
10337
|
.pipe(takeUntilDestroyed())
|
|
10335
10338
|
.subscribe((response) => this.companiesSignal.set(response));
|
|
10336
10339
|
}
|
|
10337
|
-
checkIsCurrentActivity() {
|
|
10338
|
-
|
|
10340
|
+
checkIsCurrentActivity(activityId) {
|
|
10341
|
+
return this.currentActivityId === activityId;
|
|
10339
10342
|
}
|
|
10340
10343
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityImplService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10341
10344
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityImplService, providedIn: 'any' }); }
|
|
@@ -10351,18 +10354,34 @@ const CUI_ACTIVITY_SERVICE_TOKEN = new InjectionToken('ACTIVITY_SERVICE_TOKEN');
|
|
|
10351
10354
|
|
|
10352
10355
|
class CuiActivityItemComponent {
|
|
10353
10356
|
constructor() {
|
|
10354
|
-
this.
|
|
10355
|
-
this.
|
|
10357
|
+
this.cuiWindow = inject(CUI_WINDOW);
|
|
10358
|
+
this.destroy = inject(DestroyRef);
|
|
10359
|
+
this.cuiAuthService = inject(CuiAuthService);
|
|
10360
|
+
this.cuiActivityService = inject(CUI_ACTIVITY_SERVICE_TOKEN);
|
|
10361
|
+
this.isSelected = computed(() => this.cuiActivityService.checkIsCurrentActivity(this.activity().activityId));
|
|
10356
10362
|
this.activity = input.required();
|
|
10363
|
+
this.companyId = input.required();
|
|
10364
|
+
}
|
|
10365
|
+
onGoToActivity() {
|
|
10366
|
+
if (this.isSelected()) {
|
|
10367
|
+
return;
|
|
10368
|
+
}
|
|
10369
|
+
this.cuiAuthService.exchangeToken({
|
|
10370
|
+
type: "EXCHANGE_CONTEXT_ACTIVITY" /* CuiTokenExchangeType.Activity */,
|
|
10371
|
+
activityId: this.activity().activityId,
|
|
10372
|
+
companyId: this.companyId()
|
|
10373
|
+
}).pipe(takeUntilDestroyed(this.destroy)).subscribe(() => {
|
|
10374
|
+
this.cuiWindow.location.reload();
|
|
10375
|
+
});
|
|
10357
10376
|
}
|
|
10358
10377
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10359
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiActivityItemComponent, isStandalone: true, selector: "cui-activity-item", inputs: {
|
|
10378
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiActivityItemComponent, isStandalone: true, selector: "cui-activity-item", inputs: { activity: { classPropertyName: "activity", publicName: "activity", isSignal: true, isRequired: true, transformFunction: null }, companyId: { classPropertyName: "companyId", publicName: "companyId", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.selected": "isSelected()" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <button\n type=\"button\"\n class=\"activity-button\"\n (click)=\"onGoToActivity()\">\n <cui-letter-box\n [letter]=\"activity().description[0]\"\n [shape]=\"'rounded'\"\n size=\"md\" />\n <span>{{activity().description}}</span>\n </button>\n\n @if(isSelected()){\n <div class=\"icon-wrapper\">\n <cui-svg [icon]=\"'cuiIconCheck'\" />\n </div>\n }\n</div>\n", styles: [":host(.selected){background:var(--cui-badge-blue-bg);border-radius:8px}.wrapper{display:flex;justify-content:space-between}.activity-button{height:36px;color:var(--cui-base-900)}.icon-wrapper{display:flex;align-items:center;justify-content:center;padding:8px}\n"], dependencies: [{ kind: "component", type: CuiLetterBoxComponent, selector: "cui-letter-box", inputs: ["letter", "backgroundColor", "size", "shape"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10360
10379
|
}
|
|
10361
10380
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiActivityItemComponent, decorators: [{
|
|
10362
10381
|
type: Component,
|
|
10363
10382
|
args: [{ selector: 'cui-activity-item', standalone: true, imports: [CuiLetterBoxComponent, CuiSvgModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
10364
10383
|
'[class.selected]': 'isSelected()'
|
|
10365
|
-
}, template: "<div class=\"wrapper\">\n <button
|
|
10384
|
+
}, template: "<div class=\"wrapper\">\n <button\n type=\"button\"\n class=\"activity-button\"\n (click)=\"onGoToActivity()\">\n <cui-letter-box\n [letter]=\"activity().description[0]\"\n [shape]=\"'rounded'\"\n size=\"md\" />\n <span>{{activity().description}}</span>\n </button>\n\n @if(isSelected()){\n <div class=\"icon-wrapper\">\n <cui-svg [icon]=\"'cuiIconCheck'\" />\n </div>\n }\n</div>\n", styles: [":host(.selected){background:var(--cui-badge-blue-bg);border-radius:8px}.wrapper{display:flex;justify-content:space-between}.activity-button{height:36px;color:var(--cui-base-900)}.icon-wrapper{display:flex;align-items:center;justify-content:center;padding:8px}\n"] }]
|
|
10366
10385
|
}] });
|
|
10367
10386
|
|
|
10368
10387
|
class CuiUserActionContextMenuComponent {
|
|
@@ -10374,8 +10393,8 @@ class CuiUserActionContextMenuComponent {
|
|
|
10374
10393
|
this.authData = this.cuiAuthService.getAccessTokenData();
|
|
10375
10394
|
this.langs = this.translocoService.getAvailableLangs();
|
|
10376
10395
|
this.email = this.authData.email;
|
|
10377
|
-
this.fullName =
|
|
10378
|
-
this.
|
|
10396
|
+
this.fullName = this.authData.name;
|
|
10397
|
+
this.companyId = this.authData.employee_session.companyId;
|
|
10379
10398
|
this.theme$ = this.cuiThemeService.asObservable();
|
|
10380
10399
|
this.lang$ = this.translocoService.langChanges$;
|
|
10381
10400
|
this.isOpen = signal(false);
|
|
@@ -10383,7 +10402,7 @@ class CuiUserActionContextMenuComponent {
|
|
|
10383
10402
|
this.cuiActivityService.initActivityData();
|
|
10384
10403
|
}
|
|
10385
10404
|
onLogout() {
|
|
10386
|
-
|
|
10405
|
+
this.cuiAuthService.logOut();
|
|
10387
10406
|
}
|
|
10388
10407
|
onToggleOpenState(open) {
|
|
10389
10408
|
this.isOpen.set(open);
|
|
@@ -10399,7 +10418,7 @@ class CuiUserActionContextMenuComponent {
|
|
|
10399
10418
|
this.translocoService.setActiveLang(lang.label);
|
|
10400
10419
|
}
|
|
10401
10420
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10402
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n
|
|
10421
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiUserActionContextMenuComponent, isStandalone: true, selector: "cui-user-action-context-menu", ngImport: i0, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n }\n </div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">Log out</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:16px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiDropdownWrapperComponent, selector: "cui-dropdown-wrapper", inputs: ["title", "width"] }, { kind: "component", type: CuiLetterBoxComponent, selector: "cui-letter-box", inputs: ["letter", "backgroundColor", "size", "shape"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiActivityItemComponent, selector: "cui-activity-item", inputs: ["activity", "companyId"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10403
10422
|
}
|
|
10404
10423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiUserActionContextMenuComponent, decorators: [{
|
|
10405
10424
|
type: Component,
|
|
@@ -10413,7 +10432,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
10413
10432
|
CuiContextMenuModule,
|
|
10414
10433
|
CuiActivityItemComponent,
|
|
10415
10434
|
AsyncPipe
|
|
10416
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n
|
|
10435
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content/>\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper width=\"300px\">\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{ fullName }}\n </ul>\n <ul class=\"subtitle-text\">\n {{ email }}\n </ul>\n </div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{ company.name }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n [activity]=\"activity\"\n [companyId]=\"companyId\"\n />\n }\n </div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n Switch theme\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\" (click)=\"onLogout()\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">Log out</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:16px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px}.list-activity{display:flex;flex-direction:column;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}\n"] }]
|
|
10417
10436
|
}], ctorParameters: () => [] });
|
|
10418
10437
|
|
|
10419
10438
|
/**
|