Aggiunto loader. Fix #20

This commit is contained in:
gine 2017-03-26 19:03:01 +02:00
parent cfbb9524f4
commit 34f03d58df
4 changed files with 39 additions and 11 deletions

View file

@ -25,7 +25,14 @@ EVENTS.formatDate = function(date, format) {
return mdate.isValid() ? mdate.format(format) : "";
};
EVENTS.eventsLoaded = 0;
EVENTS.render = function() {
EVENTS.eventsLoaded = 0;
setTimeout(function () {
$.mobile.loading('show');
}, 300);
var ret = checkConnection('ERR_EVENT');
if (ret) {
EVENTS.getDataAndLoad(ai1ec.cats.single);
@ -40,7 +47,6 @@ EVENTS.getDataAndLoad = function (type) {
type = type || ai1ec.cats.single;
var table = type == ai1ec.cats.repeat ? 'xm24_events_repeat' : 'xm24_events_single';
$.mobile.loading('show');
ai1ec.remote.getLastEvents(type, function(events) {
var n_evs = events.length,
n_evs_ins = 0,
@ -78,23 +84,38 @@ EVENTS.getDataAndLoad = function (type) {
if(n_evs_ins > 0) {
EVENTS.loadFromDb('#mostralista-'+ type, type);
} else {
toastr.info("Non ci sono nuovi eventi.");
$.mobile.loading('hide');
EVENTS.errorHandler("Non ci sono nuovi eventi.", "info");
}
}
console.error("EVENTS.query() : ", error);
});
}
}, function(error){
console.error("EVENTS.query() : ", error + " type: " + type);
toastr.error("Err: errore nel TRUNCATE della tabella degli eventi");
EVENTS.errorHandler("Err: errore nel TRUNCATE della tabella degli eventi");
});
} else {
toastr.info("Non ci sono nuovi eventi.");
EVENTS.errorHandler("Non ci sono nuovi eventi.", "info");
}
});
};
EVENTS.hideLoader = function(){
if(EVENTS.eventsLoaded >= Object.keys(EVENTS.table).length)
$.mobile.loading('hide');
};
EVENTS.errorHandler = function(msg, type) {
EVENTS.eventsLoaded++;
if(type === 'info') {
toastr.info(msg);
} else {
toastr.error(msg);
}
EVENTS.hideLoader();
};
EVENTS.loadFromDb = function (containerId, type) {
var table = type == ai1ec.cats.repeat ? 'xm24_events_repeat' : 'xm24_events_single';
FONTE.dbHandler.executeSql("SELECT * FROM " + table + " ORDER BY initDate COLLATE NOCASE ASC;", [], function (resultSet) {
@ -123,14 +144,14 @@ EVENTS.loadFromDb = function (containerId, type) {
items.push(li);
}
EVENTS.eventsLoaded++;
$(containerId).empty();
$("<ul/>", {
html: items.join("")
}).prependTo(containerId);
$.mobile.loading('hide');
EVENTS.hideLoader()
}, function (error) {
$.mobile.loading('hide');
toastr.error("Err: nel caricamento dei dati dal db");
console.log(error);
EVENTS.errorHandler("Err: nel caricamento dei dati dal db");
});
};

View file

@ -108,6 +108,7 @@ function alterContent(url) {
myJsonRandomPost('#titolosingleR', '#mostracontentsingleR');
break;
}
$( "#outside" ).panel( "close" );
// Alter the url according to the anchor's href attribute, and
// store the data-foo attribute information with the url
$.mobile.navigate(url);
@ -134,6 +135,7 @@ $(function () {
});
function initMainPage() {
$.mobile.loading('show');
if (checkConnection()) {
postsUpdate(FONTE.categories.info);
} else {
@ -301,8 +303,8 @@ function imgNotFound(img) {
}
function JSONErrorHandler(jqXHR, textStatus, errorThrown) {
$.mobile.loading('hide');
if (!FONTE.ajaxError) {
$.mobile.loading('hide');
var errMsg = "Err: ";
if(jqXHR.status === 404) {
errMsg += "Sito non raggiungibile. ";

View file

@ -83,6 +83,7 @@ var drawListPost = function(div, resultSet, position) {
} else if(position == 'prepend'){
ul.prependTo(div);
}
$.mobile.loading('hide');
};
var appendPostList = function(div, resultSet, categories, fallback) {
@ -94,6 +95,7 @@ var appendPostList = function(div, resultSet, categories, fallback) {
} else if (fallback) {
fallback();
} else {
$.mobile.loading('hide');
toastr.info("Non ci sono altri articoli da visualizzare");
}
};
@ -115,6 +117,7 @@ var prependPostsList = function(div, resultSet, categories, fallback) {
function drawNoPostsFound(div) {
$(div).empty();
$(div).append('<span>Non ci sono nuovi contenuti.</span>');
$.mobile.loading('hide');
}
function sqlErrHandler(error){

View file

@ -121,6 +121,7 @@ function loadMore(type) {
}
function getPrevSinglePageRecur(url, pagenum, categories) {
$.mobile.loading('show');
var type = getObjKey(FONTE.categories, categories);
console.log('url:'+url);
@ -132,6 +133,7 @@ function getPrevSinglePageRecur(url, pagenum, categories) {
FONTE.neededPostsCount += data.length;
if (FONTE.neededPostsCount === 0) {
$.mobile.loading('hide');
toastr.info('Non ci sono altri alticoli da visualizzare in questa sezione');
updateLocalStorageDate(type);
}