@bgroup/wise-form 1.0.2 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +15 -3
- package/src/models/field.ts +504 -458
- 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 -443
- 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":";;;;;;;;;;;;AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,OAAO,iBAAiB;IAK7B,IAAI,OAAO;QACV,OAAO,uBAAA,IAAI,gCAAO,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI;QACP,MAAM,OAAO,GAAsB,uBAAA,IAAI,gCAAO,CAAC,OAAO,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACR,OAAO,uBAAA,IAAI,gCAAO,CAAC;IACpB,CAAC;IACD,IAAI,IAAI;QACP,OAAO,uBAAA,IAAI,gCAAO,CAAC,IAAI,CAAC;IACzB,CAAC;IACD;;OAEG;IACH,IAAI,MAAM;QACT,MAAM,OAAO,GAAsB,IAAI,CAAC,OAAO,CAAC;QAChD,OAAO,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;IAClF,CAAC;IAED,IAAI,UAAU;QACb,IAAI,OAAO,uBAAA,IAAI,gCAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO;QACpD,MAAM,OAAO,GAAG,uBAAA,IAAI,gCAAO,CAAC,OAA4B,CAAC;QACzD,OAAO,OAAO,CAAC,UAAU,CAAC;IAC3B,CAAC;IAGD,IAAI,SAAS;QACZ,OAAO,uBAAA,IAAI,oCAAW,CAAC;IACxB,CAAC;IAAA,CAAC;IAGF,IAAI,SAAS;QACZ,OAAO,uBAAA,IAAI,oCAAW,CAAC;IACxB,CAAC;IAKD,YAAY,MAAM,EAAE,MAAM,EAAE,KAAK;QA7CjC,4CAAa;QACb,2CAAwB;QACxB,gDAAuB;QACvB,4CAAiB;QAQjB,2CAAwC;QAqBxC,uCAAuB,EAAE,EAAC;QAK1B,+CAAqB;QAKrB,kDAAwB,KAAK,EAAA;QAE7B,4CAAwB;QAEvB,uBAAA,IAAI,6BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,6BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,4BAAU,KAAK,MAAA,CAAC;QACpB,uBAAA,IAAI,2CAAyB,KAAK,CAAC,oBAAoB,MAAA,CAAC;QACxD,uBAAA,IAAI,gCAAc,KAAK,CAAC,OAAO,CAAC,SAAS,MAAA,CAAC;IAC3C,CAAC;IAED,UAAU;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAA,IAAI,gCAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,uBAAA,IAAI,+CAAsB,IAAI,uBAAA,IAAI,oCAAW,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAA,IAAI,oCAAW,CAAC,IAAI,CAAC,CAAC,uBAAA,IAAI,oCAAW,CAAC,MAAM,EAAE,CAAC;YAClH,MAAM,MAAM,GAAG,uBAAA,IAAI,iCAAQ,CAAC,SAAS,CAAC,uBAAA,IAAI,oCAAW,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,uBAAA,IAAI,iCAAQ,CAAC,SAAS,CAAC,uBAAA,IAAI,gCAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,uBAAA,IAAI,+CAAsB;YAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;IAGD,KAAK,KAAK,CAAC;IAEX,QAAQ;QACP,MAAM,OAAO,GAAsB,uBAAA,IAAI,gCAAO,CAAC,OAAO,CAAC;QAEvD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,uBAAA,IAAI,iCAAQ,CAAC,SAAS,CAAC,uBAAA,IAAI,gCAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACzC,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,uGAAuG;QACvG,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE;YAClE,IAAI,CAAC,SAAS;gBAAE,OAAO,YAAY,CAAC;YAEpC,mGAAmG;YACnG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzF,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,0EAA0E;YAC1E,OAAO,YAAY,CAAC;QACrB,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAI,WAAW,EAAE,CAAC;YACjB,0GAA0G;YAC1G,OAAO,WAAW,CAAC;QACpB,CAAC;aAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,SAAS;QACd,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACjC,mDAAmD;YACnD,uBAAA,IAAI,4BAAU,CAAC,MAAA,CAAC;YAChB,OAAO;QACR,CAAC;QACD;;WAEG;QAEH,MAAM,YAAY,GAAG,uBAAA,IAAI,gCAAO,CAAC,OAA4B,CAAC;QAC9D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,uBAAA,IAAI,iCAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpG,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,iCAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEpG,uBAAA,IAAI,4BAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzE,CAAC,CAAC,uBAAA,IAAI,qCAAY;gBAClB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAA,CAAC;YAC7B,uBAAA,IAAI,iCAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,uBAAA,IAAI,gCAAO,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAED,cAAc,CAAC,MAAM;QACpB,IAAI,IAAI,CAAC;QACT,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|