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;