Skip to content

Commit 8b04804

Browse files
committed
Add runExpreesion function
1 parent 78480fd commit 8b04804

6 files changed

Lines changed: 29 additions & 8 deletions

File tree

demo/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ $(function () {
6161
setTimeout(function () {
6262
let txtExp = $('#txt').expressionBuilder();
6363
let exp = txtExp.getExpression();
64-
$('.res-1-1').html("Expression: " + exp);
64+
$('.res-1-1').html("Expression: " + exp + " = " + txtExp.runExpression());
6565

6666
let input = txtExp.getInput();
6767
$('.res-1-2').html("Input: " + input);

src/expression-builder-v2.js

Lines changed: 9 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/expression-builder-v2.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/expression-builder-v2.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ interface ExpressionBuilder {
2828
parseExpression(expression: string): string,
2929
getInput(): string,
3030
getVariableById(variableId: number): string,
31-
setVariables(vars: Array<ExpressionBuilderVariable>): void
31+
setVariables(vars: Array<ExpressionBuilderVariable>): void,
32+
runExpression(): any
3233
}
3334

3435
interface JQuery {
@@ -1046,8 +1047,6 @@ jQuery.fn.extend({
10461047
return undefined;
10471048

10481049
return tree.toString(true);
1049-
1050-
//return parseInput().expression;
10511050
},
10521051

10531052
setExpression: function (expression: string): void {
@@ -1072,6 +1071,20 @@ jQuery.fn.extend({
10721071

10731072
setVariables: function (vars: Array<ExpressionBuilderVariable>) {
10741073
options.variables = vars || [];
1074+
},
1075+
1076+
runExpression: function () {
1077+
let p = parser(expressionInput.val(), parserOptions);
1078+
1079+
if (p.validate() != '')
1080+
return undefined;
1081+
1082+
let tree = p.getExpressionTree();
1083+
1084+
if (tree === undefined)
1085+
return undefined;
1086+
1087+
return tree.compute();
10751088
}
10761089
};
10771090
}

0 commit comments

Comments
 (0)