fabrikantencore 2.9.6 → 2.9.8
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/public_api.mjs +2 -2
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.mjs +16 -11
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +1 -1
- package/esm2022/src/app/modules/fabrikantencore/components/fab-form/fab-form.component.mjs +7 -5
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter/fab-filter.component.mjs +137 -0
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-autocomplete/fab-filter-autocomplete.component.mjs +95 -0
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-autocomplete-fold/fab-filter-autocomplete-fold.component.mjs +95 -0
- package/esm2022/src/app/modules/fabrikantencore/components/{fab-filter-colour → inputs/fab-filter-colour}/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +3 -3
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-colour/fab-filter-colour.component.mjs +64 -0
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-colour-label/fab-filter-colour-label.component.mjs +64 -0
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-custom/fab-filter-custom.component.mjs +45 -0
- package/esm2022/src/app/modules/fabrikantencore/components/{fab-filter-custom-base → inputs/fab-filter-custom-base}/fab-filter-custom-base.component.mjs +1 -1
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-filter-display-value/fab-filter-display-value.component.mjs +58 -0
- package/esm2022/src/app/modules/fabrikantencore/components/{fab-filter-fold → inputs/fab-filter-fold}/fab-filter-fold.component.mjs +4 -4
- package/esm2022/src/app/modules/fabrikantencore/components/{fab-filter-label → inputs/fab-filter-label}/fab-filter-label.component.mjs +4 -4
- package/esm2022/src/app/modules/fabrikantencore/components/{fab-filter-picture-select → inputs/fab-filter-picture-select}/fab-filter-picture-select.component.mjs +5 -5
- package/esm2022/src/app/modules/fabrikantencore/components/inputs/fab-input/fab-input.component.mjs +37 -0
- package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +20 -14
- package/esm2022/src/app/modules/fabrikantencore/services/template-component.service.mjs +1 -1
- package/esm2022/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +3 -1
- package/fesm2022/fabrikantencore.mjs +228 -49
- package/fesm2022/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-rangeinput/beheer-rangeinput.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/{fab-filter → inputs/fab-filter}/fab-filter.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/inputs/fab-filter-autocomplete/fab-filter-autocomplete.component.d.ts +24 -0
- package/src/app/modules/fabrikantencore/components/inputs/fab-filter-autocomplete-fold/fab-filter-autocomplete-fold.component.d.ts +29 -0
- package/src/app/modules/fabrikantencore/components/{fab-filter-colour → inputs/fab-filter-colour}/fab-filter-colour-dialog/fab-filter-colour-dialog.component.d.ts +2 -2
- package/src/app/modules/fabrikantencore/components/{fab-filter-colour → inputs/fab-filter-colour}/fab-filter-colour.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/{fab-filter-colour-label → inputs/fab-filter-colour-label}/fab-filter-colour-label.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/{fab-filter-custom → inputs/fab-filter-custom}/fab-filter-custom.component.d.ts +2 -2
- package/src/app/modules/fabrikantencore/components/{fab-filter-display-value → inputs/fab-filter-display-value}/fab-filter-display-value.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/{fab-filter-fold → inputs/fab-filter-fold}/fab-filter-fold.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/{fab-filter-label → inputs/fab-filter-label}/fab-filter-label.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/{fab-filter-picture-select → inputs/fab-filter-picture-select}/fab-filter-picture-select.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/components/{fab-input → inputs/fab-input}/fab-input.component.d.ts +1 -1
- package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +42 -40
- package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +3 -1
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +0 -137
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +0 -64
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +0 -64
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-custom/fab-filter-custom.component.mjs +0 -45
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-display-value/fab-filter-display-value.component.mjs +0 -58
- package/esm2022/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.mjs +0 -35
- /package/src/app/modules/fabrikantencore/components/{fab-filter-custom-base → inputs/fab-filter-custom-base}/fab-filter-custom-base.component.d.ts +0 -0
package/esm2022/public_api.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './src/app/modules/fabrikantencore/fabrikantencore.module';
|
|
2
2
|
export * from './src/app/modules/fabrikantencore/swagger/SwaggerClient';
|
|
3
3
|
export * from './src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component';
|
|
4
|
-
export * from './src/app/modules/fabrikantencore/components/fab-filter-custom/fab-filter-custom.component';
|
|
4
|
+
export * from './src/app/modules/fabrikantencore/components/inputs/fab-filter-custom/fab-filter-custom.component';
|
|
5
5
|
export * from './src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component';
|
|
6
6
|
export * from './src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component';
|
|
7
7
|
export * from './src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component';
|
|
@@ -19,4 +19,4 @@ export * from './src/app/modules/fabrikantencore/services/translate.service';
|
|
|
19
19
|
export * from './src/app/modules/fabrikantencore/services/webgl.service';
|
|
20
20
|
export * from './src/app/modules/fabrikantencore/services/svg.service';
|
|
21
21
|
export * from './src/app/modules/fabrikantencore/services/template-component.service';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsZ0ZBQWdGLENBQUE7QUFDOUYsY0FBYyxtR0FBbUcsQ0FBQTtBQUNqSCxjQUFjLHNHQUFzRyxDQUFBO0FBQ3BILGNBQWMsNEZBQTRGLENBQUE7QUFDMUcsY0FBYyxzRkFBc0YsQ0FBQTtBQUNwRyxjQUFjLDBGQUEwRixDQUFBO0FBQ3hHLGNBQWMsc0ZBQXNGLENBQUE7QUFDcEcsY0FBYywwR0FBMEcsQ0FBQTtBQUN4SCxjQUFjLDhFQUE4RSxDQUFBO0FBQzVGLGNBQWMsb0dBQW9HLENBQUE7QUFDbEgsY0FBYywwRkFBMEYsQ0FBQTtBQUN4RyxjQUFjLDBFQUEwRSxDQUFBO0FBRXhGLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyxnRUFBZ0UsQ0FBQTtBQUM5RSxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsOERBQThELENBQUE7QUFDNUUsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHdEQUF3RCxDQUFBO0FBQ3RFLGNBQWMsdUVBQXVFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvZmFicmlrYW50ZW5jb3JlLm1vZHVsZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3N3YWdnZXIvU3dhZ2dlckNsaWVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWZpbHRlcnMvZmFiLWZpbHRlcnMuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jdXN0b20vZmFiLWZpbHRlci1jdXN0b20uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItY2F0ZWdvcnktbmF2aWdhdG9yL2ZhYi1jYXRlZ29yeS1uYXZpZ2F0b3IuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVycy1pbnB1dC9mYWItZmlsdGVycy1pbnB1dC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1hY3Rpb25tZW51L2ZhYi1hY3Rpb25tZW51LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLXdlYmdsLXZpZXdlci9mYWItd2ViZ2wtdmlld2VyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLXN2Zy12aWV3ZXIvZmFiLXN2Zy12aWV3ZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItcHJvZHVjdC9mYWItcHJvZHVjdC1iZXN0ZWsvZmFiLXByb2R1Y3QtYmVzdGVrLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWxvYWRlci9mYWItbG9hZGVyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLXNlbGVjdC1iY2Jwcm9kdWN0L2ZhYi1zZWxlY3QtYmNicHJvZHVjdC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1kb3dubG9hZC16aXAvZmFiLWRvd25sb2FkLXppcC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9zZXJ2aWNlcy9tb2JpbGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL2ZhYnJpa2FudGVuLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9zZXJ2aWNlcy9iZXN0ZWsuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvc2VydmljZXMvd2ViZ2wuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL3N2Zy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvc2VydmljZXMvdGVtcGxhdGUtY29tcG9uZW50LnNlcnZpY2UnXHJcbiJdfQ==
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { SetFilterOptionRequiredRequest } from '../../../swagger/SwaggerClient';
|
|
2
|
+
import { LoginResponseModel, SetFilterOptionRequiredRequest } from '../../../swagger/SwaggerClient';
|
|
3
3
|
import { BeheerSelectFilteroptionDialogComponent } from '../beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../../swagger/SwaggerClient";
|
|
6
6
|
import * as i2 from "@angular/material/legacy-dialog";
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "@angular/
|
|
9
|
-
import * as i5 from "@angular/material/legacy-
|
|
10
|
-
import * as i6 from "@angular/
|
|
11
|
-
import * as i7 from "@angular/
|
|
7
|
+
import * as i3 from "../../../services/authentication.service";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@angular/material/legacy-form-field";
|
|
10
|
+
import * as i6 from "@angular/material/legacy-input";
|
|
11
|
+
import * as i7 from "@angular/forms";
|
|
12
|
+
import * as i8 from "@angular/material/legacy-button";
|
|
12
13
|
class BeheerRangeinputComponent {
|
|
13
14
|
FiltersApiClient;
|
|
14
15
|
dialog;
|
|
16
|
+
authenticationService;
|
|
15
17
|
ChangeDetectorRef;
|
|
16
18
|
rangeinput;
|
|
17
19
|
reload = new EventEmitter();
|
|
18
|
-
constructor(FiltersApiClient, dialog, ChangeDetectorRef) {
|
|
20
|
+
constructor(FiltersApiClient, dialog, authenticationService, ChangeDetectorRef) {
|
|
19
21
|
this.FiltersApiClient = FiltersApiClient;
|
|
20
22
|
this.dialog = dialog;
|
|
23
|
+
this.authenticationService = authenticationService;
|
|
21
24
|
this.ChangeDetectorRef = ChangeDetectorRef;
|
|
22
25
|
}
|
|
23
26
|
RequireRangeInputFilterOption() {
|
|
@@ -28,6 +31,7 @@ class BeheerRangeinputComponent {
|
|
|
28
31
|
if (confirm("Weet je het zeker?")) {
|
|
29
32
|
this.ChangeDetectorRef.detectChanges();
|
|
30
33
|
var request = new SetFilterOptionRequiredRequest();
|
|
34
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
31
35
|
request.filterId = 0;
|
|
32
36
|
request.rangeInputId = this.rangeinput.id;
|
|
33
37
|
request.filterOptionId = result.filteroption;
|
|
@@ -50,6 +54,7 @@ class BeheerRangeinputComponent {
|
|
|
50
54
|
if (confirm("Weet je het zeker?")) {
|
|
51
55
|
this.ChangeDetectorRef.detectChanges();
|
|
52
56
|
var request = new SetFilterOptionRequiredRequest();
|
|
57
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
53
58
|
request.filterId = 0;
|
|
54
59
|
request.rangeInputId = require.affectedRangeInputId;
|
|
55
60
|
request.filterOptionId = require.requiredFilterOptionId;
|
|
@@ -72,16 +77,16 @@ class BeheerRangeinputComponent {
|
|
|
72
77
|
alert('An unexpected error occured');
|
|
73
78
|
});
|
|
74
79
|
}
|
|
75
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerRangeinputComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.MatLegacyDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: BeheerRangeinputComponent, selector: "app-beheer-rangeinput", inputs: { rangeinput: "rangeinput" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"rangeinput.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireRangeInputFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of rangeinput.requiresRangeInputFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireRangeInputFilterOption(option)\">Remove</button>\r\n </div>\r\n</div>\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"], dependencies: [{ kind: "directive", type:
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerRangeinputComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.MatLegacyDialog }, { token: i3.AuthenticationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: BeheerRangeinputComponent, selector: "app-beheer-rangeinput", inputs: { rangeinput: "rangeinput" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"rangeinput.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireRangeInputFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of rangeinput.requiresRangeInputFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireRangeInputFilterOption(option)\">Remove</button>\r\n </div>\r\n</div>\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] });
|
|
77
82
|
}
|
|
78
83
|
export { BeheerRangeinputComponent };
|
|
79
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BeheerRangeinputComponent, decorators: [{
|
|
80
85
|
type: Component,
|
|
81
86
|
args: [{ selector: 'app-beheer-rangeinput', template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"rangeinput.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireRangeInputFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of rangeinput.requiresRangeInputFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireRangeInputFilterOption(option)\">Remove</button>\r\n </div>\r\n</div>\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}\n"] }]
|
|
82
|
-
}], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.MatLegacyDialog }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { rangeinput: [{
|
|
87
|
+
}], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.MatLegacyDialog }, { type: i3.AuthenticationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { rangeinput: [{
|
|
83
88
|
type: Input
|
|
84
89
|
}], reload: [{
|
|
85
90
|
type: Output
|
|
86
91
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcmFuZ2VpbnB1dC9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1yYW5nZWlucHV0L2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBa0YsOEJBQThCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoSyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQzs7Ozs7Ozs7O0FBRTNJLE1BS2EseUJBQXlCO0lBS2hCO0lBQ1g7SUFDQztJQU5ELFVBQVUsQ0FBc0I7SUFFL0IsTUFBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhFLFlBQW9CLGdCQUFrQyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFGMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRTVDLDZCQUE2QjtRQUNsQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBRTFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNoRCxJQUFJLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25ELElBQUksTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUU7b0JBQzNCLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7d0JBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFFdkMsSUFBSSxPQUFPLEdBQUcsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO3dCQUVuRCxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzt3QkFDckIsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3QkFDMUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO3dCQUU3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTs0QkFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7NEJBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO2dDQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lDQUN2QjtnQ0FDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0NBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7NkJBQ3BCO3dCQUNILENBQUMsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQ0FBbUMsQ0FBQyxPQUFnRDtRQUN6RixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUV2QyxJQUFJLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUM7WUFFbkQsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDckIsT0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUM7WUFDcEQsT0FBTyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7WUFFeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO29CQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3FCQUN2QjtvQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7b0JBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDcEIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXZFVSx5QkFBeUI7MkZBQXpCLHlCQUF5QixrSUNWdEMsdS9CQXdCQTs7U0RkYSx5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUI7cUtBS3hCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgRmlsdGVyc0FwaUNsaWVudCwgUmFuZ2VJbnB1dEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBSYW5nZUlucHV0Vmlld01vZGVsLCBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcmFuZ2VpbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJSYW5nZWlucHV0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSByYW5nZWlucHV0OiBSYW5nZUlucHV0Vmlld01vZGVsO1xyXG5cclxuICBAT3V0cHV0KCkgcmVsb2FkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgcHVibGljIFJlcXVpcmVSYW5nZUlucHV0RmlsdGVyT3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHRoaXMucmFuZ2VpbnB1dCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlcklkID0gMDtcclxuICAgICAgICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSB0aGlzLnJhbmdlaW5wdXQuaWQ7XHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXN1bHQuZmlsdGVyb3B0aW9uO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZW1vdmVSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbihyZXF1aXJlOiBSYW5nZUlucHV0RmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IDA7XHJcbiAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gcmVxdWlyZS5hZmZlY3RlZFJhbmdlSW5wdXRJZDtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlcXVpcmUucmVxdWlyZWRGaWx0ZXJPcHRpb25JZDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZVJhbmdlSW5wdXRWaWV3TW9kZWwodGhpcy5yYW5nZWlucHV0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXhhdXRvXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJhbmdlaW5wdXQubmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2F2ZS1kaXZcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgUmVxdWlyZXNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZVJhbmdlSW5wdXRGaWx0ZXJPcHRpb24oKVwiPkZpbHRlck9wdGlvbjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmFuZ2VpbnB1dC5yZXF1aXJlc1JhbmdlSW5wdXRGaWx0ZXJPcHRpb25zXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIiBbbmdDbGFzc109XCJ7ICdBTkQnOiBvcHRpb24uZmlsdGVyT3B0aW9uUmVxdWlyZWRUeXBlID09IDAsICdPUic6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMSB9XCI+XHJcbiAgICB7eyBvcHRpb24ucmVxdWlyZWRGaWx0ZXJOYW1lIH19OiB7eyBvcHRpb24ucmVxdWlyZWRGaWx0ZXJPcHRpb25OYW1lIH19XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcmFuZ2VpbnB1dC9iZWhlZXItcmFuZ2VpbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1yYW5nZWlucHV0L2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBb0Isa0JBQWtCLEVBQWdFLDhCQUE4QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEwsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7Ozs7Ozs7Ozs7QUFFM0ksTUFLYSx5QkFBeUI7SUFLaEI7SUFDWDtJQUNDO0lBQ0E7SUFQRCxVQUFVLENBQXNCO0lBRS9CLE1BQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVoRSxZQUFvQixnQkFBa0MsRUFDN0MsTUFBaUIsRUFDaEIscUJBQTRDLEVBQzVDLGlCQUFvQztRQUgxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzdDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUU1Qyw2QkFBNkI7UUFDbEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUNBQXVDLENB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Q0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNwQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBM0VVLHlCQUF5QjsyRkFBekIseUJBQXlCLGtJQ1h0Qyx1L0JBd0JBOztTRGJhLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1Qjt5TUFLeEIsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nIGFzIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyc0FwaUNsaWVudCwgTG9naW5SZXNwb25zZU1vZGVsLCBSYW5nZUlucHV0RmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIFJhbmdlSW5wdXRWaWV3TW9kZWwsIFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1yYW5nZWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1yYW5nZWlucHV0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclJhbmdlaW5wdXRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHJhbmdlaW5wdXQ6IFJhbmdlSW5wdXRWaWV3TW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBGaWx0ZXJzQXBpQ2xpZW50OiBGaWx0ZXJzQXBpQ2xpZW50LFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgcHVibGljIFJlcXVpcmVSYW5nZUlucHV0RmlsdGVyT3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHRoaXMucmFuZ2VpbnB1dCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcbiAgICAgICAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSAwO1xyXG4gICAgICAgICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IHRoaXMucmFuZ2VpbnB1dC5pZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2V0RmlsdGVyT3B0aW9uUmVxdWlyZWQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZVJlcXVpcmVSYW5nZUlucHV0RmlsdGVyT3B0aW9uKHJlcXVpcmU6IFJhbmdlSW5wdXRGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgICByZXF1ZXN0LmZpbHRlcklkID0gMDtcclxuICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSByZXF1aXJlLmFmZmVjdGVkUmFuZ2VJbnB1dElkO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVxdWlyZS5yZXF1aXJlZEZpbHRlck9wdGlvbklkO1xyXG5cclxuICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlUmFuZ2VJbnB1dFZpZXdNb2RlbCh0aGlzLnJhbmdlaW5wdXQpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPk5hbWU8L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwicmFuZ2VpbnB1dC5uYW1lXCI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzYXZlLWRpdlwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdj5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICBSZXF1aXJlc1xyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlUmFuZ2VJbnB1dEZpbHRlck9wdGlvbigpXCI+RmlsdGVyT3B0aW9uPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiByYW5nZWlucHV0LnJlcXVpcmVzUmFuZ2VJbnB1dEZpbHRlck9wdGlvbnNcIiBjbGFzcz1cInJlcXVpcmVkLW9wdGlvblwiIFtuZ0NsYXNzXT1cInsgJ0FORCc6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMCwgJ09SJzogb3B0aW9uLmZpbHRlck9wdGlvblJlcXVpcmVkVHlwZSA9PSAxIH1cIj5cclxuICAgIHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck9wdGlvbk5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZVJlcXVpcmVSYW5nZUlucHV0RmlsdGVyT3B0aW9uKG9wdGlvbilcIj5SZW1vdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -6,7 +6,7 @@ import * as i2 from "../../services/translate.service";
|
|
|
6
6
|
import * as i3 from "@angular/common";
|
|
7
7
|
import * as i4 from "@angular/material/icon";
|
|
8
8
|
import * as i5 from "@angular/material/stepper";
|
|
9
|
-
import * as i6 from "../fab-input/fab-input.component";
|
|
9
|
+
import * as i6 from "../inputs/fab-input/fab-input.component";
|
|
10
10
|
import * as i7 from "../fab-input-code/fab-input-code.component";
|
|
11
11
|
class FabFiltersInputComponent {
|
|
12
12
|
FabrikantenService;
|
|
@@ -89,14 +89,16 @@ class FabFormComponent {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
|
-
alert('form invalid');
|
|
93
92
|
Object.keys(this.FormGroup.controls).forEach(key => {
|
|
94
93
|
var temp = this.FormGroup.get(key);
|
|
95
94
|
if (temp != undefined) {
|
|
96
95
|
const controlErrors = temp.errors;
|
|
97
96
|
if (controlErrors != null) {
|
|
98
97
|
Object.keys(controlErrors).forEach(keyError => {
|
|
99
|
-
|
|
98
|
+
if (keyError == "required") {
|
|
99
|
+
alert(key + ' is required');
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
100
102
|
});
|
|
101
103
|
}
|
|
102
104
|
}
|
|
@@ -107,15 +109,15 @@ class FabFormComponent {
|
|
|
107
109
|
this.completed.emit();
|
|
108
110
|
}
|
|
109
111
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FabrikantenApiClient }, { token: i3.FabrikantenService }, { token: i4.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFormComponent, selector: "app-fab-form", inputs: { form: "form" }, outputs: { completed: "completed" }, ngImport: i0, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ input.name }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"option.id\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ option.name }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3\">\n <mat-checkbox class=\"form-cat-input-checkbox\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFormComponent, selector: "app-fab-form", inputs: { form: "form" }, outputs: { completed: "completed" }, ngImport: i0, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ input.name }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"option.id\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ option.name }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3\">\n <mat-checkbox class=\"form-cat-input-checkbox\" formControlName=\"{{ input.name }}\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.MatLegacyError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
111
113
|
}
|
|
112
114
|
export { FabFormComponent };
|
|
113
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFormComponent, decorators: [{
|
|
114
116
|
type: Component,
|
|
115
|
-
args: [{ selector: 'app-fab-form', encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ input.name }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"option.id\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ option.name }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3\">\n <mat-checkbox class=\"form-cat-input-checkbox\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"] }]
|
|
117
|
+
args: [{ selector: 'app-fab-form', encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"FormGroup\">\n <ng-container *ngFor=\"let cat of form.formCategories\">\n <div class=\"form-cat-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Category, cat.id) }}\n </div>\n <ng-container *ngFor=\"let row of cat.rows\">\n <div class=\"form-cat-inputs displayflex\">\n <div class=\"form-cat-input\" *ngFor=\"let input of row.inputs\">\n <ng-container *ngIf=\"input.formInputType == 1 || input.formInputType == 6\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-input\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <input matInput type=\"text\" formControlName=\"{{ input.name }}\">\n <mat-error></mat-error>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 2\">\n <mat-form-field appearance=\"fill\" class=\"full-width form-cat-input-select\">\n <mat-label class=\"select-mat-label filter-name\">\n {{ input.name }}\n </mat-label>\n <mat-select formControlName=\"{{ input.name }}\">\n <ng-container *ngFor=\"let option of input.options\">\n <mat-option [value]=\"option.id\" class=\"select-mat-option\">\n <span class=\"name-span\">\n {{ option.name }}\n </span>\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 3\">\n <mat-checkbox class=\"form-cat-input-checkbox\" formControlName=\"{{ input.name }}\">\n <span [innerHTML]=\"TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id)\"></span>\n </mat-checkbox>\n </ng-container>\n\n <ng-container *ngIf=\"input.formInputType == 5\">\n <mat-form-field class=\"full-width form-cat-input-textarea\">\n <mat-label>\n {{ TranslateService.GetActiveValue(TranslationCategory.Forms, TranslationSubCategory.Input, input.id) }}\n </mat-label>\n <textarea matInput formControlName=\"{{ input.name }}\" style=\"height: 100px;\"></textarea>\n </mat-form-field>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"form-button-row\">\n <button mat-raised-button (click)=\"Close()\" class=\"form-cat-close form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\n </button>\n <button mat-raised-button (click)=\"OnSubmit()\" class=\"form-cat-submit form-button-row-button\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Send) }}\n </button>\n </div>\n</form>\n", styles: ["app-fab-form .mat-form-field-wrapper{padding-bottom:0}app-fab-form .mat-form-field-underline{bottom:0}app-fab-form .displayflex{display:flex}app-fab-form .form-cat-name{border-bottom:1px solid #000;font-size:20px;padding:5px}app-fab-form .form-cat-input{padding:3px;width:100%}app-fab-form .form-button-row{text-align:right}app-fab-form .form-button-row-button{margin:5px}app-fab-form .full-width{width:100%}\n"] }]
|
|
116
118
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.FabrikantenApiClient }, { type: i3.FabrikantenService }, { type: i4.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { form: [{
|
|
117
119
|
type: Input
|
|
118
120
|
}], completed: [{
|
|
119
121
|
type: Output
|
|
120
122
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZm9ybS9mYWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQXlELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBNEIsYUFBYSxFQUF3Qix5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBSXBMLE1BTWEsZ0JBQWdCO0lBaUVqQjtJQUNBO0lBQ0E7SUFDRDtJQUNDO0lBbkVWLEtBQUssQ0FBMkI7SUFDaEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxLQUErQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXBDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFB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QUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO3VHQS9HVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixtSENaN0IsMmlHQStEQTs7U0RuRGEsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJO3FPQVN4QixJQUFJO3NCQUFoQixLQUFLO2dCQTRDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCwgRm9ybUlucHV0VHlwZSwgRmFicmlrYW50ZW5BcGlDbGllbnQsIEZhYnJpa2FudGVuU2V0Rm9ybVJlcXVlc3QsIFRyYW5zbGF0aW9uQ2F0ZWdvcnksIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZvcm1Db21wb25lbnQge1xuXG4gIF9mb3JtOiBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWw7XHJcbiAgZ2V0IGZvcm0oKTogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsdWU6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5fZm9ybSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSlcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybS5mb3JtQ2F0ZWdvcmllcztcblxuICAgIGlmIChjYXRzICE9IG51bGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2F0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcm93cyA9IGNhdHNbaV0ucm93cztcclxuXHJcbiAgICAgICAgaWYgKHJvd3MgIT0gbnVsbCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCByb3dzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIHZhciBpbnB1dHMgPSByb3dzW2pdLmlucHV0cztcclxuXHJcbiAgICAgICAgICAgIGlmIChpbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgaW5wdXRzLmxlbmd0aDsgcCsrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIFZhbGlkYXRvcnNBcnJheTogVmFsaWRhdG9yRm5bXSA9IG5ldyBBcnJheSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0ucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0c1twXS5mb3JtSW5wdXRUeXBlID09IEZvcm1JbnB1dFR5cGUuRHJvcGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtR3JvdXAuYWRkQ29udHJvbChpbnB1dHNbcF0ubmFtZSArIFwiXCIsIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChpbnB1dHNbcF0uc2VsZWN0ZWRPcHRpb24/LmlkLCBWYWxpZGF0b3JzQXJyYXkpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLkZvcm1Hcm91cC5hZGRDb250cm9sKGlucHV0c1twXS5uYW1lICsgXCJcIiwgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKGlucHV0c1twXS52YWx1ZSwgVmFsaWRhdG9yc0FycmF5KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgYWxlcnQoJ2Vycm9yJyk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIEBPdXRwdXQoKSBjb21wbGV0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLy9AT3V0cHV0KCkgY2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5BcGlDbGllbnQ6IEZhYnJpa2FudGVuQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICBcbiAgfVxuXG4gIHB1YmxpYyBPblN1Ym1pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkZvcm1Hcm91cC52YWxpZCkge1xyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBGYWJyaWthbnRlblNldEZvcm1SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LnNlc3Npb25JZCA9IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlc3Npb25JZDtcclxuICAgICAgcmVxdWVzdC5mb3JtSWQgPSB0aGlzLmZvcm0uaWQ7XHJcblxyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuQXBpQ2xpZW50LnNldEZvcm0ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5SZWxvYWRNb2RlbCh0aGlzLkNoYW5nZURldGVjdG9yUmVmLCB1bmRlZmluZWQsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29tcGxldGVkLmVtaXQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGFsZXJ0KCdmb3JtIGludmFsaWQnKTtcclxuXHJcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuRm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgdmFyIHRlbXAgPSB0aGlzLkZvcm1Hcm91cC5nZXQoa2V5KTtcclxuXHJcbiAgICAgICAgaWYgKHRlbXAgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBjb25zdCBjb250cm9sRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gdGVtcC5lcnJvcnMgYXMgVmFsaWRhdGlvbkVycm9ycztcclxuICAgICAgICAgIGlmIChjb250cm9sRXJyb3JzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbEVycm9ycykuZm9yRWFjaChrZXlFcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0tleSBjb250cm9sOiAnICsga2V5ICsgJywga2V5RXJyb3I6ICcgKyBrZXlFcnJvciArICcsIGVyciB2YWx1ZTogJywgY29udHJvbEVycm9yc1trZXlFcnJvcl0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgpO1xyXG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiRm9ybUdyb3VwXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdCBvZiBmb3JtLmZvcm1DYXRlZ29yaWVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2F0LW5hbWVcIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5DYXRlZ29yeSwgY2F0LmlkKSB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYXQucm93c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2F0LWlucHV0cyBkaXNwbGF5ZmxleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2Ygcm93LmlucHV0c1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDEgfHwgaW5wdXQuZm9ybUlucHV0VHlwZSA9PSA2XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtaW5wdXRcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiPlxuICAgICAgICAgICAgICA8bWF0LWVycm9yPjwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDJcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInNlbGVjdC1tYXQtbGFiZWwgZmlsdGVyLW5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyBpbnB1dC5uYW1lIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGlucHV0Lm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb24uaWRcIiBjbGFzcz1cInNlbGVjdC1tYXQtb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZS1zcGFuXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gM1wiPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImZvcm0tY2F0LWlucHV0LWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZClcIj48L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDVcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtdGV4dGFyZWFcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIiBzdHlsZT1cImhlaWdodDogMTAwcHg7XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbi1yb3dcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDbG9zZSgpXCIgY2xhc3M9XCJmb3JtLWNhdC1jbG9zZSBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNsb3NlKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk9uU3VibWl0KClcIiBjbGFzcz1cImZvcm0tY2F0LXN1Ym1pdCBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNlbmQpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZm9ybS9mYWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQXlELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBNEIsYUFBYSxFQUF3Qix5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBSXBMLE1BTWEsZ0JBQWdCO0lBaUVqQjtJQUNBO0lBQ0E7SUFDRDtJQUNDO0lBbkVWLEtBQUssQ0FBMkI7SUFDaEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxLQUErQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXBDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFB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Z0JBQWdCOzJGQUFoQixnQkFBZ0IsbUhDWjdCLGdsR0ErREE7O1NEbkRhLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSTtxT0FTeEIsSUFBSTtzQkFBaEIsS0FBSztnQkE0Q0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWwsIEZvcm1JbnB1dFR5cGUsIEZhYnJpa2FudGVuQXBpQ2xpZW50LCBGYWJyaWthbnRlblNldEZvcm1SZXF1ZXN0LCBUcmFuc2xhdGlvbkNhdGVnb3J5LCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGYWJGb3JtQ29tcG9uZW50IHtcblxuICBfZm9ybTogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsO1xyXG4gIGdldCBmb3JtKCk6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbHVlOiBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWwpIHtcclxuICAgIHRoaXMuX2Zvcm0gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLkZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pXG4gICAgdmFyIGNhdHMgPSB0aGlzLmZvcm0uZm9ybUNhdGVnb3JpZXM7XG5cbiAgICBpZiAoY2F0cyAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJvd3MgPSBjYXRzW2ldLnJvd3M7XHJcblxyXG4gICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICB2YXIgaW5wdXRzID0gcm93c1tqXS5pbnB1dHM7XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGlucHV0cy5sZW5ndGg7IHArKykge1xyXG5cclxuICAgICAgICAgICAgICAgIHZhciBWYWxpZGF0b3JzQXJyYXk6IFZhbGlkYXRvckZuW10gPSBuZXcgQXJyYXkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRzW3BdLmZvcm1JbnB1dFR5cGUgPT0gRm9ybUlucHV0VHlwZS5FbWFpbCkge1xyXG4gICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLmVtYWlsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRzW3BdLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woaW5wdXRzW3BdLm5hbWUgKyBcIlwiLCB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woaW5wdXRzW3BdLnNlbGVjdGVkT3B0aW9uPy5pZCwgVmFsaWRhdG9yc0FycmF5KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtR3JvdXAuYWRkQ29udHJvbChpbnB1dHNbcF0ubmFtZSArIFwiXCIsIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChpbnB1dHNbcF0udmFsdWUsIFZhbGlkYXRvcnNBcnJheSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGFsZXJ0KCdlcnJvcicpO1xyXG4gICAgfVxyXG4gIH1cblxuICBAT3V0cHV0KCkgY29tcGxldGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8vQE91dHB1dCgpIGNhbmNlbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuQXBpQ2xpZW50OiBGYWJyaWthbnRlbkFwaUNsaWVudCxcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgXG4gIH1cblxuICBwdWJsaWMgT25TdWJtaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5Gb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgRmFicmlrYW50ZW5TZXRGb3JtUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5zZXNzaW9uSWQgPSB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZXNzaW9uSWQ7XHJcbiAgICAgIHJlcXVlc3QuZm9ybUlkID0gdGhpcy5mb3JtLmlkO1xyXG5cclxuICAgICAgdGhpcy5GYWJyaWthbnRlbkFwaUNsaWVudC5zZXRGb3JtKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuUmVsb2FkTW9kZWwodGhpcy5DaGFuZ2VEZXRlY3RvclJlZiwgdW5kZWZpbmVkLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLkZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIHZhciB0ZW1wID0gdGhpcy5Gb3JtR3JvdXAuZ2V0KGtleSk7XHJcblxyXG4gICAgICAgIGlmICh0ZW1wICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgY29udHJvbEVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IHRlbXAuZXJyb3JzIGFzIFZhbGlkYXRpb25FcnJvcnM7XHJcbiAgICAgICAgICBpZiAoY29udHJvbEVycm9ycyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpLmZvckVhY2goa2V5RXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChrZXlFcnJvciA9PSBcInJlcXVpcmVkXCIpIHtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KGtleSArICcgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KCk7XHJcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJGb3JtR3JvdXBcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0IG9mIGZvcm0uZm9ybUNhdGVnb3JpZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtbmFtZVwiPlxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNhdGVnb3J5LCBjYXQuaWQpIH19XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIGNhdC5yb3dzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXRzIGRpc3BsYXlmbGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhdC1pbnB1dFwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiByb3cuaW5wdXRzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gMSB8fCBpbnB1dC5mb3JtSW5wdXRUeXBlID09IDZcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC1pbnB1dFwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCI+XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3I+PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gMlwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoIGZvcm0tY2F0LWlucHV0LXNlbGVjdFwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VsZWN0LW1hdC1sYWJlbCBmaWx0ZXItbmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGlucHV0Lm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaW5wdXQub3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5pZFwiIGNsYXNzPVwic2VsZWN0LW1hdC1vcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lLXNwYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSAzXCI+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXQtY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpbnB1dC5uYW1lIH19XCI+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZClcIj48L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDVcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtdGV4dGFyZWFcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIiBzdHlsZT1cImhlaWdodDogMTAwcHg7XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbi1yb3dcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDbG9zZSgpXCIgY2xhc3M9XCJmb3JtLWNhdC1jbG9zZSBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNsb3NlKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk9uU3VibWl0KClcIiBjbGFzcz1cImZvcm0tY2F0LXN1Ym1pdCBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNlbmQpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { TranslationCategory, TranslationSubCategory } from '../../../swagger/SwaggerClient';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../services/fabrikanten.service";
|
|
5
|
+
import * as i2 from "../../../services/translate.service";
|
|
6
|
+
import * as i3 from "@angular/router";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/legacy-form-field";
|
|
9
|
+
import * as i6 from "@angular/forms";
|
|
10
|
+
import * as i7 from "@angular/material/icon";
|
|
11
|
+
import * as i8 from "@angular/material/legacy-select";
|
|
12
|
+
import * as i9 from "@angular/material/legacy-core";
|
|
13
|
+
class FabFilterComponent {
|
|
14
|
+
FabrikantenService;
|
|
15
|
+
TranslateService;
|
|
16
|
+
ActivatedRoute;
|
|
17
|
+
ChangeDetectorRef;
|
|
18
|
+
SelectedOptionId;
|
|
19
|
+
_filter;
|
|
20
|
+
get filter() {
|
|
21
|
+
return this._filter;
|
|
22
|
+
}
|
|
23
|
+
set filter(value) {
|
|
24
|
+
this._filter = value;
|
|
25
|
+
this.SelectedOptionId = this._filter.selectedOption;
|
|
26
|
+
if (this.SelectedOptionId == 0) {
|
|
27
|
+
var options = this._filter.options;
|
|
28
|
+
if (options != null && options.length == 1) {
|
|
29
|
+
this.SelectedOptionId = options[0].id;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
filterchanged = new EventEmitter();
|
|
34
|
+
get TranslationCategory() {
|
|
35
|
+
return TranslationCategory;
|
|
36
|
+
}
|
|
37
|
+
get TranslationSubCategory() {
|
|
38
|
+
return TranslationSubCategory;
|
|
39
|
+
}
|
|
40
|
+
constructor(FabrikantenService, TranslateService, ActivatedRoute, ChangeDetectorRef) {
|
|
41
|
+
this.FabrikantenService = FabrikantenService;
|
|
42
|
+
this.TranslateService = TranslateService;
|
|
43
|
+
this.ActivatedRoute = ActivatedRoute;
|
|
44
|
+
this.ChangeDetectorRef = ChangeDetectorRef;
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
}
|
|
48
|
+
SelectOption() {
|
|
49
|
+
this.FabrikantenService.SelectOption(this.filter.id, this.SelectedOptionId, this.ChangeDetectorRef, this.ActivatedRoute);
|
|
50
|
+
}
|
|
51
|
+
ResetSelection() {
|
|
52
|
+
this.FabrikantenService.ResetSelectionFilter(this.filter, this.ChangeDetectorRef);
|
|
53
|
+
}
|
|
54
|
+
IsDisabled() {
|
|
55
|
+
if (this.filter.selectedOption != 0) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
if (this.filter.options?.length == 1) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
ShowDescription() {
|
|
64
|
+
if (this._filter.description != null) {
|
|
65
|
+
if (this._filter.description.indexOf("#{Schuifgrendel met hangslot}") != -1) {
|
|
66
|
+
if (this._filter.options != null) {
|
|
67
|
+
for (var i = 0; i < this._filter.options.length; i++) {
|
|
68
|
+
if (this._filter.options[i].name?.toLocaleLowerCase() == "schuifgrendel met hangslot") {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
if (this._filter.description.indexOf("#{GetAllOptionsExceptFirstAndLast}") != -1) {
|
|
76
|
+
if (this._filter.options != null) {
|
|
77
|
+
if (this._filter.options.length < 2) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
GetDescription() {
|
|
87
|
+
var result = "";
|
|
88
|
+
if (this._filter.description != null) {
|
|
89
|
+
result = this._filter.description.replace("#{Schuifgrendel met hangslot}", "");
|
|
90
|
+
if (result.indexOf("#{GetAllOptionsExceptFirstAndLast}") != -1) {
|
|
91
|
+
result = this._filter.description.replace("#{GetAllOptionsExceptFirstAndLast}", this.GetAllOptionsExceptFirstAndLast());
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
GetSelectedOption() {
|
|
97
|
+
if (this._filter.options != null) {
|
|
98
|
+
if (this._filter.options.length == 1) {
|
|
99
|
+
return this._filter.options[0];
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
for (var i = 0; i < this._filter.options.length; i++) {
|
|
103
|
+
if (this._filter.selectedOption == this._filter.options[i].id) {
|
|
104
|
+
return this._filter.options[i];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
GetAllOptionsExceptFirstAndLast() {
|
|
112
|
+
var result = "";
|
|
113
|
+
if (this._filter.options != null) {
|
|
114
|
+
for (var i = 0; i < this._filter.options.length; i++) {
|
|
115
|
+
if (i != 0 && i != this._filter.options.length - 1) {
|
|
116
|
+
if (result != "") {
|
|
117
|
+
result += ",";
|
|
118
|
+
}
|
|
119
|
+
result += this._filter.options[i].name;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterComponent, deps: [{ token: i1.FabrikantenService }, { token: i2.TranslateService }, { token: i3.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFilterComponent, selector: "app-fab-filter", inputs: { filter: "filter" }, outputs: { filterchanged: "filterchanged" }, ngImport: i0, template: "<div class=\"row\" *ngIf=\"!filter.hidden\">\r\n <div class=\"select\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label filter-name\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\r\n <span *ngIf=\"filter.blocksProductSelect || filter.required\">*</span>\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <mat-option [value]=\"option.id\" class=\"select-mat-option\" *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n \r\n \r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <p *ngIf=\"ShowDescription()\" class=\"description-block\">{{ GetDescription() }}</p>\r\n </div>\r\n <div *ngIf=\"GetSelectedOption() != null && GetSelectedOption().colour != null && GetSelectedOption().colour != ''\">\r\n <div [ngStyle]=\"{'background-color': GetSelectedOption().colour}\" class=\"colour-preview-selected\">\r\n \r\n \r\n </div>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position clear\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n<div *ngFor=\"let description of filter.descriptions\" class=\"description-block\">\r\n {{ description.description }}\r\n</div>\r\n", styles: ["app-fab-filter .description-block{padding-bottom:15px;font-size:12px}app-fab-filter .row{display:flex}app-fab-filter .full-width{width:100%}app-fab-filter .icon-position{margin-top:14px}app-fab-filter .select{flex:auto}app-fab-filter .reset{cursor:pointer;font-size:26px}app-fab-filter .colour-preview-selected{padding:5px;margin-left:5px;margin-top:8px;border:1px solid #000}.mat-select-min-line:first-letter{text-transform:capitalize}.filter-name:first-letter{text-transform:capitalize}.colour-preview{padding:5px;border:1px solid #000;line-height:20px;margin:10px}.name-span{line-height:52px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}.mat-select-disabled .mat-select-arrow{display:none}.mat-select-panel-wrap{top:15px;position:relative}.mat-select-panel{max-width:100%!important}.filter-option-image{max-width:40px;max-height:40px}.filter-option-image-div{max-height:40px;padding-right:4px}\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: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
127
|
+
}
|
|
128
|
+
export { FabFilterComponent };
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterComponent, decorators: [{
|
|
130
|
+
type: Component,
|
|
131
|
+
args: [{ selector: 'app-fab-filter', encapsulation: ViewEncapsulation.None, template: "<div class=\"row\" *ngIf=\"!filter.hidden\">\r\n <div class=\"select\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label filter-name\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\r\n <span *ngIf=\"filter.blocksProductSelect || filter.required\">*</span>\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <mat-option [value]=\"option.id\" class=\"select-mat-option\" *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n \r\n \r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <p *ngIf=\"ShowDescription()\" class=\"description-block\">{{ GetDescription() }}</p>\r\n </div>\r\n <div *ngIf=\"GetSelectedOption() != null && GetSelectedOption().colour != null && GetSelectedOption().colour != ''\">\r\n <div [ngStyle]=\"{'background-color': GetSelectedOption().colour}\" class=\"colour-preview-selected\">\r\n \r\n \r\n </div>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position clear\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n<div *ngFor=\"let description of filter.descriptions\" class=\"description-block\">\r\n {{ description.description }}\r\n</div>\r\n", styles: ["app-fab-filter .description-block{padding-bottom:15px;font-size:12px}app-fab-filter .row{display:flex}app-fab-filter .full-width{width:100%}app-fab-filter .icon-position{margin-top:14px}app-fab-filter .select{flex:auto}app-fab-filter .reset{cursor:pointer;font-size:26px}app-fab-filter .colour-preview-selected{padding:5px;margin-left:5px;margin-top:8px;border:1px solid #000}.mat-select-min-line:first-letter{text-transform:capitalize}.filter-name:first-letter{text-transform:capitalize}.colour-preview{padding:5px;border:1px solid #000;line-height:20px;margin:10px}.name-span{line-height:52px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}.mat-select-disabled .mat-select-arrow{display:none}.mat-select-panel-wrap{top:15px;position:relative}.mat-select-panel{max-width:100%!important}.filter-option-image{max-width:40px;max-height:40px}.filter-option-image-div{max-height:40px;padding-right:4px}\n"] }]
|
|
132
|
+
}], ctorParameters: function () { return [{ type: i1.FabrikantenService }, { type: i2.TranslateService }, { type: i3.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], filterchanged: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}] } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXIvZmFiLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXIvZmFiLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlySCxPQUFPLEVBQWdFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBRTNKLE1BTWEsa0JBQWtCO0lBK0JuQjtJQUNEO0lBQ0E7SUFDQztJQWpDSCxnQkFBZ0IsQ0FBUztJQUVoQyxPQUFPLENBQTZCO0lBQ3BDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBYSxNQUFNLENBQUMsS0FBaUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsRUFBRTtZQUM5QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQzFDLElBQUksQ0FB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QUFDLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNsRCxJQUFJLE1BQU0sSUFBSSxFQUFFLEVBQUU7d0JBQ2hCLE1BQU0sSUFBSSxHQUFHLENBQUM7cUJBQ2Y7b0JBRUQsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztpQkFDeEM7YUFDRjtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt1R0F2SVUsa0JBQWtCOzJGQUFsQixrQkFBa0IsaUlDWi9CLHl1RUF5Q0E7O1NEN0JhLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJO3FNQVV4QixNQUFNO3NCQUFsQixLQUFLO2dCQVlJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5GaWx0ZXJPcHRpb25WaWV3TW9kZWwsIEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsLCBUcmFuc2xhdGlvbkNhdGVnb3J5LCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mYWItZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFiRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgU2VsZWN0ZWRPcHRpb25JZDogbnVtYmVyO1xyXG5cclxuICBfZmlsdGVyOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbDtcclxuICBnZXQgZmlsdGVyKCk6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgZmlsdGVyKHZhbHVlOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5fZmlsdGVyID0gdmFsdWU7XHJcbiAgICB0aGlzLlNlbGVjdGVkT3B0aW9uSWQgPSB0aGlzLl9maWx0ZXIuc2VsZWN0ZWRPcHRpb247XHJcblxyXG4gICAgaWYgKHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9PSAwKSB7XHJcbiAgICAgIHZhciBvcHRpb25zID0gdGhpcy5fZmlsdGVyLm9wdGlvbnM7XHJcbiAgICAgIGlmIChvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9IG9wdGlvbnNbMF0uaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBmaWx0ZXJjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGlvbkNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5KCkge1xyXG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgVHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBBY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdE9wdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlNlbGVjdE9wdGlvbih0aGlzLmZpbHRlci5pZCwgdGhpcy5TZWxlY3RlZE9wdGlvbklkLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmLCB0aGlzLkFjdGl2YXRlZFJvdXRlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXNldFNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlJlc2V0U2VsZWN0aW9uRmlsdGVyKHRoaXMuZmlsdGVyLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlci5zZWxlY3RlZE9wdGlvbiAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlci5vcHRpb25zPy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0Rlc2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlci5kZXNjcmlwdGlvbiAhPSBudWxsKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5fZmlsdGVyLmRlc2NyaXB0aW9uLmluZGV4T2YoXCIje1NjaHVpZmdyZW5kZWwgbWV0IGhhbmdzbG90fVwiKSAhPSAtMSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2ZpbHRlci5vcHRpb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9uc1tpXS5uYW1lPy50b0xvY2FsZUxvd2VyQ2FzZSgpID09IFwic2NodWlmZ3JlbmRlbCBtZXQgaGFuZ3Nsb3RcIikge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24uaW5kZXhPZihcIiN7R2V0QWxsT3B0aW9uc0V4Y2VwdEZpcnN0QW5kTGFzdH1cIikgIT0gLTEpIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlci5vcHRpb25zLmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XHJcbiAgICB2YXIgcmVzdWx0ID0gXCJcIjtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXN1bHQgPSB0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24ucmVwbGFjZShcIiN7U2NodWlmZ3JlbmRlbCBtZXQgaGFuZ3Nsb3R9XCIsIFwiXCIpO1xyXG5cclxuICAgICAgaWYgKHJlc3VsdC5pbmRleE9mKFwiI3tHZXRBbGxPcHRpb25zRXhjZXB0Rmlyc3RBbmRMYXN0fVwiKSAhPSAtMSkge1xyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5kZXNjcmlwdGlvbi5yZXBsYWNlKFwiI3tHZXRBbGxPcHRpb25zRXhjZXB0Rmlyc3RBbmRMYXN0fVwiLCB0aGlzLkdldEFsbE9wdGlvbnNFeGNlcHRGaXJzdEFuZExhc3QoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFNlbGVjdGVkT3B0aW9uKCk6IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLm9wdGlvbnNbMF07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9maWx0ZXIub3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlci5zZWxlY3RlZE9wdGlvbiA9PSB0aGlzLl9maWx0ZXIub3B0aW9uc1tpXS5pZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLm9wdGlvbnNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldEFsbE9wdGlvbnNFeGNlcHRGaXJzdEFuZExhc3QoKTogc3RyaW5nIHtcclxuICAgIHZhciByZXN1bHQgPSBcIlwiO1xyXG5cclxuICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoaSAhPSAwICYmIGkgIT0gdGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCAhPSBcIlwiKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIixcIjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXN1bHQgKz0gdGhpcy5fZmlsdGVyLm9wdGlvbnNbaV0ubmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhZmlsdGVyLmhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VsZWN0LW1hdC1sYWJlbCBmaWx0ZXItbmFtZVwiPlxyXG4gICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5GaWx0ZXIsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgZmlsdGVyLmlkKSB9fVxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZmlsdGVyLmJsb2Nrc1Byb2R1Y3RTZWxlY3QgfHwgZmlsdGVyLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiU2VsZWN0ZWRPcHRpb25JZFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiU2VsZWN0T3B0aW9uKClcIiBbZGlzYWJsZWRdPVwiSXNEaXNhYmxlZCgpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5vcHRpb25zXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmlkXCIgY2xhc3M9XCJzZWxlY3QtbWF0LW9wdGlvblwiICpuZ0lmPVwiIW9wdGlvbi5oaWRkZW5cIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbi5jb2xvdXIgIT0gbnVsbCAmJiBvcHRpb24uY29sb3VyICE9ICcnXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogb3B0aW9uLmNvbG91cn1cIiBjbGFzcz1cImNvbG91ci1wcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24uaW1hZ2VQYXRoICE9IG51bGwgJiYgb3B0aW9uLmltYWdlUGF0aCAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLWltYWdlLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJ7eyBvcHRpb24uaW1hZ2VQYXRoIH19XCIgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLWltYWdlXCIgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZS1zcGFuXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZpbHRlck9wdGlvbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBvcHRpb24uaWQpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPHAgKm5nSWY9XCJTaG93RGVzY3JpcHRpb24oKVwiIGNsYXNzPVwiZGVzY3JpcHRpb24tYmxvY2tcIj57eyBHZXREZXNjcmlwdGlvbigpIH19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJHZXRTZWxlY3RlZE9wdGlvbigpICE9IG51bGwgJiYgR2V0U2VsZWN0ZWRPcHRpb24oKS5jb2xvdXIgIT0gbnVsbCAmJiBHZXRTZWxlY3RlZE9wdGlvbigpLmNvbG91ciAhPSAnJ1wiPlxyXG4gICAgPGRpdiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBHZXRTZWxlY3RlZE9wdGlvbigpLmNvbG91cn1cIiBjbGFzcz1cImNvbG91ci1wcmV2aWV3LXNlbGVjdGVkXCI+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICAmbmJzcDtcclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyZXNldFwiICpuZ0lmPVwiZmlsdGVyLnNlbGVjdGVkT3B0aW9uICE9IDBcIiAoY2xpY2spPVwiUmVzZXRTZWxlY3Rpb24oKVwiPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1wb3NpdGlvbiBjbGVhclwiIFtpbmxpbmVdPVwidHJ1ZVwiPmNsZWFyPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nRm9yPVwibGV0IGRlc2NyaXB0aW9uIG9mIGZpbHRlci5kZXNjcmlwdGlvbnNcIiBjbGFzcz1cImRlc2NyaXB0aW9uLWJsb2NrXCI+XHJcbiAge3sgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gfX1cclxuPC9kaXY+XHJcbiJdfQ==
|