streaming posts. also moved topics to be entirely client side parsed. made some changes. added block level caching to templates. added a prepare method to templates

This commit is contained in:
psychobunny
2013-05-03 21:19:28 +00:00
parent 9fb2a338bb
commit 3e96f64191
5 changed files with 73 additions and 15 deletions

View File

@@ -7,7 +7,15 @@ var templates = {};
//quick implementation because introducing a lib to handle several async callbacks
if (callback == null && ready_callback) ready_callback();
else ready_callback = callback;
}
};
templates.prepare = function(raw_tpl, data) {
var template = {};
template.html = raw_tpl;
template.parse = parse;
template.blocks = {};
return template;
};
function loadTemplates(templatesToLoad) {
var timestamp = new Date().getTime();
@@ -24,9 +32,10 @@ var templates = {};
template.prototype.parse = parse;
template.prototype.html = String(html);
templates[file] = new template;
template.prototype.blocks = {};
templates[file] = new template;
loaded--;
if (loaded == 0) templates.ready();
}).fail(function() {
@@ -49,6 +58,8 @@ var templates = {};
//modified from https://github.com/psychobunny/dcp.templates
var parse = function(data) {
var self = this;
function replace(key, value, template) {
var searchRegex = new RegExp('{' + key + '}', 'g');
return template.replace(searchRegex, value);
@@ -62,6 +73,8 @@ var templates = {};
data = template.match(regex);
if (data == null) return;
if (block !== undefined) self.blocks[block] = data[0];
data = data[0]
.replace("<!-- BEGIN " + block + " -->", "")
.replace("<!-- END " + block + " -->", "");