// http://landmarkceramics.com.121.lan/app_marketing/assets_start/app-js-bundle.php console.warn("Questo js è stato ottenuto chiamando /smart_meeting/assets_start/app-js-bundle.php. Si prega di aggiornare il file.js qualora lo si voglia esportare in una app."); /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ /* ------------------------------------------------------- funzioni_varie.js --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ function set_2digits(nr) { return(nr > 9 ? nr : '0' + nr); } function build_datetime_from_date(date) { var datetime = date.getFullYear()+"-"+set_2digits(date.getMonth()+1)+"-"+set_2digits(date.getDate())+" "+set_2digits(date.getHours())+":"+set_2digits(date.getMinutes())+":"+set_2digits(date.getSeconds()); return(datetime); } function get_datetime(date) { if(typeof datidispositivo.msec_serveroffset == "undefined" || !datidispositivo.msec_serveroffset) datidispositivo.msec_serveroffset=0; //fix data datidispositivo.msec_serveroffset = parseInt(datidispositivo.msec_serveroffset); // create Date object for current location if(typeof date == "undefined") { // console.log(datidispositivo.msec_serveroffset); d = new Date(); currentdate = d.getTime() + datidispositivo.msec_serveroffset; //aggiusto la data rispetto all'ora del server currentdate = new Date(currentdate); datetime=build_datetime_from_date(currentdate); // console.log(build_datetime_from_date(d)+" -> "+datetime); return datetime; } else { // console.log(date); d = new Date(date); datetime=build_datetime_from_date(d); return datetime; } } function get_system_datetime() { //restutuisce la data dell'so senza considerare l'offset del server d = new Date(); currentdate = d.getTime(); currentdate = new Date(currentdate); datetime=build_datetime_from_date(currentdate); // console.log(build_datetime_from_date(d)+" -> "+datetime); return datetime; } //********************************************************************************************************************************************* //********************************************************************************************************************************************* //********************************************************************************************************************************************* //da funzioni_date di bow 500 function get_anno(data,formato) { if ((formato=="datetime")||(formato=="timestamp")) { anno=data.substr(0,4); } if ((formato=="human")||(formato=="humanc")) { anno=data.substr(6,4); } if (formato=="mktime") { anno=date("Y",data); } return(anno); } function get_mese(data,formato) { if (formato=="datetime") { mese=data.substr(5,2); } if ((formato=="human")||(formato=="humanc")) { mese=data.substr(3,2); } if (formato=="timestamp") { mese=data.substr(4,2); } if (formato=="mktime") { mese=date("m",data); } return(mese); } function get_giorno(data,formato) { if (formato=="datetime") { giorno=data.substr(8,2); } if ((formato=="human")||(formato=="humanc")) { giorno=data.substr(0,2); } if (formato=="timestamp") { giorno=data.substr(6,2); } if (formato=="mktime") { giorno=date("d",data); } return(giorno); } function get_ore(data,formato) { if (formato=="datetime") { ore=data.substr(11,2); } if (formato=="human") { ore="00"; } if (formato=="humanc") { ore=data.substr(11,2); } if (formato=="timestamp") { ore=data.substr(8,2); } if (formato=="mktime") { ore=date("H",data); } return(ore); } function get_minuti(data,formato) { if (formato=="datetime") { minuti=data.substr(14,2); } if (formato=="human") { minuti="00"; } if (formato=="humanc") { minuti=data.substr(14,2); } if (formato=="timestamp") { minuti=data.substr(10,2); } if (formato=="mktime") { minuti=date("i",data); } return(minuti); } function get_secondi(data,formato) { if (formato=="datetime") { secondi=data.substr(17,2); } if (formato=="human") { secondi="00"; } if (formato=="humanc") { secondi=data.substr(17,2); } if (formato=="timestamp") { secondi=data.substr(12,2); } if (formato=="mktime") { secondi=date("s",data); } return(secondi); } function converti_data(data) { var giorno=get_giorno(data,"datetime"); var mese=get_mese(data,"datetime"); var anno=get_anno(data,"datetime"); // elencomesi=new Array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre','Dicembre'); // return (giorno+" "+elencomesi[mese-1]+" "+anno); elencomesi=new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November','December'); return(elencomesi[mese-1]+" "+giorno+", "+anno); } function data_converti(data,iniziale,finale) { var giorno=get_giorno(data,iniziale); var mese=get_mese(data,iniziale); var anno=get_anno(data,iniziale); var ritorno=""; if(finale=="datetime") { // TODO console.log("TODO data_converti datetime"); } else if(finale=="human") { ritorno=giorno+"/"+mese+"/"+anno; } return(ritorno); } //********************************************************************************************************************************************* //********************************************************************************************************************************************* //********************************************************************************************************************************************* var apptimer = { currentInterval: null, resetInterval: function(){ //resetta l'interval. clearInterval(this.currentInterval); }, setInterval: function(f){ this.currentInterval = setInterval(f,intervalloSync); }, // enable: false, // resetInterval: function(){ // enable: false // }, // setInterval: function(f){ // this.enable = true; // this.startInterval(f); // }, // startInterval: function(f){ // var selftimer = this; // if(this.enable) // { // // Usiamo il timeout invece dell'interval in modo che: // // - non parte un'altra iterazione finchè la precedente non ha finito // setTimeout(function(){ // f(); // selftimer.startInterval(f); // },intervalloSync); // } // } } /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ /* ------------------------------------------------------- funzioni_no_native.js --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ function rilevaPosizione(fsuccess) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition( function(position){ fsuccess({ lat: position.coords.latitude, lng: position.coords.longitude }); }, function(){ // console.log("geolocation: errore di rilevamento"); fsuccess({ lat: 0, lng: 0 }) } ); } else { fsuccess({ lat: 0, lng: 0 }); } } function rilevaNFC(fsuccess) { setTimeout(function () { let disponibile_nfc = false; if(disponibile_nfc) { fsuccess({ rilevatocodarticolo: "P10", rilevatolotto: "ABC100" }); } else { fsuccess({ rilevatocodarticolo: "", rilevatolotto: "" }); } }, 2000); } //--------------------------------------------------------------- // FUNZIONI foto function getMedia(options,fsuccess) { var filepath="/path/locale/foto.jpg"; fsuccess(filepath); } function getMediaFromCamera(fsuccess) { var filepath="/path/locale/foto.jpg"; fsuccess(filepath); } function getMediaFromGallery(fsuccess) { var filepath="/path/locale/foto.jpg"; fsuccess(filepath); } //------------------------------------------------------------------------------------------------ // DATI DISPOSITIVO ------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------ var datidispositivo = { width: screen.width, height: screen.height, vses_emaillogin: "", vses_passwordlogin: "", vses_tmp: "", iduser: "", model: "", uuid: "", registrationId: "", osplatform: "", osversion: "", clientID: "", //id del dispositivo, usato per creare gli id univoci dei varirecord. Non usiamo direttamente la uuid perchè è una stringa molto lunga percui risulta di difficile comprensione msec_serveroffset: 0 //differenza in ms rispetto al server }; var uniqueId = get_localstorage_variable('browser_uniqueId'); if(uniqueId === null) { uniqueId = Math.random().toString(36).substring(2) + Date.now().toString(36); set_localstorage_variable('browser_uniqueId',uniqueId); } datidispositivo.model = ""; datidispositivo.uuid = uniqueId; datidispositivo.osplatform = "Browser"; datidispositivo.osversion = ""; //------------------------------------------------------------------------------------------------ /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ /* ------------------------------------------------------- routes.js --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ var str_timestamp = ''; if(!is_produzione || is_web_app) { var timestamp = Date.now(); str_timestamp = '?' + timestamp; } // console.log(html_pages); var routes = [ // Index page { path: '/', url: './index.html' + str_timestamp, name: 'home', }, // pagine Landmark app_marketing ------------------------------------------------------------------------ { path: '/login/', componentUrl: page_html_sources['pages/login.html'] + str_timestamp, tabs: [ { path: '/signin/', id: 'signin', }, { path: '/signup/', id: 'signup', } ], }, // Right Panel pages ------------------------------------------------------------------------ { path: '/panel-usermenu/', panel: { componentUrl: 'components/panel-usermenu.html' + str_timestamp, }, }, { path: '/panel-search-filters/', panel: { componentUrl: 'components/panel-search-filters.html' + str_timestamp, }, }, ]; for(let pndex=0; pndex -1) { var accesstoken = tmppath.substr(tmppath.indexOf(qs_variable) + qs_variable.length + 1); // console.log(qs_value); } // verifica se presente accesstoken - end if(app.views.main.router.url == '/' || accesstoken != undefined) { if(accesstoken != undefined) { request.accesstoken = accesstoken; } app.views.main.router.navigate('/login/signin/'); } // ********************************************************************************************************************************** // qui sotto mettere javascript validi per tutte le pagine // ********************************************************************************************************************************** // ********************************************************************************************************************************** var richiestaajax_alldata = function(identificativorichiesta, altridati, fSuccess){ // es. usato in fase di login data = { identificativorichiesta: identificativorichiesta, datiapp: datiapp, datidispositivo: datidispositivo, altridati: altridati } data=JSON.stringify(data); doAjaxRequest(url_webservice, data, fSuccess); } // ********************************************************************************************************************************** function richiestaajax(identificativorichiesta, altridati, fSuccess){ // a differenza di richiestaajax_alldata, restituisce solo json.server_data per non distrarre, gli altri valori non sono usati data = { identificativorichiesta: identificativorichiesta, datiapp: datiapp, datidispositivo: datidispositivo, altridati: altridati } data=JSON.stringify(data); doAjaxRequest(url_webservice+"?"+identificativorichiesta, data, function(json) { sessioni_app=json.sessioni_app; fSuccess(json.server_data); }); } // ********************************************************************************************************************************** function track_pageview(log_details = null) { var idpresentazione = null; if(obj_presentazione != undefined && obj_presentazione.idpresentazione != undefined) { var idpresentazione = obj_presentazione.idpresentazione; } var pageview = { now_client: get_system_datetime(), path: app.views.main.router.url, idpresentazione: idpresentazione, details: log_details, } // console.log(pageview); richiestaajax("track_pageview", pageview, function(json) {}); } // ********************************************************************************************************************************** function stop_session() { app.dialog.create({ title: 'Stop Session', text: '', buttons: [ { text: 'Stop and back to dashboard', bold: true, onClick: function(dialog, e) { app.views.main.router.navigate('/session-manager/'); } }, { text: 'Stop and send to me', bold: true, onClick: function(dialog, e) { app.views.main.router.navigate('/follow-up/'); } }, { text: 'Cancel', }, ], verticalButtons: true, }).open(); } // ********************************************************************************************************************************** // ********************************************************************************************************************************** // ********************************************************************************************************************************** $(document).on('page:init', function (e) { // inclusioni di file html ------------------------------------------------------------------ // es. $('include').each(function(){ $include=$(this); var path = $include.attr('path'); fetch(path) .then(data => data.text()) .then(html => $include.html(html)) .catch(error => console.log("errore nell'inclusione della pagina: ",error) ); }); // var panelView = app.views.create('.js-panel-search-filters .view', { // }); }) $(document).on('click', '.js-logout', function(e){ app.preloader.show(); request = {}; panels['usermenu'].initialized = false; logininfo = { iduser: null, user: '', pass: '', rememberme: false, accestoken: '', } datidispositivo.iduser = null; var json_logininfo = JSON.stringify(logininfo); set_localstorage_variable("json_logininfo",json_logininfo); datidispositivo.rememberme = false, // sessioni_app.loggato = false; richiestaajax_alldata("logout", null, function(json) { sessioni_app=json.sessioni_app; lastvalidsession=json.sessioni_app; var json_lastvalidsession = JSON.stringify(lastvalidsession); set_localstorage_variable("json_lastvalidsession",json_lastvalidsession); app.preloader.hide(); app.views.main.router.navigate('/login/signin/'); }); }); /* TODO // ************************************** // gestione custom del back // ************************************** $(document).on('click', '.js-back-custom', function(e){ console.log(obj_back); if(obj_back != undefined && obj_back.url != undefined && obj_back.url != '') { app.views.main.router.navigate(obj_back.url); } else { app.views.main.router.back(); } }); */ // tap back Android document.addEventListener("backbutton", onBackKeyDown, false); function onBackKeyDown() { console.log(app.views.main.router.url); /* // Handle the back button if(mainView.activePage.name == 'index'){ exitApp(); e.preventDefault(); } else { app.views.main.router.back(); return false; } */ // console.log(app.views.main.router.url); // return; /* var leftp = app.panel.left && app.panel.left.opened; var rightp = app.panel.right && app.panel.right.opened; if ( leftp || rightp ) { app.panel.close(); return false; } else if ($('.modal-in').length > 0) { app.dialog.close(); app.popup.close(); return false; } else */ if (!is_web_app && (app.views.main.router.url == '/' || app.views.main.router.url == '/login/signin/' || app.views.main.router.url == '/login/signup/' || app.views.main.router.url == '/session-manager/') ) { console.log('exit app'); navigator.app.exitApp(); } else { app.views.main.router.back(); } } // ********************************************************************************************************************************** // ********************************************************************************************************************************** // var self_component = null; // var logininfo={}; //---------------------------------------------------------------------------------------------------------------- // funzioni dichiarate, possiamo far partire la view var json_lastvalidsession = get_localstorage_variable("json_lastvalidsession"); // console.log(json_lastvalidsession); var elencotabelleapp = { // "tutte": ["presentazioni"], //OBBLIGATORIO: elenco di tutte le tabelle nel db "esempio_altro_modulo": [], //moduli singoli, devono essere dichiarate per poter fare syncro di tabelle singole // "clienti": ["clienti"] }; if(json_lastvalidsession==null) { // navigo verso la pagina di login // app.views.main.router.navigate('/login/'); } else { var lastvalidsession = JSON.parse(json_lastvalidsession); sessioni_app = lastvalidsession; var json_logininfo = get_localstorage_variable("json_logininfo"); logininfo = JSON.parse(json_logininfo); if(logininfo != null) { datidispositivo.iduser = logininfo.iduser; //todo datidispositivo.vses_emaillogin = logininfo.user; //todo datidispositivo.vses_passwordlogin = logininfo.pass; //todo datidispositivo.rememberme = logininfo.rememberme; } datidispositivo.vses_tmp = ""; // datidispositivo.vses_modulatoken = lastvalidsession.modulatoken; datidispositivo.clientID = lastvalidsession.clientID; if(sessioni_app.loggato) { } else { } } // app.dialog.alert('A new version (' + app_version + ') is available.
Please go to the store and update the app.', 'New update available!'); // console.log('datidispositivo:'); // console.log(datidispositivo); // console.log(sessioni_app); // console.log(obj_presentazione); /* app.preloader.show(); manage_database("create",function(){ app.preloader.hide(); }); */