Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2016-12-11 00:37:47 +0300
committerClement Ho <ClemMakesApps@gmail.com>2017-01-10 01:01:14 +0300
commit5066366162cc1da1004bc0d3df4a6377d68dbce4 (patch)
tree92f202466a29bb8267183021b4a8232353a4b655 /app/assets/javascripts/droplab
parentefb668208ae25393cd5535ea769c537c55a54313 (diff)
Add loading template to droplab_ajax_filter
Diffstat (limited to 'app/assets/javascripts/droplab')
-rw-r--r--app/assets/javascripts/droplab/droplab_ajax_filter.js24
1 files changed, 23 insertions, 1 deletions
diff --git a/app/assets/javascripts/droplab/droplab_ajax_filter.js b/app/assets/javascripts/droplab/droplab_ajax_filter.js
index f2720a0371b..8d024c4b6d7 100644
--- a/app/assets/javascripts/droplab/droplab_ajax_filter.js
+++ b/app/assets/javascripts/droplab/droplab_ajax_filter.js
@@ -50,6 +50,18 @@ require('../window')(function(w){
searchValue = config.searchValueFunction();
}
+ if (config.loadingTemplate && this.hook.list.data === undefined ||
+ this.hook.list.data.length === 0) {
+ var dynamicList = this.hook.list.list.querySelector('[data-dynamic]');
+
+ var loadingTemplate = document.createElement('div');
+ loadingTemplate.innerHTML = config.loadingTemplate;
+ loadingTemplate.setAttribute('data-loading-template', true);
+
+ this.listTemplate = dynamicList.outerHTML;
+ dynamicList.outerHTML = loadingTemplate.outerHTML;
+ }
+
if (getEntireList) {
searchValue = '';
}
@@ -64,8 +76,18 @@ require('../window')(function(w){
params[config.searchKey] = searchValue;
var self = this;
this._loadUrlData(config.endpoint + this.buildParams(params)).then(function(data) {
+ if (config.loadingTemplate && self.hook.list.data === undefined ||
+ self.hook.list.data.length === 0) {
+ self.hook.list.list.querySelector('[data-loading-template]').outerHTML = self.listTemplate;
+ }
+
if (!self.destroyed) {
- self.hook.list.setData.call(self.hook.list, data[0]);
+ if (data[0].length === 0) {
+ self.hook.list.hide();
+ } else {
+ self.hook.list.show();
+ self.hook.list.setData.call(self.hook.list, data[0]);
+ }
}
self.notLoading();
});