@eqproject/eqp-dynamic-module 2.2.17 → 2.2.18
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/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +20 -7
- package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +2 -1
- package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +12 -3
- package/esm2020/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +75 -0
- package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +413 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +57 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +104 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +85 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +57 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +57 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +120 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +120 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +134 -0
- package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +134 -0
- package/esm2020/lib/eqp-dynamic-module.module.mjs +36 -3
- package/esm2020/lib/models/dynamicModuleViewModeEnum.mjs +2 -1
- package/esm2020/lib/models/endPointConfiguration.model.mjs +13 -1
- package/esm2020/lib/models/logicOperator.model.mjs +36 -0
- package/esm2020/lib/models/statistic.model.mjs +3 -0
- package/fesm2015/eqproject-eqp-dynamic-module.mjs +1565 -223
- package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/fesm2020/eqproject-eqp-dynamic-module.mjs +1526 -185
- package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +6 -2
- package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +3 -2
- package/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.d.ts +42 -0
- package/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.d.ts +99 -0
- package/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.d.ts +21 -0
- package/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.d.ts +37 -0
- package/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.d.ts +33 -0
- package/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.d.ts +21 -0
- package/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.d.ts +21 -0
- package/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.d.ts +46 -0
- package/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.d.ts +40 -0
- package/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.d.ts +43 -0
- package/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.d.ts +43 -0
- package/lib/eqp-dynamic-module.module.d.ts +21 -10
- package/lib/models/dynamicModuleViewModeEnum.d.ts +2 -1
- package/lib/models/endPointConfiguration.model.d.ts +1 -0
- package/lib/models/logicOperator.model.d.ts +30 -0
- package/lib/models/statistic.model.d.ts +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { LogicOperatorBoolean } from '../../../../../models/logicOperator.model';
|
|
3
|
+
import { Statistic } from '../../../../../models/statistic.model';
|
|
4
|
+
import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/input";
|
|
7
|
+
import * as i2 from "@angular/material/form-field";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "@eqproject/eqp-select";
|
|
11
|
+
export class BooleanFilterTemplateComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.filterChange = new EventEmitter();
|
|
14
|
+
this.validatorsArray = [];
|
|
15
|
+
this.logicOperatorBoolean = LogicOperatorBoolean;
|
|
16
|
+
this.activeCondition = false;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.configureControllers();
|
|
20
|
+
this.initStyles();
|
|
21
|
+
}
|
|
22
|
+
//Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
|
|
23
|
+
initStyles() {
|
|
24
|
+
if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
|
|
25
|
+
this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
29
|
+
*/
|
|
30
|
+
onFilterChange() {
|
|
31
|
+
if (this.selectedLogicOperator != null) {
|
|
32
|
+
this.activeCondition = true;
|
|
33
|
+
this.filterChange.emit(this.generateCondition("active"));
|
|
34
|
+
}
|
|
35
|
+
if (this.activeCondition && this.selectedLogicOperator == null) {
|
|
36
|
+
this.activeCondition = false;
|
|
37
|
+
this.filterChange.emit(this.generateCondition("deactivated"));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Metodo che genera l'oggetto da inviare all'esterno
|
|
42
|
+
*/
|
|
43
|
+
generateCondition(mode) {
|
|
44
|
+
let output = new Statistic();
|
|
45
|
+
if (mode == "active") {
|
|
46
|
+
output = {
|
|
47
|
+
key: this.field.Name,
|
|
48
|
+
value: this.record[this.field.Name].toString(),
|
|
49
|
+
logicoperator: this.selectedLogicOperator,
|
|
50
|
+
fieldtype: this.field.FieldType
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
output = {
|
|
55
|
+
key: this.field.Name,
|
|
56
|
+
value: null,
|
|
57
|
+
logicoperator: null,
|
|
58
|
+
fieldtype: null
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return output;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Metodo per configurare eqp-numeric
|
|
65
|
+
*/
|
|
66
|
+
// private configureEqpNumericOptions() {
|
|
67
|
+
// this.eqpNumericOptions.suffix = this.field.MeasureUnit ? " "+this.field.MeasureUnit+" " : "";
|
|
68
|
+
// this.eqpNumericOptions.prefix = this.field.CurrencySymbol ? this.field.CurrencySymbol+" " : "";
|
|
69
|
+
// this.eqpNumericOptions.inputMode = this.field.CurrencySymbol ? EqpNumericInputMode.FINANCIAL : EqpNumericInputMode.NATURAL;
|
|
70
|
+
// this.eqpNumericOptions.allowNegative=true;
|
|
71
|
+
// if (this.field.DecimalSeparator != null && this.field.DecimalSeparator != undefined)
|
|
72
|
+
// this.eqpNumericOptions.decimal = this.field.DecimalSeparator;
|
|
73
|
+
// else
|
|
74
|
+
// this.eqpNumericOptions.decimal=".";
|
|
75
|
+
// if (this.field.ThousandsSeparator != null && this.field.ThousandsSeparator != undefined)
|
|
76
|
+
// this.eqpNumericOptions.thousands = this.field.ThousandsSeparator;
|
|
77
|
+
// if(this.field.IsInteger== false){
|
|
78
|
+
// if (this.field.DecimalPrecision != null && this.field.DecimalPrecision != undefined) { this.eqpNumericOptions.precision = this.field.DecimalPrecision; }
|
|
79
|
+
// else { this.eqpNumericOptions.precision = 2; }
|
|
80
|
+
// }else{
|
|
81
|
+
// this.eqpNumericOptions.precision = 0;
|
|
82
|
+
// }
|
|
83
|
+
// }
|
|
84
|
+
/**
|
|
85
|
+
* Metodo di aggiunta dei validator dell'input
|
|
86
|
+
*/
|
|
87
|
+
configureControllers() {
|
|
88
|
+
this.validatorsArray = [];
|
|
89
|
+
this.field.FormFormGroup.get([this.field.Name]).setValidators(this.validatorsArray);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
BooleanFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BooleanFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
+
BooleanFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BooleanFilterTemplateComponent, selector: "boolean-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput [formControlName]=\"field.Name\" [disabled] [readonly]=\"true\"\r\n [required]=\"false\" [(ngModel)]=\"record[field.Name]\" \r\n />\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorBoolean\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }] });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BooleanFilterTemplateComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ selector: 'boolean-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput [formControlName]=\"field.Name\" [disabled] [readonly]=\"true\"\r\n [required]=\"false\" [(ngModel)]=\"record[field.Name]\" \r\n />\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorBoolean\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
|
|
97
|
+
}], ctorParameters: function () { return []; }, propDecorators: { field: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], record: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], filterChange: [{
|
|
102
|
+
type: Output
|
|
103
|
+
}] } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL2Jvb2xlYW4tZmlsdGVyLXRlbXBsYXRlL2Jvb2xlYW4tZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9ib29sZWFuLWZpbHRlci10ZW1wbGF0ZS9ib29sZWFuLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQU10RixNQUFNLE9BQU8sOEJBQThCO0lBYTNDO1FBVlksaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRSxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1Qix5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUU1QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztJQU9uQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUMsa0ZBQWtGO0lBQ2xGLFVBQVU7UUFDUixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxTQUFTO1lBQzVFLElBQUksQ0FBQyxhQUFhLEdBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOztNQUVFO0lBQ0YsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksRUFBQztZQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSyxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxFQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBRUgsaUJBQWlCLENBQUMsSUFBSTtRQUNwQixJQUFJLE1BQU0sR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBQztZQUNuQixNQUFNLEdBQUc7Z0JBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzlDLGFBQWEsRUFBRSxJQUFJLENBQUMscUJBQXFCO2dCQUN6QyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO2FBQ2hDLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxHQUFHO2dCQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJO2dCQUNYLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDO1NBQ0g7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O01BRUU7SUFDRix5Q0FBeUM7SUFFekMsb0dBQW9HO0lBQ3BHLG9HQUFvRztJQUNwRyxnSUFBZ0k7SUFDaEksK0NBQStDO0lBQy9DLHlGQUF5RjtJQUN6RixrRUFBa0U7SUFDbEUsU0FBUztJQUNULHdDQUF3QztJQUN4Qyw2RkFBNkY7SUFDN0Ysc0VBQXNFO0lBQ3RFLHNDQUFzQztJQUN0QywrSkFBK0o7SUFDL0oscURBQXFEO0lBQ3JELFdBQVc7SUFDWCw0Q0FBNEM7SUFDNUMsTUFBTTtJQUNOLElBQUk7SUFFSjs7TUFFRTtJQUNNLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RixDQUFDOzsySEEvRlksOEJBQThCOytHQUE5Qiw4QkFBOEIsd0pDWDNDLDB1QkFhQTsyRkRGYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UseUJBQXlCOzBFQUsxQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgTG9naWNPcGVyYXRvckJvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvbG9naWNPcGVyYXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFN0YXRpc3RpYyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9zdGF0aXN0aWMubW9kZWwnO1xyXG5pbXBvcnQgeyBCb29sZWFuRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2Jvb2xlYW5GaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYm9vbGVhbi1maWx0ZXItdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib29sZWFuLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYm9vbGVhbi1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm9vbGVhbkZpbHRlclRlbXBsYXRlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmaWVsZDogQm9vbGVhbkZpZWxkO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgdmFsaWRhdG9yc0FycmF5OiBhbnlbXSA9IFtdO1xyXG4gIGxvZ2ljT3BlcmF0b3JCb29sZWFuID0gTG9naWNPcGVyYXRvckJvb2xlYW47XHJcbiAgc2VsZWN0ZWRMb2dpY09wZXJhdG9yOiBMb2dpY09wZXJhdG9yQm9vbGVhbjtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbi8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG5GaWVsZHN0eWxlT2JqOiBhbnk7XHJcbkxhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbmNvbnN0cnVjdG9yKCkge1xyXG59XHJcblxyXG5uZ09uSW5pdCgpOiB2b2lkIHtcclxuICB0aGlzLmNvbmZpZ3VyZUNvbnRyb2xsZXJzKCk7XHJcbiAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbn1cclxuXHJcbiAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vbkZpbHRlckNoYW5nZSgpIHtcclxuICBpZiAodGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgIT0gbnVsbCl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJhY3RpdmVcIikpO1xyXG4gIH1cclxuICBpZiAodGhpcy5hY3RpdmVDb25kaXRpb24gJiYgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID09IG51bGwpe1xyXG4gICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImRlYWN0aXZhdGVkXCIpKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gY2hlIGdlbmVyYSBsJ29nZ2V0dG8gZGEgaW52aWFyZSBhbGwnZXN0ZXJub1xyXG4gKi9cclxuXHJcbmdlbmVyYXRlQ29uZGl0aW9uKG1vZGUpe1xyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0udG9TdHJpbmcoKSxcclxuICAgICAgbG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IsXHJcbiAgICAgIGZpZWxkdHlwZTogdGhpcy5maWVsZC5GaWVsZFR5cGVcclxuICAgIH07XHJcbiAgfSBlbHNlIHtcclxuICAgIG91dHB1dCA9IHtcclxuICAgICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiBudWxsLFxyXG4gICAgICBmaWVsZHR5cGU6IG51bGxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG4vKipcclxuKiBNZXRvZG8gcGVyIGNvbmZpZ3VyYXJlIGVxcC1udW1lcmljXHJcbiovXHJcbi8vIHByaXZhdGUgY29uZmlndXJlRXFwTnVtZXJpY09wdGlvbnMoKSB7XHJcblxyXG4vLyAgIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuc3VmZml4ID0gdGhpcy5maWVsZC5NZWFzdXJlVW5pdCA/IFwiICBcIit0aGlzLmZpZWxkLk1lYXN1cmVVbml0K1wiICBcIiA6IFwiXCI7XHJcbi8vICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVmaXggPSB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sID8gdGhpcy5maWVsZC5DdXJyZW5jeVN5bWJvbCtcIiBcIiA6IFwiXCI7XHJcbi8vICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5pbnB1dE1vZGUgPSB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sID8gRXFwTnVtZXJpY0lucHV0TW9kZS5GSU5BTkNJQUwgOiBFcXBOdW1lcmljSW5wdXRNb2RlLk5BVFVSQUw7XHJcbi8vICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5hbGxvd05lZ2F0aXZlPXRydWU7XHJcbi8vICAgaWYgKHRoaXMuZmllbGQuRGVjaW1hbFNlcGFyYXRvciAhPSBudWxsICYmIHRoaXMuZmllbGQuRGVjaW1hbFNlcGFyYXRvciAhPSB1bmRlZmluZWQpXHJcbi8vICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5kZWNpbWFsID0gdGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yO1xyXG4vLyAgIGVsc2VcclxuLy8gICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWw9XCIuXCI7XHJcbi8vICAgaWYgKHRoaXMuZmllbGQuVGhvdXNhbmRzU2VwYXJhdG9yICE9IG51bGwgJiYgdGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gdW5kZWZpbmVkKVxyXG4vLyAgIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMudGhvdXNhbmRzID0gdGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3I7XHJcbi8vICAgaWYodGhpcy5maWVsZC5Jc0ludGVnZXI9PSBmYWxzZSl7XHJcbi8vICAgICBpZiAodGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uICE9IG51bGwgJiYgdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uICE9IHVuZGVmaW5lZCkgeyB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IHRoaXMuZmllbGQuRGVjaW1hbFByZWNpc2lvbjsgfVxyXG4vLyAgICAgZWxzZSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gMjsgfVxyXG4vLyAgIH1lbHNle1xyXG4vLyAgICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24gPSAwO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLyoqXHJcbiogTWV0b2RvIGRpIGFnZ2l1bnRhIGRlaSB2YWxpZGF0b3IgZGVsbCdpbnB1dFxyXG4qL1xyXG5wcml2YXRlIGNvbmZpZ3VyZUNvbnRyb2xsZXJzKCkge1xyXG4gIHRoaXMudmFsaWRhdG9yc0FycmF5ID0gW107XHJcbiAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmdldChbdGhpcy5maWVsZC5OYW1lXSkuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnNBcnJheSk7XHJcbn1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTkgdmFsdWVDb2xcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmaWVsZC5Gb3JtRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWwgIGNsYXNzPVwicHQtMSBwcy0zXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPiB7e2ZpZWxkLkRlc2NyaXB0aW9ufX0gPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLk5hbWVcIiBbZGlzYWJsZWRdIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwicmVjb3JkW2ZpZWxkLk5hbWVdXCIgIFxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIG9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPGVxcC1zZWxlY3QgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JCb29sZWFuXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JcIiAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCI+PC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { PickerModeEnum } from '@eqproject/eqp-datetimepicker';
|
|
3
|
+
import { DateTimeTypeEnum } from '../../../../../models/fields/dateField.model';
|
|
4
|
+
import { LogicOperatorDate } from '../../../../../models/logicOperator.model';
|
|
5
|
+
import { Statistic } from '../../../../../models/statistic.model';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@eqproject/eqp-select";
|
|
9
|
+
import * as i3 from "@eqproject/eqp-datetimepicker";
|
|
10
|
+
export class DateFilterTemplateComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.filterChange = new EventEmitter();
|
|
13
|
+
this.logicOperatorNumeric = LogicOperatorDate;
|
|
14
|
+
this.activeCondition = false;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.setTimeType();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* In base al formato della data richiesta nel DateField (solo data, solo orario o data e ora)
|
|
21
|
+
* imposta la visualizzazione corretta del componente eqp-datetimepicker.
|
|
22
|
+
*/
|
|
23
|
+
setTimeType() {
|
|
24
|
+
switch (this.field.IsOnlyDate) {
|
|
25
|
+
case DateTimeTypeEnum["Solo data"]:
|
|
26
|
+
this.pickerMode = PickerModeEnum.DATE;
|
|
27
|
+
break;
|
|
28
|
+
case DateTimeTypeEnum["Solo orario"]:
|
|
29
|
+
this.pickerMode = PickerModeEnum.TIME;
|
|
30
|
+
break;
|
|
31
|
+
case DateTimeTypeEnum["Data e ora"]:
|
|
32
|
+
this.pickerMode = PickerModeEnum.DATETIME;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
38
|
+
*/
|
|
39
|
+
onFilterChange() {
|
|
40
|
+
if (this.record[this.field.Name] != null && this.selectedLogicOperator != null) {
|
|
41
|
+
this.activeCondition = true;
|
|
42
|
+
this.filterChange.emit(this.generateCondition("active"));
|
|
43
|
+
}
|
|
44
|
+
if (this.activeCondition && (this.record[this.field.Name] == null || this.record[this.field.Name] == "" || this.selectedLogicOperator == null)) {
|
|
45
|
+
this.activeCondition = false;
|
|
46
|
+
this.filterChange.emit(this.generateCondition("deactivated"));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Metodo che genera l'oggetto da inviare all'esterno
|
|
51
|
+
*/
|
|
52
|
+
generateCondition(mode) {
|
|
53
|
+
let output = new Statistic();
|
|
54
|
+
if (mode == "active") {
|
|
55
|
+
output = {
|
|
56
|
+
key: this.field.Name,
|
|
57
|
+
value: this.record[this.field.Name],
|
|
58
|
+
logicoperator: this.selectedLogicOperator,
|
|
59
|
+
fieldtype: this.field.FieldType
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
output = {
|
|
64
|
+
key: this.field.Name,
|
|
65
|
+
value: null,
|
|
66
|
+
logicoperator: null,
|
|
67
|
+
fieldtype: null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return output;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
DateFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
DateFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DateFilterTemplateComponent, selector: "date-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <eqp-datetimepicker [placeholder]=\"field.Description\" [UTCDate]=\"true\" [pickerMode]=\"pickerMode\"\r\n [formGroupInput]=\"field.FormFormGroup\" [formControlNameInput]=\"field.Name\"\r\n [minDate]=\"field.MinDate ? field.MinDate : null\" [maxDate]=\"field.MaxDate ? field.MaxDate : null\"\r\n [isRequired]=\"false\" [disabled]=\"field.FormFormGroup.disabled\" [(ngModelInput)]=\"record[field.Name]\"\r\n (ngModelInputChange)=\"onFilterChange()\" [customDateFormat]=\"field.DateFormat ? field.DateFormat : null\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i3.EqpDateTimePickerComponent, selector: "eqp-datetimepicker", inputs: ["placeholder", "ngModelInput", "UTCDate", "timeType", "pickerMode", "formControlNameInput", "formGroupInput", "isRequired", "minDate", "maxDate", "readonlyInput", "disabled", "showSpinners", "showSeconds", "disableMinute", "defaultTime", "stepHour", "stepMinute", "stepSecond", "color", "enableMeridian", "touchUi", "customDateFormat"], outputs: ["ngModelInputChange", "onDateChange"] }] });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateFilterTemplateComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'date-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <eqp-datetimepicker [placeholder]=\"field.Description\" [UTCDate]=\"true\" [pickerMode]=\"pickerMode\"\r\n [formGroupInput]=\"field.FormFormGroup\" [formControlNameInput]=\"field.Name\"\r\n [minDate]=\"field.MinDate ? field.MinDate : null\" [maxDate]=\"field.MaxDate ? field.MaxDate : null\"\r\n [isRequired]=\"false\" [disabled]=\"field.FormFormGroup.disabled\" [(ngModelInput)]=\"record[field.Name]\"\r\n (ngModelInputChange)=\"onFilterChange()\" [customDateFormat]=\"field.DateFormat ? field.DateFormat : null\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
|
|
78
|
+
}], ctorParameters: function () { return []; }, propDecorators: { field: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], record: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], filterChange: [{
|
|
83
|
+
type: Output
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL2RhdGUtZmlsdGVyLXRlbXBsYXRlL2RhdGUtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9kYXRlLWZpbHRlci10ZW1wbGF0ZS9kYXRlLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRS9ELE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFPbEUsTUFBTSxPQUFPLDJCQUEyQjtJQVl0QztRQVJVLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJcEUseUJBQW9CLEdBQUcsaUJBQWlCLENBQUM7UUFFekMsb0JBQWUsR0FBWSxLQUFLLENBQUM7SUFFakIsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxXQUFXO1FBQ2pCLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDN0IsS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdEMsTUFBTTtZQUNSLEtBQUssZ0JBQWdCLENBQUMsYUFBYSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLE1BQU07WUFDUixLQUFLLGdCQUFnQixDQUFDLFlBQVksQ0FBQztnQkFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO2dCQUMxQyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUg7O01BRUU7SUFDRixjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLEVBQUM7WUFDN0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxFQUFDO1lBQzdJLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBRUgsaUJBQWlCLENBQUMsSUFBSTtRQUNwQixJQUFJLE1BQU0sR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBQztZQUNuQixNQUFNLEdBQUc7Z0JBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLGFBQWEsRUFBRSxJQUFJLENBQUMscUJBQXFCO2dCQUN6QyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO2FBQ2hDLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxHQUFHO2dCQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJO2dCQUNYLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDO1NBQ0g7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzt3SEF6RVksMkJBQTJCOzRHQUEzQiwyQkFBMkIscUpDWnhDLGkzQkFZTTsyRkRBTywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCOzBFQU12QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGlja2VyTW9kZUVudW0gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1kYXRldGltZXBpY2tlcic7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRlRmllbGQsIERhdGVUaW1lVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2RhdGVGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JEYXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBTdGF0aXN0aWMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvc3RhdGlzdGljLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGF0ZS1maWx0ZXItdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUZpbHRlclRlbXBsYXRlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IERhdGVGaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwaWNrZXJNb2RlOiBQaWNrZXJNb2RlRW51bTtcclxuXHJcbiAgbG9naWNPcGVyYXRvck51bWVyaWMgPSBMb2dpY09wZXJhdG9yRGF0ZTtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JEYXRlO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlOyAgXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRUaW1lVHlwZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW4gYmFzZSBhbCBmb3JtYXRvIGRlbGxhIGRhdGEgcmljaGllc3RhIG5lbCBEYXRlRmllbGQgKHNvbG8gZGF0YSwgc29sbyBvcmFyaW8gbyBkYXRhIGUgb3JhKVxyXG4gICAqIGltcG9zdGEgbGEgdmlzdWFsaXp6YXppb25lIGNvcnJldHRhIGRlbCBjb21wb25lbnRlIGVxcC1kYXRldGltZXBpY2tlci5cclxuICAgKi9cclxuICBwcml2YXRlIHNldFRpbWVUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmZpZWxkLklzT25seURhdGUpIHtcclxuICAgICAgY2FzZSBEYXRlVGltZVR5cGVFbnVtW1wiU29sbyBkYXRhXCJdOlxyXG4gICAgICAgIHRoaXMucGlja2VyTW9kZSA9IFBpY2tlck1vZGVFbnVtLkRBVEU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRGF0ZVRpbWVUeXBlRW51bVtcIlNvbG8gb3JhcmlvXCJdOlxyXG4gICAgICAgIHRoaXMucGlja2VyTW9kZSA9IFBpY2tlck1vZGVFbnVtLlRJTUU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRGF0ZVRpbWVUeXBlRW51bVtcIkRhdGEgZSBvcmFcIl06XHJcbiAgICAgICAgdGhpcy5waWNrZXJNb2RlID0gUGlja2VyTW9kZUVudW0uREFURVRJTUU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuLyoqXHJcbiogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiovXHJcbm9uRmlsdGVyQ2hhbmdlKCkge1xyXG4gIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICE9IG51bGwgJiYgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgIT0gbnVsbCl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJhY3RpdmVcIikpO1xyXG4gIH1cclxuICBpZiAodGhpcy5hY3RpdmVDb25kaXRpb24gJiYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IFwiXCIgfHwgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgPT0gbnVsbCkpe1xyXG4gICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImRlYWN0aXZhdGVkXCIpKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gY2hlIGdlbmVyYSBsJ29nZ2V0dG8gZGEgaW52aWFyZSBhbGwnZXN0ZXJub1xyXG4gKi9cclxuXHJcbmdlbmVyYXRlQ29uZGl0aW9uKG1vZGUpe1xyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yLFxyXG4gICAgICBmaWVsZHR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlXHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvdXRwdXQgPSB7XHJcbiAgICAgIGtleTogdGhpcy5maWVsZC5OYW1lLFxyXG4gICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgbG9naWNvcGVyYXRvcjogbnVsbCxcclxuICAgICAgZmllbGR0eXBlOiBudWxsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dHB1dDtcclxufSAgXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOSB2YWx1ZUNvbFwiPlxyXG4gICAgICAgIDxlcXAtZGF0ZXRpbWVwaWNrZXIgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFtVVENEYXRlXT1cInRydWVcIiBbcGlja2VyTW9kZV09XCJwaWNrZXJNb2RlXCJcclxuICAgICAgICBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGQuRm9ybUZvcm1Hcm91cFwiIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCJmaWVsZC5OYW1lXCJcclxuICAgICAgICBbbWluRGF0ZV09XCJmaWVsZC5NaW5EYXRlID8gZmllbGQuTWluRGF0ZSA6IG51bGxcIiBbbWF4RGF0ZV09XCJmaWVsZC5NYXhEYXRlID8gZmllbGQuTWF4RGF0ZSA6IG51bGxcIlxyXG4gICAgICAgIFtpc1JlcXVpcmVkXT1cImZhbHNlXCIgW2Rpc2FibGVkXT1cImZpZWxkLkZvcm1Gb3JtR3JvdXAuZGlzYWJsZWRcIiBbKG5nTW9kZWxJbnB1dCldPVwicmVjb3JkW2ZpZWxkLk5hbWVdXCJcclxuICAgICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKClcIiBbY3VzdG9tRGF0ZUZvcm1hdF09XCJmaWVsZC5EYXRlRm9ybWF0ID8gZmllbGQuRGF0ZUZvcm1hdCA6IG51bGxcIj5cclxuICAgICAgICA8L2VxcC1kYXRldGltZXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIG9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPGVxcC1zZWxlY3QgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JOdW1lcmljXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JcIiAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCI+PC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { LogicOperatorText } from '../../../../../models/logicOperator.model';
|
|
3
|
+
import { Statistic } from '../../../../../models/statistic.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ImageFilterTemplateComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.filterChange = new EventEmitter();
|
|
8
|
+
this.logicOperatorText = LogicOperatorText;
|
|
9
|
+
this.activeCondition = false;
|
|
10
|
+
}
|
|
11
|
+
onFilterChange() {
|
|
12
|
+
if (this.record[this.field.Name] != null && this.record[this.field.Name] != "" && this.selectedLogicOperator != null) {
|
|
13
|
+
this.activeCondition = true;
|
|
14
|
+
this.filterChange.emit(this.generateCondition("active"));
|
|
15
|
+
}
|
|
16
|
+
if (this.activeCondition && (this.record[this.field.Name] == null || this.record[this.field.Name] == "" || this.selectedLogicOperator == null)) {
|
|
17
|
+
this.activeCondition = false;
|
|
18
|
+
this.filterChange.emit(this.generateCondition("deactivated"));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Metodo che genera l'oggetto da inviare all'esterno
|
|
23
|
+
*/
|
|
24
|
+
generateCondition(mode) {
|
|
25
|
+
let output = new Statistic();
|
|
26
|
+
if (mode == "active") {
|
|
27
|
+
output = {
|
|
28
|
+
key: this.field.Name,
|
|
29
|
+
value: this.record[this.field.Name],
|
|
30
|
+
logicoperator: this.selectedLogicOperator,
|
|
31
|
+
fieldtype: this.field.FieldType
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
output = {
|
|
36
|
+
key: this.field.Name,
|
|
37
|
+
value: null,
|
|
38
|
+
logicoperator: null,
|
|
39
|
+
fieldtype: null
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return output;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ImageFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ImageFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
ImageFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ImageFilterTemplateComponent, selector: "image-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ImageFilterTemplateComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'image-filter-template', template: "", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
|
|
50
|
+
}], propDecorators: { field: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], record: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], filterChange: [{
|
|
55
|
+
type: Output
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9pbWFnZS1maWx0ZXItdGVtcGxhdGUvaW1hZ2UtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9pbWFnZS1maWx0ZXItdGVtcGxhdGUvaW1hZ2UtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQVFsRSxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBU1ksaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRSxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUV0QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztLQXNDbEM7SUFwQ0MsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLEVBQUM7WUFDbkgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxFQUFDO1lBQzdJLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVIOztPQUVHO0lBRUQsaUJBQWlCLENBQUMsSUFBSTtRQUNwQixJQUFJLE1BQU0sR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBQztZQUNuQixNQUFNLEdBQUc7Z0JBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLGFBQWEsRUFBRSxJQUFJLENBQUMscUJBQXFCO2dCQUN6QyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO2FBQ2hDLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxHQUFHO2dCQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJO2dCQUNYLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDO1NBQ0g7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzt5SEEzQ1UsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsc0pDWHpDLEVBQUE7MkZEV2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFNeEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9naWNPcGVyYXRvclRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvbG9naWNPcGVyYXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBTdGF0aXN0aWMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvc3RhdGlzdGljLm1vZGVsJztcclxuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbWFnZS1maWx0ZXItdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUZpbHRlclRlbXBsYXRlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IFRleHRGaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGxvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgc2VsZWN0ZWRMb2dpY09wZXJhdG9yOiBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTsgIFxyXG5cclxuICBvbkZpbHRlckNoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICE9IG51bGwgJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAhPSBcIlwiICYmIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yICE9IG51bGwpe1xyXG4gICAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImFjdGl2ZVwiKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hY3RpdmVDb25kaXRpb24gJiYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IFwiXCIgfHwgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgPT0gbnVsbCkpe1xyXG4gICAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJkZWFjdGl2YXRlZFwiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuLyoqXHJcbiAqIE1ldG9kbyBjaGUgZ2VuZXJhIGwnb2dnZXR0byBkYSBpbnZpYXJlIGFsbCdlc3Rlcm5vXHJcbiAqL1xyXG5cclxuICBnZW5lcmF0ZUNvbmRpdGlvbihtb2RlKXtcclxuICAgIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gICAgaWYgKG1vZGUgPT0gXCJhY3RpdmVcIil7XHJcbiAgICAgIG91dHB1dCA9IHtcclxuICAgICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgICB2YWx1ZTogdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSxcclxuICAgICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgICBmaWVsZHR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvdXRwdXQgPSB7XHJcbiAgICAgICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgbG9naWNvcGVyYXRvcjogbnVsbCxcclxuICAgICAgICBmaWVsZHR5cGU6IG51bGxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3V0cHV0O1xyXG4gIH0gIFxyXG5cclxufVxyXG4iLCIiXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { LogicOperatorText } from '../../../../../models/logicOperator.model';
|
|
3
|
+
import { Statistic } from '../../../../../models/statistic.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ListFormRecordFilterTemplateComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.filterChange = new EventEmitter();
|
|
8
|
+
this.logicOperatorText = LogicOperatorText;
|
|
9
|
+
this.activeCondition = false;
|
|
10
|
+
}
|
|
11
|
+
onFilterChange() {
|
|
12
|
+
if (this.record[this.field.Name] != null && this.record[this.field.Name] != "" && this.selectedLogicOperator != null) {
|
|
13
|
+
this.activeCondition = true;
|
|
14
|
+
this.filterChange.emit(this.generateCondition("active"));
|
|
15
|
+
}
|
|
16
|
+
if (this.activeCondition && (this.record[this.field.Name] == null || this.record[this.field.Name] == "" || this.selectedLogicOperator == null)) {
|
|
17
|
+
this.activeCondition = false;
|
|
18
|
+
this.filterChange.emit(this.generateCondition("deactivated"));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Metodo che genera l'oggetto da inviare all'esterno
|
|
23
|
+
*/
|
|
24
|
+
generateCondition(mode) {
|
|
25
|
+
let output = new Statistic();
|
|
26
|
+
if (mode == "active") {
|
|
27
|
+
output = {
|
|
28
|
+
key: this.field.Name,
|
|
29
|
+
value: this.record[this.field.Name],
|
|
30
|
+
logicoperator: this.selectedLogicOperator,
|
|
31
|
+
fieldtype: this.field.FieldType
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
output = {
|
|
36
|
+
key: this.field.Name,
|
|
37
|
+
value: null,
|
|
38
|
+
logicoperator: null,
|
|
39
|
+
fieldtype: null
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return output;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ListFormRecordFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListFormRecordFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
ListFormRecordFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListFormRecordFilterTemplateComponent, selector: "list-form-record-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "", styles: [""] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListFormRecordFilterTemplateComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'list-form-record-filter-template', template: "" }]
|
|
50
|
+
}], propDecorators: { field: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], record: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], filterChange: [{
|
|
55
|
+
type: Output
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mb3JtLXJlY29yZC1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL2xpc3QtZm9ybS1yZWNvcmQtZmlsdGVyLXRlbXBsYXRlL2xpc3QtZm9ybS1yZWNvcmQtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9saXN0LWZvcm0tcmVjb3JkLWZpbHRlci10ZW1wbGF0ZS9saXN0LWZvcm0tcmVjb3JkLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFRbEUsTUFBTSxPQUFPLHFDQUFxQztJQUxsRDtRQVNZLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEUsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFFdEMsb0JBQWUsR0FBWSxLQUFLLENBQUM7S0FzQ2xDO0lBcENDLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxFQUFDO1lBQ25ILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsRUFBQztZQUM3SSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFFSDs7T0FFRztJQUVELGlCQUFpQixDQUFDLElBQUk7UUFDcEIsSUFBSSxNQUFNLEdBQWEsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksSUFBSSxRQUFRLEVBQUM7WUFDbkIsTUFBTSxHQUFHO2dCQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtnQkFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUzthQUNoQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sR0FBRztnQkFDUCxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUNwQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsU0FBUyxFQUFFLElBQUk7YUFDaEIsQ0FBQztTQUNIO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7a0lBM0NVLHFDQUFxQztzSEFBckMscUNBQXFDLGlLQ1hsRCxFQUFBOzJGRFdhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxrQ0FBa0M7OEJBTW5DLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgU3RhdGlzdGljIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3N0YXRpc3RpYy5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGlzdC1mb3JtLXJlY29yZC1maWx0ZXItdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWZvcm0tcmVjb3JkLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC1mb3JtLXJlY29yZC1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEZvcm1SZWNvcmRGaWx0ZXJUZW1wbGF0ZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBUZXh0RmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBsb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0O1xyXG4gIHNlbGVjdGVkTG9naWNPcGVyYXRvcjogTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7ICBcclxuXHJcbiAgb25GaWx0ZXJDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAhPSBudWxsICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gXCJcIiAmJiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciAhPSBudWxsKXtcclxuICAgICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJhY3RpdmVcIikpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYWN0aXZlQ29uZGl0aW9uICYmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IG51bGwgfHwgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBcIlwiIHx8IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID09IG51bGwpKXtcclxuICAgICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmdlbmVyYXRlQ29uZGl0aW9uKFwiZGVhY3RpdmF0ZWRcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gY2hlIGdlbmVyYSBsJ29nZ2V0dG8gZGEgaW52aWFyZSBhbGwnZXN0ZXJub1xyXG4gKi9cclxuXHJcbiAgZ2VuZXJhdGVDb25kaXRpb24obW9kZSl7XHJcbiAgICBsZXQgb3V0cHV0OlN0YXRpc3RpYyA9IG5ldyBTdGF0aXN0aWMoKTtcclxuICAgIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgICBvdXRwdXQgPSB7XHJcbiAgICAgICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICAgICAgbG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IsXHJcbiAgICAgICAgZmllbGR0eXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3V0cHV0ID0ge1xyXG4gICAgICAgIGtleTogdGhpcy5maWVsZC5OYW1lLFxyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgIGxvZ2ljb3BlcmF0b3I6IG51bGwsXHJcbiAgICAgICAgZmllbGR0eXBlOiBudWxsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG91dHB1dDtcclxuICB9ICBcclxuXHJcbn1cclxuIiwiIl19
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { LogicOperatorListValue } from '../../../../../models/logicOperator.model';
|
|
3
|
+
import { Statistic } from '../../../../../models/statistic.model';
|
|
4
|
+
import { ListPresentationEnum } from '../../../../../models/fields/listValueField.model';
|
|
5
|
+
import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "@eqproject/eqp-select";
|
|
10
|
+
export class ListValueFilterTemplateComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.filterChange = new EventEmitter();
|
|
13
|
+
this.validatorsArray = [];
|
|
14
|
+
this.logicOperatorListValue = LogicOperatorListValue;
|
|
15
|
+
this.activeCondition = false;
|
|
16
|
+
this.arrayData = [];
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.configureControllers();
|
|
20
|
+
this.initStyles();
|
|
21
|
+
this.setArrayData();
|
|
22
|
+
}
|
|
23
|
+
//Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
|
|
24
|
+
initStyles() {
|
|
25
|
+
if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
|
|
26
|
+
this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Metodo per emettere l'evento che il valore del record è cambiato.
|
|
30
|
+
*/
|
|
31
|
+
onFilterChange() {
|
|
32
|
+
if (this.selectedLogicOperator != null) {
|
|
33
|
+
this.activeCondition = true;
|
|
34
|
+
this.filterChange.emit(this.generateCondition("active"));
|
|
35
|
+
}
|
|
36
|
+
if (this.activeCondition && this.selectedLogicOperator == null) {
|
|
37
|
+
this.activeCondition = false;
|
|
38
|
+
this.filterChange.emit(this.generateCondition("deactivated"));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Metodo che genera l'oggetto da inviare all'esterno
|
|
43
|
+
*/
|
|
44
|
+
generateCondition(mode) {
|
|
45
|
+
let output = new Statistic();
|
|
46
|
+
if (mode == "active") {
|
|
47
|
+
output = {
|
|
48
|
+
key: this.field.Name,
|
|
49
|
+
value: this.record[this.field.Name],
|
|
50
|
+
logicoperator: this.selectedLogicOperator,
|
|
51
|
+
fieldtype: this.field.FieldType
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
output = {
|
|
56
|
+
key: this.field.Name,
|
|
57
|
+
value: null,
|
|
58
|
+
logicoperator: null,
|
|
59
|
+
fieldtype: null
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return output;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Metodo di aggiunta dei validator dell'input
|
|
66
|
+
*/
|
|
67
|
+
configureControllers() {
|
|
68
|
+
this.validatorsArray = [];
|
|
69
|
+
this.field.FormFormGroup.get([this.field.Name]).setValidators(this.validatorsArray);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Metodo per creare un array di oggetti del tipo { Key: string, Value: any } da usare come sorgente dati per la eqp-select.
|
|
73
|
+
*/
|
|
74
|
+
setArrayData() {
|
|
75
|
+
if (this.field.PresentationMode != ListPresentationEnum.Immagini) {
|
|
76
|
+
if (UtilityHelperService.isNumeric(this.field.ValuePairs[Object.keys(this.field.ValuePairs)[0]])) {
|
|
77
|
+
Object.keys(this.field.ValuePairs).forEach(k => this.createNumberArrayDataElement(k, Number(this.field.ValuePairs[k])));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
Object.keys(this.field.ValuePairs).forEach(k => this.createArrayDataElement(k, this.field.ValuePairs[k]));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.field.ButtonImageList.forEach(i => { this.createArrayDataElement(i.ButtonKey, i.ButtonValue, 'data:' + i.FileContentType + ';base64,' + i.FileDataBase64); });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
createArrayDataElement(key, value, imgUrl = null) {
|
|
88
|
+
let isOptionSelected;
|
|
89
|
+
if (this.field.IsMultiChoiche && this.record[this.field.Name] && this.record[this.field.Name].length > 0) {
|
|
90
|
+
isOptionSelected = !!this.record[this.field.Name].find(v => v == value);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
isOptionSelected = this.record[this.field.Name] === value;
|
|
94
|
+
}
|
|
95
|
+
this.arrayData.push({ Key: key, Value: value, Selected: isOptionSelected, ImgUrl: imgUrl });
|
|
96
|
+
}
|
|
97
|
+
createNumberArrayDataElement(key, value, imgUrl = null) {
|
|
98
|
+
let isOptionSelected;
|
|
99
|
+
if (this.field.IsMultiChoiche && this.record[this.field.Name] && this.record[this.field.Name].length > 0) {
|
|
100
|
+
isOptionSelected = !!this.record[this.field.Name].find(v => v == value);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
isOptionSelected = this.record[this.field.Name] === value;
|
|
104
|
+
}
|
|
105
|
+
this.arrayData.push({ Key: key, Value: value, Selected: isOptionSelected, ImgUrl: imgUrl });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
ListValueFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListValueFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
ListValueFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListValueFilterTemplateComponent, selector: "list-value-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <eqp-select [ngStyle]=\"FieldstyleObj\" [arrayData]=\"arrayData\"\r\n [arrayKeyProperty]=\"'Value'\" [showCancelButton]=\"true\" [arrayValueProperty]=\"'Key'\"\r\n [formGroupInput]=\"field.FormFormGroup\" [formControlNameInput]=\"field.Name\" [placeholder]=\"field.Description\"\r\n [includeFullObject]=\"false\" [isRequired]=\"false\" [isDisabled]=\"false\"\r\n [(ngModelInput)]=\"record[field.Name]\" [isMultiSelect]=\"false\"\r\n (ngModelInputChange)=\"onFilterChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorListValue\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }] });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListValueFilterTemplateComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'list-value-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <eqp-select [ngStyle]=\"FieldstyleObj\" [arrayData]=\"arrayData\"\r\n [arrayKeyProperty]=\"'Value'\" [showCancelButton]=\"true\" [arrayValueProperty]=\"'Key'\"\r\n [formGroupInput]=\"field.FormFormGroup\" [formControlNameInput]=\"field.Name\" [placeholder]=\"field.Description\"\r\n [includeFullObject]=\"false\" [isRequired]=\"false\" [isDisabled]=\"false\"\r\n [(ngModelInput)]=\"record[field.Name]\" [isMultiSelect]=\"false\"\r\n (ngModelInputChange)=\"onFilterChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorListValue\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
|
|
113
|
+
}], ctorParameters: function () { return []; }, propDecorators: { field: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], record: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], filterChange: [{
|
|
118
|
+
type: Output
|
|
119
|
+
}] } });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12YWx1ZS1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL2xpc3QtdmFsdWUtZmlsdGVyLXRlbXBsYXRlL2xpc3QtdmFsdWUtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9saXN0LXZhbHVlLWZpbHRlci10ZW1wbGF0ZS9saXN0LXZhbHVlLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQWtCLE1BQU0sbURBQW1ELENBQUM7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7O0FBTXRGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFlN0M7UUFaWSxpQkFBWSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ2hGLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBQzVCLDJCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBRWhELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBTW5DLGNBQVMsR0FB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SztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JMaXN0VmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvbG9naWNPcGVyYXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFN0YXRpc3RpYyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9zdGF0aXN0aWMubW9kZWwnO1xyXG5pbXBvcnQgeyBMaXN0UHJlc2VudGF0aW9uRW51bSwgTGlzdFZhbHVlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2xpc3RWYWx1ZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaXN0LXZhbHVlLWZpbHRlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtdmFsdWUtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LXZhbHVlLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0VmFsdWVGaWx0ZXJUZW1wbGF0ZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZmllbGQ6IExpc3RWYWx1ZUZpZWxkO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTdGF0aXN0aWM+ID0gbmV3IEV2ZW50RW1pdHRlcjxTdGF0aXN0aWM+KCk7XHJcbiAgdmFsaWRhdG9yc0FycmF5OiBhbnlbXSA9IFtdO1xyXG4gIGxvZ2ljT3BlcmF0b3JMaXN0VmFsdWUgPSBMb2dpY09wZXJhdG9yTGlzdFZhbHVlO1xyXG4gIHNlbGVjdGVkTG9naWNPcGVyYXRvcjogTG9naWNPcGVyYXRvckxpc3RWYWx1ZTtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbi8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG5GaWVsZHN0eWxlT2JqOiBhbnk7XHJcbkxhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbmFycmF5RGF0YTogeyBLZXk6IHN0cmluZywgVmFsdWU6IGFueSwgU2VsZWN0ZWQ/OiBib29sZWFuLCBJbWdVcmw/OiBzdHJpbmcgfVtdID0gW107XHJcblxyXG5jb25zdHJ1Y3RvcigpIHtcclxufVxyXG5cclxubmdPbkluaXQoKTogdm9pZCB7XHJcbiAgdGhpcy5jb25maWd1cmVDb250cm9sbGVycygpO1xyXG4gIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIHRoaXMuc2V0QXJyYXlEYXRhKCk7XHJcbn1cclxuXHJcbiAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vbkZpbHRlckNoYW5nZSgpIHtcclxuICBpZiAodGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgIT0gbnVsbCl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJhY3RpdmVcIikpO1xyXG4gIH1cclxuICBpZiAodGhpcy5hY3RpdmVDb25kaXRpb24gJiYgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID09IG51bGwpe1xyXG4gICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImRlYWN0aXZhdGVkXCIpKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gY2hlIGdlbmVyYSBsJ29nZ2V0dG8gZGEgaW52aWFyZSBhbGwnZXN0ZXJub1xyXG4gKi9cclxuXHJcbmdlbmVyYXRlQ29uZGl0aW9uKG1vZGUpe1xyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yLFxyXG4gICAgICBmaWVsZHR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlXHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvdXRwdXQgPSB7XHJcbiAgICAgIGtleTogdGhpcy5maWVsZC5OYW1lLFxyXG4gICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgbG9naWNvcGVyYXRvcjogbnVsbCxcclxuICAgICAgZmllbGR0eXBlOiBudWxsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dHB1dDtcclxufVxyXG5cclxuLyoqXHJcbiogTWV0b2RvIGRpIGFnZ2l1bnRhIGRlaSB2YWxpZGF0b3IgZGVsbCdpbnB1dFxyXG4qL1xyXG4gIHByaXZhdGUgY29uZmlndXJlQ29udHJvbGxlcnMoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRvcnNBcnJheSA9IFtdO1xyXG4gICAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmdldChbdGhpcy5maWVsZC5OYW1lXSkuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnNBcnJheSk7XHJcbiAgfVxyXG5cclxuICAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjcmVhcmUgdW4gYXJyYXkgZGkgb2dnZXR0aSBkZWwgdGlwbyB7IEtleTogc3RyaW5nLCBWYWx1ZTogYW55IH0gZGEgdXNhcmUgY29tZSBzb3JnZW50ZSBkYXRpIHBlciBsYSBlcXAtc2VsZWN0LlxyXG4gICAqL1xyXG4gICBwcml2YXRlIHNldEFycmF5RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkLlByZXNlbnRhdGlvbk1vZGUgIT0gTGlzdFByZXNlbnRhdGlvbkVudW0uSW1tYWdpbmkpIHtcclxuICAgICAgaWYgKFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmlzTnVtZXJpYyh0aGlzLmZpZWxkLlZhbHVlUGFpcnNbT2JqZWN0LmtleXModGhpcy5maWVsZC5WYWx1ZVBhaXJzKVswXV0pKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5maWVsZC5WYWx1ZVBhaXJzKS5mb3JFYWNoXHJcbiAgICAgICAgICAoayA9PiB0aGlzLmNyZWF0ZU51bWJlckFycmF5RGF0YUVsZW1lbnQoaywgTnVtYmVyKHRoaXMuZmllbGQuVmFsdWVQYWlyc1trXSkpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmZpZWxkLlZhbHVlUGFpcnMpLmZvckVhY2hcclxuICAgICAgICAgIChrID0+IHRoaXMuY3JlYXRlQXJyYXlEYXRhRWxlbWVudChrLCB0aGlzLmZpZWxkLlZhbHVlUGFpcnNba10pKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGQuQnV0dG9uSW1hZ2VMaXN0LmZvckVhY2goaSA9PiB7IHRoaXMuY3JlYXRlQXJyYXlEYXRhRWxlbWVudChpLkJ1dHRvbktleSwgaS5CdXR0b25WYWx1ZSwgJ2RhdGE6JyArIGkuRmlsZUNvbnRlbnRUeXBlICsgJztiYXNlNjQsJyArIGkuRmlsZURhdGFCYXNlNjQpOyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQXJyYXlEYXRhRWxlbWVudChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgaW1nVXJsOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICBsZXQgaXNPcHRpb25TZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmZpZWxkLklzTXVsdGlDaG9pY2hlICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlzT3B0aW9uU2VsZWN0ZWQgPSAhIXRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0uZmluZCh2ID0+IHYgPT0gdmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXNPcHRpb25TZWxlY3RlZCA9IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT09IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hcnJheURhdGEucHVzaCh7IEtleToga2V5LCBWYWx1ZTogdmFsdWUsIFNlbGVjdGVkOiBpc09wdGlvblNlbGVjdGVkLCBJbWdVcmw6IGltZ1VybCB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlTnVtYmVyQXJyYXlEYXRhRWxlbWVudChrZXk6IHN0cmluZywgdmFsdWU6IG51bWJlciwgaW1nVXJsOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICBsZXQgaXNPcHRpb25TZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmZpZWxkLklzTXVsdGlDaG9pY2hlICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlzT3B0aW9uU2VsZWN0ZWQgPSAhIXRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0uZmluZCh2ID0+IHYgPT0gdmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXNPcHRpb25TZWxlY3RlZCA9IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT09IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hcnJheURhdGEucHVzaCh7IEtleToga2V5LCBWYWx1ZTogdmFsdWUsIFNlbGVjdGVkOiBpc09wdGlvblNlbGVjdGVkLCBJbWdVcmw6IGltZ1VybCB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOSB2YWx1ZUNvbFwiPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiBbYXJyYXlEYXRhXT1cImFycmF5RGF0YVwiXHJcbiAgICAgICAgICAgIFthcnJheUtleVByb3BlcnR5XT1cIidWYWx1ZSdcIiBbc2hvd0NhbmNlbEJ1dHRvbl09XCJ0cnVlXCIgW2FycmF5VmFsdWVQcm9wZXJ0eV09XCInS2V5J1wiXHJcbiAgICAgICAgICAgIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZC5Gb3JtRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cImZpZWxkLk5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiZmllbGQuRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICBbaW5jbHVkZUZ1bGxPYmplY3RdPVwiZmFsc2VcIiBbaXNSZXF1aXJlZF09XCJmYWxzZVwiIFtpc0Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cInJlY29yZFtmaWVsZC5OYW1lXVwiIFtpc011bHRpU2VsZWN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCI+XHJcbiAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwibG9naWNPcGVyYXRvckxpc3RWYWx1ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMb2dpY09wZXJhdG9yXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiPjwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|