@smartbit4all/ng-client 3.1.98 → 3.1.99

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.
@@ -1,17 +1,17 @@
1
- import { Component, Input, ViewChild, } from '@angular/core';
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
2
  import { Subject, takeUntil } from 'rxjs';
3
- import { SmartFilterType } from '../../smart-filter/smart-filter.model';
3
+ import { FilterExpressionFieldWidgetType } from '../../smart-filter/projects';
4
4
  import { SmartFormWidgetDirection } from '../../smart-form/api/model/smartFormWidgetDirection';
5
+ import { SmartFormWidgetType } from '../../smart-form/projects';
5
6
  import { FilterExpressionBuilderUiModel } from '../api/model/filterExpressionBuilderUiModel';
6
7
  import { FilterExpressionBuilderApiActions } from '../filterExpressionBuilderApiActions';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../../smart-form/services/smartform.layout-definition.service";
9
- import * as i2 from "../../smart-filter/smart-filter/smart-filter.component";
10
+ import * as i2 from "../../smart-form/smartform.component";
10
11
  import * as i3 from "../../view-context/smart-ui-action/ui-action-toolbar.component";
11
12
  import * as i4 from "./components/smart-filter-expression-items/smart-filter-expression-items.component";
12
- import * as i5 from "../../smart-form/smartform.component";
13
- import * as i6 from "@angular/material/button";
14
- import * as i7 from "@angular/common";
13
+ import * as i5 from "@angular/material/button";
14
+ import * as i6 from "@angular/common";
15
15
  export class SmartFilterEditorContentComponent {
16
16
  constructor(layoutService) {
17
17
  this.layoutService = layoutService;
@@ -20,18 +20,7 @@ export class SmartFilterEditorContentComponent {
20
20
  this.expressionUiActionModels = [];
21
21
  this.type = FilterExpressionBuilderUiModel.TypeEnum;
22
22
  }
23
- ngAfterViewChecked() {
24
- if (this.service.model?.type === this.type.Simple) {
25
- if (this.smartFilterChangeSubscription) {
26
- this.smartFilterChangeSubscription.unsubscribe();
27
- }
28
- this.smartFilterChangeSubscription = this.smartFilterChild?.service.change
29
- .pipe(takeUntil(this._destroy$))
30
- .subscribe(() => {
31
- this.saveFilter();
32
- });
33
- }
34
- }
23
+ ngAfterViewChecked() { }
35
24
  ngOnInit() {
36
25
  this.service.load();
37
26
  this.service.modelChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
@@ -43,12 +32,73 @@ export class SmartFilterEditorContentComponent {
43
32
  this._destroy$.complete();
44
33
  }
45
34
  setupSimpleFilter() {
46
- this.simpleFilterModel = {
47
- data: this.service.model.model.workplaceList.filters,
48
- type: SmartFilterType.SIMPLE,
35
+ let widgets = [];
36
+ let key;
37
+ let model = {};
38
+ this.service.model?.model?.workplaceList?.filters.forEach((filterExpressionField, index) => {
39
+ model[index] = filterExpressionField;
40
+ if (filterExpressionField.widgetType === 'SELECT_MULTIPLE') {
41
+ key = index + '.expressionData.operand2.selectedValues';
42
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
43
+ return;
44
+ }
45
+ if (filterExpressionField.expressionData?.currentOperation === 'BETWEEN') {
46
+ key = index + '.expressionData.operand2.valueAsString';
47
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
48
+ key = index + '.expressionData.operand3.valueAsString';
49
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
50
+ return;
51
+ }
52
+ if (filterExpressionField.expressionData?.operand2) {
53
+ if (key !== index + '.expressionData.operand2.selectedValues') {
54
+ key = index + '.expressionData.operand2.valueAsString';
55
+ }
56
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
57
+ return;
58
+ }
59
+ if (filterExpressionField?.expressionData?.operand3) {
60
+ if (key !== index + '.selectedValues') {
61
+ key = index + '.expressionData.operand3.valueAsString';
62
+ }
63
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label3, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
64
+ return;
65
+ }
66
+ });
67
+ this.simpleFilterForm = {
68
+ direction: SmartFormWidgetDirection.ROW,
69
+ componentModel: { data: model },
70
+ useOnValueChangeEvent: true,
71
+ useOnBlurEvent: true,
72
+ widgets,
49
73
  };
50
- if (!this.smartFilterChangeSubscription) {
74
+ if (this.smartFilterChangeSubscription) {
75
+ this.smartFilterChangeSubscription.unsubscribe();
51
76
  }
77
+ this.smartFilterChangeSubscription = this.simpleFilterFormChild?.onBlurSubject
78
+ ?.pipe(takeUntil(this._destroy$))
79
+ .subscribe(() => {
80
+ this.saveFilter();
81
+ });
82
+ if (this.smartFilterSophisticatedChangeSubscription) {
83
+ this.smartFilterSophisticatedChangeSubscription.unsubscribe();
84
+ }
85
+ this.smartFilterSophisticatedChangeSubscription =
86
+ this.simpleFilterFormChild?.sophisticatedValueChange
87
+ ?.pipe(takeUntil(this._destroy$))
88
+ .subscribe((change) => {
89
+ if (change.kind === 'selection') {
90
+ console.log(change);
91
+ this.saveFilter();
92
+ }
93
+ });
94
+ }
95
+ extractFilterFieldFromFormModel() {
96
+ let simpleFilter = this.simpleFilterFormChild?.submitForm(false).componentModel.data;
97
+ let result = [];
98
+ Object.keys(simpleFilter).forEach((key) => {
99
+ result.push(simpleFilter[key]);
100
+ });
101
+ this.service.model.model.workplaceList.filters = result;
52
102
  }
53
103
  setUp() {
54
104
  if (this.service.model?.type === this.type.Simple) {
@@ -146,9 +196,7 @@ export class SmartFilterEditorContentComponent {
146
196
  return [];
147
197
  }
148
198
  async saveFilter() {
149
- let smartFilter = await this.smartFilterChild?.submit();
150
- this.service.model.model.workplaceList.filters =
151
- smartFilter?.data;
199
+ this.extractFilterFieldFromFormModel();
152
200
  this.service.performUiActionRequest({
153
201
  code: FilterExpressionBuilderApiActions.SAVE_EXPRESSION_FIELD_LIST,
154
202
  params: {
@@ -156,19 +204,44 @@ export class SmartFilterEditorContentComponent {
156
204
  },
157
205
  });
158
206
  }
207
+ constructFormWidget(key, label, widgetType, possibleValues) {
208
+ let type = widgetType;
209
+ if (type === FilterExpressionFieldWidgetType.Date) {
210
+ type = SmartFormWidgetType.DATE_PICKER;
211
+ }
212
+ else if (type === FilterExpressionFieldWidgetType.DateTime) {
213
+ type = SmartFormWidgetType.DATE_TIME_PICKER;
214
+ }
215
+ let widget = {
216
+ key,
217
+ label,
218
+ type,
219
+ value: '',
220
+ showLabel: true,
221
+ valueList: possibleValues.map((value) => {
222
+ return {
223
+ key: value.objectUri ? value.objectUri : value.code,
224
+ label: value.displayValue,
225
+ type: SmartFormWidgetType.ITEM,
226
+ value: value.objectUri ? value.objectUri : value.code,
227
+ };
228
+ }),
229
+ };
230
+ return widget;
231
+ }
159
232
  }
160
233
  SmartFilterEditorContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
161
- SmartFilterEditorContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "smartFilterChild", first: true, predicate: ["smartFilter"], descendants: true }], ngImport: i0, template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smart-filter #smartFilter [filter]=\"simpleFilterModel\"></smart-filter>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], components: [{ type: i2.SmartFilterComponent, selector: "smart-filter", inputs: ["filter"] }, { type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService"] }, { type: i4.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items"] }, { type: i5.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i6.MatButton, 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"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
234
+ SmartFilterEditorContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "simpleFilterFormChild", first: true, predicate: ["simpleFilterFromChild"], descendants: true }], ngImport: i0, template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smartform #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], components: [{ type: i2.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService"] }, { type: i4.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items"] }, { type: i5.MatButton, 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"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
162
235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
163
236
  type: Component,
164
- args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smart-filter #smartFilter [filter]=\"simpleFilterModel\"></smart-filter>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
237
+ args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smartform #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
165
238
  }], ctorParameters: function () { return [{ type: i1.SmartformLayoutDefinitionService }]; }, propDecorators: { service: [{
166
239
  type: Input
167
240
  }], formChild: [{
168
241
  type: ViewChild,
169
242
  args: ['form']
170
- }], smartFilterChild: [{
243
+ }], simpleFilterFormChild: [{
171
244
  type: ViewChild,
172
- args: ['smartFilter']
245
+ args: ['simpleFilterFromChild']
173
246
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFPL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQVF6RixNQUFNLE9BQU8saUNBQWlDO0lBZTVDLFlBQW9CLGFBQStDO1FBQS9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQWQzRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHakQsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLDZCQUF3QixHQUFvQixFQUFFLENBQUM7UUFRL0MsU0FBSSxHQUFHLDhCQUE4QixDQUFDLFFBQVEsQ0FBQztJ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QUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBTSxDQUFDLEtBQU0sQ0FBQyxhQUFjLENBQUMsT0FBTztZQUMvQyxXQUFXLEVBQUUsSUFBK0IsQ0FBQztRQUUvQyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1lBQ2xDLElBQUksRUFBRSxpQ0FBaUMsQ0FBQywwQkFBMEI7WUFDbEUsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7YUFDMUI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzs4SEEvS1UsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsMlNDOUI5QyxpMERBZ0RBOzJGRGxCYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsZ0NBQWdDO3VIQU1qQyxPQUFPO3NCQUFmLEtBQUs7Z0JBS2EsU0FBUztzQkFBM0IsU0FBUzt1QkFBQyxNQUFNO2dCQUdTLGdCQUFnQjtzQkFBekMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL2FwaS9maWx0ZXIvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXIsIFNtYXJ0RmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZpbHRlci9zbWFydC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NtYXJ0LWZpbHRlci9zbWFydC1maWx0ZXIvc21hcnQtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vYXBpL21vZGVsL3NtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbic7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zZXJ2aWNlcy9zbWFydGZvcm0ubGF5b3V0LWRlZmluaXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldCB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm0sIFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucyB9IGZyb20gJy4uL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucyc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQElucHV0KCkgc2VydmljZSE6IFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZTtcclxuXHJcbiAgdWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xyXG4gIGV4cHJlc3Npb25VaUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nKSBmb3JtQ2hpbGQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbWFydEZpbHRlcicpIHNtYXJ0RmlsdGVyQ2hpbGQ/OiBTbWFydEZpbHRlckNvbXBvbmVudDtcclxuICBzaW1wbGVGaWx0ZXJNb2RlbD86IFNtYXJ0RmlsdGVyO1xyXG5cclxuICB0eXBlID0gRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsLlR5cGVFbnVtO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheW91dFNlcnZpY2U6IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy50eXBlID09PSB0aGlzLnR5cGUuU2ltcGxlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNtYXJ0RmlsdGVyQ2hhbmdlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5zbWFydEZpbHRlckNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNtYXJ0RmlsdGVyQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5zbWFydEZpbHRlckNoaWxkPy5zZXJ2aWNlLmNoYW5nZVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNtYXJ0RmlsdGVyQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gIHNtYXJ0Zm9ybUNoYW5nZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuICBzbWFydGZvcm1Tb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5sb2FkKCk7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWxDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldHVwU2ltcGxlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJNb2RlbCA9IHtcclxuICAgICAgZGF0YTogdGhpcy5zZXJ2aWNlLm1vZGVsIS5tb2RlbCEud29ya3BsYWNlTGlzdCEuZmlsdGVycyBhcyBGaWx0ZXJFeHByZXNzaW9uRmllbGRbXSxcclxuICAgICAgdHlwZTogU21hcnRGaWx0ZXJUeXBlLlNJTVBMRSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCF0aGlzLnNtYXJ0RmlsdGVyQ2hhbmdlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRVcCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnR5cGUgPT09IHRoaXMudHlwZS5TaW1wbGUpIHtcclxuICAgICAgdGhpcy5zZXR1cFNpbXBsZUZpbHRlcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RVaUFjdGlvbk1vZGVscygpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VydmljZSEubW9kZWwhLnNlbGVjdGVkRmllbGRFZGl0b3IpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNtYXJ0Rm9ybSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5wb3NzaWJsZUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbC5wb3NzaWJsZUFjdGlvbnMubWFwKChhY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcy5zZXJ2aWNlLFxyXG4gICAgICAgICAgdWlBY3Rpb246IGFjdGlvbixcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5wb3NzaWJsZUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy5leHByZXNzaW9uVWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3IucG9zc2libGVBY3Rpb25zLm1hcChcclxuICAgICAgICAodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29waWVkVWlBY3Rpb246IFVpQWN0aW9uID0ge307XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh1aUFjdGlvbikubWFwKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAoY29waWVkVWlBY3Rpb24gYXMgYW55KVtrZXldID0gKHVpQWN0aW9uIGFzIGFueSlba2V5XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29waWVkVWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgICAgICBmaWVsZDogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcy5zZXJ2aWNlLFxyXG4gICAgICAgICAgICB1aUFjdGlvbjogY29waWVkVWlBY3Rpb24sXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XHJcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5sYXlvdXREZWY/LndpZGdldHMsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRmb3JtQ2hhbmdlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc21hcnRmb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zbWFydGZvcm1DaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1DaGlsZD8ub25CbHVyU3ViamVjdFxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0Zm9ybVNvcGhpc3RpY2F0ZWRDaGFuZ2VTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zbWFydGZvcm1Tb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zbWFydGZvcm1Tb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ2hpbGQ/LnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlOiBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UpID0+IHtcclxuICAgICAgICBpZiAoY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLmN1cnJlbnRPcGVyYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoaWxkPy5zdWJtaXRGb3JtKGZhbHNlKTtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnVVBEQVRFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgIGNvZGU6ICdSRU1PVkVfRklMVEVSX0VYUFJFU1NJT04nLFxyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBtb2RlbDogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZFVpQWN0aW9uTW9kZWxzKGZpbHRlclByZWRpY2F0ZTogKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4gYm9vbGVhbik6IFVpQWN0aW9uTW9kZWxbXSB7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5zZXJ2aWNlLm1vZGVsIS5wb3NzaWJsZUFjdGlvbnMhLmZpbHRlcihmaWx0ZXJQcmVkaWNhdGUpLm1hcCgodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAvLyAgIHJldHVybiB7XHJcbiAgICAvLyAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAvLyAgICAgdWlBY3Rpb24sXHJcbiAgICAvLyAgIH07XHJcbiAgICAvLyB9KTtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNhdmVGaWx0ZXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgc21hcnRGaWx0ZXIgPSBhd2FpdCB0aGlzLnNtYXJ0RmlsdGVyQ2hpbGQ/LnN1Ym1pdCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsIS5tb2RlbCEud29ya3BsYWNlTGlzdCEuZmlsdGVycyA9XHJcbiAgICAgIHNtYXJ0RmlsdGVyPy5kYXRhIGFzIEZpbHRlckV4cHJlc3Npb25GaWVsZFtdO1xyXG5cclxuICAgIHRoaXMuc2VydmljZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHtcclxuICAgICAgY29kZTogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zLlNBVkVfRVhQUkVTU0lPTl9GSUVMRF9MSVNULFxyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBtb2RlbDogdGhpcy5zZXJ2aWNlLm1vZGVsLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YXJnZXRHcm91cENvbnRlbnRDb250YWluZXJcIj5cclxuICA8aDM+e3sgc2VydmljZS5tb2RlbD8ubW9kZWw/LmxhYmVsIH19PC9oMz5cclxuXHJcbiAgPGRpdiAqbmdJZj1cInNlcnZpY2UubW9kZWw/LnR5cGUgPT09IHR5cGUuU2ltcGxlOyB0aGVuIHNpbXBsZUZpbHRlcjsgZWxzZSBjb21wbGV4RmlsdGVyXCI+PC9kaXY+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjc2ltcGxlRmlsdGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImV4cHJlc3Npb25zQ29udGFpbmVyXCI+XHJcbiAgICAgIDxzbWFydC1maWx0ZXIgI3NtYXJ0RmlsdGVyIFtmaWx0ZXJdPVwic2ltcGxlRmlsdGVyTW9kZWxcIj48L3NtYXJ0LWZpbHRlcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNjb21wbGV4RmlsdGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cInVpQWN0aW9uc0JhclwiICpuZ0lmPVwiIXNlcnZpY2UubW9kZWw/LnJlYWRPbmx5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1aUFjdGlvbnNJbnNpZGVPZkJhclwiPlxyXG4gICAgICAgIDxzbWFydC11aS1hY3Rpb24tdG9vbGJhciBbdWlBY3Rpb25Nb2RlbHNdPVwidWlBY3Rpb25Nb2RlbHNcIj48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIHNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoO1xyXG4gICAgICAgIHRoZW4gd2l0aFBhcmFtZXRlcnM7XHJcbiAgICAgICAgZWxzZSB3aXRob3V0UGFyYW1ldGVyc1xyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRob3V0UGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cIndpdGhvdXRQYXJhbWV0ZXJzQ29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtYm9keVwiPiBNw6lnIG5pbmNzIG1lZ2FkdmEgcGFyYW3DqXRlciA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjd2l0aFBhcmFtZXRlcnM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoUGFyYW1ldGVyc0NvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZXhwcmVzc2lvbnNDb250YWluZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzZXJ2aWNlPy5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnM/Lmxlbmd0aFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1zXHJcbiAgICAgICAgICAgIFtpdGVtc109XCIoc2VydmljZS5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3QpIS5maWx0ZXJzXCJcclxuICAgICAgICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW1zPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleHByZXNzaW9uRWRpdG9yQ29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8c21hcnRmb3JtICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic21hcnRGb3JtXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlbW92ZSgpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+VMO2cmzDqXM8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBT2hFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTdGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQVF6RixNQUFNLE9BQU8saUNBQWlDO0lBZTVDLFlBQW9CLGFBQStDO1FBQS9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQWQzRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHakQsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLDZCQUF3QixHQUFvQixF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LElBQUksTUFBTSxHQUF5QjtZQUNqQyxHQUFHO1lBQ0gsS0FBSztZQUNMLElBQUk7WUFDSixLQUFLLEVBQUUsRUFBRTtZQUNULFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDN0MsT0FBTztvQkFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUs7b0JBQ3BELEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWTtvQkFDekIsSUFBSSxFQUFFLG1CQUFtQixDQUFDLElBQUk7b0JBQzlCLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSTtpQkFDdEQsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNILENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4SEFqVFUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsMFRDdEI5Qyx1MERBZ0RBOzJGRDFCYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsZ0NBQWdDO3VIQU1qQyxPQUFPO3NCQUFmLEtBQUs7Z0JBS2EsU0FBUztzQkFBM0IsU0FBUzt1QkFBQyxNQUFNO2dCQUdtQixxQkFBcUI7c0JBQXhELFNBQVM7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZpbHRlci9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vYXBpL21vZGVsL3NtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbic7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldFR5cGUgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NlcnZpY2VzL3NtYXJ0Zm9ybS5sYXlvdXQtZGVmaW5pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRmb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0IH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybSwgU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlLCBWYWx1ZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZCB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uRmllbGQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMnO1xyXG5pbXBvcnQgeyBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc21hcnQtZmlsdGVyLWV4cHJlc3Npb24tZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBASW5wdXQoKSBzZXJ2aWNlITogSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZTtcclxuXHJcbiAgdWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xyXG4gIGV4cHJlc3Npb25VaUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nKSBmb3JtQ2hpbGQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkKCdzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQnKSBzaW1wbGVGaWx0ZXJGb3JtQ2hpbGQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc2ltcGxlRmlsdGVyRm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgdHlwZSA9IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbC5UeXBlRW51bTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSkge31cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge31cclxuXHJcbiAgc21hcnRGaWx0ZXJDaGFuZ2VTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcbiAgc21hcnRGaWx0ZXJTb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gIHNtYXJ0Zm9ybUNoYW5nZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuICBzbWFydGZvcm1Tb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5sb2FkKCk7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWxDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldHVwU2ltcGxlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgbGV0IHdpZGdldHM6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10gPSBbXTtcclxuXHJcbiAgICBsZXQga2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgbGV0IG1vZGVsOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycy5mb3JFYWNoKFxyXG4gICAgICAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkOiBGaWx0ZXJFeHByZXNzaW9uRmllbGQsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBtb2RlbFtpbmRleF0gPSBmaWx0ZXJFeHByZXNzaW9uRmllbGQ7XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gJ1NFTEVDVF9NVUxUSVBMRScpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZFZhbHVlcyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5UZXh0RmllbGQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW11cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdCRVRXRUVOJykge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVGV4dEZpZWxkLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQzLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVGV4dEZpZWxkLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMikge1xyXG4gICAgICAgICAgaWYgKGtleSAhPT0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkVmFsdWVzJykge1xyXG4gICAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5UZXh0RmllbGQsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW11cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZD8uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzKSB7XHJcbiAgICAgICAgICBpZiAoa2V5ICE9PSBpbmRleCArICcuc2VsZWN0ZWRWYWx1ZXMnKSB7XHJcbiAgICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMy52YWx1ZUFzU3RyaW5nJztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHdpZGdldHMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtV2lkZ2V0KFxyXG4gICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwzISxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA/PyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLlRleHRGaWVsZCxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlckZvcm0gPSB7XHJcbiAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLlJPVyxcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogbW9kZWwgfSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgd2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRGaWx0ZXJDaGFuZ2VTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zbWFydEZpbHRlckNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc21hcnRGaWx0ZXJDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnNpbXBsZUZpbHRlckZvcm1DaGlsZD8ub25CbHVyU3ViamVjdFxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0RmlsdGVyU29waGlzdGljYXRlZENoYW5nZVN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnNtYXJ0RmlsdGVyU29waGlzdGljYXRlZENoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc21hcnRGaWx0ZXJTb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uID1cclxuICAgICAgdGhpcy5zaW1wbGVGaWx0ZXJGb3JtQ2hpbGQ/LnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZVxyXG4gICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZS5raW5kID09PSAnc2VsZWN0aW9uJykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhjaGFuZ2UpO1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpOiB2b2lkIHtcclxuICAgIGxldCBzaW1wbGVGaWx0ZXIgPSB0aGlzLnNpbXBsZUZpbHRlckZvcm1DaGlsZD8uc3VibWl0Rm9ybShmYWxzZSkuY29tcG9uZW50TW9kZWwuZGF0YTtcclxuICAgIGxldCByZXN1bHQ6IEZpbHRlckV4cHJlc3Npb25GaWVsZFtdID0gW107XHJcblxyXG4gICAgT2JqZWN0LmtleXMoc2ltcGxlRmlsdGVyKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXN1bHQucHVzaChzaW1wbGVGaWx0ZXJba2V5XSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VydmljZS5tb2RlbCEubW9kZWwhLndvcmtwbGFjZUxpc3QhLmZpbHRlcnMgPSByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzZXRVcCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnR5cGUgPT09IHRoaXMudHlwZS5TaW1wbGUpIHtcclxuICAgICAgdGhpcy5zZXR1cFNpbXBsZUZpbHRlcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RVaUFjdGlvbk1vZGVscygpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VydmljZSEubW9kZWwhLnNlbGVjdGVkRmllbGRFZGl0b3IpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNtYXJ0Rm9ybSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5wb3NzaWJsZUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbC5wb3NzaWJsZUFjdGlvbnMubWFwKChhY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcy5zZXJ2aWNlLFxyXG4gICAgICAgICAgdWlBY3Rpb246IGFjdGlvbixcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5wb3NzaWJsZUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy5leHByZXNzaW9uVWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3IucG9zc2libGVBY3Rpb25zLm1hcChcclxuICAgICAgICAodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29waWVkVWlBY3Rpb246IFVpQWN0aW9uID0ge307XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh1aUFjdGlvbikubWFwKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAoY29waWVkVWlBY3Rpb24gYXMgYW55KVtrZXldID0gKHVpQWN0aW9uIGFzIGFueSlba2V5XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29waWVkVWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgICAgICBmaWVsZDogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcy5zZXJ2aWNlLFxyXG4gICAgICAgICAgICB1aUFjdGlvbjogY29waWVkVWlBY3Rpb24sXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XHJcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5sYXlvdXREZWY/LndpZGdldHMsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRmb3JtQ2hhbmdlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc21hcnRmb3JtQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zbWFydGZvcm1DaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1DaGlsZD8ub25CbHVyU3ViamVjdFxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0Zm9ybVNvcGhpc3RpY2F0ZWRDaGFuZ2VTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zbWFydGZvcm1Tb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zbWFydGZvcm1Tb3BoaXN0aWNhdGVkQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ2hpbGQ/LnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlOiBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UpID0+IHtcclxuICAgICAgICBpZiAoY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLmN1cnJlbnRPcGVyYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoaWxkPy5zdWJtaXRGb3JtKGZhbHNlKTtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnVVBEQVRFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgIGNvZGU6ICdSRU1PVkVfRklMVEVSX0VYUFJFU1NJT04nLFxyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBtb2RlbDogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZFVpQWN0aW9uTW9kZWxzKGZpbHRlclByZWRpY2F0ZTogKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4gYm9vbGVhbik6IFVpQWN0aW9uTW9kZWxbXSB7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5zZXJ2aWNlLm1vZGVsIS5wb3NzaWJsZUFjdGlvbnMhLmZpbHRlcihmaWx0ZXJQcmVkaWNhdGUpLm1hcCgodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAvLyAgIHJldHVybiB7XHJcbiAgICAvLyAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAvLyAgICAgdWlBY3Rpb24sXHJcbiAgICAvLyAgIH07XHJcbiAgICAvLyB9KTtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNhdmVGaWx0ZXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmV4dHJhY3RGaWx0ZXJGaWVsZEZyb21Gb3JtTW9kZWwoKTtcclxuICAgIHRoaXMuc2VydmljZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHtcclxuICAgICAgY29kZTogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zLlNBVkVfRVhQUkVTU0lPTl9GSUVMRF9MSVNULFxyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBtb2RlbDogdGhpcy5zZXJ2aWNlLm1vZGVsISxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3RGb3JtV2lkZ2V0KFxyXG4gICAga2V5OiBzdHJpbmcsXHJcbiAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgd2lkZ2V0VHlwZTogRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZSxcclxuICAgIHBvc3NpYmxlVmFsdWVzOiBWYWx1ZVtdXHJcbiAgKTogU21hcnRGb3JtV2lkZ2V0PGFueT4ge1xyXG4gICAgbGV0IHR5cGU6IGFueSA9IHdpZGdldFR5cGU7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuRGF0ZSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1BJQ0tFUjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EYXRlVGltZSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1RJTUVfUElDS0VSO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB3aWRnZXQ6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+ID0ge1xyXG4gICAgICBrZXksXHJcbiAgICAgIGxhYmVsLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICB2YWx1ZTogJycsXHJcbiAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgdmFsdWVMaXN0OiBwb3NzaWJsZVZhbHVlcy5tYXAoKHZhbHVlOiBWYWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBrZXk6IHZhbHVlLm9iamVjdFVyaSA/IHZhbHVlLm9iamVjdFVyaSA6IHZhbHVlLmNvZGUhLFxyXG4gICAgICAgICAgbGFiZWw6IHZhbHVlLmRpc3BsYXlWYWx1ZSxcclxuICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSVRFTSxcclxuICAgICAgICAgIHZhbHVlOiB2YWx1ZS5vYmplY3RVcmkgPyB2YWx1ZS5vYmplY3RVcmkgOiB2YWx1ZS5jb2RlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gd2lkZ2V0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGFyZ2V0R3JvdXBDb250ZW50Q29udGFpbmVyXCI+XHJcbiAgPGgzPnt7IHNlcnZpY2UubW9kZWw/Lm1vZGVsPy5sYWJlbCB9fTwvaDM+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzZXJ2aWNlLm1vZGVsPy50eXBlID09PSB0eXBlLlNpbXBsZTsgdGhlbiBzaW1wbGVGaWx0ZXI7IGVsc2UgY29tcGxleEZpbHRlclwiPjwvZGl2PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJleHByZXNzaW9uc0NvbnRhaW5lclwiPlxyXG4gICAgICA8c21hcnRmb3JtICNzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQgW3NtYXJ0Rm9ybV09XCJzaW1wbGVGaWx0ZXJGb3JtXCI+PC9zbWFydGZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29tcGxleEZpbHRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJ1aUFjdGlvbnNCYXJcIiAqbmdJZj1cIiFzZXJ2aWNlLm1vZGVsPy5yZWFkT25seVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidWlBY3Rpb25zSW5zaWRlT2ZCYXJcIj5cclxuICAgICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgICBzZXJ2aWNlPy5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnM/Lmxlbmd0aDtcclxuICAgICAgICB0aGVuIHdpdGhQYXJhbWV0ZXJzO1xyXG4gICAgICAgIGVsc2Ugd2l0aG91dFBhcmFtZXRlcnNcclxuICAgICAgXCJcclxuICAgID48L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjd2l0aG91dFBhcmFtZXRlcnM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3aXRob3V0UGFyYW1ldGVyc0NvbnRhaW5lclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWJvZHlcIj4gTcOpZyBuaW5jcyBtZWdhZHZhIHBhcmFtw6l0ZXIgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3dpdGhQYXJhbWV0ZXJzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2l0aFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImV4cHJlc3Npb25zQ29udGFpbmVyXCJcclxuICAgICAgICAgICpuZ0lmPVwic2VydmljZT8ubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzPy5sZW5ndGhcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxhcHAtZXhwcmVzc2lvbi1pdGVtc1xyXG4gICAgICAgICAgICBbaXRlbXNdPVwiKHNlcnZpY2UubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0KSEuZmlsdGVyc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZXhwcmVzc2lvbi1pdGVtcz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkVkaXRvckNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPHNtYXJ0Zm9ybSAjZm9ybSBbc21hcnRGb3JtXT1cInNtYXJ0Rm9ybVwiPjwvc21hcnRmb3JtPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNtYXJ0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZW1vdmUoKVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlTDtnJsw6lzPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -25,7 +25,8 @@ SmartFilterEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
25
25
  SmartViewContextModule,
26
26
  SmartformModule,
27
27
  MatButtonModule,
28
- SmartFilterModule], exports: [SmartFilterParamsComponent,
28
+ SmartFilterModule,
29
+ SmartformModule], exports: [SmartFilterParamsComponent,
29
30
  SmartFilterParamComponent,
30
31
  SmartFilterEditorContentComponent,
31
32
  SmartFilterExpressionItemsComponent,
@@ -38,6 +39,7 @@ SmartFilterEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
38
39
  SmartformModule,
39
40
  MatButtonModule,
40
41
  SmartFilterModule,
42
+ SmartformModule,
41
43
  ]] });
