From 61f0542497fb042c8c075d2b739704798944fcd2 Mon Sep 17 00:00:00 2001 From: gine Date: Sun, 19 Mar 2017 12:03:58 +0100 Subject: [PATCH] Parametrizzata la funzione EVENTS.query(). Definiti i formati delle date in store/display. Migliorato il template degli eventi --- www/js/eventsCRUD.js | 95 ++++++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/www/js/eventsCRUD.js b/www/js/eventsCRUD.js index 98fc5d7..49c33c8 100644 --- a/www/js/eventsCRUD.js +++ b/www/js/eventsCRUD.js @@ -1,48 +1,74 @@ var EVENTS = EVENTS || {}; -//var date = moment(); +EVENTS.dateFormat = { + store : { + date: "YYYY-MM-DD", + hour: "HH:mm" + }, + display : { + date: "DD-MM-YYYY", + hour: "HH:mm" + } +} + +EVENTS.storeDateFormat = EVENTS.dateFormat.store.date + " " + EVENTS.dateFormat.store.hour; +EVENTS.displayDateFormat = EVENTS.dateFormat.display.date + " " + EVENTS.dateFormat.display.hour; EVENTS.render = function() { var ret = checkConnection('ERR_EVENT'); if (ret) { - EVENTS.querySingle(); + EVENTS.query(ai1ec.cats.single); } else { EVENTS.loadFromDb('#mostralista', ai1ec.cats.single); } } -EVENTS.querySingle = function () { +EVENTS.formatDate = function(date, format) { + var mdate = moment(date); + + return mdate.isValid() ? mdate.format(format) : ""; +} + +EVENTS.query = 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(ai1ec.cats.single, function(events) { + ai1ec.remote.getLastEvents(type, function(events) { var n_evs = events.length, n_evs_ins = 0, n_evs_err = 0; if(n_evs > 0) { - FONTE.dbHandler.executeSql('DELETE FROM xm24_events_single', [], function() { + FONTE.dbHandler.executeSql('DELETE FROM ' + table , [], function() { for (var i = 0; i < events.length; i++) { var event = events[i]; var evId = ai1ec.event.getId(event); var evTitle = ai1ec.event.getTitle(event); var evDesc = ai1ec.event.getDescription(event); - var evInitDate = ai1ec.event.getInitDate(event); - var evEndDate = ai1ec.event.getEndDate(event); var evUrl = ai1ec.event.getUrl(event); var evGeo = ai1ec.event.getGeo(event); - FONTE.dbHandler.executeSql('INSERT INTO xm24_events_single VALUES (?,?,?,?,?,?,?)', [evId, evTitle, evDesc, evInitDate, evEndDate, evUrl, evGeo], function (resultSet) { + var evInitDate = EVENTS.formatDate(ai1ec.event.getInitDate(event), EVENTS.storeDateFormat); + var evEndDate = EVENTS.formatDate(ai1ec.event.getEndDate(event), EVENTS.storeDateFormat); + + FONTE.dbHandler.executeSql('INSERT INTO ' + table + ' VALUES (?,?,?,?,?,?,?)', [evId, evTitle, evDesc, evInitDate, evEndDate, evUrl, evGeo], + //onSuccess + function (resultSet) { n_evs_ins++; console.log('resultSet.insertId: ' + resultSet.insertId); console.log('resultSet.rowsAffected: ' + resultSet.rowsAffected); if(n_evs_ins + n_evs_err == n_evs - 1) { if(n_evs_ins > 0) { - EVENTS.loadFromDb('#mostralista', ai1ec.cats.single); + EVENTS.loadFromDb('#mostralista', type); } } - }, function (error) { + }, + //onError + function (error) { n_evs_err++; if(n_evs_ins + n_evs_err == n_evs - 1) { if(n_evs_ins > 0) { - EVENTS.loadFromDb('#mostralista', ai1ec.cats.single); + EVENTS.loadFromDb('#mostralista', type); } else { toastr.info("Non ci sono nuovi eventi."); $.mobile.loading('hide'); @@ -52,7 +78,8 @@ EVENTS.querySingle = function () { }); } }, function(error){ - toastr.error("Err: errore nel TRUNCATE della tabella degli eventi single"); + console.error("EVENTS.query() : ", error + " type: " + type); + toastr.error("Err: errore nel TRUNCATE della tabella degli eventi"); }); } else { toastr.info("Non ci sono nuovi eventi."); @@ -60,42 +87,20 @@ EVENTS.querySingle = function () { }); }; -EVENTS.queryRepeat = function () { - $.mobile.loading('show'); - ai1ec.remote.getLastEvents(ai1ec.cats.single, function(events) { - for (var i = 0; i < events.length; i++) { - var event = events[i]; - var evId = ai1ec.event.getId(event); - var evTitle = ai1ec.event.getTitle(event); - var evDesc = ai1ec.event.getDescription(event); - var evInitDate = ai1ec.event.getInitDate(event); - var evEndDate = ai1ec.event.getEndDate(event); - var evUrl = ai1ec.event.getUrl(event); - var evGeo = ai1ec.event.getGeo(event); - FONTE.dbHandler.executeSql('TRUNCATE TABLE xm24_events_repeat', [], function() { - FONTE.dbHandler.executeSql('INSERT INTO xm24_events_repeat VALUES (?,?,?,?,?,?,?)', [evId, evTitle, evDesc, evInitDate, evEndDate, evUrl, evGeo], function (resultSet) { - console.log('resultSet.insertId: ' + resultSet.insertId); - console.log('resultSet.rowsAffected: ' + resultSet.rowsAffected); - - $.mobile.loading('hide'); - }, function (error) { - console.error("EVENTS.query() : ", error); - }); - }); - } - }); -}; - EVENTS.loadFromDb = function (containerId, type) { - var table = type == ai1ec.cats.single ? 'xm24_events_single' : 'xm24_events_repeat'; + 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) { var items = []; for (var i = 0; i < resultSet.rows.length; i++) { var item = resultSet.rows.item(i); - var period = "Da: " + item.initDate; - if(item.endDate) { - period += " A: " + item.endDate; + var evInitDate = EVENTS.formatDate(item.initDate, EVENTS.displayDateFormat); + var evEndDate = EVENTS.formatDate(item.endDate, EVENTS.displayDateFormat); + + var evFrom = "Da: " + evInitDate; + var evTo = ""; + if(evEndDate != "") { + evTo = "
" + " A: " + evEndDate; } var li = "
  • " + @@ -104,8 +109,10 @@ EVENTS.loadFromDb = function (containerId, type) { + item.title + "" + "
    " + - period + - "
  • "; + evFrom + + evTo + ""; + items.push(li); } $(containerId).empty();