ngx-t-forms 2.0.9 → 2.0.10

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 (85) hide show
  1. package/fesm2022/{ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs → ngx-t-forms-api-value-access-rules.component-N3ygU2OC.mjs} +2 -2
  2. package/fesm2022/{ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs.map → ngx-t-forms-api-value-access-rules.component-N3ygU2OC.mjs.map} +1 -1
  3. package/fesm2022/{ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs → ngx-t-forms-calculated-field-rules.component-BLWcl6vn.mjs} +3 -3
  4. package/fesm2022/{ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs.map → ngx-t-forms-calculated-field-rules.component-BLWcl6vn.mjs.map} +1 -1
  5. package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs → ngx-t-forms-config-mscoa-additional-inputs.component-CPerh2tW.mjs} +2 -2
  6. package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs.map → ngx-t-forms-config-mscoa-additional-inputs.component-CPerh2tW.mjs.map} +1 -1
  7. package/fesm2022/{ngx-t-forms-form-input-selector.component-CB03sPjA.mjs → ngx-t-forms-form-input-selector.component-CPP9vk2K.mjs} +2 -2
  8. package/fesm2022/{ngx-t-forms-form-input-selector.component-CB03sPjA.mjs.map → ngx-t-forms-form-input-selector.component-CPP9vk2K.mjs.map} +1 -1
  9. package/fesm2022/{ngx-t-forms-form-json-view.component-C1AZujJH.mjs → ngx-t-forms-form-json-view.component-DrYn49ee.mjs} +2 -2
  10. package/fesm2022/{ngx-t-forms-form-json-view.component-C1AZujJH.mjs.map → ngx-t-forms-form-json-view.component-DrYn49ee.mjs.map} +1 -1
  11. package/fesm2022/{ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs → ngx-t-forms-form-section-stepper.component-8D5I7skU.mjs} +4 -4
  12. package/fesm2022/{ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs.map → ngx-t-forms-form-section-stepper.component-8D5I7skU.mjs.map} +1 -1
  13. package/fesm2022/{ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs → ngx-t-forms-forms-builder-menu.component-CIpEQV76.mjs} +4 -4
  14. package/fesm2022/{ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs.map → ngx-t-forms-forms-builder-menu.component-CIpEQV76.mjs.map} +1 -1
  15. package/fesm2022/{ngx-t-forms-input-editor.component-__grERM8.mjs → ngx-t-forms-input-editor.component-S5vwN832.mjs} +2 -2
  16. package/fesm2022/{ngx-t-forms-input-editor.component-__grERM8.mjs.map → ngx-t-forms-input-editor.component-S5vwN832.mjs.map} +1 -1
  17. package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs → ngx-t-forms-mat-chip-list-editor.component-cuh6pUIa.mjs} +2 -2
  18. package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs.map → ngx-t-forms-mat-chip-list-editor.component-cuh6pUIa.mjs.map} +1 -1
  19. package/fesm2022/{ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs → ngx-t-forms-mat-slider-editor.component-0oKVJ6ZR.mjs} +2 -2
  20. package/fesm2022/{ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs.map → ngx-t-forms-mat-slider-editor.component-0oKVJ6ZR.mjs.map} +1 -1
  21. package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs → ngx-t-forms-mat-slider-toggle-editor.component-CH979aIj.mjs} +2 -2
  22. package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs.map → ngx-t-forms-mat-slider-toggle-editor.component-CH979aIj.mjs.map} +1 -1
  23. package/fesm2022/{ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs → ngx-t-forms-missing-form-configs.component-DO5tei0F.mjs} +2 -2
  24. package/fesm2022/{ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs.map → ngx-t-forms-missing-form-configs.component-DO5tei0F.mjs.map} +1 -1
  25. package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs → ngx-t-forms-mscoa-segment-config.component-DVLk9GU0.mjs} +2 -2
  26. package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs.map → ngx-t-forms-mscoa-segment-config.component-DVLk9GU0.mjs.map} +1 -1
  27. package/fesm2022/{ngx-t-forms-ngx-t-forms-1Roar4qK.mjs → ngx-t-forms-ngx-t-forms-dXesQz32.mjs} +8 -6
  28. package/fesm2022/ngx-t-forms-ngx-t-forms-dXesQz32.mjs.map +1 -0
  29. package/fesm2022/{ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs → ngx-t-forms-pipeline-generator.component-CwqafpEq.mjs} +2 -2
  30. package/fesm2022/{ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs.map → ngx-t-forms-pipeline-generator.component-CwqafpEq.mjs.map} +1 -1
  31. package/fesm2022/{ngx-t-forms-required-inputs.component-BGK3DNu0.mjs → ngx-t-forms-required-inputs.component-Cle4WsPa.mjs} +2 -2
  32. package/fesm2022/{ngx-t-forms-required-inputs.component-BGK3DNu0.mjs.map → ngx-t-forms-required-inputs.component-Cle4WsPa.mjs.map} +1 -1
  33. package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs → ngx-t-forms-rest-api-call-setup.component-N7z59aKu.mjs} +2 -2
  34. package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs.map → ngx-t-forms-rest-api-call-setup.component-N7z59aKu.mjs.map} +1 -1
  35. package/fesm2022/{ngx-t-forms-section-report.component-C8Ja_G_3.mjs → ngx-t-forms-section-report.component-CRJIa-3A.mjs} +2 -2
  36. package/fesm2022/{ngx-t-forms-section-report.component-C8Ja_G_3.mjs.map → ngx-t-forms-section-report.component-CRJIa-3A.mjs.map} +1 -1
  37. package/fesm2022/{ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs → ngx-t-forms-selection-options-editor.component-Cm41dBKq.mjs} +2 -2
  38. package/fesm2022/{ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs.map → ngx-t-forms-selection-options-editor.component-Cm41dBKq.mjs.map} +1 -1
  39. package/fesm2022/{ngx-t-forms-validators-config.component-CGXCCl45.mjs → ngx-t-forms-validators-config.component-CAdn7-Nn.mjs} +3 -3
  40. package/fesm2022/{ngx-t-forms-validators-config.component-CGXCCl45.mjs.map → ngx-t-forms-validators-config.component-CAdn7-Nn.mjs.map} +1 -1
  41. package/fesm2022/ngx-t-forms.mjs +1 -1
  42. package/lib/components/forms/forms.component.d.ts +1 -1
  43. package/lib/components/t-form-input/elements/editor-input-element/core/form-input-rich-text-editor/config.d.ts +1 -0
  44. package/package.json +1 -1
  45. package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs +0 -813
  46. package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs.map +0 -1
  47. package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs +0 -532
  48. package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs.map +0 -1
  49. package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs +0 -297
  50. package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs.map +0 -1
  51. package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs +0 -187
  52. package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs.map +0 -1
  53. package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs +0 -28
  54. package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs.map +0 -1
  55. package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs +0 -673
  56. package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs.map +0 -1
  57. package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs +0 -735
  58. package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs.map +0 -1
  59. package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs +0 -445
  60. package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs.map +0 -1
  61. package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs +0 -111
  62. package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs.map +0 -1
  63. package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs +0 -130
  64. package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs.map +0 -1
  65. package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs +0 -171
  66. package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs.map +0 -1
  67. package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs +0 -104
  68. package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs.map +0 -1
  69. package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs +0 -455
  70. package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs.map +0 -1
  71. package/fesm2022/ngx-t-forms-ngx-t-forms-1Roar4qK.mjs.map +0 -1
  72. package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs +0 -14694
  73. package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs.map +0 -1
  74. package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs +0 -1362
  75. package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs.map +0 -1
  76. package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs +0 -383
  77. package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs.map +0 -1
  78. package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs +0 -457
  79. package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs.map +0 -1
  80. package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs +0 -314
  81. package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs.map +0 -1
  82. package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs +0 -231
  83. package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs.map +0 -1
  84. package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs +0 -434
  85. package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs.map +0 -1
