From 99d5838fb1fdbba1f494ce8baaf7b8d5d4341712 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 23 Jan 2017 13:50:40 +0000 Subject: Only render the list if it is visible --- app/assets/javascripts/droplab/droplab_ajax.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'app/assets') diff --git a/app/assets/javascripts/droplab/droplab_ajax.js b/app/assets/javascripts/droplab/droplab_ajax.js index f20610b3811..a732525e606 100644 --- a/app/assets/javascripts/droplab/droplab_ajax.js +++ b/app/assets/javascripts/droplab/droplab_ajax.js @@ -58,7 +58,10 @@ require('../window')(function(w){ dataLoadingTemplate.outerHTML = self.listTemplate; } } - hook.list[config.method].call(hook.list, d); + + if (!hook.list.hidden) { + hook.list[config.method].call(hook.list, d); + } }).catch(function(e) { throw new droplabAjaxException(e.message || e); }); @@ -76,4 +79,4 @@ module.exports = function(callback) { }; },{}]},{},[1])(1) -}); \ No newline at end of file +}); -- cgit v1.2.3 From 0421793ba3acb7bc8612bfac915d783470ba233d Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 23 Jan 2017 16:08:57 +0000 Subject: Correctly resets the default template on destroy --- app/assets/javascripts/droplab/droplab_ajax.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'app/assets') diff --git a/app/assets/javascripts/droplab/droplab_ajax.js b/app/assets/javascripts/droplab/droplab_ajax.js index a732525e606..f7fed0987a2 100644 --- a/app/assets/javascripts/droplab/droplab_ajax.js +++ b/app/assets/javascripts/droplab/droplab_ajax.js @@ -29,6 +29,7 @@ require('../window')(function(w){ init: function init(hook) { var self = this; var config = hook.config.droplabAjax; + this.hook = hook; if (!config || !config.endpoint || !config.method) { return; @@ -52,15 +53,15 @@ require('../window')(function(w){ this._loadUrlData(config.endpoint) .then(function(d) { if (config.loadingTemplate) { - var dataLoadingTemplate = hook.list.list.querySelector('[data-loading-template]'); + var dataLoadingTemplate = self.hook.list.list.querySelector('[data-loading-template]'); if (dataLoadingTemplate) { dataLoadingTemplate.outerHTML = self.listTemplate; } } - if (!hook.list.hidden) { - hook.list[config.method].call(hook.list, d); + if (!self.hook.list.hidden) { + self.hook.list[config.method].call(self.hook.list, d); } }).catch(function(e) { throw new droplabAjaxException(e.message || e); @@ -68,6 +69,10 @@ require('../window')(function(w){ }, destroy: function() { + if (this.listTemplate) { + var dynamicList = this.hook.list.list.querySelector('[data-dynamic]'); + dynamicList.outerHTML = this.listTemplate; + } } }; }); -- cgit v1.2.3