zpt
Version:
Zenon Page Templates - JS (ZPT-JS)
65 lines (52 loc) • 1.53 kB
JavaScript
/*
TrStringExpression class
*/
;
var context = require( '../../context.js' );
var trHelper = require( './trHelper.js' );
var 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
);
};
module.exports = TrStringExpression;