zpt
Version:
Zenon Page Templates - JS (ZPT-JS)
63 lines (50 loc) • 1.49 kB
JavaScript
/*
TrStringExpression class
*/
import { context } from '../../context.js';
import { trHelper } from './trHelper.js';
export const TrStringExpression = function( stringToApply, expressionToApply, argsExpressionsToApply ) {
var string = stringToApply;
var expression = expressionToApply;
var argsExpressions = argsExpressionsToApply;
var evaluate = function( scope ){
var evaluated = trHelper.evaluate(
scope,
expression,
argsExpressions,
'string',
null
);
return evaluated;
};
var dependsOn = function( depsDataItem, scope ){
return trHelper.dependsOn( depsDataItem, scope, expression, argsExpressions );
};
var toString = function(){
return string;
};
return {
evaluate: evaluate,
dependsOn: dependsOn,
toString: toString
};
};
TrStringExpression.removePrefix = true;
TrStringExpression.getPrefix = function() {
return context.getConf().trExpression;
};
TrStringExpression.getId = TrStringExpression.getPrefix;
TrStringExpression.build = function( string ) {
var trData = trHelper.build(
string,
TrStringExpression.getPrefix(),
1,
2,
false
);
return new TrStringExpression(
string,
trData.expression,
trData.argsExpressions
);
};