Made some pre-setup server-side to make avoid loading screens on website load

This commit is contained in:
2016-03-25 18:53:04 +01:00
parent 35f065e19e
commit 512b7e3cd0
8 changed files with 131 additions and 38 deletions
+43 -30
View File
@@ -120,33 +120,39 @@ function updateLists() {
$('#menu-items').html("Loading...");
$.get('/l/generators', function(data, err) {
// 1. Categories
var keys = Object.keys(data.categories);
var items = {};
$('#menu-items').html('');
for(var i = 0; i < keys.length; ++i) {
var key = keys[i];
var item = $('<div class="item" data-id="'+key+'"><span>'+data.categories[key]+'</span><div class="ngn4-panel"></div></div>');
items[key] = item;
$('#menu-items').append(item);
categories[key] = data.categories[key];
if(!err) {
setList(data);
}
// 2. Sub menus
keys = Object.keys(data.generators);
for(var i = 0; i < keys.length; ++i) {
var key = keys[i];
var item = $('<a href="javascript:selectGenerator(\''+key+'\')">'+data.generators[key]+'</a>');
$('div', items[key.split('/')[0]]).append(item);
}
applyMediaQueries(true);
});
}
function setList(data) {
// 1. Categories
var keys = Object.keys(data.categories);
var items = {};
$('#menu-items').html('');
for(var i = 0; i < keys.length; ++i) {
var key = keys[i];
var item = $('<div class="item" data-id="'+key+'"><span>'+data.categories[key]+'</span><div class="ngn4-panel"></div></div>');
items[key] = item;
$('#menu-items').append(item);
categories[key] = data.categories[key];
}
// 2. Sub menus
keys = Object.keys(data.generators);
for(var i = 0; i < keys.length; ++i) {
var key = keys[i];
var item = $('<a href="javascript:selectGenerator(\''+key+'\')">'+data.generators[key]+'</a>');
$('div', items[key.split('/')[0]]).append(item);
}
applyMediaQueries(true);
}
function applyMediaQueries(force) {
var mq = window.matchMedia("(max-width: 980px)");
@@ -190,14 +196,21 @@ $(document).ready(function() {
$('.ngn4-footer').hide();
}
var lastGenerator = getCookie('last_generator');
if(lastGenerator.length > 0) {
selectGenerator(lastGenerator);
} else {
selectGenerator('default');
}
if(inited !== true) {
var lastGenerator = getCookie('last_generator');
if(lastGenerator.length > 0) {
selectGenerator(lastGenerator);
} else {
selectGenerator('default');
}
updateLists();
updateLists();
} else {
var fullId = initData.catId + '/' + initData.id;
setGenerator(fullId, set.addGenerator(fullId, initData, true));
setList(genList);
}
});
$(window).resize(applyMediaQueries);