42
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, decorators: [{
43
45
  type: NgModule,
@@ -57,6 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
57
59
  SmartformModule,
58
60
  MatButtonModule,
59
61
  SmartFilterModule,
62
+ SmartformModule,
60
63
  ],
61
64
  exports: [
62
65
  SmartFilterParamsComponent,
@@ -68,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
68
71
  providers: [],
69
72
  }]
70
73
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0gsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0hBQWdILENBQUM7QUFDckssT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEdBQThHLENBQUM7QUFDbEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQTRCeEUsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQXhCaEMsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsbUNBQW1DO1FBQ25DLGtDQUFrQyxhQUdsQyxZQUFZO1FBQ1osZUFBZTtRQUNmLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsZUFBZTtRQUNmLGVBQWU7UUFDZixpQkFBaUIsYUFHakIsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsbUNBQW1DO1FBQ25DLGtDQUFrQztxSEFJekIsdUJBQXVCLGFBRnZCLEVBQUUsWUFoQko7WUFDUCxZQUFZO1lBQ1osZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLGVBQWU7WUFDZixpQkFBaUI7U0FDbEI7MkZBVVUsdUJBQXVCO2tCQTFCbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyxrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGtDQUFrQztxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLXBhcmFtcy9zbWFydC1maWx0ZXItcGFyYW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1wYXJhbXMvY29tcG9uZW50cy9zbWFydC1maWx0ZXItcGFyYW0vc21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlck1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci9zbWFydC1maWx0ZXIubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtc0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1Db21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTbWFydEljb25Nb2R1bGUsXHJcbiAgICBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlLFxyXG4gICAgU21hcnRWaWV3Q29udGV4dE1vZHVsZSxcclxuICAgIFNtYXJ0Zm9ybU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFNtYXJ0RmlsdGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU21hcnRGaWx0ZXJQYXJhbXNDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlclBhcmFtQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbXNDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yTW9kdWxlIHt9XHJcbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0gsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0hBQWdILENBQUM7QUFDckssT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEdBQThHLENBQUM7QUFDbEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQTZCeEUsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQXpCaEMsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsbUNBQW1DO1FBQ25DLGtDQUFrQyxhQUdsQyxZQUFZO1FBQ1osZUFBZTtRQUNmLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsZUFBZTtRQUNmLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZSxhQUdmLDBCQUEwQjtRQUMxQix5QkFBeUI7UUFDekIsaUNBQWlDO1FBQ2pDLG1DQUFtQztRQUNuQyxrQ0FBa0M7cUhBSXpCLHVCQUF1QixhQUZ2QixFQUFFLFlBakJKO1lBQ1AsWUFBWTtZQUNaLGVBQWU7WUFDZiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLGVBQWU7WUFDZixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGVBQWU7U0FDaEI7MkZBVVUsdUJBQXVCO2tCQTNCbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyxrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGtDQUFrQztxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLXBhcmFtcy9zbWFydC1maWx0ZXItcGFyYW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1wYXJhbXMvY29tcG9uZW50cy9zbWFydC1maWx0ZXItcGFyYW0vc21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlck1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci9zbWFydC1maWx0ZXIubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtc0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1Db21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTbWFydEljb25Nb2R1bGUsXHJcbiAgICBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlLFxyXG4gICAgU21hcnRWaWV3Q29udGV4dE1vZHVsZSxcclxuICAgIFNtYXJ0Zm9ybU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFNtYXJ0RmlsdGVyTW9kdWxlLFxyXG4gICAgU21hcnRmb3JtTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU21hcnRGaWx0ZXJQYXJhbXNDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlclBhcmFtQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbXNDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yTW9kdWxlIHt9XHJcbiJdfQ==
@@ -40,4 +40,4 @@ SmartFilterEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorService, decorators: [{
41
41
  type: Injectable
42
42
  }], ctorParameters: function () { return [{ type: i1.FilterService }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFhL0IsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUFvQixPQUFzQjtRQUF0QixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBSjFDLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUMsV0FBTSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLHdCQUFtQixHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRU4sQ0FBQztJQUM5QyxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUF3QjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU87YUFDNUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO2FBQ3RFLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsS0FBSyxDQUFDLHNCQUFzQixDQUMxQixlQUFnQyxFQUNoQyxRQUE2QixFQUM3QixNQUEyQjtRQUUzQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1DQUFtQyxDQUN2QyxRQUFrQixFQUNsQixlQUFnQztRQUVoQyxPQUFPO1lBQ0wsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixlQUFlLEVBQUUsZUFBZTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixDQUFDLFFBQWtCO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDOztxSEExQ1Usd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb25SZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXHJcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxyXG4gIFVzZVVpQWN0aW9uLFxyXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJy4vYXBpL2FwaS9maWx0ZXIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgaW1wbGVtZW50cyBVc2VVaUFjdGlvbiB7XHJcbiAgY29uZmlnITogU21hcnRGaWx0ZXJFZGl0b3JDb25maWc7XHJcbiAgbW9kZWw/OiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWw7XHJcbiAgbW9kZWxDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHJlU3Vic2NyaWJlVG9DaGFuZ2U6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IEZpbHRlclNlcnZpY2UpIHt9XHJcbiAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2UubG9hZCh0aGlzLmNvbmZpZy51dWlkLCB0aGlzLmNvbmZpZy5pZGVudGlmaWVyKS50b1Byb21pc2UoKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2VkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHBlZm9ybVdpZGdldEFjdGlvbihyZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QpIHtcclxuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2VcclxuICAgICAgLnBlcmZvcm1XaWRnZXRBY3Rpb24odGhpcy5jb25maWcudXVpZCwgdGhpcy5jb25maWcuaWRlbnRpZmllciwgcmVxdWVzdClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcclxuICB9XHJcbiAgYXN5bmMgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgYXdhaXQgdGhpcy5wZWZvcm1XaWRnZXRBY3Rpb24odWlBY3Rpb25SZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcclxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2hvdWxkUGVyZm9ybUFjdGlvbjogdHJ1ZSxcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0OiB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFVLE1BQU0sTUFBTSxDQUFDOzs7QUE2QnZDLE1BQU0sT0FBTyx3QkFBd0I7SUFPbkMsWUFBb0IsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUoxQyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVOLENBQUM7SUFDOUMsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBd0I7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPO2FBQzVCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQzthQUN0RSxTQUFTLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsZUFBZ0MsRUFDaEMsUUFBNkIsRUFDN0IsTUFBMkI7UUFFM0IsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUMsQ0FDdkMsUUFBa0IsRUFDbEIsZUFBZ0M7UUFFaEMsT0FBTztZQUNMLG1CQUFtQixFQUFFLElBQUk7WUFDekIsZUFBZSxFQUFFLGVBQWU7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxRQUFrQjtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQzs7cUhBMUNVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGNvbmZpZyB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb25SZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXHJcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxyXG4gIFVzZVVpQWN0aW9uLFxyXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJy4vYXBpL2FwaS9maWx0ZXIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgZXh0ZW5kcyBVc2VVaUFjdGlvbiB7XHJcbiAgY29uZmlnOiBTbWFydEZpbHRlckVkaXRvckNvbmZpZztcclxuICBtb2RlbD86IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbDtcclxuICBtb2RlbENoYW5nZWQ6IFN1YmplY3Q8dm9pZD47XHJcbiAgc3VibWl0OiBTdWJqZWN0PHZvaWQ+O1xyXG4gIHJlU3Vic2NyaWJlVG9DaGFuZ2U6IFN1YmplY3Q8dm9pZD47XHJcblxyXG4gIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcclxuICBwZWZvcm1XaWRnZXRBY3Rpb24ocmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogdm9pZDtcclxuICBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICB3aWRnZXRJZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIG5vZGVJZD86IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gICk6IFByb21pc2U8YW55PjtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIGltcGxlbWVudHMgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB7XHJcbiAgY29uZmlnITogU21hcnRGaWx0ZXJFZGl0b3JDb25maWc7XHJcbiAgbW9kZWw/OiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWw7XHJcbiAgbW9kZWxDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHJlU3Vic2NyaWJlVG9DaGFuZ2U6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IEZpbHRlclNlcnZpY2UpIHt9XHJcbiAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2UubG9hZCh0aGlzLmNvbmZpZy51dWlkLCB0aGlzLmNvbmZpZy5pZGVudGlmaWVyKS50b1Byb21pc2UoKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2VkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHBlZm9ybVdpZGdldEFjdGlvbihyZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QpIHtcclxuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2VcclxuICAgICAgLnBlcmZvcm1XaWRnZXRBY3Rpb24odGhpcy5jb25maWcudXVpZCwgdGhpcy5jb25maWcuaWRlbnRpZmllciwgcmVxdWVzdClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcclxuICB9XHJcbiAgYXN5bmMgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgYXdhaXQgdGhpcy5wZWZvcm1XaWRnZXRBY3Rpb24odWlBY3Rpb25SZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcclxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2hvdWxkUGVyZm9ybUFjdGlvbjogdHJ1ZSxcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0OiB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -13743,17 +13743,7 @@ class SmartFilterEditorContentComponent {
13743
13743
  this.expressionUiActionModels = [];
13744
13744
  this.type = FilterExpressionBuilderUiModel.TypeEnum;
13745
13745
  }
13746
- ngAfterViewChecked() {
13747
- var _a, _b;
13748
- if (((_a = this.service.model) === null || _a === void 0 ? void 0 : _a.type) === this.type.Simple) {
13749
- if (this.smartFilterChangeSubscription) {
13750
- this.smartFilterChangeSubscription.unsubscribe();
13751
- }
13752
- this.smartFilterChangeSubscription = (_b = this.smartFilterChild) === null || _b === void 0 ? void 0 : _b.service.change.pipe(takeUntil(this._destroy$)).subscribe(() => {
13753
- this.saveFilter();
13754
- });
13755
- }
13756
- }
13746
+ ngAfterViewChecked() { }
13757
13747
  ngOnInit() {
13758
13748
  this.service.load();
13759
13749
  this.service.modelChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
@@ -13765,12 +13755,72 @@ class SmartFilterEditorContentComponent {
13765
13755
  this._destroy$.complete();
13766
13756
  }
13767
13757
  setupSimpleFilter() {
13768
- this.simpleFilterModel = {
13769
- data: this.service.model.model.workplaceList.filters,
13770
- type: SmartFilterType.SIMPLE,
13758
+ var _a, _b, _c, _d, _e, _f, _g;
13759
+ let widgets = [];
13760
+ let key;
13761
+ let model = {};
13762
+ (_c = (_b = (_a = this.service.model) === null || _a === void 0 ? void 0 : _a.model) === null || _b === void 0 ? void 0 : _b.workplaceList) === null || _c === void 0 ? void 0 : _c.filters.forEach((filterExpressionField, index) => {
13763
+ var _a, _b, _c, _d, _e, _f, _g, _h;
13764
+ model[index] = filterExpressionField;
13765
+ if (filterExpressionField.widgetType === 'SELECT_MULTIPLE') {
13766
+ key = index + '.expressionData.operand2.selectedValues';
13767
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, (_a = filterExpressionField.widgetType) !== null && _a !== void 0 ? _a : FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
13768
+ return;
13769
+ }
13770
+ if (((_b = filterExpressionField.expressionData) === null || _b === void 0 ? void 0 : _b.currentOperation) === 'BETWEEN') {
13771
+ key = index + '.expressionData.operand2.valueAsString';
13772
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, (_c = filterExpressionField.widgetType) !== null && _c !== void 0 ? _c : FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
13773
+ key = index + '.expressionData.operand3.valueAsString';
13774
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, (_d = filterExpressionField.widgetType) !== null && _d !== void 0 ? _d : FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
13775
+ return;
13776
+ }
13777
+ if ((_e = filterExpressionField.expressionData) === null || _e === void 0 ? void 0 : _e.operand2) {
13778
+ if (key !== index + '.expressionData.operand2.selectedValues') {
13779
+ key = index + '.expressionData.operand2.valueAsString';
13780
+ }
13781
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label2, (_f = filterExpressionField.widgetType) !== null && _f !== void 0 ? _f : FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
13782
+ return;
13783
+ }
13784
+ if ((_g = filterExpressionField === null || filterExpressionField === void 0 ? void 0 : filterExpressionField.expressionData) === null || _g === void 0 ? void 0 : _g.operand3) {
13785
+ if (key !== index + '.selectedValues') {
13786
+ key = index + '.expressionData.operand3.valueAsString';
13787
+ }
13788
+ widgets.push(this.constructFormWidget(key, filterExpressionField.label3, (_h = filterExpressionField.widgetType) !== null && _h !== void 0 ? _h : FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
13789
+ return;
13790
+ }
13791
+ });
13792
+ this.simpleFilterForm = {
13793
+ direction: SmartFormWidgetDirection.ROW,
13794
+ componentModel: { data: model },
13795
+ useOnValueChangeEvent: true,
13796
+ useOnBlurEvent: true,
13797
+ widgets,
13771
13798
  };
13772
- if (!this.smartFilterChangeSubscription) {
13799
+ if (this.smartFilterChangeSubscription) {
13800
+ this.smartFilterChangeSubscription.unsubscribe();
13801
+ }
13802
+ this.smartFilterChangeSubscription = (_e = (_d = this.simpleFilterFormChild) === null || _d === void 0 ? void 0 : _d.onBlurSubject) === null || _e === void 0 ? void 0 : _e.pipe(takeUntil(this._destroy$)).subscribe(() => {
13803
+ this.saveFilter();
13804
+ });
13805
+ if (this.smartFilterSophisticatedChangeSubscription) {
13806
+ this.smartFilterSophisticatedChangeSubscription.unsubscribe();
13773
13807
  }
13808
+ this.smartFilterSophisticatedChangeSubscription =
13809
+ (_g = (_f = this.simpleFilterFormChild) === null || _f === void 0 ? void 0 : _f.sophisticatedValueChange) === null || _g === void 0 ? void 0 : _g.pipe(takeUntil(this._destroy$)).subscribe((change) => {
13810
+ if (change.kind === 'selection') {
13811
+ console.log(change);
13812
+ this.saveFilter();
13813
+ }
13814
+ });
13815
+ }
13816
+ extractFilterFieldFromFormModel() {
13817
+ var _a;
13818
+ let simpleFilter = (_a = this.simpleFilterFormChild) === null || _a === void 0 ? void 0 : _a.submitForm(false).componentModel.data;
13819
+ let result = [];
13820
+ Object.keys(simpleFilter).forEach((key) => {
13821
+ result.push(simpleFilter[key]);
13822
+ });
13823
+ this.service.model.model.workplaceList.filters = result;
13774
13824
  }
13775
13825
  setUp() {
13776
13826
  var _a;
@@ -13870,11 +13920,8 @@ class SmartFilterEditorContentComponent {
13870
13920
  return [];
13871
13921
  }
13872
13922
  saveFilter() {
13873
- var _a;
13874
13923
  return __awaiter(this, void 0, void 0, function* () {
13875
- let smartFilter = yield ((_a = this.smartFilterChild) === null || _a === void 0 ? void 0 : _a.submit());
13876
- this.service.model.model.workplaceList.filters =
13877
- smartFilter === null || smartFilter === void 0 ? void 0 : smartFilter.data;
13924
+ this.extractFilterFieldFromFormModel();
13878
13925
  this.service.performUiActionRequest({
13879
13926
  code: FilterExpressionBuilderApiActions.SAVE_EXPRESSION_FIELD_LIST,
13880
13927
  params: {
@@ -13883,20 +13930,45 @@ class SmartFilterEditorContentComponent {
13883
13930
  });
13884
13931
  });
13885
13932
  }
13933
+ constructFormWidget(key, label, widgetType, possibleValues) {
13934
+ let type = widgetType;
13935
+ if (type === FilterExpressionFieldWidgetType.Date) {
13936
+ type = SmartFormWidgetType.DATE_PICKER;
13937
+ }
13938
+ else if (type === FilterExpressionFieldWidgetType.DateTime) {
13939
+ type = SmartFormWidgetType.DATE_TIME_PICKER;
13940
+ }
13941
+ let widget = {
13942
+ key,
13943
+ label,
13944
+ type,
13945
+ value: '',
13946
+ showLabel: true,
13947
+ valueList: possibleValues.map((value) => {
13948
+ return {
13949
+ key: value.objectUri ? value.objectUri : value.code,
13950
+ label: value.displayValue,
13951
+ type: SmartFormWidgetType.ITEM,
13952
+ value: value.objectUri ? value.objectUri : value.code,
13953
+ };
13954
+ }),
13955
+ };
13956
+ return widget;
13957
+ }
13886
13958
  }
13887
13959
  SmartFilterEditorContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
13888
- SmartFilterEditorContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "smartFilterChild", first: true, predicate: ["smartFilter"], descendants: true }], ngImport: i0, template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smart-filter #smartFilter [filter]=\"simpleFilterModel\"></smart-filter>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], components: [{ type: SmartFilterComponent, selector: "smart-filter", inputs: ["filter"] }, { type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService"] }, { type: SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items"] }, { type: SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: i3.MatButton, 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"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13960
+ SmartFilterEditorContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "simpleFilterFormChild", first: true, predicate: ["simpleFilterFromChild"], descendants: true }], ngImport: i0, template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smartform #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], components: [{ type: SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService"] }, { type: SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items"] }, { type: i3.MatButton, 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"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13889
13961
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
13890
13962
  type: Component,
13891
- args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smart-filter #smartFilter [filter]=\"simpleFilterModel\"></smart-filter>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
13963
+ args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smartform #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
13892
13964
  }], ctorParameters: function () { return [{ type: SmartformLayoutDefinitionService }]; }, propDecorators: { service: [{
13893
13965
  type: Input
13894
13966
  }], formChild: [{
13895
13967
  type: ViewChild,
13896
13968
  args: ['form']
13897
- }], smartFilterChild: [{
13969
+ }], simpleFilterFormChild: [{
13898
13970
  type: ViewChild,
13899
- args: ['smartFilter']
13971
+ args: ['simpleFilterFromChild']
13900
13972
  }] } });
13901
13973
 
13902
13974
  class SmartFilterEditorModule {
@@ -13912,7 +13984,8 @@ SmartFilterEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
13912
13984
  SmartViewContextModule,
13913
13985
  SmartformModule,
13914
13986
  MatButtonModule,
13915
- SmartFilterModule], exports: [SmartFilterParamsComponent,
13987
+ SmartFilterModule,
13988
+ SmartformModule], exports: [SmartFilterParamsComponent,
13916
13989
  SmartFilterParamComponent,
13917
13990
  SmartFilterEditorContentComponent,
13918
13991
  SmartFilterExpressionItemsComponent,
@@ -13925,6 +13998,7 @@ SmartFilterEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
13925
13998
  SmartformModule,
13926
13999
  MatButtonModule,
13927
14000
  SmartFilterModule,
14001
+ SmartformModule,
13928
14002
  ]] });
13929
14003
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, decorators: [{
13930
14004
  type: NgModule,
@@ -13944,6 +14018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13944
14018
  SmartformModule,
13945
14019
  MatButtonModule,
13946
14020
  SmartFilterModule,
14021
+ SmartformModule,
13947
14022
  ],
13948
14023
  exports: [
13949
14024
  SmartFilterParamsComponent,