| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /**
- * Lungo Template system
- *
- * @namespace Lungo.View
- * @class Template
- *
- * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
- * @author Guillermo Pascual <pasku@tapquo.com> || @pasku1
- */
- Lungo.View.Template = (function(lng, undefined) {
- var ERROR = lng.Constants.ERROR;
- var _templates = {};
- /**
- * Create a new databinding template based on a <markup>
- *
- * @method create
- *
- * @param {String} Id of the new databinding template
- * @param {String} <markup> of the new databinding template
- */
- var create = function(id, markup) {
- _templates[id] = markup;
- };
- /**
- * Returns the existence of a certain Id databinding template
- *
- * @method exists
- *
- * @param {String} Id of the databinding template
- * @return {Boolean} true if exists, false if not.
- */
- var exists = function(id) {
- return (_templates[id]) ? true : false;
- };
- /**
- * Returns the instance of a certain Id databinding template
- *
- * @method get
- *
- * @param {String} Id of the databinding template
- * @return {String} Markup of template
- */
- var get = function(id) {
- return _templates[id];
- };
- /**
- * Performs databinding process for a data set and a given template
- *
- * @method render
- *
- * @param {String} Element selector for showing the result of databinding
- * @param {String} Databinding Template Id
- * @param {Object} Data for binding
- */
- var render = function(element, template_id, data) {
- if (lng.View.Template.exists(template_id)) {
- var container = lng.dom(element);
- container.html(this.markup(template_id, data));
- } else {
- throw new Error(ERROR.BINDING_TEMPLATE + template_id);
- }
- };
- /**
- * Performs databinding process for a data set and a given template
- *
- * @method markup
- *
- * @param {String} Databinding Template Id
- * @param {Object} Data for binding
- */
- var markup = function(template_id, data) {
- var template_markup = this.get(template_id);
- return lng.View.Template.Binding.process(template_markup, data);
- };
- /**
- * Performs databinding process for a data set and a given html
- *
- * @method html
- *
- * @param {String} Markup for binding
- * @param {Object} Data for binding
- */
- var html = function(markup, data) {
- return lng.View.Template.Binding.process(markup, data);
- };
- return {
- create: create,
- exists: exists,
- get: get,
- render: render,
- markup: markup,
- html: html
- };
- })(Lungo);
|