@@ -1,532 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Optional, Self, Output, Input, HostBinding } from '@angular/core';
3
- import { v4 } from 'uuid';
4
- import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs';
5
- import * as i2$1 from '@angular/common';
6
- import { CommonModule } from '@angular/common';
7
- import * as i1 from '@angular/forms';
8
- import { FormsModule } from '@angular/forms';
9
- import { FormInputSelectorComponent } from './ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs';
10
- import * as i3$2 from '@angular/material/form-field';
11
- import { MatFormFieldControl } from '@angular/material/form-field';
12
- import { Subject } from 'rxjs';
13
- import { CalculationFunctions } from 'ngx-t-forms-types';
14
- import * as i3 from '@angular/material/core';
15
- import * as i2 from '@angular/material/button';
16
- import * as i3$1 from '@angular/material/card';
17
- import * as i4 from '@angular/material/chips';
18
- import * as i6 from '@angular/material/icon';
19
- import * as i7 from '@angular/material/select';
20
- import * as i9 from '@angular/material/toolbar';
21
- import * as i12 from '@angular/material/input';
22
-
23
- const _c0 = () => [];
24
- const _forTrack0 = ($index, $item) => $item.id;
25
- function CalculatedFieldRulesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "div", 10)(1, "mat-icon", 11);
27
- i0.ɵɵtext(2, "info");
28
- i0.ɵɵelementEnd();
29
- i0.ɵɵelementStart(3, "span");
30
- i0.ɵɵtext(4, " Save the input first to enable calculated field configurations ");
31
- i0.ɵɵelementEnd()();
32
- } }
33
- function CalculatedFieldRulesComponent_mat_form_field_10_For_5_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "mat-option", 14);
35
- i0.ɵɵtext(1);
36
- i0.ɵɵelementEnd();
37
- } if (rf & 2) {
38
- const input_r4 = ctx.$implicit;
39
- const ctx_r2 = i0.ɵɵnextContext(2);
40
- i0.ɵɵproperty("disabled", ctx_r2.checkIfInputCanBeLinkedToCalVariable(ctx_r2.mapToData, input_r4) || input_r4.element !== "select")("value", input_r4.formControlName);
41
- i0.ɵɵadvance();
42
- i0.ɵɵtextInterpolate(input_r4.label);
43
- } }
44
- function CalculatedFieldRulesComponent_mat_form_field_10_Template(rf, ctx) { if (rf & 1) {
45
- const _r2 = i0.ɵɵgetCurrentView();
46
- i0.ɵɵelementStart(0, "mat-form-field", 12)(1, "mat-label");
47
- i0.ɵɵtext(2, "Equation");
48
- i0.ɵɵelementEnd();
49
- i0.ɵɵelementStart(3, "mat-select", 13);
50
- i0.ɵɵlistener("selectionChange", function CalculatedFieldRulesComponent_mat_form_field_10_Template_mat_select_selectionChange_3_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.linkFormulaSource($event)); });
51
- i0.ɵɵrepeaterCreate(4, CalculatedFieldRulesComponent_mat_form_field_10_For_5_Template, 2, 3, "mat-option", 14, _forTrack0);
52
- i0.ɵɵelementEnd();
53
- i0.ɵɵelementStart(6, "mat-hint");
54
- i0.ɵɵtext(7, " Link formula to an input value ");
55
- i0.ɵɵelementEnd()();
56
- } if (rf & 2) {
57
- const ctx_r2 = i0.ɵɵnextContext();
58
- i0.ɵɵproperty("subscriptSizing", "dynamic")("floatLabel", "always");
59
- i0.ɵɵadvance(3);
60
- i0.ɵɵproperty("value", ctx_r2.value.formControlWithFormula);
61
- i0.ɵɵadvance();
62
- i0.ɵɵrepeater(ctx_r2.formInputs);
63
- } }
64
- function CalculatedFieldRulesComponent_mat_chip_13_span_3_Template(rf, ctx) { if (rf & 1) {
65
- i0.ɵɵelementStart(0, "span", 19);
66
- i0.ɵɵtext(1);
67
- i0.ɵɵelementEnd();
68
- } if (rf & 2) {
69
- const variable_r6 = i0.ɵɵnextContext().$implicit;
70
- i0.ɵɵadvance();
71
- i0.ɵɵtextInterpolate1(" ", variable_r6["function"], "");
72
- } }
73
- function CalculatedFieldRulesComponent_mat_chip_13_Template(rf, ctx) { if (rf & 1) {
74
- const _r5 = i0.ɵɵgetCurrentView();
75
- i0.ɵɵelementStart(0, "mat-chip", 15);
76
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_mat_chip_13_Template_mat_chip_click_0_listener() { const variable_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r2.value["formula"] = ctx_r2.value["formula"] + " " + variable_r6["variable"])); })("removed", function CalculatedFieldRulesComponent_mat_chip_13_Template_mat_chip_removed_0_listener() { const variable_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.remove(variable_r6)); });
77
- i0.ɵɵelementStart(1, "div", 16);
78
- i0.ɵɵtext(2);
79
- i0.ɵɵtemplate(3, CalculatedFieldRulesComponent_mat_chip_13_span_3_Template, 2, 1, "span", 17);
80
- i0.ɵɵelementEnd();
81
- i0.ɵɵelementStart(4, "button", 18)(5, "mat-icon");
82
- i0.ɵɵtext(6, "cancel");
83
- i0.ɵɵelementEnd()()();
84
- } if (rf & 2) {
85
- const variable_r6 = ctx.$implicit;
86
- i0.ɵɵadvance();
87
- i0.ɵɵstyleProp("color", variable_r6["tableCell"] ? "var(--ion-color-purple)" : "");
88
- i0.ɵɵadvance();
89
- i0.ɵɵtextInterpolate2(" ", variable_r6["variable"], " - ", variable_r6["label"], " ");
90
- i0.ɵɵadvance();
91
- i0.ɵɵproperty("ngIf", variable_r6["function"]);
92
- } }
93
- function CalculatedFieldRulesComponent_mat_chip_14_Template(rf, ctx) { if (rf & 1) {
94
- const _r7 = i0.ɵɵgetCurrentView();
95
- i0.ɵɵelementStart(0, "mat-chip", 20);
96
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_mat_chip_14_Template_mat_chip_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.showVariableConfig = !ctx_r2.showVariableConfig); });
97
- i0.ɵɵelementStart(1, "span");
98
- i0.ɵɵtext(2);
99
- i0.ɵɵelementEnd();
100
- i0.ɵɵelementStart(3, "mat-icon", 21);
101
- i0.ɵɵtext(4);
102
- i0.ɵɵelementEnd()();
103
- } if (rf & 2) {
104
- const ctx_r2 = i0.ɵɵnextContext();
105
- i0.ɵɵadvance(2);
106
- i0.ɵɵtextInterpolate1(" ", ctx_r2.showVariableConfig ? "close Variable edit" : "Add a new Variable", " ");
107
- i0.ɵɵadvance(2);
108
- i0.ɵɵtextInterpolate(ctx_r2.showVariableConfig ? "close" : "add");
109
- } }
110
- function CalculatedFieldRulesComponent_Conditional_15_ng_container_0_Template(rf, ctx) { if (rf & 1) {
111
- i0.ɵɵelementContainer(0);
112
- } }
113
- function CalculatedFieldRulesComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵtemplate(0, CalculatedFieldRulesComponent_Conditional_15_ng_container_0_Template, 1, 0, "ng-container", 22);
115
- } if (rf & 2) {
116
- i0.ɵɵnextContext();
117
- const variableConfiguration_r8 = i0.ɵɵreference(17);
118
- i0.ɵɵproperty("ngTemplateOutlet", variableConfiguration_r8);
119
- } }
120
- function CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Conditional_8_For_6_Template(rf, ctx) { if (rf & 1) {
121
- const _r11 = i0.ɵɵgetCurrentView();
122
- i0.ɵɵelementStart(0, "mat-chip-option", 35);
123
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Conditional_8_For_6_Template_mat_chip_option_click_0_listener($event) { const func_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.attachFunction($event, func_r12)); });
124
- i0.ɵɵtext(1);
125
- i0.ɵɵelementEnd();
126
- } if (rf & 2) {
127
- const func_r12 = ctx.$implicit;
128
- const ctx_r2 = i0.ɵɵnextContext(4);
129
- i0.ɵɵproperty("selected", ctx_r2.activeVariable.function === func_r12);
130
- i0.ɵɵadvance();
131
- i0.ɵɵtextInterpolate(func_r12);
132
- } }
133
- function CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Conditional_8_Template(rf, ctx) { if (rf & 1) {
134
- i0.ɵɵelement(0, "br");
135
- i0.ɵɵelementStart(1, "mat-label")(2, "small");
136
- i0.ɵɵtext(3, "list function ( \u0192 )");
137
- i0.ɵɵelementEnd()();
138
- i0.ɵɵelementStart(4, "mat-chip-listbox", 33);
139
- i0.ɵɵrepeaterCreate(5, CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Conditional_8_For_6_Template, 2, 2, "mat-chip-option", 34, i0.ɵɵrepeaterTrackByIdentity);
140
- i0.ɵɵelementEnd();
141
- } if (rf & 2) {
142
- const ctx_r2 = i0.ɵɵnextContext(3);
143
- i0.ɵɵadvance(5);
144
- i0.ɵɵrepeater(ctx_r2.allCalculationFunction);
145
- } }
146
- function CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Template(rf, ctx) { if (rf & 1) {
147
- const _r10 = i0.ɵɵgetCurrentView();
148
- i0.ɵɵelementContainerStart(0);
149
- i0.ɵɵelementStart(1, "mat-form-field", 4)(2, "mat-label");
150
- i0.ɵɵtext(3, "Variable Name");
151
- i0.ɵɵelementEnd();
152
- i0.ɵɵelementStart(4, "textarea", 32, 0);
153
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Template_textarea_click_4_listener($event) { i0.ɵɵrestoreView(_r10); return i0.ɵɵresetView($event.stopPropagation()); });
154
- i0.ɵɵtwoWayListener("ngModelChange", function CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Template_textarea_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.activeVariable["variable"], $event) || (ctx_r2.activeVariable["variable"] = $event); return i0.ɵɵresetView($event); });
155
- i0.ɵɵelementEnd();
156
- i0.ɵɵelementStart(6, "mat-hint");
157
- i0.ɵɵtext(7, " A variable is an alphabet or term that represents a form input in the equation. ");
158
- i0.ɵɵelementEnd()();
159
- i0.ɵɵtemplate(8, CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Conditional_8_Template, 7, 0);
160
- i0.ɵɵelementContainerEnd();
161
- } if (rf & 2) {
162
- const ctx_r2 = i0.ɵɵnextContext(2);
163
- i0.ɵɵadvance();
164
- i0.ɵɵproperty("subscriptSizing", "dynamic")("floatLabel", "always");
165
- i0.ɵɵadvance(3);
166
- i0.ɵɵtwoWayProperty("ngModel", ctx_r2.activeVariable["variable"]);
167
- i0.ɵɵadvance(4);
168
- i0.ɵɵconditional(ctx_r2.activeVariable["parentInputId"] ? 8 : -1);
169
- } }
170
- function CalculatedFieldRulesComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
171
- const _r9 = i0.ɵɵgetCurrentView();
172
- i0.ɵɵelementStart(0, "mat-card", 23)(1, "div", 24)(2, "div", 25)(3, "mat-icon", 11);
173
- i0.ɵɵtext(4, "info");
174
- i0.ɵɵelementEnd();
175
- i0.ɵɵelementStart(5, "span")(6, "strong");
176
- i0.ɵɵtext(7, "Configure variable ");
177
- i0.ɵɵelementEnd();
178
- i0.ɵɵelement(8, "br");
179
- i0.ɵɵtext(9, " Link a form input to a variable to use in the equation ");
180
- i0.ɵɵelementEnd()();
181
- i0.ɵɵelementStart(10, "lib-form-input-selector", 26);
182
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_ng_template_16_Template_lib_form_input_selector_click_10_listener($event) { i0.ɵɵrestoreView(_r9); return i0.ɵɵresetView($event.stopPropagation()); })("change", function CalculatedFieldRulesComponent_ng_template_16_Template_lib_form_input_selector_change_10_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.bindInput($event)); });
183
- i0.ɵɵelementEnd();
184
- i0.ɵɵtemplate(11, CalculatedFieldRulesComponent_ng_template_16_ng_container_11_Template, 9, 4, "ng-container", 27);
185
- i0.ɵɵelementEnd();
186
- i0.ɵɵelementStart(12, "mat-toolbar", 28);
187
- i0.ɵɵelement(13, "span", 29);
188
- i0.ɵɵelementStart(14, "button", 30);
189
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_ng_template_16_Template_button_click_14_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelVariableConfig($event)); });
190
- i0.ɵɵtext(15, " cancel ");
191
- i0.ɵɵelementEnd();
192
- i0.ɵɵelementStart(16, "button", 31);
193
- i0.ɵɵlistener("click", function CalculatedFieldRulesComponent_ng_template_16_Template_button_click_16_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveNewVariable($event)); });
194
- i0.ɵɵtext(17, " save variable ");
195
- i0.ɵɵelementEnd()()();
196
- } if (rf & 2) {
197
- const ctx_r2 = i0.ɵɵnextContext();
198
- i0.ɵɵadvance(10);
199
- i0.ɵɵproperty("disabled", !!ctx_r2.activeVariable["formControlName"])("formInputs", ctx_r2.numberInputs)("value", ctx_r2.activeVariable["inputId"]);
200
- i0.ɵɵadvance();
201
- i0.ɵɵproperty("ngIf", ctx_r2.activeVariable ? !!ctx_r2.activeVariable["formControlName"] : false);
202
- i0.ɵɵadvance(5);
203
- i0.ɵɵproperty("disabled", !ctx_r2.activeVariable["formControlName"] || !ctx_r2.activeVariable["variable"]);
204
- } }
205
- class CalculatedFieldRulesComponent {
206
- static { this.nextId = 0; }
207
- constructor(ngControl, _elementRef) {
208
- this.ngControl = ngControl;
209
- this._elementRef = _elementRef;
210
- this.stateChanges = new Subject();
211
- this.id = `app-calculated-field-rules-${CalculatedFieldRulesComponent.nextId++}`;
212
- this.placeholder = '';
213
- this.focused = false;
214
- this.required = false;
215
- this.disabled = false;
216
- this.touched = false;
217
- this.onTouched = () => { };
218
- this.mapToData = undefined;
219
- this._value = {};
220
- this.formInputs = [];
221
- this.errors = [];
222
- this.valueChange2dWithPath = new EventEmitter();
223
- this.valueChanged = new EventEmitter();
224
- this.activeVariable = {};
225
- this.showVariableConfig = false;
226
- this.functions = [
227
- { value: 'avg', label: 'Average' },
228
- { value: 'max', label: 'Maximum' },
229
- { value: 'min', label: 'lowest' },
230
- { value: 'sum', label: 'Sum' },
231
- ];
232
- }
233
- get empty() {
234
- return !this.value;
235
- }
236
- get shouldLabelFloat() {
237
- return this.focused || !this.empty;
238
- }
239
- get errorState() {
240
- const hasError = !!this.ngControl?.control?.errors || (this.errors || []).length > 0 && this.touched;
241
- return !this.value && !!this.required || hasError;
242
- }
243
- setDescribedByIds(ids) {
244
- // Ensure the component view is initialized
245
- if (this._elementRef && this._elementRef.nativeElement) {
246
- const controlElement = this._elementRef.nativeElement.querySelector('.app-calculated-field-rules');
247
- // Check if the controlElement exists before attempting to set its attribute
248
- if (controlElement) {
249
- controlElement.setAttribute('aria-describedby', ids.join(' '));
250
- }
251
- }
252
- }
253
- onContainerClick(event) {
254
- this.markAsTouched();
255
- this.stateChanges.next();
256
- }
257
- markAsTouched() {
258
- console.log('markAsTouched');
259
- if (!this.touched) {
260
- this.onTouched();
261
- this.touched = true;
262
- }
263
- }
264
- set value(value) {
265
- this._value = value;
266
- }
267
- get value() {
268
- return this._value;
269
- }
270
- get allCalculationFunction() {
271
- return Object.values(CalculationFunctions);
272
- }
273
- ngOnInit() { }
274
- applyColTo() {
275
- let i = this.formInputs?.find((input) => input.id === this.activeVariable['inputId']);
276
- if (i?.element === 'tableSelection') {
277
- return this.selectedInputVariable().tableConfig.displayedColumnsInOrder;
278
- }
279
- else if (i?.multipleInputInEditId) {
280
- const parentInput = this.formInputs?.find((input) => input.id === i?.multipleInputInEditId);
281
- return parentInput?.formInputs;
282
- }
283
- return [];
284
- }
285
- get numberInputs() {
286
- return this.formInputs?.filter((input) => input.dataType === 'number' || input.type === 'number');
287
- }
288
- get tableMode() {
289
- return !!this.mapToData?.tableConfig;
290
- }
291
- get tableConfig() {
292
- return this.mapToData?.tableConfig;
293
- }
294
- inputIsInItemList(v) {
295
- let i = this.formInputs?.find((input) => input.formControlName === v['formControlName']);
296
- const hasParent = i ? i['multipleInputInEditId'] : false;
297
- const isInTable = v['tableCell'];
298
- return !!hasParent || isInTable;
299
- }
300
- selectedVariableIsTable() {
301
- const selectedInput = this.formInputs?.find((inp) => inp['id'] === this.activeVariable['inputId']);
302
- const isTable = selectedInput
303
- ? selectedInput['element'] === 'tableSelection'
304
- : false;
305
- return !!isTable;
306
- }
307
- selectedInputVariable() {
308
- const selectedInput = this.formInputs?.find((inp) => inp['formControlName'] === this.activeVariable['formControlName']);
309
- const isTable = selectedInput
310
- ? selectedInput['element'] === 'tableSelection'
311
- : false;
312
- return isTable ? selectedInput : {};
313
- }
314
- checkIfInputCanBeLinkedToCalVariable(currentInput, inputToDisable) {
315
- if (currentInput?.['formControlName'] === inputToDisable.formControlName) {
316
- return true;
317
- }
318
- else {
319
- if (!currentInput?.['multipleInputInEditId']) {
320
- return !!inputToDisable['parentInput'] || !!inputToDisable['multipleInputInEditId'];
321
- }
322
- else {
323
- return;
324
- }
325
- }
326
- }
327
- valueChangedPost(event) {
328
- this.valueChanged.emit(this.value);
329
- }
330
- addVariable() {
331
- if (!this.value?.['variables']) {
332
- this.value = {
333
- ...this.value,
334
- variables: [],
335
- formula: this.value?.formula || ''
336
- };
337
- }
338
- this.value = {
339
- ...this.value,
340
- variables: [...this.value.variables, {
341
- formControlName: '',
342
- variable: '',
343
- }]
344
- };
345
- }
346
- linkFormulaSource(event) {
347
- if (!this.value) {
348
- this.value = {};
349
- }
350
- this.value.formControlWithFormula = event.value;
351
- this.value.formula = undefined;
352
- this.valueChanged.emit(this.value);
353
- }
354
- bindInput(inputId) {
355
- const input = this.formInputs?.find((input) => input.id === inputId);
356
- if (!input)
357
- return;
358
- if (this.activeVariable['formControlName'] === input['formControlName']) {
359
- return;
360
- }
361
- this.activeVariable['formControlName'] = input['formControlName'];
362
- this.activeVariable['label'] = input['label'];
363
- this.activeVariable['inputId'] = input['id'];
364
- this.activeVariable['parentInputId'] = input['multipleInputInEditId'];
365
- }
366
- formulaChanged(event) {
367
- this.valueChanged.emit(this.value);
368
- }
369
- bindTableCol(event, col) {
370
- this.activeVariable['formControlName'] = col;
371
- this.activeVariable['tableCell'] = true;
372
- this.activeVariable['label'] = this.tableConfig?.columnsConfig[col].label;
373
- event.stopPropagation();
374
- }
375
- tableFunctionToCol(event, col) {
376
- if (typeof col === 'object') {
377
- this.activeVariable['applyFunctionToCol'] = col['formControlName'];
378
- this.activeVariable['applyFunctionToLabel'] = col['label'];
379
- }
380
- else {
381
- this.activeVariable['applyFunctionToCol'] = col;
382
- this.activeVariable['applyFunctionToLabel'] =
383
- this.selectedInputVariable()?.tableConfig.columnsConfig[col].label;
384
- }
385
- event.stopPropagation();
386
- }
387
- filterValuesByThisCol(event, col) {
388
- this.activeVariable['filterValuesByCol'] = col;
389
- this.activeVariable['filterValuesByThisColLabel'] =
390
- this.selectedInputVariable()?.tableConfig.columnsConfig[col].label;
391
- event.stopPropagation();
392
- }
393
- unlick(event) {
394
- delete this.activeVariable['formControlName'];
395
- delete this.activeVariable['label'];
396
- delete this.activeVariable['tableCell'];
397
- event.stopPropagation();
398
- }
399
- unlinkTableFunctionToCol(event) {
400
- delete this.activeVariable['applyFunctionToCol'];
401
- delete this.activeVariable['applyFunctionToLabel'];
402
- event.stopPropagation();
403
- }
404
- unlinkTableFilter(event) {
405
- delete this.activeVariable['filterValuesByCol'];
406
- delete this.activeVariable['filterValuesByThisColLabel'];
407
- event.stopPropagation();
408
- }
409
- attachFunction(event, value) {
410
- if (this.activeVariable['function'] === value) {
411
- this.activeVariable['function'] = undefined;
412
- this.activeVariable['applyFunctionToCol'] = undefined;
413
- this.activeVariable['applyFunctionToLabel'] = undefined;
414
- }
415
- else {
416
- (this.activeVariable['function'] = value);
417
- this.activeVariable['applyFunctionToCol'] = this.activeVariable['formControlName'];
418
- this.activeVariable['applyFunctionToLabel'] = this.activeVariable['label'];
419
- }
420
- event.stopPropagation();
421
- }
422
- saveNewVariable(event) {
423
- if (!this.value?.['variables']) {
424
- this.value = {
425
- ...this.value,
426
- variables: [],
427
- formula: this.value?.formula || ''
428
- };
429
- }
430
- this.activeVariable['id'] = v4();
431
- if (this.inputIsInItemList(this.activeVariable)) {
432
- let i = this.formInputs?.find((input) => input.formControlName === this.activeVariable['formControlName']);
433
- const hasParent = i ? i['multipleInputInEditId'] : false;
434
- this.activeVariable['parentInputId'] =
435
- hasParent && i ? i['multipleInputInEditId'] : undefined;
436
- this.value = {
437
- ...this.value,
438
- variables: [...this.value['variables'], this.activeVariable],
439
- };
440
- }
441
- else {
442
- this.value = {
443
- ...this.value,
444
- variables: [...this.value['variables'], this.activeVariable],
445
- };
446
- }
447
- this.activeVariable = {};
448
- this.showVariableConfig = false;
449
- this.valueChanged.emit(this.value);
450
- }
451
- remove(variable) {
452
- this.value = {
453
- ...this.value,
454
- variables: this.value.variables.filter((v) => v.id !== variable.id)
455
- };
456
- }
457
- cancelVariableConfig(event) {
458
- this.activeVariable = {};
459
- this.showVariableConfig = false;
460
- }
461
- static { this.ɵfac = function CalculatedFieldRulesComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalculatedFieldRulesComponent)(i0.ɵɵdirectiveInject(i1.NgControl, 10), i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
462
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalculatedFieldRulesComponent, selectors: [["app-calculated-field-rules"]], hostVars: 1, hostBindings: function CalculatedFieldRulesComponent_HostBindings(rf, ctx) { if (rf & 2) {
463
- i0.ɵɵhostProperty("id", ctx.id);
464
- } }, inputs: { mapToData: "mapToData", value: "value", formInputs: "formInputs", errors: "errors" }, outputs: { valueChange2dWithPath: "valueChange2dWithPath", valueChanged: "valueChanged" }, features: [i0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: CalculatedFieldRulesComponent }])], decls: 18, vars: 9, consts: [["textarea", ""], ["chipList", ""], ["variableConfiguration", ""], ["class", "tree-instructions", 4, "ngIf"], ["appearance", "outline", 3, "subscriptSizing", "floatLabel"], ["matInput", "", "placeholder", "Enter calculation expression", 3, "ngModelChange", "input", "ngModel"], ["style", " margin-bottom: 8px;", "appearance", "outline", 3, "subscriptSizing", "floatLabel", 4, "ngIf"], ["aria-label", "options"], [3, "click", "removed", 4, "ngFor", "ngForOf"], ["highlighted", "true", "color", "accent", 3, "click", 4, "ngIf"], [1, "tree-instructions"], ["color", "primary", 1, "info-icon"], ["appearance", "outline", 2, "margin-bottom", "8px", 3, "subscriptSizing", "floatLabel"], ["matNativeControl", "", "placeholder", "select Input with formula", 3, "selectionChange", "value"], [3, "disabled", "value"], [3, "click", "removed"], [2, "font-size", "13px"], ["style", "opacity: 0.6; padding-left: 5px", 4, "ngIf"], ["matChipRemove", ""], [2, "opacity", "0.6", "padding-left", "5px"], ["highlighted", "true", "color", "accent", 3, "click"], ["matChipTrailingIcon", ""], [4, "ngTemplateOutlet"], [2, "background", "var(--mat-toolbar-container-background-color, var(--mat-app-surface))"], [2, "padding", "8px"], [1, "tree-instructions", 2, "background", "azure"], [3, "click", "change", "disabled", "formInputs", "value"], [4, "ngIf"], ["lines", "none", 1, "ion-margin-top"], [1, "spacer"], ["mat-flat-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click", "disabled"], ["matInput", "", "placeholder", "enter variable", 3, "click", "ngModelChange", "ngModel"], ["aria-label", "Calculation function", 1, "mat-mdc-chip-set-stacked"], [3, "selected"], [3, "click", "selected"]], template: function CalculatedFieldRulesComponent_Template(rf, ctx) { if (rf & 1) {
465
- const _r1 = i0.ɵɵgetCurrentView();
466
- i0.ɵɵelement(0, "br");
467
- i0.ɵɵtemplate(1, CalculatedFieldRulesComponent_div_1_Template, 5, 0, "div", 3);
468
- i0.ɵɵelementStart(2, "section")(3, "mat-form-field", 4)(4, "mat-label");
469
- i0.ɵɵtext(5, "Equation");
470
- i0.ɵɵelementEnd();
471
- i0.ɵɵelementStart(6, "textarea", 5, 0);
472
- i0.ɵɵtwoWayListener("ngModelChange", function CalculatedFieldRulesComponent_Template_textarea_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.value["formula"], $event) || (ctx.value["formula"] = $event); return i0.ɵɵresetView($event); });
473
- i0.ɵɵlistener("input", function CalculatedFieldRulesComponent_Template_textarea_input_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.formulaChanged($event)); });
474
- i0.ɵɵelementEnd();
475
- i0.ɵɵelementStart(8, "mat-hint");
476
- i0.ɵɵtext(9, " example: ((a+2)/(b-1))*2 ");
477
- i0.ɵɵelementEnd()();
478
- i0.ɵɵtemplate(10, CalculatedFieldRulesComponent_mat_form_field_10_Template, 8, 3, "mat-form-field", 6);
479
- i0.ɵɵelementStart(11, "mat-chip-listbox", 7, 1);
480
- i0.ɵɵtemplate(13, CalculatedFieldRulesComponent_mat_chip_13_Template, 7, 5, "mat-chip", 8)(14, CalculatedFieldRulesComponent_mat_chip_14_Template, 5, 2, "mat-chip", 9);
481
- i0.ɵɵelementEnd();
482
- i0.ɵɵtemplate(15, CalculatedFieldRulesComponent_Conditional_15_Template, 1, 1, "ng-container");
483
- i0.ɵɵelementEnd();
484
- i0.ɵɵtemplate(16, CalculatedFieldRulesComponent_ng_template_16_Template, 18, 5, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
485
- } if (rf & 2) {
486
- i0.ɵɵadvance();
487
- i0.ɵɵproperty("ngIf", !!ctx.value && !(ctx.mapToData == null ? null : ctx.mapToData["id"]) && !ctx.tableMode);
488
- i0.ɵɵadvance(2);
489
- i0.ɵɵproperty("subscriptSizing", "dynamic")("floatLabel", "always");
490
- i0.ɵɵadvance(3);
491
- i0.ɵɵtwoWayProperty("ngModel", ctx.value["formula"]);
492
- i0.ɵɵadvance(4);
493
- i0.ɵɵproperty("ngIf", !!ctx.value.getFormulaFromAFormInput);
494
- i0.ɵɵadvance(3);
495
- i0.ɵɵproperty("ngForOf", ctx.value["variables"] || i0.ɵɵpureFunction0(8, _c0));
496
- i0.ɵɵadvance();
497
- i0.ɵɵproperty("ngIf", !ctx.showVariableConfig);
498
- i0.ɵɵadvance();
499
- i0.ɵɵconditional(ctx.showVariableConfig ? 15 : -1);
500
- } }, dependencies: [MatModulesModule, i3.MatOption, i2.MatButton, i3$1.MatCard, i4.MatChip, i4.MatChipListbox, i4.MatChipOption, i4.MatChipRemove, i4.MatChipTrailingIcon, i6.MatIcon, i3$2.MatFormField, i3$2.MatLabel, i3$2.MatHint, i7.MatSelect, i9.MatToolbar, i12.MatInput, CommonModule, i2$1.NgForOf, i2$1.NgIf, i2$1.NgTemplateOutlet, FormsModule, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgModel, FormInputSelectorComponent], styles: [".labelM[_ngcontent-%COMP%]{font-size:13px}.tree-instructions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px;background:azure;border-radius:4px;margin-bottom:16px}.info-icon[_ngcontent-%COMP%]{min-width:38px;margin:8px auto auto}mat-form-field[_ngcontent-%COMP%]{width:100%;background:azure}.endIcons[_ngcontent-%COMP%]{height:100%;display:flex!important;align-items:center!important;justify-content:center}mat-chip[_ngcontent-%COMP%]{cursor:pointer}"] }); }
501
- }
502
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CalculatedFieldRulesComponent, [{
503
- type: Component,
504
- args: [{ selector: 'app-calculated-field-rules', standalone: true, imports: [
505
- MatModulesModule,
506
- CommonModule,
507
- FormsModule,
508
- FormInputSelectorComponent
509
- ], providers: [{ provide: MatFormFieldControl, useExisting: CalculatedFieldRulesComponent }], template: "\r\n<br>\r\n<div *ngIf=\" !!this.value &&!mapToData?.['id'] && !tableMode\" class=\"tree-instructions\">\r\n <mat-icon class=\"info-icon\" color=\"primary\">info</mat-icon>\r\n <span>\r\n Save the input first to enable calculated field configurations\r\n </span>\r\n</div>\r\n\r\n<section >\r\n <mat-form-field [subscriptSizing]=\"'dynamic'\" [floatLabel]=\"'always'\" appearance=\"outline\" >\r\n <mat-label >Equation</mat-label>\r\n <textarea matInput #textarea [(ngModel)]=\"value['formula']\" \r\n (input)=\"formulaChanged($event)\"\r\n placeholder=\"Enter calculation expression\"></textarea>\r\n <mat-hint>\r\n example: ((a+2)/(b-1))*2\r\n </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [subscriptSizing]=\"'dynamic'\" [floatLabel]=\"'always'\" style=\" margin-bottom: 8px;\" appearance=\"outline\" *ngIf=\"!!value.getFormulaFromAFormInput\">\r\n <mat-label>Equation</mat-label>\r\n <mat-select matNativeControl [value]=\"value.formControlWithFormula\" (selectionChange)=\"linkFormulaSource($event)\"\r\n placeholder=\"select Input with formula\">\r\n @for (input of formInputs; track input.id) {\r\n <mat-option [disabled]=\"\r\n checkIfInputCanBeLinkedToCalVariable(mapToData, input) ||\r\n input.element !== 'select'\" [value]=\"input.formControlName\">{{input.label}}</mat-option>\r\n }\r\n\r\n\r\n </mat-select>\r\n <mat-hint>\r\n Link formula to an input value\r\n </mat-hint>\r\n </mat-form-field>\r\n <mat-chip-listbox #chipList aria-label=\"options\">\r\n\r\n <mat-chip *ngFor=\"let variable of (this.value['variables']||[])\" \r\n (click)=\"value['formula'] = value['formula'] +' '+ variable['variable'] \"\r\n (removed)=\"remove(variable)\">\r\n <div [style.color]=\"\r\n variable['tableCell'] ? 'var(--ion-color-purple)' : ''\r\n \" style=\"font-size: 13px\">\r\n {{ variable[\"variable\"] }}\r\n\r\n - {{ variable[\"label\"] }}\r\n <span style=\"opacity: 0.6; padding-left: 5px\" *ngIf=\"variable['function']\">\r\n {{ variable[\"function\"] }}</span>\r\n </div>\r\n\r\n <button matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n <mat-chip *ngIf=\"!showVariableConfig\" highlighted=\"true\" color=\"accent\" (click)=\"showVariableConfig = !showVariableConfig\">\r\n <span> {{showVariableConfig?'close Variable edit':'Add a new Variable'}} </span>\r\n <mat-icon matChipTrailingIcon>{{\r\n showVariableConfig\r\n ? 'close'\r\n : 'add'\r\n }}</mat-icon>\r\n </mat-chip>\r\n </mat-chip-listbox>\r\n\r\n @if( showVariableConfig){\r\n <ng-container *ngTemplateOutlet=\"variableConfiguration\">\r\n\r\n </ng-container>\r\n }\r\n\r\n</section>\r\n<ng-template #variableConfiguration>\r\n <mat-card style=\"background: var(--mat-toolbar-container-background-color, var(--mat-app-surface));\">\r\n <div style=\"padding: 8px;\">\r\n <div class=\"tree-instructions\" style=\"background: azure\">\r\n <mat-icon class=\"info-icon\" color=\"primary\">info</mat-icon>\r\n <span>\r\n <strong>Configure variable </strong><br>\r\n Link a form input to a variable to use in the equation\r\n </span>\r\n </div>\r\n\r\n <lib-form-input-selector \r\n [disabled]=\"!!this.activeVariable['formControlName']\"\r\n [formInputs]=\"numberInputs\" [value]=\"this.activeVariable['inputId']\"\r\n (click)=\"$event.stopPropagation()\" (change)=\"bindInput($event)\"></lib-form-input-selector>\r\n\r\n <ng-container *ngIf=\"this.activeVariable ? !!this.activeVariable['formControlName'] : false\">\r\n <mat-form-field [subscriptSizing]=\"'dynamic'\" [floatLabel]=\"'always'\" appearance=\"outline\">\r\n <mat-label >Variable Name</mat-label>\r\n <textarea matInput #textarea (click)=\"$event.stopPropagation()\"\r\n [(ngModel)]=\"this.activeVariable['variable']\"\r\n placeholder=\"enter variable\"></textarea>\r\n <mat-hint>\r\n A variable is an alphabet or term that represents a form input in the equation.\r\n </mat-hint>\r\n </mat-form-field>\r\n @if (activeVariable['parentInputId']) {\r\n <br>\r\n <mat-label > <small>list function ( \u0192 )</small> </mat-label>\r\n <mat-chip-listbox class=\"mat-mdc-chip-set-stacked\" aria-label=\"Calculation function\">\r\n @for (func of allCalculationFunction; track func) {\r\n <mat-chip-option (click)=\"attachFunction($event,func)\" [selected]=\"activeVariable.function === func\">{{func}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n \r\n }\r\n \r\n </ng-container>\r\n </div>\r\n\r\n <mat-toolbar class=\"ion-margin-top\" lines=\"none\">\r\n <span class=\"spacer\"></span>\r\n <button mat-flat-button (click)=\"cancelVariableConfig($event)\">\r\n cancel\r\n </button>\r\n <button mat-raised-button color=\"primary\" [disabled]=\"\r\n !this.activeVariable['formControlName'] ||\r\n !this.activeVariable['variable']\r\n \" (click)=\"saveNewVariable($event)\">\r\n save variable\r\n </button>\r\n\r\n </mat-toolbar>\r\n </mat-card>\r\n</ng-template>", styles: [".labelM{font-size:13px}.tree-instructions{display:flex;align-items:center;gap:8px;padding:12px;background:azure;border-radius:4px;margin-bottom:16px}.info-icon{min-width:38px;margin:8px auto auto}mat-form-field{width:100%;background:azure}.endIcons{height:100%;display:flex!important;align-items:center!important;justify-content:center}mat-chip{cursor:pointer}\n"] }]
510
- }], () => [{ type: i1.NgControl, decorators: [{
511
- type: Optional
512
- }, {
513
- type: Self
514
- }] }, { type: i0.ElementRef }], { id: [{
515
- type: HostBinding
516
- }], mapToData: [{
517
- type: Input
518
- }], value: [{
519
- type: Input
520
- }], formInputs: [{
521
- type: Input
522
- }], errors: [{
523
- type: Input
524
- }], valueChange2dWithPath: [{
525
- type: Output
526
- }], valueChanged: [{
527
- type: Output
528
- }] }); })();
529
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalculatedFieldRulesComponent, { className: "CalculatedFieldRulesComponent", filePath: "lib/components/t-dynamic-data-edit/elements/calculated-field-rules/calculated-field-rules.component.ts", lineNumber: 40 }); })();
530
-
531
- export { CalculatedFieldRulesComponent };
532
- //# sourceMappingURL=ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/calculated-field-rules/calculated-field-rules.component.html","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/calculated-field-rules/calculated-field-rules.component.ts"],"sourcesContent":["\r\n<br>\r\n<div *ngIf=\" !!this.value &&!mapToData?.['id'] && !tableMode\" class=\"tree-instructions\">\r\n <mat-icon class=\"info-icon\" color=\"primary\">info</mat-icon>\r\n <span>\r\n Save the input first to enable calculated field configurations\r\n </span>\r\n</div>\r\n\r\n<section >\r\n <mat-form-field [subscriptSizing]=\"'dynamic'\" [floatLabel]=\"'always'\" appearance=\"outline\" >\r\n <mat-label >Equation</mat-label>\r\n <textarea matInput #textarea [(ngModel)]=\"value['formula']\" \r\n (input)=\"formulaChanged($event)\"\r\n placeholder=\"Enter calculation expression\"></textarea>\r\n <mat-hint>\r\n example: ((a+2)/(b-1))*2\r\n </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [subscriptSizing]=\"'dynamic'\" [floatLabel]=\"'always'\" style=\" margin-bottom: 8px;\" appearance=\"outline\" *ngIf=\"!!value.getFormulaFromAFormInput\">\r\n <mat-label>Equation</mat-label>\r\n <mat-select matNativeControl [value]=\"value.formControlWithFormula\" (selectionChange)=\"linkFormulaSource($event)\"\r\n placeholder=\"select Input with formula\">\r\n @for (input of formInputs; track input.id) {\r\n <mat-option [disabled]=\"\r\n checkIfInputCanBeLinkedToCalVariable(mapToData, input) ||\r\n input.element !== 'select'\" [value]=\"input.formControlName\">{{input.label}}</mat-option>\r\n }\r\n\r\n\r\n </mat-select>\r\n <mat-hint>\r\n Link formula to an input value\r\n </mat-hint>\r\n </mat-form-field>\r\n <mat-chip-listbox #chipList aria-label=\"options\">\r\n\r\n <mat-chip *ngFor=\"let variable of (this.value['variables']||[])\" \r\n (click)=\"value['formula'] = value['formula'] +' '+ variable['variable'] \"\r\n (removed)=\"remove(variable)\">\r\n <div [style.color]=\"\r\n variable['tableCell'] ? 'var(--ion-color-purple)' : ''\r\n \" style=\"font-size: 13px\">\r\n {{ variable[\"variable\"] }}\r\n\r\n - {{ variable[\"label\"] }}\r\n <span style=\"opacity: 0.6; padding-left: 5px\" *ngIf=\"variable['function']\">\r\n {{ variable[\"function\"] }}</span>\r\n </div>\r\n\r\n <button matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n <mat-chip *ngIf=\"!showVariableConfig\" highlighted=\"true\" color=\"accent\" (click)=\"showVariableConfig = !showVariableConfig\">\r\n <span> {{showVariableConfig?'close Variable edit':'Add a new Variable'}} </span>\r\n <mat-icon matChipTrailingIcon>{{\r\n showVariableConfig\r\n ? 'close'\r\n : 'add'\r\n }}</mat-icon>\r\n </mat-chip>\r\n </mat-chip-listbox>\r\n\r\n @if( showVariableConfig){\r\n <ng-container *ngTemplateOutlet=\"variableConfiguration\">\r\n\r\n </ng-container>\r\n }\r\n\r\n</section>\r\n<ng-template #variableConfiguration>\r\n <mat-card style=\"background: var(--mat-toolbar-container-background-color, var(--mat-app-surface));\">\r\n <div style=\"padding: 8px;\">\r\n <div class=\"tree-instructions\" style=\"background: azure\">\r\n <mat-icon class=\"info-icon\" color=\"primary\">info</mat-icon>\r\n <span>\r\n <strong>Configure variable </strong><br>\r\n Link a form input to a variable to use in the equation\r\n </span>\r\n </div>\r\n\r\n <lib-form-input-selector \r\n [disabled]=\"!!this.activeVariable['formControlName']\"\r\n [formInputs]=\"numberInputs\" [value]=\"this.activeVariable['inputId']\"\r\n (click)=\"$event.stopPropagation()\" (change)=\"bindInput($event)\"></lib-form-input-selector>\r\n\r\n <ng-container *ngIf=\"this.activeVariable ? !!this.activeVariable['formControlName'] : false\">\r\n <mat-form-field [subscriptSizing]=\"'dynamic'\" [floatLabel]=\"'always'\" appearance=\"outline\">\r\n <mat-label >Variable Name</mat-label>\r\n <textarea matInput #textarea (click)=\"$event.stopPropagation()\"\r\n [(ngModel)]=\"this.activeVariable['variable']\"\r\n placeholder=\"enter variable\"></textarea>\r\n <mat-hint>\r\n A variable is an alphabet or term that represents a form input in the equation.\r\n </mat-hint>\r\n </mat-form-field>\r\n @if (activeVariable['parentInputId']) {\r\n <br>\r\n <mat-label > <small>list function ( ƒ )</small> </mat-label>\r\n <mat-chip-listbox class=\"mat-mdc-chip-set-stacked\" aria-label=\"Calculation function\">\r\n @for (func of allCalculationFunction; track func) {\r\n <mat-chip-option (click)=\"attachFunction($event,func)\" [selected]=\"activeVariable.function === func\">{{func}}</mat-chip-option>\r\n }\r\n </mat-chip-listbox>\r\n \r\n }\r\n \r\n </ng-container>\r\n </div>\r\n\r\n <mat-toolbar class=\"ion-margin-top\" lines=\"none\">\r\n <span class=\"spacer\"></span>\r\n <button mat-flat-button (click)=\"cancelVariableConfig($event)\">\r\n cancel\r\n </button>\r\n <button mat-raised-button color=\"primary\" [disabled]=\"\r\n !this.activeVariable['formControlName'] ||\r\n !this.activeVariable['variable']\r\n \" (click)=\"saveNewVariable($event)\">\r\n save variable\r\n </button>\r\n\r\n </mat-toolbar>\r\n </mat-card>\r\n</ng-template>","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n\r\n OnInit,\r\n Optional,\r\n Output,\r\n Self,\r\n} from '@angular/core';\r\n\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CalculatedFieldRules, TableConfigurationsInterface } from 'ngx-t-forms-types';\r\n\r\nimport { FormColumnInputs } from 'ngx-t-forms-types';\r\nimport { FormsModule, NgControl } from '@angular/forms';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { FormInputSelectorComponent } from '../form-input-selector/form-input-selector.component';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\nimport { CalculationFunctions, calculationVariableInterface } from \"ngx-t-forms-types\"\r\n@Component({\r\n selector: 'app-calculated-field-rules',\r\n templateUrl: './calculated-field-rules.component.html',\r\n styleUrls: ['./calculated-field-rules.component.scss'],\r\n standalone: true,\r\n imports: [\r\n MatModulesModule,\r\n CommonModule,\r\n FormsModule,\r\n FormInputSelectorComponent\r\n ],\r\n providers: [{ provide: MatFormFieldControl, useExisting: CalculatedFieldRulesComponent }],\r\n})\r\nexport class CalculatedFieldRulesComponent implements OnInit, MatFormFieldControl<CalculatedFieldRules | undefined> {\r\n\r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n\r\n @HostBinding() id = `app-calculated-field-rules-${CalculatedFieldRulesComponent.nextId++}`;\r\n\r\n placeholder: string = ''\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _elementRef: ElementRef<HTMLElement>,) { }\r\n focused: boolean = false;\r\n get empty() {\r\n return !this.value\r\n }\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n required: boolean = false;\r\n disabled: boolean = false;\r\n get errorState(): boolean {\r\n const hasError = !!this.ngControl?.control?.errors || (this.errors || []).length > 0 && this.touched\r\n return !this.value && !!this.required || hasError\r\n }\r\n\r\n controlType?: string | undefined;\r\n autofilled?: boolean | undefined;\r\n userAriaDescribedBy?: string | undefined;\r\n disableAutomaticLabeling?: boolean | undefined;\r\n setDescribedByIds(ids: string[]) {\r\n // Ensure the component view is initialized\r\n if (this._elementRef && this._elementRef.nativeElement) {\r\n const controlElement = this._elementRef.nativeElement.querySelector('.app-calculated-field-rules');\r\n // Check if the controlElement exists before attempting to set its attribute\r\n if (controlElement) {\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n }\r\n onContainerClick(event: MouseEvent): void {\r\n this.markAsTouched();\r\n this.stateChanges.next();\r\n }\r\n\r\n touched: boolean = false;\r\n onTouched = () => { };\r\n markAsTouched() {\r\n console.log('markAsTouched')\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n\r\n\r\n @Input() mapToData: FormColumnInputs | undefined = undefined;\r\n _value: CalculatedFieldRules = {} as any;\r\n @Input() set value(value: CalculatedFieldRules) {\r\n this._value = value;\r\n }\r\n get value(): CalculatedFieldRules {\r\n return this._value;\r\n }\r\n @Input() formInputs: Array<FormColumnInputs> = []\r\n @Input() errors: IConfigElementError[] | undefined = [];\r\n @Output() valueChange2dWithPath = new EventEmitter<any>();\r\n @Output() valueChanged = new EventEmitter<CalculatedFieldRules | any>();\r\n\r\n\r\n get allCalculationFunction() {\r\n return Object.values(\r\n CalculationFunctions\r\n )\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n applyColTo() {\r\n let i:any = this.formInputs?.find(\r\n (input: any) => input.id === this.activeVariable['inputId']\r\n );\r\n if (i?.element === 'tableSelection') {\r\n return this.selectedInputVariable().tableConfig.displayedColumnsInOrder\r\n } else if (i?.multipleInputInEditId) {\r\n const parentInput = this.formInputs?.find(\r\n (input: any) => input.id === i?.multipleInputInEditId\r\n );\r\n return parentInput?.formInputs\r\n }\r\n\r\n return []\r\n }\r\n get numberInputs() {\r\n return this.formInputs?.filter((input: FormColumnInputs) => input.dataType === 'number' || input.type === 'number')\r\n }\r\n get tableMode(): Boolean {\r\n return !!this.mapToData?.tableConfig\r\n }\r\n get tableConfig(): TableConfigurationsInterface | undefined {\r\n return this.mapToData?.tableConfig\r\n }\r\n\r\n inputIsInItemList(v: FormColumnInputs) {\r\n let i = this.formInputs?.find(\r\n (input: any) => input.formControlName === v['formControlName']\r\n );\r\n\r\n const hasParent = i ? i['multipleInputInEditId'] : false;\r\n\r\n const isInTable = (v as any)['tableCell'];\r\n\r\n return !!hasParent || isInTable;\r\n }\r\n selectedVariableIsTable(): boolean {\r\n const selectedInput:any = this.formInputs?.find(\r\n (inp: { [x: string]: any }) =>\r\n inp['id'] === this.activeVariable['inputId']\r\n );\r\n const isTable = selectedInput\r\n ? selectedInput['element'] === 'tableSelection'\r\n : false;\r\n\r\n\r\n return !!isTable\r\n }\r\n selectedInputVariable(): any {\r\n const selectedInput:any = this.formInputs?.find(\r\n (inp: { [x: string]: any }) =>\r\n inp['formControlName'] === this.activeVariable['formControlName']\r\n );\r\n const isTable = selectedInput\r\n ? selectedInput['element'] === 'tableSelection'\r\n : false;\r\n return isTable ? selectedInput : {};\r\n }\r\n\r\n\r\n checkIfInputCanBeLinkedToCalVariable(\r\n currentInput: FormColumnInputs | undefined,\r\n inputToDisable: { [x: string]: any; formControlName: any }\r\n ) {\r\n if (currentInput?.['formControlName'] === inputToDisable.formControlName) {\r\n return true;\r\n } else {\r\n if (!currentInput?.['multipleInputInEditId']\r\n ) {\r\n return !!inputToDisable['parentInput'] || !!inputToDisable['multipleInputInEditId'];\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n valueChangedPost(event: any) {\r\n this.valueChanged.emit(this.value);\r\n }\r\n activeVariable: any = {} as any;\r\n addVariable() {\r\n if (!this.value?.['variables']) {\r\n this.value = {\r\n ...this.value,\r\n variables: [],\r\n formula: this.value?.formula || ''\r\n }\r\n }\r\n this.value = {\r\n ...this.value,\r\n variables: [...this.value.variables, ({\r\n formControlName: '',\r\n variable: '',\r\n } as any)]\r\n }\r\n }\r\n linkFormulaSource(event: MatSelectChange) {\r\n if (!this.value) {\r\n this.value = {} as any\r\n }\r\n this.value!.formControlWithFormula = event.value\r\n this.value!.formula = undefined as any\r\n this.valueChanged.emit(this.value)\r\n }\r\n showVariableConfig: boolean = false;\r\n bindInput(\r\n inputId: string\r\n ) {\r\n const input = this.formInputs?.find(\r\n (input: any) => input.id === inputId\r\n )\r\n if (!input) return;\r\n if (this.activeVariable['formControlName'] === input['formControlName']) {\r\n return\r\n }\r\n this.activeVariable['formControlName'] = input['formControlName'];\r\n this.activeVariable['label'] = input['label'];\r\n this.activeVariable['inputId'] = input['id']\r\n this.activeVariable['parentInputId'] = input['multipleInputInEditId']\r\n \r\n }\r\n formulaChanged(event: any) {\r\n this.valueChanged.emit(this.value);\r\n }\r\n bindTableCol(event: { stopPropagation: () => void }, col: string) {\r\n this.activeVariable['formControlName'] = col;\r\n this.activeVariable['tableCell'] = true;\r\n\r\n this.activeVariable['label'] = this.tableConfig?.columnsConfig[col].label;\r\n event.stopPropagation();\r\n }\r\n tableFunctionToCol(\r\n event: { stopPropagation: () => void },\r\n col: string | number | any\r\n ) {\r\n if (typeof col === 'object') {\r\n this.activeVariable['applyFunctionToCol'] = col['formControlName'];\r\n this.activeVariable['applyFunctionToLabel'] = col['label'];\r\n } else {\r\n this.activeVariable['applyFunctionToCol'] = col;\r\n\r\n this.activeVariable['applyFunctionToLabel'] =\r\n this.selectedInputVariable()?.tableConfig.columnsConfig[col].label;\r\n }\r\n\r\n event.stopPropagation();\r\n }\r\n filterValuesByThisCol(\r\n event: { stopPropagation: () => void },\r\n col: string\r\n ) {\r\n this.activeVariable['filterValuesByCol'] = col;\r\n this.activeVariable['filterValuesByThisColLabel'] =\r\n this.selectedInputVariable()?.tableConfig.columnsConfig[col].label;\r\n event.stopPropagation();\r\n }\r\n unlick(event: { stopPropagation: () => void }) {\r\n delete (this.activeVariable as any)['formControlName'];\r\n delete (this.activeVariable as any)['label'];\r\n delete this.activeVariable['tableCell'];\r\n event.stopPropagation();\r\n }\r\n unlinkTableFunctionToCol(event: { stopPropagation: () => void }) {\r\n delete this.activeVariable['applyFunctionToCol'];\r\n delete this.activeVariable['applyFunctionToLabel'];\r\n event.stopPropagation();\r\n }\r\n unlinkTableFilter(event: { stopPropagation: () => void }) {\r\n delete this.activeVariable['filterValuesByCol'];\r\n delete this.activeVariable['filterValuesByThisColLabel'];\r\n event.stopPropagation();\r\n }\r\n functions = [\r\n { value: 'avg', label: 'Average' },\r\n { value: 'max', label: 'Maximum' },\r\n { value: 'min', label: 'lowest' },\r\n { value: 'sum', label: 'Sum' },\r\n ];\r\n attachFunction(event: { stopPropagation: () => void }, value: any) {\r\n\r\nif(this.activeVariable['function'] === value){\r\n this.activeVariable['function'] = undefined\r\n this.activeVariable['applyFunctionToCol'] = undefined;\r\n this.activeVariable['applyFunctionToLabel'] = undefined;\r\n\r\n}else{\r\n (this.activeVariable['function'] = value)\r\n this.activeVariable['applyFunctionToCol'] = this.activeVariable['formControlName'];\r\n this.activeVariable['applyFunctionToLabel'] =this.activeVariable['label'];\r\n}\r\n\r\n\r\n event.stopPropagation();\r\n }\r\n saveNewVariable(event: any) {\r\n\r\n if (!this.value?.['variables']) {\r\n this.value = {\r\n ...this.value,\r\n variables: [],\r\n formula: this.value?.formula || ''\r\n }\r\n }\r\n this.activeVariable['id'] = uuidv4();\r\n if (this.inputIsInItemList(this.activeVariable)) {\r\n let i = this.formInputs?.find(\r\n (input: any) =>\r\n input.formControlName === this.activeVariable['formControlName']\r\n );\r\n const hasParent = i ? i['multipleInputInEditId'] : false;\r\n\r\n\r\n this.activeVariable['parentInputId'] =\r\n hasParent && i ? i['multipleInputInEditId'] : undefined;\r\n\r\n this.value = {\r\n ...this.value,\r\n variables: [...this.value['variables'], this.activeVariable],\r\n }\r\n } else {\r\n this.value = {\r\n ...this.value,\r\n variables: [...this.value['variables'], this.activeVariable],\r\n }\r\n }\r\n\r\n this.activeVariable = {} as any;\r\n this.showVariableConfig = false;\r\n this.valueChanged.emit(this.value);\r\n }\r\n remove(variable:calculationVariableInterface) {\r\n this.value = {\r\n ...this.value,\r\n variables: this.value.variables.filter((v:calculationVariableInterface) => v.id !== variable.id)\r\n }\r\n \r\n }\r\n cancelVariableConfig(event: any) {\r\n this.activeVariable = {} as any;\r\n this.showVariableConfig = false;\r\n }\r\n}\r\n"],"names":["uuidv4","i2","i3","i4","i5","i7","i8","i10","i11"],"mappings":"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"}