@eqproject/eqp-dynamic-module 2.6.3 → 2.6.5

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.
Files changed (44) hide show
  1. package/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +9 -3
  2. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +80 -3
  3. package/esm2020/lib/components/private/dynamic-module-field/dynamic-module-field.component.mjs +1 -1
  4. package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +84 -4
  5. package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +13 -3
  6. package/esm2020/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +9 -3
  7. package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +1 -1
  8. package/esm2020/lib/components/private/graphs/graphs.component.mjs +3 -3
  9. package/esm2020/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +68 -0
  10. package/esm2020/lib/components/private/trigger-creator/trigger-creator.component.mjs +142 -0
  11. package/esm2020/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +86 -0
  12. package/esm2020/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +86 -0
  13. package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +60 -0
  14. package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +136 -0
  15. package/esm2020/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +102 -0
  16. package/esm2020/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +116 -0
  17. package/esm2020/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +116 -0
  18. package/esm2020/lib/eqp-dynamic-module.module.mjs +29 -2
  19. package/esm2020/lib/models/form.model.mjs +1 -1
  20. package/esm2020/lib/models/logicOperator.model.mjs +14 -1
  21. package/esm2020/lib/models/trigger.model.mjs +31 -0
  22. package/fesm2015/eqproject-eqp-dynamic-module.mjs +1228 -182
  23. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  24. package/fesm2020/eqproject-eqp-dynamic-module.mjs +1228 -182
  25. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  26. package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +4 -1
  27. package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +14 -1
  28. package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +4 -1
  29. package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +4 -1
  30. package/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.d.ts +4 -1
  31. package/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.d.ts +42 -0
  32. package/lib/components/private/trigger-creator/trigger-creator.component.d.ts +34 -0
  33. package/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.d.ts +34 -0
  34. package/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.d.ts +34 -0
  35. package/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.d.ts +24 -0
  36. package/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.d.ts +50 -0
  37. package/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.d.ts +37 -0
  38. package/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.d.ts +41 -0
  39. package/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.d.ts +41 -0
  40. package/lib/eqp-dynamic-module.module.d.ts +42 -33
  41. package/lib/models/form.model.d.ts +6 -0
  42. package/lib/models/logicOperator.model.d.ts +12 -0
  43. package/lib/models/trigger.model.d.ts +39 -0
  44. package/package.json +1 -1
