@bgroup/wise-form 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +23 -4
- package/postcss.config.js +6 -0
- package/src/form/styles.css +11 -37
- package/src/form/view/components/containers/index.tsx +33 -4
- package/src/form/view/components/error.tsx +0 -3
- package/src/form/view/components/field/container.tsx +1 -1
- package/src/form/view/components/field/index.tsx +42 -7
- package/src/form/view/components/rows/row-container.tsx +37 -9
- package/src/form/view/components/rows/wrapper.tsx +17 -6
- package/src/form/view/components/wrapped-form.tsx +38 -5
- package/src/form/view/hooks/use-model.ts +91 -25
- package/src/form/view/index.tsx +32 -6
- package/src/formulas/variants/array-formula.ts +6 -1
- package/src/models/base.ts +31 -5
- package/src/models/callback-manager.ts +169 -91
- package/src/models/field.ts +504 -538
- package/src/models/wrapper.ts +32 -7
- package/tailwind.config.js +11 -0
- package/tsconfig.json +2 -0
- package/vite.config.ts +59 -0
- package/dist/components/ui/Checkbox.d.ts +0 -14
- package/dist/components/ui/Checkbox.d.ts.map +0 -1
- package/dist/components/ui/Checkbox.js +0 -43
- package/dist/components/ui/Checkbox.js.map +0 -1
- package/dist/components/ui/CheckboxGroup.d.ts +0 -15
- package/dist/components/ui/CheckboxGroup.d.ts.map +0 -1
- package/dist/components/ui/CheckboxGroup.js +0 -33
- package/dist/components/ui/CheckboxGroup.js.map +0 -1
- package/dist/components/ui/Input.d.ts +0 -14
- package/dist/components/ui/Input.d.ts.map +0 -1
- package/dist/components/ui/Input.js +0 -49
- package/dist/components/ui/Input.js.map +0 -1
- package/dist/components/ui/Radio.d.ts +0 -14
- package/dist/components/ui/Radio.d.ts.map +0 -1
- package/dist/components/ui/Radio.js +0 -43
- package/dist/components/ui/Radio.js.map +0 -1
- package/dist/components/ui/Select.d.ts +0 -18
- package/dist/components/ui/Select.d.ts.map +0 -1
- package/dist/components/ui/Select.js +0 -44
- package/dist/components/ui/Select.js.map +0 -1
- package/dist/components/ui/Textarea.d.ts +0 -13
- package/dist/components/ui/Textarea.d.ts.map +0 -1
- package/dist/components/ui/Textarea.js +0 -42
- package/dist/components/ui/Textarea.js.map +0 -1
- package/dist/components/ui/index.d.ts +0 -13
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/ui/index.js +0 -7
- package/dist/components/ui/index.js.map +0 -1
- package/dist/form/index.d.ts +0 -10
- package/dist/form/index.d.ts.map +0 -1
- package/dist/form/index.js +0 -5
- package/dist/form/index.js.map +0 -1
- package/dist/form/interfaces/field-container.d.ts +0 -8
- package/dist/form/interfaces/field-container.d.ts.map +0 -1
- package/dist/form/interfaces/field-container.js +0 -2
- package/dist/form/interfaces/field-container.js.map +0 -1
- package/dist/form/interfaces/interfaces.d.ts +0 -8
- package/dist/form/interfaces/interfaces.d.ts.map +0 -1
- package/dist/form/interfaces/interfaces.js +0 -2
- package/dist/form/interfaces/interfaces.js.map +0 -1
- package/dist/form/interfaces/settings.d.ts +0 -10
- package/dist/form/interfaces/settings.d.ts.map +0 -1
- package/dist/form/interfaces/settings.js +0 -2
- package/dist/form/interfaces/settings.js.map +0 -1
- package/dist/form/interfaces/template.d.ts +0 -6
- package/dist/form/interfaces/template.d.ts.map +0 -1
- package/dist/form/interfaces/template.js +0 -2
- package/dist/form/interfaces/template.js.map +0 -1
- package/dist/form/interfaces/wise-form-specs.d.ts +0 -9
- package/dist/form/interfaces/wise-form-specs.d.ts.map +0 -1
- package/dist/form/interfaces/wise-form-specs.js +0 -2
- package/dist/form/interfaces/wise-form-specs.js.map +0 -1
- package/dist/form/view/components/containers/index.d.ts +0 -3
- package/dist/form/view/components/containers/index.d.ts.map +0 -1
- package/dist/form/view/components/containers/index.js +0 -12
- package/dist/form/view/components/containers/index.js.map +0 -1
- package/dist/form/view/components/error.d.ts +0 -5
- package/dist/form/view/components/error.d.ts.map +0 -1
- package/dist/form/view/components/error.js +0 -8
- package/dist/form/view/components/error.js.map +0 -1
- package/dist/form/view/components/field/container.d.ts +0 -5
- package/dist/form/view/components/field/container.d.ts.map +0 -1
- package/dist/form/view/components/field/container.js +0 -5
- package/dist/form/view/components/field/container.js.map +0 -1
- package/dist/form/view/components/field/index.d.ts +0 -18
- package/dist/form/view/components/field/index.d.ts.map +0 -1
- package/dist/form/view/components/field/index.js +0 -89
- package/dist/form/view/components/field/index.js.map +0 -1
- package/dist/form/view/components/field/selection.d.ts +0 -2
- package/dist/form/view/components/field/selection.d.ts.map +0 -1
- package/dist/form/view/components/field/selection.js +0 -35
- package/dist/form/view/components/field/selection.js.map +0 -1
- package/dist/form/view/components/field/use-field.d.ts +0 -4
- package/dist/form/view/components/field/use-field.d.ts.map +0 -1
- package/dist/form/view/components/field/use-field.js +0 -41
- package/dist/form/view/components/field/use-field.js.map +0 -1
- package/dist/form/view/components/rows/row-container.d.ts +0 -18
- package/dist/form/view/components/rows/row-container.d.ts.map +0 -1
- package/dist/form/view/components/rows/row-container.js +0 -89
- package/dist/form/view/components/rows/row-container.js.map +0 -1
- package/dist/form/view/components/rows/wrapper.d.ts +0 -12
- package/dist/form/view/components/rows/wrapper.d.ts.map +0 -1
- package/dist/form/view/components/rows/wrapper.js +0 -27
- package/dist/form/view/components/rows/wrapper.js.map +0 -1
- package/dist/form/view/components/wrapped-form.d.ts +0 -6
- package/dist/form/view/components/wrapped-form.d.ts.map +0 -1
- package/dist/form/view/components/wrapped-form.js +0 -26
- package/dist/form/view/components/wrapped-form.js.map +0 -1
- package/dist/form/view/context.d.ts +0 -23
- package/dist/form/view/context.d.ts.map +0 -1
- package/dist/form/view/context.js +0 -7
- package/dist/form/view/context.js.map +0 -1
- package/dist/form/view/hooks/use-model.d.ts +0 -10
- package/dist/form/view/hooks/use-model.d.ts.map +0 -1
- package/dist/form/view/hooks/use-model.js +0 -31
- package/dist/form/view/hooks/use-model.js.map +0 -1
- package/dist/form/view/hooks/use-template.d.ts +0 -14
- package/dist/form/view/hooks/use-template.d.ts.map +0 -1
- package/dist/form/view/hooks/use-template.js +0 -57
- package/dist/form/view/hooks/use-template.js.map +0 -1
- package/dist/form/view/hooks/use-types.d.ts +0 -2
- package/dist/form/view/hooks/use-types.d.ts.map +0 -1
- package/dist/form/view/hooks/use-types.js +0 -19
- package/dist/form/view/hooks/use-types.js.map +0 -1
- package/dist/form/view/index.d.ts +0 -3
- package/dist/form/view/index.d.ts.map +0 -1
- package/dist/form/view/index.js +0 -38
- package/dist/form/view/index.js.map +0 -1
- package/dist/formulas/helpers/condition-types.d.ts +0 -5
- package/dist/formulas/helpers/condition-types.d.ts.map +0 -1
- package/dist/formulas/helpers/condition-types.js +0 -5
- package/dist/formulas/helpers/condition-types.js.map +0 -1
- package/dist/formulas/helpers/evaluations.d.ts +0 -15
- package/dist/formulas/helpers/evaluations.d.ts.map +0 -1
- package/dist/formulas/helpers/evaluations.js +0 -44
- package/dist/formulas/helpers/evaluations.js.map +0 -1
- package/dist/formulas/helpers/formula.d.ts +0 -6
- package/dist/formulas/helpers/formula.d.ts.map +0 -1
- package/dist/formulas/helpers/formula.js +0 -26
- package/dist/formulas/helpers/formula.js.map +0 -1
- package/dist/formulas/helpers/lexer.d.ts +0 -10
- package/dist/formulas/helpers/lexer.d.ts.map +0 -1
- package/dist/formulas/helpers/lexer.js +0 -73
- package/dist/formulas/helpers/lexer.js.map +0 -1
- package/dist/formulas/helpers/parser.d.ts +0 -24
- package/dist/formulas/helpers/parser.d.ts.map +0 -1
- package/dist/formulas/helpers/parser.js +0 -48
- package/dist/formulas/helpers/parser.js.map +0 -1
- package/dist/formulas/helpers/token.d.ts +0 -14
- package/dist/formulas/helpers/token.d.ts.map +0 -1
- package/dist/formulas/helpers/token.js +0 -14
- package/dist/formulas/helpers/token.js.map +0 -1
- package/dist/formulas/index.d.ts +0 -59
- package/dist/formulas/index.d.ts.map +0 -1
- package/dist/formulas/index.js +0 -186
- package/dist/formulas/index.js.map +0 -1
- package/dist/formulas/types/formulas.d.ts +0 -68
- package/dist/formulas/types/formulas.d.ts.map +0 -1
- package/dist/formulas/types/formulas.js +0 -2
- package/dist/formulas/types/formulas.js.map +0 -1
- package/dist/formulas/types/index.d.ts +0 -5
- package/dist/formulas/types/index.d.ts.map +0 -1
- package/dist/formulas/types/index.js +0 -2
- package/dist/formulas/types/index.js.map +0 -1
- package/dist/formulas/variants/array-formula.d.ts +0 -24
- package/dist/formulas/variants/array-formula.d.ts.map +0 -1
- package/dist/formulas/variants/array-formula.js +0 -142
- package/dist/formulas/variants/array-formula.js.map +0 -1
- package/dist/formulas/variants/base.d.ts +0 -6
- package/dist/formulas/variants/base.d.ts.map +0 -1
- package/dist/formulas/variants/base.js +0 -3
- package/dist/formulas/variants/base.js.map +0 -1
- package/dist/formulas/variants/basic.d.ts +0 -18
- package/dist/formulas/variants/basic.d.ts.map +0 -1
- package/dist/formulas/variants/basic.js +0 -128
- package/dist/formulas/variants/basic.js.map +0 -1
- package/dist/formulas/variants/comparison.d.ts +0 -25
- package/dist/formulas/variants/comparison.d.ts.map +0 -1
- package/dist/formulas/variants/comparison.js +0 -153
- package/dist/formulas/variants/comparison.js.map +0 -1
- package/dist/formulas/variants/conditional.d.ts +0 -18
- package/dist/formulas/variants/conditional.d.ts.map +0 -1
- package/dist/formulas/variants/conditional.js +0 -183
- package/dist/formulas/variants/conditional.js.map +0 -1
- package/dist/formulas/variants/iterative-array.d.ts +0 -20
- package/dist/formulas/variants/iterative-array.d.ts.map +0 -1
- package/dist/formulas/variants/iterative-array.js +0 -155
- package/dist/formulas/variants/iterative-array.js.map +0 -1
- package/dist/formulas/variants/per-value.d.ts +0 -20
- package/dist/formulas/variants/per-value.d.ts.map +0 -1
- package/dist/formulas/variants/per-value.js +0 -154
- package/dist/formulas/variants/per-value.js.map +0 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/models/base.d.ts +0 -55
- package/dist/models/base.d.ts.map +0 -1
- package/dist/models/base.js +0 -146
- package/dist/models/base.js.map +0 -1
- package/dist/models/callback-manager.d.ts +0 -7
- package/dist/models/callback-manager.d.ts.map +0 -1
- package/dist/models/callback-manager.js +0 -89
- package/dist/models/callback-manager.js.map +0 -1
- package/dist/models/field.d.ts +0 -121
- package/dist/models/field.d.ts.map +0 -1
- package/dist/models/field.js +0 -515
- package/dist/models/field.js.map +0 -1
- package/dist/models/index.d.ts +0 -13
- package/dist/models/index.d.ts.map +0 -1
- package/dist/models/index.js +0 -7
- package/dist/models/index.js.map +0 -1
- package/dist/models/model.d.ts +0 -37
- package/dist/models/model.d.ts.map +0 -1
- package/dist/models/model.js +0 -245
- package/dist/models/model.js.map +0 -1
- package/dist/models/plugins/base.d.ts +0 -9
- package/dist/models/plugins/base.d.ts.map +0 -1
- package/dist/models/plugins/base.js +0 -3
- package/dist/models/plugins/base.js.map +0 -1
- package/dist/models/plugins/formula.d.ts +0 -18
- package/dist/models/plugins/formula.d.ts.map +0 -1
- package/dist/models/plugins/formula.js +0 -82
- package/dist/models/plugins/formula.js.map +0 -1
- package/dist/models/plugins/index.d.ts +0 -11
- package/dist/models/plugins/index.d.ts.map +0 -1
- package/dist/models/plugins/index.js +0 -52
- package/dist/models/plugins/index.js.map +0 -1
- package/dist/models/plugins/plugins.d.ts +0 -7
- package/dist/models/plugins/plugins.d.ts.map +0 -1
- package/dist/models/plugins/plugins.js +0 -7
- package/dist/models/plugins/plugins.js.map +0 -1
- package/dist/models/types/base-wise-model.d.ts +0 -7
- package/dist/models/types/base-wise-model.d.ts.map +0 -1
- package/dist/models/types/base-wise-model.js +0 -2
- package/dist/models/types/base-wise-model.js.map +0 -1
- package/dist/models/types/callbacks.d.ts +0 -19
- package/dist/models/types/callbacks.d.ts.map +0 -1
- package/dist/models/types/callbacks.js +0 -2
- package/dist/models/types/callbacks.js.map +0 -1
- package/dist/models/types/disabled.d.ts +0 -8
- package/dist/models/types/disabled.d.ts.map +0 -1
- package/dist/models/types/disabled.js +0 -2
- package/dist/models/types/disabled.js.map +0 -1
- package/dist/models/types/form-field.d.ts +0 -25
- package/dist/models/types/form-field.d.ts.map +0 -1
- package/dist/models/types/form-field.js +0 -2
- package/dist/models/types/form-field.js.map +0 -1
- package/dist/models/types/model.d.ts +0 -13
- package/dist/models/types/model.d.ts.map +0 -1
- package/dist/models/types/model.js +0 -2
- package/dist/models/types/model.js.map +0 -1
- package/dist/models/types/plugins.d.ts +0 -13
- package/dist/models/types/plugins.d.ts.map +0 -1
- package/dist/models/types/plugins.js +0 -2
- package/dist/models/types/plugins.js.map +0 -1
- package/dist/models/types/wrapped-form-model-props.d.ts +0 -11
- package/dist/models/types/wrapped-form-model-props.d.ts.map +0 -1
- package/dist/models/types/wrapped-form-model-props.js +0 -2
- package/dist/models/types/wrapped-form-model-props.js.map +0 -1
- package/dist/models/wrapper.d.ts +0 -30
- package/dist/models/wrapper.d.ts.map +0 -1
- package/dist/models/wrapper.js +0 -213
- package/dist/models/wrapper.js.map +0 -1
- package/dist/settings/index.d.ts +0 -7
- package/dist/settings/index.d.ts.map +0 -1
- package/dist/settings/index.js +0 -26
- package/dist/settings/index.js.map +0 -1
- package/dist/utils/pending-promise.d.ts +0 -6
- package/dist/utils/pending-promise.d.ts.map +0 -1
- package/dist/utils/pending-promise.js +0 -24
- package/dist/utils/pending-promise.js.map +0 -1
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
-
};
|
|
12
|
-
var _FormulaBasic_plugin, _FormulaBasic_specs, _FormulaBasic_tokens, _FormulaBasic_value, _FormulaBasic_emptyValue, _FormulaBasic_variables, _FormulaBasic_round, _FormulaBasic_ceil, _FormulaBasic_parent, _FormulaBasic_isNotListenToChanges;
|
|
13
|
-
import { parse } from 'mathjs';
|
|
14
|
-
export class FormulaBasic {
|
|
15
|
-
get formula() {
|
|
16
|
-
return __classPrivateFieldGet(this, _FormulaBasic_specs, "f").formula;
|
|
17
|
-
}
|
|
18
|
-
get base() {
|
|
19
|
-
const formula = __classPrivateFieldGet(this, _FormulaBasic_specs, "f").formula;
|
|
20
|
-
return formula.base;
|
|
21
|
-
}
|
|
22
|
-
get value() {
|
|
23
|
-
return __classPrivateFieldGet(this, _FormulaBasic_value, "f");
|
|
24
|
-
}
|
|
25
|
-
get name() {
|
|
26
|
-
return __classPrivateFieldGet(this, _FormulaBasic_specs, "f").name;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Represents the fields defined in the plugin settings
|
|
30
|
-
*/
|
|
31
|
-
get fields() {
|
|
32
|
-
const formula = this.formula;
|
|
33
|
-
return typeof formula?.fields === 'string'
|
|
34
|
-
? [formula?.fields]
|
|
35
|
-
: formula?.fields;
|
|
36
|
-
}
|
|
37
|
-
get conditions() {
|
|
38
|
-
if (typeof __classPrivateFieldGet(this, _FormulaBasic_specs, "f").formula === 'string')
|
|
39
|
-
return;
|
|
40
|
-
const formula = __classPrivateFieldGet(this, _FormulaBasic_specs, "f").formula;
|
|
41
|
-
return formula.conditions;
|
|
42
|
-
}
|
|
43
|
-
get variables() {
|
|
44
|
-
return __classPrivateFieldGet(this, _FormulaBasic_variables, "f");
|
|
45
|
-
}
|
|
46
|
-
constructor(parent, plugin, specs) {
|
|
47
|
-
_FormulaBasic_plugin.set(this, void 0);
|
|
48
|
-
_FormulaBasic_specs.set(this, void 0);
|
|
49
|
-
_FormulaBasic_tokens.set(this, void 0);
|
|
50
|
-
_FormulaBasic_value.set(this, void 0);
|
|
51
|
-
_FormulaBasic_emptyValue.set(this, void 0);
|
|
52
|
-
_FormulaBasic_variables.set(this, []);
|
|
53
|
-
_FormulaBasic_round.set(this, void 0);
|
|
54
|
-
_FormulaBasic_ceil.set(this, void 0);
|
|
55
|
-
_FormulaBasic_parent.set(this, void 0);
|
|
56
|
-
_FormulaBasic_isNotListenToChanges.set(this, false);
|
|
57
|
-
__classPrivateFieldSet(this, _FormulaBasic_parent, parent, "f");
|
|
58
|
-
__classPrivateFieldSet(this, _FormulaBasic_plugin, plugin, "f");
|
|
59
|
-
__classPrivateFieldSet(this, _FormulaBasic_specs, specs, "f");
|
|
60
|
-
__classPrivateFieldSet(this, _FormulaBasic_round, specs.round, "f");
|
|
61
|
-
__classPrivateFieldSet(this, _FormulaBasic_ceil, specs.ceil, "f");
|
|
62
|
-
__classPrivateFieldSet(this, _FormulaBasic_emptyValue, specs.emptyValue, "f");
|
|
63
|
-
__classPrivateFieldSet(this, _FormulaBasic_isNotListenToChanges, specs.isNotListenToChanges, "f");
|
|
64
|
-
}
|
|
65
|
-
initialize() {
|
|
66
|
-
const { tokens } = __classPrivateFieldGet(this, _FormulaBasic_parent, "f").getParser(__classPrivateFieldGet(this, _FormulaBasic_specs, "f"));
|
|
67
|
-
__classPrivateFieldSet(this, _FormulaBasic_tokens, tokens, "f");
|
|
68
|
-
const variables = __classPrivateFieldGet(this, _FormulaBasic_tokens, "f")
|
|
69
|
-
.filter((token) => token.type === 'variable')
|
|
70
|
-
.map((item) => item.value);
|
|
71
|
-
__classPrivateFieldSet(this, _FormulaBasic_variables, variables, "f");
|
|
72
|
-
const models = __classPrivateFieldGet(this, _FormulaBasic_parent, "f").getModels(variables);
|
|
73
|
-
if (!__classPrivateFieldGet(this, _FormulaBasic_isNotListenToChanges, "f"))
|
|
74
|
-
models.forEach((model) => {
|
|
75
|
-
if ([undefined].includes(model)) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
model.on('change', this.calculate.bind(this));
|
|
79
|
-
});
|
|
80
|
-
if (!Array.isArray(__classPrivateFieldGet(this, _FormulaBasic_variables, "f")) || !__classPrivateFieldGet(this, _FormulaBasic_variables, "f").length) {
|
|
81
|
-
__classPrivateFieldSet(this, _FormulaBasic_value, parse(this.formula).evaluate(), "f");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
async calculate() {
|
|
85
|
-
const variables = __classPrivateFieldGet(this, _FormulaBasic_variables, "f");
|
|
86
|
-
const formulaField = __classPrivateFieldGet(this, _FormulaBasic_plugin, "f").form.getField(this.name);
|
|
87
|
-
let params = await __classPrivateFieldGet(this, _FormulaBasic_parent, "f").getParams(variables);
|
|
88
|
-
const models = __classPrivateFieldGet(this, _FormulaBasic_parent, "f").getModels(variables);
|
|
89
|
-
const empty = models.every((model) => [null, undefined, ''].includes(model.value));
|
|
90
|
-
if (empty) {
|
|
91
|
-
// If all models are empty, set the input to empty if exists.
|
|
92
|
-
if (formulaField)
|
|
93
|
-
formulaField.set({ value: __classPrivateFieldGet(this, _FormulaBasic_emptyValue, "f") || '' });
|
|
94
|
-
__classPrivateFieldSet(this, _FormulaBasic_value, undefined, "f");
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
try {
|
|
98
|
-
let result = models.length === 1 &&
|
|
99
|
-
!['+', '-', '*', '/'].some((item) => this.formula.toString().includes(item))
|
|
100
|
-
? models[0].value
|
|
101
|
-
: parse(this.formula).evaluate(params);
|
|
102
|
-
const isInvalidResult = [
|
|
103
|
-
-Infinity,
|
|
104
|
-
Infinity,
|
|
105
|
-
undefined,
|
|
106
|
-
null,
|
|
107
|
-
NaN,
|
|
108
|
-
].includes(result);
|
|
109
|
-
if (__classPrivateFieldGet(this, _FormulaBasic_round, "f") && !isInvalidResult)
|
|
110
|
-
result = Math.round(result);
|
|
111
|
-
if (__classPrivateFieldGet(this, _FormulaBasic_ceil, "f") && !isInvalidResult)
|
|
112
|
-
result = Math.ceil(result);
|
|
113
|
-
__classPrivateFieldSet(this, _FormulaBasic_value, isInvalidResult
|
|
114
|
-
? __classPrivateFieldGet(this, _FormulaBasic_emptyValue, "f")
|
|
115
|
-
: Number(result.toFixed(2)), "f");
|
|
116
|
-
if (formulaField)
|
|
117
|
-
formulaField.set({ value: __classPrivateFieldGet(this, _FormulaBasic_value, "f") });
|
|
118
|
-
__classPrivateFieldGet(this, _FormulaBasic_parent, "f").trigger('change');
|
|
119
|
-
}
|
|
120
|
-
catch (e) {
|
|
121
|
-
console.log('formula', this.name, this.formula, params);
|
|
122
|
-
console.trace(e);
|
|
123
|
-
throw new Error(`Error calculating the formula: ${e.message} ${this.name}`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
_FormulaBasic_plugin = new WeakMap(), _FormulaBasic_specs = new WeakMap(), _FormulaBasic_tokens = new WeakMap(), _FormulaBasic_value = new WeakMap(), _FormulaBasic_emptyValue = new WeakMap(), _FormulaBasic_variables = new WeakMap(), _FormulaBasic_round = new WeakMap(), _FormulaBasic_ceil = new WeakMap(), _FormulaBasic_parent = new WeakMap(), _FormulaBasic_isNotListenToChanges = new WeakMap();
|
|
128
|
-
//# sourceMappingURL=basic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/formulas/variants/basic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { IComplexCondition, IConditionalField } from "../types/formulas";
|
|
2
|
-
export declare class FormulaComparison {
|
|
3
|
-
#private;
|
|
4
|
-
get formula(): string | IComplexCondition;
|
|
5
|
-
get base(): string;
|
|
6
|
-
get value(): string | number;
|
|
7
|
-
get name(): string;
|
|
8
|
-
/**
|
|
9
|
-
* Represents the fields defined in the plugin settings
|
|
10
|
-
*/
|
|
11
|
-
get fields(): string[];
|
|
12
|
-
get conditions(): IConditionalField | IConditionalField[];
|
|
13
|
-
get variables(): string[];
|
|
14
|
-
get observers(): string[];
|
|
15
|
-
constructor(parent: any, plugin: any, specs: any);
|
|
16
|
-
initialize(): void;
|
|
17
|
-
start(): void;
|
|
18
|
-
evaluate(): {
|
|
19
|
-
name: any;
|
|
20
|
-
value: any;
|
|
21
|
-
};
|
|
22
|
-
calculate(): Promise<number>;
|
|
23
|
-
calculateUpper(models: any): any;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=comparison.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../../src/formulas/variants/comparison.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,qBAAa,iBAAiB;;IAK7B,IAAI,OAAO,+BAEV;IACD,IAAI,IAAI,WAGP;IAED,IAAI,KAAK,oBAER;IACD,IAAI,IAAI,WAEP;IACD;;OAEG;IACH,IAAI,MAAM,aAGT;IAED,IAAI,UAAU,4CAIb;IAGD,IAAI,SAAS,aAEZ;IAGD,IAAI,SAAS,aAEZ;gBAKW,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA;IAQjC,UAAU;IAgBV,KAAK;IAEL,QAAQ;;;;IAkCF,SAAS;IAiCf,cAAc,CAAC,MAAM,KAAA;CAQrB"}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
-
};
|
|
12
|
-
var _FormulaComparison_plugin, _FormulaComparison_specs, _FormulaComparison_emptyValue, _FormulaComparison_tokens, _FormulaComparison_value, _FormulaComparison_variables, _FormulaComparison_observers, _FormulaComparison_isNotListenToChanges, _FormulaComparison_parent;
|
|
13
|
-
import { EvaluationsManager } from "../helpers/evaluations";
|
|
14
|
-
import { parse } from "mathjs";
|
|
15
|
-
export class FormulaComparison {
|
|
16
|
-
get formula() {
|
|
17
|
-
return __classPrivateFieldGet(this, _FormulaComparison_specs, "f").formula;
|
|
18
|
-
}
|
|
19
|
-
get base() {
|
|
20
|
-
const formula = __classPrivateFieldGet(this, _FormulaComparison_specs, "f").formula;
|
|
21
|
-
return formula.base;
|
|
22
|
-
}
|
|
23
|
-
get value() {
|
|
24
|
-
return __classPrivateFieldGet(this, _FormulaComparison_value, "f");
|
|
25
|
-
}
|
|
26
|
-
get name() {
|
|
27
|
-
return __classPrivateFieldGet(this, _FormulaComparison_specs, "f").name;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Represents the fields defined in the plugin settings
|
|
31
|
-
*/
|
|
32
|
-
get fields() {
|
|
33
|
-
const formula = this.formula;
|
|
34
|
-
return typeof formula?.fields === "string" ? [formula?.fields] : formula?.fields;
|
|
35
|
-
}
|
|
36
|
-
get conditions() {
|
|
37
|
-
if (typeof __classPrivateFieldGet(this, _FormulaComparison_specs, "f").formula === "string")
|
|
38
|
-
return;
|
|
39
|
-
const formula = __classPrivateFieldGet(this, _FormulaComparison_specs, "f").formula;
|
|
40
|
-
return formula.conditions;
|
|
41
|
-
}
|
|
42
|
-
get variables() {
|
|
43
|
-
return __classPrivateFieldGet(this, _FormulaComparison_variables, "f");
|
|
44
|
-
}
|
|
45
|
-
;
|
|
46
|
-
get observers() {
|
|
47
|
-
return __classPrivateFieldGet(this, _FormulaComparison_observers, "f");
|
|
48
|
-
}
|
|
49
|
-
constructor(parent, plugin, specs) {
|
|
50
|
-
_FormulaComparison_plugin.set(this, void 0);
|
|
51
|
-
_FormulaComparison_specs.set(this, void 0);
|
|
52
|
-
_FormulaComparison_emptyValue.set(this, void 0);
|
|
53
|
-
_FormulaComparison_tokens.set(this, void 0);
|
|
54
|
-
_FormulaComparison_value.set(this, void 0);
|
|
55
|
-
_FormulaComparison_variables.set(this, []);
|
|
56
|
-
_FormulaComparison_observers.set(this, void 0);
|
|
57
|
-
_FormulaComparison_isNotListenToChanges.set(this, false);
|
|
58
|
-
_FormulaComparison_parent.set(this, void 0);
|
|
59
|
-
__classPrivateFieldSet(this, _FormulaComparison_parent, parent, "f");
|
|
60
|
-
__classPrivateFieldSet(this, _FormulaComparison_plugin, plugin, "f");
|
|
61
|
-
__classPrivateFieldSet(this, _FormulaComparison_specs, specs, "f");
|
|
62
|
-
__classPrivateFieldSet(this, _FormulaComparison_isNotListenToChanges, specs.isNotListenToChanges, "f");
|
|
63
|
-
__classPrivateFieldSet(this, _FormulaComparison_observers, specs.formula.observers, "f");
|
|
64
|
-
}
|
|
65
|
-
initialize() {
|
|
66
|
-
if (!Array.isArray(__classPrivateFieldGet(this, _FormulaComparison_specs, "f").fields)) {
|
|
67
|
-
throw new Error("The fields property must be an array");
|
|
68
|
-
}
|
|
69
|
-
if (!__classPrivateFieldGet(this, _FormulaComparison_isNotListenToChanges, "f") && __classPrivateFieldGet(this, _FormulaComparison_observers, "f") && Array.isArray(__classPrivateFieldGet(this, _FormulaComparison_observers, "f")) && !!__classPrivateFieldGet(this, _FormulaComparison_observers, "f").length) {
|
|
70
|
-
const fields = __classPrivateFieldGet(this, _FormulaComparison_parent, "f").getModels(__classPrivateFieldGet(this, _FormulaComparison_observers, "f"));
|
|
71
|
-
fields.forEach(field => {
|
|
72
|
-
if (!field)
|
|
73
|
-
return;
|
|
74
|
-
field.on('change', this.calculate.bind(this));
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
const models = __classPrivateFieldGet(this, _FormulaComparison_parent, "f").getModels(__classPrivateFieldGet(this, _FormulaComparison_specs, "f").fields);
|
|
78
|
-
if (!__classPrivateFieldGet(this, _FormulaComparison_isNotListenToChanges, "f"))
|
|
79
|
-
models.forEach(model => model.on("change", this.calculate.bind(this)));
|
|
80
|
-
}
|
|
81
|
-
start() { }
|
|
82
|
-
evaluate() {
|
|
83
|
-
const formula = __classPrivateFieldGet(this, _FormulaComparison_specs, "f").formula;
|
|
84
|
-
if (typeof formula === "string" || !formula.conditions) {
|
|
85
|
-
console.error("Invalid formula configuration");
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
const models = __classPrivateFieldGet(this, _FormulaComparison_parent, "f").getModels(__classPrivateFieldGet(this, _FormulaComparison_specs, "f").fields);
|
|
89
|
-
let fieldValues = models.map(fieldModel => {
|
|
90
|
-
if (!fieldModel)
|
|
91
|
-
return;
|
|
92
|
-
return { name: fieldModel.name, value: fieldModel ? fieldModel.value : null };
|
|
93
|
-
});
|
|
94
|
-
// Utilizar reduce para comparar cada par de valores consecutivos y determinar cuál cumple la condición
|
|
95
|
-
const resultField = fieldValues.reduce((prevField, currentField) => {
|
|
96
|
-
if (!prevField)
|
|
97
|
-
return currentField;
|
|
98
|
-
// Si el campo previo cumple la condición con respecto al actual, se mantiene como el campo elegido
|
|
99
|
-
if (EvaluationsManager.validate(formula.condition, prevField.value, currentField.value)) {
|
|
100
|
-
return prevField;
|
|
101
|
-
}
|
|
102
|
-
// De lo contrario, el campo actual se convierte en el nuevo campo elegido
|
|
103
|
-
return currentField;
|
|
104
|
-
}, null);
|
|
105
|
-
if (resultField) {
|
|
106
|
-
// Ajustar según la lógica específica deseada, como devolver una fórmula particular basada en el resultado
|
|
107
|
-
return resultField;
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
// Manejar el caso de que ninguno cumpla la condición
|
|
111
|
-
return null;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
async calculate() {
|
|
115
|
-
let applied = this.evaluate();
|
|
116
|
-
if (!applied || !applied?.value) {
|
|
117
|
-
// any formula apply, so we need to reset the value
|
|
118
|
-
__classPrivateFieldSet(this, _FormulaComparison_value, 0, "f");
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Get the formula analyzer
|
|
123
|
-
*/
|
|
124
|
-
const specsFormula = __classPrivateFieldGet(this, _FormulaComparison_specs, "f").formula;
|
|
125
|
-
const formulaString = specsFormula.conditions[applied.name];
|
|
126
|
-
const formula = __classPrivateFieldGet(this, _FormulaComparison_parent, "f").getParser({ formula: formulaString });
|
|
127
|
-
const variables = formula.tokens.filter(token => token.type === "variable").map(item => item.value);
|
|
128
|
-
const params = await __classPrivateFieldGet(this, _FormulaComparison_parent, "f").getParams(variables);
|
|
129
|
-
try {
|
|
130
|
-
const keys = Object.keys(params);
|
|
131
|
-
const result = keys.length === 1 ? params[keys[0]] : parse(this.formula).evaluate(params);
|
|
132
|
-
__classPrivateFieldSet(this, _FormulaComparison_value, [-Infinity, Infinity, undefined, null, NaN].includes(result)
|
|
133
|
-
? __classPrivateFieldGet(this, _FormulaComparison_emptyValue, "f")
|
|
134
|
-
: Number(result.toFixed(2)), "f");
|
|
135
|
-
__classPrivateFieldGet(this, _FormulaComparison_parent, "f").trigger("change");
|
|
136
|
-
return __classPrivateFieldGet(this, _FormulaComparison_value, "f");
|
|
137
|
-
}
|
|
138
|
-
catch (e) {
|
|
139
|
-
console.log("formula", this.name, this.formula, params);
|
|
140
|
-
throw new Error("Error calculating the formula");
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
calculateUpper(models) {
|
|
144
|
-
let glue;
|
|
145
|
-
models.forEach(item => {
|
|
146
|
-
if (Number(item.value) > Number(glue?.value ?? 0))
|
|
147
|
-
glue = item;
|
|
148
|
-
});
|
|
149
|
-
return glue;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
_FormulaComparison_plugin = new WeakMap(), _FormulaComparison_specs = new WeakMap(), _FormulaComparison_emptyValue = new WeakMap(), _FormulaComparison_tokens = new WeakMap(), _FormulaComparison_value = new WeakMap(), _FormulaComparison_variables = new WeakMap(), _FormulaComparison_observers = new WeakMap(), _FormulaComparison_isNotListenToChanges = new WeakMap(), _FormulaComparison_parent = new WeakMap();
|
|
153
|
-
//# sourceMappingURL=comparison.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../../src/formulas/variants/comparison.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IComplexCondition, IConditionalField } from '../types/formulas';
|
|
2
|
-
export declare class FormulaConditional {
|
|
3
|
-
#private;
|
|
4
|
-
get formula(): string | IComplexCondition;
|
|
5
|
-
get base(): string;
|
|
6
|
-
get value(): string | number;
|
|
7
|
-
get name(): string;
|
|
8
|
-
/**
|
|
9
|
-
* Represents the fields defined in the plugin settings
|
|
10
|
-
*/
|
|
11
|
-
get fields(): string[];
|
|
12
|
-
get conditions(): IConditionalField | IConditionalField[];
|
|
13
|
-
constructor(parent: any, plugin: any, specs: any);
|
|
14
|
-
initialize(): void;
|
|
15
|
-
evaluate(): any;
|
|
16
|
-
calculate(): Promise<string | number>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=conditional.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../../src/formulas/variants/conditional.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,kBAAkB;;IAI3B,IAAI,OAAO,+BAEV;IACD,IAAI,IAAI,WAGP;IAED,IAAI,KAAK,oBAER;IACD,IAAI,IAAI,WAEP;IACD;;OAEG;IACH,IAAI,MAAM,aAKT;IAED,IAAI,UAAU,4CAIb;gBAWW,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA;IAYjC,UAAU;IA6BV,QAAQ;IAyDF,SAAS;CAsDlB"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
-
};
|
|
12
|
-
var _FormulaConditional_plugin, _FormulaConditional_specs, _FormulaConditional_emptyValue, _FormulaConditional_value, _FormulaConditional_fields, _FormulaConditional_parent, _FormulaConditional_ceil, _FormulaConditional_round, _FormulaConditional_isNotListenToChanges;
|
|
13
|
-
import { conditionsTypes } from '../helpers/condition-types';
|
|
14
|
-
import { EvaluationsManager } from '../helpers/evaluations';
|
|
15
|
-
import { parse } from 'mathjs';
|
|
16
|
-
export class FormulaConditional {
|
|
17
|
-
get formula() {
|
|
18
|
-
return __classPrivateFieldGet(this, _FormulaConditional_specs, "f").formula;
|
|
19
|
-
}
|
|
20
|
-
get base() {
|
|
21
|
-
const formula = __classPrivateFieldGet(this, _FormulaConditional_specs, "f").formula;
|
|
22
|
-
return formula.base;
|
|
23
|
-
}
|
|
24
|
-
get value() {
|
|
25
|
-
return __classPrivateFieldGet(this, _FormulaConditional_value, "f");
|
|
26
|
-
}
|
|
27
|
-
get name() {
|
|
28
|
-
return __classPrivateFieldGet(this, _FormulaConditional_specs, "f").name;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Represents the fields defined in the plugin settings
|
|
32
|
-
*/
|
|
33
|
-
get fields() {
|
|
34
|
-
const formula = this.formula;
|
|
35
|
-
return typeof formula?.fields === 'string'
|
|
36
|
-
? [formula?.fields]
|
|
37
|
-
: formula?.fields;
|
|
38
|
-
}
|
|
39
|
-
get conditions() {
|
|
40
|
-
if (typeof __classPrivateFieldGet(this, _FormulaConditional_specs, "f").formula === 'string')
|
|
41
|
-
return;
|
|
42
|
-
const formula = __classPrivateFieldGet(this, _FormulaConditional_specs, "f").formula;
|
|
43
|
-
return formula.conditions;
|
|
44
|
-
}
|
|
45
|
-
constructor(parent, plugin, specs) {
|
|
46
|
-
_FormulaConditional_plugin.set(this, void 0);
|
|
47
|
-
_FormulaConditional_specs.set(this, void 0);
|
|
48
|
-
_FormulaConditional_emptyValue.set(this, void 0);
|
|
49
|
-
_FormulaConditional_value.set(this, void 0);
|
|
50
|
-
/**
|
|
51
|
-
* FormField type
|
|
52
|
-
*/
|
|
53
|
-
_FormulaConditional_fields.set(this, void 0);
|
|
54
|
-
_FormulaConditional_parent.set(this, void 0);
|
|
55
|
-
_FormulaConditional_ceil.set(this, void 0);
|
|
56
|
-
_FormulaConditional_round.set(this, void 0);
|
|
57
|
-
_FormulaConditional_isNotListenToChanges.set(this, false);
|
|
58
|
-
__classPrivateFieldSet(this, _FormulaConditional_parent, parent, "f");
|
|
59
|
-
__classPrivateFieldSet(this, _FormulaConditional_plugin, plugin, "f");
|
|
60
|
-
__classPrivateFieldSet(this, _FormulaConditional_specs, specs, "f");
|
|
61
|
-
__classPrivateFieldSet(this, _FormulaConditional_round, specs.round, "f");
|
|
62
|
-
__classPrivateFieldSet(this, _FormulaConditional_ceil, specs.ceil, "f");
|
|
63
|
-
__classPrivateFieldSet(this, _FormulaConditional_emptyValue, specs.emptyValue, "f");
|
|
64
|
-
if (specs.isNotListenToChanges)
|
|
65
|
-
__classPrivateFieldSet(this, _FormulaConditional_isNotListenToChanges, specs.isNotListenToChanges, "f");
|
|
66
|
-
}
|
|
67
|
-
initialize() {
|
|
68
|
-
try {
|
|
69
|
-
const { form } = __classPrivateFieldGet(this, _FormulaConditional_plugin, "f");
|
|
70
|
-
if (!this.fields) {
|
|
71
|
-
throw new Error(`Fields not found in formula ${this.name}`);
|
|
72
|
-
}
|
|
73
|
-
const fields = this.fields.map((name) => {
|
|
74
|
-
const formula = __classPrivateFieldGet(this, _FormulaConditional_plugin, "f").formulas.get(name);
|
|
75
|
-
if (formula)
|
|
76
|
-
return formula;
|
|
77
|
-
const field = form.getField(name);
|
|
78
|
-
return field;
|
|
79
|
-
});
|
|
80
|
-
__classPrivateFieldSet(this, _FormulaConditional_fields, fields, "f");
|
|
81
|
-
if (this.name === 'costoTotalGrafico') {
|
|
82
|
-
console.log('fields', fields);
|
|
83
|
-
}
|
|
84
|
-
if (!__classPrivateFieldGet(this, _FormulaConditional_isNotListenToChanges, "f"))
|
|
85
|
-
fields.forEach((field) => {
|
|
86
|
-
if (!field) {
|
|
87
|
-
throw new Error(`Field ${this.name} not found in form ${form.name}`);
|
|
88
|
-
}
|
|
89
|
-
field.on('change', this.calculate.bind(this));
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
catch (e) { }
|
|
93
|
-
}
|
|
94
|
-
evaluate() {
|
|
95
|
-
const formula = __classPrivateFieldGet(this, _FormulaConditional_specs, "f").formula;
|
|
96
|
-
let evaluatedFormula = { formula: formula.base }; // Use the base formula by default
|
|
97
|
-
if (formula.conditions) {
|
|
98
|
-
const conditionsArray = Array.isArray(formula.conditions) ? formula.conditions : [formula.conditions];
|
|
99
|
-
for (const condition of conditionsArray) {
|
|
100
|
-
let conditionMet = false;
|
|
101
|
-
if (condition.conditions) {
|
|
102
|
-
// If there are nested conditions, all must be met
|
|
103
|
-
conditionMet = condition.conditions.every((subCondition) => {
|
|
104
|
-
const fieldValues = subCondition.fields.map((fieldName) => {
|
|
105
|
-
const field = __classPrivateFieldGet(this, _FormulaConditional_fields, "f").find((f) => f.name === fieldName);
|
|
106
|
-
return field
|
|
107
|
-
? field.value
|
|
108
|
-
: __classPrivateFieldGet(this, _FormulaConditional_emptyValue, "f");
|
|
109
|
-
});
|
|
110
|
-
return EvaluationsManager.validateAll(subCondition.condition, fieldValues, subCondition.value);
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
const fieldValues = condition.fields.map((fieldName) => {
|
|
115
|
-
const field = __classPrivateFieldGet(this, _FormulaConditional_fields, "f").find((f) => f.name === fieldName);
|
|
116
|
-
return field ? field.value : __classPrivateFieldGet(this, _FormulaConditional_emptyValue, "f");
|
|
117
|
-
});
|
|
118
|
-
const conditionType = !!condition.type && conditionsTypes[condition.type]
|
|
119
|
-
? conditionsTypes[condition.type]
|
|
120
|
-
: conditionsTypes.some;
|
|
121
|
-
// Check if any of the specified fields meet the condition
|
|
122
|
-
conditionMet = EvaluationsManager[conditionType](condition.condition, fieldValues, condition.value);
|
|
123
|
-
}
|
|
124
|
-
if (conditionMet) {
|
|
125
|
-
evaluatedFormula.formula = condition.formula;
|
|
126
|
-
evaluatedFormula.fi = condition;
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return evaluatedFormula;
|
|
132
|
-
}
|
|
133
|
-
async calculate() {
|
|
134
|
-
/**
|
|
135
|
-
* the formula is taken from the evaluate method since the conditions are evaluated there and
|
|
136
|
-
* can change the formula to be applied
|
|
137
|
-
*/
|
|
138
|
-
const model = __classPrivateFieldGet(this, _FormulaConditional_plugin, "f").form.getField(this.name);
|
|
139
|
-
const formula = this.evaluate();
|
|
140
|
-
if (!formula.formula) {
|
|
141
|
-
__classPrivateFieldSet(this, _FormulaConditional_value, __classPrivateFieldGet(this, _FormulaConditional_emptyValue, "f") !== undefined ? __classPrivateFieldGet(this, _FormulaConditional_emptyValue, "f") : '', "f");
|
|
142
|
-
model && model.set({ value: __classPrivateFieldGet(this, _FormulaConditional_value, "f") });
|
|
143
|
-
__classPrivateFieldGet(this, _FormulaConditional_parent, "f").trigger('change');
|
|
144
|
-
return __classPrivateFieldGet(this, _FormulaConditional_value, "f");
|
|
145
|
-
}
|
|
146
|
-
// todo: Review if this section can be replaced by formulaManager.variables property.
|
|
147
|
-
const { tokens } = __classPrivateFieldGet(this, _FormulaConditional_parent, "f").getParser(formula);
|
|
148
|
-
const variables = tokens
|
|
149
|
-
.filter((token) => token.type === 'variable')
|
|
150
|
-
.map((item) => item.value);
|
|
151
|
-
const params = await __classPrivateFieldGet(this, _FormulaConditional_parent, "f").getParams(variables);
|
|
152
|
-
try {
|
|
153
|
-
const keys = Object.keys(params);
|
|
154
|
-
let result = keys.length === 1
|
|
155
|
-
? params[keys[0]]
|
|
156
|
-
: parse(formula.formula).evaluate(params);
|
|
157
|
-
const isInvalidResult = [
|
|
158
|
-
-Infinity,
|
|
159
|
-
Infinity,
|
|
160
|
-
undefined,
|
|
161
|
-
null,
|
|
162
|
-
NaN,
|
|
163
|
-
].includes(result);
|
|
164
|
-
if (__classPrivateFieldGet(this, _FormulaConditional_round, "f") && !isInvalidResult)
|
|
165
|
-
result = Math.round(result);
|
|
166
|
-
if (__classPrivateFieldGet(this, _FormulaConditional_ceil, "f") && !isInvalidResult)
|
|
167
|
-
result = Math.ceil(result);
|
|
168
|
-
__classPrivateFieldSet(this, _FormulaConditional_value, isInvalidResult || typeof result === 'object'
|
|
169
|
-
? __classPrivateFieldGet(this, _FormulaConditional_emptyValue, "f")
|
|
170
|
-
: Number(result.toFixed(2)), "f");
|
|
171
|
-
__classPrivateFieldGet(this, _FormulaConditional_parent, "f").trigger('change');
|
|
172
|
-
model && model.set({ value: __classPrivateFieldGet(this, _FormulaConditional_value, "f") });
|
|
173
|
-
return __classPrivateFieldGet(this, _FormulaConditional_value, "f");
|
|
174
|
-
}
|
|
175
|
-
catch (e) {
|
|
176
|
-
console.log('formula', this.name, formula.formula, params);
|
|
177
|
-
console.error(e);
|
|
178
|
-
throw new Error('Error calculating the formula');
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
_FormulaConditional_plugin = new WeakMap(), _FormulaConditional_specs = new WeakMap(), _FormulaConditional_emptyValue = new WeakMap(), _FormulaConditional_value = new WeakMap(), _FormulaConditional_fields = new WeakMap(), _FormulaConditional_parent = new WeakMap(), _FormulaConditional_ceil = new WeakMap(), _FormulaConditional_round = new WeakMap(), _FormulaConditional_isNotListenToChanges = new WeakMap();
|
|
183
|
-
//# sourceMappingURL=conditional.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conditional.js","sourceRoot":"","sources":["../../../src/formulas/variants/conditional.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,MAAM,OAAO,kBAAkB;IAI3B,IAAI,OAAO;QACP,OAAO,uBAAA,IAAI,iCAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI;QACJ,MAAM,OAAO,GAAsB,uBAAA,IAAI,iCAAO,CAAC,OAAO,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,uBAAA,IAAI,iCAAO,CAAC;IACvB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,uBAAA,IAAI,iCAAO,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD;;OAEG;IACH,IAAI,MAAM;QACN,MAAM,OAAO,GAAsB,IAAI,CAAC,OAAO,CAAC;QAChD,OAAO,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ;YACtC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;YACnB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU;QACV,IAAI,OAAO,uBAAA,IAAI,iCAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO;QACpD,MAAM,OAAO,GAAG,uBAAA,IAAI,iCAAO,CAAC,OAA4B,CAAC;QACzD,OAAO,OAAO,CAAC,UAAU,CAAC;IAC9B,CAAC;IAWD,YAAY,MAAM,EAAE,MAAM,EAAE,KAAK;QA1CjC,6CAAa;QACb,4CAAwB;QACxB,iDAAuB;QAQvB,4CAAwC;QAuBxC;;WAEG;QACH,6CAAa;QAEb,6CAAwB;QACxB,2CAAe;QACf,4CAAgB;QAChB,mDAAwB,KAAK,EAAC;QAE1B,uBAAA,IAAI,8BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,8BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,6BAAU,KAAK,MAAA,CAAC;QACpB,uBAAA,IAAI,6BAAU,KAAK,CAAC,KAAK,MAAA,CAAC;QAC1B,uBAAA,IAAI,4BAAS,KAAK,CAAC,IAAI,MAAA,CAAC;QACxB,uBAAA,IAAI,kCAAe,KAAK,CAAC,UAAU,MAAA,CAAC;QAEpC,IAAI,KAAK,CAAC,oBAAoB;YAC1B,uBAAA,IAAI,4CAAyB,KAAK,CAAC,oBAAoB,MAAA,CAAC;IAChE,CAAC;IAED,UAAU;QACN,IAAI,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAA,IAAI,kCAAQ,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG,uBAAA,IAAI,kCAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,uBAAA,IAAI,8BAAW,MAAM,MAAA,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,uBAAA,IAAI,gDAAsB;gBAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CACX,SAAS,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,IAAI,EAAE,CACtD,CAAC;oBACN,CAAC;oBACD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAClB,CAAC;IAED,QAAQ;QACJ,MAAM,OAAO,GAAsB,uBAAA,IAAI,iCAAO,CAAC,OAAO,CAAC;QACvD,IAAI,gBAAgB,GAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,kCAAkC;QACzF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtG,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;gBACtC,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBACvB,kDAAkD;oBAClD,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CACrC,CAAC,YAAY,EAAE,EAAE;wBACb,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CACvC,CAAC,SAAS,EAAE,EAAE;4BACV,MAAM,KAAK,GAAG,uBAAA,IAAI,kCAAQ,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAC9B,CAAC;4BACF,OAAO,KAAK;gCACR,CAAC,CAAC,KAAK,CAAC,KAAK;gCACb,CAAC,CAAC,uBAAA,IAAI,sCAAY,CAAC;wBAC3B,CAAC,CACJ,CAAC;wBACF,OAAO,kBAAkB,CAAC,WAAW,CACjC,YAAY,CAAC,SAAS,EACtB,WAAW,EACX,YAAY,CAAC,KAAK,CACrB,CAAC;oBACN,CAAC,CACJ,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;wBACnD,MAAM,KAAK,GAAG,uBAAA,IAAI,kCAAQ,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAC9B,CAAC;wBACF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAA,IAAI,sCAAY,CAAC;oBAClD,CAAC,CAAC,CAAC;oBACH,MAAM,aAAa,GACf,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC/C,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;wBACjC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBAC/B,0DAA0D;oBAC1D,YAAY,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAC5C,SAAS,CAAC,SAAS,EACnB,WAAW,EACX,SAAS,CAAC,KAAK,CAClB,CAAC;gBACN,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACf,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;oBAC7C,gBAAgB,CAAC,EAAE,GAAG,SAAS,CAAC;oBAChC,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS;QACX;;;WAGG;QACH,MAAM,KAAK,GAAG,uBAAA,IAAI,kCAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,uBAAA,IAAI,6BACA,uBAAA,IAAI,sCAAY,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAA,IAAI,sCAAY,CAAC,CAAC,CAAC,EAAE,MAAA,CAAC;YAC3D,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,uBAAA,IAAI,iCAAO,EAAE,CAAC,CAAC;YAC3C,uBAAA,IAAI,kCAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,uBAAA,IAAI,iCAAO,CAAC;QACvB,CAAC;QACD,qFAAqF;QACrF,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAA,IAAI,kCAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM;aACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;aAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kCAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,MAAM,GACN,IAAI,CAAC,MAAM,KAAK,CAAC;gBACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE5D,MAAM,eAAe,GAAG;gBACpB,CAAC,QAAQ;gBACT,QAAQ;gBACR,SAAS;gBACT,IAAI;gBACJ,GAAG;aACN,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,uBAAA,IAAI,iCAAO,IAAI,CAAC,eAAe;gBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,uBAAA,IAAI,gCAAM,IAAI,CAAC,eAAe;gBAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,uBAAA,IAAI,6BACA,eAAe,IAAI,OAAO,MAAM,KAAK,QAAQ;gBACzC,CAAC,CAAC,uBAAA,IAAI,sCAAY;gBAClB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAA,CAAC;YAEpC,uBAAA,IAAI,kCAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE/B,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,uBAAA,IAAI,iCAAO,EAAE,CAAC,CAAC;YAC3C,OAAO,uBAAA,IAAI,iCAAO,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { IComplexCondition } from '../types/formulas';
|
|
2
|
-
export declare class IterativeArrayFormula {
|
|
3
|
-
#private;
|
|
4
|
-
get formula(): string | IComplexCondition;
|
|
5
|
-
get base(): string;
|
|
6
|
-
get value(): string | number;
|
|
7
|
-
get name(): string;
|
|
8
|
-
/**
|
|
9
|
-
* Represents the fields defined in the plugin settings
|
|
10
|
-
*/
|
|
11
|
-
get fields(): string[];
|
|
12
|
-
get conditions(): import("../types/formulas").IConditionalField | import("../types/formulas").IConditionalField[];
|
|
13
|
-
get variables(): string[];
|
|
14
|
-
constructor(parent: any, plugin: any, specs: any);
|
|
15
|
-
initialize(): void;
|
|
16
|
-
calculate(): Promise<void>;
|
|
17
|
-
private sanitizeData;
|
|
18
|
-
private sanitizeValue;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=iterative-array.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iterative-array.d.ts","sourceRoot":"","sources":["../../../src/formulas/variants/iterative-array.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,qBAAa,qBAAqB;;IAIjC,IAAI,OAAO,+BAEV;IACD,IAAI,IAAI,WAGP;IAED,IAAI,KAAK,oBAER;IACD,IAAI,IAAI,WAEP;IACD;;OAEG;IACH,IAAI,MAAM,aAGT;IAED,IAAI,UAAU,oGAIb;IAID,IAAI,SAAS,aAEZ;gBAQW,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA;IAUjC,UAAU;IASJ,SAAS;IA8Df,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,aAAa;CAGrB"}
|