@valtimo/components 5.15.0 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/carbon-beagle-compatibility.scss +118 -0
- package/assets/css/carbon.scss +82 -0
- package/esm2020/lib/components/alert/alert.component.mjs +3 -3
- package/esm2020/lib/components/alert/alert.module.mjs +5 -5
- package/esm2020/lib/components/alert/alert.service.mjs +3 -3
- package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.mjs +4 -4
- package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.mjs +5 -5
- package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.mjs +12 -10
- package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/camunda-form.components.mjs +6 -6
- package/esm2020/lib/components/camunda/form/camunda-form.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.component.mjs +7 -7
- package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.mjs +7 -7
- package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.mjs +3 -3
- package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield.service.mjs +3 -3
- package/esm2020/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.mjs +6 -6
- package/esm2020/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.mjs +7 -7
- package/esm2020/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.mjs +6 -6
- package/esm2020/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.mjs +7 -7
- package/esm2020/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.mjs +7 -7
- package/esm2020/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.mjs +7 -7
- package/esm2020/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.mjs +4 -4
- package/esm2020/lib/components/card/card.component.mjs +4 -4
- package/esm2020/lib/components/card/card.module.mjs +5 -5
- package/esm2020/lib/components/components.module.mjs +4 -4
- package/esm2020/lib/components/data-list/data-list.component.mjs +4 -4
- package/esm2020/lib/components/data-list/data-list.module.mjs +5 -5
- package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +3 -3
- package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.mjs +15 -17
- package/esm2020/lib/components/dropzone/dropzone.component.mjs +8 -8
- package/esm2020/lib/components/dropzone/dropzone.module.mjs +5 -5
- package/esm2020/lib/components/field-auto-focus/field-auto-focus.directive.mjs +3 -3
- package/esm2020/lib/components/field-auto-focus/field-auto-focus.module.mjs +5 -5
- package/esm2020/lib/components/file-size/file-size.module.mjs +5 -5
- package/esm2020/lib/components/file-size/file-size.pipe.mjs +3 -3
- package/esm2020/lib/components/filter-sidebar/filter-sidebar.component.mjs +3 -3
- package/esm2020/lib/components/filter-sidebar/filter-sidebar.module.mjs +5 -5
- package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.mjs +7 -7
- package/esm2020/lib/components/form-io/form-io-builder.component.mjs +4 -4
- package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader.component.mjs +5 -5
- package/esm2020/lib/components/form-io/form-io.component.mjs +6 -6
- package/esm2020/lib/components/form-io/form-io.module.mjs +13 -15
- package/esm2020/lib/components/form-io/services/form-io-dom.service.mjs +3 -3
- package/esm2020/lib/components/form-io/services/form-io-state.service.mjs +3 -3
- package/esm2020/lib/components/left-sidebar/left-sidebar.component.mjs +79 -87
- package/esm2020/lib/components/left-sidebar/left-sidebar.module.mjs +26 -7
- package/esm2020/lib/components/list/ListFilterPipe.directive.mjs +3 -3
- package/esm2020/lib/components/list/list.component.mjs +7 -7
- package/esm2020/lib/components/list/list.module.mjs +5 -5
- package/esm2020/lib/components/menu/menu-item-text.component.mjs +12 -55
- package/esm2020/lib/components/menu/menu-routing.module.mjs +5 -5
- package/esm2020/lib/components/menu/menu.module.mjs +27 -11
- package/esm2020/lib/components/menu/menu.service.mjs +49 -6
- package/esm2020/lib/components/modal/modal.component.mjs +3 -3
- package/esm2020/lib/components/modal/modal.module.mjs +5 -5
- package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +6 -6
- package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.module.mjs +5 -5
- package/esm2020/lib/components/page-header/page-header.component.mjs +6 -6
- package/esm2020/lib/components/page-header/page-header.module.mjs +5 -5
- package/esm2020/lib/components/page-title/page-title.component.mjs +11 -9
- package/esm2020/lib/components/page-title/page-title.module.mjs +5 -5
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2020/lib/components/right-sidebar/right-sidebar.component.mjs +103 -63
- package/esm2020/lib/components/right-sidebar/right-sidebar.module.mjs +45 -19
- package/esm2020/lib/components/search-fields/search-fields.component.mjs +7 -7
- package/esm2020/lib/components/search-fields/search-fields.module.mjs +15 -17
- package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +3 -3
- package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.module.mjs +5 -5
- package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.mjs +5 -5
- package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.mjs +5 -5
- package/esm2020/lib/components/spinner/spinner.component.mjs +5 -5
- package/esm2020/lib/components/spinner/spinner.module.mjs +5 -5
- package/esm2020/lib/components/timeline/timeline.component.mjs +5 -5
- package/esm2020/lib/components/timeline/timeline.module.mjs +5 -5
- package/esm2020/lib/components/topbar/topbar.component.mjs +50 -12
- package/esm2020/lib/components/topbar/topbar.module.mjs +7 -6
- package/esm2020/lib/components/uploader/uploader-drag-drop.directive.mjs +3 -3
- package/esm2020/lib/components/uploader/uploader.component.mjs +5 -5
- package/esm2020/lib/components/uploader/uploader.module.mjs +5 -5
- package/esm2020/lib/components/version/version.service.mjs +10 -8
- package/esm2020/lib/components/view-content/view-content.service.mjs +3 -3
- package/esm2020/lib/components/webcam/webcam.component.mjs +3 -3
- package/esm2020/lib/components/webcam/webcam.module.mjs +5 -5
- package/esm2020/lib/components/widget/widget.component.mjs +3 -3
- package/esm2020/lib/components/widget/widget.module.mjs +5 -5
- package/esm2020/lib/pipes/case-count.pipe.mjs +22 -0
- package/esm2020/lib/pipes/components-pipes.module.mjs +16 -0
- package/esm2020/lib/pipes/index.mjs +4 -0
- package/esm2020/lib/pipes/menu-item-translation.pipe.mjs +34 -0
- package/esm2020/lib/services/shell.service.mjs +52 -0
- package/esm2020/lib/services/valtimo-modal.service.mjs +3 -3
- package/esm2020/public_api.mjs +4 -2
- package/fesm2015/valtimo-components.mjs +861 -762
- package/fesm2015/valtimo-components.mjs.map +1 -1
- package/fesm2020/valtimo-components.mjs +859 -762
- package/fesm2020/valtimo-components.mjs.map +1 -1
- package/{valtimo-components.d.ts → index.d.ts} +0 -0
- package/lib/components/alert/alert.component.d.ts +1 -1
- package/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.d.ts +1 -1
- package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts +4 -2
- package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts.map +1 -1
- package/lib/components/camunda/form/camunda-form.components.d.ts +1 -1
- package/lib/components/camunda/form/custom/camunda-custom-form.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/camunda-generated-form.component.d.ts +4 -4
- package/lib/components/camunda/form/generated/camunda-generated-form.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts.map +1 -1
- package/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +3 -3
- package/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts.map +1 -1
- package/lib/components/card/card.component.d.ts +1 -1
- package/lib/components/data-list/data-list.component.d.ts +1 -1
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +1 -1
- package/lib/components/dropzone/dropzone.component.d.ts +1 -1
- package/lib/components/field-auto-focus/field-auto-focus.directive.d.ts +1 -1
- package/lib/components/file-size/file-size.pipe.d.ts +1 -1
- package/lib/components/filter-sidebar/filter-sidebar.component.d.ts +1 -1
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.d.ts +1 -1
- package/lib/components/form-io/form-io-builder.component.d.ts +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts +1 -1
- package/lib/components/form-io/form-io.component.d.ts +1 -1
- package/lib/components/left-sidebar/left-sidebar.component.d.ts +28 -31
- package/lib/components/left-sidebar/left-sidebar.component.d.ts.map +1 -1
- package/lib/components/left-sidebar/left-sidebar.module.d.ts +7 -4
- package/lib/components/left-sidebar/left-sidebar.module.d.ts.map +1 -1
- package/lib/components/list/ListFilterPipe.directive.d.ts +1 -1
- package/lib/components/list/list.component.d.ts +1 -1
- package/lib/components/menu/menu-item-text.component.d.ts +2 -1
- package/lib/components/menu/menu-item-text.component.d.ts.map +1 -1
- package/lib/components/menu/menu.module.d.ts +8 -8
- package/lib/components/menu/menu.module.d.ts.map +1 -1
- package/lib/components/menu/menu.service.d.ts +6 -1
- package/lib/components/menu/menu.service.d.ts.map +1 -1
- package/lib/components/modal/modal.component.d.ts +1 -1
- package/lib/components/multiselect-dropdown/multiselect-dropdown.component.d.ts +1 -1
- package/lib/components/page-header/page-header.component.d.ts +1 -1
- package/lib/components/page-title/page-title.component.d.ts +9 -7
- package/lib/components/page-title/page-title.component.d.ts.map +1 -1
- package/lib/components/progress-bar/progress-bar.component.d.ts +1 -1
- package/lib/components/right-sidebar/right-sidebar.component.d.ts +32 -20
- package/lib/components/right-sidebar/right-sidebar.component.d.ts.map +1 -1
- package/lib/components/right-sidebar/right-sidebar.module.d.ts +2 -1
- package/lib/components/right-sidebar/right-sidebar.module.d.ts.map +1 -1
- package/lib/components/search-fields/search-fields.component.d.ts +1 -1
- package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts +2 -2
- package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts.map +1 -1
- package/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.d.ts +1 -1
- package/lib/components/spinner/spinner.component.d.ts +1 -1
- package/lib/components/timeline/timeline.component.d.ts +1 -1
- package/lib/components/topbar/topbar.component.d.ts +19 -2
- package/lib/components/topbar/topbar.component.d.ts.map +1 -1
- package/lib/components/topbar/topbar.module.d.ts +2 -1
- package/lib/components/topbar/topbar.module.d.ts.map +1 -1
- package/lib/components/uploader/uploader-drag-drop.directive.d.ts +1 -1
- package/lib/components/uploader/uploader.component.d.ts +1 -1
- package/lib/components/version/version.service.d.ts +5 -2
- package/lib/components/version/version.service.d.ts.map +1 -1
- package/lib/components/webcam/webcam.component.d.ts +1 -1
- package/lib/components/widget/widget.component.d.ts +1 -1
- package/lib/pipes/case-count.pipe.d.ts +8 -0
- package/lib/pipes/case-count.pipe.d.ts.map +1 -0
- package/lib/pipes/components-pipes.module.d.ts +8 -0
- package/lib/pipes/components-pipes.module.d.ts.map +1 -0
- package/lib/pipes/index.d.ts +4 -0
- package/lib/pipes/index.d.ts.map +1 -0
- package/lib/pipes/menu-item-translation.pipe.d.ts +13 -0
- package/lib/pipes/menu-item-translation.pipe.d.ts.map +1 -0
- package/lib/services/shell.service.d.ts +21 -0
- package/lib/services/shell.service.d.ts.map +1 -0
- package/package.json +14 -11
- package/public_api.d.ts +3 -1
- package/public_api.d.ts.map +1 -1
- package/esm2020/lib/components/menu/menu.component.mjs +0 -66
- package/esm2020/lib/components/menu/submenu-item-text.component.mjs +0 -77
- package/lib/components/menu/menu.component.d.ts +0 -26
- package/lib/components/menu/menu.component.d.ts.map +0 -1
- package/lib/components/menu/submenu-item-text.component.d.ts +0 -8
- package/lib/components/menu/submenu-item-text.component.d.ts.map +0 -1
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, HostListener, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
|
-
import { combineLatest } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, combineLatest, take } from 'rxjs';
|
|
4
|
+
import { tap } from 'rxjs/operators';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@
|
|
6
|
-
import * as i2 from "@
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "
|
|
6
|
+
import * as i1 from "@ngx-translate/core";
|
|
7
|
+
import * as i2 from "@valtimo/security";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
import * as i4 from "../version/version.service";
|
|
9
10
|
import * as i5 from "@valtimo/context";
|
|
10
11
|
import * as i6 from "@angular/common/http";
|
|
11
12
|
import * as i7 from "ngx-logger";
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "@
|
|
13
|
+
import * as i8 from "../../services/shell.service";
|
|
14
|
+
import * as i9 from "@angular/common";
|
|
15
|
+
import * as i10 from "carbon-components-angular";
|
|
14
16
|
export class RightSidebarComponent {
|
|
15
|
-
constructor(userProviderService, formBuilder, versionService,
|
|
17
|
+
constructor(translate, userProviderService, formBuilder, versionService, contextService, http, logger, shellService, elementRef) {
|
|
18
|
+
this.translate = translate;
|
|
16
19
|
this.userProviderService = userProviderService;
|
|
17
20
|
this.formBuilder = formBuilder;
|
|
18
21
|
this.versionService = versionService;
|
|
19
|
-
this.translate = translate;
|
|
20
22
|
this.contextService = contextService;
|
|
21
23
|
this.http = http;
|
|
22
24
|
this.logger = logger;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
this.shellService = shellService;
|
|
26
|
+
this.elementRef = elementRef;
|
|
25
27
|
this.frequencies = [
|
|
26
28
|
'emailNotificationOnMonday',
|
|
27
29
|
'emailNotificationOnTuesday',
|
|
@@ -42,71 +44,109 @@ export class RightSidebarComponent {
|
|
|
42
44
|
emailNotificationOnSaturday: new FormControl(false),
|
|
43
45
|
emailNotificationOnSunday: new FormControl(false),
|
|
44
46
|
});
|
|
45
|
-
this.
|
|
47
|
+
this.panelExpanded$ = this.shellService.panelExpanded$;
|
|
48
|
+
this.selectedLanguage$ = new BehaviorSubject('');
|
|
49
|
+
this.languageOptions$ = new BehaviorSubject([]);
|
|
50
|
+
this.backendVersion$ = this.versionService.getVersion();
|
|
51
|
+
this.userSubject$ = this.userProviderService.getUserSubject();
|
|
52
|
+
this.updatingSettings$ = new BehaviorSubject(true);
|
|
53
|
+
this.emailNotificationSettings$ = new BehaviorSubject(undefined);
|
|
54
|
+
this.emailNotificationSettingsWithSideEffects$ = this.emailNotificationSettings$.pipe(tap(results => {
|
|
55
|
+
if (results) {
|
|
56
|
+
this.settingsForm.setValue(results);
|
|
57
|
+
this.updatingSettings$.next(false);
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
this.userContexts$ = this.contextService.getUserContexts();
|
|
61
|
+
this.activeContext$ = this.contextService.getUserContextActive();
|
|
46
62
|
}
|
|
47
|
-
|
|
48
|
-
combineLatest([
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
63
|
+
onPageClick(targetElement) {
|
|
64
|
+
combineLatest([this.shellService.panelExpanded$, this.shellService.mouseOnTopBar$])
|
|
65
|
+
.pipe(take(1))
|
|
66
|
+
.subscribe(([panelExpanded, mouseOnTopBar]) => {
|
|
67
|
+
const clickedInside = this.elementRef.nativeElement.contains(targetElement) || mouseOnTopBar;
|
|
68
|
+
if (!clickedInside && panelExpanded) {
|
|
69
|
+
this.shellService.setPanelExpanded(false);
|
|
70
|
+
}
|
|
54
71
|
});
|
|
55
72
|
}
|
|
73
|
+
ngOnInit() {
|
|
74
|
+
this.setLanguage();
|
|
75
|
+
this.loadEmailNotificationSettings();
|
|
76
|
+
this.openFormSubscription();
|
|
77
|
+
}
|
|
78
|
+
ngOnDestroy() {
|
|
79
|
+
this.formSubscription?.unsubscribe();
|
|
80
|
+
}
|
|
56
81
|
setUserContext(contextId) {
|
|
57
82
|
this.contextService.setUserContext(contextId).subscribe();
|
|
58
83
|
location.href = '/';
|
|
59
84
|
}
|
|
60
|
-
|
|
85
|
+
updateUserLanguage(langKey) {
|
|
86
|
+
this.translate
|
|
87
|
+
.use(langKey)
|
|
88
|
+
.pipe(take(1))
|
|
89
|
+
.subscribe(() => {
|
|
90
|
+
localStorage.setItem('langKey', langKey);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
logout() {
|
|
94
|
+
this.userProviderService.logout();
|
|
95
|
+
}
|
|
96
|
+
openFormSubscription() {
|
|
97
|
+
this.formSubscription = combineLatest([
|
|
98
|
+
this.emailNotificationSettings$,
|
|
99
|
+
this.settingsForm.valueChanges,
|
|
100
|
+
this.updatingSettings$,
|
|
101
|
+
])
|
|
102
|
+
.pipe(tap(([settings, formValue, updatingSettings]) => {
|
|
103
|
+
if (settings && formValue) {
|
|
104
|
+
const settingsStringified = JSON.stringify(this.sortObjectAlphabetically(settings));
|
|
105
|
+
const formStringified = JSON.stringify(this.sortObjectAlphabetically(formValue));
|
|
106
|
+
if (settingsStringified !== formStringified && !updatingSettings) {
|
|
107
|
+
this.updatingSettings$.next(true);
|
|
108
|
+
this.userProviderService.updateEmailNotificationSettings(formValue).subscribe(results => {
|
|
109
|
+
this.emailNotificationSettings$.next(results);
|
|
110
|
+
this.updatingSettings$.next(false);
|
|
111
|
+
}, () => {
|
|
112
|
+
this.emailNotificationSettings$.next(settings);
|
|
113
|
+
this.updatingSettings$.next(false);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}))
|
|
118
|
+
.subscribe();
|
|
119
|
+
}
|
|
120
|
+
loadEmailNotificationSettings() {
|
|
61
121
|
this.userProviderService.getEmailNotificationSettings().subscribe(results => {
|
|
62
|
-
if (results
|
|
63
|
-
this.
|
|
64
|
-
this.settingsForm.controls.emailNotifications.setValue(results.emailNotifications);
|
|
65
|
-
this.settingsForm.controls.emailNotificationOnMonday.setValue(results.emailNotificationOnMonday);
|
|
66
|
-
this.settingsForm.controls.emailNotificationOnTuesday.setValue(results.emailNotificationOnTuesday);
|
|
67
|
-
this.settingsForm.controls.emailNotificationOnWednesday.setValue(results.emailNotificationOnWednesday);
|
|
68
|
-
this.settingsForm.controls.emailNotificationOnThursday.setValue(results.emailNotificationOnThursday);
|
|
69
|
-
this.settingsForm.controls.emailNotificationOnFriday.setValue(results.emailNotificationOnFriday);
|
|
70
|
-
this.settingsForm.controls.emailNotificationOnSaturday.setValue(results.emailNotificationOnSaturday);
|
|
71
|
-
this.settingsForm.controls.emailNotificationOnSunday.setValue(results.emailNotificationOnSunday);
|
|
122
|
+
if (results) {
|
|
123
|
+
this.emailNotificationSettings$.next(results);
|
|
72
124
|
}
|
|
73
125
|
else {
|
|
74
|
-
|
|
75
|
-
this.settingsForm.controls.taskNotifications.setValue(true);
|
|
126
|
+
this.emailNotificationSettings$.next(this.settingsForm.value);
|
|
76
127
|
}
|
|
77
128
|
});
|
|
78
|
-
this.getVersion();
|
|
79
|
-
}
|
|
80
|
-
getUserSettings() {
|
|
81
|
-
this.userProviderService.getUserSubject().subscribe(userIdentity => {
|
|
82
|
-
this.logger.debug('user', userIdentity);
|
|
83
|
-
this.userIdentity = userIdentity;
|
|
84
|
-
this.loadContextSwitch();
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
getVersion() {
|
|
88
|
-
this.versionService.getVersion().subscribe((build) => {
|
|
89
|
-
this.build = build;
|
|
90
|
-
});
|
|
91
129
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
130
|
+
setLanguage() {
|
|
131
|
+
this.selectedLanguage$.next(this.translate.currentLang);
|
|
132
|
+
this.languageOptions$.next(this.translate.langs);
|
|
96
133
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
134
|
+
sortObjectAlphabetically(jsObject) {
|
|
135
|
+
return Object.keys(jsObject)
|
|
136
|
+
.sort()
|
|
137
|
+
.reduce((acc, key) => ({
|
|
138
|
+
...acc,
|
|
139
|
+
[key]: jsObject[key],
|
|
140
|
+
}), {});
|
|
104
141
|
}
|
|
105
142
|
}
|
|
106
|
-
RightSidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
107
|
-
RightSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RightSidebarComponent, selector: "valtimo-right-sidebar", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<nav class=\"be-right-sidebar\">\n <div class=\"sb-content\">\n <div class=\"tab-navigation\">\n <ul class=\"nav nav-tabs nav-justified\" role=\"tablist\">\n <li class=\"nav-item\" role=\"presentation\">\n <a\n class=\"nav-link active\"\n href=\"#account\"\n aria-controls=\"account\"\n role=\"tab\"\n data-toggle=\"tab\"\n translate=\"account.title\"\n ></a>\n </li>\n <li class=\"nav-item\" role=\"presentation\">\n <a\n class=\"nav-link\"\n (click)=\"loadUserSettingsTab()\"\n href=\"#settings\"\n aria-controls=\"settings\"\n role=\"tab\"\n data-toggle=\"tab\"\n translate=\"settings.title\"\n ></a>\n </li>\n </ul>\n </div>\n <div class=\"tab-panel\">\n <div class=\"tab-content\">\n <!-- account -->\n <div class=\"tab-pane tab-account active\" id=\"account\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\" *ngIf=\"userIdentity\">\n <div class=\"content\">\n <div class=\"category-title border-0 m-0\">\n <div class=\"p-0 text-muted\">\n <dl class=\"row mb-0\">\n <dt class=\"col-sm-3\">Email</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.email }}</dd>\n <ng-container *ngIf=\"userIdentity.username\">\n <dt class=\"col-sm-3\">Username</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.username }}</dd>\n </ng-container>\n <dt class=\"col-sm-3\">Name</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">\n {{ userIdentity.firstName + ' ' + userIdentity.lastName }}\n </dd>\n </dl>\n </div>\n </div>\n <!-- context switch -->\n <ul class=\"settings-list\" *ngIf=\"userContexts?.length > 1\">\n <li ngbTooltip=\"{{ 'settings.context.title' | translate }}\">\n <select\n class=\"form-control\"\n #contextSelect\n (change)=\"setUserContext(+contextSelect.value)\"\n >\n <option\n *ngFor=\"let context of userContexts\"\n [value]=\"context.id\"\n [selected]=\"context.id === userContextActive.id\"\n >\n {{ context.name }}\n </option>\n </select>\n </li>\n </ul>\n <ul class=\"list-group list-group-flush m-0\">\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://docs.valtimo.nl\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.help\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://www.valtimo.nl/feedback/\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.feedback\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://forum.valtimo.nl\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.forum\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"javascript:void(0)\"\n class=\"d-block\"\n (click)=\"logout()\"\n translate=\"account.links.signOut\"\n ></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <!-- settings -->\n <div class=\"tab-pane tab-settings\" id=\"settings\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\">\n <div class=\"content\">\n <span class=\"category-title\" translate=\"settings.language.title\"></span>\n <ul class=\"settings-list\">\n <li>\n <select\n class=\"form-control\"\n #langSelect\n (change)=\"updateUserLanguage(langSelect.value)\"\n >\n <option\n *ngFor=\"let lang of translate.getLangs()\"\n [value]=\"lang\"\n [selected]=\"lang === translate.currentLang\"\n >\n {{ 'settings.language.options.' + lang | translate }}\n </option>\n </select>\n </li>\n </ul>\n\n <form [formGroup]=\"settingsForm\">\n <span class=\"category-title\" translate=\"settings.notification.title\"></span>\n <ul class=\"settings-list m-0\">\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"taskNotifications\"\n id=\"taskNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"taskNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.taskNotifications\"></span>\n <div\n class=\"text-muted info-text\"\n translate=\"settings.notification.taskNotificationsIntro\"\n ></div>\n </li>\n\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"emailNotifications\"\n id=\"emailNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"emailNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.emailNotifications\"></span>\n <div\n class=\"text-muted info-text\"\n translate=\"settings.notification.emailNotificationsIntro\"\n ></div>\n </li>\n </ul>\n\n <div *ngIf=\"settingsForm.value.emailNotifications\">\n <ul class=\"settings-list\">\n <li *ngFor=\"let frequency of frequencies\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"{{ frequency }}\"\n id=\"{{ frequency }}\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"{{ frequency }}\"></label></span>\n </div>\n <span class=\"name\">{{\n 'settings.notification.' + frequency | translate\n }}</span>\n </li>\n </ul>\n </div>\n </form>\n\n <div class=\"version-holder\">\n <span class=\"category-title\" translate=\"settings.version.title\"></span>\n <ul class=\"settings-list\">\n <li *ngIf=\"build\">\n <div class=\"name\">{{ build.title }}</div>\n <div class=\"text-muted\">{{ build.version }}</div>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</nav>\n", styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{position:fixed;bottom:0;width:259px;background-color:#f8f9fa}.info-text{line-height:1em!important;padding-right:70px;margin-bottom:15px}\n"], directives: [{ type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
143
|
+
RightSidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RightSidebarComponent, deps: [{ token: i1.TranslateService }, { token: i2.UserProviderService }, { token: i3.FormBuilder }, { token: i4.VersionService }, { token: i5.ContextService }, { token: i6.HttpClient }, { token: i7.NGXLogger }, { token: i8.ShellService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
RightSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: RightSidebarComponent, selector: "valtimo-right-sidebar", host: { listeners: { "document:click": "onPageClick($event.target)" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"right-sidebar-menu\">\n <ibm-panel [expanded]=\"panelExpanded$ | async\">\n <div ibmGrid [condensed]=\"true\">\n <div ibmRow>\n <div ibmCol [columnNumbers]=\"{lg: 16}\" class=\"menu-tabs\">\n <ibm-tabs class=\"cds--tab--list--full-width\">\n <ibm-tab [heading]=\"'account.title' | translate\">\n <ng-container *ngTemplateOutlet=\"accountTabTemplate\"></ng-container>\n </ibm-tab>\n <ibm-tab [heading]=\"'settings.title' | translate\">\n <ng-container *ngTemplateOutlet=\"settingsTabTemplate\"></ng-container>\n </ibm-tab>\n </ibm-tabs>\n </div>\n </div>\n </div>\n </ibm-panel>\n</div>\n\n<ng-template #accountTabTemplate>\n <ng-container *ngTemplateOutlet=\"accountInformationTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contextTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"linksTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #settingsTabTemplate>\n <ng-container *ngTemplateOutlet=\"languageSettingsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"notificationSettingsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"versionTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #accountInformationTemplate>\n <ibm-structured-list>\n <ibm-list-header>\n <ibm-list-column>{{ 'account.informationTitle' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ng-container *ngTemplateOutlet=\"accountInformationTableTemplate\"></ng-container>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #accountInformationTableTemplate>\n <div class=\"information-table account-information\">\n <ibm-structured-list *ngIf=\"userSubject$ | async as userSubject\">\n <ibm-list-row>\n <ibm-list-column\n >{{ 'interface.email' | translate }}\n <ibm-tag type=\"blue\">{{ userSubject.email }}</ibm-tag>\n </ibm-list-column>\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n >{{ 'interface.username' | translate }}\n <ibm-tag type=\"blue\">{{ userSubject.username }}</ibm-tag>\n </ibm-list-column>\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n >{{ 'interface.name' | translate }}\n <ibm-tag type=\"blue\">{{ userSubject.firstName + ' ' + userSubject.lastName }}</ibm-tag>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n </div>\n</ng-template>\n\n<ng-template #contextTemplate>\n <ng-container\n *ngIf=\"{userContexts: userContexts$ | async, activeContext: activeContext$ | async} as obs\"\n >\n <ibm-structured-list *ngIf=\"obs.userContexts?.length > 1 && obs.activeContext?.id\">\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.context.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ibm-select [ngModel]=\"obs.activeContext?.id\" (ngModelChange)=\"setUserContext($event)\">\n <option *ngFor=\"let context of obs.userContexts\" [value]=\"context.id\">\n {{ context.name }}\n </option>\n </ibm-select>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n </ng-container>\n</ng-template>\n\n<ng-template #linksTemplate>\n <ibm-structured-list>\n <ibm-list-header>\n <ibm-list-column>{{ 'account.quickLinks' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ng-container *ngTemplateOutlet=\"linksTableTemplate\"></ng-container>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #linksTableTemplate>\n <div class=\"information-table\">\n <ibm-structured-list>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"https://docs.valtimo.nl\" target=\"_blank\" ibmLink>{{\n 'account.links.help' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"https://www.valtimo.nl/feedback\" target=\"_blank\" ibmLink>{{\n 'account.links.feedback' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"https://forum.valtimo.nl\" target=\"_blank\" ibmLink>{{\n 'account.links.forum' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"javascript:void(0)\" ibmLink (click)=\"logout()\">{{\n 'account.links.signOut' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n </ibm-structured-list>\n </div>\n</ng-template>\n\n<ng-template #languageSettingsTemplate>\n <ibm-structured-list>\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.language.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ibm-select\n [ngModel]=\"selectedLanguage$ | async\"\n (ngModelChange)=\"updateUserLanguage($event)\"\n >\n <option *ngFor=\"let lang of languageOptions$ | async\" [value]=\"lang\">\n {{ 'settings.language.options.' + lang | translate }}\n </option>\n </ibm-select>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #notificationSettingsTemplate>\n <ibm-structured-list *ngIf=\"emailNotificationSettingsWithSideEffects$ | async\">\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.notification.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <ibm-toggle\n [label]=\"'settings.notification.taskNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"taskNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </ibm-toggle>\n <span class=\"description\">{{\n 'settings.notification.emailNotificationsIntro' | translate\n }}</span>\n </form>\n </ibm-list-column>\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <ibm-toggle\n [label]=\"'settings.notification.emailNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"emailNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </ibm-toggle>\n <span class=\"description\">{{\n 'settings.notification.taskNotificationsIntro' | translate\n }}</span>\n </form>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #versionTemplate>\n <ng-container *ngIf=\"{backendVersion: backendVersion$ | async} as obs\">\n <ibm-structured-list *ngIf=\"obs.backendVersion\">\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.version.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <div class=\"build-information\" *ngIf=\"obs.backendVersion\">\n <span class=\"build-title\">{{\n 'interface.builds.' + obs.backendVersion.title | translate\n }}</span>\n <ibm-tag type=\"blue\">{{ obs.backendVersion.version }}</ibm-tag>\n </div>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n </ng-container>\n</ng-template>\n", styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{position:fixed;bottom:0;width:259px;background-color:#f8f9fa}.info-text{line-height:1em!important;padding-right:70px;margin-bottom:15px}.right-sidebar-menu .cds--tab--list{width:100%}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item{width:12rem}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item button{width:100%}.right-sidebar-menu .menu-tabs .cds--tab--overflow-nav-button{display:none}.right-sidebar-menu .cds--header-panel{width:20rem;height:calc(100% - 3rem);transition:transform .11s cubic-bezier(.2,0,1,.9);transform:translate(100%)}.right-sidebar-menu .cds--header-panel--expanded{transform:translate(0)}.right-sidebar-menu .cds--panel--overlay{padding-top:0}.right-sidebar-menu .cds--tab-content{padding:0;outline:0}.right-sidebar-menu .cds--structured-list-td{padding-left:1rem;padding-right:1rem}.right-sidebar-menu .toggle-group{display:flex;flex-direction:column}.right-sidebar-menu .toggle-group .description{margin-top:1rem}.right-sidebar-menu ibm-structured-list:last-child .cds--structured-list-row:last-child{border-bottom:0}.right-sidebar-menu .cds--grid,.right-sidebar-menu .cds--row,.right-sidebar-menu .menu-tabs{height:100%}.right-sidebar-menu .cds--tab--list--full-width{display:flex;flex-direction:column;height:100%}.right-sidebar-menu ibm-tab{overflow:auto}.right-sidebar-menu .build-information{display:inline-flex;flex-direction:column}.right-sidebar-menu .build-information:not(:last-child){margin-bottom:1rem}.right-sidebar-menu .information-table ibm-list-row:first-child ibm-list-column{border-top:0;padding-top:0}.right-sidebar-menu .information-table ibm-list-row:last-child ibm-list-column{padding-bottom:0}.right-sidebar-menu .information-table ibm-list-row ibm-list-column:first-child{padding-left:0!important}.right-sidebar-menu .information-table ibm-list-row ibm-list-column:last-child{padding-right:0!important;padding-left:.5rem!important;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-information .cds--structured-list-td{display:inline-flex;flex-direction:column;border:none;min-width:100%;padding-right:.5rem!important}.account-information .cds--structured-list-td .cds--tag{margin:0;margin-top:.25rem;width:-moz-fit-content;width:fit-content}\n"], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.Panel, selector: "ibm-panel", inputs: ["expanded", "ariaLabel"] }, { kind: "directive", type: i10.ColumnDirective, selector: "[ibmCol]", inputs: ["class", "columnNumbers", "offsets", "columnHang"] }, { kind: "directive", type: i10.GridDirective, selector: "[ibmGrid]", inputs: ["condensed", "narrow", "fullWidth", "useCssGrid"] }, { kind: "directive", type: i10.RowDirective, selector: "[ibmRow]", inputs: ["condensed", "narrow"] }, { kind: "component", type: i10.Tabs, selector: "ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i10.Tab, selector: "ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: i10.StructuredList, selector: "ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i10.ListRow, selector: "ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i10.ListHeader, selector: "ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i10.ListColumn, selector: "ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "component", type: i10.Select, selector: "ibm-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i10.Option, selector: "option" }, { kind: "component", type: i10.Toggle, selector: "ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel"] }, { kind: "component", type: i10.Tag, selector: "ibm-tag", inputs: ["type", "size", "class"] }, { kind: "directive", type: i10.Link, selector: "[ibmLink]", inputs: ["inline", "disabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RightSidebarComponent, decorators: [{
|
|
109
146
|
type: Component,
|
|
110
|
-
args: [{ selector: 'valtimo-right-sidebar', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<nav class=\"be-right-sidebar\">\n <div class=\"sb-content\">\n <div class=\"tab-navigation\">\n <ul class=\"nav nav-tabs nav-justified\" role=\"tablist\">\n <li class=\"nav-item\" role=\"presentation\">\n <a\n class=\"nav-link active\"\n href=\"#account\"\n aria-controls=\"account\"\n role=\"tab\"\n data-toggle=\"tab\"\n translate=\"account.title\"\n ></a>\n </li>\n <li class=\"nav-item\" role=\"presentation\">\n <a\n class=\"nav-link\"\n (click)=\"loadUserSettingsTab()\"\n href=\"#settings\"\n aria-controls=\"settings\"\n role=\"tab\"\n data-toggle=\"tab\"\n translate=\"settings.title\"\n ></a>\n </li>\n </ul>\n </div>\n <div class=\"tab-panel\">\n <div class=\"tab-content\">\n <!-- account -->\n <div class=\"tab-pane tab-account active\" id=\"account\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\" *ngIf=\"userIdentity\">\n <div class=\"content\">\n <div class=\"category-title border-0 m-0\">\n <div class=\"p-0 text-muted\">\n <dl class=\"row mb-0\">\n <dt class=\"col-sm-3\">Email</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.email }}</dd>\n <ng-container *ngIf=\"userIdentity.username\">\n <dt class=\"col-sm-3\">Username</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.username }}</dd>\n </ng-container>\n <dt class=\"col-sm-3\">Name</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">\n {{ userIdentity.firstName + ' ' + userIdentity.lastName }}\n </dd>\n </dl>\n </div>\n </div>\n <!-- context switch -->\n <ul class=\"settings-list\" *ngIf=\"userContexts?.length > 1\">\n <li ngbTooltip=\"{{ 'settings.context.title' | translate }}\">\n <select\n class=\"form-control\"\n #contextSelect\n (change)=\"setUserContext(+contextSelect.value)\"\n >\n <option\n *ngFor=\"let context of userContexts\"\n [value]=\"context.id\"\n [selected]=\"context.id === userContextActive.id\"\n >\n {{ context.name }}\n </option>\n </select>\n </li>\n </ul>\n <ul class=\"list-group list-group-flush m-0\">\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://docs.valtimo.nl\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.help\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://www.valtimo.nl/feedback/\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.feedback\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://forum.valtimo.nl\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.forum\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"javascript:void(0)\"\n class=\"d-block\"\n (click)=\"logout()\"\n translate=\"account.links.signOut\"\n ></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <!-- settings -->\n <div class=\"tab-pane tab-settings\" id=\"settings\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\">\n <div class=\"content\">\n <span class=\"category-title\" translate=\"settings.language.title\"></span>\n <ul class=\"settings-list\">\n <li>\n <select\n class=\"form-control\"\n #langSelect\n (change)=\"updateUserLanguage(langSelect.value)\"\n >\n <option\n *ngFor=\"let lang of translate.getLangs()\"\n [value]=\"lang\"\n [selected]=\"lang === translate.currentLang\"\n >\n {{ 'settings.language.options.' + lang | translate }}\n </option>\n </select>\n </li>\n </ul>\n\n <form [formGroup]=\"settingsForm\">\n <span class=\"category-title\" translate=\"settings.notification.title\"></span>\n <ul class=\"settings-list m-0\">\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"taskNotifications\"\n id=\"taskNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"taskNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.taskNotifications\"></span>\n <div\n class=\"text-muted info-text\"\n translate=\"settings.notification.taskNotificationsIntro\"\n ></div>\n </li>\n\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"emailNotifications\"\n id=\"emailNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"emailNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.emailNotifications\"></span>\n <div\n class=\"text-muted info-text\"\n translate=\"settings.notification.emailNotificationsIntro\"\n ></div>\n </li>\n </ul>\n\n <div *ngIf=\"settingsForm.value.emailNotifications\">\n <ul class=\"settings-list\">\n <li *ngFor=\"let frequency of frequencies\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"{{ frequency }}\"\n id=\"{{ frequency }}\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"{{ frequency }}\"></label></span>\n </div>\n <span class=\"name\">{{\n 'settings.notification.' + frequency | translate\n }}</span>\n </li>\n </ul>\n </div>\n </form>\n\n <div class=\"version-holder\">\n <span class=\"category-title\" translate=\"settings.version.title\"></span>\n <ul class=\"settings-list\">\n <li *ngIf=\"build\">\n <div class=\"name\">{{ build.title }}</div>\n <div class=\"text-muted\">{{ build.version }}</div>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</nav>\n", styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{position:fixed;bottom:0;width:259px;background-color:#f8f9fa}.info-text{line-height:1em!important;padding-right:70px;margin-bottom:15px}\n"] }]
|
|
111
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQWMsV0FBVyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFPbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFRbkMsTUFBTSxPQUFPLHFCQUFxQjtJQVFoQyxZQUNVLG1CQUF3QyxFQUN4QyxXQUF3QixFQUN4QixjQUE4QixFQUMvQixTQUEyQixFQUMxQixjQUE4QixFQUM5QixJQUFnQixFQUNoQixNQUFpQjtRQU5qQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUMvQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ3hCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQiwyQkFBMkI7WUFDM0IsNEJBQTRCO1lBQzVCLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0IsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QiwyQkFB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Q0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7bUhBdkhVLHFCQUFxQjt1R0FBckIscUJBQXFCLDZEQ2pDbEMsODNSQXVOQTs0RkR0TGEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb250ZXh0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29udGV4dCc7XG5pbXBvcnQge1ZhbHRpbW9WZXJzaW9ufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtVc2VySWRlbnRpdHl9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge1VzZXJQcm92aWRlclNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1ZlcnNpb25TZXJ2aWNlfSBmcm9tICcuLi92ZXJzaW9uL3ZlcnNpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tcmlnaHQtc2lkZWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWdodC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmlnaHQtc2lkZWJhci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJpZ2h0U2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyB1c2VySWRlbnRpdHk6IFVzZXJJZGVudGl0eTtcbiAgcHVibGljIGZyZXF1ZW5jaWVzOiBBcnJheTxhbnk+O1xuICBwdWJsaWMgc2V0dGluZ3NGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBidWlsZDogVmFsdGltb1ZlcnNpb247XG4gIHB1YmxpYyB1c2VyQ29udGV4dHM6IEFycmF5PGFueT47XG4gIHB1YmxpYyB1c2VyQ29udGV4dEFjdGl2ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXNlclByb3ZpZGVyU2VydmljZTogVXNlclByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHZlcnNpb25TZXJ2aWNlOiBWZXJzaW9uU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZyZXF1ZW5jaWVzID0gW1xuICAgICAgJ2VtYWlsTm90aWZpY2F0aW9uT25Nb25kYXknLFxuICAgICAgJ2VtYWlsTm90aWZpY2F0aW9uT25UdWVzZGF5JyxcbiAgICAgICdlbWFpbE5vdGlmaWNhdGlvbk9uV2VkbmVzZGF5JyxcbiAgICAgICdlbWFpbE5vdGlmaWNhdGlvbk9uVGh1cnNkYXknLFxuICAgICAgJ2VtYWlsTm90aWZpY2F0aW9uT25GcmlkYXknLFxuICAgICAgJ2VtYWlsTm90aWZpY2F0aW9uT25TYXR1cmRheScsXG4gICAgICAnZW1haWxOb3RpZmljYXRpb25PblN1bmRheScsXG4gICAgXTtcbiAgICB0aGlzLnNldHRpbmdzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgdGFza05vdGlmaWNhdGlvbnM6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBlbWFpbE5vdGlmaWNhdGlvbnM6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBlbWFpbE5vdGlmaWNhdGlvbk9uTW9uZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgICAgZW1haWxOb3RpZmljYXRpb25PblR1ZXNkYXk6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBlbWFpbE5vdGlmaWNhdGlvbk9uV2VkbmVzZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgICAgZW1haWxOb3RpZmljYXRpb25PblRodXJzZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgICAgZW1haWxOb3RpZmljYXRpb25PbkZyaWRheTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICAgIGVtYWlsTm90aWZpY2F0aW9uT25TYXR1cmRheTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICAgIGVtYWlsTm90aWZpY2F0aW9uT25TdW5kYXk6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgfSk7XG4gICAgdGhpcy5nZXRVc2VyU2V0dGluZ3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENvbnRleHRTd2l0Y2goKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldFVzZXJDb250ZXh0cygpLFxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5nZXRVc2VyQ29udGV4dEFjdGl2ZSgpLFxuICAgIF0pLnN1YnNjcmliZSgoW3VzZXJDb250ZXh0cywgdXNlckNvbnRleHRBY3RpdmVdKSA9PiB7XG4gICAgICB0aGlzLnVzZXJDb250ZXh0QWN0aXZlID0gdXNlckNvbnRleHRBY3RpdmU7XG4gICAgICB0aGlzLnVzZXJDb250ZXh0cyA9IHVzZXJDb250ZXh0cztcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVc2VyQ29udGV4dChjb250ZXh0SWQ6IG51bWJlcikge1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2Uuc2V0VXNlckNvbnRleHQoY29udGV4dElkKS5zdWJzY3JpYmUoKTtcbiAgICBsb2NhdGlvbi5ocmVmID0gJy8nO1xuICB9XG5cbiAgcHVibGljIGxvYWRVc2VyU2V0dGluZ3NUYWIoKSB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldEVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MoKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICBpZiAocmVzdWx0cyAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybS5jb250cm9scy50YXNrTm90aWZpY2F0aW9ucy5zZXRWYWx1ZShyZXN1bHRzLnRhc2tOb3RpZmljYXRpb25zKTtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHMuZW1haWxOb3RpZmljYXRpb25zLnNldFZhbHVlKHJlc3VsdHMuZW1haWxOb3RpZmljYXRpb25zKTtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHMuZW1haWxOb3RpZmljYXRpb25Pbk1vbmRheS5zZXRWYWx1ZShcbiAgICAgICAgICByZXN1bHRzLmVtYWlsTm90aWZpY2F0aW9uT25Nb25kYXlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHMuZW1haWxOb3RpZmljYXRpb25PblR1ZXNkYXkuc2V0VmFsdWUoXG4gICAgICAgICAgcmVzdWx0cy5lbWFpbE5vdGlmaWNhdGlvbk9uVHVlc2RheVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybS5jb250cm9scy5lbWFpbE5vdGlmaWNhdGlvbk9uV2VkbmVzZGF5LnNldFZhbHVlKFxuICAgICAgICAgIHJlc3VsdHMuZW1haWxOb3RpZmljYXRpb25PbldlZG5lc2RheVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybS5jb250cm9scy5lbWFpbE5vdGlmaWNhdGlvbk9uVGh1cnNkYXkuc2V0VmFsdWUoXG4gICAgICAgICAgcmVzdWx0cy5lbWFpbE5vdGlmaWNhdGlvbk9uVGh1cnNkYXlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHMuZW1haWxOb3RpZmljYXRpb25PbkZyaWRheS5zZXRWYWx1ZShcbiAgICAgICAgICByZXN1bHRzLmVtYWlsTm90aWZpY2F0aW9uT25GcmlkYXlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHMuZW1haWxOb3RpZmljYXRpb25PblNhdHVyZGF5LnNldFZhbHVlKFxuICAgICAgICAgIHJlc3VsdHMuZW1haWxOb3RpZmljYXRpb25PblNhdHVyZGF5XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3JtLmNvbnRyb2xzLmVtYWlsTm90aWZpY2F0aW9uT25TdW5kYXkuc2V0VmFsdWUoXG4gICAgICAgICAgcmVzdWx0cy5lbWFpbE5vdGlmaWNhdGlvbk9uU3VuZGF5XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBkZWZhdWx0IGlzIHRydWUgaW4gdGhlIGRhdGFiYXNlLCBldmVuIGlmIGFwaSByZXR1cm5zIG5vIGNvbnRlbnRcbiAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHMudGFza05vdGlmaWNhdGlvbnMuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5nZXRWZXJzaW9uKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlclNldHRpbmdzKCkge1xuICAgIHRoaXMudXNlclByb3ZpZGVyU2VydmljZS5nZXRVc2VyU3ViamVjdCgpLnN1YnNjcmliZSh1c2VySWRlbnRpdHkgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3VzZXInLCB1c2VySWRlbnRpdHkpO1xuICAgICAgdGhpcy51c2VySWRlbnRpdHkgPSB1c2VySWRlbnRpdHk7XG4gICAgICB0aGlzLmxvYWRDb250ZXh0U3dpdGNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmVyc2lvbigpIHtcbiAgICB0aGlzLnZlcnNpb25TZXJ2aWNlLmdldFZlcnNpb24oKS5zdWJzY3JpYmUoKGJ1aWxkOiBWYWx0aW1vVmVyc2lvbikgPT4ge1xuICAgICAgdGhpcy5idWlsZCA9IGJ1aWxkO1xuICAgIH0pO1xuICB9XG5cbiAgb25TZXR0aW5nc1N1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3NGb3JtLnByaXN0aW5lKSB7XG4gICAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UudXBkYXRlRW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyh0aGlzLnNldHRpbmdzRm9ybS52YWx1ZSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVXNlckxhbmd1YWdlKGxhbmdLZXk6IHN0cmluZykge1xuICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nS2V5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmdLZXknLCBsYW5nS2V5KTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UubG9nb3V0KCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5hdiBjbGFzcz1cImJlLXJpZ2h0LXNpZGViYXJcIj5cbiAgPGRpdiBjbGFzcz1cInNiLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGFiLW5hdmlnYXRpb25cIj5cbiAgICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtdGFicyBuYXYtanVzdGlmaWVkXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgYWN0aXZlXCJcbiAgICAgICAgICAgIGhyZWY9XCIjYWNjb3VudFwiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiYWNjb3VudFwiXG4gICAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwidGFiXCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT1cImFjY291bnQudGl0bGVcIlxuICAgICAgICAgID48L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rXCJcbiAgICAgICAgICAgIChjbGljayk9XCJsb2FkVXNlclNldHRpbmdzVGFiKClcIlxuICAgICAgICAgICAgaHJlZj1cIiNzZXR0aW5nc1wiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwic2V0dGluZ3NcIlxuICAgICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgICBkYXRhLXRvZ2dsZT1cInRhYlwiXG4gICAgICAgICAgICB0cmFuc2xhdGU9XCJzZXR0aW5ncy50aXRsZVwiXG4gICAgICAgICAgPjwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRhYi1wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgICAgIDwhLS0gYWNjb3VudCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1wYW5lIHRhYi1hY2NvdW50IGFjdGl2ZVwiIGlkPVwiYWNjb3VudFwiIHJvbGU9XCJ0YWJwYW5lbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgYmUtc2Nyb2xsZXItc2V0dGluZ3NcIiAqbmdJZj1cInVzZXJJZGVudGl0eVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LXRpdGxlIGJvcmRlci0wIG0tMFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgPGRsIGNsYXNzPVwicm93IG1iLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiY29sLXNtLTNcIj5FbWFpbDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImNvbC1zbS05IG1iLTAgdGV4dC1ib2xkXCI+e3sgdXNlcklkZW50aXR5LmVtYWlsIH19PC9kZD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJJZGVudGl0eS51c2VybmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImNvbC1zbS0zXCI+VXNlcm5hbWU8L2R0PlxuICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImNvbC1zbS05IG1iLTAgdGV4dC1ib2xkXCI+e3sgdXNlcklkZW50aXR5LnVzZXJuYW1lIH19PC9kZD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImNvbC1zbS0zXCI+TmFtZTwvZHQ+XG4gICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImNvbC1zbS05IG1iLTAgdGV4dC1ib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgdXNlcklkZW50aXR5LmZpcnN0TmFtZSArICcgJyArIHVzZXJJZGVudGl0eS5sYXN0TmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2RkPlxuICAgICAgICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwhLS0gY29udGV4dCBzd2l0Y2ggLS0+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNldHRpbmdzLWxpc3RcIiAqbmdJZj1cInVzZXJDb250ZXh0cz8ubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwie3sgJ3NldHRpbmdzLmNvbnRleHQudGl0bGUnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgI2NvbnRleHRTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRVc2VyQ29udGV4dCgrY29udGV4dFNlbGVjdC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbnRleHQgb2YgdXNlckNvbnRleHRzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29udGV4dC5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImNvbnRleHQuaWQgPT09IHVzZXJDb250ZXh0QWN0aXZlLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbnRleHQubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaCBtLTBcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBsaXN0LWdyb3VwLWl0ZW0gcHgtMFwiPlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZG9jcy52YWx0aW1vLm5sXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPVwiYWNjb3VudC5saW5rcy5oZWxwXCJcbiAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBsaXN0LWdyb3VwLWl0ZW0gcHgtMFwiPlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3LnZhbHRpbW8ubmwvZmVlZGJhY2svXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPVwiYWNjb3VudC5saW5rcy5mZWVkYmFja1wiXG4gICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiYmctdHJhbnNwYXJlbnQgbGlzdC1ncm91cC1pdGVtIHB4LTBcIj5cbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2ZvcnVtLnZhbHRpbW8ubmxcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9XCJhY2NvdW50LmxpbmtzLmZvcnVtXCJcbiAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBsaXN0LWdyb3VwLWl0ZW0gcHgtMFwiPlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dvdXQoKVwiXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT1cImFjY291bnQubGlua3Muc2lnbk91dFwiXG4gICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBzZXR0aW5ncyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1wYW5lIHRhYi1zZXR0aW5nc1wiIGlkPVwic2V0dGluZ3NcIiByb2xlPVwidGFicGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0zIGJlLXNjcm9sbGVyLXNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGVnb3J5LXRpdGxlXCIgdHJhbnNsYXRlPVwic2V0dGluZ3MubGFuZ3VhZ2UudGl0bGVcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNldHRpbmdzLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgI2xhbmdTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVVc2VyTGFuZ3VhZ2UobGFuZ1NlbGVjdC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxhbmcgb2YgdHJhbnNsYXRlLmdldExhbmdzKClcIlxuICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJsYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwibGFuZyA9PT0gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdzZXR0aW5ncy5sYW5ndWFnZS5vcHRpb25zLicgKyBsYW5nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC91bD5cblxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHRpbmdzRm9ybVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZWdvcnktdGl0bGVcIiB0cmFuc2xhdGU9XCJzZXR0aW5ncy5ub3RpZmljYXRpb24udGl0bGVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2V0dGluZ3MtbGlzdCBtLTBcIj5cbiAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1idXR0b24gc3dpdGNoLWJ1dHRvbi1zbSBzd2l0Y2gtYnV0dG9uLXN1Y2Nlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXNrTm90aWZpY2F0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInRhc2tOb3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2V0dGluZ3NTdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgLz48c3Bhbj4gPGxhYmVsIGZvcj1cInRhc2tOb3RpZmljYXRpb25zXCI+PC9sYWJlbD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiB0cmFuc2xhdGU9XCJzZXR0aW5ncy5ub3RpZmljYXRpb24udGFza05vdGlmaWNhdGlvbnNcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtbXV0ZWQgaW5mby10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9XCJzZXR0aW5ncy5ub3RpZmljYXRpb24udGFza05vdGlmaWNhdGlvbnNJbnRyb1wiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1idXR0b24gc3dpdGNoLWJ1dHRvbi1zbSBzd2l0Y2gtYnV0dG9uLXN1Y2Nlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbE5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlbWFpbE5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZXR0aW5nc1N1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPjxzcGFuPiA8bGFiZWwgZm9yPVwiZW1haWxOb3RpZmljYXRpb25zXCI+PC9sYWJlbD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiB0cmFuc2xhdGU9XCJzZXR0aW5ncy5ub3RpZmljYXRpb24uZW1haWxOb3RpZmljYXRpb25zXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LW11dGVkIGluZm8tdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPVwic2V0dGluZ3Mubm90aWZpY2F0aW9uLmVtYWlsTm90aWZpY2F0aW9uc0ludHJvXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNldHRpbmdzRm9ybS52YWx1ZS5lbWFpbE5vdGlmaWNhdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNldHRpbmdzLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmcmVxdWVuY3kgb2YgZnJlcXVlbmNpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpdGNoLWJ1dHRvbiBzd2l0Y2gtYnV0dG9uLXNtIHN3aXRjaC1idXR0b24tc3VjY2Vzc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IGZyZXF1ZW5jeSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3sgZnJlcXVlbmN5IH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZXR0aW5nc1N1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+PHNwYW4+IDxsYWJlbCBmb3I9XCJ7eyBmcmVxdWVuY3kgfX1cIj48L2xhYmVsPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldHRpbmdzLm5vdGlmaWNhdGlvbi4nICsgZnJlcXVlbmN5IHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Zvcm0+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnNpb24taG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlZ29yeS10aXRsZVwiIHRyYW5zbGF0ZT1cInNldHRpbmdzLnZlcnNpb24udGl0bGVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2V0dGluZ3MtbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiYnVpbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyBidWlsZC50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPnt7IGJ1aWxkLnZlcnNpb24gfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25hdj5cbiJdfQ==
|
|
147
|
+
args: [{ selector: 'valtimo-right-sidebar', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"right-sidebar-menu\">\n <ibm-panel [expanded]=\"panelExpanded$ | async\">\n <div ibmGrid [condensed]=\"true\">\n <div ibmRow>\n <div ibmCol [columnNumbers]=\"{lg: 16}\" class=\"menu-tabs\">\n <ibm-tabs class=\"cds--tab--list--full-width\">\n <ibm-tab [heading]=\"'account.title' | translate\">\n <ng-container *ngTemplateOutlet=\"accountTabTemplate\"></ng-container>\n </ibm-tab>\n <ibm-tab [heading]=\"'settings.title' | translate\">\n <ng-container *ngTemplateOutlet=\"settingsTabTemplate\"></ng-container>\n </ibm-tab>\n </ibm-tabs>\n </div>\n </div>\n </div>\n </ibm-panel>\n</div>\n\n<ng-template #accountTabTemplate>\n <ng-container *ngTemplateOutlet=\"accountInformationTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contextTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"linksTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #settingsTabTemplate>\n <ng-container *ngTemplateOutlet=\"languageSettingsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"notificationSettingsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"versionTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #accountInformationTemplate>\n <ibm-structured-list>\n <ibm-list-header>\n <ibm-list-column>{{ 'account.informationTitle' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ng-container *ngTemplateOutlet=\"accountInformationTableTemplate\"></ng-container>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #accountInformationTableTemplate>\n <div class=\"information-table account-information\">\n <ibm-structured-list *ngIf=\"userSubject$ | async as userSubject\">\n <ibm-list-row>\n <ibm-list-column\n >{{ 'interface.email' | translate }}\n <ibm-tag type=\"blue\">{{ userSubject.email }}</ibm-tag>\n </ibm-list-column>\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n >{{ 'interface.username' | translate }}\n <ibm-tag type=\"blue\">{{ userSubject.username }}</ibm-tag>\n </ibm-list-column>\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n >{{ 'interface.name' | translate }}\n <ibm-tag type=\"blue\">{{ userSubject.firstName + ' ' + userSubject.lastName }}</ibm-tag>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n </div>\n</ng-template>\n\n<ng-template #contextTemplate>\n <ng-container\n *ngIf=\"{userContexts: userContexts$ | async, activeContext: activeContext$ | async} as obs\"\n >\n <ibm-structured-list *ngIf=\"obs.userContexts?.length > 1 && obs.activeContext?.id\">\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.context.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ibm-select [ngModel]=\"obs.activeContext?.id\" (ngModelChange)=\"setUserContext($event)\">\n <option *ngFor=\"let context of obs.userContexts\" [value]=\"context.id\">\n {{ context.name }}\n </option>\n </ibm-select>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n </ng-container>\n</ng-template>\n\n<ng-template #linksTemplate>\n <ibm-structured-list>\n <ibm-list-header>\n <ibm-list-column>{{ 'account.quickLinks' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ng-container *ngTemplateOutlet=\"linksTableTemplate\"></ng-container>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #linksTableTemplate>\n <div class=\"information-table\">\n <ibm-structured-list>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"https://docs.valtimo.nl\" target=\"_blank\" ibmLink>{{\n 'account.links.help' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"https://www.valtimo.nl/feedback\" target=\"_blank\" ibmLink>{{\n 'account.links.feedback' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"https://forum.valtimo.nl\" target=\"_blank\" ibmLink>{{\n 'account.links.forum' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column\n ><a href=\"javascript:void(0)\" ibmLink (click)=\"logout()\">{{\n 'account.links.signOut' | translate\n }}</a></ibm-list-column\n >\n </ibm-list-row>\n </ibm-structured-list>\n </div>\n</ng-template>\n\n<ng-template #languageSettingsTemplate>\n <ibm-structured-list>\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.language.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <ibm-select\n [ngModel]=\"selectedLanguage$ | async\"\n (ngModelChange)=\"updateUserLanguage($event)\"\n >\n <option *ngFor=\"let lang of languageOptions$ | async\" [value]=\"lang\">\n {{ 'settings.language.options.' + lang | translate }}\n </option>\n </ibm-select>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #notificationSettingsTemplate>\n <ibm-structured-list *ngIf=\"emailNotificationSettingsWithSideEffects$ | async\">\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.notification.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <ibm-toggle\n [label]=\"'settings.notification.taskNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"taskNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </ibm-toggle>\n <span class=\"description\">{{\n 'settings.notification.emailNotificationsIntro' | translate\n }}</span>\n </form>\n </ibm-list-column>\n </ibm-list-row>\n <ibm-list-row>\n <ibm-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <ibm-toggle\n [label]=\"'settings.notification.emailNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"emailNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </ibm-toggle>\n <span class=\"description\">{{\n 'settings.notification.taskNotificationsIntro' | translate\n }}</span>\n </form>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n</ng-template>\n\n<ng-template #versionTemplate>\n <ng-container *ngIf=\"{backendVersion: backendVersion$ | async} as obs\">\n <ibm-structured-list *ngIf=\"obs.backendVersion\">\n <ibm-list-header>\n <ibm-list-column>{{ 'settings.version.title' | translate }}</ibm-list-column>\n </ibm-list-header>\n <ibm-list-row>\n <ibm-list-column>\n <div class=\"build-information\" *ngIf=\"obs.backendVersion\">\n <span class=\"build-title\">{{\n 'interface.builds.' + obs.backendVersion.title | translate\n }}</span>\n <ibm-tag type=\"blue\">{{ obs.backendVersion.version }}</ibm-tag>\n </div>\n </ibm-list-column>\n </ibm-list-row>\n </ibm-structured-list>\n </ng-container>\n</ng-template>\n", styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{position:fixed;bottom:0;width:259px;background-color:#f8f9fa}.info-text{line-height:1em!important;padding-right:70px;margin-bottom:15px}.right-sidebar-menu .cds--tab--list{width:100%}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item{width:12rem}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item button{width:100%}.right-sidebar-menu .menu-tabs .cds--tab--overflow-nav-button{display:none}.right-sidebar-menu .cds--header-panel{width:20rem;height:calc(100% - 3rem);transition:transform .11s cubic-bezier(.2,0,1,.9);transform:translate(100%)}.right-sidebar-menu .cds--header-panel--expanded{transform:translate(0)}.right-sidebar-menu .cds--panel--overlay{padding-top:0}.right-sidebar-menu .cds--tab-content{padding:0;outline:0}.right-sidebar-menu .cds--structured-list-td{padding-left:1rem;padding-right:1rem}.right-sidebar-menu .toggle-group{display:flex;flex-direction:column}.right-sidebar-menu .toggle-group .description{margin-top:1rem}.right-sidebar-menu ibm-structured-list:last-child .cds--structured-list-row:last-child{border-bottom:0}.right-sidebar-menu .cds--grid,.right-sidebar-menu .cds--row,.right-sidebar-menu .menu-tabs{height:100%}.right-sidebar-menu .cds--tab--list--full-width{display:flex;flex-direction:column;height:100%}.right-sidebar-menu ibm-tab{overflow:auto}.right-sidebar-menu .build-information{display:inline-flex;flex-direction:column}.right-sidebar-menu .build-information:not(:last-child){margin-bottom:1rem}.right-sidebar-menu .information-table ibm-list-row:first-child ibm-list-column{border-top:0;padding-top:0}.right-sidebar-menu .information-table ibm-list-row:last-child ibm-list-column{padding-bottom:0}.right-sidebar-menu .information-table ibm-list-row ibm-list-column:first-child{padding-left:0!important}.right-sidebar-menu .information-table ibm-list-row ibm-list-column:last-child{padding-right:0!important;padding-left:.5rem!important;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-information .cds--structured-list-td{display:inline-flex;flex-direction:column;border:none;min-width:100%;padding-right:.5rem!important}.account-information .cds--structured-list-td .cds--tag{margin:0;margin-top:.25rem;width:-moz-fit-content;width:fit-content}\n"] }]
|
|
148
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.UserProviderService }, { type: i3.FormBuilder }, { type: i4.VersionService }, { type: i5.ContextService }, { type: i6.HttpClient }, { type: i7.NGXLogger }, { type: i8.ShellService }, { type: i0.ElementRef }]; }, propDecorators: { onPageClick: [{
|
|
149
|
+
type: HostListener,
|
|
150
|
+
args: ['document:click', ['$event.target']]
|
|
151
|
+
}] } });
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBR1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxXQUFXLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQU9uRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBNEIsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3BGLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUW5DLE1BQU0sT0FBTyxxQkFBcUI7SUFpRWhDLFlBQ1MsU0FBMkIsRUFDakIsbUJBQXdDLEVBQ3hDLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLElBQWdCLEVBQ2hCLE1BQWlCLEVBQ2pCLFlBQTBCLEVBRTFCLFVBQXNCO1FBVGhDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsaUJBQVksR0FBWixZQUFZ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QUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLHdCQUF3QixDQUFDLFFBQWdCO1FBQy9DLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDekIsSUFBSSxFQUFFO2FBQ04sTUFBTSxDQUNMLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNiLEdBQUcsR0FBRztZQUNOLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQztTQUNyQixDQUFDLEVBQ0YsRUFBRSxDQUNILENBQUM7SUFDTixDQUFDOzttSEFsS1UscUJBQXFCO3VHQUFyQixxQkFBcUIsc0lDM0NsQywraFJBMk9BOzRGRGhNYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJO2tVQUk5QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NvbnRleHRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb250ZXh0JztcbmltcG9ydCB7VmFsdGltb1ZlcnNpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0VtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MsIFVzZXJJZGVudGl0eX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7VXNlclByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1ZlcnNpb25TZXJ2aWNlfSBmcm9tICcuLi92ZXJzaW9uL3ZlcnNpb24uc2VydmljZSc7XG5pbXBvcnQge1NoZWxsU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hlbGwuc2VydmljZSc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXJpZ2h0LXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmlnaHQtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JpZ2h0LXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUmlnaHRTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwdWJsaWMgb25QYWdlQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2hlbGxTZXJ2aWNlLnBhbmVsRXhwYW5kZWQkLCB0aGlzLnNoZWxsU2VydmljZS5tb3VzZU9uVG9wQmFyJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3BhbmVsRXhwYW5kZWQsIG1vdXNlT25Ub3BCYXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPVxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpIHx8IG1vdXNlT25Ub3BCYXI7XG5cbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlICYmIHBhbmVsRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLnNoZWxsU2VydmljZS5zZXRQYW5lbEV4cGFuZGVkKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZnJlcXVlbmNpZXM6IEFycmF5PGFueT4gPSBbXG4gICAgJ2VtYWlsTm90aWZpY2F0aW9uT25Nb25kYXknLFxuICAgICdlbWFpbE5vdGlmaWNhdGlvbk9uVHVlc2RheScsXG4gICAgJ2VtYWlsTm90aWZpY2F0aW9uT25XZWRuZXNkYXknLFxuICAgICdlbWFpbE5vdGlmaWNhdGlvbk9uVGh1cnNkYXknLFxuICAgICdlbWFpbE5vdGlmaWNhdGlvbk9uRnJpZGF5JyxcbiAgICAnZW1haWxOb3RpZmljYXRpb25PblNhdHVyZGF5JyxcbiAgICAnZW1haWxOb3RpZmljYXRpb25PblN1bmRheScsXG4gIF07XG4gIHB1YmxpYyBzZXR0aW5nc0Zvcm06IEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgIHRhc2tOb3RpZmljYXRpb25zOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uczogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICBlbWFpbE5vdGlmaWNhdGlvbk9uTW9uZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uT25UdWVzZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uT25XZWRuZXNkYXk6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgZW1haWxOb3RpZmljYXRpb25PblRodXJzZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uT25GcmlkYXk6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgZW1haWxOb3RpZmljYXRpb25PblNhdHVyZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uT25TdW5kYXk6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gIH0pO1xuICByZWFkb25seSBwYW5lbEV4cGFuZGVkJCA9IHRoaXMuc2hlbGxTZXJ2aWNlLnBhbmVsRXhwYW5kZWQkO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkTGFuZ3VhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VPcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8c3RyaW5nPj4oW10pO1xuXG4gIHJlYWRvbmx5IGJhY2tlbmRWZXJzaW9uJDogT2JzZXJ2YWJsZTxWYWx0aW1vVmVyc2lvbj4gPSB0aGlzLnZlcnNpb25TZXJ2aWNlLmdldFZlcnNpb24oKTtcblxuICByZWFkb25seSB1c2VyU3ViamVjdCQ6IE9ic2VydmFibGU8VXNlcklkZW50aXR5PiA9IHRoaXMudXNlclByb3ZpZGVyU2VydmljZS5nZXRVc2VyU3ViamVjdCgpO1xuXG4gIHJlYWRvbmx5IHVwZGF0aW5nU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzPihcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICByZWFkb25seSBlbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzV2l0aFNpZGVFZmZlY3RzJDogT2JzZXJ2YWJsZTxFbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzPiA9XG4gICAgdGhpcy5lbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzJC5waXBlKFxuICAgICAgdGFwKHJlc3VsdHMgPT4ge1xuICAgICAgICBpZiAocmVzdWx0cykge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3JtLnNldFZhbHVlKHJlc3VsdHMpO1xuICAgICAgICAgIHRoaXMudXBkYXRpbmdTZXR0aW5ncyQubmV4dChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICByZWFkb25seSB1c2VyQ29udGV4dHMkID0gdGhpcy5jb250ZXh0U2VydmljZS5nZXRVc2VyQ29udGV4dHMoKTtcbiAgcmVhZG9ubHkgYWN0aXZlQ29udGV4dCQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldFVzZXJDb250ZXh0QWN0aXZlKCk7XG5cbiAgcHJpdmF0ZSBmb3JtU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUHJvdmlkZXJTZXJ2aWNlOiBVc2VyUHJvdmlkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvblNlcnZpY2U6IFZlcnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hlbGxTZXJ2aWNlOiBTaGVsbFNlcnZpY2UsXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2UoKTtcbiAgICB0aGlzLmxvYWRFbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzKCk7XG4gICAgdGhpcy5vcGVuRm9ybVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2V0VXNlckNvbnRleHQoY29udGV4dElkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnNldFVzZXJDb250ZXh0KGNvbnRleHRJZCkuc3Vic2NyaWJlKCk7XG4gICAgbG9jYXRpb24uaHJlZiA9ICcvJztcbiAgfVxuXG4gIHVwZGF0ZVVzZXJMYW5ndWFnZShsYW5nS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgLnVzZShsYW5nS2V5KVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZ0tleScsIGxhbmdLZXkpO1xuICAgICAgfSk7XG4gIH1cblxuICBsb2dvdXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmxvZ291dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRm9ybVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1TdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyQsXG4gICAgICB0aGlzLnNldHRpbmdzRm9ybS52YWx1ZUNoYW5nZXMsXG4gICAgICB0aGlzLnVwZGF0aW5nU2V0dGluZ3MkLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChbc2V0dGluZ3MsIGZvcm1WYWx1ZSwgdXBkYXRpbmdTZXR0aW5nc10pID0+IHtcbiAgICAgICAgICBpZiAoc2V0dGluZ3MgJiYgZm9ybVZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBzZXR0aW5nc1N0cmluZ2lmaWVkID0gSlNPTi5zdHJpbmdpZnkodGhpcy5zb3J0T2JqZWN0QWxwaGFiZXRpY2FsbHkoc2V0dGluZ3MpKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1TdHJpbmdpZmllZCA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc29ydE9iamVjdEFscGhhYmV0aWNhbGx5KGZvcm1WYWx1ZSkpO1xuXG4gICAgICAgICAgICBpZiAoc2V0dGluZ3NTdHJpbmdpZmllZCAhPT0gZm9ybVN0cmluZ2lmaWVkICYmICF1cGRhdGluZ1NldHRpbmdzKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRpbmdTZXR0aW5ncyQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLnVwZGF0ZUVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MoZm9ybVZhbHVlKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcmVzdWx0cyA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MkLm5leHQocmVzdWx0cyk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0aW5nU2V0dGluZ3MkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5lbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzJC5uZXh0KHNldHRpbmdzKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmdTZXR0aW5ncyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldEVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MoKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICBpZiAocmVzdWx0cykge1xuICAgICAgICB0aGlzLmVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MkLm5leHQocmVzdWx0cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MkLm5leHQodGhpcy5zZXR0aW5nc0Zvcm0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMYW5ndWFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UkLm5leHQodGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpO1xuICAgIHRoaXMubGFuZ3VhZ2VPcHRpb25zJC5uZXh0KHRoaXMudHJhbnNsYXRlLmxhbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydE9iamVjdEFscGhhYmV0aWNhbGx5KGpzT2JqZWN0OiBvYmplY3QpOiBvYmplY3Qge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhqc09iamVjdClcbiAgICAgIC5zb3J0KClcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGtleSkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW2tleV06IGpzT2JqZWN0W2tleV0sXG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwicmlnaHQtc2lkZWJhci1tZW51XCI+XG4gIDxpYm0tcGFuZWwgW2V4cGFuZGVkXT1cInBhbmVsRXhwYW5kZWQkIHwgYXN5bmNcIj5cbiAgICA8ZGl2IGlibUdyaWQgW2NvbmRlbnNlZF09XCJ0cnVlXCI+XG4gICAgICA8ZGl2IGlibVJvdz5cbiAgICAgICAgPGRpdiBpYm1Db2wgW2NvbHVtbk51bWJlcnNdPVwie2xnOiAxNn1cIiBjbGFzcz1cIm1lbnUtdGFic1wiPlxuICAgICAgICAgIDxpYm0tdGFicyBjbGFzcz1cImNkcy0tdGFiLS1saXN0LS1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aWJtLXRhYiBbaGVhZGluZ109XCInYWNjb3VudC50aXRsZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjY291bnRUYWJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9pYm0tdGFiPlxuICAgICAgICAgICAgPGlibS10YWIgW2hlYWRpbmddPVwiJ3NldHRpbmdzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2V0dGluZ3NUYWJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9pYm0tdGFiPlxuICAgICAgICAgIDwvaWJtLXRhYnM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvaWJtLXBhbmVsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYWNjb3VudFRhYlRlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWNjb3VudEluZm9ybWF0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRleHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua3NUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzZXR0aW5nc1RhYlRlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFuZ3VhZ2VTZXR0aW5nc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub3RpZmljYXRpb25TZXR0aW5nc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2ZXJzaW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWNjb3VudEluZm9ybWF0aW9uVGVtcGxhdGU+XG4gIDxpYm0tc3RydWN0dXJlZC1saXN0PlxuICAgIDxpYm0tbGlzdC1oZWFkZXI+XG4gICAgICA8aWJtLWxpc3QtY29sdW1uPnt7ICdhY2NvdW50LmluZm9ybWF0aW9uVGl0bGUnIHwgdHJhbnNsYXRlIH19PC9pYm0tbGlzdC1jb2x1bW4+XG4gICAgPC9pYm0tbGlzdC1oZWFkZXI+XG4gICAgPGlibS1saXN0LXJvdz5cbiAgICAgIDxpYm0tbGlzdC1jb2x1bW4+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY2NvdW50SW5mb3JtYXRpb25UYWJsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2libS1saXN0LWNvbHVtbj5cbiAgICA8L2libS1saXN0LXJvdz5cbiAgPC9pYm0tc3RydWN0dXJlZC1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhY2NvdW50SW5mb3JtYXRpb25UYWJsZVRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiaW5mb3JtYXRpb24tdGFibGUgYWNjb3VudC1pbmZvcm1hdGlvblwiPlxuICAgIDxpYm0tc3RydWN0dXJlZC1saXN0ICpuZ0lmPVwidXNlclN1YmplY3QkIHwgYXN5bmMgYXMgdXNlclN1YmplY3RcIj5cbiAgICAgIDxpYm0tbGlzdC1yb3c+XG4gICAgICAgIDxpYm0tbGlzdC1jb2x1bW5cbiAgICAgICAgICA+e3sgJ2ludGVyZmFjZS5lbWFpbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8aWJtLXRhZyB0eXBlPVwiYmx1ZVwiPnt7IHVzZXJTdWJqZWN0LmVtYWlsIH19PC9pYm0tdGFnPlxuICAgICAgICA8L2libS1saXN0LWNvbHVtbj5cbiAgICAgIDwvaWJtLWxpc3Qtcm93PlxuICAgICAgPGlibS1saXN0LXJvdz5cbiAgICAgICAgPGlibS1saXN0LWNvbHVtblxuICAgICAgICAgID57eyAnaW50ZXJmYWNlLnVzZXJuYW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDxpYm0tdGFnIHR5cGU9XCJibHVlXCI+e3sgdXNlclN1YmplY3QudXNlcm5hbWUgfX08L2libS10YWc+XG4gICAgICAgIDwvaWJtLWxpc3QtY29sdW1uPlxuICAgICAgPC9pYm0tbGlzdC1yb3c+XG4gICAgICA8aWJtLWxpc3Qtcm93PlxuICAgICAgICA8aWJtLWxpc3QtY29sdW1uXG4gICAgICAgICAgPnt7ICdpbnRlcmZhY2UubmFtZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8aWJtLXRhZyB0eXBlPVwiYmx1ZVwiPnt7IHVzZXJTdWJqZWN0LmZpcnN0TmFtZSArICcgJyArIHVzZXJTdWJqZWN0Lmxhc3ROYW1lIH19PC9pYm0tdGFnPlxuICAgICAgICA8L2libS1saXN0LWNvbHVtbj5cbiAgICAgIDwvaWJtLWxpc3Qtcm93PlxuICAgIDwvaWJtLXN0cnVjdHVyZWQtbGlzdD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRleHRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwie3VzZXJDb250ZXh0czogdXNlckNvbnRleHRzJCB8IGFzeW5jLCBhY3RpdmVDb250ZXh0OiBhY3RpdmVDb250ZXh0JCB8IGFzeW5jfSBhcyBvYnNcIlxuICA+XG4gICAgPGlibS1zdHJ1Y3R1cmVkLWxpc3QgKm5nSWY9XCJvYnMudXNlckNvbnRleHRzPy5sZW5ndGggPiAxICYmIG9icy5hY3RpdmVDb250ZXh0Py5pZFwiPlxuICAgICAgPGlibS1saXN0LWhlYWRlcj5cbiAgICAgICAgPGlibS1saXN0LWNvbHVtbj57eyAnc2V0dGluZ3MuY29udGV4dC50aXRsZScgfCB0cmFuc2xhdGUgfX08L2libS1saXN0LWNvbHVtbj5cbiAgICAgIDwvaWJtLWxpc3QtaGVhZGVyPlxuICAgICAgPGlibS1saXN0LXJvdz5cbiAgICAgICAgPGlibS1saXN0LWNvbHVtbj5cbiAgICAgICAgICA8aWJtLXNlbGVjdCBbbmdNb2RlbF09XCJvYnMuYWN0aXZlQ29udGV4dD8uaWRcIiAobmdNb2RlbENoYW5nZSk9XCJzZXRVc2VyQ29udGV4dCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb250ZXh0IG9mIG9icy51c2VyQ29udGV4dHNcIiBbdmFsdWVdPVwiY29udGV4dC5pZFwiPlxuICAgICAgICAgICAgICB7eyBjb250ZXh0Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgIDwvaWJtLXNlbGVjdD5cbiAgICAgICAgPC9pYm0tbGlzdC1jb2x1bW4+XG4gICAgICA8L2libS1saXN0LXJvdz5cbiAgICA8L2libS1zdHJ1Y3R1cmVkLWxpc3Q+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaW5rc1RlbXBsYXRlPlxuICA8aWJtLXN0cnVjdHVyZWQtbGlzdD5cbiAgICA8aWJtLWxpc3QtaGVhZGVyPlxuICAgICAgPGlibS1saXN0LWNvbHVtbj57eyAnYWNjb3VudC5xdWlja0xpbmtzJyB8IHRyYW5zbGF0ZSB9fTwvaWJtLWxpc3QtY29sdW1uPlxuICAgIDwvaWJtLWxpc3QtaGVhZGVyPlxuICAgIDxpYm0tbGlzdC1yb3c+XG4gICAgICA8aWJtLWxpc3QtY29sdW1uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua3NUYWJsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2libS1saXN0LWNvbHVtbj5cbiAgICA8L2libS1saXN0LXJvdz5cbiAgPC9pYm0tc3RydWN0dXJlZC1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaW5rc1RhYmxlVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJpbmZvcm1hdGlvbi10YWJsZVwiPlxuICAgIDxpYm0tc3RydWN0dXJlZC1saXN0PlxuICAgICAgPGlibS1saXN0LXJvdz5cbiAgICAgICAgPGlibS1saXN0LWNvbHVtblxuICAgICAgICAgID48YSBocmVmPVwiaHR0cHM6Ly9kb2NzLnZhbHRpbW8ubmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiBpYm1MaW5rPnt7XG4gICAgICAgICAgICAnYWNjb3VudC5saW5rcy5oZWxwJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19PC9hPjwvaWJtLWxpc3QtY29sdW1uXG4gICAgICAgID5cbiAgICAgIDwvaWJtLWxpc3Qtcm93PlxuICAgICAgPGlibS1saXN0LXJvdz5cbiAgICAgICAgPGlibS1saXN0LWNvbHVtblxuICAgICAgICAgID48YSBocmVmPVwiaHR0cHM6Ly93d3cudmFsdGltby5ubC9mZWVkYmFja1wiIHRhcmdldD1cIl9ibGFua1wiIGlibUxpbms+e3tcbiAgICAgICAgICAgICdhY2NvdW50LmxpbmtzLmZlZWRiYWNrJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19PC9hPjwvaWJtLWxpc3QtY29sdW1uXG4gICAgICAgID5cbiAgICAgIDwvaWJtLWxpc3Qtcm93PlxuICAgICAgPGlibS1saXN0LXJvdz5cbiAgICAgICAgPGlibS1saXN0LWNvbHVtblxuICAgICAgICAgID48YSBocmVmPVwiaHR0cHM6Ly9mb3J1bS52YWx0aW1vLm5sXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaWJtTGluaz57e1xuICAgICAgICAgICAgJ2FjY291bnQubGlua3MuZm9ydW0nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L2E+PC9pYm0tbGlzdC1jb2x1bW5cbiAgICAgICAgPlxuICAgICAgPC9pYm0tbGlzdC1yb3c+XG4gICAgICA8aWJtLWxpc3Qtcm93PlxuICAgICAgICA8aWJtLWxpc3QtY29sdW1uXG4gICAgICAgICAgPjxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBpYm1MaW5rIChjbGljayk9XCJsb2dvdXQoKVwiPnt7XG4gICAgICAgICAgICAnYWNjb3VudC5saW5rcy5zaWduT3V0JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19PC9hPjwvaWJtLWxpc3QtY29sdW1uXG4gICAgICAgID5cbiAgICAgIDwvaWJtLWxpc3Qtcm93PlxuICAgIDwvaWJtLXN0cnVjdHVyZWQtbGlzdD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xhbmd1YWdlU2V0dGluZ3NUZW1wbGF0ZT5cbiAgPGlibS1zdHJ1Y3R1cmVkLWxpc3Q+XG4gICAgPGlibS1saXN0LWhlYWRlcj5cbiAgICAgIDxpYm0tbGlzdC1jb2x1bW4+e3sgJ3NldHRpbmdzLmxhbmd1YWdlLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaWJtLWxpc3QtY29sdW1uPlxuICAgIDwvaWJtLWxpc3QtaGVhZGVyPlxuICAgIDxpYm0tbGlzdC1yb3c+XG4gICAgICA8aWJtLWxpc3QtY29sdW1uPlxuICAgICAgICA8aWJtLXNlbGVjdFxuICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkTGFuZ3VhZ2UkIHwgYXN5bmNcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVVzZXJMYW5ndWFnZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGxhbmcgb2YgbGFuZ3VhZ2VPcHRpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cImxhbmdcIj5cbiAgICAgICAgICAgIHt7ICdzZXR0aW5ncy5sYW5ndWFnZS5vcHRpb25zLicgKyBsYW5nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDwvaWJtLXNlbGVjdD5cbiAgICAgIDwvaWJtLWxpc3QtY29sdW1uPlxuICAgIDwvaWJtLWxpc3Qtcm93PlxuICA8L2libS1zdHJ1Y3R1cmVkLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vdGlmaWNhdGlvblNldHRpbmdzVGVtcGxhdGU+XG4gIDxpYm0tc3RydWN0dXJlZC1saXN0ICpuZ0lmPVwiZW1haWxOb3RpZmljYXRpb25TZXR0aW5nc1dpdGhTaWRlRWZmZWN0cyQgfCBhc3luY1wiPlxuICAgIDxpYm0tbGlzdC1oZWFkZXI+XG4gICAgICA8aWJtLWxpc3QtY29sdW1uPnt7ICdzZXR0aW5ncy5ub3RpZmljYXRpb24udGl0bGUnIHwgdHJhbnNsYXRlIH19PC9pYm0tbGlzdC1jb2x1bW4+XG4gICAgPC9pYm0tbGlzdC1oZWFkZXI+XG4gICAgPGlibS1saXN0LXJvdz5cbiAgICAgIDxpYm0tbGlzdC1jb2x1bW4+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2V0dGluZ3NGb3JtXCIgY2xhc3M9XCJ0b2dnbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aWJtLXRvZ2dsZVxuICAgICAgICAgICAgW2xhYmVsXT1cIidzZXR0aW5ncy5ub3RpZmljYXRpb24udGFza05vdGlmaWNhdGlvbnMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtvblRleHRdPVwiJ2ludGVyZmFjZS5vbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW29mZlRleHRdPVwiJ2ludGVyZmFjZS5vZmYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRhc2tOb3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ1cGRhdGluZ1NldHRpbmdzJCB8IGFzeW5jXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pYm0tdG9nZ2xlPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e1xuICAgICAgICAgICAgJ3NldHRpbmdzLm5vdGlmaWNhdGlvbi5lbWFpbE5vdGlmaWNhdGlvbnNJbnRybycgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgPC9pYm0tbGlzdC1jb2x1bW4+XG4gICAgPC9pYm0tbGlzdC1yb3c+XG4gICAgPGlibS1saXN0LXJvdz5cbiAgICAgIDxpYm0tbGlzdC1jb2x1bW4+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2V0dGluZ3NGb3JtXCIgY2xhc3M9XCJ0b2dnbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aWJtLXRvZ2dsZVxuICAgICAgICAgICAgW2xhYmVsXT1cIidzZXR0aW5ncy5ub3RpZmljYXRpb24uZW1haWxOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbb25UZXh0XT1cIidpbnRlcmZhY2Uub24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtvZmZUZXh0XT1cIidpbnRlcmZhY2Uub2ZmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbE5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInVwZGF0aW5nU2V0dGluZ3MkIHwgYXN5bmNcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2libS10b2dnbGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7XG4gICAgICAgICAgICAnc2V0dGluZ3Mubm90aWZpY2F0aW9uLnRhc2tOb3RpZmljYXRpb25zSW50cm8nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvaWJtLWxpc3QtY29sdW1uPlxuICAgIDwvaWJtLWxpc3Qtcm93PlxuICA8L2libS1zdHJ1Y3R1cmVkLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ZlcnNpb25UZW1wbGF0ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIntiYWNrZW5kVmVyc2lvbjogYmFja2VuZFZlcnNpb24kIHwgYXN5bmN9IGFzIG9ic1wiPlxuICAgIDxpYm0tc3RydWN0dXJlZC1saXN0ICpuZ0lmPVwib2JzLmJhY2tlbmRWZXJzaW9uXCI+XG4gICAgICA8aWJtLWxpc3QtaGVhZGVyPlxuICAgICAgICA8aWJtLWxpc3QtY29sdW1uPnt7ICdzZXR0aW5ncy52ZXJzaW9uLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaWJtLWxpc3QtY29sdW1uPlxuICAgICAgPC9pYm0tbGlzdC1oZWFkZXI+XG4gICAgICA8aWJtLWxpc3Qtcm93PlxuICAgICAgICA8aWJtLWxpc3QtY29sdW1uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWlsZC1pbmZvcm1hdGlvblwiICpuZ0lmPVwib2JzLmJhY2tlbmRWZXJzaW9uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1aWxkLXRpdGxlXCI+e3tcbiAgICAgICAgICAgICAgJ2ludGVyZmFjZS5idWlsZHMuJyArIG9icy5iYWNrZW5kVmVyc2lvbi50aXRsZSB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICA8aWJtLXRhZyB0eXBlPVwiYmx1ZVwiPnt7IG9icy5iYWNrZW5kVmVyc2lvbi52ZXJzaW9uIH19PC9pYm0tdGFnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2libS1saXN0LWNvbHVtbj5cbiAgICAgIDwvaWJtLWxpc3Qtcm93PlxuICAgIDwvaWJtLXN0cnVjdHVyZWQtbGlzdD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -22,30 +22,47 @@ import { HttpClient } from '@angular/common/http';
|
|
|
22
22
|
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
23
23
|
import { HttpLoaderFactory } from '@valtimo/config';
|
|
24
24
|
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
25
|
+
import { GridModule, IconModule, LinkModule, SelectModule, StructuredListModule, TabsModule, TagModule, ToggleModule, UIShellModule, } from 'carbon-components-angular';
|
|
25
26
|
import * as i0 from "@angular/core";
|
|
26
27
|
import * as i1 from "@ngx-translate/core";
|
|
27
28
|
export class RightSidebarModule {
|
|
28
29
|
}
|
|
29
|
-
RightSidebarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
RightSidebarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
30
|
+
RightSidebarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RightSidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
|
+
RightSidebarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: RightSidebarModule, declarations: [RightSidebarComponent], imports: [CommonModule,
|
|
31
32
|
FormsModule,
|
|
32
33
|
ReactiveFormsModule,
|
|
33
|
-
RouterModule, i1.TranslateModule, NgbTooltipModule
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
34
|
+
RouterModule, i1.TranslateModule, NgbTooltipModule,
|
|
35
|
+
UIShellModule,
|
|
36
|
+
IconModule,
|
|
37
|
+
GridModule,
|
|
38
|
+
TabsModule,
|
|
39
|
+
StructuredListModule,
|
|
40
|
+
SelectModule,
|
|
41
|
+
ToggleModule,
|
|
42
|
+
TagModule,
|
|
43
|
+
LinkModule], exports: [RightSidebarComponent] });
|
|
44
|
+
RightSidebarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RightSidebarModule, imports: [CommonModule,
|
|
45
|
+
FormsModule,
|
|
46
|
+
ReactiveFormsModule,
|
|
47
|
+
RouterModule,
|
|
48
|
+
TranslateModule.forRoot({
|
|
49
|
+
loader: {
|
|
50
|
+
provide: TranslateLoader,
|
|
51
|
+
useFactory: HttpLoaderFactory,
|
|
52
|
+
deps: [HttpClient],
|
|
53
|
+
},
|
|
54
|
+
}),
|
|
55
|
+
NgbTooltipModule,
|
|
56
|
+
UIShellModule,
|
|
57
|
+
IconModule,
|
|
58
|
+
GridModule,
|
|
59
|
+
TabsModule,
|
|
60
|
+
StructuredListModule,
|
|
61
|
+
SelectModule,
|
|
62
|
+
ToggleModule,
|
|
63
|
+
TagModule,
|
|
64
|
+
LinkModule] });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RightSidebarModule, decorators: [{
|
|
49
66
|
type: NgModule,
|
|
50
67
|
args: [{
|
|
51
68
|
declarations: [RightSidebarComponent],
|
|
@@ -62,8 +79,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
62
79
|
},
|
|
63
80
|
}),
|
|
64
81
|
NgbTooltipModule,
|
|
82
|
+
UIShellModule,
|
|
83
|
+
IconModule,
|
|
84
|
+
GridModule,
|
|
85
|
+
TabsModule,
|
|
86
|
+
StructuredListModule,
|
|
87
|
+
SelectModule,
|
|
88
|
+
ToggleModule,
|
|
89
|
+
TagModule,
|
|
90
|
+
LinkModule,
|
|
65
91
|
],
|
|
66
92
|
exports: [RightSidebarComponent],
|
|
67
93
|
}]
|
|
68
94
|
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtc2lkZWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLGFBQWEsR0FDZCxNQUFNLDJCQUEyQixDQUFDOzs7QUE2Qm5DLE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkExQmQscUJBQXFCLGFBRWxDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVksc0JBUVosZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixVQUFVO1FBQ1YsVUFBVTtRQUNWLFVBQVU7UUFDVixvQkFBb0I7UUFDcEIsWUFBWTtRQUNaLFlBQVk7UUFDWixTQUFTO1FBQ1QsVUFBVSxhQUVGLHFCQUFxQjtpSEFFcEIsa0JBQWtCLFlBeEIzQixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUN0QixNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxpQkFBaUI7Z0JBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzthQUNuQjtTQUNGLENBQUM7UUFDRixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLFVBQVU7UUFDVixVQUFVO1FBQ1YsVUFBVTtRQUNWLG9CQUFvQjtRQUNwQixZQUFZO1FBQ1osWUFBWTtRQUNaLFNBQVM7UUFDVCxVQUFVOzRGQUlELGtCQUFrQjtrQkEzQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGVBQWUsQ0FBQyxPQUFPLENBQUM7NEJBQ3RCLE1BQU0sRUFBRTtnQ0FDTixPQUFPLEVBQUUsZUFBZTtnQ0FDeEIsVUFBVSxFQUFFLGlCQUFpQjtnQ0FDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDOzZCQUNuQjt5QkFDRixDQUFDO3dCQUNGLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixTQUFTO3dCQUNULFVBQVU7cUJBQ1g7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UmlnaHRTaWRlYmFyQ29tcG9uZW50fSBmcm9tICcuL3JpZ2h0LXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1RyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7SHR0cExvYWRlckZhY3Rvcnl9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge05nYlRvb2x0aXBNb2R1bGV9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7XG4gIEdyaWRNb2R1bGUsXG4gIEljb25Nb2R1bGUsXG4gIExpbmtNb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbiAgU3RydWN0dXJlZExpc3RNb2R1bGUsXG4gIFRhYnNNb2R1bGUsXG4gIFRhZ01vZHVsZSxcbiAgVG9nZ2xlTW9kdWxlLFxuICBVSVNoZWxsTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUmlnaHRTaWRlYmFyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiBIdHRwTG9hZGVyRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICBOZ2JUb29sdGlwTW9kdWxlLFxuICAgIFVJU2hlbGxNb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBHcmlkTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgU3RydWN0dXJlZExpc3RNb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFRvZ2dsZU1vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgTGlua01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1JpZ2h0U2lkZWJhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJpZ2h0U2lkZWJhck1vZHVsZSB7fVxuIl19
|