@@ -0,0 +1,102 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { EqpNumericInputMode } from '@eqproject/eqp-numeric';
4
+ import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
5
+ import { LogicOperatorNumeric } from '../../../../../models/logicOperator.model';
6
+ import { BooleanLogicOperatorType, Condition } from '../../../../../models/trigger.model';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/input";
9
+ import * as i2 from "@angular/material/form-field";
10
+ import * as i3 from "@angular/forms";
11
+ import * as i4 from "@angular/common";
12
+ import * as i5 from "@eqproject/eqp-select";
13
+ import * as i6 from "@eqproject/eqp-numeric";
14
+ export class NumericTriggerTemplateComponent {
15
+ constructor() {
16
+ this.triggerChange = new EventEmitter();
17
+ this.validatorsArray = [];
18
+ this.eqpNumericOptions = {};
19
+ this.logicOperatorNumeric = LogicOperatorNumeric;
20
+ this.selectedLogicOperator = LogicOperatorNumeric['='];
21
+ this.activeCondition = false;
22
+ this.booleanLogicOperatorType = BooleanLogicOperatorType;
23
+ this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
24
+ }
25
+ ngOnInit() {
26
+ this.field = this.condition.Field;
27
+ this.selectedBooleanLogicOperator = this.condition.booleanlogicoperator;
28
+ this.selectedLogicOperator = this.condition.logicoperator;
29
+ this.configureEqpNumericOptions();
30
+ this.configureControllers();
31
+ this.initStyles();
32
+ }
33
+ //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
34
+ initStyles() {
35
+ if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
36
+ this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
37
+ if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
38
+ this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
39
+ }
40
+ /**
41
+ * Metodo per emettere l'evento che il valore del record è cambiato.
42
+ */
43
+ onTriggerChange() {
44
+ let output = new Condition();
45
+ output = {
46
+ key: this.field.Name,
47
+ value: this.condition.record[this.field.Name],
48
+ logicoperator: this.selectedLogicOperator,
49
+ fieldType: this.field.FieldType,
50
+ booleanlogicoperator: this.selectedBooleanLogicOperator
51
+ };
52
+ this.triggerChange.emit(output);
53
+ }
54
+ /**
55
+ * Metodo per configurare eqp-numeric
56
+ */
57
+ configureEqpNumericOptions() {
58
+ this.eqpNumericOptions.suffix = this.field.MeasureUnit ? " " + this.field.MeasureUnit + " " : "";
59
+ this.eqpNumericOptions.prefix = this.field.CurrencySymbol ? this.field.CurrencySymbol + " " : "";
60
+ this.eqpNumericOptions.inputMode = this.field.CurrencySymbol ? EqpNumericInputMode.FINANCIAL : EqpNumericInputMode.NATURAL;
61
+ this.eqpNumericOptions.allowNegative = true;
62
+ if (this.field.DecimalSeparator != null && this.field.DecimalSeparator != undefined)
63
+ this.eqpNumericOptions.decimal = this.field.DecimalSeparator;
64
+ else
65
+ this.eqpNumericOptions.decimal = ".";
66
+ if (this.field.ThousandsSeparator != null && this.field.ThousandsSeparator != undefined)
67
+ this.eqpNumericOptions.thousands = this.field.ThousandsSeparator;
68
+ if (this.field.IsInteger == false) {
69
+ if (this.field.DecimalPrecision != null && this.field.DecimalPrecision != undefined) {
70
+ this.eqpNumericOptions.precision = this.field.DecimalPrecision;
71
+ }
72
+ else {
73
+ this.eqpNumericOptions.precision = 2;
74
+ }
75
+ }
76
+ else {
77
+ this.eqpNumericOptions.precision = 0;
78
+ }
79
+ }
80
+ /**
81
+ * Metodo di aggiunta dei validator dell'input
82
+ */
83
+ configureControllers() {
84
+ this.validatorsArray = [];
85
+ if (this.field.MinValue != null && this.field.MinValue != undefined)
86
+ this.validatorsArray.push(Validators.min(this.field.MinValue));
87
+ if (this.field.MaxValue != null && this.field.MaxValue != undefined)
88
+ this.validatorsArray.push(Validators.max(this.field.MaxValue));
89
+ this.field.FormFormGroup.get([this.field.Name]).setValidators(this.validatorsArray);
90
+ }
91
+ }
92
+ NumericTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
93
+ NumericTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumericTriggerTemplateComponent, selector: "numeric-trigger-template", inputs: { condition: "condition" }, outputs: { triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onTriggerChange()\" />\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></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}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\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.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: "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"] }, { kind: "directive", type: i6.EqpNumericDirective, selector: "[eqpNumericMask]", inputs: ["options"] }] });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericTriggerTemplateComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'numeric-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onTriggerChange()\" />\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></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}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
97
+ }], ctorParameters: function () { return []; }, propDecorators: { condition: [{
98
+ type: Input
99
+ }], triggerChange: [{
100
+ type: Output
101
+ }] } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvbnVtZXJpYy10cmlnZ2VyLXRlbXBsYXRlL251bWVyaWMtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL251bWVyaWMtdHJpZ2dlci10ZW1wbGF0ZS9udW1lcmljLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBb0Isd0JBQXdCLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBTzVHLE1BQU0sT0FBTywrQkFBK0I7SUFtQjVDO1FBaEJZLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckUsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFDNUIsc0JBQWlCLEdBQStC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QUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksU0FBUztZQUNuRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RixDQUFDOzs2SEExRlksK0JBQStCO2lIQUEvQiwrQkFBK0IsaUpDYjVDLDBnQ0FlTTs0RkRGTywrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQU0zQixTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVxcE51bWVyaWNJbnB1dE1vZGUsIE51bWVyaWNNYXNrQ29uZmlnIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtbnVtZXJpYyc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE51bWVyaWNGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvbnVtZXJpY0ZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTG9naWNPcGVyYXRvck51bWVyaWMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvbG9naWNPcGVyYXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFRyaWdnZXJDb25kaXRpb24sIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSwgQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3RyaWdnZXIubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdudW1lcmljLXRyaWdnZXItdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1lcmljLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL251bWVyaWMtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1lcmljVHJpZ2dlclRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uO1xyXG4gIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbGlkYXRvcnNBcnJheTogYW55W10gPSBbXTtcclxuICBlcXBOdW1lcmljT3B0aW9uczogUGFydGlhbDxOdW1lcmljTWFza0NvbmZpZz4gPSB7fTtcclxuICBsb2dpY09wZXJhdG9yTnVtZXJpYyA9IExvZ2ljT3BlcmF0b3JOdW1lcmljO1xyXG4gIHNlbGVjdGVkTG9naWNPcGVyYXRvcjogTG9naWNPcGVyYXRvck51bWVyaWMgPSBMb2dpY09wZXJhdG9yTnVtZXJpY1snPSddO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBib29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGU7XHJcbiAgc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvcjogQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlID0gQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLkFORDtcclxuXHJcbiAgZmllbGQ6IE51bWVyaWNGaWVsZDtcclxuXHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbmNvbnN0cnVjdG9yKCkge1xyXG59XHJcblxyXG5uZ09uSW5pdCgpOiB2b2lkIHtcclxuICB0aGlzLmZpZWxkID0gdGhpcy5jb25kaXRpb24uRmllbGQgYXMgTnVtZXJpY0ZpZWxkO1xyXG4gIHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvciA9IHRoaXMuY29uZGl0aW9uLmJvb2xlYW5sb2dpY29wZXJhdG9yO1xyXG4gIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yTnVtZXJpYztcclxuXHJcbiAgdGhpcy5jb25maWd1cmVFcXBOdW1lcmljT3B0aW9ucygpO1xyXG4gIHRoaXMuY29uZmlndXJlQ29udHJvbGxlcnMoKTtcclxuICB0aGlzLmluaXRTdHlsZXMoKTtcclxufVxyXG5cclxuICAvL0Z1bnppb25lIHBlciBwYXJzYXJlIGlsIGNhbXBvIHN0eWxlY3NzIGRlbGwnb2dnZXR0byBmaWVsZCBlZCBhcHBsaWNhcmxvIGFsbCdodG1sXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgIGlmKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vblRyaWdnZXJDaGFuZ2UoKSB7XHJcblxyXG4gIGxldCBvdXRwdXQ6Q29uZGl0aW9uID0gbmV3IENvbmRpdGlvbigpO1xyXG4gIG91dHB1dCA9IHtcclxuICAgIGtleTogdGhpcy5maWVsZC5OYW1lLFxyXG4gICAgdmFsdWU6IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLFxyXG4gICAgbG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IsXHJcbiAgICBmaWVsZFR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlLFxyXG4gICAgYm9vbGVhbmxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclxyXG4gIH07XHJcblxyXG4gIHRoaXMudHJpZ2dlckNoYW5nZS5lbWl0KG91dHB1dCk7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgY29uZmlndXJhcmUgZXFwLW51bWVyaWNcclxuKi9cclxucHJpdmF0ZSBjb25maWd1cmVFcXBOdW1lcmljT3B0aW9ucygpIHtcclxuXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5zdWZmaXggPSB0aGlzLmZpZWxkLk1lYXN1cmVVbml0ID8gXCIgIFwiK3RoaXMuZmllbGQuTWVhc3VyZVVuaXQrXCIgIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWZpeCA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sK1wiIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmlucHV0TW9kZSA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyBFcXBOdW1lcmljSW5wdXRNb2RlLkZJTkFOQ0lBTCA6IEVxcE51bWVyaWNJbnB1dE1vZGUuTkFUVVJBTDtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmFsbG93TmVnYXRpdmU9dHJ1ZTtcclxuICBpZiAodGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IG51bGwgJiYgdGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IHVuZGVmaW5lZClcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWwgPSB0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3I7XHJcbiAgZWxzZVxyXG4gIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuZGVjaW1hbD1cIi5cIjtcclxuICBpZiAodGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvciAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy50aG91c2FuZHMgPSB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvcjtcclxuICBpZih0aGlzLmZpZWxkLklzSW50ZWdlcj09IGZhbHNlKXtcclxuICAgIGlmICh0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gbnVsbCAmJiB0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gdW5kZWZpbmVkKSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uOyB9XHJcbiAgICBlbHNlIHsgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24gPSAyOyB9XHJcbiAgfWVsc2V7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuKiBNZXRvZG8gZGkgYWdnaXVudGEgZGVpIHZhbGlkYXRvciBkZWxsJ2lucHV0XHJcbiovXHJcbnByaXZhdGUgY29uZmlndXJlQ29udHJvbGxlcnMoKSB7XHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICBpZiAodGhpcy5maWVsZC5NaW5WYWx1ZSAhPSBudWxsICYmIHRoaXMuZmllbGQuTWluVmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5maWVsZC5NaW5WYWx1ZSkpO1xyXG4gIGlmICh0aGlzLmZpZWxkLk1heFZhbHVlICE9IG51bGwgJiYgdGhpcy5maWVsZC5NYXhWYWx1ZSAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLmZpZWxkLk1heFZhbHVlKSk7XHJcbiAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmdldChbdGhpcy5maWVsZC5OYW1lXSkuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnNBcnJheSk7XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIG9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPGVxcC1zZWxlY3QgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JOdW1lcmljXCIgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiB2YWx1ZUNvbFwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbCAgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPiB7e2ZpZWxkLkRlc2NyaXB0aW9ufX0gPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiBtYXRJbnB1dCBlcXBOdW1lcmljTWFzayBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwidGhpcy5jb25kaXRpb24ucmVjb3JkW2ZpZWxkLk5hbWVdXCIgW29wdGlvbnNdPVwiZXFwTnVtZXJpY09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cImZpZWxkLklzSW50ZWdlciA/IDEgOiBudWxsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIiAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJib29sZWFuTG9naWNPcGVyYXRvclR5cGVcIiBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj4gICAgICAgICBcclxuPC9kaXY+Il19
@@ -0,0 +1,116 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { TextMaskEnum } from '../../../../../models/fields/textField.model';
3
+ import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
4
+ import { interval } from 'rxjs';
5
+ import { LogicOperatorText } from '../../../../../models/logicOperator.model';
6
+ import { BooleanLogicOperatorType, Condition } from '../../../../../models/trigger.model';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../../services/voice-recognition.service";
9
+ import * as i2 from "@angular/material/input";
10
+ import * as i3 from "@angular/material/form-field";
11
+ import * as i4 from "@angular/material/icon";
12
+ import * as i5 from "@angular/forms";
13
+ import * as i6 from "@angular/common";
14
+ import * as i7 from "@eqproject/eqp-select";
15
+ export class TextTriggerTemplateComponent {
16
+ constructor(voiceservice) {
17
+ this.voiceservice = voiceservice;
18
+ this.recordChange = new EventEmitter();
19
+ this.triggerChange = new EventEmitter();
20
+ //Variabili per l'input vocale
21
+ this.isStillRecoginze = false;
22
+ this.source = interval(200);
23
+ this.STT = true;
24
+ this.InputMaskEnum = TextMaskEnum;
25
+ this.logicOperatorText = LogicOperatorText;
26
+ this.selectedLogicOperator = LogicOperatorText['='];
27
+ this.activeCondition = false;
28
+ this.booleanLogicOperatorType = BooleanLogicOperatorType;
29
+ this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
30
+ this.voiceservice.init();
31
+ }
32
+ ngOnInit() {
33
+ this.field = this.condition.Field;
34
+ this.selectedBooleanLogicOperator = this.condition.booleanlogicoperator;
35
+ this.selectedLogicOperator = this.condition.logicoperator;
36
+ this.initStyles();
37
+ }
38
+ initStyles() {
39
+ //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
40
+ if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
41
+ this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
42
+ if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
43
+ this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
44
+ }
45
+ ttsClick() {
46
+ //Gestione del bottone icona del microfono con riempimennto del campo in real time
47
+ if (!this.isStillRecoginze) {
48
+ this.newtext = '';
49
+ this.isStillRecoginze = this.voiceservice.start() === true ? true : false;
50
+ this.subscription = this.source.subscribe(val => {
51
+ if (this.condition.record[this.field.Name] == null || this.condition.record[this.field.Name] == undefined) {
52
+ this.condition.record[this.field.Name] = this.voiceservice.transcript_arr[this.voiceservice.transcript_arr.length - 1];
53
+ }
54
+ else {
55
+ this.newtext = this.voiceservice.transcript_arr[this.voiceservice.transcript_arr.length - 1];
56
+ if (this.newtext != undefined)
57
+ this.updateRTVoiceField();
58
+ }
59
+ });
60
+ }
61
+ else {
62
+ this.isStillRecoginze = this.voiceservice.stop() === false ? false : true;
63
+ this.subscription.unsubscribe();
64
+ this.updateVoiceField();
65
+ }
66
+ }
67
+ getInputType() {
68
+ switch (this.field.TextMask) {
69
+ case TextMaskEnum.Email:
70
+ return 'email';
71
+ case TextMaskEnum.Password:
72
+ return 'password';
73
+ case TextMaskEnum.Telefono:
74
+ return 'tel';
75
+ case TextMaskEnum.Url:
76
+ return 'url';
77
+ default:
78
+ return 'text';
79
+ }
80
+ }
81
+ updateRTVoiceField() {
82
+ this.condition.record[this.field.Name] = this.voiceservice.text + this.newtext;
83
+ this.newtext = '';
84
+ }
85
+ updateVoiceField() {
86
+ this.newtext = '';
87
+ this.condition.record[this.field.Name] = this.voiceservice.text;
88
+ }
89
+ /**
90
+ * Metodo per emettere l'evento che il valore del record è cambiato.
91
+ */
92
+ onTriggerChange() {
93
+ let output = new Condition();
94
+ output = {
95
+ key: this.field.Name,
96
+ value: this.condition.record[this.field.Name],
97
+ logicoperator: this.selectedLogicOperator,
98
+ fieldType: this.field.FieldType,
99
+ booleanlogicoperator: this.selectedBooleanLogicOperator
100
+ };
101
+ this.triggerChange.emit(output);
102
+ }
103
+ }
104
+ TextTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextTriggerTemplateComponent, deps: [{ token: i1.VoiceRecognitionService }], target: i0.ɵɵFactoryTarget.Component });
105
+ TextTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextTriggerTemplateComponent, selector: "text-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorText\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput [type]=\"getInputType()\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" (ngModelChange)=\"onTriggerChange()\">\r\n <mat-icon [hidden]=\"!field.Microphone\" (click)=\"ttsClick()\" matSuffix style=\"cursor: pointer;\" [color]=\"!isStillRecoginze ? '' : 'warn'\">keyboard_voice</mat-icon> \r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></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}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i7.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"] }] });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextTriggerTemplateComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'text-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorText\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput [type]=\"getInputType()\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" (ngModelChange)=\"onTriggerChange()\">\r\n <mat-icon [hidden]=\"!field.Microphone\" (click)=\"ttsClick()\" matSuffix style=\"cursor: pointer;\" [color]=\"!isStillRecoginze ? '' : 'warn'\">keyboard_voice</mat-icon> \r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></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}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
109
+ }], ctorParameters: function () { return [{ type: i1.VoiceRecognitionService }]; }, propDecorators: { condition: [{
110
+ type: Input
111
+ }], recordChange: [{
112
+ type: Output
113
+ }], triggerChange: [{
114
+ type: Output
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvdGV4dC10cmlnZ2VyLXRlbXBsYXRlL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS90ZXh0LXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFdEYsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7O0FBTzVHLE1BQU0sT0FBTyw0QkFBNEI7SUE2QnZDLFlBQW1CLFlBQXFDO1FBQXJDLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQXhCNUMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRSxrQkFBYSxHQUFzQixJQUFJ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TSxHQUFHO1lBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDN0MsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUMvQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsNEJBQTRCO1NBQ3hELENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDOzswSEFqSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsNEtDZHpDLHNtQ0FlTTs0RkRETyw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsdUJBQXVCOzhHQU90QixTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy92b2ljZS1yZWNvZ25pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLCBDb25kaXRpb24sIFRyaWdnZXJDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvdHJpZ2dlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RleHQtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvL1ZhcmlhYmlsaSBwZXIgbCdpbnB1dCB2b2NhbGVcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIFNUVDpib29sZWFuID10cnVlO1xyXG4gIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICBMYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG4gIGxvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgc2VsZWN0ZWRMb2dpY09wZXJhdG9yOiBMb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0Wyc9J107XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZTtcclxuICBzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yOiBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUuQU5EO1xyXG4gIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2b2ljZXNlcnZpY2U6IFZvaWNlUmVjb2duaXRpb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnZvaWNlc2VydmljZS5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGQgPSB0aGlzLmNvbmRpdGlvbi5GaWVsZCBhcyBUZXh0RmllbGQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3IgPSB0aGlzLmNvbmRpdGlvbi5ib29sZWFubG9naWNvcGVyYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dDtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgICAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgICBpZih0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiB9XHJcblxyXG4gIHR0c0NsaWNrKCkge1xyXG4gICAgLy9HZXN0aW9uZSBkZWwgYm90dG9uZSBpY29uYSBkZWwgbWljcm9mb25vIGNvbiByaWVtcGltZW5udG8gZGVsIGNhbXBvIGluIHJlYWwgdGltZVxyXG4gICAgaWYgKCF0aGlzLmlzU3RpbGxSZWNvZ2luemUpIHtcclxuICAgICAgdGhpcy5uZXd0ZXh0ID0gJyc7XHJcbiAgICAgIHRoaXMuaXNTdGlsbFJlY29naW56ZSA9IHRoaXMudm9pY2VzZXJ2aWNlLnN0YXJ0KCkgPT09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2Uuc3Vic2NyaWJlKHZhbCA9PiB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsIHx8IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5jb25kaXRpb24ucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyclt0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyci5sZW5ndGggLSAxXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm5ld3RleHQgPSB0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyclt0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyci5sZW5ndGggLSAxXTtcclxuICAgICAgICAgIGlmICh0aGlzLm5ld3RleHQgIT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVJUVm9pY2VGaWVsZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pc1N0aWxsUmVjb2dpbnplID0gdGhpcy52b2ljZXNlcnZpY2Uuc3RvcCgpID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy51cGRhdGVWb2ljZUZpZWxkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuVGV4dE1hc2spIHtcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uRW1haWw6XHJcbiAgICAgICAgcmV0dXJuICdlbWFpbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlBhc3N3b3JkOlxyXG4gICAgICAgIHJldHVybiAncGFzc3dvcmQnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5UZWxlZm9ubzpcclxuICAgICAgICByZXR1cm4gJ3RlbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlVybDpcclxuICAgICAgICByZXR1cm4gJ3VybCdcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlUlRWb2ljZUZpZWxkKCkge1xyXG4gICAgdGhpcy5jb25kaXRpb24ucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnZvaWNlc2VydmljZS50ZXh0ICsgdGhpcy5uZXd0ZXh0O1xyXG4gICAgdGhpcy5uZXd0ZXh0ID0gJyc7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWb2ljZUZpZWxkKCkge1xyXG4gICAgdGhpcy5uZXd0ZXh0ID0gJyc7XHJcbiAgICB0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRleHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICovXHJcbiBcclxuICBvblRyaWdnZXJDaGFuZ2UoKSB7XHJcblxyXG4gICAgbGV0IG91dHB1dDpDb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKCk7XHJcbiAgICBvdXRwdXQgPSB7XHJcbiAgICAgIGtleTogdGhpcy5maWVsZC5OYW1lLFxyXG4gICAgICB2YWx1ZTogdGhpcy5jb25kaXRpb24ucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yLFxyXG4gICAgICBmaWVsZFR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlLFxyXG4gICAgICBib29sZWFubG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMudHJpZ2dlckNoYW5nZS5lbWl0KG91dHB1dCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwibG9naWNPcGVyYXRvclRleHRcIiBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRMb2dpY09wZXJhdG9yXCIgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvblRyaWdnZXJDaGFuZ2UoKVwiPjwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHZhbHVlQ29sXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsICBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+IHt7ZmllbGQuRGVzY3JpcHRpb259fSA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiBtYXRJbnB1dCBbdHlwZV09XCJnZXRJbnB1dFR5cGUoKVwiIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lXVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZVwiIChjbGljayk9XCJ0dHNDbGljaygpXCIgbWF0U3VmZml4IHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIFtjb2xvcl09XCIhaXNTdGlsbFJlY29naW56ZSA/ICcnIDogJ3dhcm4nXCI+a2V5Ym9hcmRfdm9pY2U8L21hdC1pY29uPiBcclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiYm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlXCIgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3JcIiAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCI+PC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+ICAgICAgICAgXHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,116 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { TextMaskEnum } from '../../../../../models/fields/textField.model';
3
+ import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
4
+ import { interval } from 'rxjs';
5
+ import { LogicOperatorText } from '../../../../../models/logicOperator.model';
6
+ import { Condition, BooleanLogicOperatorType } from '../../../../../models/trigger.model';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../../services/voice-recognition.service";
9
+ import * as i2 from "@angular/material/input";
10
+ import * as i3 from "@angular/material/form-field";
11
+ import * as i4 from "@angular/material/icon";
12
+ import * as i5 from "@angular/forms";
13
+ import * as i6 from "@angular/common";
14
+ import * as i7 from "@eqproject/eqp-select";
15
+ export class TextareaTriggerTemplateComponent {
16
+ constructor(voiceservice) {
17
+ this.voiceservice = voiceservice;
18
+ this.recordChange = new EventEmitter();
19
+ this.triggerChange = new EventEmitter();
20
+ //Variabili per l'input vocale
21
+ this.isStillRecoginze = false;
22
+ this.source = interval(200);
23
+ this.STT = true;
24
+ this.InputMaskEnum = TextMaskEnum;
25
+ this.logicOperatorText = LogicOperatorText;
26
+ this.selectedLogicOperator = LogicOperatorText['='];
27
+ this.activeCondition = false;
28
+ this.booleanLogicOperatorType = BooleanLogicOperatorType;
29
+ this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
30
+ this.voiceservice.init();
31
+ }
32
+ ngOnInit() {
33
+ this.field = this.condition.Field;
34
+ this.selectedBooleanLogicOperator = this.condition.booleanlogicoperator;
35
+ this.selectedLogicOperator = this.condition.logicoperator;
36
+ this.initStyles();
37
+ }
38
+ initStyles() {
39
+ //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
40
+ if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
41
+ this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
42
+ if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
43
+ this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
44
+ }
45
+ ttsClick() {
46
+ //Gestione del bottone icona del microfono con riempimennto del campo in real time
47
+ if (!this.isStillRecoginze) {
48
+ this.newtext = '';
49
+ this.isStillRecoginze = this.voiceservice.start() === true ? true : false;
50
+ this.subscription = this.source.subscribe(val => {
51
+ if (this.condition.record[this.field.Name] == null || this.condition.record[this.field.Name] == undefined) {
52
+ this.condition.record[this.field.Name] = this.voiceservice.transcript_arr[this.voiceservice.transcript_arr.length - 1];
53
+ }
54
+ else {
55
+ this.newtext = this.voiceservice.transcript_arr[this.voiceservice.transcript_arr.length - 1];
56
+ if (this.newtext != undefined)
57
+ this.updateRTVoiceField();
58
+ }
59
+ });
60
+ }
61
+ else {
62
+ this.isStillRecoginze = this.voiceservice.stop() === false ? false : true;
63
+ this.subscription.unsubscribe();
64
+ this.updateVoiceField();
65
+ }
66
+ }
67
+ getInputType() {
68
+ switch (this.field.TextMask) {
69
+ case TextMaskEnum.Email:
70
+ return 'email';
71
+ case TextMaskEnum.Password:
72
+ return 'password';
73
+ case TextMaskEnum.Telefono:
74
+ return 'tel';
75
+ case TextMaskEnum.Url:
76
+ return 'url';
77
+ default:
78
+ return 'text';
79
+ }
80
+ }
81
+ updateRTVoiceField() {
82
+ this.condition.record[this.field.Name] = this.voiceservice.text + this.newtext;
83
+ this.newtext = '';
84
+ }
85
+ updateVoiceField() {
86
+ this.newtext = '';
87
+ this.condition.record[this.field.Name] = this.voiceservice.text;
88
+ }
89
+ /**
90
+ * Metodo per emettere l'evento che il valore del record è cambiato.
91
+ */
92
+ onTriggerChange() {
93
+ let output = new Condition();
94
+ output = {
95
+ key: this.field.Name,
96
+ value: this.condition.record[this.field.Name],
97
+ logicoperator: this.selectedLogicOperator,
98
+ fieldType: this.field.FieldType,
99
+ booleanlogicoperator: this.selectedBooleanLogicOperator
100
+ };
101
+ this.triggerChange.emit(output);
102
+ }
103
+ }
104
+ TextareaTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaTriggerTemplateComponent, deps: [{ token: i1.VoiceRecognitionService }], target: i0.ɵɵFactoryTarget.Component });
105
+ TextareaTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaTriggerTemplateComponent, selector: "textarea-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorText\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field >\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <textarea [ngStyle]=\"FieldstyleObj\" matInput [type]=\"getInputType()\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" (ngModelChange)=\"onTriggerChange()\"></textarea>\r\n <mat-icon [hidden]=\"!field.Microphone\" (click)=\"ttsClick()\" matSuffix style=\"cursor: pointer;\" [color]=\"!isStillRecoginze ? '' : 'warn'\">keyboard_voice</mat-icon> \r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i7.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"] }] });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaTriggerTemplateComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'textarea-trigger-template', template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorText\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field >\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <textarea [ngStyle]=\"FieldstyleObj\" matInput [type]=\"getInputType()\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" (ngModelChange)=\"onTriggerChange()\"></textarea>\r\n <mat-icon [hidden]=\"!field.Microphone\" (click)=\"ttsClick()\" matSuffix style=\"cursor: pointer;\" [color]=\"!isStillRecoginze ? '' : 'warn'\">keyboard_voice</mat-icon> \r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
109
+ }], ctorParameters: function () { return [{ type: i1.VoiceRecognitionService }]; }, propDecorators: { condition: [{
110
+ type: Input
111
+ }], recordChange: [{
112
+ type: Output
113
+ }], triggerChange: [{
114
+ type: Output
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQW9CLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFPNUcsTUFBTSxPQUFPLGdDQUFnQztJQStCM0MsWUFBbUIsWUFBcUM7UUFBckMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBMUI1QyxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FB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LEVBQUUsQ0FBQztRQUN2QyxNQUFNLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QyxhQUFhLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtZQUN6QyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQy9CLG9CQUFvQixFQUFFLElBQUksQ0FBQyw0QkFBNEI7U0FDeEQsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzhIQWpIWSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxnTENkN0MsZ3BDQWVNOzRGRERPLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwyQkFBMkI7OEdBTzFCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRNYXNrRW51bSwgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBWb2ljZVJlY29nbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvaWNlLXJlY29nbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmlnZ2VyQ29uZGl0aW9uLCBDb25kaXRpb24sIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy90cmlnZ2VyLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgU1RUOmJvb2xlYW4gPXRydWU7XHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgXHJcbiAgSW5wdXRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuXHJcbiAgbG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHRbJz0nXTtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgYm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlID0gQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlO1xyXG4gIHNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3I6IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZS5BTkQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2b2ljZXNlcnZpY2U6IFZvaWNlUmVjb2duaXRpb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnZvaWNlc2VydmljZS5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmllbGQgPSB0aGlzLmNvbmRpdGlvbi5GaWVsZCBhcyBUZXh0RmllbGQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3IgPSB0aGlzLmNvbmRpdGlvbi5ib29sZWFubG9naWNvcGVyYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yVGV4dDtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuICBpbml0U3R5bGVzKCkge1xyXG4gICAgICAvL0Z1bnppb25lIHBlciBwYXJzYXJlIGlsIGNhbXBvIHN0eWxlY3NzIGRlbGwnb2dnZXR0byBmaWVsZCBlZCBhcHBsaWNhcmxvIGFsbCdodG1sXHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgIGlmKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxuIH1cclxuXHJcbiAgdHRzQ2xpY2soKSB7XHJcbiAgICAvL0dlc3Rpb25lIGRlbCBib3R0b25lIGljb25hIGRlbCBtaWNyb2Zvbm8gY29uIHJpZW1waW1lbm50byBkZWwgY2FtcG8gaW4gcmVhbCB0aW1lXHJcbiAgICBpZiAoIXRoaXMuaXNTdGlsbFJlY29naW56ZSkge1xyXG4gICAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICAgICAgdGhpcy5pc1N0aWxsUmVjb2dpbnplID0gdGhpcy52b2ljZXNlcnZpY2Uuc3RhcnQoKSA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS5zdWJzY3JpYmUodmFsID0+IHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IG51bGwgfHwgdGhpcy5jb25kaXRpb24ucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyW3RoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubmV3dGV4dCA9IHRoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyW3RoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgICAgaWYgKHRoaXMubmV3dGV4dCAhPSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUlRWb2ljZUZpZWxkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmlzU3RpbGxSZWNvZ2luemUgPSB0aGlzLnZvaWNlc2VydmljZS5zdG9wKCkgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVZvaWNlRmllbGQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldElucHV0VHlwZSgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5maWVsZC5UZXh0TWFzaykge1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5FbWFpbDpcclxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uUGFzc3dvcmQ6XHJcbiAgICAgICAgcmV0dXJuICdwYXNzd29yZCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlRlbGVmb25vOlxyXG4gICAgICAgIHJldHVybiAndGVsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVXJsOlxyXG4gICAgICAgIHJldHVybiAndXJsJ1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAndGV4dCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSVFZvaWNlRmllbGQoKSB7XHJcbiAgICB0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRleHQgKyB0aGlzLm5ld3RleHQ7XHJcbiAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICB9XHJcblxyXG4gIHVwZGF0ZVZvaWNlRmllbGQoKSB7XHJcbiAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICAgIHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy52b2ljZXNlcnZpY2UudGV4dDtcclxuICB9XHJcblxyXG4vKipcclxuKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuKi9cclxub25UcmlnZ2VyQ2hhbmdlKCkge1xyXG5cclxuICBsZXQgb3V0cHV0OkNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oKTtcclxuICBvdXRwdXQgPSB7XHJcbiAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgIHZhbHVlOiB0aGlzLmNvbmRpdGlvbi5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSxcclxuICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yLFxyXG4gICAgZmllbGRUeXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZSxcclxuICAgIGJvb2xlYW5sb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3JcclxuICB9O1xyXG5cclxuICB0aGlzLnRyaWdnZXJDaGFuZ2UuZW1pdChvdXRwdXQpO1xyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgdGV4dGFyZWFGaWx0ZXJUZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIG9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPGVxcC1zZWxlY3QgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JUZXh0XCIgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdmFsdWVDb2xcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsICBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+IHt7ZmllbGQuRGVzY3JpcHRpb259fSA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPHRleHRhcmVhIFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiBtYXRJbnB1dCBbdHlwZV09XCJnZXRJbnB1dFR5cGUoKVwiIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lXVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbaGlkZGVuXT1cIiFmaWVsZC5NaWNyb3Bob25lXCIgKGNsaWNrKT1cInR0c0NsaWNrKClcIiBtYXRTdWZmaXggc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgW2NvbG9yXT1cIiFpc1N0aWxsUmVjb2dpbnplID8gJycgOiAnd2FybidcIj5rZXlib2FyZF92b2ljZTwvbWF0LWljb24+IFxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJib29sZWFuTG9naWNPcGVyYXRvclR5cGVcIiBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj4gICAgICAgICBcclxuPC9kaXY+Il19