From c0df95b2dce0b9572c753ec281d8f360550070c2 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Wed, 19 Feb 2014 17:23:17 -0500 Subject: [PATCH] render widgets upon ajaxify - this widget feetorez iz completified! --- public/src/ajaxify.js | 26 +++++++++++++++++++++----- public/templates/home.tpl | 8 ++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index b5b8a258f1..ffaa39a189 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -93,7 +93,7 @@ var ajaxify = {}; translator.load(tpl_url); - jQuery('#footer, #content').removeClass('hide').addClass('ajaxifying'); + $('#footer, #content').removeClass('hide').addClass('ajaxifying'); templates.flush(); templates.load_template(function () { @@ -110,11 +110,27 @@ var ajaxify = {}; app.processPage(); - jQuery('#content, #footer').stop(true, true).removeClass('ajaxifying'); - ajaxify.initialLoad = false; + var widgetLocations = []; - app.refreshTitle(url); - $(window).trigger('action:ajaxify.end', { url: url }); + require(['vendor/async'], function(async) { + $('#content [widget-area]').each(function() { + widgetLocations.push(this.getAttribute('widget-area')); + }); + + async.each(widgetLocations, function(location, next) { + var area = $('#content [widget-area="' + location + '"]'); + + socket.emit('widgets.render', {template: tpl_url + '.tpl', location: location}, function(err, renderedWidgets) { + area.html(templates.prepare(area.html()).parse({widgets: renderedWidgets})).removeClass('hidden'); + }); + }); + + $('#content, #footer').stop(true, true).removeClass('ajaxifying'); + ajaxify.initialLoad = false; + + app.refreshTitle(url); + $(window).trigger('action:ajaxify.end', { url: url }); + }); }, url); return true; diff --git a/public/templates/home.tpl b/public/templates/home.tpl index b852449f21..0d64db4a35 100644 --- a/public/templates/home.tpl +++ b/public/templates/home.tpl @@ -2,6 +2,14 @@ {motd} + +