PageSourceSearch

https://ymta.net/wp-content/plugins/smart-forms/js/formBuilder/formula/formulamanager.js?ver=5

js ymta.net collected 2026-10-05 05:09:33 UTC 4,927 bytes, 105 lines download raw bytes

1var RedNaoFormulaManager = /** @class */ (function () {
2    function RedNaoFormulaManager() {
3        this.Formulas = [];
4        this.RefreshAllFormulas = function () {
5            for (var i = 0; i < this.Formulas.length; i++)
6                this.Formulas[i].UpdateFieldWithValue(this.Data);
7        };
8        this.Formulas = [];
9        this.Data = {};
10        var self = this;
11        RedNaoEventManager.Subscribe('formPropertyChanged', function (data) {
12            self.PropertyChanged(data);
13        });
14        RedNaoEventManager.Subscribe('CalculateFormula', function (data) {
15            return self.CalculateFormula(data.FormulaInstance, data.Formula, data.Values);
16        });
17    }
18    RedNaoFormulaManager.prototype.CalculateFormula = function (instance, formula, values) {
19        return (function () {
20            var Remote = instance.GetRemote();
21            formula = new Function('formData,Remote,current', 'return ' + formula.CompiledFormula);
22            return formula(values, Remote, instance.FormElement);
23        })();
24    };
25    RedNaoFormulaManager.prototype.PropertyChanged = function (data) {
26        this.SetFormulaValue(data.Field, data.FieldName, data.Value);
27        this.UpdateFormulaFieldsIfNeeded(data.FieldName, data.SubField);
28        RedNaoEventManager.Publish('FormValueChanged', { FieldName: data.FieldName, Data: this.Data });
29        var actionData = { FieldName: data.FieldName, Data: this.Data, Actions: [] };
30        RedNaoEventManager.Publish('ProcessConditionsAfterValueChanged', actionData);
31        actionData = actionData.Actions;
32        var i;
33        for (i = 0; i < actionData.length; i++) {
34            this.ExecuteAfterComplete(actionData[i], "hide");
35        }
36        for (i = 0; i < actionData.length; i++) {
37            this.ExecuteAfterComplete(actionData[i], "show");
38        }
39    };
40    ;
41    RedNaoFormulaManager.prototype.ExecuteAfterComplete = function (actionData, type) {
42        actionData.then(function (result) {
43            if (result == null)
44                return;
45            if (typeof result.Actions != 'undefined' && Array.isArray(result.Actions))
46                for (var _i = 0, _a = result.Actions; _i < _a.length; _i++) {
47                    var current = _a[_i];
48                    current.Execute();
49                }
50            else if (result.ActionType == type)
51                result.Execute();
52        });
53    };
54    RedNaoFormulaManager.prototype.SetFormulaValue = function (field, fieldName, data) {
55        var fieldData = field.GetDataStore();
56        fieldData.OriginalValues = data;
57        fieldData.numericalValue = 0;
58        if (typeof data.value != 'undefined')
59            fieldData.value = data.value;
60        if (typeof data.selectedValues != 'undefined')
61            fieldData.selectedValues = data.selectedValues;
62        if (typeof data.amount != 'undefined') {
63            fieldData.amount = data.amount;
64            fieldData.numericalValue = data.amount;
65        }
66        if (RedNaoPathExists(fieldData, 'value')) {
67            fieldData.label = fieldData.value.toString();
68            if (fieldData.value == '')
69                fieldData.value = 0;
70            else if (!isNaN(fieldData.value)) {
71                fieldData.value = parseFloat(data.value);
72                fieldData.numericalValue = data.value;
73            }
74            if (typeof data.numericalValue != 'undefined')
75                fieldData.numericalValue = data.numericalValue;
76        }
77        else {
78            if (typeof fieldData.selectedValues != 'undefined') {
79                fieldData.label = "";
80                for (var i = 0; i < fieldData.selectedValues.length; i++) {
81                    fieldData.label += ";" + fieldData.selectedValues[i].label;
82                }
83                if (fieldData.label.length > 0)
84                    fieldData.label = fieldData.label.substring(1);
85            }
86            else {
87                fieldData.label = '';
88                fieldData.numericalValue = 0;
89            }
90        }
91        this.Data[fieldName] = fieldData;
92    };
93    RedNaoFormulaManager.prototype.UpdateFormulaFieldsIfNeeded = function (fieldName, subField) {
94        for (var i = 0; i < this.Formulas.length; i++) {
95            if (this.Formulas[i].FieldUsedInFormula(fieldName) && (!this.Formulas[i].FormElement.IsInternal || (this.Formulas[i].FormElement.IsInternal && this.Formulas[i].FormElement.OriginalId != subField)))
96                this.Formulas[i].UpdateFieldWithValue(this.Data);
97        }
98    };
99    RedNaoFormulaManager.prototype.AddFormula = function (formElement, formula) {
100        this.Formulas.push(new RedNaoFormula(formElement, formula));
101    };
102    return RedNaoFormulaManager;
103}());
104window.RedNaoFormulaManagerVar = new RedNaoFormulaManager();
105//# sourceMappingURL=formulamanager.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.