fabrikantencore 2.10.18 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-bcb-instance/beheer-bcb-instance.component.mjs +120 -0
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-configurator/beheer-configurator.component.mjs +83 -0
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +9 -4
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +25 -7
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +3 -3
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +65 -4
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +25 -6
- package/esm2022/src/app/modules/fabrikantencore/components/fab-checkbox/fab-checkbox.component.mjs +5 -3
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +44 -12
- package/esm2022/src/app/modules/fabrikantencore/components/fab-form/fab-form.component.mjs +3 -3
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +16 -3
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-display-value/fab-filter-display-value.component.mjs +4 -3
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-label/fab-filter-label.component.mjs +4 -3
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-picture-select/fab-filter-picture-select.component.mjs +4 -3
- package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +15 -4
- package/esm2022/src/app/modules/fabrikantencore/services/authentication.service.mjs +7 -1
- package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +13 -1
- package/esm2022/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +1047 -152
- package/fesm2022/fabrikantencore.mjs +1580 -335
- package/fesm2022/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-bcb-instance/beheer-bcb-instance.component.d.ts +28 -0
- package/src/app/modules/fabrikantencore/beheer/components/beheer-configurator/beheer-configurator.component.d.ts +24 -0
- package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +5 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +9 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.d.ts +6 -2
- package/src/app/modules/fabrikantencore/components/fab-checkbox/fab-checkbox.component.d.ts +2 -1
- package/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.d.ts +8 -2
- package/src/app/modules/fabrikantencore/components/inputs/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.d.ts +4 -0
- package/src/app/modules/fabrikantencore/components/inputs/fab-filter-display-value/fab-filter-display-value.component.d.ts +2 -1
- package/src/app/modules/fabrikantencore/components/inputs/fab-filter-label/fab-filter-label.component.d.ts +2 -1
- package/src/app/modules/fabrikantencore/components/inputs/fab-filter-picture-select/fab-filter-picture-select.component.d.ts +2 -1
- package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +31 -29
- package/src/app/modules/fabrikantencore/services/authentication.service.d.ts +1 -0
- package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +3 -0
- package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +255 -27
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { FormInstanceRequestModel, TranslationCategory, TranslationSubCategory, LoginResponseModel } from '../../../swagger/SwaggerClient';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../swagger/SwaggerClient";
|
|
5
|
+
import * as i2 from "../../../services/translate.service";
|
|
6
|
+
import * as i3 from "../../../services/authentication.service";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/legacy-button";
|
|
9
|
+
import * as i6 from "../../../components/fab-loader/fab-loader.component";
|
|
10
|
+
import * as i7 from "../../../components/fab-form/fab-form.component";
|
|
11
|
+
class BeheerBcbInstanceComponent {
|
|
12
|
+
FormApiClient;
|
|
13
|
+
TranslateService;
|
|
14
|
+
authenticationService;
|
|
15
|
+
ChangeDetectorRef;
|
|
16
|
+
FormLoaded = false;
|
|
17
|
+
InstanceLoaded = false;
|
|
18
|
+
BCBProductInstanceViewModel;
|
|
19
|
+
LoadingForm = true;
|
|
20
|
+
LoadingInstance = true;
|
|
21
|
+
FabrikantenFormViewModel;
|
|
22
|
+
set input(value) {
|
|
23
|
+
this.BCBProductInstanceViewModel = value;
|
|
24
|
+
this.InstanceLoaded = true;
|
|
25
|
+
this.LoadInstance();
|
|
26
|
+
}
|
|
27
|
+
get TranslationCategory() {
|
|
28
|
+
return TranslationCategory;
|
|
29
|
+
}
|
|
30
|
+
get TranslationSubCategory() {
|
|
31
|
+
return TranslationSubCategory;
|
|
32
|
+
}
|
|
33
|
+
Loading() {
|
|
34
|
+
return this.LoadingForm || this.LoadingInstance;
|
|
35
|
+
}
|
|
36
|
+
constructor(FormApiClient, TranslateService, authenticationService, ChangeDetectorRef) {
|
|
37
|
+
this.FormApiClient = FormApiClient;
|
|
38
|
+
this.TranslateService = TranslateService;
|
|
39
|
+
this.authenticationService = authenticationService;
|
|
40
|
+
this.ChangeDetectorRef = ChangeDetectorRef;
|
|
41
|
+
this.LoadForm();
|
|
42
|
+
}
|
|
43
|
+
Save() {
|
|
44
|
+
this.LoadingInstance = true;
|
|
45
|
+
this.FabrikantenFormViewModel.customConnectId = this.BCBProductInstanceViewModel.id;
|
|
46
|
+
this.FormApiClient.saveForm(this.FabrikantenFormViewModel).subscribe(() => {
|
|
47
|
+
this.LoadingInstance = false;
|
|
48
|
+
}, (error) => {
|
|
49
|
+
alert('An unexpected error occured');
|
|
50
|
+
this.LoadingInstance = false;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
LoadForm() {
|
|
54
|
+
this.LoadingForm = true;
|
|
55
|
+
this.FormApiClient.getForm().subscribe((model) => {
|
|
56
|
+
this.FabrikantenFormViewModel = model;
|
|
57
|
+
this.LoadingForm = false;
|
|
58
|
+
this.FormLoaded = true;
|
|
59
|
+
this.LoadInstance();
|
|
60
|
+
}, (error) => {
|
|
61
|
+
alert('An unexpected error occured');
|
|
62
|
+
this.LoadingForm = false;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
LoadInstance() {
|
|
66
|
+
if (this.FormLoaded && this.InstanceLoaded) {
|
|
67
|
+
this.LoadingInstance = true;
|
|
68
|
+
var request = new FormInstanceRequestModel();
|
|
69
|
+
request.customConnectId = this.BCBProductInstanceViewModel.id;
|
|
70
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
71
|
+
this.FormApiClient.getFormInstance(request).subscribe((model) => {
|
|
72
|
+
this.FabrikantenFormViewModel.formInstanceId = model.id;
|
|
73
|
+
var instances = model.formInputInstances;
|
|
74
|
+
if (instances != null) {
|
|
75
|
+
for (var i = 0; i < instances.length; i++) {
|
|
76
|
+
var formcats = this.FabrikantenFormViewModel.formCategories;
|
|
77
|
+
if (formcats != null) {
|
|
78
|
+
for (var j = 0; j < formcats.length; j++) {
|
|
79
|
+
var rows = formcats[j].rows;
|
|
80
|
+
if (rows != null) {
|
|
81
|
+
for (var k = 0; k < rows.length; k++) {
|
|
82
|
+
var inputs = rows[k].inputs;
|
|
83
|
+
if (inputs != null) {
|
|
84
|
+
for (var l = 0; l < inputs.length; l++) {
|
|
85
|
+
if (inputs[l].id == instances[i].formInputId) {
|
|
86
|
+
inputs[l].value = instances[i].value;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
this.LoadingInstance = false;
|
|
97
|
+
}, (error) => {
|
|
98
|
+
alert('An unexpected error occured');
|
|
99
|
+
this.LoadingInstance = false;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
DownloadPDF() {
|
|
104
|
+
// CreateInstancePDF(int pLanguageId, int pPDFTemplateId, int pBCBInstanceId)
|
|
105
|
+
var url = "/Download/CreateInstancePDF?pLanguageId=" + this.TranslateService.ActiveLanguage.id;
|
|
106
|
+
url += "&pPDFTemplateId=1";
|
|
107
|
+
url += "&pBCBInstanceId=" + this.BCBProductInstanceViewModel.id;
|
|
108
|
+
window.open(url, "_blank");
|
|
109
|
+
}
|
|
110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerBcbInstanceComponent, deps: [{ token: i1.FormApiClient }, { token: i2.TranslateService }, { token: i3.AuthenticationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerBcbInstanceComponent, selector: "app-beheer-bcb-instance", inputs: { input: "input" }, ngImport: i0, template: "<div *ngIf=\"Loading()\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading()\">\n <div class=\"displayflex\">\n <div class=\"prop prop-name\">Product</div>\n <div class=\"prop prop-value\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, BCBProductInstanceViewModel.productId) }}\n </div>\n </div>\n <div class=\"displayflex\">\n <div class=\"prop prop-name\">Datum</div>\n <div class=\"prop prop-value\">\n {{ BCBProductInstanceViewModel.dateTimeModified }}\n </div>\n </div>\n <br />\n <br />\n <br />\n <div class=\"displayflex\">\n <div style=\"width: 50%;\">\n <table style=\"width: 100%;\">\n <tr>\n <td class=\"border-bottom\" colspan=\"2\">Filter</td>\n </tr>\n <ng-container *ngFor=\"let filter of BCBProductInstanceViewModel.filters\">\n <tr *ngIf=\"filter.filterOptions.length > 0\" class=\"info-row\">\n <td>\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.filterId) }}\n </td>\n <td>\n <div *ngFor=\"let filteroption of filter.filterOptions\" class=\"value-cell\">\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, filteroption.filterOptionId) }}\n </div>\n </td>\n </tr>\n </ng-container>\n </table>\n <br />\n <table style=\"width: 100%;\">\n <tr>\n <td class=\"border-bottom\" colspan=\"2\">Range Input</td>\n </tr>\n <ng-container *ngFor=\"let rangeinput of BCBProductInstanceViewModel.rangeInputs\">\n <tr *ngIf=\"rangeinput.value != null\" class=\"info-row\">\n <td>\n {{ TranslateService.GetActiveValue(TranslationCategory.RangeInput, TranslationSubCategory.Name, rangeinput.rangeInputId) }}\n </td>\n <td class=\"value-cell\">\n {{ rangeinput.value }}\n </td>\n </tr>\n </ng-container>\n </table>\n </div>\n\n <div style=\"width: 50%;\">\n <app-fab-form [form]=\"FabrikantenFormViewModel\"></app-fab-form>\n <div class=\"button-row\">\n <button mat-raised-button (click)=\"Save()\">\n Save\n </button>\n </div>\n </div>\n </div>\n <br />\n <br />\n <button mat-raised-button (click)=\"DownloadPDF()\">\n Download PDF\n </button>\n <br />\n</div>\n", styles: [".displayflex{display:flex}.prop{font-size:20px;padding:5px;border-bottom:1px solid #000}.prop-name{width:200px}.prop-value{width:calc(100% - 220px)}.border-bottom{border-bottom:1px solid #000;font-size:20px;padding:4px}.form-button-row{display:none}.value-cell{text-align:right;padding-right:5px}.info-row:hover{background-color:#efefef}.button-row{padding-top:3px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i7.FabFormComponent, selector: "app-fab-form", inputs: ["form"], outputs: ["completed"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
112
|
+
}
|
|
113
|
+
export { BeheerBcbInstanceComponent };
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerBcbInstanceComponent, decorators: [{
|
|
115
|
+
type: Component,
|
|
116
|
+
args: [{ selector: 'app-beheer-bcb-instance', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"Loading()\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading()\">\n <div class=\"displayflex\">\n <div class=\"prop prop-name\">Product</div>\n <div class=\"prop prop-value\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, BCBProductInstanceViewModel.productId) }}\n </div>\n </div>\n <div class=\"displayflex\">\n <div class=\"prop prop-name\">Datum</div>\n <div class=\"prop prop-value\">\n {{ BCBProductInstanceViewModel.dateTimeModified }}\n </div>\n </div>\n <br />\n <br />\n <br />\n <div class=\"displayflex\">\n <div style=\"width: 50%;\">\n <table style=\"width: 100%;\">\n <tr>\n <td class=\"border-bottom\" colspan=\"2\">Filter</td>\n </tr>\n <ng-container *ngFor=\"let filter of BCBProductInstanceViewModel.filters\">\n <tr *ngIf=\"filter.filterOptions.length > 0\" class=\"info-row\">\n <td>\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.filterId) }}\n </td>\n <td>\n <div *ngFor=\"let filteroption of filter.filterOptions\" class=\"value-cell\">\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, filteroption.filterOptionId) }}\n </div>\n </td>\n </tr>\n </ng-container>\n </table>\n <br />\n <table style=\"width: 100%;\">\n <tr>\n <td class=\"border-bottom\" colspan=\"2\">Range Input</td>\n </tr>\n <ng-container *ngFor=\"let rangeinput of BCBProductInstanceViewModel.rangeInputs\">\n <tr *ngIf=\"rangeinput.value != null\" class=\"info-row\">\n <td>\n {{ TranslateService.GetActiveValue(TranslationCategory.RangeInput, TranslationSubCategory.Name, rangeinput.rangeInputId) }}\n </td>\n <td class=\"value-cell\">\n {{ rangeinput.value }}\n </td>\n </tr>\n </ng-container>\n </table>\n </div>\n\n <div style=\"width: 50%;\">\n <app-fab-form [form]=\"FabrikantenFormViewModel\"></app-fab-form>\n <div class=\"button-row\">\n <button mat-raised-button (click)=\"Save()\">\n Save\n </button>\n </div>\n </div>\n </div>\n <br />\n <br />\n <button mat-raised-button (click)=\"DownloadPDF()\">\n Download PDF\n </button>\n <br />\n</div>\n", styles: [".displayflex{display:flex}.prop{font-size:20px;padding:5px;border-bottom:1px solid #000}.prop-name{width:200px}.prop-value{width:calc(100% - 220px)}.border-bottom{border-bottom:1px solid #000;font-size:20px;padding:4px}.form-button-row{display:none}.value-cell{text-align:right;padding-right:5px}.info-row:hover{background-color:#efefef}.button-row{padding-top:3px;text-align:right}\n"] }]
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i1.FormApiClient }, { type: i2.TranslateService }, { type: i3.AuthenticationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { input: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}] } });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWJjYi1pbnN0YW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1iY2ItaW5zdGFuY2UvYmVoZWVyLWJjYi1pbnN0YW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1iY2ItaW5zdGFuY2UvYmVoZWVyLWJjYi1pbnN0YW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE2QixLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0YsT0FBTyxFQUFFLHdCQUF3QixFQUErRixtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7QUFFeE8sTUFNYSwwQkFBMEI7SUE4QmpCO0lBQ1g7SUFDQTtJQUNBO0lBL0JGLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUVoQywyQkFBMkIsQ0FBOEI7SUFDekQsV0FBVyxHQUFZLElBQUksQ0FBQztJQUM1QixlQUFlLEdBQVksSUFBSSxDQUFDO0lBRWhDLHdCQUF3QixDQUEyQjtJQUUxRCxJQUFhLEtBQUssQ0FBQyxLQUFrQztRQUNuRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFvQixhQUE0QixFQUN2QyxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLGlCQUFvQztRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN2QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUUzQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLENBQUM7UUFFcEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNyQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUErQixFQUFFLEVBQUU7WUFDekUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUV2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFFckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUU1QixJQUFJLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7WUFFN0MsT0FBTyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO1lBQzlELE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWpHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtnQkFFckYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUV4RCxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUM7Z0JBRXpDLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtvQkFDckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBRXpDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUM7d0JBRTVELElBQUksUUFBUSxJQUFJLElBQUksRUFBRTs0QkFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0NBRXhDLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0NBRTVCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtvQ0FDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0NBRXBDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7d0NBRTVCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTs0Q0FFbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0RBQ3RDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO29EQUM1QyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7aURBQ3RDOzZDQUNGO3lDQUVGO3FDQUNGO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2dCQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO2dCQUNyQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFFckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLDZFQUE2RTtRQUM3RSxJQUFJLEdBQUcsR0FBRywwQ0FBMEMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUMvRixHQUFHLElBQUksbUJBQW1CLENBQUM7UUFDM0IsR0FBRyxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLENBQUM7UUFFaEUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQzt1R0FsSVUsMEJBQTBCOzJGQUExQiwwQkFBMEIsMkZDWHZDLDIrRUF5RUE7O1NEOURhLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHlCQUF5QixpQkFHcEIsaUJBQWlCLENBQUMsSUFBSTt1TUFheEIsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlUmVxdWVzdE1vZGVsLCBGb3JtSW5zdGFuY2VWaWV3TW9kZWwsIEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCwgQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsLCBGb3JtQXBpQ2xpZW50LCBUcmFuc2xhdGlvbkNhdGVnb3J5LCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LCBMb2dpblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItYmNiLWluc3RhbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1iY2ItaW5zdGFuY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItYmNiLWluc3RhbmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyQmNiSW5zdGFuY2VDb21wb25lbnQge1xuXG4gIHB1YmxpYyBGb3JtTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBJbnN0YW5jZUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBCQ0JQcm9kdWN0SW5zdGFuY2VWaWV3TW9kZWw6IEJDQlByb2R1Y3RJbnN0YW5jZVZpZXdNb2RlbDtcbiAgcHVibGljIExvYWRpbmdGb3JtOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIExvYWRpbmdJbnN0YW5jZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbDogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsO1xuXG4gIEBJbnB1dCgpIHNldCBpbnB1dCh2YWx1ZTogQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsKSB7XG4gICAgdGhpcy5CQ0JQcm9kdWN0SW5zdGFuY2VWaWV3TW9kZWwgPSB2YWx1ZTtcbiAgICB0aGlzLkluc3RhbmNlTG9hZGVkID0gdHJ1ZTtcblxuICAgIHRoaXMuTG9hZEluc3RhbmNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XHJcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGlvblN1YkNhdGVnb3J5O1xyXG4gIH1cblxuICBwdWJsaWMgTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5Mb2FkaW5nRm9ybSB8fCB0aGlzLkxvYWRpbmdJbnN0YW5jZTtcclxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBGb3JtQXBpQ2xpZW50OiBGb3JtQXBpQ2xpZW50LFxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG5cbiAgICB0aGlzLkxvYWRGb3JtKCk7XHJcbiAgfVxuXG4gIHB1YmxpYyBTYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZ0luc3RhbmNlID0gdHJ1ZTtcblxuICAgIHRoaXMuRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLmN1c3RvbUNvbm5lY3RJZCA9IHRoaXMuQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsLmlkO1xuICAgIFxuICAgIHRoaXMuRm9ybUFwaUNsaWVudC5zYXZlRm9ybSh0aGlzLkZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5Mb2FkaW5nSW5zdGFuY2UgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nSW5zdGFuY2UgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgTG9hZEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkaW5nRm9ybSA9IHRydWU7XG5cbiAgICB0aGlzLkZvcm1BcGlDbGllbnQuZ2V0Rm9ybSgpLnN1YnNjcmliZSgobW9kZWw6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdGb3JtID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuRm9ybUxvYWRlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLkxvYWRJbnN0YW5jZSgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGb3JtID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIExvYWRJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Gb3JtTG9hZGVkICYmIHRoaXMuSW5zdGFuY2VMb2FkZWQpIHtcbiAgICAgIHRoaXMuTG9hZGluZ0luc3RhbmNlID0gdHJ1ZTtcblxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgRm9ybUluc3RhbmNlUmVxdWVzdE1vZGVsKCk7XG5cbiAgICAgIHJlcXVlc3QuY3VzdG9tQ29ubmVjdElkID0gdGhpcy5CQ0JQcm9kdWN0SW5zdGFuY2VWaWV3TW9kZWwuaWQ7XG4gICAgICByZXF1ZXN0LmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XG5cbiAgICAgIHRoaXMuRm9ybUFwaUNsaWVudC5nZXRGb3JtSW5zdGFuY2UocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogRm9ybUluc3RhbmNlVmlld01vZGVsKSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMuRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLmZvcm1JbnN0YW5jZUlkID0gbW9kZWwuaWQ7XHJcblxyXG4gICAgICAgIHZhciBpbnN0YW5jZXMgPSBtb2RlbC5mb3JtSW5wdXRJbnN0YW5jZXM7XHJcblxyXG4gICAgICAgIGlmIChpbnN0YW5jZXMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3RoOyBpKyspIHtcclxuXHJcbiAgICAgICAgICAgIHZhciBmb3JtY2F0cyA9IHRoaXMuRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLmZvcm1DYXRlZ29yaWVzO1xyXG5cclxuICAgICAgICAgICAgaWYgKGZvcm1jYXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGZvcm1jYXRzLmxlbmd0aDsgaisrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHJvd3MgPSBmb3JtY2F0c1tqXS5yb3dzO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCByb3dzLmxlbmd0aDsgaysrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHZhciBpbnB1dHMgPSByb3dzW2tdLmlucHV0cztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0cyAhPSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBpbnB1dHMubGVuZ3RoOyBsKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0c1tsXS5pZCA9PSBpbnN0YW5jZXNbaV0uZm9ybUlucHV0SWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dHNbbF0udmFsdWUgPSBpbnN0YW5jZXNbaV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmdJbnN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmdJbnN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIERvd25sb2FkUERGKCk6IHZvaWQge1xuICAgIC8vIENyZWF0ZUluc3RhbmNlUERGKGludCBwTGFuZ3VhZ2VJZCwgaW50IHBQREZUZW1wbGF0ZUlkLCBpbnQgcEJDQkluc3RhbmNlSWQpXG4gICAgdmFyIHVybCA9IFwiL0Rvd25sb2FkL0NyZWF0ZUluc3RhbmNlUERGP3BMYW5ndWFnZUlkPVwiICsgdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkFjdGl2ZUxhbmd1YWdlLmlkO1xyXG4gICAgdXJsICs9IFwiJnBQREZUZW1wbGF0ZUlkPTFcIjtcclxuICAgIHVybCArPSBcIiZwQkNCSW5zdGFuY2VJZD1cIiArIHRoaXMuQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsLmlkO1xyXG5cclxuICAgIHdpbmRvdy5vcGVuKHVybCwgXCJfYmxhbmtcIik7XHJcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmcoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvcCBwcm9wLW5hbWVcIj5Qcm9kdWN0PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByb3AgcHJvcC12YWx1ZVwiPlxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LlByb2R1Y3QsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsLnByb2R1Y3RJZCkgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9wIHByb3AtbmFtZVwiPkRhdHVtPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByb3AgcHJvcC12YWx1ZVwiPlxuICAgICAge3sgQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsLmRhdGVUaW1lTW9kaWZpZWQgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxiciAvPlxuICA8YnIgLz5cbiAgPGJyIC8+XG4gIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogNTAlO1wiPlxuICAgICAgPHRhYmxlIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJib3JkZXItYm90dG9tXCIgY29sc3Bhbj1cIjJcIj5GaWx0ZXI8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsLmZpbHRlcnNcIj5cbiAgICAgICAgICA8dHIgKm5nSWY9XCJmaWx0ZXIuZmlsdGVyT3B0aW9ucy5sZW5ndGggPiAwXCIgY2xhc3M9XCJpbmZvLXJvd1wiPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRmlsdGVyLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIGZpbHRlci5maWx0ZXJJZCkgfX1cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpbHRlcm9wdGlvbiBvZiBmaWx0ZXIuZmlsdGVyT3B0aW9uc1wiIGNsYXNzPVwidmFsdWUtY2VsbFwiPlxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5GaWx0ZXJPcHRpb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgZmlsdGVyb3B0aW9uLmZpbHRlck9wdGlvbklkKSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPGJyIC8+XG4gICAgICA8dGFibGUgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImJvcmRlci1ib3R0b21cIiBjb2xzcGFuPVwiMlwiPlJhbmdlIElucHV0PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmFuZ2VpbnB1dCBvZiBCQ0JQcm9kdWN0SW5zdGFuY2VWaWV3TW9kZWwucmFuZ2VJbnB1dHNcIj5cbiAgICAgICAgICA8dHIgKm5nSWY9XCJyYW5nZWlucHV0LnZhbHVlICE9IG51bGxcIiBjbGFzcz1cImluZm8tcm93XCI+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5SYW5nZUlucHV0LCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIHJhbmdlaW5wdXQucmFuZ2VJbnB1dElkKSB9fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlLWNlbGxcIj5cbiAgICAgICAgICAgICAge3sgcmFuZ2VpbnB1dC52YWx1ZSB9fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICAgIDxhcHAtZmFiLWZvcm0gW2Zvcm1dPVwiRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsXCI+PC9hcHAtZmFiLWZvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJvd1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTYXZlKClcIj5cbiAgICAgICAgICBTYXZlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnIgLz5cbiAgPGJyIC8+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkRvd25sb2FkUERGKClcIj5cbiAgICBEb3dubG9hZCBQREZcbiAgPC9idXR0b24+XG4gIDxiciAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { DeleteBCBProductInstanceRequestModel, GetConfigurationsRequestModel, LoginResponseModel, TranslationCategory, TranslationSubCategory } from '../../../swagger/SwaggerClient';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../swagger/SwaggerClient";
|
|
5
|
+
import * as i2 from "../../../services/translate.service";
|
|
6
|
+
import * as i3 from "../../../services/authentication.service";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/legacy-button";
|
|
9
|
+
import * as i6 from "@angular/material/legacy-card";
|
|
10
|
+
import * as i7 from "../beheer-nav/beheer-nav.component";
|
|
11
|
+
import * as i8 from "../../../components/fab-loader/fab-loader.component";
|
|
12
|
+
import * as i9 from "../beheer-bcb-instance/beheer-bcb-instance.component";
|
|
13
|
+
class BeheerConfiguratorComponent {
|
|
14
|
+
ConfiguratorApiClient;
|
|
15
|
+
TranslateService;
|
|
16
|
+
authenticationService;
|
|
17
|
+
ChangeDetectorRef;
|
|
18
|
+
Loading = true;
|
|
19
|
+
ConfigurationsViewModel;
|
|
20
|
+
BCBProductInstanceViewModel = null;
|
|
21
|
+
get TranslationCategory() {
|
|
22
|
+
return TranslationCategory;
|
|
23
|
+
}
|
|
24
|
+
get TranslationSubCategory() {
|
|
25
|
+
return TranslationSubCategory;
|
|
26
|
+
}
|
|
27
|
+
constructor(ConfiguratorApiClient, TranslateService, authenticationService, ChangeDetectorRef) {
|
|
28
|
+
this.ConfiguratorApiClient = ConfiguratorApiClient;
|
|
29
|
+
this.TranslateService = TranslateService;
|
|
30
|
+
this.authenticationService = authenticationService;
|
|
31
|
+
this.ChangeDetectorRef = ChangeDetectorRef;
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.TranslateService.LoadTranslations(this.ChangeDetectorRef, null, undefined);
|
|
35
|
+
this.LoadConfigurations();
|
|
36
|
+
}
|
|
37
|
+
Select(instance) {
|
|
38
|
+
this.BCBProductInstanceViewModel = instance;
|
|
39
|
+
}
|
|
40
|
+
Delete(instance) {
|
|
41
|
+
if (confirm("Weet je het zeker?")) {
|
|
42
|
+
this.Loading = true;
|
|
43
|
+
var request = new DeleteBCBProductInstanceRequestModel();
|
|
44
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
45
|
+
request.bcbInstanceId = instance.id;
|
|
46
|
+
this.ConfiguratorApiClient.deleteInstance(request).subscribe(() => {
|
|
47
|
+
this.LoadConfigurations();
|
|
48
|
+
}, (error) => {
|
|
49
|
+
alert('An unexpected error occured');
|
|
50
|
+
this.Loading = false;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
IsLoading() {
|
|
55
|
+
if (this.Loading) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
if (this.TranslateService.Loading) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
LoadConfigurations() {
|
|
64
|
+
this.Loading = true;
|
|
65
|
+
var request = new GetConfigurationsRequestModel();
|
|
66
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
67
|
+
this.ConfiguratorApiClient.getConfigurations(request).subscribe((model) => {
|
|
68
|
+
this.ConfigurationsViewModel = model;
|
|
69
|
+
this.Loading = false;
|
|
70
|
+
}, (error) => {
|
|
71
|
+
alert('An unexpected error occured');
|
|
72
|
+
this.Loading = false;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerConfiguratorComponent, deps: [{ token: i1.ConfiguratorApiClient }, { token: i2.TranslateService }, { token: i3.AuthenticationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerConfiguratorComponent, selector: "app-beheer-configurator", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"IsLoading()\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!IsLoading()\" class=\"main-container\">\n <mat-card *ngIf=\"BCBProductInstanceViewModel == null\">\n <mat-card-content>\n <table style=\"width: 100%;\">\n <tr>\n <td class=\"border-bottom\" style=\"min-width: 20px;\"><b>Id</b></td>\n <td class=\"border-bottom\"><b>Product</b></td>\n <td class=\"border-bottom\"></td>\n <td></td>\n </tr>\n <tr *ngFor=\"let instance of ConfigurationsViewModel.instances\">\n <td class=\"selectable\" (click)=\"Select(instance)\">{{ instance.id }}</td>\n <td class=\"selectable\" (click)=\"Select(instance)\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, instance.productId) }}\n </td>\n <td class=\"selectable\" (click)=\"Select(instance)\">\n {{ instance.dateTimeModified }}\n </td>\n <td style=\"width: 150px;\">\n <button mat-raised-button (click)=\"Delete(instance)\" style=\"width: 100%;\">\n Verwijderen\n </button>\n </td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n\n <mat-card *ngIf=\"BCBProductInstanceViewModel != null\">\n <mat-card-content>\n <app-beheer-bcb-instance [input]=\"BCBProductInstanceViewModel\"></app-beheer-bcb-instance>\n <br />\n <br />\n <br />\n <div>\n <button mat-raised-button (click)=\"Select(null)\">\n Terug\n </button>\n </div>\n\n </mat-card-content>\n </mat-card>\n</div>\n", styles: [".main-container{padding:10px}.border-bottom{border-bottom:1px solid #000}.selectable{cursor:pointer}.selectable:hover{background-color:#f0f0f0}.displayflex{display:flex}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i6.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i7.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i8.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i9.BeheerBcbInstanceComponent, selector: "app-beheer-bcb-instance", inputs: ["input"] }] });
|
|
77
|
+
}
|
|
78
|
+
export { BeheerConfiguratorComponent };
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerConfiguratorComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'app-beheer-configurator', template: "<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"IsLoading()\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!IsLoading()\" class=\"main-container\">\n <mat-card *ngIf=\"BCBProductInstanceViewModel == null\">\n <mat-card-content>\n <table style=\"width: 100%;\">\n <tr>\n <td class=\"border-bottom\" style=\"min-width: 20px;\"><b>Id</b></td>\n <td class=\"border-bottom\"><b>Product</b></td>\n <td class=\"border-bottom\"></td>\n <td></td>\n </tr>\n <tr *ngFor=\"let instance of ConfigurationsViewModel.instances\">\n <td class=\"selectable\" (click)=\"Select(instance)\">{{ instance.id }}</td>\n <td class=\"selectable\" (click)=\"Select(instance)\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, instance.productId) }}\n </td>\n <td class=\"selectable\" (click)=\"Select(instance)\">\n {{ instance.dateTimeModified }}\n </td>\n <td style=\"width: 150px;\">\n <button mat-raised-button (click)=\"Delete(instance)\" style=\"width: 100%;\">\n Verwijderen\n </button>\n </td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n\n <mat-card *ngIf=\"BCBProductInstanceViewModel != null\">\n <mat-card-content>\n <app-beheer-bcb-instance [input]=\"BCBProductInstanceViewModel\"></app-beheer-bcb-instance>\n <br />\n <br />\n <br />\n <div>\n <button mat-raised-button (click)=\"Select(null)\">\n Terug\n </button>\n </div>\n\n </mat-card-content>\n </mat-card>\n</div>\n", styles: [".main-container{padding:10px}.border-bottom{border-bottom:1px solid #000}.selectable{cursor:pointer}.selectable:hover{background-color:#f0f0f0}.displayflex{display:flex}\n"] }]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.ConfiguratorApiClient }, { type: i2.TranslateService }, { type: i3.AuthenticationService }, { type: i0.ChangeDetectorRef }]; } });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1jb25maWd1cmF0b3IvYmVoZWVyLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1jb25maWd1cmF0b3IvYmVoZWVyLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEVBQTRCLG9DQUFvQyxFQUErRSw2QkFBNkIsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7OztBQUU3UixNQUthLDJCQUEyQjtJQWVsQjtJQUNYO0lBQ0E7SUFDQTtJQWpCRixPQUFPLEdBQVksSUFBSSxDQUFDO0lBRXhCLHVCQUF1QixDQUEwQjtJQUVqRCwyQkFBMkIsR0FBdUMsSUFBSSxDQUFDO0lBRTlFLElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLHFCQUE0QyxFQUN2RCxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLGlCQUFvQztRQUh6QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQ3ZELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFxQztRQUNqRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBcUM7UUFDakQsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVwQixJQUFJLE9BQU8sR0FBRyxJQUFJLG9DQUFvQyxFQUFFLENBQUM7WUFFekQsT0FBTyxDQUFDLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDakcsT0FBTyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBRXBDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksT0FBTyxHQUFHLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUVsRCxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVqRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQ2pHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFFckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTdFVSwyQkFBMkI7MkZBQTNCLDJCQUEyQiwrRENWeEMscXFEQWlEQTs7U0R2Q2EsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLCBEZWxldGVCQ0JQcm9kdWN0SW5zdGFuY2VSZXF1ZXN0TW9kZWwsIEJDQlByb2R1Y3RJbnN0YW5jZVZpZXdNb2RlbCwgQ29uZmlndXJhdG9yQXBpQ2xpZW50LCBDb25maWd1cmF0aW9uc1ZpZXdNb2RlbCwgR2V0Q29uZmlndXJhdGlvbnNSZXF1ZXN0TW9kZWwsIExvZ2luUmVzcG9uc2VNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItY29uZmlndXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1jb25maWd1cmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItY29uZmlndXJhdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyQ29uZmlndXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBDb25maWd1cmF0aW9uc1ZpZXdNb2RlbDogQ29uZmlndXJhdGlvbnNWaWV3TW9kZWw7XG5cbiAgcHVibGljIEJDQlByb2R1Y3RJbnN0YW5jZVZpZXdNb2RlbDogQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBUcmFuc2xhdGlvbkNhdGVnb3J5KCkge1xyXG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XHJcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcclxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBDb25maWd1cmF0b3JBcGlDbGllbnQ6IENvbmZpZ3VyYXRvckFwaUNsaWVudCxcbiAgICBwdWJsaWMgVHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuXHJcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkxvYWRUcmFuc2xhdGlvbnModGhpcy5DaGFuZ2VEZXRlY3RvclJlZiwgbnVsbCwgdW5kZWZpbmVkKTtcclxuICAgIHRoaXMuTG9hZENvbmZpZ3VyYXRpb25zKCk7XHJcbiAgfVxuXG4gIHB1YmxpYyBTZWxlY3QoaW5zdGFuY2U6IEJDQlByb2R1Y3RJbnN0YW5jZVZpZXdNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsID0gaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgRGVsZXRlKGluc3RhbmNlOiBCQ0JQcm9kdWN0SW5zdGFuY2VWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IERlbGV0ZUJDQlByb2R1Y3RJbnN0YW5jZVJlcXVlc3RNb2RlbCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG4gICAgICByZXF1ZXN0LmJjYkluc3RhbmNlSWQgPSBpbnN0YW5jZS5pZDtcclxuXHJcbiAgICAgIHRoaXMuQ29uZmlndXJhdG9yQXBpQ2xpZW50LmRlbGV0ZUluc3RhbmNlKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkQ29uZmlndXJhdGlvbnMoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgSXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLkxvYWRpbmcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuVHJhbnNsYXRlU2VydmljZS5Mb2FkaW5nKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XG5cbiAgcHJpdmF0ZSBMb2FkQ29uZmlndXJhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdCA9IG5ldyBHZXRDb25maWd1cmF0aW9uc1JlcXVlc3RNb2RlbCgpO1xyXG5cclxuICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuXHJcbiAgICB0aGlzLkNvbmZpZ3VyYXRvckFwaUNsaWVudC5nZXRDb25maWd1cmF0aW9ucyhyZXF1ZXN0KS5zdWJzY3JpYmUoKG1vZGVsOiBDb25maWd1cmF0aW9uc1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLkNvbmZpZ3VyYXRpb25zVmlld01vZGVsID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cbn1cbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxuXG48ZGl2ICpuZ0lmPVwiSXNMb2FkaW5nKClcIj5cbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIiFJc0xvYWRpbmcoKVwiIGNsYXNzPVwibWFpbi1jb250YWluZXJcIj5cbiAgPG1hdC1jYXJkICpuZ0lmPVwiQkNCUHJvZHVjdEluc3RhbmNlVmlld01vZGVsID09IG51bGxcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDx0YWJsZSBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiYm9yZGVyLWJvdHRvbVwiIHN0eWxlPVwibWluLXdpZHRoOiAyMHB4O1wiPjxiPklkPC9iPjwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiYm9yZGVyLWJvdHRvbVwiPjxiPlByb2R1Y3Q8L2I+PC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJib3JkZXItYm90dG9tXCI+PC90ZD5cbiAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpbnN0YW5jZSBvZiBDb25maWd1cmF0aW9uc1ZpZXdNb2RlbC5pbnN0YW5jZXNcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJzZWxlY3RhYmxlXCIgKGNsaWNrKT1cIlNlbGVjdChpbnN0YW5jZSlcIj57eyBpbnN0YW5jZS5pZCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwic2VsZWN0YWJsZVwiIChjbGljayk9XCJTZWxlY3QoaW5zdGFuY2UpXCI+XG4gICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuUHJvZHVjdCwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBpbnN0YW5jZS5wcm9kdWN0SWQpIH19XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJzZWxlY3RhYmxlXCIgKGNsaWNrKT1cIlNlbGVjdChpbnN0YW5jZSlcIj5cbiAgICAgICAgICAgIHt7IGluc3RhbmNlLmRhdGVUaW1lTW9kaWZpZWQgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiAxNTBweDtcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkRlbGV0ZShpbnN0YW5jZSlcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgICAgICAgICAgICBWZXJ3aWpkZXJlblxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuXG4gIDxtYXQtY2FyZCAqbmdJZj1cIkJDQlByb2R1Y3RJbnN0YW5jZVZpZXdNb2RlbCAhPSBudWxsXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8YXBwLWJlaGVlci1iY2ItaW5zdGFuY2UgW2lucHV0XT1cIkJDQlByb2R1Y3RJbnN0YW5jZVZpZXdNb2RlbFwiPjwvYXBwLWJlaGVlci1iY2ItaW5zdGFuY2U+XG4gICAgICA8YnIgLz5cbiAgICAgIDxiciAvPlxuICAgICAgPGJyIC8+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTZWxlY3QobnVsbClcIj5cbiAgICAgICAgICBUZXJ1Z1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuPC9kaXY+XG4iXX0=
|
|
@@ -33,17 +33,22 @@ class BeheerInlogComponent {
|
|
|
33
33
|
this.authenticationService.login(this.Username, this.Password, this, this.Success, this.Failure);
|
|
34
34
|
}
|
|
35
35
|
Success(beheer) {
|
|
36
|
-
beheer.
|
|
36
|
+
if (beheer.authenticationService.ConfiguratorRights()) {
|
|
37
|
+
beheer.router.navigateByUrl('/beheer/configurator');
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
beheer.router.navigateByUrl('/beheer');
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
Failure(beheer, message) {
|
|
39
44
|
beheer.Message = message;
|
|
40
45
|
}
|
|
41
46
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerInlogComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.Router }, { token: i3.SecurityApiClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerInlogComponent, selector: "app-beheer-inlog", ngImport: i0, template: "\r\n<div class=\"container\">\r\n <div class=\"inlogdialog\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input type=\"text\" [(ngModel)]=\"Username\" matInput value=\"\">\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Wachtwoord</mat-label>\r\n <input type=\"password\" [(ngModel)]=\"Password\" matInput value=\"\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"button-bar\">\r\n <div class=\"error-box\">\r\n
|
|
47
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerInlogComponent, selector: "app-beheer-inlog", ngImport: i0, template: "\r\n<div class=\"container\">\r\n <div class=\"inlogdialog\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input type=\"text\" [(ngModel)]=\"Username\" matInput value=\"\" (keyup.enter)=\"Login()\">\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Wachtwoord</mat-label>\r\n <input type=\"password\" [(ngModel)]=\"Password\" matInput value=\"\" (keyup.enter)=\"Login()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"button-bar\">\r\n <span *ngIf=\"authenticationService.LoadingLogin\">\r\n <app-fab-loader class=\"loader\"></app-fab-loader>\r\n <br />\r\n <br />\r\n <br />\r\n </span>\r\n\r\n <ng-container *ngIf=\"!authenticationService.LoadingLogin\">\r\n <div class=\"error-box\">\r\n {{ Message }}\r\n </div>\r\n <button mat-raised-button (click)=\"Login()\" class=\"login-button\">\r\n <span >\r\n Login\r\n </span>\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div>\r\n IP Address: {{ LoginIPResponseModel?.ipAddress }}\r\n </div>\r\n <div>\r\n FabrikantenCore: {{ LoginIPResponseModel?.fabrikantenCoreVersion }}\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n \r\n </div>\r\n</div>\r\n", styles: ["app-beheer-inlog .container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}app-beheer-inlog .error-box{font-size:12px;text-align:center;color:red;padding:3px}app-beheer-inlog .login-button{width:70px}app-beheer-inlog .loader{height:20px;top:6px;position:relative}app-beheer-inlog .inlogdialog{width:300px}app-beheer-inlog .button-bar{text-align:right}app-beheer-inlog mat-form-field{width:100%}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i10.FabLoaderComponent, selector: "app-fab-loader" }], encapsulation: i0.ViewEncapsulation.None });
|
|
43
48
|
}
|
|
44
49
|
export { BeheerInlogComponent };
|
|
45
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerInlogComponent, decorators: [{
|
|
46
51
|
type: Component,
|
|
47
|
-
args: [{ selector: 'app-beheer-inlog', encapsulation: ViewEncapsulation.None, template: "\r\n<div class=\"container\">\r\n <div class=\"inlogdialog\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input type=\"text\" [(ngModel)]=\"Username\" matInput value=\"\">\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Wachtwoord</mat-label>\r\n <input type=\"password\" [(ngModel)]=\"Password\" matInput value=\"\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"button-bar\">\r\n <div class=\"error-box\">\r\n
|
|
52
|
+
args: [{ selector: 'app-beheer-inlog', encapsulation: ViewEncapsulation.None, template: "\r\n<div class=\"container\">\r\n <div class=\"inlogdialog\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input type=\"text\" [(ngModel)]=\"Username\" matInput value=\"\" (keyup.enter)=\"Login()\">\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Wachtwoord</mat-label>\r\n <input type=\"password\" [(ngModel)]=\"Password\" matInput value=\"\" (keyup.enter)=\"Login()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"button-bar\">\r\n <span *ngIf=\"authenticationService.LoadingLogin\">\r\n <app-fab-loader class=\"loader\"></app-fab-loader>\r\n <br />\r\n <br />\r\n <br />\r\n </span>\r\n\r\n <ng-container *ngIf=\"!authenticationService.LoadingLogin\">\r\n <div class=\"error-box\">\r\n {{ Message }}\r\n </div>\r\n <button mat-raised-button (click)=\"Login()\" class=\"login-button\">\r\n <span >\r\n Login\r\n </span>\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div>\r\n IP Address: {{ LoginIPResponseModel?.ipAddress }}\r\n </div>\r\n <div>\r\n FabrikantenCore: {{ LoginIPResponseModel?.fabrikantenCoreVersion }}\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n \r\n </div>\r\n</div>\r\n", styles: ["app-beheer-inlog .container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}app-beheer-inlog .error-box{font-size:12px;text-align:center;color:red;padding:3px}app-beheer-inlog .login-button{width:70px}app-beheer-inlog .loader{height:20px;top:6px;position:relative}app-beheer-inlog .inlogdialog{width:300px}app-beheer-inlog .button-bar{text-align:right}app-beheer-inlog mat-form-field{width:100%}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}\n"] }]
|
|
48
53
|
}], ctorParameters: function () { return [{ type: i1.AuthenticationService }, { type: i2.Router }, { type: i3.SecurityApiClient }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWlubG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWlubG9nL2JlaGVlci1pbmxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1pbmxvZy9iZWhlZXItaW5sb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBS3JFLE1BTWEsb0JBQW9CO0lBU1o7SUFBcUQ7SUFBd0I7SUFQekYsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBRXRCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFFckIsb0JBQW9CLENBQXVCO0lBRWxELFlBQW1CLHFCQUE0QyxFQUFTLE1BQWMsRUFBVSxpQkFBb0M7UUFBakgsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRWxJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQTJCLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU0sT0FBTyxDQUFDLE1BQTRCO1FBQ3pDLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLEVBQUU7WUFDckQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUNyRDthQUNJO1lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLE1BQTRCLEVBQUUsT0FBZTtRQUMxRCxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO3VHQW5DVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix3RENYakMsd2xEQWdEQTs7U0RyQ2Esb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTG9naW5JUFJlc3BvbnNlTW9kZWwsIFNlY3VyaXR5QXBpQ2xpZW50IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWlubG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLWlubG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItaW5sb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJJbmxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBVc2VybmFtZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgUGFzc3dvcmQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBNZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgTG9naW5JUFJlc3BvbnNlTW9kZWw6IExvZ2luSVBSZXNwb25zZU1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBzZWN1cml0eUFwaUNsaWVudDogU2VjdXJpdHlBcGlDbGllbnQpIHtcclxuXHJcbiAgICB0aGlzLnNlY3VyaXR5QXBpQ2xpZW50LmdldExvZ2luSVBSZXNwb25zZU1vZGVsKCkuc3Vic2NyaWJlKChtb2RlbDogTG9naW5JUFJlc3BvbnNlTW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5Mb2dpbklQUmVzcG9uc2VNb2RlbCA9IG1vZGVsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2dpbigpOiB2b2lkIHtcclxuICAgIHRoaXMuTWVzc2FnZSA9IFwiXCI7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dpbih0aGlzLlVzZXJuYW1lLCB0aGlzLlBhc3N3b3JkLCB0aGlzLCB0aGlzLlN1Y2Nlc3MsIHRoaXMuRmFpbHVyZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3VjY2VzcyhiZWhlZXI6IEJlaGVlcklubG9nQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBpZiAoYmVoZWVyLmF1dGhlbnRpY2F0aW9uU2VydmljZS5Db25maWd1cmF0b3JSaWdodHMoKSkge1xyXG4gICAgICBiZWhlZXIucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9iZWhlZXIvY29uZmlndXJhdG9yJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgYmVoZWVyLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvYmVoZWVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRmFpbHVyZShiZWhlZXI6IEJlaGVlcklubG9nQ29tcG9uZW50LCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGJlaGVlci5NZXNzYWdlID0gbWVzc2FnZTtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiaW5sb2dkaWFsb2dcIj5cclxuICAgIDxtYXQtY2FyZD5cclxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPkdlYnJ1aWtlcnNuYWFtPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiVXNlcm5hbWVcIiBtYXRJbnB1dCB2YWx1ZT1cIlwiIChrZXl1cC5lbnRlcik9XCJMb2dpbigpXCI+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD5XYWNodHdvb3JkPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBbKG5nTW9kZWwpXT1cIlBhc3N3b3JkXCIgbWF0SW5wdXQgdmFsdWU9XCJcIiAoa2V5dXAuZW50ZXIpPVwiTG9naW4oKVwiPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1iYXJcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXV0aGVudGljYXRpb25TZXJ2aWNlLkxvYWRpbmdMb2dpblwiPlxyXG4gICAgICAgICAgICA8YXBwLWZhYi1sb2FkZXIgY2xhc3M9XCJsb2FkZXJcIj48L2FwcC1mYWItbG9hZGVyPlxyXG4gICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYXV0aGVudGljYXRpb25TZXJ2aWNlLkxvYWRpbmdMb2dpblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYm94XCI+XHJcbiAgICAgICAgICAgICAge3sgTWVzc2FnZSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTG9naW4oKVwiIGNsYXNzPVwibG9naW4tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gPlxyXG4gICAgICAgICAgICAgICAgTG9naW5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIElQIEFkZHJlc3M6IHt7IExvZ2luSVBSZXNwb25zZU1vZGVsPy5pcEFkZHJlc3MgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgRmFicmlrYW50ZW5Db3JlOiB7eyBMb2dpbklQUmVzcG9uc2VNb2RlbD8uZmFicmlrYW50ZW5Db3JlVmVyc2lvbiB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L21hdC1jYXJkPlxyXG4gICAgXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/router";
|
|
4
|
-
import * as i2 from "
|
|
4
|
+
import * as i2 from "../../../swagger/SwaggerClient";
|
|
5
|
+
import * as i3 from "../../../services/authentication.service";
|
|
6
|
+
import * as i4 from "../beheer-nav/beheer-nav.component";
|
|
5
7
|
class BeheerMainComponent {
|
|
6
8
|
router;
|
|
7
|
-
|
|
9
|
+
securityApiClient;
|
|
10
|
+
authenticationService;
|
|
11
|
+
constructor(router, securityApiClient, authenticationService) {
|
|
8
12
|
this.router = router;
|
|
9
|
-
this.
|
|
13
|
+
this.securityApiClient = securityApiClient;
|
|
14
|
+
this.authenticationService = authenticationService;
|
|
15
|
+
this.securityApiClient.validateUser(this.authenticationService.currentUserValue).subscribe((model) => {
|
|
16
|
+
if (!model) {
|
|
17
|
+
router.navigate(['/beheer/inloggen']);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
if (this.authenticationService.ConfiguratorRights()) {
|
|
21
|
+
this.router.navigate(['/beheer/configurator']);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.router.navigate(['/beheer/translate']);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
10
28
|
}
|
|
11
29
|
ngOnInit() {
|
|
12
30
|
}
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerMainComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerMainComponent, selector: "app-beheer-main", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n", styles: [""], dependencies: [{ kind: "component", type:
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerMainComponent, deps: [{ token: i1.Router }, { token: i2.SecurityApiClient }, { token: i3.AuthenticationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerMainComponent, selector: "app-beheer-main", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n", styles: [""], dependencies: [{ kind: "component", type: i4.BeheerNavComponent, selector: "app-beheer-nav" }] });
|
|
15
33
|
}
|
|
16
34
|
export { BeheerMainComponent };
|
|
17
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerMainComponent, decorators: [{
|
|
18
36
|
type: Component,
|
|
19
37
|
args: [{ selector: 'app-beheer-main', template: "<app-beheer-nav></app-beheer-nav>\r\n" }]
|
|
20
|
-
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.SecurityApiClient }, { type: i3.AuthenticationService }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLW1haW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItbWFpbi9iZWhlZXItbWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1tYWluL2JlaGVlci1tYWluLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUtsRCxNQUthLG1CQUFtQjtJQUVYO0lBQ1Q7SUFDRDtJQUZULFlBQW1CLE1BQWMsRUFDdkIsaUJBQW9DLEVBQ3JDLHFCQUE0QztRQUZsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUVuRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQzVHLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQzthQUN2QztpQkFDSTtnQkFDSCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO29CQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztpQkFDaEQ7cUJBQ0k7b0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzt1R0F0QlUsbUJBQW1COzJGQUFuQixtQkFBbUIsdURDVmhDLHVDQUNBOztTRFNhLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWN1cml0eUFwaUNsaWVudCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItbWFpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1tYWluLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItbWFpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlck1haW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNlY3VyaXR5QXBpQ2xpZW50OiBTZWN1cml0eUFwaUNsaWVudCxcclxuICAgIHB1YmxpYyBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSkge1xyXG5cclxuICAgIHRoaXMuc2VjdXJpdHlBcGlDbGllbnQudmFsaWRhdGVVc2VyKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpLnN1YnNjcmliZSgobW9kZWw6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKCFtb2RlbCkge1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9iZWhlZXIvaW5sb2dnZW4nXSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLkNvbmZpZ3VyYXRvclJpZ2h0cygpKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9iZWhlZXIvY29uZmlndXJhdG9yJ10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2JlaGVlci90cmFuc2xhdGUnXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcbiJdfQ==
|
|
@@ -40,11 +40,11 @@ class BeheerNavComponent {
|
|
|
40
40
|
window.open('/', '_blank');
|
|
41
41
|
}
|
|
42
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerNavComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.Router }, { token: i3.FabrikantenApiClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerNavComponent, selector: "app-beheer-nav", ngImport: i0, template: "<div class=\"main-block\">\r\n <div class=\"row\">\r\n <div class=\"cell left-block\" *ngIf=\"authenticationService.DeTweeSnoekenRights()\">\r\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\r\n Zoeken\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\r\n Products\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\r\n Filters\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\r\n EBO Koppel\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\r\n Categories\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('deeplink')\" class=\"link\" [disabled]=\"IsActive('/deeplink')\">\r\n Deeplink\r\n </button>\r\n </div>\r\n <div class=\"cell right-block\">\r\n <button mat-raised-button (click)=\"Home()\" class=\"link\">\r\n Home\r\n </button>\r\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\r\n {{ ResetCacheTitle }}\r\n </button>\r\n <button *ngIf=\"authenticationService.DeTweeSnoekenRights()\" mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\r\n Settings\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\r\n Translate\r\n </button>\r\n <button *ngIf=\"authenticationService.AdministratorRights()\" mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\r\n Users\r\n </button>\r\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\r\n Uitloggen\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: BeheerNavComponent, selector: "app-beheer-nav", ngImport: i0, template: "<div class=\"main-block\">\r\n <div class=\"row\">\r\n <div class=\"cell left-block\" *ngIf=\"authenticationService.DeTweeSnoekenRights()\">\r\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\r\n Zoeken\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\r\n Products\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\r\n Filters\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\r\n EBO Koppel\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\r\n Categories\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('deeplink')\" class=\"link\" [disabled]=\"IsActive('/deeplink')\">\r\n Deeplink\r\n </button>\r\n </div>\r\n <div class=\"cell right-block\">\r\n <button mat-raised-button (click)=\"Home()\" class=\"link\">\r\n Home\r\n </button>\r\n <button *ngIf=\"!authenticationService.ConfiguratorRights()\" mat-raised-button (click)=\"ResetCache()\" class=\"link\">\r\n {{ ResetCacheTitle }}\r\n </button>\r\n <button *ngIf=\"authenticationService.DeTweeSnoekenRights()\" mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\r\n Settings\r\n </button>\r\n <button *ngIf=\"!authenticationService.ConfiguratorRights()\" mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\r\n Translate\r\n </button>\r\n <button *ngIf=\"authenticationService.ConfiguratorRights()\" mat-raised-button (click)=\"NavigateTo('configurator')\" class=\"link\" [disabled]=\"IsActive('/configurator')\">\r\n Configurator\r\n </button>\r\n <button *ngIf=\"authenticationService.AdministratorRights()\" mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\r\n Users\r\n </button>\r\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\r\n Uitloggen\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
44
44
|
}
|
|
45
45
|
export { BeheerNavComponent };
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BeheerNavComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'app-beheer-nav', encapsulation: ViewEncapsulation.None, template: "<div class=\"main-block\">\r\n <div class=\"row\">\r\n <div class=\"cell left-block\" *ngIf=\"authenticationService.DeTweeSnoekenRights()\">\r\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\r\n Zoeken\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\r\n Products\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\r\n Filters\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\r\n EBO Koppel\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\r\n Categories\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('deeplink')\" class=\"link\" [disabled]=\"IsActive('/deeplink')\">\r\n Deeplink\r\n </button>\r\n </div>\r\n <div class=\"cell right-block\">\r\n <button mat-raised-button (click)=\"Home()\" class=\"link\">\r\n Home\r\n </button>\r\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\r\n {{ ResetCacheTitle }}\r\n </button>\r\n <button *ngIf=\"authenticationService.DeTweeSnoekenRights()\" mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\r\n Settings\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\r\n Translate\r\n </button>\r\n <button *ngIf=\"authenticationService.AdministratorRights()\" mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\r\n Users\r\n </button>\r\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\r\n Uitloggen\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"] }]
|
|
48
|
+
args: [{ selector: 'app-beheer-nav', encapsulation: ViewEncapsulation.None, template: "<div class=\"main-block\">\r\n <div class=\"row\">\r\n <div class=\"cell left-block\" *ngIf=\"authenticationService.DeTweeSnoekenRights()\">\r\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\r\n Zoeken\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\r\n Products\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\r\n Filters\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\r\n EBO Koppel\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\r\n Categories\r\n </button>\r\n <button mat-raised-button (click)=\"NavigateTo('deeplink')\" class=\"link\" [disabled]=\"IsActive('/deeplink')\">\r\n Deeplink\r\n </button>\r\n </div>\r\n <div class=\"cell right-block\">\r\n <button mat-raised-button (click)=\"Home()\" class=\"link\">\r\n Home\r\n </button>\r\n <button *ngIf=\"!authenticationService.ConfiguratorRights()\" mat-raised-button (click)=\"ResetCache()\" class=\"link\">\r\n {{ ResetCacheTitle }}\r\n </button>\r\n <button *ngIf=\"authenticationService.DeTweeSnoekenRights()\" mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\r\n Settings\r\n </button>\r\n <button *ngIf=\"!authenticationService.ConfiguratorRights()\" mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\r\n Translate\r\n </button>\r\n <button *ngIf=\"authenticationService.ConfiguratorRights()\" mat-raised-button (click)=\"NavigateTo('configurator')\" class=\"link\" [disabled]=\"IsActive('/configurator')\">\r\n Configurator\r\n </button>\r\n <button *ngIf=\"authenticationService.AdministratorRights()\" mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\r\n Users\r\n </button>\r\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\r\n Uitloggen\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-beheer-nav .main-block{width:100%;display:table}app-beheer-nav .main-block .left-block{text-align:left}app-beheer-nav .main-block .right-block{text-align:right}app-beheer-nav .main-block .row{display:table-row}app-beheer-nav .main-block .cell{display:table-cell}app-beheer-nav .main-block .link{margin:5px}body{background:url(/assets/bouwconnect-achtergrond.png) fixed}.full-width{width:100%}\n"] }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.AuthenticationService }, { type: i2.Router }, { type: i3.FabrikantenApiClient }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1uYXYvYmVoZWVyLW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1uYXYvYmVoZWVyLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBTXJFLE1BTWEsa0JBQWtCO0lBSVY7SUFBc0Q7SUFBd0I7SUFGMUYsZUFBZSxHQUFXLGFBQWEsQ0FBQztJQUUvQyxZQUFtQixxQkFBNEMsRUFBVSxNQUFjLEVBQVUsb0JBQTBDO1FBQXhILDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUUzSSxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVk7UUFDMUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRCxJQUFJLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQztZQUNyQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNyQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQzt1R0FwQ1Usa0JBQWtCOzJGQUFsQixrQkFBa0Isc0RDWi9CLHFtRkFrREE7O1NEdENhLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlbkFwaUNsaWVudCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1uYXYnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItbmF2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItbmF2LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIFJlc2V0Q2FjaGVUaXRsZTogc3RyaW5nID0gXCJSZXNldCBDYWNoZVwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgRmFicmlrYW50ZW5BcGlDbGllbnQ6IEZhYnJpa2FudGVuQXBpQ2xpZW50KSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9nT2ZmKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvYmVoZWVyL2lubG9nZ2VuJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmF2aWdhdGVUbyhuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9iZWhlZXIvJyArIG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIElzQWN0aXZlKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihuYW1lLnRvTG93ZXJDYXNlKCkpICE9IC0xO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlc2V0Q2FjaGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLlJlc2V0Q2FjaGVUaXRsZSA9IFwiLi4uXCI7XHJcbiAgICB0aGlzLkZhYnJpa2FudGVuQXBpQ2xpZW50LnJlc2V0Q2FjaGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLlJlc2V0Q2FjaGVUaXRsZSA9IFwiUmVzZXQgQ2FjaGVcIjtcclxuICAgICAgYWxlcnQoJ2NhY2hlIHJlc2V0IHN1Y2Nlc3MnKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSG9tZSgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vcGVuKCcvJywgJ19ibGFuaycpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1ibG9ja1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjZWxsIGxlZnQtYmxvY2tcIiAqbmdJZj1cImF1dGhlbnRpY2F0aW9uU2VydmljZS5EZVR3ZWVTbm9la2VuUmlnaHRzKClcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmF2aWdhdGVUbygnc2VhcmNocHJvZHVjdHMnKVwiIGNsYXNzPVwibGlua1wiIFtkaXNhYmxlZF09XCJJc0FjdGl2ZSgnL3NlYXJjaHByb2R1Y3RzJylcIj5cclxuICAgICAgICBab2VrZW5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk5hdmlnYXRlVG8oJ2ltcG9ydHNldHMnKVwiIGNsYXNzPVwibGlua1wiIFtkaXNhYmxlZF09XCJJc0FjdGl2ZSgnL2ltcG9ydHNldHMnKVwiPlxyXG4gICAgICAgIEltcG9ydFxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmF2aWdhdGVUbygncHJvZHVjdHMnKVwiIGNsYXNzPVwibGlua1wiIFtkaXNhYmxlZF09XCJJc0FjdGl2ZSgnL3Byb2R1Y3RzJylcIj5cclxuICAgICAgICBQcm9kdWN0c1xyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmF2aWdhdGVUbygnZmlsdGVycycpXCIgY2xhc3M9XCJsaW5rXCIgW2Rpc2FibGVkXT1cIklzQWN0aXZlKCcvZmlsdGVycycpXCI+XHJcbiAgICAgICAgRmlsdGVyc1xyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmF2aWdhdGVUbygnZWJva29wcGVsJylcIiBjbGFzcz1cImxpbmtcIiBbZGlzYWJsZWRdPVwiSXNBY3RpdmUoJy9lYm9rb3BwZWwnKVwiPlxyXG4gICAgICAgIEVCTyBLb3BwZWxcclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk5hdmlnYXRlVG8oJ2NhdGVnb3JpZXMnKVwiIGNsYXNzPVwibGlua1wiIFtkaXNhYmxlZF09XCJJc0FjdGl2ZSgnL2NhdGVnb3JpZXMnKVwiPlxyXG4gICAgICAgIENhdGVnb3JpZXNcclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk5hdmlnYXRlVG8oJ2RlZXBsaW5rJylcIiBjbGFzcz1cImxpbmtcIiBbZGlzYWJsZWRdPVwiSXNBY3RpdmUoJy9kZWVwbGluaycpXCI+XHJcbiAgICAgICAgRGVlcGxpbmtcclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjZWxsIHJpZ2h0LWJsb2NrXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkhvbWUoKVwiIGNsYXNzPVwibGlua1wiPlxyXG4gICAgICAgIEhvbWVcclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCIhYXV0aGVudGljYXRpb25TZXJ2aWNlLkNvbmZpZ3VyYXRvclJpZ2h0cygpXCIgbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlc2V0Q2FjaGUoKVwiIGNsYXNzPVwibGlua1wiPlxyXG4gICAgICAgIHt7IFJlc2V0Q2FjaGVUaXRsZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImF1dGhlbnRpY2F0aW9uU2VydmljZS5EZVR3ZWVTbm9la2VuUmlnaHRzKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmF2aWdhdGVUbygnc2V0dGluZ3MnKVwiIGNsYXNzPVwibGlua1wiIFtkaXNhYmxlZF09XCJJc0FjdGl2ZSgnL3NldHRpbmdzJylcIj5cclxuICAgICAgICBTZXR0aW5nc1xyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFhdXRoZW50aWNhdGlvblNlcnZpY2UuQ29uZmlndXJhdG9yUmlnaHRzKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmF2aWdhdGVUbygndHJhbnNsYXRlJylcIiBjbGFzcz1cImxpbmtcIiBbZGlzYWJsZWRdPVwiSXNBY3RpdmUoJy90cmFuc2xhdGUnKVwiPlxyXG4gICAgICAgIFRyYW5zbGF0ZVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImF1dGhlbnRpY2F0aW9uU2VydmljZS5Db25maWd1cmF0b3JSaWdodHMoKVwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOYXZpZ2F0ZVRvKCdjb25maWd1cmF0b3InKVwiIGNsYXNzPVwibGlua1wiIFtkaXNhYmxlZF09XCJJc0FjdGl2ZSgnL2NvbmZpZ3VyYXRvcicpXCI+XHJcbiAgICAgICAgQ29uZmlndXJhdG9yXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiYXV0aGVudGljYXRpb25TZXJ2aWNlLkFkbWluaXN0cmF0b3JSaWdodHMoKVwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOYXZpZ2F0ZVRvKCd1c2VycycpXCIgY2xhc3M9XCJsaW5rXCIgW2Rpc2FibGVkXT1cIklzQWN0aXZlKCcvdXNlcnMnKVwiPlxyXG4gICAgICAgIFVzZXJzXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJMb2dPZmYoKVwiIGNsYXNzPVwibGlua1wiPlxyXG4gICAgICAgIFVpdGxvZ2dlblxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|