@smartbit4all/ng-client 3.1.35 → 3.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/smart-filter-editor/api/api/filter.service.mjs +198 -0
- package/esm2020/lib/smart-filter-editor/api/configuration.mjs +91 -0
- package/esm2020/lib/smart-filter-editor/api/encoder.mjs +19 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +16 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +13 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +9 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +13 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionData.mjs +2 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +19 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionField.mjs +2 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +13 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +13 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +25 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionList.mjs +2 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +2 -0
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +31 -0
- package/esm2020/lib/smart-filter-editor/api/param.mjs +2 -0
- package/esm2020/lib/smart-filter-editor/api/variables.mjs +9 -0
- package/esm2020/lib/smart-filter-editor/project.mjs +4 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +54 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +42 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +109 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-editor.model.mjs +2 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-editor.module.mjs +53 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-editor.service.mjs +43 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +28 -0
- package/esm2020/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +107 -0
- package/esm2020/lib/smart-form/api/api/api.mjs +1 -1
- package/esm2020/lib/smart-form/api/api/default.service.mjs +1 -1
- package/esm2020/lib/smart-form/api/api.module.mjs +1 -1
- package/esm2020/lib/smart-form/api/configuration.mjs +1 -1
- package/esm2020/lib/smart-form/api/encoder.mjs +1 -1
- package/esm2020/lib/smart-form/api/index.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/models.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/propertyMapping.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/param.mjs +1 -1
- package/esm2020/lib/smart-form/api/variables.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2020/lib/smart-ng-client.module.mjs +6 -2
- package/esm2020/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uploadedFile.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewEventHandler.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api/api.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api/value.service.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api.module.mjs +1 -1
- package/esm2020/lib/view-context/value-api/configuration.mjs +1 -1
- package/esm2020/lib/view-context/value-api/encoder.mjs +1 -1
- package/esm2020/lib/view-context/value-api/index.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/genericValue.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/models.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/value.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetData.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
- package/esm2020/lib/view-context/value-api/param.mjs +1 -1
- package/esm2020/lib/view-context/value-api/variables.mjs +1 -1
- package/esm2020/projects.mjs +2 -1
- package/fesm2015/smartbit4all-ng-client.mjs +792 -78
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +774 -78
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-filter-editor/api/api/filter.service.d.ts +57 -0
- package/lib/smart-filter-editor/api/configuration.d.ts +104 -0
- package/lib/smart-filter-editor/api/encoder.d.ts +11 -0
- package/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.d.ts +16 -0
- package/lib/smart-filter-editor/api/model/filterExpressionBuilderField.d.ts +27 -0
- package/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.d.ts +39 -0
- package/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.d.ts +29 -0
- package/lib/smart-filter-editor/api/model/filterExpressionData.d.ts +29 -0
- package/lib/smart-filter-editor/api/model/filterExpressionDataType.d.ts +19 -0
- package/lib/smart-filter-editor/api/model/filterExpressionField.d.ts +38 -0
- package/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.d.ts +17 -0
- package/lib/smart-filter-editor/api/model/filterExpressionFieldList.d.ts +21 -0
- package/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.d.ts +25 -0
- package/lib/smart-filter-editor/api/model/filterExpressionList.d.ts +18 -0
- package/lib/smart-filter-editor/api/model/filterExpressionOperandData.d.ts +26 -0
- package/lib/smart-filter-editor/api/model/filterExpressionOperation.d.ts +31 -0
- package/lib/smart-filter-editor/api/param.d.ts +37 -0
- package/lib/smart-filter-editor/api/variables.d.ts +8 -0
- package/lib/smart-filter-editor/project.d.ts +3 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.d.ts +17 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.d.ts +18 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.d.ts +28 -0
- package/lib/smart-filter-editor/smart-filter-editor.model.d.ts +4 -0
- package/lib/smart-filter-editor/smart-filter-editor.module.d.ts +16 -0
- package/lib/smart-filter-editor/smart-filter-editor.service.d.ts +25 -0
- package/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.d.ts +13 -0
- package/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.d.ts +24 -0
- package/lib/smart-ng-client.module.d.ts +3 -2
- package/package.json +1 -1
- package/projects.d.ts +1 -0
- package/smartbit4all-ng-client-3.1.36.tgz +0 -0
- package/src/lib/smart-filter-editor/api/README.md +226 -0
- package/src/lib/smart-form/api/README.md +226 -226
- package/src/lib/smart-grid/api/grid-api/README.md +226 -226
- package/src/lib/view-context/value-api/README.md +226 -226
- package/smartbit4all-ng-client-3.1.35.tgz +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const BASE_PATH = new InjectionToken('basePath');
|
|
3
|
+
export const COLLECTION_FORMATS = {
|
|
4
|
+
'csv': ',',
|
|
5
|
+
'tsv': ' ',
|
|
6
|
+
'ssv': ' ',
|
|
7
|
+
'pipes': '|'
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9hcGkvdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFTLFVBQVUsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLEtBQUssRUFBRSxHQUFHO0lBQ1YsS0FBSyxFQUFFLEtBQUs7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLE9BQU8sRUFBRSxHQUFHO0NBQ2YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBCQVNFX1BBVEggPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYmFzZVBhdGgnKTtcbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OX0ZPUk1BVFMgPSB7XG4gICAgJ2Nzdic6ICcsJyxcbiAgICAndHN2JzogJyAgICcsXG4gICAgJ3Nzdic6ICcgJyxcbiAgICAncGlwZXMnOiAnfCdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './smart-filter-editor.service';
|
|
2
|
+
export * from './smart-filter-params/smart-filter-params.component';
|
|
3
|
+
export * from './smart-filter-editor-content/smart-filter-editor-content.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3IvcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxxRUFBcUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1maWx0ZXItcGFyYW1zL3NtYXJ0LWZpbHRlci1wYXJhbXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../smart-filter-editor.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class SmartFilterExpressionItemComponent {
|
|
6
|
+
constructor(service) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
this.isSelected = false;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.isSelected =
|
|
12
|
+
JSON.stringify(this.service.model?.selectedField) === JSON.stringify(this.item);
|
|
13
|
+
}
|
|
14
|
+
setOperatorTo(event, operationType) {
|
|
15
|
+
event?.stopPropagation();
|
|
16
|
+
this.item.expressionData.boolOperator = operationType;
|
|
17
|
+
this.service.peformWidgetAction({
|
|
18
|
+
code: 'UPDATE_FILTER_EXPRESSION',
|
|
19
|
+
params: {
|
|
20
|
+
model: this.item,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
select(event, item) {
|
|
25
|
+
event?.stopPropagation();
|
|
26
|
+
if (!this.isSelected) {
|
|
27
|
+
this.service.peformWidgetAction({
|
|
28
|
+
code: 'SELECT_FIELD',
|
|
29
|
+
params: {
|
|
30
|
+
model: this.item,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.service.peformWidgetAction({
|
|
36
|
+
code: 'SELECT_FIELD',
|
|
37
|
+
params: {
|
|
38
|
+
model: this.item,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
SmartFilterExpressionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemComponent, deps: [{ token: i1.SmartFilterEditorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
SmartFilterExpressionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n (click)=\"select($event, item)\"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label\r\n }}{{ item.expressionData?.operand2?.valueAsString ? \": \" : \"\" }}\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }}\r\n </b>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, 'AND')\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === 'AND' ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, 'OR')\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === 'OR' ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n <!-- <button mat-mini-fab color=\"gray\">\r\n\t\t<smart-icon icon=\"X\" color=\"gray\"></smart-icon>\r\n\t</button> -->\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"], components: [{ type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n (click)=\"select($event, item)\"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label\r\n }}{{ item.expressionData?.operand2?.valueAsString ? \": \" : \"\" }}\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }}\r\n </b>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, 'AND')\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === 'AND' ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, 'OR')\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === 'OR' ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n <!-- <button mat-mini-fab color=\"gray\">\r\n\t\t<smart-icon icon=\"X\" color=\"gray\"></smart-icon>\r\n\t</button> -->\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"] }]
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.SmartFilterEditorService }]; }, propDecorators: { item: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], hasNext: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVV6RCxNQUFNLE9BQU8sa0NBQWtDO0lBTTdDLFlBQW9CLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBRnJELGVBQVUsR0FBWSxLQUFLLENBQUM7SUFFNEIsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVSxFQUFFLGFBQTJDO1FBQ25FLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFDOUIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVLEVBQUUsSUFBMkI7UUFDNUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7Z0JBQzlCLElBQUksRUFBRSxjQUFjO2dCQUNwQixNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNqQjthQUNGLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUM5QixJQUFJLEVBQUUsY0FBYztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDakI7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OytIQTFDVSxrQ0FBa0M7bUhBQWxDLGtDQUFrQyx5R0NWL0MsbWxFQW1FQSxnMUJEekRhLGtDQUFrQzsyRkFBbEMsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLHFCQUFxQjsrR0FLdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWV4cHJlc3Npb24taXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaXRlbSE6IEZpbHRlckV4cHJlc3Npb25GaWVsZDtcclxuICBASW5wdXQoKSBoYXNOZXh0ITogYm9vbGVhbjtcclxuXHJcbiAgaXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPVxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQpID09PSBKU09OLnN0cmluZ2lmeSh0aGlzLml0ZW0pO1xyXG4gIH1cclxuXHJcbiAgc2V0T3BlcmF0b3JUbyhldmVudDogYW55LCBvcGVyYXRpb25UeXBlOiBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yKTogdm9pZCB7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLml0ZW0uZXhwcmVzc2lvbkRhdGEhLmJvb2xPcGVyYXRvciA9IG9wZXJhdGlvblR5cGU7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLml0ZW0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdChldmVudDogYW55LCBpdGVtOiBGaWx0ZXJFeHByZXNzaW9uRmllbGQpOiB2b2lkIHtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgICBjb2RlOiAnU0VMRUNUX0ZJRUxEJyxcclxuICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgIG1vZGVsOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgICBjb2RlOiAnU0VMRUNUX0ZJRUxEJyxcclxuICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgIG1vZGVsOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJleHByZXNzaW9uSXRlbUNvbnRhaW5lclwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1Jbm5lckNvbnRhaW5lclwiXHJcbiAgICBbbmdDbGFzc109XCJcclxuICAgICAgaXRlbS5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiA9PT0gJ0VYUFJFU1NJT04nXHJcbiAgICAgICAgPyBpc1NlbGVjdGVkXHJcbiAgICAgICAgICA/ICdzZWxlY3RlZEV4cHJlc3Npb25Db250YWluZXInXHJcbiAgICAgICAgICA6ICdleHByZXNzaW9uQ29udGFpbmVyJ1xyXG4gICAgICAgIDogJydcclxuICAgIFwiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgaXRlbSlcIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uID09PSAnRVhQUkVTU0lPTic7XHJcbiAgICAgICAgdGhlbiBleHByZXNzaW9uO1xyXG4gICAgICAgIGVsc2Ugc2ltcGxlSXRlbVxyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNleHByZXNzaW9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1CdWJibGUgZXhwcmVzc2lvblwiPls8L2Rpdj5cclxuICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1cclxuICAgICAgICBbaXRlbV09XCJzdWJJdGVtXCJcclxuICAgICAgICBbaGFzTmV4dF09XCJpIDwgKGl0ZW0uc3ViRmllbGRMaXN0Py5maWx0ZXJzKSEubGVuZ3RoIC0gMVwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IHN1Ykl0ZW0gb2YgaXRlbS5zdWJGaWVsZExpc3Q/LmZpbHRlcnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICA+PC9hcHAtZXhwcmVzc2lvbi1pdGVtPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1CdWJibGUgZXhwcmVzc2lvblwiPl08L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3NpbXBsZUl0ZW0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImV4cHJlc3Npb25JdGVtQnViYmxlIHNpbXBsZUl0ZW1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImlzU2VsZWN0ZWQgPyAnc2VsZWN0ZWRTaW1wbGVJdGVtJyA6ICcnXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGl0ZW0ubGFiZWxcclxuICAgICAgICB9fXt7IGl0ZW0uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nID8gXCI6IFwiIDogXCJcIiB9fVxyXG4gICAgICAgIDxiPlxyXG4gICAgICAgICAge3sgaXRlbS5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgfX1cclxuICAgICAgICA8L2I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiaGFzTmV4dFwiIGNsYXNzPVwicmVsYXRpb25JdGVtQnViYmxlXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKGNsaWNrKT1cInNldE9wZXJhdG9yVG8oJGV2ZW50LCAnQU5EJylcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5ib29sT3BlcmF0b3IgPT09ICdBTkQnID8gJ21hdC1yYWlzZWQtYnV0dG9uJyA6ICcnXHJcbiAgICAgIFwiXHJcbiAgICAgIGNvbG9yPVwiYmxhY2tcIlxyXG4gICAgPlxyXG4gICAgICDDiVNcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtYnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJzZXRPcGVyYXRvclRvKCRldmVudCwgJ09SJylcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5ib29sT3BlcmF0b3IgPT09ICdPUicgPyAnbWF0LXJhaXNlZC1idXR0b24nIDogJydcclxuICAgICAgXCJcclxuICAgICAgY29sb3I9XCJibGFja1wiXHJcbiAgICA+XHJcbiAgICAgIFZBR1lcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJncmF5XCI+XHJcblx0XHQ8c21hcnQtaWNvbiBpY29uPVwiWFwiIGNvbG9yPVwiZ3JheVwiPjwvc21hcnQtaWNvbj5cclxuXHQ8L2J1dHRvbj4gLS0+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../smart-filter-editor.service";
|
|
6
|
+
import * as i2 from "../smart-filter-expression-item/smart-filter-expression-item.component";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
export class SmartFilterExpressionItemsComponent {
|
|
9
|
+
constructor(service) {
|
|
10
|
+
this.service = service;
|
|
11
|
+
this._destroy$ = new Subject();
|
|
12
|
+
this.isSelected = false;
|
|
13
|
+
this.service.modelChanged.subscribe(() => {
|
|
14
|
+
console.log(this.service.model);
|
|
15
|
+
this.isSelected = this.service.model?.selectedField === null;
|
|
16
|
+
});
|
|
17
|
+
this.isSelected = this.service.model?.selectedField === null;
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
console.log(changes);
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() { }
|
|
23
|
+
ngOnDestroy() {
|
|
24
|
+
this._destroy$.next();
|
|
25
|
+
this._destroy$.complete();
|
|
26
|
+
}
|
|
27
|
+
select() {
|
|
28
|
+
// this.service.selectFilterExpressionField(undefined);
|
|
29
|
+
}
|
|
30
|
+
drop(event) {
|
|
31
|
+
moveItemInArray(this.items, event.previousIndex, event.currentIndex);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
SmartFilterExpressionItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemsComponent, deps: [{ token: i1.SmartFilterEditorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
SmartFilterExpressionItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: { items: "items" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n class=\"expressionsContainer example-list\"\r\n [ngClass]=\"isSelected ? 'selected' : ''\"\r\n>\r\n <div cdkDrag class=\"expressionItem\" *ngFor=\"let item of items; let i = index\">\r\n <app-expression-item\r\n [item]=\"item\"\r\n [hasNext]=\"i < items.length - 1\"\r\n ></app-expression-item>\r\n </div>\r\n</div>\r\n", styles: [".expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;border:1px dashed var(--primary-lighter-gray-color);padding:.25rem;border-radius:.25rem}.selected{border:2px dashed var(--primary-darker-color)}.expressionItem{margin:auto 0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2.SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemsComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'app-expression-items', template: "<div\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n class=\"expressionsContainer example-list\"\r\n [ngClass]=\"isSelected ? 'selected' : ''\"\r\n>\r\n <div cdkDrag class=\"expressionItem\" *ngFor=\"let item of items; let i = index\">\r\n <app-expression-item\r\n [item]=\"item\"\r\n [hasNext]=\"i < items.length - 1\"\r\n ></app-expression-item>\r\n </div>\r\n</div>\r\n", styles: [".expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;border:1px dashed var(--primary-lighter-gray-color);padding:.25rem;border-radius:.25rem}.selected{border:2px dashed var(--primary-darker-color)}.expressionItem{margin:auto 0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.SmartFilterEditorService }]; }, propDecorators: { items: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvY29tcG9uZW50cy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW1zL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFTL0IsTUFBTSxPQUFPLG1DQUFtQztJQU85QyxZQUFvQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQU43QyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJakQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUcxQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsS0FBSyxJQUFJLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsS0FBSyxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxRQUFRLEtBQVUsQ0FBQztJQUNuQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNO1FBQ0osdURBQXVEO0lBQ3pELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBVTtRQUNiLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O2dJQTdCVSxtQ0FBbUM7b0hBQW5DLG1DQUFtQyw2R0NYaEQscWNBY0E7MkZESGEsbUNBQW1DO2tCQUwvQyxTQUFTOytCQUNFLHNCQUFzQjsrR0FPdkIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25GaWVsZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1leHByZXNzaW9uLWl0ZW1zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW1zLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBASW5wdXQoKSBpdGVtcyE6IEZpbHRlckV4cHJlc3Npb25GaWVsZFtdO1xyXG5cclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWxDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VydmljZS5tb2RlbCk7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCA9PT0gbnVsbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkID09PSBudWxsO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhjaGFuZ2VzKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuc2VydmljZS5zZWxlY3RGaWx0ZXJFeHByZXNzaW9uRmllbGQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IGFueSkge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuaXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjZGtEcm9wTGlzdFxyXG4gIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcclxuICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXHJcbiAgY2xhc3M9XCJleHByZXNzaW9uc0NvbnRhaW5lciBleGFtcGxlLWxpc3RcIlxyXG4gIFtuZ0NsYXNzXT1cImlzU2VsZWN0ZWQgPyAnc2VsZWN0ZWQnIDogJydcIlxyXG4+XHJcbiAgPGRpdiBjZGtEcmFnIGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGFwcC1leHByZXNzaW9uLWl0ZW1cclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIFtoYXNOZXh0XT1cImkgPCBpdGVtcy5sZW5ndGggLSAxXCJcclxuICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { SmartFormWidgetDirection } from '../../smart-form/api/model/smartFormWidgetDirection';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../smart-form/services/smartform.layout-definition.service";
|
|
6
|
+
import * as i2 from "../../view-context/smart-ui-action/ui-action-toolbar.component";
|
|
7
|
+
import * as i3 from "./components/smart-filter-expression-items/smart-filter-expression-items.component";
|
|
8
|
+
import * as i4 from "../../smart-form/smartform.component";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
export class SmartFilterEditorContentComponent {
|
|
11
|
+
constructor(layoutService) {
|
|
12
|
+
this.layoutService = layoutService;
|
|
13
|
+
this._destroy$ = new Subject();
|
|
14
|
+
this.uiActionModels = [];
|
|
15
|
+
this.expressionUiActionModels = [];
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.service.load();
|
|
19
|
+
this.service.modelChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
|
|
20
|
+
this.setUp();
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
ngOnDestroy() {
|
|
24
|
+
this._destroy$.next();
|
|
25
|
+
this._destroy$.complete();
|
|
26
|
+
}
|
|
27
|
+
setUp() {
|
|
28
|
+
this.constructUiActionModels();
|
|
29
|
+
if (this.service.model.selectedFieldEditor) {
|
|
30
|
+
this.constructForm();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.smartForm = undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
constructUiActionModels() {
|
|
37
|
+
if (this.service.model?.possibleActions) {
|
|
38
|
+
this.uiActionModels = this.service.model.possibleActions.map((action) => {
|
|
39
|
+
return {
|
|
40
|
+
serviceToUse: this.service,
|
|
41
|
+
uiAction: action,
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (this.service.model?.selectedFieldEditor?.possibleActions) {
|
|
46
|
+
this.expressionUiActionModels = this.service.model?.selectedFieldEditor.possibleActions.map((uiAction) => {
|
|
47
|
+
let copiedUiAction = {};
|
|
48
|
+
Object.keys(uiAction).map((key) => {
|
|
49
|
+
copiedUiAction[key] = uiAction[key];
|
|
50
|
+
});
|
|
51
|
+
copiedUiAction.params = {
|
|
52
|
+
field: this.service.model?.selectedField,
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
serviceToUse: this.service,
|
|
56
|
+
uiAction: copiedUiAction,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
constructForm() {
|
|
62
|
+
let generatedWidgets = this.layoutService.render({
|
|
63
|
+
layoutDefinitions: this.service.model?.selectedFieldEditor?.layoutDef?.widgets,
|
|
64
|
+
});
|
|
65
|
+
this.smartForm = {
|
|
66
|
+
direction: SmartFormWidgetDirection.ROW,
|
|
67
|
+
componentModel: { data: this.service.model?.selectedField },
|
|
68
|
+
widgets: generatedWidgets,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
save() {
|
|
72
|
+
this.formChild?.submitForm(false);
|
|
73
|
+
this.service.peformWidgetAction({
|
|
74
|
+
code: 'UPDATE_FILTER_EXPRESSION',
|
|
75
|
+
params: {
|
|
76
|
+
model: this.service.model?.selectedField,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
remove() {
|
|
81
|
+
this.service.peformWidgetAction({
|
|
82
|
+
code: 'REMOVE_FILTER_EXPRESSION',
|
|
83
|
+
params: {
|
|
84
|
+
model: this.service.model?.selectedField,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
getFilteredUiActionModels(filterPredicate) {
|
|
89
|
+
// return this.service.model!.possibleActions!.filter(filterPredicate).map((uiAction: UiAction) => {
|
|
90
|
+
// return {
|
|
91
|
+
// serviceToUse: this.service,
|
|
92
|
+
// uiAction,
|
|
93
|
+
// };
|
|
94
|
+
// });
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
SmartFilterEditorContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
+
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 }], ngImport: i0, template: "<div class=\"targetGroupContentContainer\">\r\n <h3>C\u00E9lcsoport meghat\u00E1roz\u00E1sa</h3>\r\n\r\n <div class=\"uiActionsBar\">\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)=\"save()\" mat-raised-button color=\"primary\">Ment\u00E9s</button>\r\n <button (click)=\"remove()\" mat-button color=\"accent\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\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.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService"] }, { type: i3.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items"] }, { type: i4.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
|
|
101
|
+
type: Component,
|
|
102
|
+
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>C\u00E9lcsoport meghat\u00E1roz\u00E1sa</h3>\r\n\r\n <div class=\"uiActionsBar\">\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)=\"save()\" mat-raised-button color=\"primary\">Ment\u00E9s</button>\r\n <button (click)=\"remove()\" mat-button color=\"accent\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\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"] }]
|
|
103
|
+
}], ctorParameters: function () { return [{ type: i1.SmartformLayoutDefinitionService }]; }, propDecorators: { service: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], formChild: [{
|
|
106
|
+
type: ViewChild,
|
|
107
|
+
args: ['form']
|
|
108
|
+
}] } });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU0xQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7Ozs7OztBQVMvRixNQUFNLE9BQU8saUNBQWlDO0lBVTVDLFlBQW9CLGFBQStDO1FBQS9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQVQzRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHakQsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLDZCQUF3QixHQUFvQixFQUFFLENBQUM7SUFLdUIsQ0FBQztJQUV2RSxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRS9CLElBQUksSUFBSSxDQUFDLE9BQVEsQ0FBQyxLQUFNLENBQUMsbUJBQW1CLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFO2dCQUNoRixPQUFPO29CQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTztvQkFDMUIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUU7WUFDNUQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQ3pGLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUNyQixJQUFJLGNBQWMsR0FBYSxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7b0JBQ3ZDLGNBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUksUUFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsY0FBYyxDQUFDLE1BQU0sR0FBRztvQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWE7aUJBQ3pDLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQzFCLFFBQVEsRUFBRSxjQUFjO2lCQUN6QixDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxnQkFBZ0IsR0FBMkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdkUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE9BQU87U0FDL0UsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHO1lBQ3ZDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7WUFDM0QsT0FBTyxFQUFFLGdCQUFnQjtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1lBQzlCLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhO2FBQ3pDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1lBQzlCLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhO2FBQ3pDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHlCQUF5QixDQUFDLGVBQWdEO1FBQ3hFLG9HQUFvRztRQUNwRyxhQUFhO1FBQ2Isa0NBQWtDO1FBQ2xDLGdCQUFnQjtRQUNoQixPQUFPO1FBQ1AsTUFBTTtRQUNOLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7OEhBckdVLGlDQUFpQztrSEFBakMsaUNBQWlDLHlNQ2pCOUMscTlDQXdDQTsyRkR2QmEsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGdDQUFnQzt1SEFNakMsT0FBTztzQkFBZixLQUFLO2dCQUthLFNBQVM7c0JBQTNCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc2VydmljZXMvc21hcnRmb3JtLmxheW91dC1kZWZpbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRGb3JtIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1maWx0ZXItZXhwcmVzc2lvbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBTbWFydEZpbHRlckVkaXRvclNlcnZpY2U7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuICBleHByZXNzaW9uVWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdmb3JtJykgZm9ybUNoaWxkPzogU21hcnRmb3JtQ29tcG9uZW50O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UubG9hZCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VXAoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRVcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTtcclxuXHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlIS5tb2RlbCEuc2VsZWN0ZWRGaWVsZEVkaXRvcikge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc21hcnRGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5wb3NzaWJsZUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbC5wb3NzaWJsZUFjdGlvbnMubWFwKChhY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcy5zZXJ2aWNlLFxyXG4gICAgICAgICAgdWlBY3Rpb246IGFjdGlvbixcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5wb3NzaWJsZUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy5leHByZXNzaW9uVWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3IucG9zc2libGVBY3Rpb25zLm1hcChcclxuICAgICAgICAodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29waWVkVWlBY3Rpb246IFVpQWN0aW9uID0ge307XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh1aUFjdGlvbikubWFwKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAoY29waWVkVWlBY3Rpb24gYXMgYW55KVtrZXldID0gKHVpQWN0aW9uIGFzIGFueSlba2V5XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29waWVkVWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgICAgICBmaWVsZDogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNlcnZpY2VUb1VzZTogdGhpcy5zZXJ2aWNlLFxyXG4gICAgICAgICAgICB1aUFjdGlvbjogY29waWVkVWlBY3Rpb24sXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XHJcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5sYXlvdXREZWY/LndpZGdldHMsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ2hpbGQ/LnN1Ym1pdEZvcm0oZmFsc2UpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgIGNvZGU6ICdVUERBVEVfRklMVEVSX0VYUFJFU1NJT04nLFxyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBtb2RlbDogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1JFTU9WRV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkVWlBY3Rpb25Nb2RlbHMoZmlsdGVyUHJlZGljYXRlOiAodWlBY3Rpb246IFVpQWN0aW9uKSA9PiBib29sZWFuKTogVWlBY3Rpb25Nb2RlbFtdIHtcclxuICAgIC8vIHJldHVybiB0aGlzLnNlcnZpY2UubW9kZWwhLnBvc3NpYmxlQWN0aW9ucyEuZmlsdGVyKGZpbHRlclByZWRpY2F0ZSkubWFwKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgIC8vICAgcmV0dXJuIHtcclxuICAgIC8vICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcclxuICAgIC8vICAgICB1aUFjdGlvbixcclxuICAgIC8vICAgfTtcclxuICAgIC8vIH0pO1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGFyZ2V0R3JvdXBDb250ZW50Q29udGFpbmVyXCI+XHJcbiAgPGgzPkPDqWxjc29wb3J0IG1lZ2hhdMOhcm96w6FzYTwvaDM+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJ1aUFjdGlvbnNCYXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ1aUFjdGlvbnNJbnNpZGVPZkJhclwiPlxyXG4gICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIHNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoO1xyXG4gICAgICB0aGVuIHdpdGhQYXJhbWV0ZXJzO1xyXG4gICAgICBlbHNlIHdpdGhvdXRQYXJhbWV0ZXJzXHJcbiAgICBcIlxyXG4gID48L2Rpdj5cclxuICA8bmctdGVtcGxhdGUgI3dpdGhvdXRQYXJhbWV0ZXJzPlxyXG4gICAgPGRpdiBjbGFzcz1cIndpdGhvdXRQYXJhbWV0ZXJzQ29udGFpbmVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWJvZHlcIj4gTcOpZyBuaW5jcyBtZWdhZHZhIHBhcmFtw6l0ZXIgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI3dpdGhQYXJhbWV0ZXJzPlxyXG4gICAgPGRpdiBjbGFzcz1cIndpdGhQYXJhbWV0ZXJzQ29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImV4cHJlc3Npb25zQ29udGFpbmVyXCJcclxuICAgICAgICAqbmdJZj1cInNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxhcHAtZXhwcmVzc2lvbi1pdGVtc1xyXG4gICAgICAgICAgW2l0ZW1zXT1cIihzZXJ2aWNlLm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdCkhLmZpbHRlcnNcIlxyXG4gICAgICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW1zPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4cHJlc3Npb25FZGl0b3JDb250YWluZXJcIj5cclxuICAgICAgICA8c21hcnRmb3JtICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNtYXJ0Rm9ybVwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+TWVudMOpczwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKClcIiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCI+VMO2cmzDqXM8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB7XHJcbiAgdXVpZDogc3RyaW5nO1xyXG4gIGlkZW50aWZpZXI6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { SmartFilterParamsComponent } from './smart-filter-params/smart-filter-params.component';
|
|
3
|
+
import { SmartFilterParamComponent } from './smart-filter-params/components/smart-filter-param/smart-filter-param.component';
|
|
4
|
+
import { SmartFilterEditorContentComponent } from './smart-filter-editor-content/smart-filter-editor-content.component';
|
|
5
|
+
import { SmartFilterExpressionItemsComponent } from './smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component';
|
|
6
|
+
import { SmartFilterExpressionItemComponent } from './smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component';
|
|
7
|
+
import { SmartIconModule } from '../smart-icon/projects';
|
|
8
|
+
import { SmartExpandableSectionModule } from '../smart-expandable-section/smart-expandable-section.module';
|
|
9
|
+
import { SmartViewContextModule } from '../view-context/smart-view-context.module';
|
|
10
|
+
import { SmartformModule } from '../smart-form/smartform.module';
|
|
11
|
+
import { CommonModule } from '@angular/common';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class SmartFilterEditorModule {
|
|
14
|
+
}
|
|
15
|
+
SmartFilterEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
SmartFilterEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, declarations: [SmartFilterParamsComponent,
|
|
17
|
+
SmartFilterParamComponent,
|
|
18
|
+
SmartFilterEditorContentComponent,
|
|
19
|
+
SmartFilterExpressionItemsComponent,
|
|
20
|
+
SmartFilterExpressionItemComponent], imports: [CommonModule,
|
|
21
|
+
SmartIconModule,
|
|
22
|
+
SmartExpandableSectionModule,
|
|
23
|
+
SmartViewContextModule,
|
|
24
|
+
SmartformModule] });
|
|
25
|
+
SmartFilterEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, providers: [], imports: [[
|
|
26
|
+
CommonModule,
|
|
27
|
+
SmartIconModule,
|
|
28
|
+
SmartExpandableSectionModule,
|
|
29
|
+
SmartViewContextModule,
|
|
30
|
+
SmartformModule,
|
|
31
|
+
]] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, decorators: [{
|
|
33
|
+
type: NgModule,
|
|
34
|
+
args: [{
|
|
35
|
+
declarations: [
|
|
36
|
+
SmartFilterParamsComponent,
|
|
37
|
+
SmartFilterParamComponent,
|
|
38
|
+
SmartFilterEditorContentComponent,
|
|
39
|
+
SmartFilterExpressionItemsComponent,
|
|
40
|
+
SmartFilterExpressionItemComponent,
|
|
41
|
+
],
|
|
42
|
+
imports: [
|
|
43
|
+
CommonModule,
|
|
44
|
+
SmartIconModule,
|
|
45
|
+
SmartExpandableSectionModule,
|
|
46
|
+
SmartViewContextModule,
|
|
47
|
+
SmartformModule,
|
|
48
|
+
],
|
|
49
|
+
exports: [],
|
|
50
|
+
providers: [],
|
|
51
|
+
}]
|
|
52
|
+
}] });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0gsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0hBQWdILENBQUM7QUFDckssT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEdBQThHLENBQUM7QUFDbEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBb0IvQyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBaEJoQywwQkFBMEI7UUFDMUIseUJBQXlCO1FBQ3pCLGlDQUFpQztRQUNqQyxtQ0FBbUM7UUFDbkMsa0NBQWtDLGFBR2xDLFlBQVk7UUFDWixlQUFlO1FBQ2YsNEJBQTRCO1FBQzVCLHNCQUFzQjtRQUN0QixlQUFlO3FIQUtOLHVCQUF1QixhQUZ2QixFQUFFLFlBUko7WUFDUCxZQUFZO1lBQ1osZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixzQkFBc0I7WUFDdEIsZUFBZTtTQUNoQjsyRkFJVSx1QkFBdUI7a0JBbEJuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZiw0QkFBNEI7d0JBQzVCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLXBhcmFtcy9zbWFydC1maWx0ZXItcGFyYW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1wYXJhbXMvY29tcG9uZW50cy9zbWFydC1maWx0ZXItcGFyYW0vc21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNtYXJ0RmlsdGVyUGFyYW1zQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJQYXJhbUNvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNtYXJ0SWNvbk1vZHVsZSxcclxuICAgIFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUsXHJcbiAgICBTbWFydFZpZXdDb250ZXh0TW9kdWxlLFxyXG4gICAgU21hcnRmb3JtTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW10sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./api/api/filter.service";
|
|
5
|
+
export class SmartFilterEditorService {
|
|
6
|
+
constructor(service) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
this.modelChanged = new Subject();
|
|
9
|
+
this.submit = new Subject();
|
|
10
|
+
this.reSubscribeToChange = new Subject();
|
|
11
|
+
}
|
|
12
|
+
async load() {
|
|
13
|
+
this.model = await this.service.load(this.config.uuid, this.config.identifier).toPromise();
|
|
14
|
+
this.modelChanged.next();
|
|
15
|
+
}
|
|
16
|
+
async peformWidgetAction(request) {
|
|
17
|
+
this.model = await this.service
|
|
18
|
+
.performWidgetAction(this.config.uuid, this.config.identifier, request)
|
|
19
|
+
.toPromise();
|
|
20
|
+
this.modelChanged.next();
|
|
21
|
+
}
|
|
22
|
+
getModel() {
|
|
23
|
+
return this.model;
|
|
24
|
+
}
|
|
25
|
+
async performUiActionRequest(uiActionRequest, widgetId, nodeId) {
|
|
26
|
+
await this.peformWidgetAction(uiActionRequest);
|
|
27
|
+
}
|
|
28
|
+
async handleSpecificDemandsAsynchronously(uiAction, uiActionRequest) {
|
|
29
|
+
return {
|
|
30
|
+
shouldPerformAction: true,
|
|
31
|
+
uiActionRequest: uiActionRequest,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
getAdditionalParams(uiAction) {
|
|
35
|
+
throw new Error('Method not implemented.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
SmartFilterEditorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorService, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
SmartFilterEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorService });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorService, decorators: [{
|
|
41
|
+
type: Injectable
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.FilterService }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFhL0IsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUFvQixPQUFzQjtRQUF0QixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBSjFDLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUMsV0FBTSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLHdCQUFtQixHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRU4sQ0FBQztJQUM5QyxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUF3QjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU87YUFDNUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO2FBQ3RFLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsS0FBSyxDQUFDLHNCQUFzQixDQUMxQixlQUFnQyxFQUNoQyxRQUE2QixFQUM3QixNQUEyQjtRQUUzQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1DQUFtQyxDQUN2QyxRQUFrQixFQUNsQixlQUFnQztRQUVoQyxPQUFPO1lBQ0wsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixlQUFlLEVBQUUsZUFBZTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixDQUFDLFFBQWtCO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDOztxSEExQ1Usd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb25SZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXHJcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxyXG4gIFVzZVVpQWN0aW9uLFxyXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJy4vYXBpL2FwaS9maWx0ZXIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgaW1wbGVtZW50cyBVc2VVaUFjdGlvbiB7XHJcbiAgY29uZmlnITogU21hcnRGaWx0ZXJFZGl0b3JDb25maWc7XHJcbiAgbW9kZWw/OiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWw7XHJcbiAgbW9kZWxDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHJlU3Vic2NyaWJlVG9DaGFuZ2U6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IEZpbHRlclNlcnZpY2UpIHt9XHJcbiAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2UubG9hZCh0aGlzLmNvbmZpZy51dWlkLCB0aGlzLmNvbmZpZy5pZGVudGlmaWVyKS50b1Byb21pc2UoKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2VkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHBlZm9ybVdpZGdldEFjdGlvbihyZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QpIHtcclxuICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2VcclxuICAgICAgLnBlcmZvcm1XaWRnZXRBY3Rpb24odGhpcy5jb25maWcudXVpZCwgdGhpcy5jb25maWcuaWRlbnRpZmllciwgcmVxdWVzdClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcclxuICB9XHJcbiAgYXN5bmMgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgYXdhaXQgdGhpcy5wZWZvcm1XaWRnZXRBY3Rpb24odWlBY3Rpb25SZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcclxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2hvdWxkUGVyZm9ybUFjdGlvbjogdHJ1ZSxcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0OiB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../smart-filter-editor.service";
|
|
4
|
+
import * as i2 from "../../../../smart-icon/smart-icon/smart-icon.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class SmartFilterParamComponent {
|
|
7
|
+
constructor(service) {
|
|
8
|
+
this.service = service;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() { }
|
|
11
|
+
onItemClick(item) {
|
|
12
|
+
this.data.serviceToUse.peformWidgetAction({
|
|
13
|
+
code: 'ADD_FILTER_EXPRESSION',
|
|
14
|
+
params: {
|
|
15
|
+
model: item,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
SmartFilterParamComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterParamComponent, deps: [{ token: i1.SmartFilterEditorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
SmartFilterParamComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterParamComponent, selector: "app-target-group-filter-param", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"targetGroupFilterParamContainer\">\r\n <div\r\n class=\"targetGroupFilterItem\"\r\n *ngFor=\"let data of data?.group\"\r\n (click)=\"onItemClick(data)\"\r\n >\r\n <smart-icon icon=\"Ic24_Chevron_Right\" color=\"gray\"></smart-icon>\r\n <div class=\"mat-caption\">\r\n {{ data.label }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".targetGroupFilterParamContainer{display:flex;flex-direction:column;gap:.25rem}.targetGroupFilterItem{padding:.75rem;border-radius:.25rem;display:flex;flex-direction:row;gap:.5rem;cursor:pointer}.targetGroupFilterItem .mat-caption{margin:auto 0}\n"], components: [{ type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterParamComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'app-target-group-filter-param', template: "<div class=\"targetGroupFilterParamContainer\">\r\n <div\r\n class=\"targetGroupFilterItem\"\r\n *ngFor=\"let data of data?.group\"\r\n (click)=\"onItemClick(data)\"\r\n >\r\n <smart-icon icon=\"Ic24_Chevron_Right\" color=\"gray\"></smart-icon>\r\n <div class=\"mat-caption\">\r\n {{ data.label }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".targetGroupFilterParamContainer{display:flex;flex-direction:column;gap:.25rem}.targetGroupFilterItem{padding:.75rem;border-radius:.25rem;display:flex;flex-direction:row;gap:.5rem;cursor:pointer}.targetGroupFilterItem .mat-caption{margin:auto 0}\n"] }]
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.SmartFilterEditorService }]; }, propDecorators: { data: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLXBhcmFtcy9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1wYXJhbS9zbWFydC1maWx0ZXItcGFyYW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItcGFyYW1zL2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLXBhcmFtL3NtYXJ0LWZpbHRlci1wYXJhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTekQsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtJQUFHLENBQUM7SUFFekQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVyxDQUFDLElBQWtDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBeUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUN0RSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7c0hBZFUseUJBQXlCOzBHQUF6Qix5QkFBeUIsK0ZDVHRDLHlXQVlBOzJGREhhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSwrQkFBK0I7K0dBS2hDLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyRmllbGQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGFyZ2V0LWdyb3VwLWZpbHRlci1wYXJhbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1wYXJhbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGEhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG9uSXRlbUNsaWNrKGl0ZW06IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyRmllbGQpOiB2b2lkIHtcclxuICAgICh0aGlzLmRhdGEuc2VydmljZVRvVXNlIGFzIFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSkucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ0FERF9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiBpdGVtLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YXJnZXRHcm91cEZpbHRlclBhcmFtQ29udGFpbmVyXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJ0YXJnZXRHcm91cEZpbHRlckl0ZW1cIlxyXG4gICAgKm5nRm9yPVwibGV0IGRhdGEgb2YgZGF0YT8uZ3JvdXBcIlxyXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGRhdGEpXCJcclxuICA+XHJcbiAgICA8c21hcnQtaWNvbiBpY29uPVwiSWMyNF9DaGV2cm9uX1JpZ2h0XCIgY29sb3I9XCJncmF5XCI+PC9zbWFydC1pY29uPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XHJcbiAgICAgIHt7IGRhdGEubGFiZWwgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { SmartFilterParamComponent } from './components/smart-filter-param/smart-filter-param.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../component-factory-service/component-factory-service.service";
|
|
6
|
+
import * as i2 from "../../smart-icon/smart-icon/smart-icon.component";
|
|
7
|
+
import * as i3 from "../../smart-expandable-section/expandable-section.component";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
export class SmartFilterParamsComponent {
|
|
10
|
+
// filterComponentRef?: ComponentRef<SmartFilterComponent>;
|
|
11
|
+
// filter?: SmartFilter;
|
|
12
|
+
constructor(cfService) {
|
|
13
|
+
this.cfService = cfService;
|
|
14
|
+
this._destroy$ = new Subject();
|
|
15
|
+
this.expandableSections = [];
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.service.modelChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
|
|
19
|
+
this.setUp(this.service.model);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
this._destroy$.next();
|
|
24
|
+
this._destroy$.complete();
|
|
25
|
+
}
|
|
26
|
+
setUp(model) {
|
|
27
|
+
this.filterBuilder = model.model;
|
|
28
|
+
// this.constructFilter();
|
|
29
|
+
this.constructExpandableSections();
|
|
30
|
+
}
|
|
31
|
+
constructExpandableSections() {
|
|
32
|
+
if (this.filterBuilder.groups) {
|
|
33
|
+
this.expandableSections = this.filterBuilder.groups.map((filterExpressionBuilderGroup) => {
|
|
34
|
+
return {
|
|
35
|
+
title: filterExpressionBuilderGroup.label,
|
|
36
|
+
cssClass: 'filterExpressionBuilderGroup',
|
|
37
|
+
customComponent: SmartFilterParamComponent,
|
|
38
|
+
data: {
|
|
39
|
+
group: filterExpressionBuilderGroup.fields,
|
|
40
|
+
serviceToUse: this.service,
|
|
41
|
+
},
|
|
42
|
+
inputName: 'data',
|
|
43
|
+
isExpanded: true,
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// if (this.service.model?.externalFilterGroup) {
|
|
48
|
+
// this.expandableSectionsFromExcel = {
|
|
49
|
+
// title: this.service.model.externalFilterGroup.label!,
|
|
50
|
+
// cssClass: 'filterExpressionBuilderGroup',
|
|
51
|
+
// customComponent: SmartFilterParamComponent,
|
|
52
|
+
// data: {
|
|
53
|
+
// group: this.service.model.externalFilterGroup.fields,
|
|
54
|
+
// },
|
|
55
|
+
// inputName: 'data',
|
|
56
|
+
// isExpanded: true,
|
|
57
|
+
// };
|
|
58
|
+
// }
|
|
59
|
+
}
|
|
60
|
+
// constructFilter(): void {
|
|
61
|
+
// if (this.filter && this.filterComponentRef) {
|
|
62
|
+
// return;
|
|
63
|
+
// }
|
|
64
|
+
// // this.filter = {
|
|
65
|
+
// // data: this.service.model?.groupFilter?.filters! as FilterExpressionField[],
|
|
66
|
+
// // type: SmartFilterType.Simple,
|
|
67
|
+
// // showPossibleActions: false,
|
|
68
|
+
// // };
|
|
69
|
+
// this.filterVcRef?.clear();
|
|
70
|
+
// this.filterComponentRef = this.cfService.createComponent(
|
|
71
|
+
// this.filterVcRef!,
|
|
72
|
+
// SmartFilterComponent,
|
|
73
|
+
// new Map<string, any>([['filter', this.filter]])
|
|
74
|
+
// );
|
|
75
|
+
// this.filterComponentRef.instance?.service.change
|
|
76
|
+
// .pipe(takeUntil(this._destroy$))
|
|
77
|
+
// .subscribe(() => {
|
|
78
|
+
// let uiAction: UiAction = this.service.model?.filterGroupsAction!;
|
|
79
|
+
// uiAction.params = {
|
|
80
|
+
// filter: {
|
|
81
|
+
// filters: this.filterComponentRef?.instance.service.filter?.data,
|
|
82
|
+
// },
|
|
83
|
+
// };
|
|
84
|
+
// // let uiActionModel: UiActionModel = {
|
|
85
|
+
// // serviceToUse: this.service,
|
|
86
|
+
// // uiAction,
|
|
87
|
+
// // };
|
|
88
|
+
// // this.uiActionService.uiActionModel = uiActionModel;
|
|
89
|
+
// // this.uiActionService.execute(uiAction);
|
|
90
|
+
// });
|
|
91
|
+
// }
|
|
92
|
+
addDataSource() {
|
|
93
|
+
// this.service.addDataSource();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
SmartFilterParamsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterParamsComponent, deps: [{ token: i1.ComponentFactoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
+
SmartFilterParamsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: { service: "service" }, viewQueries: [{ propertyName: "filterVcRef", first: true, predicate: ["smartFilter"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"targetGroupFilterParamsContainer\">\r\n <ng-template #smartFilter></ng-template>\r\n <div class=\"dataSource-options\">\r\n <div class=\"dataSource-btns\">\r\n <div class=\"dataSource-btn\">K\u00FCls\u0151 adatb\u00E1zis</div>\r\n <div class=\"dataSource-btn dataSource-btn-disabled\">Bels\u0151 adatb\u00E1zis</div>\r\n </div>\r\n <div class=\"dataSource-add-database\">\r\n <div class=\"dataSource-add-database-title\">\r\n <smart-icon icon=\"Ic24_View_Table\" color=\"sucess\"></smart-icon>\r\n Adatb\u00E1zis\r\n </div>\r\n <button title=\"add\" mat-icon-button (click)=\"addDataSource()\">\r\n <smart-icon icon=\"Ic24_Plus_Circle\" color=\"success\"></smart-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"sections\">\r\n <smart-expandable-section\r\n class=\"excel\"\r\n *ngIf=\"expandableSectionsFromExcel\"\r\n [data]=\"expandableSectionsFromExcel!\"\r\n ></smart-expandable-section>\r\n <smart-expandable-section\r\n [data]=\"data\"\r\n *ngFor=\"let data of expandableSections\"\r\n ></smart-expandable-section>\r\n </div>\r\n</div>\r\n", styles: [".targetGroupFilterParamsContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;border-right:2px solid var(--primary-dark-color)}.sections{display:flex;flex-direction:column;gap:.25rem}.targetGroupFilterParamsContainer .excel::ng-deep .mat-expansion-panel-body{background-color:var(--success-lighter-color)}.targetGroupFilterParamsContainer .excel::ng-deep .mat-expansion-panel-header.mat-expanded{background-color:var(--success-color)!important}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-body{padding:0 0 0 1rem!important;background-color:var(--light-blue-color)}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header{background-color:var(--primary-light-color);padding:.75rem;height:auto}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header-title{color:var(--primary-lighter-color);font-weight:600}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header.mat-expanded{background-color:var(--accent-color)!important;padding:.75rem;height:auto}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-panel-header-title{color:#fff}.dataSource-btns{display:flex;flex-direction:row;justify-content:space-around;background-color:var(--success-lighter-color);height:44px;padding:8px 12px;align-items:center;border:1.5px solid var(--success-color);border-left:6px solid var(--success-color);border-radius:4px}.dataSource-btn{display:flex;padding:1rem 2rem;justify-content:center;align-items:center;background-color:var(--success-color);border-radius:4px;cursor:pointer}.dataSource-btn-disabled{background-color:var(--success-lighter-color);cursor:auto}.dataSource-add-database{display:flex;flex-direction:row;justify-content:space-between;background-color:var(--success-lighter-color);padding:8px;border-radius:4px}.dataSource-add-database-title{display:flex;flex-direction:row;gap:1rem;align-items:center}.dataSource-options{display:flex;flex-direction:column;gap:1rem}\n"], components: [{ type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { type: i3.ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterParamsComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'smart-filter-group-params', template: "<div class=\"targetGroupFilterParamsContainer\">\r\n <ng-template #smartFilter></ng-template>\r\n <div class=\"dataSource-options\">\r\n <div class=\"dataSource-btns\">\r\n <div class=\"dataSource-btn\">K\u00FCls\u0151 adatb\u00E1zis</div>\r\n <div class=\"dataSource-btn dataSource-btn-disabled\">Bels\u0151 adatb\u00E1zis</div>\r\n </div>\r\n <div class=\"dataSource-add-database\">\r\n <div class=\"dataSource-add-database-title\">\r\n <smart-icon icon=\"Ic24_View_Table\" color=\"sucess\"></smart-icon>\r\n Adatb\u00E1zis\r\n </div>\r\n <button title=\"add\" mat-icon-button (click)=\"addDataSource()\">\r\n <smart-icon icon=\"Ic24_Plus_Circle\" color=\"success\"></smart-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"sections\">\r\n <smart-expandable-section\r\n class=\"excel\"\r\n *ngIf=\"expandableSectionsFromExcel\"\r\n [data]=\"expandableSectionsFromExcel!\"\r\n ></smart-expandable-section>\r\n <smart-expandable-section\r\n [data]=\"data\"\r\n *ngFor=\"let data of expandableSections\"\r\n ></smart-expandable-section>\r\n </div>\r\n</div>\r\n", styles: [".targetGroupFilterParamsContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;border-right:2px solid var(--primary-dark-color)}.sections{display:flex;flex-direction:column;gap:.25rem}.targetGroupFilterParamsContainer .excel::ng-deep .mat-expansion-panel-body{background-color:var(--success-lighter-color)}.targetGroupFilterParamsContainer .excel::ng-deep .mat-expansion-panel-header.mat-expanded{background-color:var(--success-color)!important}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-body{padding:0 0 0 1rem!important;background-color:var(--light-blue-color)}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header{background-color:var(--primary-light-color);padding:.75rem;height:auto}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header-title{color:var(--primary-lighter-color);font-weight:600}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header.mat-expanded{background-color:var(--accent-color)!important;padding:.75rem;height:auto}.targetGroupFilterParamsContainer::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-panel-header-title{color:#fff}.dataSource-btns{display:flex;flex-direction:row;justify-content:space-around;background-color:var(--success-lighter-color);height:44px;padding:8px 12px;align-items:center;border:1.5px solid var(--success-color);border-left:6px solid var(--success-color);border-radius:4px}.dataSource-btn{display:flex;padding:1rem 2rem;justify-content:center;align-items:center;background-color:var(--success-color);border-radius:4px;cursor:pointer}.dataSource-btn-disabled{background-color:var(--success-lighter-color);cursor:auto}.dataSource-add-database{display:flex;flex-direction:row;justify-content:space-between;background-color:var(--success-lighter-color);padding:8px;border-radius:4px}.dataSource-add-database-title{display:flex;flex-direction:row;gap:1rem;align-items:center}.dataSource-options{display:flex;flex-direction:column;gap:1rem}\n"] }]
|
|
101
|
+
}], ctorParameters: function () { return [{ type: i1.ComponentFactoryService }]; }, propDecorators: { service: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], filterVcRef: [{
|
|
104
|
+
type: ViewChild,
|
|
105
|
+
args: ['smartFilter', { read: ViewContainerRef }]
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLXBhcmFtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1wYXJhbXMvc21hcnQtZmlsdGVyLXBhcmFtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1wYXJhbXMvc21hcnQtZmlsdGVyLXBhcmFtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7QUFRekcsTUFBTSxPQUFPLDBCQUEwQjtJQVVyQywyREFBMkQ7SUFDM0Qsd0JBQXdCO0lBRXhCLFlBQW9CLFNBQWtDO1FBQWxDLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBWjlDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUlqRCx1QkFBa0IsR0FBOEIsRUFBRSxDQUFDO0lBUU0sQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBcUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2pDLDBCQUEwQjtRQUUxQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDdEQsQ0FBQyw0QkFBMEQsRUFBRSxFQUFFO2dCQUM3RCxPQUFPO29CQUNMLEtBQUssRUFBRSw0QkFBNEIsQ0FBQyxLQUFNO29CQUMxQyxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxlQUFlLEVBQUUseUJBQXlCO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDRCQUE0QixDQUFDLE1BQU07d0JBQzFDLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTztxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLE1BQU07b0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQixDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELGlEQUFpRDtRQUNqRCx5Q0FBeUM7UUFDekMsNERBQTREO1FBQzVELGdEQUFnRDtRQUNoRCxrREFBa0Q7UUFDbEQsY0FBYztRQUNkLDhEQUE4RDtRQUM5RCxTQUFTO1FBQ1QseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QixPQUFPO1FBQ1AsSUFBSTtJQUNOLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsa0RBQWtEO0lBQ2xELGNBQWM7SUFDZCxNQUFNO0lBRU4sdUJBQXVCO0lBQ3ZCLHFGQUFxRjtJQUNyRix1Q0FBdUM7SUFDdkMscUNBQXFDO0lBQ3JDLFVBQVU7SUFFViwrQkFBK0I7SUFFL0IsOERBQThEO0lBQzlELHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsc0RBQXNEO0lBQ3RELE9BQU87SUFFUCxxREFBcUQ7SUFDckQsdUNBQXVDO0lBQ3ZDLHlCQUF5QjtJQUN6QiwwRUFBMEU7SUFDMUUsNEJBQTRCO0lBQzVCLG9CQUFvQjtJQUNwQiw2RUFBNkU7SUFDN0UsYUFBYTtJQUNiLFdBQVc7SUFFWCxnREFBZ0Q7SUFDaEQseUNBQXlDO0lBQ3pDLHVCQUF1QjtJQUN2QixjQUFjO0lBRWQsK0RBQStEO0lBQy9ELG1EQUFtRDtJQUNuRCxVQUFVO0lBQ1YsSUFBSTtJQUVKLGFBQWE7UUFDWCxnQ0FBZ0M7SUFDbEMsQ0FBQzs7dUhBMUdVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHdMQVFILGdCQUFnQiw2QkN4QnBELHdwQ0E2QkE7MkZEYmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDJCQUEyQjs4R0FNNUIsT0FBTztzQkFBZixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnQtZmFjdG9yeS1zZXJ2aWNlL2NvbXBvbmVudC1mYWN0b3J5LXNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEV4cGFuZGFibGVTZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL2V4cGFuZGFibGUtc2VjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyTW9kZWwgfSBmcm9tICcuLi8uLi9zbWFydC1maWx0ZXIvYXBpL2ZpbHRlci9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlck1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJHcm91cCB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlckdyb3VwJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJQYXJhbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zbWFydC1maWx0ZXItcGFyYW0vc21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbCB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1maWx0ZXItZ3JvdXAtcGFyYW1zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLXBhcmFtcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLXBhcmFtcy5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQElucHV0KCkgc2VydmljZSE6IFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZTtcclxuICBmaWx0ZXJCdWlsZGVyPzogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJNb2RlbDtcclxuXHJcbiAgZXhwYW5kYWJsZVNlY3Rpb25zPzogRXhwYW5kYWJsZVNlY3Rpb248YW55PltdID0gW107XHJcbiAgZXhwYW5kYWJsZVNlY3Rpb25zRnJvbUV4Y2VsPzogRXhwYW5kYWJsZVNlY3Rpb248YW55PjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21hcnRGaWx0ZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICBmaWx0ZXJWY1JlZj86IFZpZXdDb250YWluZXJSZWY7XHJcbiAgLy8gZmlsdGVyQ29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPFNtYXJ0RmlsdGVyQ29tcG9uZW50PjtcclxuICAvLyBmaWx0ZXI/OiBTbWFydEZpbHRlcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZlNlcnZpY2U6IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5tb2RlbENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFVwKHRoaXMuc2VydmljZS5tb2RlbCEpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRVcChtb2RlbDogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlckJ1aWxkZXIgPSBtb2RlbC5tb2RlbDtcclxuICAgIC8vIHRoaXMuY29uc3RydWN0RmlsdGVyKCk7XHJcblxyXG4gICAgdGhpcy5jb25zdHJ1Y3RFeHBhbmRhYmxlU2VjdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlckJ1aWxkZXIhLmdyb3Vwcykge1xyXG4gICAgICB0aGlzLmV4cGFuZGFibGVTZWN0aW9ucyA9IHRoaXMuZmlsdGVyQnVpbGRlciEuZ3JvdXBzLm1hcChcclxuICAgICAgICAoZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJHcm91cDogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJHcm91cCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdGl0bGU6IGZpbHRlckV4cHJlc3Npb25CdWlsZGVyR3JvdXAubGFiZWwhLFxyXG4gICAgICAgICAgICBjc3NDbGFzczogJ2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyR3JvdXAnLFxyXG4gICAgICAgICAgICBjdXN0b21Db21wb25lbnQ6IFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICBncm91cDogZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJHcm91cC5maWVsZHMsXHJcbiAgICAgICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGlucHV0TmFtZTogJ2RhdGEnLFxyXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICAvLyBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy5leHRlcm5hbEZpbHRlckdyb3VwKSB7XHJcbiAgICAvLyAgIHRoaXMuZXhwYW5kYWJsZVNlY3Rpb25zRnJvbUV4Y2VsID0ge1xyXG4gICAgLy8gICAgIHRpdGxlOiB0aGlzLnNlcnZpY2UubW9kZWwuZXh0ZXJuYWxGaWx0ZXJHcm91cC5sYWJlbCEsXHJcbiAgICAvLyAgICAgY3NzQ2xhc3M6ICdmaWx0ZXJFeHByZXNzaW9uQnVpbGRlckdyb3VwJyxcclxuICAgIC8vICAgICBjdXN0b21Db21wb25lbnQ6IFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQsXHJcbiAgICAvLyAgICAgZGF0YToge1xyXG4gICAgLy8gICAgICAgZ3JvdXA6IHRoaXMuc2VydmljZS5tb2RlbC5leHRlcm5hbEZpbHRlckdyb3VwLmZpZWxkcyxcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIGlucHV0TmFtZTogJ2RhdGEnLFxyXG4gICAgLy8gICAgIGlzRXhwYW5kZWQ6IHRydWUsXHJcbiAgICAvLyAgIH07XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAvLyBjb25zdHJ1Y3RGaWx0ZXIoKTogdm9pZCB7XHJcbiAgLy8gICBpZiAodGhpcy5maWx0ZXIgJiYgdGhpcy5maWx0ZXJDb21wb25lbnRSZWYpIHtcclxuICAvLyAgICAgcmV0dXJuO1xyXG4gIC8vICAgfVxyXG5cclxuICAvLyAgIC8vIHRoaXMuZmlsdGVyID0ge1xyXG4gIC8vICAgLy8gICBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/Lmdyb3VwRmlsdGVyPy5maWx0ZXJzISBhcyBGaWx0ZXJFeHByZXNzaW9uRmllbGRbXSxcclxuICAvLyAgIC8vICAgdHlwZTogU21hcnRGaWx0ZXJUeXBlLlNpbXBsZSxcclxuICAvLyAgIC8vICAgc2hvd1Bvc3NpYmxlQWN0aW9uczogZmFsc2UsXHJcbiAgLy8gICAvLyB9O1xyXG5cclxuICAvLyAgIHRoaXMuZmlsdGVyVmNSZWY/LmNsZWFyKCk7XHJcblxyXG4gIC8vICAgdGhpcy5maWx0ZXJDb21wb25lbnRSZWYgPSB0aGlzLmNmU2VydmljZS5jcmVhdGVDb21wb25lbnQoXHJcbiAgLy8gICAgIHRoaXMuZmlsdGVyVmNSZWYhLFxyXG4gIC8vICAgICBTbWFydEZpbHRlckNvbXBvbmVudCxcclxuICAvLyAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snZmlsdGVyJywgdGhpcy5maWx0ZXJdXSlcclxuICAvLyAgICk7XHJcblxyXG4gIC8vICAgdGhpcy5maWx0ZXJDb21wb25lbnRSZWYuaW5zdGFuY2U/LnNlcnZpY2UuY2hhbmdlXHJcbiAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgLy8gICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICAgIGxldCB1aUFjdGlvbjogVWlBY3Rpb24gPSB0aGlzLnNlcnZpY2UubW9kZWw/LmZpbHRlckdyb3Vwc0FjdGlvbiE7XHJcbiAgLy8gICAgICAgdWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gIC8vICAgICAgICAgZmlsdGVyOiB7XHJcbiAgLy8gICAgICAgICAgIGZpbHRlcnM6IHRoaXMuZmlsdGVyQ29tcG9uZW50UmVmPy5pbnN0YW5jZS5zZXJ2aWNlLmZpbHRlcj8uZGF0YSxcclxuICAvLyAgICAgICAgIH0sXHJcbiAgLy8gICAgICAgfTtcclxuXHJcbiAgLy8gICAgICAgLy8gbGV0IHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwgPSB7XHJcbiAgLy8gICAgICAgLy8gICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcclxuICAvLyAgICAgICAvLyAgIHVpQWN0aW9uLFxyXG4gIC8vICAgICAgIC8vIH07XHJcblxyXG4gIC8vICAgICAgIC8vIHRoaXMudWlBY3Rpb25TZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB1aUFjdGlvbk1vZGVsO1xyXG4gIC8vICAgICAgIC8vIHRoaXMudWlBY3Rpb25TZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb24pO1xyXG4gIC8vICAgICB9KTtcclxuICAvLyB9XHJcblxyXG4gIGFkZERhdGFTb3VyY2UoKSB7XHJcbiAgICAvLyB0aGlzLnNlcnZpY2UuYWRkRGF0YVNvdXJjZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGFyZ2V0R3JvdXBGaWx0ZXJQYXJhbXNDb250YWluZXJcIj5cclxuICA8bmctdGVtcGxhdGUgI3NtYXJ0RmlsdGVyPjwvbmctdGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGFTb3VyY2Utb3B0aW9uc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRhdGFTb3VyY2UtYnRuc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0YVNvdXJjZS1idG5cIj5Lw7xsc8WRIGFkYXRiw6F6aXM8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFTb3VyY2UtYnRuIGRhdGFTb3VyY2UtYnRuLWRpc2FibGVkXCI+QmVsc8WRIGFkYXRiw6F6aXM8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImRhdGFTb3VyY2UtYWRkLWRhdGFiYXNlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhU291cmNlLWFkZC1kYXRhYmFzZS10aXRsZVwiPlxyXG4gICAgICAgIDxzbWFydC1pY29uIGljb249XCJJYzI0X1ZpZXdfVGFibGVcIiBjb2xvcj1cInN1Y2Vzc1wiPjwvc21hcnQtaWNvbj5cclxuICAgICAgICBBZGF0YsOhemlzXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIHRpdGxlPVwiYWRkXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGREYXRhU291cmNlKClcIj5cclxuICAgICAgICA8c21hcnQtaWNvbiBpY29uPVwiSWMyNF9QbHVzX0NpcmNsZVwiIGNvbG9yPVwic3VjY2Vzc1wiPjwvc21hcnQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbnNcIj5cclxuICAgIDxzbWFydC1leHBhbmRhYmxlLXNlY3Rpb25cclxuICAgICAgY2xhc3M9XCJleGNlbFwiXHJcbiAgICAgICpuZ0lmPVwiZXhwYW5kYWJsZVNlY3Rpb25zRnJvbUV4Y2VsXCJcclxuICAgICAgW2RhdGFdPVwiZXhwYW5kYWJsZVNlY3Rpb25zRnJvbUV4Y2VsIVwiXHJcbiAgICA+PC9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24+XHJcbiAgICA8c21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uXHJcbiAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBleHBhbmRhYmxlU2VjdGlvbnNcIlxyXG4gICAgPjwvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|