1 var Class = require("../lib/mootools/mootools-node.js").Class; 2 var Template = require('../lib/Template.js').Template; 3 var jqtpl = require('jqtpl'); 4 var JsonRpcResult = require("../lib/core/jsonrpc/JsonRpcResult.js").JsonRpcResult; 5 6 /** 7 * @class JqTemplate Implementation of Template class - using <a href="https://github.com/kof/node-jqtpl">jQuery Templates engine</a>. 8 * @extends Template 9 * @requires Class 10 * @requires Template 11 * @requires jqtpl 12 * @requires JsonRpcResult 13 */ 14 var JqTemplate = function(){ 15 16 /** @ignore */ 17 this.Extends = Template; 18 19 /** 20 * Executing template rendering. 21 * @param {Object} data Template data. 22 * @throws {Template.Error.FILE_DOES_NOT_EXIST} if given template path is invalid. 23 */ 24 this.render = function(data){ 25 //FIXME: template nie powinien uwzgledniac pakowania calosci w zwrotke RPC 26 if(!jqtpl.template.hasOwnProperty(this._configuration.template)){ 27 throw Template.Exception.FILE_DOES_NOT_EXIST(this._configuration.template); 28 } 29 30 this.setRenderedData(new JsonRpcResult(jqtpl.tmpl(this._configuration.template, {'data': data}, {cache: true}))); 31 }; 32 }; 33 34 JqTemplate = new Class(new JqTemplate()); 35 exports.JqTemplate = JqTemplate;