var ua=navigator.userAgent.toLowerCase();if(ua.indexOf(" chrome/")>=0||ua.indexOf(" firefox/")>=0||ua.indexOf(' gecko/')>=0){var StringMaker=function(){this.str="";this.length=0;this.append=function(s){this.str+=s;this.length+=s.length;} this.prepend=function(s){this.str=s+this.str;this.length+=s.length;} this.toString=function(){return this.str;}}}else{var StringMaker=function(){this.parts=[];this.length=0;this.append=function(s){this.parts.push(s);this.length+=s.length;} this.prepend=function(s){this.parts.unshift(s);this.length+=s.length;} this.toString=function(){return this.parts.join('');}}} var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function encode64(input){var output=new StringMaker();var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;while(i>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;} output.append(keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4));} return output.toString();} function decode64(input){var output=new StringMaker();var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output.append(String.fromCharCode(chr1));if(enc3!=64){output.append(String.fromCharCode(chr2));} if(enc4!=64){output.append(String.fromCharCode(chr3));}} return output.toString();} function unserialize(data){var that=this;var utf8Overhead=function(chr){var code=chr.charCodeAt(0);if(code<0x0080){return 0;} if(code<0x0800){return 1;} return 2;};var error=function(type,msg,filename,line){throw new that.window[type](msg,filename,line);};var read_until=function(data,offset,stopchr){var buf=[];var chr=data.slice(offset,offset+1);var i=2;while(chr!=stopchr){if((i+offset)>data.length){error('Error','Invalid');} buf.push(chr);chr=data.slice(offset+(i-1),offset+i);i+=1;} return[buf.length,buf.join('')];};var read_chrs=function(data,offset,length){var buf;buf=[];for(var i=0;i191)&&(c1<224)){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2;}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}} return tmp_arr.join('');} var parametriStart = new Array(); var barraConfiguratore = new Array(); var toolbar = new Array(); var parametriConfiguratore = new Array(); var STRUMENTIPULITI = new Array(); var LISTEPULITE = new Array(); var contenutoTabStrip = new Array(); var barraConfiguratoreIndicatore = new Array(); var azioniBottoni = new Array(); var flagCfg = new Array(); var contenutoAggRimStrumenti = new Array(); var cfgTabStripRicStrumenti = new Array(); var kendoStockChart = new Array(); function popolaVettoriCfg(id) { //PARAMETRI DI AVVIO kendoStockChart[id] = { data: null }; parametriStart[id] = { oParametriStart: null, lbRipristino: false, stampaParametriStart: function() { console.log(parametriStart[id].lbRipristino); console.log(parametriStart[id].oParametriStart); }, settaParametriStart: function() { parametriStart[id].lbRipristino = false; parametriStart[id].oParametriStart = null; } }; //GESTIONE CONFIGURATORE parametriConfiguratore[id] = { settaOggettoCustom: function(ObjCustom, Elemento, lbRefresh) { if (Elemento == 'colori') { barraConfiguratore[id].oParametri.colori = ObjCustom; } if (Elemento == 'opzioni') { barraConfiguratore[id].oParametri.opzioni = ObjCustom; } if (lbRefresh) { azioniBottoni[id].buttonClickRefresh(); } }, settaValori: function(lsParametriJson) { barraConfiguratore[id].oParametri = $.parseJSON(decode64(lsParametriJson)); if (barraConfiguratore[id].oParametri.liX != '') { barraConfiguratore[id].liX = barraConfiguratore[id].oParametri.liX; } else { //div.contenitoredataviz barraConfiguratore[id].liX = $('#container_dataviz_' + id).width(); } if (barraConfiguratore[id].oParametri.idInd != '') { parametriConfiguratore[id].settaIndicatori(barraConfiguratore[id].oParametri.idInd); } barraConfiguratore[id].oParametri.indicatori = contenutoTabStrip[id].SCHEDE_INDICATORI; //punta allo stesso oggetto //toolbar stringa binaria 9caratteri barraConfiguratore[id].toolbar = barraConfiguratore[id].oParametri.toolbar; //2020-11-18 - nuovo parametro tipotoolbar barraConfiguratore[id].tipotoolbar = (barraConfiguratore[id].oParametri.tipotoolbar && barraConfiguratore[id].oParametri.tipotoolbar !== '' ? barraConfiguratore[id].oParametri.tipotoolbar : 'doppia'); parametriConfiguratore[id].settaValoriStart(JSON.stringify(barraConfiguratore[id].oParametri)); }, /** * Descritption leggiParametro ritorna il valore del parametro richiesto dall'oggetto barraConfiguratore[id] * @param {string} lsParametro * @returns {Boolean}||{valoreparametrocercato} */ leggiParametro: function(lsParametro) { if (typeof(lsParametro) === 'undefined') { return false; } if (barraConfiguratore[id].hasOwnProperty(lsParametro)) { return barraConfiguratore[id][lsParametro]; } return false; }, settaValoreOparametri: function(campo, valore) { //console.log(campo +' '+valore); //console.log(barraConfiguratore[id].oParametri[campo]); barraConfiguratore[id].oParametri[campo] = valore; //console.log(barraConfiguratore[id].oParametri[campo]); }, settaValoriStart: function(lsParametriJson) { parametriStart[id].oParametriStart = $.parseJSON(lsParametriJson); }, settaDate: function() { //checkkkkkk var dp1 = $("#lsDataDa_cfg_" + id).data("kendoDatePicker") || null, dp2 = $("#lsDataA_cfg_" + id).data("kendoDatePicker") || null; var ls_dDa = $("#lsDataDa_cfg_" + id).val(), ls_dA = $("#lsDataA_cfg_" + id).val(); if (dp1 && dp2) { dp1.value(kendo.format("{0:dd/MM/yyyy}", ls_dDa)); dp2.value(kendo.format("{0:dd/MM/yyyy}", ls_dA)); barraConfiguratore[id].oParametri.lsDataDa = ((ls_dDa != '01/01/1970') ? ls_dDa : ''); //$("#lsDataDa_cfg").data("kendoDatePicker").value(); barraConfiguratore[id].oParametri.lsDataA = ((ls_dA != '01/01/1970') ? ls_dA : ''); //$("#lsDataA_cfg").data("kendoDatePicker").value(); } function convertiData(d) { function pad(s) { return (s < 10) ? '0' + s : s; } return pad(d.getDate()) + '/' + pad(d.getMonth() + 1) + '/' + d.getFullYear(); } barraConfiguratore[id].mostraNascondiDate(); }, settaBottoni: function() { //if(parametriStart[id].lbRitornaAInterattivo === false) //{ var settaIA = function(oToolbar) { var selectedIAnno = oToolbar.getSelectedFromGroup("intervalloAnno_" + id); var valPeriodo = selectedIAnno.attr("id").split("_"); barraConfiguratore[id].oParametri.ia = valPeriodo[1]; }; var toolbar = $("#toolbar_cfg_" + id).data("kendoToolBar"), toolbar2 = $("#toolbar_cfg2_" + id).data("kendoToolBar"); if ($.type(toolbar) === "object") { if ($('#toolbar_cfg_' + id + ' [data-group=frequenza_' + id + ']').size()) { var selectedFrequenza = toolbar.getSelectedFromGroup("frequenza_" + id); var valFrequenza = selectedFrequenza.attr("id").split("_"); barraConfiguratore[id].oParametri.tf = valFrequenza[1]; } if ('singola' == parametriConfiguratore[id].leggiParametro('tipotoolbar')) { settaIA(toolbar); } } //Questi campi (intervalloAnno_) erano sempre nella toolbar_cfg2_id, ora possono se toolbar singola sono nella toolbar_cfg_id if ($.type(toolbar2) === "object") { if ($('#toolbar_cfg2_' + id + ' [data-group=intervalloAnno_' + id + ']').size()) { /*var selectedIAnno = toolbar2.getSelectedFromGroup("intervalloAnno_"+id); var valPeriodo=selectedIAnno.attr("id").split("_"); barraConfiguratore[id].oParametri.ia=valPeriodo[1];*/ settaIA(toolbar2); } } //} }, settaValute: function(valore) { barraConfiguratore[id].oParametri.tv = valore; }, settaGrafico: function(valore) { barraConfiguratore[id].oParametri.tg = valore; }, settaAsse: function(valore) { barraConfiguratore[id].oParametri.ta = valore; }, settaIndicatori: function(indicatoriDaUrl) { var lsIndicatori = ''; var laIndicatori = indicatoriDaUrl.split('|'); $.each(laIndicatori, function(i, indicatore) { //[0] il codice o id indicatore, //[1]il valore (100,211,80 se giorni) oppure 3m,6m,1a, 2a se altro indicatore var laPartiIndicatore = indicatore.split(','), codiceIndicatore = laPartiIndicatore[0], valoreDurata = laPartiIndicatore[1]; lsIndicatori += codiceIndicatore + '|'; if (laPartiIndicatore.length == 2) { if ($.type(contenutoTabStrip[id].SCHEDE_INDICATORI[codiceIndicatore]) === "undefined") { contenutoTabStrip[id].SCHEDE_INDICATORI[codiceIndicatore] = new Array(); } for (var chiave in strumenti[id]) { var Obj = {}; var idStr = chiave; Obj.idStr = idStr; Obj.colore = colori[id][idStr]; // if(codiceIndicatore=='SMA' || codiceIndicatore=='WMA' ){ if ($.inArray(codiceIndicatore, ["SMA", "WMA", "RSI"]) >= 0) { Obj.giorni = valoreDurata; } if (codiceIndicatore == 'VOL') { Obj.periodo = valoreDurata; } contenutoTabStrip[id].SCHEDE_INDICATORI[codiceIndicatore].push(Obj); } } }); lsIndicatori = lsIndicatori.substr(0, (lsIndicatori.length) - 1); var DataSourceXTab = barraConfiguratore[id].popolaIndicatoriGrafico(lsIndicatori, 'mostra'); contenutoTabStrip[id].DS_SCHEDE_INDICATORI = DataSourceXTab; }, settaNuoviStrumenti: function() { /*POPOLAZIONE STRUMENTI*/ var nuoviStrumenti = ''; $.each(STRUMENTIPULITI[id].strumentiScelti, function(i, datojs) { //console.log(datojs); nuoviStrumenti += datojs.replace('st', '') + '|'; }); /*POPOLAZIONE DELLE LISTE*/ var obj = {}; for (var chiaveLista in liste[id]) { var C = liste[id][chiaveLista]; for (k in C) { var objc = {}; objc.chiave = k; objc.descr = C[k]; if (!isset(obj[chiaveLista])) obj[chiaveLista] = new Array(); obj[chiaveLista].push(objc); } } /*FINE POPOLAZIONE LISTE*/ //PASSO IN OPARAMETRI barraConfiguratore[id].oParametri.listejson = obj; barraConfiguratore[id].oParametri.idStr = nuoviStrumenti.substr(0, (nuoviStrumenti.length) - 1); } }; //GESTIONE DEL POPOLAMENTO DELLA TOOLBAR toolbar[id] = { restituisciLabelPeriodoMiniLang: function(culture) { //per invocarla : toolbar[id].restituisciLabelPeriodoMiniLang( getCultureFromNavigator() ) //Il default var labelMiniDefault = new Array('IA', '3M', '6M', '1A', '2A', '3A', '5A', 'User'); // //0 1 2 3 4 5 6 if (culture.indexOf('en') !== -1) { labelMiniDefault = new Array('YTD', '3M', '6M', '1Y', '2Y', '3Y', '5Y', 'User'); } return labelMiniDefault; }, restituisciLabelFrequenzaMiniLang: function(culture) { //per invocarla : toolbar[id].restituisciLabelFrequenzaMiniLang( getCultureFromNavigator() ) //Il default var labelMiniDefault = new Array('GG', '7G', '1M', '3M'); if (culture.indexOf('en') !== -1) { labelMiniDefault = new Array('1D', '7D', '1M', '3M'); } return labelMiniDefault; }, restituisciPresetBottoni_AsseGrafico: function() { return [ { text: traduci('Lineare'), id: "asse_lin_" + id, togglable: true, group: "assegrafico_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerAsse, selected: false }, { text: traduci('Logaritmico'), id: "asse_log_" + id, togglable: true, group: "assegrafico_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerAsse, selected: false } ]; }, restituisciPresetBottoni_RibasamentoGrafico: function() { return [ { text: traduci('Quote'), id: "ribasamento_no_" + id, togglable: true, group: "ribasagrafico_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerRibasa, selected: false, enable: false }, { text: traduci('Base 100'), id: "ribasamento_100_" + id, togglable: true, group: "ribasagrafico_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerRibasa, selected: false, enable: false }, { text: traduci('Base 0'), id: "ribasamento_0_" + id, togglable: true, group: "ribasagrafico_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerRibasa, selected: false, enable: false } ]; }, restituisciPresetBottoni_ResaImmagineInterattivaGrafico: function() { return [ { text: traduci('Interattiva'), id: "grf_i_" + id, togglable: true, group: "graficocomeimgint_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerCambiaRend, selected: false }, { text: traduci('Immagine'), id: "grf_p_" + id, togglable: true, group: "graficocomeimgint_" + id, toggle: barraConfiguratore[id].buttonToggleHandlerCambiaRend, selected: false } ]; }, restituisciPresetBottoni_Esportazioni: function() { return [ { text: traduci("Immagine"), imageUrl: common.path + "/immagini/jpg.png", id: "out_png_" + id, click: azioniBottoni[id].buttonClickPng }, //selected: true { text: traduci("PDF"), imageUrl: common.path + "/immagini/icone_pdf.png", id: "out_pdf_" + id, click: azioniBottoni[id].buttonClickExportPdf }, //selected: true { text: traduci("Valori"), imageUrl: common.path + "/immagini/xls_16.png", id: "out_excel_" + id, click: azioniBottoni[id].buttonClickExcel } //selected: true ]; }, restituisciPresetBottoni_Ripristina: function() { return { text: traduci("Ripristina"), id: "btnRestoreOptions_" + id, icon: "refresh" }; //selected: true }, restituisciPresetBottoni_Strumenti: function(oBtnSet) { if (typeof(oBtnSet) === "undefined") { oBtnSet = { type: "button", overflow: "never" }; } var oBottoneStrumenti = { //type: "button", id: "btnStrumenti_" + id, text: traduci("Strumenti"), imageUrl: common.path + "/immagini/strumenti_16x16_grigi.png", click: azioniBottoni[id].buttonClickStrumenti, //overflow: "never" }; if (oBtnSet.hasOwnProperty('type')) { oBottoneStrumenti['type'] = oBtnSet['type']; } if (oBtnSet.hasOwnProperty('overflow')) { oBottoneStrumenti['overflow'] = oBtnSet['overflow']; } return oBottoneStrumenti; //return { type: "button", id: "btnIndicatori_"+id, text: "Strumenti", imageUrl: common.path+"/immagini/strumenti_16x16_grigi.png", click: azioniBottoni[id].buttonClickStrumenti, overflow: "never"}; }, restituisciPresetBottoni_Aggiorna: function(lsTesto) { if (typeof(lsTesto) === 'undefined') { lsTesto = traduci('Aggiorna'); } var oButton = { type: "button", id: "btnRefresh_" + id, /*text: "Aggiorna",*/ icon: "refresh", click: azioniBottoni[id].buttonClickRefresh, overflow: "never", attributes: { title: traduci("Aggiorna") } }; if (lsTesto !== '') { oButton['text'] = traduci(lsTesto); } return oButton; }, restituisciPresetBottoni_InformazioniDataComune: function() { var oButton = { type: "button", text: "", imageUrl: common.path + "/immagini/info16.png", id: "info_dc_" + id, overflow: "never", attributes: { "class": "a_icona_datecomuni" } }; return oButton; }, restituisciPresetBottoni_Indicatori: function(oBtnSet) { if (typeof(oBtnSet) === "undefined") { oBtnSet = { type: "button", overflow: "never" }; } var oBottoneIndicatori = { //type: "button", id: "btnIndicatori_" + id, text: traduci("Indicatori"), imageUrl: common.path + "/immagini/chart_grigi.png", click: azioniBottoni[id].buttonClickIndicatori, //overflow: "never" }; if (oBtnSet.hasOwnProperty('type')) { oBottoneIndicatori['type'] = oBtnSet['type']; } if (oBtnSet.hasOwnProperty('overflow')) { oBottoneIndicatori['overflow'] = oBtnSet['overflow']; } //return { type: "button", id: "btnIndicatori_"+id, text: "Indicatori", imageUrl: common.path+"/immagini/chart_grigi.png", click: azioniBottoni[id].buttonClickIndicatori, overflow: "never"}; return oBottoneIndicatori; }, restituisciPresetBottoni_Separatore: function(lsbuttonAttribute) { if (typeof lsbuttonAttribute === 'undefined') { lsbuttonAttribute = ''; } return { type: "separator", attributes: lsbuttonAttribute }; }, restituisciPresetBottoni_TipoGrafico: function(aBottoniTipoGrafico, buttonAttribute) { if ('undefined' === typeof(aBottoniTipoGrafico)) { aBottoniTipoGrafico = []; } if ('undefined' === typeof(buttonAttribute)) { buttonAttribute = ''; } var BottoniTipoGrafico = aBottoniTipoGrafico; barraConfiguratore[id].popolaTipoGrafico(BottoniTipoGrafico); var aReturn = []; aReturn.push({ type: "splitButton", text: traduci("Grafico"), id: "mainTipoGraficoButton_" + id, menuButtons: BottoniTipoGrafico, overflow: "never" }); //aReturn.push({ type: "separator" , attributes: buttonAttribute}) aReturn.push(toolbar[id].restituisciPresetBottoni_Separatore(buttonAttribute)); //toolbar[id].itemsToShow.push({ type: "splitButton", text: "Grafico", id: "mainTipoGraficoButton_"+id, menuButtons: BottoniTipoGrafico, overflow: "never"}); //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute}); return aReturn; }, restituisciPresetBottoni_TipoValute: function(aBottoniTipoValute, buttonAttribute) { if ('undefined' === typeof(aBottoniTipoValute, buttonAttribute)) { aBottoniTipoValute = []; } if ('undefined' === typeof(buttonAttribute)) { buttonAttribute = ''; } var BottoniTipoValute = aBottoniTipoValute; barraConfiguratore[id].popolaValutaGrafico(BottoniTipoValute); //toolbar[id].itemsToShow.push({ type: "splitButton", text: "Valuta", id: "mainTipoValutaButton_"+id, menuButtons: BottoniTipoValute, overflow: "never"}); //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute }); var aReturn = []; aReturn.push({ type: "splitButton", text: traduci("Valuta"), id: "mainTipoValutaButton_" + id, menuButtons: BottoniTipoValute, overflow: "never" }); aReturn.push(toolbar[id].restituisciPresetBottoni_Separatore(buttonAttribute)); return aReturn; }, restituisciPresetBottoni_Frequenza: function() { var TXT_ETICHETTE = new Array(traduci('Frequenza') + ':'); if (barraConfiguratore[id].liX < 800) { var TXT_FREQ = toolbar[id].restituisciLabelFrequenzaMiniLang(getCultureFromNavigator()); if (barraConfiguratore[id].liX <= 622) { TXT_ETICHETTE = new Array(''); } } if (barraConfiguratore[id].liX >= 800) { var TXT_FREQ = new Array(traduci('Giornaliera'), traduci('Settimanale'), traduci('Mensile'), traduci('Trimestrale')); } var BottoniFrequenza = [ { text: TXT_FREQ[0], id: "freq_D_" + id, togglable: true, group: "frequenza_" + id, toggle: barraConfiguratore[id].buttonToggleHandler, selected: false }, { text: TXT_FREQ[1], id: "freq_W_" + id, togglable: true, group: "frequenza_" + id, toggle: barraConfiguratore[id].buttonToggleHandler, selected: false }, //selected: true { text: TXT_FREQ[2], id: "freq_M_" + id, togglable: true, group: "frequenza_" + id, toggle: barraConfiguratore[id].buttonToggleHandler, selected: false }, //selected: true { text: TXT_FREQ[3], id: "freq_M3_" + id, togglable: true, group: "frequenza_" + id, toggle: barraConfiguratore[id].buttonToggleHandler, selected: false } //selected: true ]; barraConfiguratore[id].settaBottoniFrequenza(BottoniFrequenza); //toolbar[id].itemsToShow.push({ template: "", overflow: "never"}); //toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniFrequenza, overflow: "never" }); var aReturn = []; aReturn.push({ template: "", overflow: "never" }); aReturn.push({ type: "buttonGroup", buttons: BottoniFrequenza, overflow: "never" }); return aReturn; }, restituisciPresetBottoni_Opzioni: function(oBtnSet, lbUpdate, lbRipristina) { //toolbar[id].itemsToShow.push({ type: "button", id:"btnOpenOptions_"+id, icon: "custom", overflow: "never", click: opzioniGrf[id].lanciaFinestraOpzioni }); //selected: true //return { type: "button", id:"btnOpenOptions_"+id, icon: "custom", overflow: "never", click: opzioniGrf[id].lanciaFinestraOpzioni }; //console.log(oBtnSet); if (typeof lbUpdate === 'undefined') { lbUpdate = true; } if (typeof lbRipristina === 'undefined') { lbRipristina = true; } if (typeof(oBtnSet) === "undefined") { oBtnSet = { type: "button", overflow: "never" }; } opzioniGrf[id].finestraOpzionilbUpdate = lbUpdate; opzioniGrf[id].finestraOpzionilbRipristina = lbRipristina; var oBottoneOpzioni = { //type: "button", id: "btnOpenOptions_" + id, icon: "custom", //overflow: "never", click: opzioniGrf[id].lanciaFinestraOpzioni }; if (oBtnSet.hasOwnProperty('type')) { oBottoneOpzioni['type'] = oBtnSet['type']; } if (oBtnSet.hasOwnProperty('overflow')) { oBottoneOpzioni['overflow'] = oBtnSet['overflow']; } if (oBtnSet.hasOwnProperty('text')) { oBottoneOpzioni['text'] = oBtnSet['text']; } return oBottoneOpzioni; }, restituisciPresetBottoni_SuMenu: function(object) { //object /** * { "bottoni": BottoniGraficoImgInt, || false "testo":"Vista grafico:", "overflow": "always", "type" : "buttonGroup" || false "classLabel" } */ /** * toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniGraficoImgInt, overflow: "always" }); */ //console.log(object.hasOwnProperty("bottoni")); if (object.hasOwnProperty("bottoni") && object.hasOwnProperty("testo")) { var aReturn = []; var overflow = object.overflow || "always"; var type = object.type || "buttonGroup"; var classLabel = object.classLabel || "label_cfg"; aReturn.push({ "overflowTemplate": "", "overflow": overflow }); if (object.bottoni && object.bottoni.length && false !== type) { aReturn.push({ type: type, buttons: object.bottoni, overflow: overflow }); } return aReturn; } return [{ overflowTemplate: "", overflow: "always" }]; }, itemsToShow: '', generaItems: function() { toolbar[id].itemsToShow = []; /** * Dalla stringa di 8 caratteri metto cose in toolbar * */ var buttonAttribute = ''; for (var i = 0; i < 8; i++) { var lsFlag = barraConfiguratore[id].toolbar.substr(i, 1); switch (i) { case 0: //TIPO GRAFICO if (lsFlag == '1') { toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_TipoGrafico()); } break; case 1: //TIPO VALUTA if (lsFlag == '1') { toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_TipoValute()); } break; case 2: //FREQUENZA if (lsFlag == '1') { buttonAttribute = { "class": "itemNascosto" }; toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_Frequenza()); } break; case 3: //STRUMENTI if (lsFlag == '1') { //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute }); //toolbar[id].itemsToShow.push({ type: "button", id: "btnIndicatori_"+id, text: "Strumenti", imageUrl: common.path+"/immagini/strumenti_16x16_grigi.png", click: azioniBottoni[id].buttonClickStrumenti, overflow: "never"}); toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Separatore(buttonAttribute)); toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Strumenti()); } break; case 4: //INDICATORI if (lsFlag == '1') { //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute }); //toolbar[id].itemsToShow.push({ type: "button", id: "btnIndicatori_"+id, text: "Indicatori", imageUrl: common.path+"/immagini/chart_grigi.png", click: azioniBottoni[id].buttonClickIndicatori, overflow: "never"}); toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Separatore(buttonAttribute)); toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Indicatori()); } else { } break; case 5: //AGGIORNA if (lsFlag == '1') { //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute }); //toolbar[id].itemsToShow.push({ type: "button", id: "btnRefresh_"+id, text: "Aggiorna", icon: "refresh", click: azioniBottoni[id].buttonClickRefresh, overflow: "never"}); toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Separatore(buttonAttribute)); toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Aggiorna()); } break; case 6: //SALVA IMPOSTAZIONI if (lsFlag == '1') { // toolbar[id].itemsToShow.push({type: "button", text: "Impostazioni", imageUrl: common.path+"/immagini/save.png", id:"save_impostazioni_"+id, click: azioniBottoni[id].inserisciImpostazioni }); } break; case 7: //OPZIONI if (lsFlag == '1') { //controllare opzioniGrf //toolbar[id].itemsToShow.push({ type: "button", id:"btnOpenOptions_"+id, icon: "custom", overflow: "never", click: opzioniGrf[id].lanciaFinestraOpzioni }); //selected: true toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Opzioni()); } break; } } //--------- RESTO DEGLI ITEMS su Menu //GRAFICO interattivo o immagine //nuovi bottoni di rend grafico - utente sceglie se lavorare come interattivo 'p' o immagine 'i' /** * 2020-11-19 * disabilitato, non ha senso proporlo */ if (false) { var BottoniGraficoImgInt = toolbar[id].restituisciPresetBottoni_ResaImmagineInterattivaGrafico(); barraConfiguratore[id].settaBottoniGraficoImgInt(BottoniGraficoImgInt); //toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); //toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniGraficoImgInt, overflow: "always" }); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": BottoniGraficoImgInt, "testo": "Vista grafico:", "overflow": "always", "type": "buttonGroup" })); } //ASSE GRAFICO LINEARE LOGARITMICO // 21/06/2016 ... su richiesta di Paolo stacchiamo la conversione Log/Lin --> vedi anche a01_dataviz_grafico_output.php //if( barraConfiguratore[id].oParametri.menulog == '1') //{ // 23/01/2017 ... rimesso su richiesta di ALBERTO var BottoniAsseGrafico = toolbar[id].restituisciPresetBottoni_AsseGrafico(); barraConfiguratore[id].settaBottoniAsse(BottoniAsseGrafico); //toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); //toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniAsseGrafico, overflow: "always" }); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": BottoniAsseGrafico, "testo": traduci("Asse Y") + ":", "overflow": "always", "type": "buttonGroup" })); //} //Ribasamento var BottoniRibasamentoGrafico = toolbar[id].restituisciPresetBottoni_RibasamentoGrafico(); barraConfiguratore[id].settaBottoniRibasa(BottoniRibasamentoGrafico); //toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); //toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniRibasamentoGrafico, overflow: "always" }); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": BottoniRibasamentoGrafico, "testo": traduci("Valori") + ":", "overflow": "always", "type": "buttonGroup" })); //Esportazione var buttoexports = toolbar[id].restituisciPresetBottoni_Esportazioni(); if ('quote' in barraConfiguratore[id].oParametri && barraConfiguratore[id].oParametri.quote == 0) { buttoexports.splice(2, 1); } //toolbar[id].itemsToShow.push({ overflowTemplate:"", overflow: "always" }); //toolbar[id].itemsToShow.push({ type: "buttonGroup",buttons: buttoexports,overflow: "always"}); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": buttoexports, "testo": traduci("Esporta grafico") + ":", "overflow": "always", "type": "buttonGroup" })); //Opzioni /*toolbar[id].itemsToShow.push({ overflowTemplate:"", overflow: "always"}); toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: [ { text: "Ripristina", id:"btnRestoreOptions_"+id,icon: "refresh"} //selected: true ], overflow: "always" });*/ var oButtonRipristina = toolbar[id].restituisciPresetBottoni_Ripristina(); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": [oButtonRipristina], "testo": traduci("Opzioni") + ":", "overflow": "always", "type": "buttonGroup" })); if (false) { //versione //disabilitata sempre 27-11-2020 var TXT_VERS_WS = $("#version_svc_cgf").text(); //toolbar[id].itemsToShow.push({ overflowTemplate:"", overflow: "always" }); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": false, "testo": TXT_VERS_WS, "classLabel": "label_version_cfg", "overflow": "always", "type": false })); } }, generaItemsFrontiera: function() { toolbar[id].itemsToShow = []; var TXT_VERS_WS = $("#version_svc_cgf").text(); var buttonAttribute = ''; for (var i = 1; i <= 8; i++) { // per la frontiera parto da 1 perchè 0 = F var lsFlag = barraConfiguratore[id].toolbar.substr(i, 1); switch (i) { case 1: //TIPO GRAFICO if (lsFlag == '1') { var BottoniTipoGrafico = new Array(); toolbar[id].itemsToShow.push({ type: "button", id: "btnConfronta_" + id, text: traduci("Confronta"), icon: "add", click: azioniBottoni[id].buttonClickConfrontaCon, overflow: "never" }); } else { } break; case 2: //TIPO VALUTA if (lsFlag == '1') { toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: [{ text: traduci("Ripristina"), id: "btnRestoreOptions_" + id, icon: "refresh" }], //selected: true overflow: "auto" }); } else { } break; } } }, generaItemsToolbar2: function(aIndiciBottoniNascondi) { if (typeof(aIndiciBottoniNascondi) === 'undefined') { aIndiciBottoniNascondi = []; } //------------------- var btnTogglePersonalizzato = function(e) { //console.log(e.target.text() + " 'btnTogglePersonalizzato' event is fired, id="+e.id+ ' visibili='+barraConfiguratore.lbDateVisibili); barraConfiguratore[id].lbDateVisibili = 1; barraConfiguratore[id].mostraNascondiDate(); }; var buttonToggleHandler = function(e) { //console.log(e.target.text() + " 'buttonToggleHandler' event is fired, gruppo:" + e.group+' id='+e.id); if (e.group == "intervalloAnno_" + id && e.id != 'intAnno_YYY_' + id) { barraConfiguratore[id].lbDateVisibili = 0; barraConfiguratore[id].mostraNascondiDate(); azioniBottoni[id].buttonClickRefresh(); } }; //------------------- if (barraConfiguratore[id].liX < 800) { var TXT_IANNO = toolbar[id].restituisciLabelPeriodoMiniLang(getCultureFromNavigator()); } if (barraConfiguratore[id].liX >= 800) { var TXT_IANNO = new Array(traduciplaceholder('Da inizio anno'), traduciplaceholder('%d mesi', 3), traduciplaceholder('%d mesi', 6), traduciplaceholder('%d anno', 1), traduciplaceholder('%d anni', 2), traduciplaceholder('%d anni', 3), traduciplaceholder('%d anni', 5), traduciplaceholder('Personalizzato')); } //ATTENZIONARE GLI INDICI....se aggiunti nuovi bottoni --> settaBottoniIntervalloAnno // gestire hidden: true dentro item var BottoniIntervalloAnno = [ { text: TXT_IANNO[0], id: 'intAnno_YTD_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, { text: TXT_IANNO[1], id: 'intAnno_M3_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[2], id: 'intAnno_M6_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[3], id: 'intAnno_Y1_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[4], id: 'intAnno_Y2_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[5], id: 'intAnno_Y3_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[6], id: 'intAnno_Y5_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, { text: TXT_IANNO[7], id: 'intAnno_YYY_' + id, group: 'intervalloAnno_' + id, togglable: true, toggle: btnTogglePersonalizzato, selected: false } ]; if (aIndiciBottoniNascondi.length) { for (var indice of aIndiciBottoniNascondi) { for (const ibtn in BottoniIntervalloAnno) { if (ibtn == indice) { BottoniIntervalloAnno[indice]['hidden'] = true; } } } } //------------------- barraConfiguratore[id].settaBottoniIntervalloAnno(BottoniIntervalloAnno); //------------------- if (barraConfiguratore[id].oParametri.dc == '1') { //ITEMS BOTTONI SEMPRE E COMUNQUE var laItemsToolbar_cfg2 = [ { type: "buttonGroup", buttons: BottoniIntervalloAnno, overflow: "never" }, { type: "separator" }, { template: barraConfiguratore[id].tmplDataDa_cfg, overflowTemplate: barraConfiguratore[id].tmplDataDa_cfg, overflow: "never" }, { template: barraConfiguratore[id].tmplDataA_cfg, overflowTemplate: barraConfiguratore[id].tmplDataA_cfg, overflow: "never" }, /*{ type: "separator" },*/ //{ type: "button", id: "info_dc_"+id, text: "Note", icon: "note" } /** * 2021-02-22 elimino la creazione fissa del bottone, sotituendola con la restituisciPresetBottoni_InformazioniDataComune * usato nella toolbarsingola */ //{type: "button", text: "", imageUrl: common.path+"/immagini/info16.png", id:"info_dc_"+id, overflow: "never", attributes: { "class": "a_icona_datecomuni" } } //toolbar[id].restituisciPresetBottoni_InformazioniDataComune() ]; //SE HO SPAZIO METTO LA SCRITTA PERIODO if (barraConfiguratore[id].liX >= 800) { laItemsToolbar_cfg2.splice(0, 0, { template: "", overflow: "never" }); } } else { //ITEMS BOTTONI SEMPRE E COMUNQUE var laItemsToolbar_cfg2 = [ { type: "buttonGroup", buttons: BottoniIntervalloAnno, overflow: "never" }, { type: "separator" }, { template: barraConfiguratore[id].tmplDataDa_cfg, overflowTemplate: barraConfiguratore[id].tmplDataDa_cfg, overflow: "never" }, { template: barraConfiguratore[id].tmplDataA_cfg, overflowTemplate: barraConfiguratore[id].tmplDataA_cfg, overflow: "never" } ]; //SE HO SPAZIO METTO LA SCRITTA PERIODO if (barraConfiguratore[id].liX >= 800) { laItemsToolbar_cfg2.splice(0, 0, { template: "", overflow: "never" }); } } //console.log('items tbar2 ritorno....'); return laItemsToolbar_cfg2; }, /*2020-03-03attivazione toolbar di cono se toolbar inizia per prima lettera c*/ generaItemsToolBarSingola: function() { var lbUsaRipristinaSuMenu = false; var lbSpostaOpzioniConfigurazione = true; var lbOzioniGraficoRichiesta = false; toolbar[id].itemsToShow = []; /** * Imposto come primi elementi quelli che erano nella tbar2, ovvero tutti intervalli tempo tranne 2anni [indice4] */ toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].generaItemsToolbar2([4])); /** * Accodo bottone aggiorna a seguire */ //toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow , [toolbar[id].restituisciPresetBottoni_Separatore({"class":'itemNascosto'})]); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, [toolbar[id].restituisciPresetBottoni_Aggiorna(' ')]); /** * 2021-02-22 * Accodo bottone informativo datacomune, che passa ultimo */ if (barraConfiguratore[id].oParametri.dc == '1') { toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, [toolbar[id].restituisciPresetBottoni_InformazioniDataComune()]); } var buttonAttribute = ''; //RESTO DEGLI ITEMS A MENU for (var i = 0; i < 8; i++) { var lsFlag = barraConfiguratore[id].toolbar.substr(i, 1); switch (i) { case 0: //TIPO GRAFICO if (lsFlag == '1') { //Staccato x il singola //toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_TipoGrafico()); } break; case 1: //TIPO VALUTA if (lsFlag == '1') { //Staccato x il singola //toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_TipoValute()); } break; case 2: //FREQUENZA if (lsFlag == '1') { //Staccato x il singola //buttonAttribute = { "class": "itemNascosto" }; //toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_Frequenza()); } break; case 3: //STRUMENTI if (lsFlag == '1') { //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute }); //toolbar[id].itemsToShow.push({ type: "button", id: "btnIndicatori_"+id, text: "Strumenti", imageUrl: common.path+"/immagini/strumenti_16x16_grigi.png", click: azioniBottoni[id].buttonClickStrumenti, overflow: "never"}); //toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Separatore(buttonAttribute)); //toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Strumenti()); var aBottoni = []; var oBtnSet = { overflow: "always" }; aBottoni.push(toolbar[id].restituisciPresetBottoni_Strumenti(oBtnSet)); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": aBottoni, "testo": traduci("Strumenti") + ":", "overflow": "always", "type": "buttonGroup" })); } break; case 4: //INDICATORI if (lsFlag == '1') { //toolbar[id].itemsToShow.push({ type: "separator" , attributes: buttonAttribute }); //toolbar[id].itemsToShow.push({ type: "button", id: "btnIndicatori_"+id, text: "Indicatori", imageUrl: common.path+"/immagini/chart_grigi.png", click: azioniBottoni[id].buttonClickIndicatori, overflow: "never"}); //toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Indicatori()); var aBottoni = []; var oBtnSet = { overflow: "always" }; aBottoni.push(toolbar[id].restituisciPresetBottoni_Indicatori(oBtnSet)); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": aBottoni, "testo": traduci("Indicatori") + ":", "overflow": "always", "type": "buttonGroup" })); } break; case 5: //AGGIORNA //lo abbiamo fisso break; case 6: //SALVA IMPOSTAZIONI //Mai usato if (lsFlag == '1') { // toolbar[id].itemsToShow.push({type: "button", text: "Impostazioni", imageUrl: common.path+"/immagini/save.png", id:"save_impostazioni_"+id, click: azioniBottoni[id].inserisciImpostazioni }); } break; case 7: //OPZIONI / CONFIGURAZIONE if (lsFlag == '1') { lbOzioniGraficoRichiesta = true; if (false === lbSpostaOpzioniConfigurazione) { //controllare opzioniGrf //toolbar[id].itemsToShow.push({ type: "button", id:"btnOpenOptions_"+id, icon: "custom", overflow: "never", click: opzioniGrf[id].lanciaFinestraOpzioni }); //selected: true //toolbar[id].itemsToShow.push(toolbar[id].restituisciPresetBottoni_Opzioni()); var aBottoni = []; var oBtnSet = { overflow: "always", 'text': traduci('Opzioni grafico') }; aBottoni.push(toolbar[id].restituisciPresetBottoni_Opzioni(oBtnSet, false, false)); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": aBottoni, "testo": traduci("Configura") + ":", "overflow": "always", "type": "buttonGroup" })); } } break; } } //RENDIMENTO GRAFICO INTERATTIVO O IMG /** * 2020-11-19 * disabilitato, non ha senso proporlo */ if (false) { //nuovi bottoni di rend grafico - utente sceglie se lavorare come interattivo 'p' o immagine 'i' var BottoniGraficoImgInt = toolbar[id].restituisciPresetBottoni_ResaImmagineInterattivaGrafico(); barraConfiguratore[id].settaBottoniGraficoImgInt(BottoniGraficoImgInt); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": BottoniGraficoImgInt, "testo": traduci("Vista grafico") + ":", "overflow": "always", "type": "buttonGroup" })); } /* toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniGraficoImgInt, overflow: "always" });*/ // 21/06/2016 ... su richiesta di Paolo stacchiamo la conversione Log/Lin --> vedi anche a01_dataviz_grafico_output.php //ASSE GRAFICO LINEARE LOGARITMICO if (1) { var BottoniAsseGrafico = toolbar[id].restituisciPresetBottoni_AsseGrafico(); barraConfiguratore[id].settaBottoniAsse(BottoniAsseGrafico); //staccato definitivo il push di queste voci //toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); //toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniAsseGrafico, overflow: "always" }); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": BottoniAsseGrafico, "testo": traduci("Asse Y") + ":", "overflow": "always", "type": "buttonGroup" })); } //RIBASAMENTO var BottoniRibasamentoGrafico = toolbar[id].restituisciPresetBottoni_RibasamentoGrafico(); barraConfiguratore[id].settaBottoniRibasa(BottoniRibasamentoGrafico); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": BottoniRibasamentoGrafico, "testo": traduci("Valori") + ":", "overflow": "always", "type": "buttonGroup" })); /* toolbar[id].itemsToShow.push({overflowTemplate:"", overflow: "always"}); toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: BottoniRibasamentoGrafico, overflow: "always" }); */ //ESPORTAZIONE var buttoexports = toolbar[id].restituisciPresetBottoni_Esportazioni(); if ('quote' in barraConfiguratore[id].oParametri && barraConfiguratore[id].oParametri.quote == 0) { buttoexports.splice(2, 1); } /* toolbar[id].itemsToShow.push({ overflowTemplate:"", overflow: "always" }); toolbar[id].itemsToShow.push({ type: "buttonGroup",buttons: buttoexports,overflow: "always"});*/ toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": buttoexports, "testo": traduci("Esporta grafico") + ":", "overflow": "always", "type": "buttonGroup" })); //OPZIONI + RIPRISTINA var aBottoniOpz = []; if (true === lbSpostaOpzioniConfigurazione && lbOzioniGraficoRichiesta) { var oBtnSet = { overflow: "always", 'text': traduci('Opzioni grafico') }; aBottoniOpz.push(toolbar[id].restituisciPresetBottoni_Opzioni(oBtnSet, false, false)); } if (aBottoniOpz.length > 0) { if (lbUsaRipristinaSuMenu) { aBottoniOpz.push(toolbar[id].restituisciPresetBottoni_Ripristina()); } toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": aBottoniOpz, "testo": traduci("Opzioni") + ":", "overflow": "always", "type": "buttonGroup" })); } //VERSIONE if (false) { var TXT_VERS_WS = $("#version_svc_cgf").text(); //toolbar[id].itemsToShow.push({ overflowTemplate:"", overflow: "always" }); toolbar[id].itemsToShow.push.apply(toolbar[id].itemsToShow, toolbar[id].restituisciPresetBottoni_SuMenu({ "bottoni": false, "testo": TXT_VERS_WS, "classLabel": "label_version_cfg", "overflow": "always", "type": false })); } }, /*2020-03-03attivazione toolbar di cono se toolbar inizia per prima lettera c*/ generaItemsCono: function() { toolbar[id].itemsToShow = []; toolbar[id].itemsToShow.push({ overflowTemplate: "", overflow: "always" }); var buttoexports = [ { text: traduci("Immagine"), imageUrl: common.path + "/immagini/jpg.png", id: "out_png_" + id, click: azioniBottoni[id].buttonClickPng }, //selected: true { text: traduci("PDF"), imageUrl: common.path + "/immagini/icone_pdf.png", id: "out_pdf_" + id, click: azioniBottoni[id].buttonClickExportPdf } ]; toolbar[id].itemsToShow.push({ type: "buttonGroup", buttons: buttoexports, overflow: "always" }); } }; //GESTIONE DEI BOTTONI DELLA TOOLBAR barraConfiguratore[id] = { /** * Description of seEsisteBottone comodo per controllo idbottoni se esistono * @param {strinf} lsIdBottone * @returns {Boolean} */ seEsisteBottone: function(lsIdBottone) { //per chiamarla barraConfiguratore[id].seBottoneEsiste(xxxx); if (lsIdBottone.indexOf('#') === -1) { lsIdBottone = '#' + lsIdBottone; } if ($(lsIdBottone).length) { return true; } return false; }, liX: '', lbDateVisibili: 0, oParametri: '', tmplDataDa_cfg: '', tmplDataA_cfg: '', toolbar: '', onBtnToggle: function onBtnToggle(e) {}, eseguiRipristinoParametri: function(lbReload) { barraConfiguratore[id].oParametri = new Object(); parametriStart[id].lbRipristino = true; barraConfiguratore[id].oParametri = $.parseJSON(JSON.stringify(parametriStart[id].oParametriStart)); /** 2018-03-26 -- pulisco anche lo storage **/ //console.log('EliminaStorage'); common.storage[id].Elimina('visibilitaserie'); if (lbReload == 1) { azioniBottoni[id].buttonClickRefresh(); } }, buttonToggleHandler: function buttonToggleHandler(e) { azioniBottoni[id].buttonClickRefresh(); }, buttonToggleHandlerAsse: function buttonToggleHandlerAsse(e) { var valAsse = e.id.split("_"); barraConfiguratore[id].oParametri.ta = valAsse[1]; //barraConfiguratore[id].settaBottoniDaScala(valAsse[1]); // da verificare con kendo nuovo azioniBottoni[id].buttonClickRefresh(); }, buttonToggleHandlerCambiaRend: function buttonToggleHandlerCambiaRend(e) { var resaGrafico = e.id.split("_"); barraConfiguratore[id].oParametri.rend = resaGrafico[1]; // i o p if (barraConfiguratore[id].oParametri.rend == 'p' || barraConfiguratore[id].oParametri.rend == 'P') { barraConfiguratore[id].settaSceltaUtenteResaGrafico(1); } if (barraConfiguratore[id].oParametri.rend == 'i' || barraConfiguratore[id].oParametri.rend == 'i') { barraConfiguratore[id].settaSceltaUtenteResaGrafico(0); } azioniBottoni[id].buttonClickRefresh(); }, buttonToggleHandlerRibasa: function buttonToggleHandlerRibasa(e) { /** controllo sui bottoni disabilitati **/ var loTarget = $(e.target); //console.log( loTarget.hasClass('k-state-disabled') ); if (loTarget.hasClass('k-state-disabled')) return false; var valAsse = e.id.split("_"); barraConfiguratore[id].oParametri.r100 = valAsse[1]; //console.log('Ho ribasato a' + barraConfiguratore[id].oParametri.r100); //barraConfiguratore[id].settaBottoniDaRibasamento(valAsse[1]); // da verificare con kendo nuovo // salva impostazione via WS // 06/06/2017 facciamo il salvataggio automatico in preferenze da questo change dei valori solo se diverso da no if ('no' !== valAsse[1]) { azioniEsporta.salvaPreferenzaSoloRibasamento(id); } //2020-12-14 if (valAsse[1] == '0') { barraConfiguratore[id].disattiva_attiva_BottoniDaScala("log", false); //console.log('Stacco'); } else { barraConfiguratore[id].disattiva_attiva_BottoniDaScala("log", true); //console.log('Attacco'); } azioniBottoni[id].buttonClickRefresh(); }, onBtnClick: function onBtnClick(e) { //gestione click del Bottone di Ripristino if (e.id == 'btnRestoreOptions_' + id) { barraConfiguratore[id].eseguiRipristinoParametri(1); } //gestione click del Bottone Esportazione Excel if (e.id == 'out_excel_' + id) { var laRitornoExcel = azioniEsporta.Excel('stock-chart_' + id, id); if (!(laRitornoExcel === false)) { //console.log('sono tornati i dati'); //console.log(laRitornoExcel); azioniEsporta.creaTabellaEsportaXls(laRitornoExcel, id); } else { alert('Impossibile esportare in XLS'); azioniEsporta.chiudiFinestraAttesa(id); } } }, /*2020-11-17 attivazione toolbar singola tipotoolbar = singola*/ creaToolBarSingola: function() { toolbar[id].generaItemsToolBarSingola(); $("#toolbar_cfg_" + id).kendoToolBar({ resizable: true, items: toolbar[id].itemsToShow, toggle: barraConfiguratore[id].onBtnToggle, click: barraConfiguratore[id].onBtnClick, overflowOpen: function(e) {} }); //------------------- //configuro le date Da e A come date Picker e le setto ad un eventuale valore ricevuto da URL barraConfiguratore[id].settaDateLibere(); }, /*2020-03-03attivazione toolbar di cono se toolbar inizia per prima lettera c*/ creaToolBarCono: function() { //console.log(barraConfiguratore[id].toolbar); toolbar[id].generaItemsCono(); $("#toolbar_cfg_" + id).kendoToolBar({ resizable: true, items: toolbar[id].itemsToShow, toggle: barraConfiguratore[id].onBtnToggle, click: barraConfiguratore[id].onBtnClick, overflowOpen: function(e) {} }); }, creaToolBarFrontiera: function() { toolbar[id].generaItemsFrontiera(); $("#toolbar_cfg_" + id).kendoToolBar({ resizable: true, items: toolbar[id].itemsToShow, toggle: barraConfiguratore[id].onBtnToggle, click: barraConfiguratore[id].onBtnClick, overflowOpen: function(e) {} }); }, creaToolBar: function() { toolbar[id].generaItems(); $("#toolbar_cfg_" + id).kendoToolBar({ resizable: true, items: toolbar[id].itemsToShow, toggle: barraConfiguratore[id].onBtnToggle, click: barraConfiguratore[id].onBtnClick, overflowOpen: function(e) {} }); }, /** * Description of creaToolBar2 rivista generazione items con una funzione la toolbar[id].generaItemsToolbar2() * che ritorna array dei btn che stavano in barra in basso * */ creaToolBar2: function() { var laItemsToolbar_cfg2 = toolbar[id].generaItemsToolbar2(); $("#toolbar_cfg2_" + id).kendoToolBar({ resizable: false, items: laItemsToolbar_cfg2 }); //------------------- //configuro le date Da e A come date Picker e le setto ad un eventuale valore ricevuto da URL barraConfiguratore[id].settaDateLibere(); }, zzz_creaToolBar2: function() { if (barraConfiguratore[id].liX < 800) { var TXT_IANNO = new Array('IA', '3M', '6M', '1A', '2A', '3A', '5A', 'User'); //0 1 2 3 4 5 6 } if (barraConfiguratore[id].liX >= 800) { var TXT_IANNO = new Array('Da inizio anno', '3 mesi', '6 mesi', '1 anno', '2 anni', '3 anni', '5 anni', 'Personalizzato'); } //ATTENZIONARE GLI INDICI....se aggiunti nuovi bottoni --> settaBottoniIntervalloAnno var BottoniIntervalloAnno = [ { text: TXT_IANNO[0], id: 'intAnno_YTD_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, { text: TXT_IANNO[1], id: 'intAnno_M3_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[2], id: 'intAnno_M6_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[3], id: 'intAnno_Y1_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[4], id: 'intAnno_Y2_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[5], id: 'intAnno_Y3_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, //selected: true { text: TXT_IANNO[6], id: 'intAnno_Y5_' + id, togglable: true, group: 'intervalloAnno_' + id, toggle: buttonToggleHandler, selected: false }, { text: TXT_IANNO[7], id: 'intAnno_YYY_' + id, group: 'intervalloAnno_' + id, togglable: true, toggle: btnTogglePersonalizzato, selected: false } ]; //------------------- barraConfiguratore[id].settaBottoniIntervalloAnno(BottoniIntervalloAnno); //------------------- if (barraConfiguratore[id].oParametri.dc == '1') { //ITEMS BOTTONI SEMPRE E COMUNQUE var laItemsToolbar_cfg2 = [ { type: "buttonGroup", buttons: BottoniIntervalloAnno, overflow: "never" }, { type: "separator" }, { template: barraConfiguratore[id].tmplDataDa_cfg, overflowTemplate: barraConfiguratore[id].tmplDataDa_cfg, overflow: "never" }, { template: barraConfiguratore[id].tmplDataA_cfg, overflowTemplate: barraConfiguratore[id].tmplDataA_cfg, overflow: "never" }, { type: "separator" }, //{ type: "button", id: "info_dc_"+id, text: "Note", icon: "note" } { type: "button", text: "", imageUrl: common.path + "/immagini/info16.png", id: "info_dc_" + id, overflow: "never" } ]; //SE HO SPAZIO METTO LA SCRITTA PERIODO if (barraConfiguratore[id].liX >= 800) { laItemsToolbar_cfg2.splice(0, 0, { template: "", overflow: "never" }); } $("#toolbar_cfg2_" + id).kendoToolBar({ resizable: false, items: laItemsToolbar_cfg2 // items: [ // { template: "", overflow: "never"}, // { type: "buttonGroup", buttons: BottoniIntervalloAnno, overflow: "never" }, // { type: "separator" }, // { template: barraConfiguratore[id].tmplDataDa_cfg, overflowTemplate: barraConfiguratore[id].tmplDataDa_cfg, overflow: "never"}, // { template: barraConfiguratore[id].tmplDataA_cfg, overflowTemplate: barraConfiguratore[id].tmplDataA_cfg, overflow: "never"}, // { type: "separator" }, // //{ type: "button", id: "info_dc_"+id, text: "Note", icon: "note" } // {type: "button", text: "", imageUrl: common.path+"/immagini/info16.png", id:"info_dc_"+id, overflow: "never" } // ] }); } else { //ITEMS BOTTONI SEMPRE E COMUNQUE var laItemsToolbar_cfg2 = [ { type: "buttonGroup", buttons: BottoniIntervalloAnno, overflow: "never" }, { type: "separator" }, { template: barraConfiguratore[id].tmplDataDa_cfg, overflowTemplate: barraConfiguratore[id].tmplDataDa_cfg, overflow: "never" }, { template: barraConfiguratore[id].tmplDataA_cfg, overflowTemplate: barraConfiguratore[id].tmplDataA_cfg, overflow: "never" } ]; //SE HO SPAZIO METTO LA SCRITTA PERIODO if (barraConfiguratore[id].liX >= 800) { laItemsToolbar_cfg2.splice(0, 0, { template: "", overflow: "never" }); } $("#toolbar_cfg2_" + id).kendoToolBar({ resizable: false, items: laItemsToolbar_cfg2 // items: [ // { template: "", overflow: "never"}, // { type: "buttonGroup", buttons: BottoniIntervalloAnno, overflow: "never" }, // { type: "separator" }, // { template: barraConfiguratore[id].tmplDataDa_cfg, overflowTemplate: barraConfiguratore[id].tmplDataDa_cfg, overflow: "never"}, // { template: barraConfiguratore[id].tmplDataA_cfg, overflowTemplate: barraConfiguratore[id].tmplDataA_cfg, overflow: "never"}, // ] }); } //------------------- //configuro le date Da e A come date Picker e le setto ad un eventuale valore ricevuto da URL barraConfiguratore[id].settaDateLibere(); //------------------- function btnTogglePersonalizzato(e) { //console.log(e.target.text() + " 'btnTogglePersonalizzato' event is fired, id="+e.id+ ' visibili='+barraConfiguratore.lbDateVisibili); barraConfiguratore[id].lbDateVisibili = 1; barraConfiguratore[id].mostraNascondiDate(); } function buttonToggleHandler(e) { //console.log(e.target.text() + " 'buttonToggleHandler' event is fired, gruppo:" + e.group+' id='+e.id); if (e.group == "intervalloAnno_" + id && e.id != 'intAnno_YYY_' + id) { barraConfiguratore[id].lbDateVisibili = 0; barraConfiguratore[id].mostraNascondiDate(); azioniBottoni[id].buttonClickRefresh(); } } //------------------- }, creaToolBarCambiaRend: function() { if (barraConfiguratore[id].liX < 800) { var TXT_RIMETTIINTERATTIVO = traduci('Ritorna a grafico interattivo'); } if (barraConfiguratore[id].liX >= 800) { var TXT_RIMETTIINTERATTIVO = traduci('Ritorna a grafico interattivo'); } $("#toolbar_cfg_" + id).kendoToolBar({ resizable: true, items: [ { type: "button", text: TXT_RIMETTIINTERATTIVO, id: "grf_i_" + id, icon: "refresh", overflow: "never", click: barraConfiguratore[id].buttonToggleHandlerCambiaRend } ] }); }, settaDateLibere: function() { // create DatePicker from input HTML element $("#lsDataDa_cfg_" + id + " , #lsDataA_cfg_" + id).kendoDatePicker({ format: "dd/MM/yyyy", //culture: "it-IT" culture: getCultureFromNavigator() }); var datepickerDataDa = $("#lsDataDa_cfg_" + id).data("kendoDatePicker"), datepickerDataA = $("#lsDataA_cfg_" + id).data("kendoDatePicker"); if (barraConfiguratore[id].oParametri.lsDataDa !== '') { $("#lsDataDa_cfg_" + id).val(barraConfiguratore[id].oParametri.lsDataDa); datepickerDataDa.value(barraConfiguratore[id].oParametri.lsDataDa); } if (barraConfiguratore[id].oParametri.lsDataA !== '') { $("#lsDataA_cfg_" + id).val(barraConfiguratore[id].oParametri.lsDataA); datepickerDataA.value(barraConfiguratore[id].oParametri.lsDataA); } barraConfiguratore[id].mostraNascondiDate(); }, mostraNascondiDate: function() { //console.log('barraConfiguratore.lbDateVisibili='+barraConfiguratore.lbDateVisibili); if (barraConfiguratore[id].lbDateVisibili) { $("#conteiner_DataDa_cfg_" + id + " , #conteiner_DataA_cfg_" + id).show(); } else { $("#conteiner_DataDa_cfg_" + id + " , #conteiner_DataA_cfg_" + id).hide(); } }, settaBottoniFrequenza: function(BottoniFrequenza) { if (barraConfiguratore[id].oParametri.tf === 'D') { BottoniFrequenza[0].selected = true; } else if (barraConfiguratore[id].oParametri.tf === 'W') { BottoniFrequenza[1].selected = true; } else if (barraConfiguratore[id].oParametri.tf === 'M') { BottoniFrequenza[2].selected = true; } else { //M3 BottoniFrequenza[3].selected = true; } }, settaBottoniDaFrequenza: function(freq) { var toolbar = $("#toolbar_cfg_" + id).data("kendoToolBar"); var idtoggle = "freq_" + freq + "_" + id; if (barraConfiguratore[id].seEsisteBottone(idtoggle)) { toolbar.toggle("#" + idtoggle, true); } }, settaBottoniDaRibasamento: function(ribasa) { /*25/05/2016 messo per test di un fantomatico errore non piu ripresentato*/ setTimeout(function() { var toolbar = $("#toolbar_cfg_" + id).data("kendoToolBar"); if (toolbar) { //26/07/2017 controllo in quanto può non esistere, lancio come modulo 0016 rottamatore var idtoggle = "ribasamento_" + ribasa + '_' + id + "_overflow"; if (barraConfiguratore[id].seEsisteBottone(idtoggle)) { toolbar.toggle("#" + idtoggle, true); } } }, 10); // da verificare con kendo nuovo /* var altriButtonsRibasa = $('[id^=ribasamento_]:not([id='+idtoggle+'])'); var quanti = altriButtonsRibasa.size(); if(quanti>0){ $.each(altriButtonsRibasa, function(i,item){ var idDaMettereFalse = $(item).attr('id'); toolbar.toggle("#"+idDaMettereFalse, false); }); }*/ }, disattiva_attiva_BottoniDaScala: function(scala, lbAttivo) { if (typeof lbAttivo === 'undefined') { lbAttivo = true; } var t = $("#toolbar_cfg_" + id).data("kendoToolBar"); var idtoggle = "asse_" + scala + '_' + id + "_overflow"; if (t && $('#' + idtoggle).length) { t.enable("#" + idtoggle, lbAttivo); } }, settaBottoniDaScala: function(scala) { /*25/05/2016 messo per test di un fantomatico errore non piu ripresentato*/ setTimeout(function() { var toolbar = $("#toolbar_cfg_" + id).data("kendoToolBar"); if (toolbar) { //26/07/2017 controllo in quanto può non esistere, lancio come modulo 0016 rottamatore var idtoggle = "asse_" + scala + '_' + id + "_overflow"; if (barraConfiguratore[id].seEsisteBottone(idtoggle)) { toolbar.toggle("#" + idtoggle, true); } } }, 10); // da verificare con kendo nuovo /* var altriButtonsAsse = $('[id^=asse_]:not([id='+idtoggle+'])'); var quanti = altriButtonsAsse.size(); if(quanti>0){ $.each(altriButtonsAsse, function(i,item){ var idDaMettereFalse = $(item).attr('id'); toolbar.toggle("#"+idDaMettereFalse, false); }); }*/ }, settaIndicatori: function(indicatori) { // {"SMA":[],"VOL":[],"WMA":[]} //console.log(indicatori); var obj = JSON.parse(indicatori); var elenco = ""; $.each(obj, function(idx, obj) { if (elenco != "") elenco = elenco + "|"; elenco = elenco + idx; }); //AGGIUNGERE SEPARATO DA PIPE IL CODICE INDICATORE VOLUTO DA PRESENTARE DI DEFAULT //default, deve essere presente nel _datasource_configuratore.php, 26/04/2016, prima era WMA //nuovo default 2018-02-28 SMA|VOL if (elenco == "") elenco = "SMA|VOL"; /** * 2020-11-19 * modifica chiamata indicatori se sono in toolbar singola, chiamo solo la VOL */ //2020-12-04, riabilito entrambi non modifico nulla //if('singola' == parametriConfiguratore[id].leggiParametro('tipotoolbar')){ //elenco= 'VOL'; //} var DataSourceIndicatori = barraConfiguratore[id].popolaIndicatoriGrafico(elenco, 'mostra'); contenutoTabStrip[id].DS_SCHEDE_INDICATORI = DataSourceIndicatori; }, settaBottoniAsse: function(BottoniAsseGrafico) { if (barraConfiguratore[id].oParametri.ta === '' || barraConfiguratore[id].oParametri.ta === 'lin') { BottoniAsseGrafico[0].selected = true; } else { BottoniAsseGrafico[1].selected = true; } }, //controllo la scelta dalla barra da p settaBottoniGraficoImgInt: function(BottoniGraficoImgInt) { if (barraConfiguratore[id].oParametri.rend == 'I' || barraConfiguratore[id].oParametri.rend == 'i') { BottoniGraficoImgInt[0].selected = true; //resta interattivo barraConfiguratore[id].settaSceltaUtenteResaGrafico(0); } else { BottoniGraficoImgInt[1].selected = true; //se invece deve diventare immagine devo offrire la toolbar che mi permetta di rimetterlo ad interattivo barraConfiguratore[id].settaSceltaUtenteResaGrafico(1); } }, settaSceltaUtenteResaGrafico: function(lbVal) { //ammessi 0 oppure 1 barraConfiguratore[id].oParametri.cambiarend = lbVal; }, settaBottoniRibasa: function(BottoniRibasamentoGrafico) { var vStrumenti = barraConfiguratore[id].oParametri.idStr.split("|"); //0 normale 1 cento 2 a Zero /* if(vStrumenti.length>1){ // ci sono più strumenti.. ribasamento obbligatorio BottoniRibasamentoGrafico[0].selected=false; BottoniRibasamentoGrafico[0].enable=false; BottoniRibasamentoGrafico[1].selected=true; BottoniRibasamentoGrafico[1].enable=true; BottoniRibasamentoGrafico[2].selected=false; BottoniRibasamentoGrafico[2].enable=true; } */ if (vStrumenti.length == 1) { BottoniRibasamentoGrafico[0].enable = true; BottoniRibasamentoGrafico[0].selected = true; BottoniRibasamentoGrafico[1].enable = true; BottoniRibasamentoGrafico[1].selected = false; BottoniRibasamentoGrafico[2].enable = true; BottoniRibasamentoGrafico[2].selected = false; } else if (barraConfiguratore[id].oParametri.r100 === '' || barraConfiguratore[id].oParametri.r100 === 'no') { BottoniRibasamentoGrafico[0].selected = true; BottoniRibasamentoGrafico[0].enable = true; BottoniRibasamentoGrafico[1].selected = false; BottoniRibasamentoGrafico[1].enable = false; BottoniRibasamentoGrafico[2].selected = false; BottoniRibasamentoGrafico[2].enable = false; } else { if (100 == barraConfiguratore[id].oParametri.r100) { BottoniRibasamentoGrafico[0].selected = false; BottoniRibasamentoGrafico[0].enable = false; BottoniRibasamentoGrafico[1].selected = true; BottoniRibasamentoGrafico[1].enable = true; BottoniRibasamentoGrafico[2].selected = false; BottoniRibasamentoGrafico[2].enable = true; } else { if (0 == barraConfiguratore[id].oParametri.r100) { BottoniRibasamentoGrafico[0].selected = false; BottoniRibasamentoGrafico[0].enable = false; BottoniRibasamentoGrafico[1].selected = false; BottoniRibasamentoGrafico[1].enable = false; BottoniRibasamentoGrafico[2].selected = true; BottoniRibasamentoGrafico[2].enable = true; } } } // cambio idea 2017-05-18 ... bottoni sempre abilitati BottoniRibasamentoGrafico[0].enable = true; BottoniRibasamentoGrafico[0].selected = true; BottoniRibasamentoGrafico[1].enable = true; BottoniRibasamentoGrafico[1].selected = false; BottoniRibasamentoGrafico[2].enable = true; BottoniRibasamentoGrafico[2].selected = false; }, switchaBottoneRibasa: function(val) { //console.log ( 'val : ', val); if (0 == val) { $("#ribasamento_100_" + id + "_overflow").removeClass('k-state-active'); $("#ribasamento_0_" + id + "_overflow").addClass('k-state-active'); $("#ribasamento_no_" + id + "_overflow").removeClass('k-state-active'); } else if (100 == val) { $("#ribasamento_100_" + id + "_overflow").addClass('k-state-active'); $("#ribasamento_0_" + id + "_overflow").removeClass('k-state-active'); $("#ribasamento_no_" + id + "_overflow").removeClass('k-state-active'); } else { $("#ribasamento_100_" + id + "_overflow").removeClass('k-state-active'); $("#ribasamento_0_" + id + "_overflow").removeClass('k-state-active'); $("#ribasamento_no_" + id + "_overflow").addClass('k-state-active'); } }, settaBottoniIntervalloAnno: function(BottoniIntervalloAnno) { //ATTENZIONARE GLI INDICI....se aggiunti nuovi bottoni, devono essere uguali!! barraConfiguratore[id].lbDateVisibili = 0; if (barraConfiguratore[id].oParametri.ia === 'YTD') { BottoniIntervalloAnno[0].selected = true; } else if (barraConfiguratore[id].oParametri.ia === 'M3') { BottoniIntervalloAnno[1].selected = true; } else if (barraConfiguratore[id].oParametri.ia === 'M6') { BottoniIntervalloAnno[2].selected = true; } else if (barraConfiguratore[id].oParametri.ia === 'Y1') { BottoniIntervalloAnno[3].selected = true; } else if (barraConfiguratore[id].oParametri.ia === 'Y2') { BottoniIntervalloAnno[4].selected = true; } else if (barraConfiguratore[id].oParametri.ia === 'Y3') { BottoniIntervalloAnno[5].selected = true; } else if (barraConfiguratore[id].oParametri.ia === 'Y5') { BottoniIntervalloAnno[6].selected = true; } else { //YYY BottoniIntervalloAnno[7].selected = true; barraConfiguratore[id].lbDateVisibili = 1; } }, popolaTipoGrafico: function(BottoniTipoGrafico) { $.ajax({ async: false, url: common.path + '/librerie/_datasource_configuratore.php?sid=' + sessione.sid, dataType: 'json', type: "post", data: { lstipodato: 'tipografico' }, success: function(data) { $.each(data.dati, function(i, item) { var Obj = {}; Obj.text = item.lsDescrizione; Obj.id = 'tipodigrf_' + item.lsId + '_' + id; Obj.click = azioniBottoni[id].SplitBtnTipoGrafico BottoniTipoGrafico.push(Obj); }); }, error: function() { console.log("ERRORE caricamento TipoGrafico."); }, complete: function() {} }); }, popolaValutaGrafico: function(BottoniTipoValute) { $.ajax({ async: false, url: common.path + '/librerie/_datasource_configuratore.php?sid=' + sessione.sid, dataType: 'json', type: "post", data: { lstipodato: 'tipovalute' }, success: function(data) { $.each(data.dati, function(i, item) { var Obj = {}; Obj.text = item.lsDescrizione; Obj.id = 'tipodival_' + item.lsCodiceValuta + '_' + id; Obj.click = azioniBottoni[id].SplitBtnTipoValuta BottoniTipoValute.push(Obj); }); }, error: function() { console.log("ERRORE caricamento TipoValuta."); }, complete: function() {} }); }, popolaIndicatoriGrafico: function(lsIndicatori, lsAzioneIndicatori) { /*NOTA VAI A CONTROLLARE PRIMA X:\pdatavizgrafici\librerie\_datasource_configuratore.php per incastrare ID DEI NUOVI INCDICATORI*/ //lsIndicatoriVoluti="WMA|VOL|SMA"; var ArrayIndicatori = new Array(); $.ajax({ async: false, url: common.path + '/librerie/_datasource_configuratore.php?sid=' + sessione.sid, dataType: 'json', type: "post", data: { lstipodato: 'indicatori', //dato passato all'url //lsIdIndicatori:'WMA|VOL' lsIdIndicatori: lsIndicatori, lsAzioneIndicatori: lsAzioneIndicatori }, success: function(data) { //caso di mostra indicatori if (lsAzioneIndicatori == 'mostra') { //26/04/2016, allineato in quanto da data potremmo non avere .dati di risposta,dal datasource if ('dati' in data) { $.each(data.dati, function(i, item) { var Obj = {}; Obj.text = item.lsDescrizione; //Nome della TAB Obj.id = 'cfg_ind_' + item.lsId; //id della TAB, costituita dal codiceIndicatore lsId //console.log($.type(contenutoTabStrip.SCHEDE_INDICATORI[item.lsId])); if ($.type(contenutoTabStrip[id].SCHEDE_INDICATORI[item.lsId]) === "undefined") { contenutoTabStrip[id].SCHEDE_INDICATORI[item.lsId] = new Array(); } ArrayIndicatori.push(Obj); }); } } //caso di nascondi esistenti, e quindi vanno aggiungi i mancanti if (lsAzioneIndicatori == 'nascondi') { if ($.type(data.dati) !== "undefined") { var lsHtml = '
Indicatori disponibili'; lsHtml += '
 
'; $.each(data.dati, function(i, item) { lsHtml += '
' + item.lsDescrizione + '
'; }); lsHtml += '
'; lsHtml += '
'; } else { lsHtml = '
Nessun indicatore da aggiungere...
'; } $('#gestioneIndicatori_' + id).html(lsHtml); } }, error: function() { console.log("ERRORE caricamento Indicatori."); }, complete: function() {} }); //console.log(ArrayIndicatori); return ArrayIndicatori; }, settaOggettoPersonalizzato: function(Elemento, lbRefresh) { var ObjCustom = {}; if (Elemento == 'colori') { var ACC = colori[id]; ObjCustom.colori = new Array(); } if (Elemento == 'opzioni') { var ACC = opzioni[id]; ObjCustom.opzioni = new Array(); } for (chiave in ACC) { var contenutoObj = {}; if ($.type(ACC[chiave]) === 'undefined') { ACC[chiave] = '#ffffff'; } contenutoObj.chiave = chiave; contenutoObj.valore = ACC[chiave]; if (Elemento == 'colori') { ObjCustom.colori.push(contenutoObj); } if (Elemento == 'opzioni') { ObjCustom.opzioni.push(contenutoObj); } } parametriConfiguratore[id].settaOggettoCustom(ObjCustom, Elemento, lbRefresh); } }; STRUMENTIPULITI[id] = { strumentiScelti: [], ricava: function() { STRUMENTIPULITI[id].strumentiScelti = []; var FinaleStrumenti = {}, chiave_s; for (var i in strumenti[id]) { var loObjNew = {}; chiave_s = i; if (i.substr(0, 2) == 'st' || $.inArray(i.substr(0, 3), common.indicatori) == -1) { if (!(chiave_s in FinaleStrumenti)) { FinaleStrumenti[chiave_s] = []; STRUMENTIPULITI[id].strumentiScelti.push(chiave_s); } loObjNew.idstrumento = i; loObjNew.descrizione = strumenti[id][i]; FinaleStrumenti[chiave_s].push(loObjNew); } }; return FinaleStrumenti; }, controlla: function(idStrumento) { var posPunto = idStrumento.indexOf('.'); if (posPunto > 0) { idStrumento = idStrumento.substr(0, posPunto); } //se non è nè un bck o un ptf aggiungo 'st' if (!(idStrumento.substr(0, 3) == 'bck' || idStrumento.substr(0, 3) == 'ptf')) { idStrumento = 'st' + idStrumento; } //se non c'è tra gli strumenti if ($.inArray(idStrumento, STRUMENTIPULITI[id].strumentiScelti) == -1) { return idStrumento; } else { return false; } } }; //Gestisce il contenuto della kendoWindow con le Tab Strip contenenti gli indicatori. contenutoTabStrip[id] = { SCHEDE_INDICATORI: {}, //oggetto con chiavi composte dal codice indicatore, ogni chiave è un array di oggetti DS_SCHEDE_INDICATORI: [], //array di oggetti che mi consente di costruire la Tab Strip nel file php richiamato dalla kendo Window aggiustaTestoStrumento: function(str, length, delim, appendix, myElement) { var trimmedStr = ''; if (str.length <= length) { trimmedStr = str; } else { trimmedStr = str.substr(0, length + delim.length); var lastDelimIndex = trimmedStr.lastIndexOf(delim); if (lastDelimIndex >= 0) trimmedStr = trimmedStr.substr(0, lastDelimIndex); if (trimmedStr) trimmedStr += appendix; } $('#' + myElement).attr('title', str).text(trimmedStr); }, resetSchedeIndicatori: function() { //console.log(colori); $.each(contenutoTabStrip[id].SCHEDE_INDICATORI, function(i, item) { //console.log('I=',i); contenutoTabStrip[id].SCHEDE_INDICATORI[i] = new Array(); //svuoto per rimettere tutti i nuovi oggetti $(':checkbox[name=' + barraConfiguratoreIndicatore[id].campiCheck + i + '_' + id + ']:checked').prop('checked', false).attr('checked', false); for (var chiave in strumenti[id]) { if ($.inArray(chiave.substr(0, 3), ["SMA", "WMA", "RSI", "VOL"]) == -1) { //se non trovo //console.log(chiave); //sottratto i orimi 3 car dalla chiave,se questa stringa non è presente nell'arrai indicatori contenutoTabStrip[id].settaValorePicker(barraConfiguratoreIndicatore[id].campiColore + i + '_' + chiave, colori[id][chiave]); contenutoTabStrip[id].onOffColore(barraConfiguratoreIndicatore[id].campiColore + i + '_' + chiave, false); // if(i=='SMA' || i=='WMA' ){ if ($.inArray(i, ["SMA", "WMA", "RSI"]) >= 0) { contenutoTabStrip[id].settaValoreInput(barraConfiguratoreIndicatore[id].campiInput + i + '_' + chiave, 100); contenutoTabStrip[id].onOffInput(barraConfiguratoreIndicatore[id].campiInput + i + '_' + chiave, true); //gestione strumento--1 var lschiave1 = chiave + '--1'; contenutoTabStrip[id].settaValoreInput(barraConfiguratoreIndicatore[id].campiInput + i + '_' + lschiave1, 0); contenutoTabStrip[id].onOffInput(barraConfiguratoreIndicatore[id].campiInput + i + '_' + lschiave1, true); contenutoTabStrip[id].settaValorePicker(barraConfiguratoreIndicatore[id].campiColore + i + '_' + lschiave1, colori[id][chiave]); contenutoTabStrip[id].onOffColore(barraConfiguratoreIndicatore[id].campiColore + i + '_' + lschiave1, false); //fine } if (i == 'VOL') { contenutoTabStrip[id].settaValoreSelect(barraConfiguratoreIndicatore[id].campiSelect + i + '_' + chiave, '4'); //3mesi contenutoTabStrip[id].onOffSelect(barraConfiguratoreIndicatore[id].campiSelect + i + '_' + chiave, false); //gestione strumento--1 var lschiave1 = chiave + '--1'; contenutoTabStrip[id].settaValoreSelect(barraConfiguratoreIndicatore[id].campiSelect + i + '_' + lschiave1, '0'); contenutoTabStrip[id].onOffSelect(barraConfiguratoreIndicatore[id].campiSelect + i + '_' + lschiave1, false); contenutoTabStrip[id].settaValorePicker(barraConfiguratoreIndicatore[id].campiColore + i + '_' + lschiave1, colori[id][chiave]); contenutoTabStrip[id].onOffColore(barraConfiguratoreIndicatore[id].campiColore + i + '_' + lschiave1, false); } } } }); }, ottieniIndicatoriPresenti: function() { var indicatoriPresenti = ''; $.each(contenutoTabStrip[id].SCHEDE_INDICATORI, function(i) { //console.log(i); indicatoriPresenti += i + '|'; }); indicatoriPresenti = indicatoriPresenti.substr(0, (indicatoriPresenti.length) - 1); //console.log(indicatoriPresenti); return indicatoriPresenti; }, gestisciContenutoIndicatori: function() { /*******/ $('#gestioneIndicatori_' + id + ' .btnAggiunta_indicatori').kendoButton(); //trasformo i bottoni seleziona tutti e deseleziona tutti creati in precedenza in kendo button $('#gestioneIndicatori_' + id + ' .btnConfermaAggiungi').kendoButton({ enable: false }); //trasformo il bottone creato in precedenza in kendo button $(':checkbox.chk_aggiungi_ind').unbind('click'); $('button.btnConfermaAggiungi').unbind('click'); $('button.btnAggiunta_indicatori').unbind('click'); //listener ai checkbox $(':checkbox.chk_aggiungi_ind, button.btnAggiunta_indicatori').click(function() { //CASO BOTTONI sel tutti o nessuno if ($(this).is(':button') && $(this).val() == 'tutti') { $(':checkbox.chk_aggiungi_ind').prop('checked', true); } if ($(this).is(':button') && $(this).val() == 'nessuno') { $(':checkbox.chk_aggiungi_ind').prop('checked', false); } if ($(':checkbox.chk_aggiungi_ind:checked').size() == 0) { $('#gestioneIndicatori_' + id + ' .btnConfermaAggiungi').data("kendoButton").enable(false); } else { $('#gestioneIndicatori_' + id + ' .btnConfermaAggiungi').data("kendoButton").enable(true); } }); //listener al conferma selezionati $('button.btnConfermaAggiungi').click(function() { var indicatoriDaAggiungere = $(':checkbox.chk_aggiungi_ind:checked'); var lsIndicatori = ''; //per tutti i nuovi indicatori scelti $.each(indicatoriDaAggiungere, function(i, item) { lsIndicatori += $(item).val() + '|'; }); lsIndicatori = lsIndicatori.substr(0, (lsIndicatori.length) - 1); //richiedo il DS per rigenerare le TAB; var DataSourceIndicatoriDaAggiungere = barraConfiguratore[id].popolaIndicatoriGrafico(lsIndicatori, 'mostra'); //per ogni nuovo indicatore, popolo il DS_SCHEDE_INDICATORI $.each(DataSourceIndicatoriDaAggiungere, function(i, obj) { contenutoTabStrip[id].DS_SCHEDE_INDICATORI.push(obj); }); //Rigenero la finestra ripassando i nuovi indicatori; //var kwIndicatori=$("#scatola_window_indicatori_cfg_"+id).data("kendoWindow"); //2018-03-01, la kwindow è il box figlio var idDivFiglio = 'boxfiglio_window_indicatori_cfg_' + id; var kwIndicatori = $("#" + idDivFiglio).data("kendoWindow"); kwIndicatori.refresh({ type: "POST", url: common.path + "/pagine/a01_tabStripIndicatori.php?sid=" + sessione.sid, data: { //lsIndicatoriJson: JSON.stringify(DataSourceIndicatori), lsIndicatoriJson: JSON.stringify(contenutoTabStrip[id].DS_SCHEDE_INDICATORI), lsStrumentiJson: JSON.stringify(STRUMENTIPULITI[id].ricava()), lsIdDestinazione: id } }); }); /*******/ }, leggiInformazioneSchede: function() { $.each(contenutoTabStrip[id].SCHEDE_INDICATORI, function(i, item) { //i = NOME SCHEDA //console.log(i); //console.log(':checkbox[name='+barraConfiguratoreIndicatore[id].campiCheck+i+'_'+id+']:checked'); var inputChbox = $(':checkbox[name=' + barraConfiguratoreIndicatore[id].campiCheck + i + '_' + id + ']:checked'); contenutoTabStrip[id].SCHEDE_INDICATORI[i] = new Array(); //svuoto per rimettere tutti i nuovi oggetti $.each(inputChbox, function() { var Obj = {}; var idStr = $(this).attr('value'); Obj.idStr = idStr; Obj.colore = contenutoTabStrip[id].valoreColore(barraConfiguratoreIndicatore[id].campiColore + i + '_' + idStr + '_' + id); // if(i=='SMA' || i=='WMA' ){ if ($.inArray(i, ["SMA", "WMA", "RSI"]) >= 0) { Obj.giorni = contenutoTabStrip[id].valoreInput(barraConfiguratoreIndicatore[id].campiInput + i + '_' + idStr + '_' + id); } if (i == 'VOL') { Obj.periodo = contenutoTabStrip[id].valoreSelect(barraConfiguratoreIndicatore[id].campiSelect + i + '_' + idStr + '_' + id); } //console.log('idStr='+idStr); //console.log(Obj); contenutoTabStrip[id].SCHEDE_INDICATORI[i].push(Obj); // secondo indicatore var Obj = {}; var idStr = $(this).attr('value'); Obj.idStr = idStr + "--1"; Obj.colore = contenutoTabStrip[id].valoreColore(barraConfiguratoreIndicatore[id].campiColore + i + '_' + idStr + '--1_' + id); // if(i=='SMA' || i=='WMA' ){ if ($.inArray(i, ["SMA", "WMA", "RSI"]) >= 0) { Obj.giorni = contenutoTabStrip[id].valoreInput(barraConfiguratoreIndicatore[id].campiInput + i + '_' + idStr + '--1_' + id); } if (i == 'VOL') { Obj.periodo = contenutoTabStrip[id].valoreSelect(barraConfiguratoreIndicatore[id].campiSelect + i + '_' + idStr + '--1_' + id); } //console.log('idStr='+idStr); //console.log(Obj); contenutoTabStrip[id].SCHEDE_INDICATORI[i].push(Obj); }); //console.log(item); }); //console.log(contenutoTabStrip[id].SCHEDE_INDICATORI); }, onOffColore: function(idColore, onoff) { $('#' + idColore + '_' + id).data("kendoColorPicker").enable(onoff); }, valoreColore: function(idColore) { return $('#' + idColore).data("kendoColorPicker").value(); }, onOffInput: function(idInput, onoff) { $('#' + idInput + '_' + id).prop('disabled', onoff); }, valoreInput: function(idInput) { return $('#' + idInput).val(); }, settaValoreInput: function(idInput, valore) { $('#' + idInput + '_' + id).val(valore); }, onOffSelect: function(idInput, onoff) { $('#' + idInput + '_' + id).data("kendoDropDownList").enable(onoff); }, valoreSelect: function(idSelect) { return $('#' + idSelect).data("kendoDropDownList").value(); }, settaValoreSelect: function(idSelect, valore) { $('#' + idSelect + '_' + id).data("kendoDropDownList").value(valore); }, settaValorePicker: function(idPicker, valore) { $('#' + idPicker + '_' + id).data("kendoColorPicker").value(valore); }, ciclaCampi: function(inputChbox, indicatore, azione) { //console.log(inputChbox); //console.log(indicatore); $.each(inputChbox, function() { // if(indicatore=='SMA' || indicatore=='WMA'){ if ($.inArray(indicatore, ["SMA", "WMA", "RSI"]) >= 0) { var campoInput = barraConfiguratoreIndicatore[id].campiInput + indicatore + '_' + $(this).attr('value'); var campoInput1 = barraConfiguratoreIndicatore[id].campiInput + indicatore + '_' + $(this).attr('value') + "--1"; var campoColore = barraConfiguratoreIndicatore[id].campiColore + indicatore + '_' + $(this).attr('value'); var campoColore1 = barraConfiguratoreIndicatore[id].campiColore + indicatore + '_' + $(this).attr('value') + "--1"; if (azione == 'abilita') { contenutoTabStrip[id].onOffInput(campoInput, false); contenutoTabStrip[id].onOffInput(campoInput1, false); contenutoTabStrip[id].onOffColore(campoColore, true); contenutoTabStrip[id].onOffColore(campoColore1, true); } else { contenutoTabStrip[id].onOffInput(campoInput, true); contenutoTabStrip[id].onOffInput(campoInput1, true); contenutoTabStrip[id].onOffColore(campoColore, false); contenutoTabStrip[id].onOffColore(campoColore1, false); } } if (indicatore == 'VOL') { var campoSelect = barraConfiguratoreIndicatore[id].campiSelect + indicatore + '_' + $(this).attr('value'); var campoColore = barraConfiguratoreIndicatore[id].campiColore + indicatore + '_' + $(this).attr('value'); if (azione == 'abilita') { contenutoTabStrip[id].onOffSelect(campoSelect, true); contenutoTabStrip[id].onOffColore(campoColore, true); } else { contenutoTabStrip[id].onOffSelect(campoSelect, false); contenutoTabStrip[id].onOffColore(campoColore, false); } } }); }, generaColorPicker: function(idColorPicker) { var shadeColor = function(color, percent) { var R = parseInt(color.substring(1, 3), 16); var G = parseInt(color.substring(3, 5), 16); var B = parseInt(color.substring(5, 7), 16); R = parseInt(R * (100 + percent) / 100); G = parseInt(G * (100 + percent) / 100); B = parseInt(B * (100 + percent) / 100); R = (R < 255) ? R : 255; G = (G < 255) ? G : 255; B = (B < 255) ? B : 255; var RR = ((R.toString(16).length == 1) ? "0" + R.toString(16) : R.toString(16)); var GG = ((G.toString(16).length == 1) ? "0" + G.toString(16) : G.toString(16)); var BB = ((B.toString(16).length == 1) ? "0" + B.toString(16) : B.toString(16)); return "#" + RR + GG + BB; }; var status = false; var colorep = "#ffffff"; var idStr = idColorPicker.split('_'); // var pz = idStr[2].split('--'); // idStr[2] = pz[0]; if (isset(colori[id][idStr[2]])) { //colorep = colori[id][idStr[2]]; colorep = shadeColor(colori[id][idStr[2]], -40); } else { // provo replace --1 var pz = idStr[2].split('--'); if (isset(colori[id][pz[0]])) { //colorep = colori[id][pz[0]]; colorep = shadeColor(colori[id][pz[0]], 50); } } //console.log('Config colore:'+colorep); /*GESTIONE della info nella scheda idStr[1]=> SMA WMA o VOL al momento, controllo se ho già salvato delle informazioni*/ if ($.type(contenutoTabStrip[id].SCHEDE_INDICATORI[idStr[1]]) === "array" && contenutoTabStrip[id].SCHEDE_INDICATORI[idStr[1]].length > 0) { var contenutoScheda = contenutoTabStrip[id].SCHEDE_INDICATORI[idStr[1]]; //console.log(contenutoScheda); var trovaStrumento = jQuery.grep(contenutoScheda, function(dato, i) { return (dato.idStr == idStr[2]); }); //se trovo lo strumento allora abilito il resto if ($.type(trovaStrumento[0]) === 'object') { colorep = trovaStrumento[0].colore; //setto il colore status = true; //abilito il picker $(':checkbox[name=' + barraConfiguratoreIndicatore[id].campiCheck + idStr[1] + '_' + id + '][value=' + idStr[2] + ']').prop('checked', true); //abilito il check // if(idStr[1]=='SMA' || idStr[1]=='WMA' ){ if ($.inArray(idStr[1], ["SMA", "WMA", "RSI"]) >= 0) { contenutoTabStrip[id].onOffInput(barraConfiguratoreIndicatore[id].campiInput + idStr[1] + '_' + idStr[2], false); contenutoTabStrip[id].settaValoreInput(barraConfiguratoreIndicatore[id].campiInput + idStr[1] + '_' + idStr[2], trovaStrumento[0].giorni); } if (idStr[1] == 'VOL') { contenutoTabStrip[id].onOffSelect(barraConfiguratoreIndicatore[id].campiSelect + idStr[1] + '_' + idStr[2], true); contenutoTabStrip[id].settaValoreSelect(barraConfiguratoreIndicatore[id].campiSelect + idStr[1] + '_' + idStr[2], trovaStrumento[0].periodo); } } } /*fine*/ //attivazione/disattivazione colorpicker con eventuale colore già precaricato var prendiPaletta = function(lsPaletta, lsCosa) { if (typeof lsCosa === 'undefined') { lsCosa = 'colori'; } var palette = { 'metro': { 'colori': [ "#ffffff", "#000000", "#d6ecff", "#4e5b6f", "#7fd13b", "#ea157a", "#feb80a", "#00addc", "#738ac8", "#1ab39f", "#f2f2f2", "#7f7f7f", "#a7d6ff", "#d9dde4", "#e5f5d7", "#fad0e4", "#fef0cd", "#c5f2ff", "#e2e7f4", "#c9f7f1", "#d8d8d8", "#595959", "#60b5ff", "#b3bcca", "#cbecb0", "#f6a1c9", "#fee29c", "#8be6ff", "#c7d0e9", "#94efe3", "#bfbfbf", "#3f3f3f", "#007dea", "#8d9baf", "#b2e389", "#f272af", "#fed46b", "#51d9ff", "#aab8de", "#5fe7d5", "#a5a5a5", "#262626", "#003e75", "#3a4453", "#5ea226", "#af0f5b", "#c58c00", "#0081a5", "#425ea9", "#138677", "#7f7f7f", "#0c0c0c", "#00192e", "#272d37", "#3f6c19", "#750a3d", "#835d00", "#00566e", "#2c3f71", "#0c594f" ], 'colonne': 5 }, 'basic': { 'colori': 'basic', /*'colori':[ '#000000', '#ffffff', '#7f7f7f', '#c3c3c3', '#880015', '#b97a57', '#ed1c24', '#ffaec9', '#ff7f27', '#ffc90e', '#fff200', '#efe4b0', '#22b14c', '#b5e61d', '#00a2e8', '#99d9ea', '#3f48cc', '#7092be', '#a349a4', '#c8bfe7' ], */ 'colonne': 5 } }; return palette[lsPaletta][lsCosa]; }; var cp = $("#" + idColorPicker).kendoColorPicker({ value: colorep, buttons: false, /* palette: common.palette,*/ //palette:"basic", palette: prendiPaletta('basic', 'colori'), columns: prendiPaletta('basic', 'colonne'), change: function(e) { var value = this.value(); } }).data("kendoColorPicker"); cp.enable(status); }, generaSelectPeriodo: function(idSel) { var idStr = idSel.split('_'); var defVal = "3m"; //if(isset(colori[idStr[2]])) colorep = colori[idStr[2]]; var ddl = $("#" + idSel).kendoDropDownList({ value: defVal, change: function(e) { var value = this.value(); // Use the value of the widget //console.log(value); } }).data("kendoDropDownList"); ddl.enable(false); } }; barraConfiguratoreIndicatore[id] = { // cleanId:id.replace('_',''), //nomi delle variabili generate dalla pagina php a01_tabStripIndicatori campiCheck: "chk_", campiInput: "giorni_", campiColore: "myColorField_", campiSelect: "periodo_", creaBottoniAzioniSuSchede: function(loObj) { if ($.isEmptyObject(loObj)) { /*BOTTONI GENERATI SEMPRE*/ //aggiornamento e chiusura $("#aggiornaIndicatori_" + id).kendoButton({ icon: "refresh", click: function(e) { azioniBottoni[id].buttonClickAggiornaIndicatori(); //leggo le info degli indicatori //$("#scatola_window_indicatori_cfg_"+id).data("kendoWindow").close(); //chiudo la kendo window //2018-03-01, per eliminare del tutto la kendo al close interviene la deactivate var idDivFiglio = 'boxfiglio_window_indicatori_cfg_' + id; $("#" + idDivFiglio).data("kendoWindow").close(); //chiudo la kendo window azioniBottoni[id].buttonClickRefresh(); //refresh del grafico } }); //aggiunta di una eventuale tab $("#aggiungiIndicatori_" + id).kendoButton({ click: function(e) { if ($('#tabStrip_cfg_' + id).css('display') != 'none') { $('#tabStrip_cfg_' + id).hide(); var indicatoriPresenti = contenutoTabStrip[id].ottieniIndicatoriPresenti(); barraConfiguratore[id].popolaIndicatoriGrafico(indicatoriPresenti, 'nascondi'); //se mi ritorna un messaggio di nessun indicatore da aggiungere... if ($('div.avviso_no_indicatori').length > 0) { $('#gestioneIndicatori_' + id).show(); $('div.avviso_no_indicatori').hide(2500, function() { $('#gestioneIndicatori_' + id).hide(1, function() { $('#tabStrip_cfg_' + id).show(); }); }); } else { contenutoTabStrip[id].gestisciContenutoIndicatori(); $('#gestioneIndicatori_' + id).show(); } } else { $('#tabStrip_cfg_' + id).show(); $('#gestioneIndicatori_' + id).hide(); } } }); //reimpostazione degli indicatori $("#reimpostaIndicatori_" + id).kendoButton({ imageUrl: common.path + "/immagini/undo_piccola.png", click: function(e) { if (true === confirm('Ripristinare valori di default a tutti gli indicatori?')) { contenutoTabStrip[id].resetSchedeIndicatori(); $('#tabStrip_cfg_' + id).show(); $('#gestioneIndicatori_' + id).hide(); } } }); /*FINE BOTTONI GENERATI SEMPRE*/ } else { var id_btn = loObj.id, azione_btn = loObj.azione; /*BOTTONI DENTRO LA TAB*/ //console.log(id_btn); //console.log(azione_btn); //elimina indicatore if (azione_btn == 'elimina') { $("#" + id_btn).kendoButton({ //icon: "minus", click: function(e) { // console.log($(e.sender.element[0]).attr('id')); //id del bottone if (true === confirm('Eliminare questo indicatore?')) { barraConfiguratoreIndicatore[id].eliminaSchedaIndicatore($(e.sender.element[0]).attr('id')); } } }); } /* FINE BOTTONI DENTRO LA TAB*/ } }, creaTabStripIndicatori: function() { $("#tabStrip_cfg_" + id).kendoTabStrip({ animation: { open: { effects: "fadeIn" } }, select: barraConfiguratoreIndicatore[id].switchTab }); }, gestisciCheckboxTab: function(e) { if ($(this).is(':checkbox')) { var valoreCheck = $(this).val(), nomeCheck = $(this).attr('name'), indicatore = $(this).attr('name').split('_'); /* console.log('gestisciCheckboxTab'); console.log(valoreCheck); console.log(nomeCheck); console.log(indicatore);*/ } if ($(this).is(':button')) { //CASO BOTTONI var valoreCheck = $(this).val(), //tutti o nessuno laEmulaNomeCheck = $(this).attr('name').split('-'), //splitto con il meno nomeCheck = laEmulaNomeCheck[1]; indicatore = laEmulaNomeCheck[1].split('_'); } // console.log(valoreCheck); // console.log(nomeCheck); // console.log(indicatore); //console.log($(this).attr('name')+ ' valore='+$(this).val()+ ' checked='+$(this).is(':checked')+' indicatore='+indicatore[1] ); if (valoreCheck == 'tutti') { $(':checkbox[name=' + nomeCheck + ']').prop('checked', true); var inputChbox = $(':checkbox[name=' + nomeCheck + ']'); contenutoTabStrip[id].ciclaCampi(inputChbox, indicatore[1], 'abilita'); } else if (valoreCheck == 'nessuno') { $(':checkbox[name=' + nomeCheck + ']').prop('checked', false); var inputChbox = $(':checkbox[name=' + nomeCheck + ']'); contenutoTabStrip[id].ciclaCampi(inputChbox, indicatore[1], 'disabilita'); } else { //console.log('valoreCheck='+valoreCheck); var campoColore = barraConfiguratoreIndicatore[id].campiColore + indicatore[1] + '_' + valoreCheck; var campoColore2 = barraConfiguratoreIndicatore[id].campiColore + indicatore[1] + '_' + valoreCheck + "--1"; //console.log('campoColore='+campoColore) //media semplice o pesata // if(indicatore[1]=='SMA' || indicatore[1]=='WMA' ){ if ($.inArray(indicatore[1], ["SMA", "WMA", "RSI"]) >= 0) { // console.log("entro per "+valoreCheck+' '+nomeCheck+' '+indicatore[1] ); var campoInput = barraConfiguratoreIndicatore[id].campiInput + indicatore[1] + '_' + valoreCheck; var campoInput2 = barraConfiguratoreIndicatore[id].campiInput + indicatore[1] + '_' + valoreCheck + '--1'; if ($(this).is(':checked')) { contenutoTabStrip[id].onOffInput(campoInput, false); contenutoTabStrip[id].onOffInput(campoInput2, false); contenutoTabStrip[id].onOffColore(campoColore, true); contenutoTabStrip[id].onOffColore(campoColore2, true); } else { contenutoTabStrip[id].onOffInput(campoInput, true); contenutoTabStrip[id].onOffInput(campoInput2, true); contenutoTabStrip[id].onOffColore(campoColore, false); contenutoTabStrip[id].onOffColore(campoColore2, false); } } //vol rolling if (indicatore[1] == 'VOL') { var campoSelect = barraConfiguratoreIndicatore[id].campiSelect + indicatore[1] + '_' + valoreCheck; var campoSelect2 = barraConfiguratoreIndicatore[id].campiSelect + indicatore[1] + '_' + valoreCheck + '--1';; if ($(this).is(':checked')) { contenutoTabStrip[id].onOffSelect(campoSelect, true); contenutoTabStrip[id].onOffColore(campoColore, true); contenutoTabStrip[id].onOffSelect(campoSelect2, true); contenutoTabStrip[id].onOffColore(campoColore2, true); } else { contenutoTabStrip[id].onOffSelect(campoSelect, false); contenutoTabStrip[id].onOffColore(campoColore, false); contenutoTabStrip[id].onOffSelect(campoSelect2, false); contenutoTabStrip[id].onOffColore(campoColore2, false); } } } }, switchTab: function(e) { var index = barraConfiguratoreIndicatore[id].prendiIndiceTabStrip(e); }, prendiIndiceTabStrip: function(e) { var index = $(e.item).index(); return index; }, eliminaSchedaIndicatore: function(idBtnEliminaScheda) { //console.log('eliminaSchedaIndicatore'); //console.log(idBtnEliminaScheda); /* var getItem = function (target) { var itemIndex = target[0].value; return tabStrip.tabGroup.children("li").eq(itemIndex); }*/ var la_idScheda = idBtnEliminaScheda.split('_'); var tabStrip = $("#tabStrip_cfg_" + id).data("kendoTabStrip"); var tab = tabStrip.select(), otherTab = tab.next(); otherTab = otherTab.length ? otherTab : tab.prev(); tabStrip.remove(tab); tabStrip.select(otherTab); contenutoTabStrip[id].SCHEDE_INDICATORI[la_idScheda[1]] = new Array(); if ($.type(contenutoTabStrip[id].SCHEDE_INDICATORI[la_idScheda[1]]) !== "undefined") { delete contenutoTabStrip[id].SCHEDE_INDICATORI[la_idScheda[1]]; //tolgo la configurazione scheda for (j in contenutoTabStrip[id].DS_SCHEDE_INDICATORI) { var lobj = contenutoTabStrip[id].DS_SCHEDE_INDICATORI[j], idInd = lobj.id.split('_'); //console.log(j); //console.log(lobj); if (idInd[2] == la_idScheda[1]) { //console.log('Eliminata la scheda='+id[2]); delete contenutoTabStrip[id].DS_SCHEDE_INDICATORI[j]; } } } contenutoTabStrip[id].DS_SCHEDE_INDICATORI = $.grep(contenutoTabStrip[id].DS_SCHEDE_INDICATORI, function(n) { return (n) }); } }; azioniBottoni[id] = { primaDataComune: '', buttonClickConfrontaCon: function() { var idWindow = 'finestraOpzioni_dataviz_' + id; //console.log(parametriStart[id].oParametriStart.lsTipiConfronto); var lsTipiConfronto = parametriStart[id].oParametriStart.lsTipiConfronto; $.get(common.path + '/pagine/a01_dataviz_confronta_portafoglio.php?lsIdDestinazione=' + id + '&lsTipiConfronto=' + lsTipiConfronto + '&sid=' + sessione.sid, function(data) { $("#" + idWindow).html('
' + data + '
'); // alert( "Load was performed." ); }).done(function() { var myWindow = $('#popupxy_cp'); var oKW = myWindow.kendoWindow({ width: "600px", height: "200px", title: traduci("Confronta Portafoglio"), visible: false, actions: ["Close"], //close: onClose /** * 2017-11-08 * Impostato questo bind di evento per exact4php\js\sv\cu\a01assetallocation.js * se lo intercetta modifica il posizionamento di questa finestra */ open: function(e) { $('#' + e.sender.element[0].id).trigger('apertaKWindowFrontieraEfficiente', { 'id': e.sender.element[0].id }); } }).data("kendoWindow").center().open(); function window_close(e) { myWindow.html(''); myWindow.data("kendoWindow").destroy(); } oKW.bind("close", window_close); }); }, chiudiConfrontaCon: function() { var window = $('#popupxy_cp').data("kendoWindow"); if (window) { window.close(); window.destroy(); } }, avvisaErrore: function(errore) { console.log(errore); var window = $('#popupxy_cp').data("kendoWindow"); if (window) { window.content(errore); setTimeout(function() { window.close(); window.destroy(); }, 2500); } }, aggiungiNuovoPortafoglioScatter: function() { var idEsitoMessaggioDatiNonValidi = 'datavizmessaggiocftptf'; $('#cercaportafoglio').kendoAutoComplete({ autoWidth: true, dataTextField: 'descptf', filter: 'contains', minLength: 3, placeholder: 'cerca elemento', /*2018-01-04 MODIFICATA LA DESC DEL PLACEHOLDER*/ dataSource: { serverFiltering: true, transport: { read: { url: common.path + '/pagine/a01_dataviz_confronta_portafoglio.php', dataType: 'json', type: 'POST', data: { azionerisposta: 'cerca', lstipo: function() { return $('#lstiporicerca_' + id + ' option:checked').val() }, ajax: 1, sid: sessione.sid } } } }, select: function(e) { // call preventDefault() to prevent the selection // console.log(e); e.preventDefault(); //$('#cercaportafoglio').val(e.dataItem.descptf);//fino al 2018-01-04 /*nuova pulizia dell'item tornato da ws 2018-01-04*/ var oPuliziaDaWs = new RestituisiciValoreDescrizioneDaRicercaStrumentiWs(e.dataItem.descptf); oPuliziaDaWs.pulisciValore(); $('#cercaportafoglio').val(oPuliziaDaWs.restituisciValorePulito()); /*end nuova pulizia dell'item tornato da ws 2018-01-04*/ $('#idportafoglioselezionato').val(e.dataItem.idptf); $("#lstipofamiglia").val(e.dataItem.lstipofamiglia); $('#addcompara').button().show(); // $('#picker').show().kendoColorPicker(); $('#addcompara').off('click'); $('#addcompara').on('click', function() { //var colore = $('#picker').val(); var idptf = $('#idportafoglioselezionato').val(); var descptf = $('#cercaportafoglio').val(); var lstipofamiglia = $('#lstipofamiglia').val(); // console.log( parametriStart[id] ); $.ajax({ url: common.path + '/pagine/a01_dataviz_confronta_portafoglio.php', dataType: 'json', type: 'POST', data: { azionerisposta: 'puntoportafoglio', ajax: 1, sid: sessione.sid, idportafoglio: idptf, lstipofamiglia: lstipofamiglia, oparametri: parametriStart[id].oParametriStart // qui devo passargli le date }, success: function(json) { if (json.esito === true) { var chart = $('#chart_' + id).data('kendoChart'); if (json.x <= chart.options.xAxis.min) { //chart.options.xAxis.min = Math.floor(json.x-1); //chart.options.xAxis.axisCrossingValue = Math.floor(json.x-1); chart.options.xAxis.min = json.x - 1; chart.options.xAxis.axisCrossingValue = json.x - 1; } // if( json.x >= chart.options.xAxis.max ) { if ((json.x - chart.options.xAxis.max) >= -0.5) { //chart.options.xAxis.max = Math.ceil(json.x+1); chart.options.xAxis.max = json.x + 1; } if (json.y <= chart.options.yAxis.min) { //chart.options.yAxis.min = Math.floor(json.y-1); //chart.options.yAxis.axisCrossingValue = Math.floor(json.y-1); chart.options.yAxis.min = json.y - 1; chart.options.yAxis.axisCrossingValue = json.y - 1; } if ((json.y - chart.options.yAxis.max) >= -0.5) { // chart.options.yAxis.max = Math.ceil(json.y+1); chart.options.yAxis.max = json.y + 1; } var colore = json.colore; chart.options.series.push({ name: descptf, color: colore, data: [ [json.x, json.y] ] }); chart.redraw(); azioniBottoni[id].chiudiConfrontaCon(); } else { var lsMessaggio = ''; if (json.hasOwnProperty('messaggio')) { lsMessaggio = json.messaggio; } if ($('#' + idEsitoMessaggioDatiNonValidi).size()) { $('#' + idEsitoMessaggioDatiNonValidi).html("
Dati non validi: " + lsMessaggio + "
"); setTimeout(function() { $('#' + idEsitoMessaggioDatiNonValidi).html(''); }, 2500); } else { azioniBottoni[id].avvisaErrore("
Dati non validi" + lsMessaggio + "
"); } } } }); }); } }); }, nascondiBottoniPeriodoInizioAnno: function(id) { $("#intAnno_YTD_" + id).hide(); }, nascondiBottoniPeriodo: function(dcGiorni, id) { //console.log(dcGiorni + " giorni"); if (dcGiorni < 91) $("#intAnno_M3_" + id).hide(); if (dcGiorni < 182) $("#intAnno_M6_" + id).hide(); if (dcGiorni < 365) $("#intAnno_Y1_" + id).hide(); if (dcGiorni < 731) $("#intAnno_Y2_" + id).hide(); if (dcGiorni < 1096) $("#intAnno_Y3_" + id).hide(); if (dcGiorni < 1826) $("#intAnno_Y5_" + id).hide(); }, btnTogglePersonalizzato: function() { barraConfiguratore[id].lbDateVisibili = 1; barraConfiguratore[id].mostraNascondiDate(); }, btnSpostaSelectSuPersonalizzato: function() { var toolbar = $("#toolbar_cfg2_" + id).data("kendoToolBar"), selected; /** * 2020-11-26 * modifica chiamata se sono in toolbar singola, toolbar_cfg2_ non esiste */ if ('singola' == parametriConfiguratore[id].leggiParametro('tipotoolbar')) { toolbar = $("#toolbar_cfg_" + id).data("kendoToolBar") } selected = toolbar.getSelectedFromGroup("intervalloAnno_" + id); var idBottoneSelezionatoPrec = selected.attr('id'); var liIndicePredefinito = 1; if (!toolbar.options.items[liIndicePredefinito].hasOwnProperty('buttons')) liIndicePredefinito = 0; var btnsIntervalloAnno = toolbar.options.items[liIndicePredefinito].buttons; $.each(btnsIntervalloAnno, function(i, item) { if (item.id == idBottoneSelezionatoPrec) { item.selected = false; $('#' + item.id).removeClass('k-state-active'); } if (item.id == 'intAnno_YYY_' + id) { item.selected = true; $('#intAnno_YYY_' + id).addClass('k-state-active'); } }); }, buttonPrimaDataComune: function(lbRefresh, dcPeriodo) { if (dcPeriodo == 'YYY') { //var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); var navigatorTo = new Date(); var fromDt = azioniBottoni[id].primaDataComune; //fromDt = "01/04/2014"; // temporanea poi da togliere var datepickerDataDa = $("#lsDataDa_cfg_" + id).data("kendoDatePicker") || null; if (datepickerDataDa) { datepickerDataDa.value(fromDt); $("#lsDataDa_cfg_" + id).val(fromDt); if ($("#lsDataA_cfg_" + id).val() == '') { var datepickerDataA = $("#lsDataA_cfg_" + id).data("kendoDatePicker"); datepickerDataA.value(kendo.format("{0:dd/MM/yyyy}", navigatorTo)); $("#lsDataA_cfg_" + id).val(kendo.format("{0:dd/MM/yyyy}", navigatorTo)); } // SELEZIONA bottone PERSONALIZZATO nella Barra azioniBottoni[id].btnTogglePersonalizzato(); azioniBottoni[id].btnSpostaSelectSuPersonalizzato(); //altrimenti va in loop se non la imposto a 0 barraConfiguratore[id].oParametri.ia = 'YYY'; } } if (lbRefresh) { azioniBottoni[id].buttonClickRefresh(); } }, /* impostaDataComune:function(value){ // barraConfiguratore[id].oParametri.dc=value; if(value===0){ barraConfiguratore[id].oParametri.ia='YYY'; } }, */ impostaPrimaDataComune: function(dt) { var newdt = dt.substr(8, 2) + "/" + dt.substr(5, 2) + "/" + dt.substr(0, 4); azioniBottoni[id].primaDataComune = newdt; }, leggiVisibilitaSerie: function() { chart = $("#stock-chart_" + id).data("kendoStockChart"); //console.log( chart.options.series); var laVisibile = {}; $.each(chart.options.series, function(index, obj) { //console.log( index + ": " + obj.name + ": " + obj.visible ); laVisibile[obj.name] = obj.visible; }); common.storage[id].Imposta('visibilitaserie', JSON.stringify(laVisibile)); //console.log( JSON.stringify(laVisibile) ); console.log(barraConfiguratore[id].oParametri.indicatori); common.storage[id].Imposta('indicatoriattivi', JSON.stringify(barraConfiguratore[id].oParametri.indicatori)); }, buttonClickRefresh: function() { $("#loading_dataviz_" + id).show(); $("#stock-chart_" + id).hide(); $("#grafico_dataviz_" + id).hide(); setTimeout(function() { //console.log(barraConfiguratore[id].oParametri); /** qui ci arrivo anche se ripristino tutti i parametri... ma in quel caso non devo ripristinare lo storage appena pulito **/ if (parametriStart[id].lbRipristino !== true) { console.log('leggiVisibilitaSerie'); azioniBottoni[id].leggiVisibilitaSerie(); } if (parametriStart[id].lbRipristino === false) { parametriConfiguratore[id].settaDate(); //prendo i valori con jq e li rimetto in kendoDatePicker parametriConfiguratore[id].settaBottoni(); } if (flagCfg[id].lbStampaOParametri == 1) { console.log(JSON.stringify(barraConfiguratore[id].oParametri)); console.log(JSON.stringify(parametriStart[id].oParametriStart)); } if (parametriStart[id].lbRipristino === true) { common.carica_configuratore(encode64(unescape(encodeURIComponent(JSON.stringify(parametriStart[id].oParametriStart)))), id); } /*Qui passiamo tutto aggiornato 2018-06-13*/ var dataSettings = encode64(unescape(encodeURIComponent(JSON.stringify(barraConfiguratore[id].oParametri)))); /*Qui passiamo tutto aggiornato 2018-06-13*/ azioniEsporta.salvaSettaggiCorrenti(id, dataSettings); //console.log('REFRESH....',dataSettings); common.carica_grafico(dataSettings, id, 0); // aggiorna eventuale opener pagina[id].aggiornaOpener(); }, 100); }, buttonClickInviaSettaggi_SeSoloUnUnicoElemento: function() { setTimeout(function() { parametriConfiguratore[id].settaDate(); /*Scorporato 2019-04-16*/ var dataSettings = encode64(unescape(encodeURIComponent(JSON.stringify(barraConfiguratore[id].oParametri)))); azioniEsporta.salvaSettaggiCorrenti(id, dataSettings); }, 200); }, buttonClickIndicatori: function(e) { if (contenutoTabStrip[id].DS_SCHEDE_INDICATORI.length == 0) { var DataSourceIndicatori = barraConfiguratore[id].popolaIndicatoriGrafico('SMA', 'mostra'); contenutoTabStrip[id].DS_SCHEDE_INDICATORI = DataSourceIndicatori; } azioniBottoni[id].generaFinestraIndicatori(); }, buttonClickStrumenti: function(e) { azioniBottoni[id].generaFinestraAggRimStrumenti(); }, generaFinestraAggRimStrumenti: function() { var kwAggRimStrumenti = $("#scatola_window_strumenti_cfg_" + id).kendoWindow({ title: traduci("Strumenti Grafico"), actions: ["Close"], draggable: true, height: "450", width: "700", iframe: false, modal: true, resizable: true, open: function(e) { $("#scatola_window_strumenti_cfg_" + id).data('kendoWindow').content('
'); this.wrapper.css({ top: 20 }); }, activate: function(e) { setTimeout(function() { $("#scatola_window_strumenti_cfg_" + id).data('kendoWindow').refresh({ type: "POST", url: common.path + "/pagine/a01_dataviz_ricercastrumento.php?sid=" + sessione.sid, data: { gtipo: 'ggrafico', azione: 'aggiungirimuovi', //lsStrumentiJson: JSON.stringify( STRUMENTIPULITI[id].ricava() ), //lsListeJson: JSON.stringify(LISTEPULITE[id].ricava() ), lsStrumentiJson: encode64(unescape(encodeURIComponent(JSON.stringify(STRUMENTIPULITI[id].ricava())))), lsListeJson: encode64(unescape(encodeURIComponent(JSON.stringify(LISTEPULITE[id].ricava())))), lsIdDestinazione: id } }); }, 250); } }).data('kendoWindow'); kwAggRimStrumenti.center().open(); }, generaFinestraIndicatori: function() { var idDivFiglio = 'boxfiglio_window_indicatori_cfg_' + id; var oElementoKWindow = $("#scatola_window_indicatori_cfg_" + id).append('
'); //var kwIndicatori=$("#scatola_window_indicatori_cfg_"+id).kendoWindow({ var kwIndicatori = $("#" + idDivFiglio).kendoWindow({ title: traduci("Indicatori Grafico"), actions: ["Close"], draggable: true, height: "400", width: "600", iframe: false, modal: true, resizable: true, open: function(e) { //$("#scatola_window_indicatori_cfg_"+id).data("kendoWindow").content('
'); $("#" + idDivFiglio).data("kendoWindow").content('
'); this.wrapper.css({ top: 20 }); }, activate: function(e) { setTimeout(function() { //$("#scatola_window_indicatori_cfg_"+id).data("kendoWindow").refresh({ $("#" + idDivFiglio).data("kendoWindow").refresh({ type: "POST", url: common.path + "/pagine/a01_tabStripIndicatori.php?sid=" + sessione.sid, data: { lsIndicatoriJson: JSON.stringify(contenutoTabStrip[id].DS_SCHEDE_INDICATORI), lsStrumentiJson: JSON.stringify(STRUMENTIPULITI[id].ricava()), lsIdDestinazione: id } }); }, 250); }, deactivate: function(e) { //2018-03-01, con questo deactivate piallo il div figlio, si dovrebbe eliminare problema di apertura kwindow a volte vuota entrado e uscendo da analisi in Exact4 e.sender.destroy(); } }).data('kendoWindow'); kwIndicatori.center().open(); }, buttonClickAggiornaIndicatori: function() { contenutoTabStrip[id].leggiInformazioneSchede(); barraConfiguratore[id].oParametri.indicatori = contenutoTabStrip[id].SCHEDE_INDICATORI; }, SplitBtnTipoGrafico: function(e) { //console.log(e.target.text() + " 'click generico' event is fired on toolbar su id="+e.id); var valTipoGrafico = e.id.split("_"); parametriConfiguratore[id].settaGrafico(valTipoGrafico[1]); azioniBottoni[id].buttonClickRefresh(); }, SplitBtnTipoValuta: function(e) { //console.log(e.target.text() + " 'click generico' event is fired on toolbar su id="+e.id); var valTipoValuta = e.id.split("_"); parametriConfiguratore[id].settaValute(valTipoValuta[1]); azioniBottoni[id].buttonClickRefresh(); }, buttonClickPng: function() { setTimeout(function() { azioniEsporta.Png(id); }, 1); }, buttonClickExcel: function() { azioniEsporta.dialogoAttesa('Excel', id); }, buttonClickExportPdf: function() { //azioniEsporta.esportaPdf(); if (barraConfiguratore[id].oParametri.toPdf == '1') { azioniEsporta.esportaHtmlToPdf('filePrecalcoloPdf-cfg', id); } else { azioniEsporta.esportaHtmlToPdf('suclick', id); } }, buttonClickExportDoc: function() { azioniEsporta.esportaDoc(id); }, inserisciImpostazioni: function() { azioniEsporta.salvaPreferenzeUtente(id); }, restituisciImpostazioni: function() { } }; contenutoAggRimStrumenti[id] = { ELENCO_STRUMENTI: {}, //oggetto con chiavi composte dal codice indicatore, ogni chiave è un array di oggetti DS_ELENCO_STRUMENTI: [], init: function() { var tipoStrumentoInserito = contenutoAggRimStrumenti[id].prendiValoreTipoStrumento(); }, prendiValoreTipoStrumento: function() { return $("#lstiporicerca_" + id).data('kendoDropDownList').value(); } }; LISTEPULITE[id] = { listeScelte: [], ricava: function() { LISTEPULITE[id].listeScelte = []; var FinaleListe = {}; for (var i in liste[id]) { LISTEPULITE[id].listeScelte.push(i); /*console.log('i='); console.log(i); console.log('liste[id][i]='); console.log(liste[id][i]);*/ var eleLista = liste[id][i]; for (var chiavi in eleLista) { /*console.log('chiavi='); console.log(chiavi); console.log('eleLista[chiavi]='); console.log(eleLista[chiavi]);*/ var loObjNew = {}; loObjNew.chiave = chiavi; loObjNew.valore = eleLista[chiavi]; if (!(i in FinaleListe)) { FinaleListe[i] = []; } FinaleListe[i].push(loObjNew); } }; if (flagCfg[id].lbStampaOParametri == 1) { console.log('FinaleListe'); console.log(FinaleListe); console.log('FinaleListe stringify x il php'); console.log(JSON.stringify(FinaleListe)); console.log('END FinaleListe'); } return FinaleListe; }, controlla: function(idStrumento) { //console.log('Controllo lista codice:'+idStrumento); var posPunto = idStrumento.indexOf('.'); if (posPunto > 0) { idStrumento = idStrumento.substr(0, posPunto); } //se non c'è tra le liste //if($.inArray('lis-'+idStrumento,liste[id]['lis-'+idStrumento])==-1){ if ($.inArray('lis-' + idStrumento, LISTEPULITE[id].listeScelte) == -1) { return 'lis-' + idStrumento; } else { return false; } } }; cfgTabStripRicStrumenti[id] = { onSelect: function(e) { //var titoloTab=$(e.item).find("> .k-link").text(); var spanClasse = $(e.item).find("> .k-link span"); var lsClasseTab = $(spanClasse).attr('class'); var titoloTab = ''; if (lsClasseTab.indexOf('strumenti') !== -1) { titoloTab = 'Strumenti'; } else if (lsClasseTab.indexOf('liste') !== -1) { titoloTab = 'Liste'; } else if (lsClasseTab.indexOf('portafogli') !== -1) { titoloTab = 'Portafogli'; } console.log('cfgTabStripRicStrumenti::onSelect titoloTab=', titoloTab, lsClasseTab); var dropdownlist = $("#lstiporicerca_" + id).data('kendoDropDownList'); var indiceImposto = 0; switch (titoloTab) { case 'Strumenti': indiceImposto = $("#lstiporicerca_" + id + " option[value=1]").index(); break; case 'Liste': indiceImposto = $("#lstiporicerca_" + id + " option[value=E]").index(); break; case 'Portafogli': indiceImposto = $("#lstiporicerca_" + id + " option[value=ut01]").index(); break; } dropdownlist.select(dropdownlist.ul.children().eq(indiceImposto)); }, creaTabStripStrumenti: function() { $("#tabStrip_cfg_ricstrumenti_" + id).kendoTabStrip({ animation: { open: { effects: "fadeIn" } }, select: cfgTabStripRicStrumenti[id].onSelect }); }, controllaTab: function(idChiaveTab) { //console.log('Controllo tab... id='+idChiaveTab); var lsChiave = '', lsTitoloTab = ''; var idDivTab = 'schedatab_'; var lsClasseTab = ''; if (idChiaveTab == 'lis-') { lsChiave = idChiaveTab; idDivTab = idDivTab + lsChiave + '_' + id; lsTitoloTab = traduci('Liste'); lsClasseTab = 'liste'; } else { var posPunto = idChiaveTab.indexOf('.'); if (posPunto > 0) { idChiaveTab = idChiaveTab.substr(0, posPunto); } //se non è nè un bck o un ptf aggiungo 'st' if ((idChiaveTab.substr(0, 3) == 'bck' || idChiaveTab.substr(0, 3) == 'ptf')) { lsChiave = 'ptf_bck'; lsTitoloTab = traduci('Portafogli'); lsClasseTab = 'portafogli'; } else { lsChiave = 'st'; lsTitoloTab = traduci('Strumenti'); lsClasseTab = 'strumenti'; } idDivTab = idDivTab + lsChiave + '_' + id; } if ($('div#' + idDivTab).size() > 0) { //console.log('La tab esiste già'); } else { //console.log('La tab non esiste va popolata e messa'); cfgTabStripRicStrumenti[id].aggiungiTab(idDivTab, lsTitoloTab, lsClasseTab); } return idDivTab; }, aggiungiRigaStrumentoTab: function(strumento, nomestrumento, idDivTab) { if (strumento != "" && nomestrumento != "") { var html = ''; $('#' + idDivTab + '>table').append(html); contenutoTabStrip[id].aggiustaTestoStrumento(addslashes(nomestrumento), 60, ' ', '...', 'strumentotooltip_' + strumento + '_' + id); ricercaStrumento[id].creaTooltipStrumenti(); strumenti[id][strumento] = nomestrumento; STRUMENTIPULITI[id].strumentiScelti.push(strumento); } }, aggiungiRigaStrumentoTabListe: function(lista, strumento, nomestrumento, idDivTab) { //console.log(lista); //console.log(strumento); //console.log(nomestrumento); //console.log(idDivTab); if (strumento != "" && nomestrumento != "") { var html = ''; $('#' + idDivTab + '>table').append(html); contenutoTabStrip[id].aggiustaTestoStrumento(addslashes(nomestrumento), 45, ' ', '...', 'strumentotooltip_' + strumento + '_' + lista + '_' + id); ricercaStrumento[id].creaTooltipStrumenti(); liste[id][lista][strumento] = nomestrumento; } }, aggiungiRigaStrumentoTabListeTitolo: function(lista, descrizioneLista, idDivTab) { //console.log('Titolo della lista='+descrizioneLista); //console.log('CHIAVE ID lista='+lista);//titoloLista_'.$IdLista.'_'.$this->lsIdDestinatario.' var html = '' + descrizioneLista + ''; $('#' + idDivTab + '>table').append(html); liste[id][lista] = new Array(); liste[id][lista]['nome'] = descrizioneLista; LISTEPULITE[id].listeScelte.push(lista); }, aggiungiTab: function(lsIdDivTab, lsTitoloTab, lsClasseTab) { //il tab ha una forma del tipo schedatab_st_test1 -->"schedatab_" coniugato con "st" "ptf_bck" o "lis-" e allafine "_nomediv" //div della kendoTabStrip che contiene le info var tabStrip = $("#tabStrip_cfg_ricstrumenti_" + id).data("kendoTabStrip"); var lsHtml = '
'; var lsTable = ''; tabStrip.append({ text: lsTitoloTab, content: lsHtml + lsTable + '
', 'spriteCssClass': lsClasseTab }); tabStrip.select('li:last'); }, rimuoviTab: function(vettoreTab) { var tabStrip = $("#tabStrip_cfg_ricstrumenti_" + id).data("kendoTabStrip"); for (idDivTab in vettoreTab) { if ($("div#" + idDivTab + '>table>tbody tr').size() == 0) { var altraTab = vettoreTab[idDivTab].prev(); altraTab = altraTab.length ? altraTab : vettoreTab[idDivTab].next(); tabStrip.remove(vettoreTab[idDivTab]); tabStrip.select(altraTab); } } }, gestisciCheckboxTabRicStruListaSingolo: function() { //seleziono tutti i titoli lista var checkTitoliListe = "input:checkbox[class^=titoloLista_][class$=_" + id + "]"; //per ciascun titolo della lista $.each($(checkTitoliListe), function() { //ottengo l'id lista var lista = $(this).val(); //catturo tutti check di quella lista var checkDellaLista = "input:checkbox[name^=strumentochk_][name*=" + lista + "][name$=_" + id + "]"; var szTuttiCheck = $(checkDellaLista).size(); //conto i non checked var szCheckNonChecked = $(checkDellaLista + ':not(:checked)').size(); //conto i checked var szCheckChecked = $(checkDellaLista + ':checked').size(); //se sono tutti checked allora anche il titolo lista diventa checked if (szTuttiCheck == szCheckChecked) { $(this).prop('checked', true); } //se almeno uno è non checked allora il titolo lista deve esssere non checked else if (szCheckNonChecked > 0) { $(this).prop('checked', false); } }); }, gestisciCheckboxTabRicStruLista: function() { //titoloLista_lis-10769260_test1 -->check titolo della lista //strumentochk_st179442_lis-10769260_test1 -->check della lista var TitoliChecked = "input:checkbox[class^=titoloLista_][class$=_" + id + "]"; //console.log(TitoliChecked); if ($(TitoliChecked).size()) { $.each($(TitoliChecked), function() { //console.log($(this)); var lista = $(this).val(); var checkboxLista = 'input[name^=strumentochk_][name$=_' + lista + '_' + id + ']'; if ($(this).is(':checked')) { //console.log('Lista checcata:'+$(this).val()); //strumentochk_S196948_lis10381098_test1 //console.log('seleziono tutti i check = '+checkboxLista); $(checkboxLista).prop('checked', true); } else { //console.log('Lista non checcata:'+$(this).val()); //strumentochk_S196948_lis10381098_test1 //console.log('Deseleziono tutti i check = '+checkboxLista); $(checkboxLista).prop('checked', false); } }); } } }; flagCfg[id] = { lbStampaOParametri: 0 }; } /*2018-01-04 inserita nuova funzione x pulire i campi ricavati da autocomplete ricerca workspace , stessa funzione presente in * PATHPROGETTO E4\exact4php\js\sv\cu\funzioniE4.js * questa funzione viene chiamata dentro FunzioniE4.creaAutocompletaWorkspace() * quando il campo edCodiceTitoloAA viene selezionato dopo la ricerca, * se modificata allineare i due file * * */ function RestituisiciValoreDescrizioneDaRicercaStrumentiWs(lsValoreDaWs) { //Modello di testo restituito /* isin desc valuta tipo * IT0005040230 Arca 2019 Reddito Multivalore III P -EUR - [Fondi - Fondi comuni aperti - 100047169] * IT0004814577 Pioneer Obbligazionario Sistema Italia a distribuzione B -EUR - [Fondi - Fondi comuni aperti - 100053633] * desc valuta * 100037393 Aggressive -EUR - [Fondi - Fondi assicurativi - Unit Linked - 100037393] */ this.oCampiDescrizioneVoluti = { 'isin_code': { 'presente': false, 'delimitatoreStart': '[', 'delimitatoreEnd': ']' }, 'desc': { 'presente': true, 'delimitatoreStart': ' ', 'delimitatoreEnd': ' ' }, 'valuta': { 'presente': false, 'delimitatoreStart': '-', 'delimitatoreEnd': '-' }, 'tipo': { 'presente': false } }; this.impostaCampi = function(oCampiDescrizioneVoluti) { if (typeof oCampiDescrizioneVoluti !== "undefined") { this.oCampiDescrizioneVoluti = oCampiDescrizioneVoluti; } }; this.lsValoreDaWs = lsValoreDaWs; this.lsValoreRitorno = ''; this.pulisciValore = function() { var oCaller = this; this.lsValoreRitorno = ''; for (var campi in this.oCampiDescrizioneVoluti) { var oProp = this.oCampiDescrizioneVoluti[campi]; var txtTemp = ''; if (oProp.hasOwnProperty('presente') && oProp.presente) { if (campi.indexOf('isin') != -1) { var regexisin = /^([a-zA-Z]{2}[0-9]{10})/gi; //inizia con isin var regexcode = /^([0-9]{2,10})/g; //inizia con numero var isin = oCaller.lsValoreDaWs.match(regexisin); if (isin && isin.length) { txtTemp += isin[0]; } else { var code = oCaller.lsValoreDaWs.match(regexcode); if (code && code.length) { txtTemp += code[0]; } } } if (campi.indexOf('desc') != -1) { var desc = oCaller.lsValoreDaWs.replace(/^([a-zA-Z]{2}[0-9]{10})/gi, ''); //isin desc = desc.replace(/^([0-9]{2,10})/gi, ''); //codice desc = desc.replace(/\-\s?([a-zA-z]{0,3})\s?\-/gi, ''); //-EUR - desc = desc.replace(/\[(.+?)\]/g, ''); //[Fondi - Fondi comuni aperti - 100047169] //console.log(desc); txtTemp += desc.trim(); } if (campi.indexOf('valuta') != -1) { var valuta = oCaller.lsValoreDaWs.match(/\-\s?([a-zA-z]{2,3})\s?\-/gi, ''); if (valuta && valuta.length) { txtTemp += valuta[0].replace(/\s*\-*/gi, ''); } } if (campi.indexOf('tipo') != -1) { } if (txtTemp != '') { if (oProp.hasOwnProperty('delimitatoreStart')) { txtTemp = oProp.delimitatoreStart + txtTemp; } if (oProp.hasOwnProperty('delimitatoreEnd')) { txtTemp += oProp.delimitatoreEnd; } oCaller.lsValoreRitorno += txtTemp; } } } }; this.restituisciValorePulito = function() { return this.lsValoreRitorno; }; this.restituisciValoreDaWs = function() { return this.lsValoreDaWs; }; } var strumenti = new Array(); var liste = new Array(); var colori = new Array(); var opzioni = new Array(); var customGrf = new Array(); var opzioniGrf = new Array(); var pagina = new Array(); var toolTipDate = new Array(); function restituisciInformazioniLegendaDiGraficoKendo(e){ var oLegenda = { 'text' : '', 'series' : '', 'seriesIndex' : '', 'element' : null, 'visible': null, 'visibleInLegend': null, '_userOptions':null }; if(e.hasOwnProperty('text')){ oLegenda.text = e.text; } if(e.hasOwnProperty('series')){ oLegenda.series = e.series; if(e.series.hasOwnProperty('visible')){ oLegenda.visible = e.series.visible; } if(e.series.hasOwnProperty('visibleInLegend')){ oLegenda.visibleInLegend = e.series.visibleInLegend; } if(e.series.hasOwnProperty('_userOptions')){ oLegenda._userOptions = e.series._userOptions; } } if(e.hasOwnProperty('seriesIndex')){ oLegenda.seriesIndex = e.seriesIndex; } if(e.hasOwnProperty('element')){ oLegenda.element = e.element; } return oLegenda; } function setCustomDatesChart(id, lsDataFrom ,lsDataTo){ var lbFromDate = false; var lbToDate = false; if(typeof (lsDataFrom) !== "undefined"){ var datepickerDataDa = $("#lsDataDa_cfg_"+id).data("kendoDatePicker"); datepickerDataDa.value(kendo.format("{0:dd/MM/yyyy}", lsDataFrom )); $("#lsDataDa_cfg_"+id).val(kendo.format("{0:dd/MM/yyyy}", lsDataFrom )); lbFromDate = true; } if('undefined' === typeof lsDataTo){ lsDataTo = new Date(); } if(typeof (lsDataTo) !== "undefined"){ var datepickerDataA = $("#lsDataA_cfg_"+id).data("kendoDatePicker"); datepickerDataA.value(kendo.format("{0:dd/MM/yyyy}", lsDataTo )); $("#lsDataA_cfg_"+id).val(kendo.format("{0:dd/MM/yyyy}", lsDataTo )); lbToDate = true; } if(lbFromDate || lbToDate){ return true; } return false; } function popolaVettoriGrf(id){ strumenti[id] = new Array(); liste[id] = new Array(); colori[id] = new Array(); opzioni[id] = new Array(); customGrf[id]={ startLoadTm : 0, serieDisabilitate: [], // qui memorizzo le serie disabilitate firstTimeDataBound: true, // per non fare redraw la prima volta coloriSerie: new Array(), // memorizzo i colori delle serie browserLento: false, eventorotella: null, riattivaVisibilitaSeries: function( loc ){ // loc : moveNav | databound var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); var elencoSeries = stockchart.options.series; // se arrivo da moveNav mi memorizzo le serie staccate if(loc == "moveNav"){ $.each( elencoSeries, function( indice, item ) { if(elencoSeries[indice].visible == false) customGrf[id].serieDisabilitate.push(indice); }); } // se arrivo da databound abilito tutte serie poi disabilito quelle in customGrf.serieDisabilitate if(loc == "databound"){ $.each( elencoSeries, function( indice, item ) { elencoSeries[indice].visible = true; }); $.each(customGrf[id].serieDisabilitate, function(idx, campo){ elencoSeries[campo].visible = false; }); customGrf[id].serieDisabilitate = []; } }, onSelectStartAggiorna: function(e){ if( e.originalEvent && e.originalEvent.type == 'DOMMouseScroll' ) { e.preventDefault(); return false } if( window.event && window.event.type == 'mousewheel' ) { e.preventDefault(); return false } // per firefox arrivo fino a qui if(customGrf[id].eventorotella && 'target' in customGrf[id].eventorotella ){ var targetstr = customGrf[id].eventorotella.target; var targetclass = targetstr.className; var targetnodename = targetstr.nodeName; // console.log(targetstr); // console.log("TARGET = " , targetclass, targetnodename ); // if( targetnodename == 'DIV' && ( targetclass == 'k-mask' || targetclass == 'k-selection-bg' || targetclass == 'k-selection' ) ) if( targetnodename == 'DIV' ) /* blocco tutti i DIV interni al grafico */ { e.preventDefault(); customGrf[id].eventorotella = null; return false; } } }, /*2019-09-16 aggiunto listener click su plotArea*/ onPlotAreaClick: function(e){ var iesito = false; /*console.log('e ', e); console.log('e category', kendo.format("{0:dd/MM/yyyy}", e.category )); console.log('e originalEvent', e.originalEvent ); console.log('e sender.element', e.sender.element );*/ var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); if ( isset(e.axis) && e.axis.name == "_navigator") { //console.log('NAVIGATOR'); } else if ( isset(e.axis) && e.axis.name == "masterSelector") { //console.log('masterSelector'); }else{ /*console.log('None');*/ var lsDataFrom = e.category; iesito = setCustomDatesChart(id, lsDataFrom); } if(iesito){ // SELEZIONA bottone PERSONALIZZATO nella Barra azioniBottoni[id].btnTogglePersonalizzato(); azioniBottoni[id].btnSpostaSelectSuPersonalizzato(); //console.log("SONO QUI DAL NAVIGATOR !!!"); azioniBottoni[id].buttonClickRefresh(); } }, onSelectEndAggiorna: function(e){ /*console.log('onSelectEndAggiorna '+id);*/ var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); if ( isset(e.axis) && e.axis.name == "_navigator") { /*console.log('NAVIGATOR');*/ // QUI SONO NEL NAVIGATOR customGrf[id].riattivaVisibilitaSeries( "moveNav" ); // SETTA LE DATE NELLA BARRA var navigatorFrom = stockchart._navigator.options.select.from; var navigatorTo = stockchart._navigator.options.select.to; /*console.log(navigatorFrom,navigatorTo);*/ /* var datepickerDataDa = $("#lsDataDa_cfg_"+id).data("kendoDatePicker"); datepickerDataDa.value(kendo.format("{0:dd/MM/yyyy}", navigatorFrom )); $("#lsDataDa_cfg_"+id).val(kendo.format("{0:dd/MM/yyyy}", navigatorFrom )); var datepickerDataA = $("#lsDataA_cfg_"+id).data("kendoDatePicker"); datepickerDataA.value(kendo.format("{0:dd/MM/yyyy}", navigatorTo )); $("#lsDataA_cfg_"+id).val(kendo.format("{0:dd/MM/yyyy}", navigatorTo )); */ setCustomDatesChart(id, navigatorFrom, navigatorTo); // SELEZIONA bottone PERSONALIZZATO nella Barra azioniBottoni[id].btnTogglePersonalizzato(); azioniBottoni[id].btnSpostaSelectSuPersonalizzato(); //console.log("SONO QUI DAL NAVIGATOR !!!"); azioniBottoni[id].buttonClickRefresh(); } else if ( isset(e.axis) && e.axis.name == "masterSelector") { var navfrom = stockchart._navigator.options.select.from; var navto = stockchart._navigator.options.select.to; //console.log("SIAMO NELLO ZOOM SUL GRAFICO"); /* stockchart.options.categoryAxis[0].min = e.from; stockchart.options.categoryAxis[0].max = e.to; stockchart.options.categoryAxis[0].select.from = e.from; stockchart.options.categoryAxis[0].select.to = e.to; stockchart.options.categoryAxis[0].select.min = e.from; stockchart.options.categoryAxis[0].select.max = e.to; */ stockchart._navigator.options.select.from = e.from; stockchart._navigator.options.select.to = e.to; stockchart.resize(); // stockchart.redraw(); stockchart._navigator.options.select.from = navfrom; stockchart._navigator.options.select.to = navto; // qui andtrebbe aggiunto l'id del grafico //$("#grafico_dataviz_"+id+" .k-selector:first").remove(); } else{ /* console.log("NIENTE Selector");*/ } }, bloccaZoom: function(e){ e.preventDefault(); return false; }, onDataBoundAggiorna: function(e){ //gestione precalcolo PDF azioniEsporta.checkPrecalcolaPdf(id); }, messaggioEvento: function(e) { customEventi.messaggioEvento(id,e); return false; }, disableEvent: function(e) { e.preventDefault(); return false; }, leggiDate: function(lsTipo){ var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); if(isset(stockchart) && isset(stockchart._navigator.options.select.from) ){ // console.log("sono entrato nel Navigator"); if(lsTipo == "from" ){ var navigatorFrom = stockchart._navigator.options.select.from; var momentDateDA=kendo.format("{0:dd/MM/yyyy}", navigatorFrom ); return momentDateDA; } if(lsTipo == "to" ){ var navigatorTo = stockchart._navigator.options.select.to; var momentDateA=kendo.format("{0:dd/MM/yyyy}", navigatorTo ); return momentDateA; } } return "x"; }, calcolaGiornieSettaStep: function(dataDa , dataA) { // richiamato da resizeToMinDate var diffMS = dataA.getTime() - dataDa.getTime(); // prendi la differenza in millisecondi var days = Math.round(diffMS/1000/60/60/24); // trasforma in giorni var step = 1; var freq = days; if( opzioni[id].interattivo != 0 ){ // console.log("QUIIII INTERATTIVO grazie"); var punti = 30; var salti = Math.ceil( days / punti ); switch(barraConfiguratore[id].oParametri.tf ) { case 'D': freq = Math.ceil( days * 2); step = Math.ceil( salti ); if(days<=183){//se ho meno di 6 mesi (sono in meno di mezzo anno) punti = 45; //aumento i punti, in modo da diminuire i salti rispetto ai giorni originali di partenza salti = Math.ceil(days / punti ); days*=2; //moltiplico x 2 freq = Math.ceil(days); step = Math.ceil(salti); } break; case 'W': punti = 25; salti = Math.ceil( days / punti ); freq = Math.ceil( days/7 ); step = Math.ceil( salti/7 ); break; case 'M': freq = Math.ceil( days/30 ); step = Math.ceil( salti/30 ); break; case 'M3': freq = Math.ceil( days/91 ); step = Math.ceil( salti/91 ); break; default: freq = Math.ceil( days ); step = Math.ceil( salti ); break; } } if( opzioni[id].interattivo == 0 ){ // console.log("QUIIII NON INTERATTIVO mi spiace"); if(days <= 366 ) { step = 3; freq = Math.ceil( days/3 ); } else if(days <= 366*2 ) { step = 3; freq = Math.ceil( days / 15); } else if(days <= 366*3 ) { step = 4; freq = Math.ceil( days / 21); } else { step = 5; freq = Math.ceil( days / 30); } } // console.log(opzioni[id].interattivo + " -- "+step+" -- "+freq); var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); stockchart.options.categoryAxis[0].labels.step = step; stockchart.options.categoryAxis[0].majorGridLines.step = step; stockchart.options.categoryAxis[0].maxDateGroups = freq; // gira etichette se neccessario vedi dataviz_grafico "//GIRO LABEL" if( barraConfiguratore[id].oParametri.tf == 'M' && days>365 ){ stockchart.options.categoryAxis[0].labels.rotation=-90; } else if( barraConfiguratore[id].oParametri.tf == 'M3' && days>365*1.5 ){ stockchart.options.categoryAxis[0].labels.rotation=-90; } else if( barraConfiguratore[id].oParametri.tf == 'D' || barraConfiguratore[id].oParametri.tf == 'W'){ stockchart.options.categoryAxis[0].labels.rotation=-90; } else{ stockchart.options.categoryAxis[0].labels.rotation=0; } }, // onLegendItemHover: function(e) { // se browser lento blocca evidenziazione serie if(customGrf[id].browserLento == "true"){ e.preventDefault(); return false; } }, onLegendItemClick: function(e) { // console.log("LEGEND ITEM CLICK"); var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); // console.log(e); // click sull'item della LEGENDA customGrf[id].resizeToMinDate(e.seriesIndex); // correttore opacità strumento su IE $("#stock-chart_"+id+" svg>g:last-child text").each(function() { if( $(this).text() == e.text ){ // sono in quello clikkato if( stockchart.options.series[e.seriesIndex].visible == false ){ $(this).attr("fill" ,"#000000"); var colore = customGrf[id].coloriSerie[e.text]; $(this).prev().attr("fill" ,colore); $(this).prev().attr("stroke" ,colore); } else { customGrf[id].coloriSerie[e.text] = $(this).prev().attr("fill"); $(this).attr("fill" ,"#919191"); $(this).prev().attr("fill" ,"#919191"); $(this).prev().attr("stroke" ,"#919191"); } } }); // imposta --> storage[id].Imposta( 'visibilitaserie' ... setTimeout( function(){ azioniBottoni[id].leggiVisibilitaSerie(); },500); }, onLegendItemLeave:function(e){ }, restituisciChartCono:function(){ var chart = $("#chart_"+id).data("kendoChart"); return chart; }, restituisciIndiciSerieCollegateCono:function(series, legend){ var indiciCollegati = linkedToSeries = []; if(legend._userOptions.hasOwnProperty('idSeries') === true && legend._userOptions.hasOwnProperty('linkedToSeries') === true){ linkedToSeries = legend._userOptions.linkedToSeries; } $.each(series, function(i,serie){ if(serie._userOptions.hasOwnProperty('idSeries')){ //console.log(serie.name, serie._userOptions.hasOwnProperty('idSeries'), serie._userOptions.hasOwnProperty('linkedToSeries'), linkedToSeries.indexOf(serie._userOptions.idSeries)); var iesitoRicerca = linkedToSeries.indexOf(serie._userOptions.idSeries); if(iesitoRicerca !== -1){ indiciCollegati.push({'index':serie.index,'name':serie.name}); } } }); return indiciCollegati; }, impostaHighlightSerieCollegateCono:function(series, legend){ var indiciCollegati = customGrf[id].restituisciIndiciSerieCollegateCono(series, legend); if(indiciCollegati.length) { var lbVisible = true; var chart = customGrf[id].restituisciChartCono(); for(var temp in indiciCollegati){ var name = indiciCollegati[temp].name; chart.toggleHighlight(lbVisible, name); } } }, impostaVisibilitaSerieCollegateCono:function(series, legend){ var indiciCollegati = customGrf[id].restituisciIndiciSerieCollegateCono(series, legend); if(indiciCollegati.length){ var lbVisible = null; var chart = customGrf[id].restituisciChartCono(); for(var temp in indiciCollegati){ var idx = indiciCollegati[temp].index; if(false === legend.visible){ //devo rimostrare tutte le linkate lbVisible = true; }else if(true === legend.visible){ //devo nascondere tutte le linkate lbVisible = false; } chart.options.series[ idx ].visible = lbVisible; //chart.toggleHighlight(lbVisible, chart.options.series[ idx ].name); } chart.redraw(); } }, restituisciSerieGraficoCono:function(){ var chart = customGrf[id].restituisciChartCono(); var series = jQuery.extend(true, {}, chart._plotArea.srcSeries);//series --> srcSeries /* var series = chart.findSeries(function(series) { return series._userOptions.hasOwnProperty('idSeries') && series._userOptions.hasOwnProperty('linkedToSeries'); });*/ //console.log('restituisciSerieGraficoCono',series); return series; }, onLegendItemHoverCono: function(e) { e.preventDefault(); return false; var legend = restituisciInformazioniLegendaDiGraficoKendo(e); console.log('HoverCono:',legend.visible,legend.text,legend.seriesIndex); /*2019-12-06*/ /* if(legend.visible && legend._userOptions.hasOwnProperty('idSeries') === true && legend._userOptions.hasOwnProperty('linkedToSeries') === true){ var series = customGrf[id].restituisciSerieGraficoCono(); customGrf[id].impostaHighlightSerieCollegateCono(series, legend); } */ }, onLegendItemClickCono: function(e) { var legend = restituisciInformazioniLegendaDiGraficoKendo(e); //console.log('ClickCono:',legend); /* console.log(legend.visible, (legend._userOptions.hasOwnProperty('idSeries') ? legend._userOptions.idSeries : 'no id'),(legend._userOptions.hasOwnProperty('linkedToSeries') ? legend._userOptions.linkedToSeries : 'no link') );*/ var series = customGrf[id].restituisciSerieGraficoCono(); customGrf[id].impostaVisibilitaSerieCollegateCono(series, legend); }, onLegendItemLeaveCono:function(e){ console.log('LeaveCono:',restituisciInformazioniLegendaDiGraficoKendo(e)); }, // resizeToMinDate: function(seriesIndex){ // console.log("RESIZE TO MIN DATE"); // se richiamo da databound, entro solo se non è la prima volta if(seriesIndex >= 0 || ( seriesIndex <0 && customGrf[id].firstTimeDataBound == false) ){ var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); var nowTime = new Date().getTime(); var minItem = nowTime; var grafSeries=stockchart.options.series; // console.log(stockchart.options.series); // aggiunta 2018-01-12 var minY = 1000000; var maxY = -1000000; var minYvol = 1000000; var maxYvol = -1000000; var lbscalavol = 0; // console.log(grafSeries); $.each( grafSeries, function( index, item ) { if( item.axis != "_navigator" ) { if( (item.visible == true && seriesIndex != item.index) || (item.visible == false && seriesIndex == item.index) ){ // controllo sulla data if( item.data[0].D < minItem ){ minItem = item.data[0].D; } // controllo sui valori asse Y for (i=0; i maxYvol ){ maxYvol = val; } if( val < minYvol ){ minYvol = val; } } else { var val = parseFloat(item.data[i].C); if( val > maxY ){ maxY = val; } if( val < minY ){ minY = val; } } } } } }); // Implemantazione 2018-01-15 //console.log( "MIN : ", minY , "MAX : " , maxY); // se è presente una volatilità ho 2 assi --> [0] scalavol [1] strumenti // se sono presenti solo strumenti 1 solo asse --> [0] strumenti // se non c'è scalavol if( lbscalavol == 0) { var majorUnit = parseInt( ( parseInt(maxY+1) - parseInt(minY-1) ) / 10 ); if( majorUnit < 1 ){majorUnit = 1;} stockchart.options.valueAxis[0].majorUnit = majorUnit; stockchart.options.valueAxis[0].max = parseInt(maxY+1); stockchart.options.valueAxis[0].min = parseInt(minY-1); } else { var majorUnit = parseInt( ( parseInt(maxY+1) - parseInt(minY-1) ) / 10 ); if( majorUnit < 1 ){majorUnit = 1;} stockchart.options.valueAxis[1].majorUnit = majorUnit; stockchart.options.valueAxis[1].max = parseInt(maxY+1); stockchart.options.valueAxis[1].min = parseInt(minY-1); var majorUnitVol = parseInt( ( parseInt(maxYvol+1) - parseInt(minYvol-1) ) / 10 ); if( majorUnitVol < 1 ){majorUnitVol = 1;} stockchart.options.valueAxis[0].majorUnit = majorUnitVol; stockchart.options.valueAxis[0].max = parseInt(maxYvol+1); stockchart.options.valueAxis[0].min = parseInt(minYvol-1); } // se almeno ultimi 7 gg var giorniminimi = 7*24*60*60*1000; if( (nowTime - minItem) > giorniminimi ) { // minItem = 1396310400000; stockchart.options.categoryAxis[0].min = minItem; stockchart._navigator.options.select.from = minItem; var date = stockchart.options.categoryAxis[0].dataItems; var count = date.length; var dataA = date[count-1].D; stockchart.options.categoryAxis[0].max = dataA; var datepickerDataDa = $("#lsDataDa_cfg_"+id).data("kendoDatePicker"); if('undefined' === typeof datepickerDataDa) return false;//26/07/2017 controllo in quanto può non esistere, lancio come modulo 0016 rottamatore datepickerDataDa.value( kendo.toString(new Date(minItem), "dd/MM/yyyy")); $("#lsDataDa_cfg_"+id).val( kendo.toString(new Date(minItem), "dd/MM/yyyy")); var datepickerDataA = $("#lsDataA_cfg_"+id).data("kendoDatePicker"); datepickerDataA.value(kendo.toString(new Date(dataA), "dd/MM/yyyy")); $("#lsDataA_cfg_"+id).val(kendo.toString(new Date(dataA), "dd/MM/yyyy")); if(seriesIndex >= 0){ azioniBottoni[id].btnTogglePersonalizzato(); azioniBottoni[id].btnSpostaSelectSuPersonalizzato(); } // console.log("RICALCOLO STEP e GIORNI"); customGrf[id].calcolaGiornieSettaStep(new Date(minItem) , new Date(dataA) ); setTimeout( function(){stockchart.resize();} , 100); } } } }; opzioniGrf[id]={ idFinestra:'finestraOpzioni_dataviz_'+id, finestraOpzionilbUpdate : true, finestraOpzionilbRipristina : true, lanciaFinestraOpzioni: function(){ $("#"+opzioniGrf[id].idFinestra ).html(""); opzioniGrf[id].addBottone('save_impostazioni_'+id , 'icon '+traduci('Salva Impostazioni') , opzioniGrf[id].idFinestra ); if(this.finestraOpzionilbUpdate === true){ opzioniGrf[id].addBottone('updateOpzioni_'+id , ' '+traduci('Aggiorna Opzioni') , opzioniGrf[id].idFinestra ); } if(this.finestraOpzionilbRipristina === true){ opzioniGrf[id].addBottone('ripristinaOpzioni_'+id , ' '+traduci('Ripristina Opzioni') , opzioniGrf[id].idFinestra ); } $("#"+opzioniGrf[id].idFinestra ).append("
"); opzioniGrf[id].addLineSeparatore(traduci("Colori Grafico"),"" , 'fdstCommon_'+id); opzioniGrf[id].addLineColoreStr('sfondo' , 'colorGraph' , 'fdstCommon_'+id , ''); opzioniGrf[id].addLineColoreStr('etichette' , 'colorGraph' , 'fdstCommon_'+id , ''); opzioniGrf[id].addLineColoreStr('griglia' , 'colorGraph' , 'fdstCommon_'+id , ''); opzioniGrf[id].addLineSeparatore(traduci("Font Legenda Grafico"),"" , 'fdstCommon_'+id); opzioniGrf[id].addFontGrafico('font' , 'fontGraph' , 'fdstCommon_'+id ); opzioniGrf[id].addLineSeparatore(traduci("Altre Opzioni"),"" , 'fdstCommon_'+id); // opzioniGrf[id].addLineOption('interattivo' , "Grafico Interattivo" , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('vedigriglia' , traduci("Visualizza Griglie") , 'fdstCommon_'+id); //opzioniGrf[id].addLineOption('vedietichette' , "Visualizza Etichette Anni" , 'fdstCommon_'+id); //opzioniGrf[id].addLineOption('vedizoom' , "Visualizza Zoom" , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('crosshair' , traduci("Visualizza Cursore Linea") , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('tooltip' , traduci("Visualizza Tooltip Generale") , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('vedilegenda' , traduci("Visualizza Legenda") , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('legendacolonne' , traduci("Legenda a Colonne") , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('vedinavigator' , traduci("Visualizza Navigator") , 'fdstCommon_'+id); opzioniGrf[id].addLineOption('stampabn' , traduci("Stampa Bianco/Nero") , 'fdstCommon_'+id); $("#"+opzioniGrf[id].idFinestra ).append("
"); /* $("#"+opzioniGrf[id].idFinestra ).append("
"); //opzioniGrf[id].addBottone('toggleStrum_'+id , 'Visualizza Strumenti' , 'fdstStrum_'+id ); opzioniGrf[id].addLineSeparatore("Colori Strumenti","colStrumLine" , 'fdstStrum_'+id); // STRUMENTI for (var idStrumento in strumenti[id]) { if( $.inArray(idStrumento.substr(0,3) , common.indicatori ) == -1 ) opzioniGrf[id].addLineColoreStr(idStrumento , 'colorStrumento' , 'fdstStrum_'+id , 'S'); } // LISTE for (var idLista in liste[id]) { for (var idStrumento in liste[id][idLista]) { if( $.inArray(idStrumento.substr(0,3) , common.indicatori ) == -1 && idStrumento != "nome" && opzioniGrf[id].possoInserireStrumento(idStrumento) ) opzioniGrf[id].addLineColoreStr(idStrumento , 'colorStrumento' , 'fdstStrum_'+id , idLista); } } $("#"+opzioniGrf[id].idFinestra ).append("
"); */ opzioniGrf[id].apriFinestra(); $("#toggleStrum_"+id).click(function(){ $("#toggleStrum_"+id).hide("fast"); $(".colStrumLine").show("fast"); $(".colorStrumento").show("slow"); }); }, possoInserireStrumento:function(idStrumento){ var inputId = "#picker-"+idStrumento+"_"+id; if($(inputId).size() == 0) return true; return false; }, apriFinestra: function(){ var dialogOpz = $("#"+opzioniGrf[id].idFinestra ).kendoWindow({ title: "Opzioni Grafico", actions: [ "Close" ], draggable: true, height: "495", width: "550", modal: true, pinned:true, resizable: false, open: function (e) { this.wrapper.css({ top: 10 }); } }).data('kendoWindow'); dialogOpz.center().open(); }, addFontGrafico:function(idStr , classe , idAppend){ var valoreFont='Tahoma'; if( opzioni[id][idStr] != '' ){ valoreFont = opzioni[id][idStr]; } switch (idStr) { case 'font': strDesc = traduci("Font testo") break; default: strDesc = idStr; break } var html = "
"+ ""+" "+strDesc+"
"; $("#"+idAppend ).append(html); var dataFont = [ { text: "Tahoma", value: "Tahoma" }, { text: "Verdana", value: "Verdana" }, { text: "Source Code Pro", value: "Source Code Pro" }, { text: "Oxygen Mono", value: "Oxygen Mono" }, { text: "Inconsolata", value: "Inconsolata" } ]; $("#font-"+idStr+"_"+id).kendoDropDownList({ dataTextField: "text", dataValueField: "value", dataSource: dataFont, change: onChange, dataBound:onDataBound }); function onChange(e) { $(".boxFontGraph").attr('style','font-family:'+$("#font-"+idStr+"_"+id).val()); }; function onDataBound(e) { $(".boxFontGraph").attr('style','font-family:'+$("#font-"+idStr+"_"+id).val()); }; $(".boxFontGraph").kendoTooltip({ width:"100px", position: "top" }); }, addLineColoreStr: function(idStr , classe , idAppend , lsOrigine){ if( lsOrigine == 'S' && isset(strumenti[id][idStr])){ strDesc = strumenti[id][idStr]; } else if( lsOrigine.substr(0,4) == 'lis-' && isset(liste[id][lsOrigine][idStr])){ strDesc = liste[id][lsOrigine][idStr]; } else{ switch (idStr) { case 'sfondo': strDesc = traduci("Colore Sfondo") break; case 'etichette': strDesc = traduci("Colore Etichette") break; case 'griglia': strDesc = traduci("Colore Griglia") break; default: strDesc = idStr; break } } // console.log( "cerco " +idStr +" in + "+id); var html = "
"+ ""+" "+strDesc+"
"; $("#"+idAppend ).append(html); var colore = "#ffffff"; if(isset(colori[id][idStr])) colore = colori[id][idStr]; $("#picker-"+idStr+"_"+id).kendoColorPicker({ value: colore, buttons: false /* ,palette: common.palette */ }); $(".boxSetColor").kendoTooltip({ width:"100px", position: "top" }); }, addLineOption: function(inputid, txt , idAppend){ var check = ""; if( opzioni[id][inputid] == '1' ) check=" checked='checked' "; var html = "
"+ ""+ " "+txt+"
"; $("#"+idAppend ).append(html); }, addBottone: function(btnid, txt , idAppend ){ var html = "
"+ "
"; $("#"+idAppend ).append(html); }, addLineSeparatore: function(txt , classe , idAppend){ $("#"+idAppend ).append( "
" + txt +"
"); }, aggiornaValori: function(){ /* // aggiorna colori for (var idStrumento in strumenti[id]) { colori[id][idStrumento] = $('#picker-'+idStrumento+'_'+id).val(); } // LISTE for (var idLista in liste[id]) { for (var idStrumento in liste[id][idLista]) { if( $.inArray(idStrumento.substr(0,3) , common.indicatori ) == -1 && idStrumento != "nome" ) colori[id][idStrumento] = $('#picker-'+idStrumento+'_'+id).val(); } } */ colori[id]['sfondo'] = $('#picker-sfondo_'+id).val(); colori[id]['etichette'] = $('#picker-etichette_'+id).val(); colori[id]['griglia'] = $('#picker-griglia_'+id).val(); //opzioni[id]['interattivo'] = ( ($("#interattivo_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['stampabn'] = ( ($("#stampabn_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['vedigriglia'] = ( ($("#vedigriglia_"+id+":checked").val() === 'on') ? '1' : '0' ); //opzioni[id]['vedietichette'] = ( ($("#vedietichette_"+id+":checked").val() === 'on') ? '1' : '0' ); //opzioni[id]['vedizoom'] = ( ($("#vedizoom_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['crosshair'] = ( ($("#crosshair_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['vedilegenda'] = ( ($("#vedilegenda_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['legendacolonne'] = ( ($("#legendacolonne_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['tooltip'] = ( ($("#tooltip_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['vedinavigator'] = ( ($("#vedinavigator_"+id+":checked").val() === 'on') ? '1' : '0' ); opzioni[id]['font'] = $("#font-font_"+id).val(); barraConfiguratore[id].settaOggettoPersonalizzato('colori',0); barraConfiguratore[id].settaOggettoPersonalizzato('opzioni',0); } }; pagina[id]={ aggiornaOpener: function(){ // console.log("aggiornaOpener"); if(isset(barraConfiguratore[id].oParametri.callbackid) && barraConfiguratore[id].oParametri.callbackid != "" ) { //console.log("aggiornaOpener ... ho il callbackid"); // console.log(barraConfiguratore[id].oParametri); var callback = barraConfiguratore[id].oParametri.callbackid; var valuta = barraConfiguratore[id].oParametri.tv; var ia = barraConfiguratore[id].oParametri.ia; var dataDa='',dataA=''; var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(stockchart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var stockchart = kendoStockChart[id].data; } //console.log('aggiornaOpener...',$.type(stockchart)); if($.type(stockchart) !== "undefined" && $.type(stockchart._navigator) !== "undefined"){ var navigatorFrom = stockchart._navigator.options.select.from; var navigatorTo = stockchart._navigator.options.select.to; dataDa = kendo.format("{0:dd/MM/yyyy}", navigatorFrom ); dataA = kendo.format("{0:dd/MM/yyyy}", navigatorTo ); } else if($.type(stockchart) !== "undefined" && $.type(stockchart.options.navigator) !== "undefined"){ // 2017-06-23 VERSIONE PER NUOVA KENDO var navigatorFrom = stockchart.options.navigator.select.from; var navigatorTo = stockchart.options.navigator.select.to; dataDa = kendo.format("{0:dd/MM/yyyy}", kendo.parseDate(navigatorFrom , 'yyyy/MM/dd') ); dataA = kendo.format("{0:dd/MM/yyyy}", kendo.parseDate(navigatorTo , 'yyyy/MM/dd') ); } // se non ho il navigator e sono in YYY if( (dataDa == '' || dataDa=='null') && ia == 'YYY'){ dataDa = $("#lsDataDa_cfg_"+id).val(); } if( (dataA == '' || dataA=='null') && ia == 'YYY'){ dataA = $("#lsDataA_cfg_"+id).val(); } // se non ho il navigator enon sono in YYY if( (dataDa == '' || dataDa=='null') && ia != 'YYY' && $.type(stockchart) !== "undefined"){ var len = stockchart.options.series.length; var first = "" for (i=0; i stockchart.options.series[i].data[0].D ) first = stockchart.options.series[i].data[0].D; } //console.log( 'A : ' , first ); if(first != '') dataDa = myDate( first ); } if( ( dataA == '' || dataA=='null') && ia != 'YYY'){ var oggi = new Date(); //console.log( 'B : ' , oggi ); dataA = myDate( oggi.getTime() ); // console.log("OGGI : " + oggi); } var parametri = barraConfiguratore[id].oParametri.callbackid; parametri = parametri +"|"+ dataDa +"|"+ dataA+"|"+ ia ; //console.log('parametri',parametri); if (typeof ritornoGrafico != "undefined") { // local //console.log("CASISTICA LOCALE"); ritornoGrafico(parametri); } else if (typeof window.parent.ritornoGrafico != "undefined") { //console.log("CASISTICA PARENT"); window.parent.ritornoGrafico(parametri); } else if (typeof window.parent.document.ritornoGrafico != "undefined") { //console.log("CASISTICA PARENT DOCUMENT"); window.parent.document.ritornoGrafico(parametri); } else { console.log("FUNZIONE Ritorno Grafico Non Trovata"); } } } }; toolTipDate[id]={ data:'', strumenti:[], settaData:function(dataNuova){ if(toolTipDate[id].data!=dataNuova){ toolTipDate[id].data=dataNuova; } } }; /** aggiunto prendendo da custom_grf.js **/ $(document).off("click", "#updateOpzioni_"+id); $(document).one("click", "#updateOpzioni_"+id, function(e){ $(document).off("click", "#updateOpzioni_"+id); opzioniGrf[id].aggiornaValori(); // $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").close(); // metto destroy perchè poi ricarico la pagina con il div da PHP setTimeout(function(){ if($.type($("#" + opzioniGrf[id].idFinestra ).data("kendoWindow")) == 'object'){ $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").destroy(); $(document).off("click", "#updateOpzioni_"+id); }else{ opzioniGrf[id].apriFinestra(); $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").destroy(); console.log(" --- NON TROVO KendoWindow Update -- "); } azioniBottoni[id].buttonClickRefresh(); },500); }); /** aggiorna parametri e salvali via WS**/ $(document).off("click", "#save_impostazioni_"+id); $(document).one("click", "#save_impostazioni_"+id, function(e){ $(document).off("click", "#save_impostazioni_"+id); opzioniGrf[id].aggiornaValori(); azioniBottoni[id].inserisciImpostazioni(); // $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").close(); // metto destroy perchè poi ricarico la pagina con il div da PHP setTimeout(function(){ if($.type($("#" + opzioniGrf[id].idFinestra ).data("kendoWindow")) == 'object'){ $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").destroy(); $(document).off("click", "#save_impostazioni_"+id); }else{ opzioniGrf[id].apriFinestra(); $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").destroy(); console.log(" --- NON TROVO KendoWindow Save -- "); } azioniBottoni[id].buttonClickRefresh(); },500); }); /** ripristina impostazioni salvate o passate allinizio **/ $(document).off("click", "#ripristinaOpzioni_"+id); $(document).one("click", "#ripristinaOpzioni_"+id, function(e){ $(document).off("click", "#ripristinaOpzioni_"+id); barraConfiguratore[id].eseguiRipristinoParametri(0); setTimeout(function(){ if($.type($("#" + opzioniGrf[id].idFinestra ).data("kendoWindow")) == 'object'){ $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").destroy(); $(document).off("click", "#ripristinaOpzioni_"+id); }else{ opzioniGrf[id].apriFinestra(); $("#" + opzioniGrf[id].idFinestra ).data("kendoWindow").destroy(); console.log(" --- NON TROVO KendoWindow Ripristina -- "); } azioniBottoni[id].buttonClickRefresh(); },500); }); } // FINE popolaVettoriGrf(id) isset = function(a) { if ((typeof (a) === 'undefined') || (a === null)) return false; else return true; }; var oldM = ""; var oldY = ""; function shortLabels(value , freq , giorni , id ) { //console.log(['Enter value='+value ,'tipo di value ='+typeof value,'Freq = ' + freq ,'Days '+ giorni , id]); var d = kendo.format("{0:dd}", value ); var m = kendo.format("{0:MM}", value ); var mmm = kendo.format("{0:MMM}", value ); var y = kendo.format("{0:yyyy}", value ); var yshort = kendo.format("{0:yy}", value ); //console.log([d,m,mmm,y,yshort]); var width = $("#"+id+" .contenitoredataviz").width(); if(parseInt(giorni) <= 366){ if(freq == 'D' || freq == 'W') return d + ' ' + capitaliseFirstLetter(mmm) + ' ' +yshort; else{ // M // M3 if(width <= 550) return capitaliseFirstLetter(mmm) + ' ' +yshort; else return d + ' ' + capitaliseFirstLetter(mmm) + ' ' +yshort; } } if(parseInt(giorni) <= 366*2){ return capitaliseFirstLetter(mmm) +' '+y; } else{ return capitaliseFirstLetter(mmm) +' '+y; } }; function campiLegenda(idStr , len , id){ var res = idStr; if(isset(strumenti[id][idStr])){ res = strumenti[id][idStr]; } else { // provo a pescare dalle liste for(key in liste[id] ) { if(isset(liste[id][key][idStr])) res = liste[id][key][idStr]; }; } res = res.substr(0, len) return res; } function myDate( millisec ){ var dt = kendo.toString(new Date(millisec), "dd/MM/yyyy") return dt; } function myCustomTooltipCrossHair(value,id){ //console.log(typeof value, value,id); //console.log(typeof value, value,id, value.getTime(), value.valueOf(), value.getFullYear(),value.getMonth(),value.getDate() ) ; //console.log('parseDate=',kendo.toString(kendo.parseDate(value),"fff")); //return kendo.format("{0:dd/MM/yyyy}",value); var myTempItem = {D:value.valueOf()}; return myGroupedTooltip(myTempItem,id); } function myGroupedTooltip(item,id){ var array=new Array(); var D=item.D; var loDataComparazione = new Date(D); //console.log(loDataComparazione.getFullYear(),loDataComparazione.getMonth(),loDataComparazione.getDate()); var lsCheckData = loDataComparazione.getFullYear()+''+("0" + loDataComparazione.getMonth()).slice(-2)+''+("0" + loDataComparazione.getDate()).slice(-2); //console.log(item); var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); //Richiamo questo anche dal cono, il grafico cono si chiama #chart_.... 26/11/2019 if(typeof stockchart === 'undefined'){ stockchart = $("#chart_"+id).data("kendoChart"); } //Aggiunto check elemento chart_.... 26/11/2019 if(!stockchart){ return ''; } //var series=JSON.parse(JSON.stringify(stockchart._plotArea.series)); //var series=stockchart._plotArea.series; //var series=stockchart._plotArea.srcSeries; //sostituiamo srcSeries al posto di series 03/12/2019 var series = jQuery.extend(true, {}, stockchart._plotArea.srcSeries);//series --> srcSeries var lunghezza=series.length; //console.log('D='+D,' Vedinavigator= ',opzioni[id]['vedinavigator'],' lunghezza serie=',lunghezza); //se vedinavigator ==1 tolgo dalla serie il navigator if(opzioni[id]['vedinavigator'] == 1){ delete series[lunghezza-1]; } //scarto il navigator dalla serie //console.log(series); /*2019-05-12 - dentro l'oggetto series possono gestire delle opzioni custom denominate _userOptions, un oggetto, con dentro delle configurazioni*/ /*in tal caso cerco una opzione chiamata 'skipInGroupedTooltip' che mi dice se una serie la devo tolgiere per non presentare il suo valore * nel tooltip raggruppato*/ // var res = Object.keys(series); var aTogliDaSkippare = []; $.each(res,function(i,e){ //console.log(i,e); var tmpSerie = series[e]; //console.log(tmpSerie.hasOwnProperty('_userOptions')); if(true === tmpSerie.hasOwnProperty('_userOptions')){ if((tmpSerie._userOptions).hasOwnProperty('skipInGroupedTooltip') && true === tmpSerie._userOptions.skipInGroupedTooltip){ aTogliDaSkippare.push(e); } } }); if(aTogliDaSkippare.length){ for(var i in aTogliDaSkippare){ var lsKey = aTogliDaSkippare[i]; delete series[lsKey]; } } // //console.log('MI FERMO ALLA DATA=',lsCheckData); if(D!=toolTipDate[id].data){ $.map(series, function(item,i){ // console.log('Series item=',item.categoryAxis , 'tipo Item = ',$.type(item) ); if($.type(item) == 'object' && item.categoryAxis!='_navigator' ){ var laSerie=item.data; if(item.visible === true){ $.map(laSerie, function(EleSerie,index){ if('D' in EleSerie){ var loDataSerie = new Date(EleSerie.D); var lsCheckDataSerie = loDataSerie.getFullYear()+''+("0" + loDataSerie.getMonth()).slice(-2)+''+("0" + loDataSerie.getDate()).slice(-2); //console.log('CONFRONTO LA DATA=',lsCheckDataSerie,' -> millisec=',EleSerie.D); if( lsCheckData == lsCheckDataSerie ){ //setto nuova propieta desc e colore EleSerie['desc']=item.name; EleSerie['colore']=item.color; //EleSerie['data']=EleSerie.D; //return (EleSerie); array.push(EleSerie); } } }); } } }); /*ORDINAMENTO 22/06/2016*/ array.sort(function(a, b){ return b.C-a.C }); /*FINE ORDINAMENTO 22/06/2016*/ toolTipDate[id].settaData(D); toolTipDate[id].strumenti=array; }else{} /*21/06/2016 prima*/ /* var lsToolTipHtml='
'+myDate(item.D); $.each(toolTipDate[id].strumenti, function(i,item){ lsToolTipHtml+='
'+item.desc+':'+item.C+'
'; }); lsToolTipHtml+='
';*/ /*21/06/2016 nuovo*/ var lsToolTipHtml='
'+myDate(item.D); $.each(toolTipDate[id].strumenti, function(i,item){ //lsToolTipHtml+='
'+item.desc+': '+parseFloat(item.C).toFixed(2)+'
'; lsToolTipHtml+='
'+parseFloat(item.C).toFixed(2) +' : '+item.desc+'
';//new Date(item.data)+' '+ }); lsToolTipHtml+='
'; return lsToolTipHtml; } function getColore(id , idStr){ var res = idStr; if(isset(colori[id][idStr])){ res = colori[id][idStr]; } return res } function capitaliseFirstLetter(string){ return string.charAt(0).toUpperCase() + string.slice(1); } function sleep(delay) { var start = new Date().getTime(); while (new Date().getTime() < start + delay); } function popolaStrumentiIndicatori(id){ //2018-03-06 //nota:allineare i nomi in chiave strumento per export Excel, //vedi X:\pdatavizgrafici\pagine\a01_dataviz_grafico.php da riga 752 come si costruiscono i nomi serie //popolaValoreIndicatorePeriodoVOL funzione replicata per restituisciStringaPeriodoVol presente in X:\pdatavizgrafici\pagine\a01_dataviz_grafico.php var popolaValoreIndicatorePeriodoVOL = function(liPeriodo){ var lsPeriodo = ''; switch (liPeriodo){ case '4': //3mesi lsPeriodo = '3M'; break; case '5': //6mesi lsPeriodo = '6M'; break; case '6': //1anno lsPeriodo = "1Y"; break; case '7': //2anni lsPeriodo = "2Y"; break; case '8': //3anni lsPeriodo = "3Y"; break; case '9': //5anni lsPeriodo = "5Y"; break; default: lsPeriodo = ''; break; } return lsPeriodo; }; //console.log(contenutoTabStrip[id].SCHEDE_INDICATORI); $.each(contenutoTabStrip[id].SCHEDE_INDICATORI,function(i,item){ //console.log('INDICATORE=',i, ' conta:',item.length); for (n=0; n chars) return( name.substring(1, chars) ); var add = ""; for(var i = len ; i'; else return ''; } /*20/07/2017*/ /*Nuove funzioni di aggiungi serie*/ function oDatavizUtilita(){ this.id = null; this.indicePresenzaSerie = null; this.ivaloreMin = null; this.ivaloreMax = null; this.iMajorUnit = 2; this.OttieniChiaviSerie = function (id){ if('undefined' == typeof(id)) return false; var chart = $("#stock-chart_"+id).data("kendoStockChart"); if(chart){ var chartOptions = chart.options; if(chartOptions.series.length){ var keys = Object.keys(chartOptions.series[0]); this.id = id; return keys; }else{ return false; } }else{ return false; } }; this.OttieniSeriePresenti = function(id){ if('undefined' == typeof(id)) return false; var chart = $("#stock-chart_"+id).data("kendoStockChart"); if(chart){ var chartOptions = chart.options; var series = chartOptions.series; return series; }else{ return false; } }; // Add series dynamically in chart this.AggiungiSerie = function(id, laSerie) { //Questo array mi serve per rigenerare delle chiavi a valori std nel nuovo oggetto serie partendo dalla serie[0] del grafico var keys = this.OttieniChiaviSerie(id); if(false === keys) { console.log('Attenzione impossibile aggiungere serie...'); return false; } var laSeriePresenti = this.OttieniSeriePresenti(id); /* var laSerie = [ {'name':'Rottamato1','color':'#FF0000', data:[{"C":"101.000","D":1499990400000},{"C":"107.000","D":1500249600000},{"C":"106.000","D":1500336000000},{"C":"109.000","D":1500422400000}] }, //{'name':'Rottamato2','color':'#00FF00', data:[{"C":"106.000","D":1419984000000},{"C":"104.999","D":1420070400000}] }, ]; */ var InvalidColumnName = new Array("_events", "uid", "parent", "Field1"); //potrebbe servire var chart = $("#stock-chart_"+this.id).data("kendoStockChart"); var chartOptions = chart.options; var SeriesCount = 0; for(var SeriesCount =0; SeriesCount < laSerie.length; SeriesCount++){ var loNuovaSerie = {}; var lbNomeSerieAssente = true; for (var k = 0; k < keys.length; k++) { var mykey = keys[k]; var lsNome = laSerie[SeriesCount]['name']; lbNomeSerieAssente = this.ControllaSeSerieAssente(lsNome, laSeriePresenti); //console.log('k=',k,' Val=',mykey); //console.log('Serie '+ lsNome + ' assente ? ', lbNomeSerieAssente); if ($.inArray(mykey, InvalidColumnName) == -1) { //loNuovaSerie[mykey] = 'xxx'; if(mykey in laSerie[SeriesCount]){ if(lbNomeSerieAssente){ loNuovaSerie[mykey] = laSerie[SeriesCount][mykey]; } //se è presente e sto trattando la chiave 'data' if(lbNomeSerieAssente === false && 'data' == mykey){ //console.log('Rimpiazzo la serie di indice '+ this.indicePresenzaSerie + ' che si chiama ' + laSerie[SeriesCount]['name']+ ' con questi nuovi dati',laSerie[SeriesCount][mykey]); chart.options.series[this.indicePresenzaSerie][mykey] = laSerie[SeriesCount][mykey]; } }else{ //Popolo la nuova serie con i valori della serie 0 di partenza if(lbNomeSerieAssente){ loNuovaSerie[mykey] = chart.options.series[0][mykey]; } } } } //solo se assente aggiungo una nuova if(lbNomeSerieAssente){ chartOptions.series.push(loNuovaSerie); } } //console.log('Serie nuove',chartOptions.series); var laSeriePresentiInUscita = this.OttieniSeriePresenti(id); this.ImpostaNuoviMinimoEMassimo(laSeriePresentiInUscita); chart.redraw(); //console.log('Imposto MU da AggiungiSerie'); this.ImpostaNuovoMajorUnit(chart); }; this.ControllaSeSerieAssente = function(lsNomeSerie, laSeriePresenti){ var lbAssente = true; this.indicePresenzaSerie = null; for(var i in laSeriePresenti){ var loSerie = laSeriePresenti[i]; if('name' in loSerie && loSerie.name == lsNomeSerie){ lbAssente = false; this.indicePresenzaSerie = i; break; } } return lbAssente; }; this.ImpostaNuoviMinimoEMassimo = function(laSeriePresenti){ var chart = $("#stock-chart_"+this.id).data("kendoStockChart"); var chartOptions = chart.options; var min = 0, max = 0, minprec =0, maxprec = 0; if(chartOptions.valueAxis && 'min' in chartOptions.valueAxis[0] && 'max' in chartOptions.valueAxis[0]){ minprec = chartOptions.valueAxis[0].min; maxprec = chartOptions.valueAxis[0].max; } min = minprec; max = maxprec; //console.log('Minimo start= ',min, ' Max start=',max); for(var i in laSeriePresenti){ var loSerie = laSeriePresenti[i]; //console.log('Nome Serie:',(loSerie.name ? loSerie.name : '')); if('data' in loSerie){ for(var conta in loSerie['data']){ var iValore = parseFloat(loSerie['data'][conta]['C']); if(iValore > max ) max= iValore; if(iValore < min ) min= iValore; } } } //console.log([ min , max , ' --1-- ' , minprec, maxprec ]); if(min === minprec || max === maxprec){ //console.log('Provo ricalcolo nuovi minimo/massimo...'); //Provo a Rifare il minimo dalle serie attuali min = 10000; max = -10000; for(var i in laSeriePresenti){ var loSerie = laSeriePresenti[i]; //console.log('Nome Serie:',(loSerie.name ? loSerie.name : '')); if('data' in loSerie){ for(var conta in loSerie['data']){ var iValore = parseFloat(loSerie['data'][conta]['C']); if(iValore > max ) max= iValore; if(iValore < min ) min= iValore; } } } } //console.log([ min , max , ' --2-- ' , minprec, maxprec ]); if(min != 0 || max != 0){ chartOptions.valueAxis[0].min = parseInt(min) - 1; chartOptions.valueAxis[0].max = parseInt(max) + 1; this.ivaloreMin = parseInt(min); this.ivaloreMax = parseInt(max); this.stampaMajorUnit(); } }; this.stampaMajorUnit = function(){ var iMajorUnit = Math.round ( (this.ivaloreMax - this.ivaloreMin) / 10 ); //console.log('iMajorUnit=',iMajorUnit); if(iMajorUnit>0){ this.iMajorUnit = iMajorUnit; } }; this.EliminaNomeSerie = function(id, lsNomeSerieOut){ if('undefined' == typeof(id)) return false; var chart = $("#stock-chart_"+id).data("kendoStockChart"); if(chart){ var laSeriePresenti = this.OttieniSeriePresenti(id); //var atemp = JSON.stringify(laSeriePresenti); //console.log('Serie presenti:',atemp); //console.log('Serie presenti:',laSeriePresenti.length); this.ControllaSeSerieAssente(lsNomeSerieOut, laSeriePresenti); //console.log('Serie manca a indice:',this.indicePresenzaSerie); if(this.indicePresenzaSerie){ this.id = id; var laSerieEliminata = laSeriePresenti.splice(parseInt(this.indicePresenzaSerie),1); //console.log('Serie eliminata dopo slice :',JSON.stringify(laSerieEliminata)); //console.log('Serie presenti ora:',laSeriePresenti.length); chart.setOptions({series:laSeriePresenti}); var chart = $("#stock-chart_"+id).data("kendoStockChart"); var laSeriePresentiInUscita = this.OttieniSeriePresenti(id); //console.log('Serie presenti InUscita:',laSeriePresentiInUscita.length); this.ImpostaNuoviMinimoEMassimo(laSeriePresentiInUscita); chart.redraw(); //chart.refresh(); //console.log('Ridisegnato....'); /*setTimeout( function(){ chart.resize(); console.log('resized....'); } , 100);*/ } //console.log('Imposto MU da EliminaNomeSerie'); this.ImpostaNuovoMajorUnit(chart); } }; this.ImpostaNuovoMajorUnit = function(chart){ if(this.iMajorUnit){ //console.log('Imposto istruzione x majorUnit=',this.iMajorUnit); //console.log(chart); /* chart.setOptions({valueAxis: {majorUnit: this.iMajorUnit}}); chart.refresh();*/ if(chart.options.valueAxis && chart.options.valueAxis.length && chart.options.valueAxis[0].name === 'strumento'){ chart.options.valueAxis[0].majorUnit = this.iMajorUnit; chart.redraw(); } } }; }; var ricercaStrumento = new Array(); function addslashes(str) { return (str + '') .replace(/[\\"']/g, '\\$&') .replace(/\u0000/g, '\\0'); } function popolaRicercaStrumento(id){ ricercaStrumento[id]={ datiListaCercata:-1, init:function(){ $(".btn_aggrimstrumenti").kendoButton(); $("#btnVis_"+id).kendoButton({ icon: "refresh", click: function(e) { $("#scatola_window_strumenti_cfg_"+id).data("kendoWindow").close(); //chiudo la kendo window //prima di uscire imposta oParametri //setto i nuovi strumenti nella stringa .oParametri.idStr=..... controllando anche gli strumenti che sono stati caricati da una lista parametriConfiguratore[id].settaNuoviStrumenti(); //console.log(barraConfiguratore[id].oParametri.indicatori); barraConfiguratore[id].oParametri.indicatori = contenutoTabStrip[id].SCHEDE_INDICATORI; azioniBottoni[id].buttonClickRefresh(); //refresh del grafico } }); $("#lstiporicerca_"+id).kendoDropDownList({ change: function(e) { setTimeout(function () { var autocomplete = $("#cdescrizione_"+id).data("kendoAutoComplete"); if(autocomplete.value() !== ''){ autocomplete.search(autocomplete.value()); } }, 100); } }); $("#cdescrizione_"+id).kendoAutoComplete({ dataTextField: "value", dataValueField:"id", filter: "contains", minLength: 3, delay:400, select:function(e){ var indice=e.item.index(); var dataItem = this.dataItem(indice); $('#idStrumentoCorrente_'+id).val(dataItem.id); $('#nomeStrumentoCorrente_'+id).val(dataItem.valuepulito); $('#tipoStrumentoCorrente_'+id).val(dataItem.valueoption); }, change:function(e){}, delay: 250, dataSource: strumento.dataSourceAutocompleta(id) }); }, creaTooltipStrumenti:function(){ $(".tooltipStrumenti").kendoTooltip({ width:"200px", position: "top" }); }, verificaStrumento:function () { //contenutoAggRimStrumenti.init(); var idStrumento = $("#idStrumentoCorrente_"+id).val(), nomeStrumento = $("#nomeStrumentoCorrente_"+id).val(), tipoStrumento = $("#tipoStrumentoCorrente_"+id).val(); ricercaStrumento[id].pulisciCampiAppoggio(); //gestione lista if('E' === tipoStrumento){ var strumento=false; ricercaStrumento[id].datiListaCercata=-1; azioniEsporta.dialogoAttesa('Lista',id); //ajax prelevo strumenti lista setTimeout(function(){ var lista=false; //controllo se ho già scelto questa lista lista=LISTEPULITE[id].controlla(idStrumento); if(lista!==false){ //se è nuova lista allora prelevo strumenti ricercaStrumento[id].prelevaElencoLista(tipoStrumento,idStrumento,nomeStrumento); //se ho dati if(ricercaStrumento[id].datiListaCercata!=-1){ //console.log('DATI DELLA LISTA='); //console.log(ricercaStrumento[id].datiListaCercata); if(ricercaStrumento[id].datiListaCercata.data.lbListaPiena){ //console.log('ListaPiena...'); //controllo se la scheda è Presente var idDivTab=cfgTabStripRicStrumenti[id].controllaTab('lis-'); //Metto il Titolo della Lista nella TabstripListe cfgTabStripRicStrumenti[id].aggiungiRigaStrumentoTabListeTitolo(lista,ricercaStrumento[id].datiListaCercata.data.descrizioneLista,idDivTab); //Popolo l'elenco degli strumenti della lista $.each(ricercaStrumento[id].datiListaCercata.data,function(idx,obj){ if(idx=='Portafogli' || idx=='Strumenti'){ $.each(obj,function(i,e){ cfgTabStripRicStrumenti[id].aggiungiRigaStrumentoTabListe(lista,e.idstrumento,e.descrizione,idDivTab); }); } }); azioniEsporta.dialogoAttesaChiudi(id); } else{ azioniEsporta.dialogoAttesaAvvisaConMessaggio(id,'Attenzione Lista vuota!'); } } }else{ azioniEsporta.dialogoAttesaAvvisaConMessaggio(id,'Lista presente in elenco!'); } }, 250); } //gestione strumento normale st ptf e bck else{ var strumento=false; //console.log('Caso Strumenti generici'); var idDivTab=cfgTabStripRicStrumenti[id].controllaTab(idStrumento); //console.log(idDivTab); strumento=STRUMENTIPULITI[id].controlla(idStrumento); if(strumento!==false){ //console.log('strumento='+strumento); //ricercaStrumento.aggiungiRigaStrumento(strumento,nomeStrumento); cfgTabStripRicStrumenti[id].aggiungiRigaStrumentoTab(strumento,nomeStrumento,idDivTab); }else{ alert('Strumento presente in elenco!'); } } }, pulisciCampiAppoggio:function() { $("#idStrumentoCorrente_"+id).val(''); $("#nomeStrumentoCorrente_"+id).val(''); $("#tipoStrumentoCorrente_"+id).val(''); $("#cdescrizione_"+id).data("kendoAutoComplete").value(''); $("#cdescrizione_"+id).focus(); }, prelevaElencoLista: function(lsTipoStrumento,idStrumento,nomeStrumento){ if('E' == lsTipoStrumento){ $.ajax({ async:false, /*beforeSend: function (){ },*/ //allineare azioni esporta url: common.path+"/librerie/_ricercastrumento.php?sid=" + sessione.sid, dataType: 'json', type: "post", data: { idLista: idStrumento, descrizioneLista: nomeStrumento }, success: function(data){ ricercaStrumento[id].datiListaCercata=data; }, error: function(){ console.log("ERRORE caricamento Strumenti Lista"); ricercaStrumento[id].datiListaCercata=-1; }, complete:function(){ } }); } }, mostraNascondiBtnCanc:function(proprieta) { //console.log('Display prop='+proprieta); //none o block; $("#btnCanc_"+id).css('display',proprieta); }, aggiungiRigaStrumento:function(strumento,nomestrumento){ if( strumento!="" && nomestrumento!="" ){ var html=''; $('#elencoTbodyStrumentiAggRim').append(html); contenutoTabStrip.aggiustaTestoStrumento(addslashes(nomestrumento),60,' ','...','strumentotooltip_'+strumento); ricercaStrumento.creaTooltipStrumenti(); strumenti[strumento]=nomestrumento; STRUMENTIPULITI.strumentiScelti.push(strumento); } }, rimuoviStrumento:function(){ var newStrum = [], newSchedeTab = []; $.each(STRUMENTIPULITI[id].strumentiScelti, function(index,strumento){ //console.log('input[name=strumentochk_'+strumento+'_'+id+']'); var inputCheck=$('input[name=strumentochk_'+strumento+'_'+id+']'), tdParent=$(inputCheck).parent(0), idDivPadre=$(inputCheck).closest('div[id^=schedatab_]').attr('id'); //console.log('idDivPadre='+idDivPadre); //console.log($(tdParent)); if(!isset(newSchedeTab[idDivPadre])){ var tabStrip = $("#tabStrip_cfg_ricstrumenti_"+id).data("kendoTabStrip"); newSchedeTab[idDivPadre]=tabStrip.select(); } if( $(inputCheck).is(':checked') ){ //console.log("elimina : "+ index+ " : "+strumento); $(inputCheck).remove(); $('#strumentotooltip_'+strumento+'_'+id).remove(); if($(tdParent).html()==''){ $(tdParent).parent(0).remove(); } } else{ newStrum.push(strumento); } }); var newINDIC = {}; // qui devo spazzare via gli indicatori // rimuovo qui gli indicatori $.each(contenutoTabStrip[id].SCHEDE_INDICATORI,function(i,item){ for (n=0; n 36 && k < 41) || (k > 47 && k < 58) || (k > 64 && k < 91) || (k >= 96 && k < 123)) { } else if (k == 8 || k == 32 || (k >= 35 && k < 41) || (k > 47 && k < 58) || (k > 64 && k < 91) || (k >= 96 && k < 123)) { return true; } return false; } }; var strumento={ dataSourceAutocompleta:function(id){ var datasource = new kendo.data.DataSource({ type: "json", serverFiltering: true, //ricerca per valore della colonna transport:{ read:{ type: "GET", url: common.path+"/librerie/_ricercastrumento.php?sid=" + sessione.sid , dataType: "json", contentType: 'application/json; charset=utf-8', data:{ q:function(){ return encode64($("#lstiporicerca_"+id).data('kendoDropDownList').value()); } } } }, schema: { data: "data", //nome chiave del vettore di ritorno che contiene i records model: { fields: { id: { type: "string" },//id strumento.... value: { type: "string" },//campo risultato descrizione strumento con molte info valuepulito: { type: "string" },//campo risultato pulito di descrizione strumento valueoption: { type: "string" }//campo risultato pulito di descrizione strumento } }, parse: function( data ){ return data; } }, requestEnd: function(e) { //console.log('END'); }, requestStart: function(e) { //console.log('START'); } }); return datasource; } }; customEventi={ caricaEventi: function(id){ if( barraConfiguratore[id].oParametri.rend == "p") return null; var eventi = new Array(); var notesData = new Array(); var stockchart = $("#stock-chart_"+id).data("kendoStockChart"); stockchart.options.categoryAxis[0].notes.data = notesData; var lsIdEv = barraConfiguratore[id].oParametri.idEv; // prendere da oParametri please var idStr = barraConfiguratore[id].oParametri.idStr; // strumento if(lsIdEv == '') return false; var Hpixel = 0; var Range = 0; var min = 0; var max = 0; setTimeout( function(){ min = stockchart._plotArea.axisY.options.min; max = stockchart._plotArea.axisY.options.max; var idPanel = stockchart._plotArea.axisY.pane.id; var altezzaPane = stockchart._plotArea.panes[0].box.y2; var hEti = 20; if(stockchart.options.categoryAxis[0].labels.rotation == "-90") hEti = 48; Hpixel = altezzaPane - hEti; /* console.log("MIN-MAX : " +min+ " -- "+max); console.log("idPANEL : " +idPanel); console.log("ALTEZZA PANE : "+altezzaPane); console.log("ALTEZZA ETICHETTE : "+hEti); console.log("ALTEZZA DISPONIBILE : "+Hpixel); */ },100); setTimeout( function(){ // recupero dati Evento $.ajax({ async: false, url: common.path+'/librerie/_datasource_eventi.php', dataType: 'json', type: "post", data: { sid : sessione.sid , lsIdEv: lsIdEv, idStr: idStr }, success: function(dati){ $.each(dati, function( idx , datoJs ) { var obj = {} obj.date = datoJs.Data; obj.val = datoJs.Img; eventi.push(obj); }); } }); /** velocizza CICLA UNA SOLA VOLTA IL DATASOURCE ( e più volte gli eventi**/ var altezzeLabel = new Array(); var grafDataSource=stockchart._plotArea.series; // var grafDataSource=stockchart.dataSource._data; // var arr = $.makeArray( grafDataSource ); // $.each(arr, function( idx , datoJs ) { // console.log(grafDataSource); $.map(grafDataSource[0].data, function( datoJs, idx ) { chiave=datoJs.D; for(i in eventi){ var dt = eventi[i].date; if(chiave >= dt && !isset(altezzeLabel[i])) { var step = ( Hpixel / (max-min) ); altezzeLabel[i] = parseInt((datoJs.C - min)*step); // console.log(altezzeLabel[i]); } } }); /** FINE velocizza **/ for(i in eventi){ var txt = eventi[i].val; // var dt = eventi[i].date.getTime(); var dt = eventi[i].date; // var length = customEventi.calcolaAltezza(id , dt , Hpixel , min , max); var length = altezzeLabel[i]; var nota = {}; nota.value = dt; nota.label = {}; nota.label.text = txt; nota.label.color = "#000000"; nota.label.font = "9px Arial,Helvetica,sans-serif"; nota.icon = {}; nota.icon.background = "#79AAEB"; nota.line = {}; nota.line.width = 0; nota.line.length = length; // 90 nota.evento = lsIdEv; notesData.push(nota); } stockchart.options.categoryAxis[0].notes.data = notesData; // stockchart.refresh(); stockchart.resize(); },150); }, messaggioEvento: function(id,e){ //console.log("HOVER EVENTO x "+id); //console.log(e); }, calcolaAltezza: function(id, dt , pixel , min , max){ var Range = max-min; stockchart = $("#stock-chart_"+id).data("kendoStockChart"); var grafDataSource=stockchart.dataSource._data; var valore = ""; var arr = $.makeArray( grafDataSource ); var trovato = false; $.each(arr, function( idx , datoJs ) { chiave=datoJs.D; if(chiave >= dt && trovato == false) { valore = datoJs.C; trovato = true; } }); // console.log("VALORE ::: "+valore); if(valore != ""){ var step = ( pixel / Range ); var length = parseInt((valore - min)*step); return length; } return 0; } } var oGraficoCono = { seEsiste: function(id){ var cercaKchart='#chart_'+id; if($(cercaKchart).size()>0){ return true; } return false; }, restitusciDatiPerExport:function(id){ if(this.seEsiste(id)){ var cercaKchart='#chart_'+id; var chart = $(cercaKchart).data("kendoChart"); return chart; } return false; } }; var azioniEsporta={ Png:function(id){ var chart = $("#stock-chart_"+id).data("kendoStockChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(chart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var chart = kendoStockChart[id].data; } //gestione CHART CONO //chart_ if(oGraficoCono.seEsiste(id)){ var chart = oGraficoCono.restitusciDatiPerExport(id); if(false === chart) return void(0); } chart.exportImage().done(function(data) { kendo.saveAs({ dataURI: data, fileName: "grafico.png" }); }); }, PngTotmp:function(id){ //console.log("inizio creazione png in background - PngTotmp"); var pezziPng = barraConfiguratore[id].oParametri.toPng.split("|"); var nomefile = pezziPng[1]; var chart = $("#stock-chart_"+id).data("kendoStockChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(chart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var chart = kendoStockChart[id].data; } chart.exportImage().done(function(data) { $.ajax({ url: common.path+'/librerie/_download_grafico.php', dataType: 'json', type: "post", data: { lsTipoDownload: 'pngbackground', lsdato: data , exportfilename:nomefile }, success: function(data){ console.log("generato PNG "+nomefile); }, error: function(){ console.log("ERRORE caricamento PNG."); } }); }); }, PngChart:function(id){ var chart = $("#kchart_"+id).data("kendoChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(chart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var chart = kendoStockChart[id].data; } chart.exportImage().done(function(data) { $.ajax({ url: common.path+'/librerie/_download_grafico.php', dataType: 'json', type: "post", data: { lsTipoDownload: 'png', lsdato: data }, success: function(data){ $('#iframe-download-cfg_'+id).attr('src',common.path+'/librerie/_download_grafico.php?lsTipoDownload=download&lsNomeFileDaAjax='+data.nomefile); }, error: function(){ console.log("ERRORE caricamento PNG."); } }); }); }, PngComeHtml:function(id, flagCambiaRend){ //gestione STOCKCHART var cercaStockchart='#stock-chart_'+id; if($(cercaStockchart).size()>0){ var chart = $("#stock-chart_"+id).data("kendoStockChart"); } //gestione CHART BARRE O SCATTER var cercaKchart='#kchart_'+id; if($(cercaKchart).size()>0){ var chart = $("#kchart_"+id).data("kendoChart"); } //gestione CHART CONO //chart_ if(oGraficoCono.seEsiste(id)){ var chart = oGraficoCono.restitusciDatiPerExport(id); if(false === chart) return void(0); } chart.exportImage().done(function(data) { $.ajax({ url: common.path+'/librerie/_download_grafico.php', dataType: 'json', type: "post", data: { lsTipoDownload: 'png', lsdato: data }, beforeSend: function() { if(flagCambiaRend == 1){ $('#' + div.grafico).hide(); //grafico_dataviz_test1 $('#' + div.loading).show(); } }, success: function(data){ $("#loadingGrafico_"+id).hide(); var htmlImg=''; if(flagCambiaRend == 0){ $("#"+id).empty().html(htmlImg).show(); } else if(flagCambiaRend == 1){ $('#' + div.loading).hide(); $('#' + "stock-chart_" +id).remove(); $("#" + div.grafico).empty().html(htmlImg).show().append('
'); //questa la devo ricreare, ospita le opzioni } }, error: function(){ console.log("ERRORE caricamento PNG."); } }); }); }, salvaDatiKendoStockChart:function(id, flagCambiaRend){ //gestione STOCKCHART var cercaStockchart='#stock-chart_'+id; if($(cercaStockchart).size()>0){ var chart = $("#stock-chart_"+id).data("kendoStockChart"); } //gestione CHART BARRE O SCATTER var cercaKchart='#kchart_'+id; if($(cercaKchart).size()>0){ var chart = $("#kchart_"+id).data("kendoChart"); } kendoStockChart[id].data = chart; }, esportaHtmlToPdf:function(lsTipoRichiesta,id){ // con il nuovo kendo crea problemi con   //72 dpi (web) = 595 X 842 pixels = 8.27*72=595 , 11.69*72=842 //At 100 dpi, it should be 827 X 1169 ((100 X 8.27) X (300 X 11.69)) //At 200 dpi, it should be 1654 X 2338 ((200 X 8.27) X (200 X 11.69)) //At 300 dpi, it should be 2481 X 3507 ((300 X 8.27) X (300 X 11.69)) //I think the ISO standard for A4 is 210mm X 297mm (8.27 in. 11.69 in.): var dpi=72; var Larghezza=8.27; var Altezza=11.69; var mypaperSize=[(dpi*Larghezza),(dpi*Altezza)]; var chart = $("#stock-chart_"+id).data("kendoStockChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(chart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var chart = kendoStockChart[id].data; } //gestione CHART CONO //chart_ if(oGraficoCono.seEsiste(id)){ var chart = oGraficoCono.restitusciDatiPerExport(id); if(false === chart) return void(0); } var d = new Date(); var str = d.getFullYear()+""+( d.getMonth() +1 )+""+d.getDate()+"_"+Math.floor((Math.random() * 10000) + 1); var marginLeft=25; var oldw = parseInt($("#grafico_dataviz_"+id).css("width")); var oldh = parseInt($("#grafico_dataviz_"+id).css("height")); if(oldw >840 && oldw<=1168){ dpi=100; } if(oldw >1168 && oldw<=2337){ dpi=200; } if(oldw >2480 && oldw<=3507){ dpi=300; } // ottimizzato per /comparazioni if(oldw >=890 && oldw<=910){ dpi=80; } // ottimizzato per scheda prodotto ES: /dettagliostrumenti/scheda/207 if(oldw >=540&& oldw<=560){ dpi=60; } //console.log("LARGHEZZA :: "+oldw); marginLeft = ( (dpi*Altezza) - oldw ) / 2; //CASO LANDSCAPE mypaperSize = [(dpi*Larghezza),(dpi*Altezza)]; chart.exportPDF({ creator:"ANALISYS S.p.A.", paperSize: mypaperSize, landscape: true , title:"ANALISYS S.p.A.", margin:{ top: 25, left:marginLeft } }).done(function(data) { kendo.saveAs({ dataURI: data, fileName: "grafico_" +str+ ".pdf" }); }); }, esportaDoc:function(id){ var callback = barraConfiguratore[id].oParametri.callbackid; var callbackHtml = encode64(''); if($("#"+callback+'_'+id).size()>0) callbackHtml = encode64($("#"+callback+'_'+id).html()); var chart = $("#stock-chart_"+id).data("kendoStockChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(chart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var chart = kendoStockChart[id].data; } var oldw = parseInt($("#grafico_dataviz_"+id).css("width")); var oldh = parseInt($("#grafico_dataviz_"+id).css("height")); chart.exportImage().done(function(data) { $.ajax({ url: common.path+'/librerie/_download_doc.php', dataType: 'html', type: "post", beforeSend:function (){ azioniEsporta.dialogoAttesa('Doc',id);}, data: { lsTipoDownload: 'doc', lsimmagine: data, lsHtml: callbackHtml , pathUrl: common.path, larghezza:oldw, altezza:oldh}, success: function(data){ //console.log(data); //console.log("Qualcosa ho scritto come DOC"); azioniEsporta.dialogoAttesaChiudi(id); $('#iframe-download-cfg_'+id).attr('src',data); }, error: function(){ console.log("ERRORE caricamento DOC."); } }); }); }, Excel:function(lsId,id){ //console.log('NAVIGATOR='+opzioni[id]['vedinavigator']) var chart = $("#"+lsId).data("kendoStockChart"); //se sto lavorando in rend == p e ho cambia rend==1 vedo sempre immagini, i dati sono backuppati dentro kendoStockChart[id].data if($.type(chart) == "undefined" && barraConfiguratore[id].oParametri.cambiarend==1){ var chart = kendoStockChart[id].data; } var grafDataSource=chart._plotArea.series; if($.type( grafDataSource )=='array') //VADO A TRATTARE { var Finale={}, chiave, lunghezza=grafDataSource.length, FinaleColonneStrumenti={}; //console.log('grafDataSource VETTORE, lungo='+lunghezza); //se vedinavigator ==1 elimino l'ultimo che è il navigator dalla serie //if(opzioni[id]['vedinavigator'] == 1){ //delete grafDataSource[lunghezza-1]; //} $.map(grafDataSource, function( datoJs, i ) { if($.type(datoJs) == 'object' ){ var datiSerie=datoJs.data; if('name' in datoJs) { $.each(datiSerie, function(kk, objDatoSerie){ //console.log(objDatoSerie); var loObjNew={}; //la chiave è la data chiave=objDatoSerie.D; if($.type(chiave)!="undefined"){ if(!(chiave in Finale)){ Finale[chiave]=[]; } //ciclo per ricavare l'id strumento comparando la descrizione della serie (datoJs.name) che sto scorrendo con "IndiceStrumento" di strumenti[id] for(IndiceStrumento in strumenti[id]){ if(strumenti[id][IndiceStrumento] == datoJs.name){ loObjNew.strumento=IndiceStrumento; //devo prendere il codice st207, st400, ecc... per mappare poi in _download_grafico.php if(!(IndiceStrumento in FinaleColonneStrumenti)){ FinaleColonneStrumenti[IndiceStrumento]=[]; FinaleColonneStrumenti[IndiceStrumento].push({'idstrumento': IndiceStrumento, 'descrizione': datoJs.name}); } break; } } //valore dello strumento loObjNew.valore=objDatoSerie.C; Finale[chiave].push(loObjNew); } }); } } }); var objColonneExcel = FinaleColonneStrumenti; // LISTE for (var idLista in liste[id]) { for (var idStrumento in liste[id][idLista]) { if( $.inArray(idStrumento.substr(0,3) , common.indicatori ) == -1 && idStrumento != "nome" ) { if(!(idStrumento in objColonneExcel)){ objColonneExcel[idStrumento]=[]; var loObjNew={}; loObjNew.idstrumento=idStrumento; loObjNew.descrizione=liste[id][idLista][idStrumento]; objColonneExcel[idStrumento].push(loObjNew); } } } } // oggetto con anche strumenti delle liste //console.log(objColonneExcel); //console.log(JSON.stringify(Finale)); var DatiExcel=encode64(JSON.stringify(Finale)), ColonneExcel=encode64(unescape(encodeURIComponent(JSON.stringify(objColonneExcel)))); return a=[DatiExcel,ColonneExcel]; }else{ //console.log('grafDataSource OBJ vuoto'); return false; } }, creaTabellaEsportaXls:function(laElementiExcel,id){ $.ajax({ url: common.path+'/librerie/_download_grafico.php', dataType: 'HTML', type: "post", data: { lsTipoDownload: 'xls', lsdati_foglio: laElementiExcel[0], lsdati_colonne: laElementiExcel[1] }, success: function(data){ $('#tableXls-cfg_'+id).html(decode64(data)); //azioniEsporta.chiudiFinestraAttesa(); }, error: function(){ console.log("ERRORE DOWNLOAD XLS."); }, complete:function(){ $('#cont_tab_xls_cfg_'+id).click(); } }); }, chiudiFinestraAttesa:function(id){ //$("#modal_window_cfg").data('kendoWindow').close(); azioniEsporta.dialogoAttesaChiudi(id); }, salvaSettaggiCorrenti:function(id, stringParam){ //console.log("Ribasamento.. ", id, ' parametro r100=',barraConfiguratore[id].oParametri.r100); var jsontxt = stringParam; $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'dataviz_settingcorrente', lsdato: jsontxt , sid: sessione.sid }, success: function(data){ } }); }, salvaPreferenzaSoloRibasamento:function(id){ //console.log("Ribasamento.. ", id, ' parametro r100=',barraConfiguratore[id].oParametri.r100); var jsontxt = encode64( JSON.stringify(barraConfiguratore[id].oParametri.r100) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'ribasamento', lsdato: jsontxt , sid: sessione.sid }, success: function(data){ } }); }, salvaPreferenzeUtente:function(id){ //console.log("PARTO CON IL SALVATAGGIO"); if( isset(barraConfiguratore[id].oParametri.opzioni) ){ //console.log("OPZIONI"); var jsontxt = encode64( JSON.stringify(barraConfiguratore[id].oParametri.opzioni) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'opzioni', lsdato: jsontxt, sid: sessione.sid }, success: function(data){ } }); //console.log("COLORI"); var jsontxt = encode64( JSON.stringify(barraConfiguratore[id].oParametri.colori) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'colori', lsdato: jsontxt, sid: sessione.sid }, success: function(data){ } }); } else { console.log("SONO ANCORA sui parametri di DEFAULT"); } /* //console.log("FREQUENZA"); var jsontxt = encode64( JSON.stringify(barraConfiguratore[id].oParametri.tf) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'frequenza', lsdato: jsontxt , sid: sessione.sid}, success: function(data){ } }); */ //console.log("SCALA Logaritmica/Lineare"); var jsontxt = encode64( JSON.stringify(barraConfiguratore[id].oParametri.ta) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'scala', lsdato: jsontxt , sid: sessione.sid}, success: function(data){ } }); //console.log("Ribasamento"); var jsontxt = encode64( JSON.stringify(barraConfiguratore[id].oParametri.r100) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'ribasamento', lsdato: jsontxt , sid: sessione.sid }, success: function(data){ } }); // INDICATORI //console.log("Indicatori"); // console.log( JSON.stringify(contenutoTabStrip.SCHEDE_INDICATORI) ); // {"SMA":[{"idStr":"st549481","colore":"#0000ff","giorni":"100"}],"VOL":[],"WMA":[]} // genero --> {"SMA":[],"VOL":[],"WMA":[]} var indicators = {}; $.each( contenutoTabStrip[id].SCHEDE_INDICATORI ,function(idx,obj){ if($.type(indicators[idx])=== "undefined"){ indicators[idx]=new Array(); } }); var jsontxt = encode64( JSON.stringify(indicators) ); $.ajax({ url: common.path+'/librerie/_gestisci_preferenze.php', async:true, dataType: 'html', type: "post", data: { lsAzione: 'inserisci', lsCodPreferenza:'indicatori', lsdato: jsontxt , sid: sessione.sid }, success: function(data){ } }); }, dialogoAttesa:function(lsTipo,id){ if( $("#dialog_dataviz_"+id ).size() == 0 ){ $("#"+id ).append('
'); } var dialogInfo = $("#dialog_dataviz_"+id ).kendoWindow({ title: "Elaborazione "+lsTipo, actions: [ "Close" ], draggable: true, height: "100", width: "150", modal: true, resizable: true, open: function (e) { //$("#dialog_dataviz_"+id).data("kendoWindow").content("

"); this.content("

"); this.wrapper.css({ top: 30 }); this.title("Elaborazione "+lsTipo); } }).data('kendoWindow'); //var txt = "

"; //$("#dialog_dataviz_"+id).html( txt ); dialogInfo.center().open(); }, dialogoAttesaAvvisaConMessaggio: function(id,lsMessaggio){ var kw=$("#dialog_dataviz_"+id ).data('kendoWindow'); kw.content(lsMessaggio); setTimeout(function(){azioniEsporta.dialogoAttesaChiudi(id);},1250); }, dialogoAttesaChiudi:function(id){ var kw = $("#dialog_dataviz_"+id ).data('kendoWindow'); console.log("#dialog_dataviz_"+id) //kw.close(); kw.destroy(); }, checkPrecalcolaPdf: function(id){ if(barraConfiguratore[id].oParametri.toPdf=='1'){ azioniEsporta.esportaHtmlToPdf('precalcola',id); } }, checkPrecalcolaPng: function(id){ if(barraConfiguratore[id].oParametri.toPng!='0' && $.type(barraConfiguratore[id].oParametri.toPng)!=="undefined"){ azioniEsporta.PngTotmp(id); } } }; /** * 2022-10-14 * controllo lingua x setting culture * serve per le formattazioni dei nomi abbreviati nei mesi, e nelle date libere setta nel calendar picker i nomi in inglese */ function getLanguageFromNavigator(){ var lang = navigator.language || navigator.userLanguage; return lang; } function getCultureFromNavigator(){ var lang = getLanguageFromNavigator(); var idioma = (lang.substr(0,2)).toLowerCase(); if(idioma.indexOf('it') !== -1){ return 'it-IT'; } else if(idioma.indexOf('en') !== -1){ return 'en-US'; } else return 'it-IT'; } /** 2022-04-26 innesto traduzioni */ var t = []; var TraduzioniLocali = []; function traduci(lsIndice){ if($.inArray(lsIndice, t)<0) t.push(lsIndice); if (TraduzioniLocali.hasOwnProperty(lsIndice) && $.trim(TraduzioniLocali[lsIndice]) !="") return TraduzioniLocali[lsIndice]; else if (TraduzioniLocali.hasOwnProperty(lsIndice.toLowerCase()) && $.trim(TraduzioniLocali[lsIndice.toLowerCase()]) !="") return TraduzioniLocali[lsIndice.toLowerCase()]; else return lsIndice; } /** * funzione traduci simile a sprintf di PHP * @ref https://stackoverflow.com/a/45518786 * @param String lsIndice stringa da tradurre * @param ... argomenti con valori da sostituire * @returns String */ function traduciplaceholder(lsIndice) { var args = arguments, i = 1; var str = traduci(lsIndice); return str.replace(/%(s|d|0\d+d)/g, function (x, type) { var value = args[i++]; switch (type) { case 's': return value; case 'd': return parseInt(value, 10); default: value = String(parseInt(value, 10)); var n = Number(type.slice(1, -1)); return '0'.repeat(n).slice(value.length) + value; } }); } /*fine innesto traduzioni*/ function FunzioniStorage(){ this.oStorage = window.sessionStorage; this.Imposta = function(lsChiave, lsValore){ this.oStorage.setItem(lsChiave, lsValore); }, this.Restituisci = function(lsChiave){ return this.oStorage.getItem(lsChiave); }, this.Elimina = function(lsChiave){ console.log(lsChiave); this.oStorage.removeItem(lsChiave); }, this.EliminaTutto = function(lsChiave){ this.oStorage.clear(); } }; var common={ path : 'https://pgraficibk.exactnetwork.net/pgrandegrafico', storage : [], init:function(lsJsonParametri, lsIdDestinazione , sid){ //console.clear(); //console.log('PATH='+common.path); //console.log(lsJsonParametri, lsIdDestinazione , sid); // console.log("Inizio Grafico + "+lsIdDestinazione); //kendo.culture("it-IT"); kendo.culture( getCultureFromNavigator() ); sessione.sid = sessione.leggiValoreUrl('sid'); if(sessione.sid==''){ sessione.sid = sid; } //console.log('SID in uscita JS='+sessione.sid); div.generaHtml(lsIdDestinazione); //console.log("popola vettori"); popolaVettoriCfg(lsIdDestinazione); popolaVettoriGrf(lsIdDestinazione); common.initStorage(lsIdDestinazione); common.carica_configuratore(lsJsonParametri,lsIdDestinazione); common.carica_grafico(lsJsonParametri,lsIdDestinazione , 1); //1 = parametro carica preferenze $('#'+div.loading).hide(0); }, initStorage:function(lsIdDestinazione) { common.storage[lsIdDestinazione] = new FunzioniStorage(); }, initChart:function(lsJsonParametri, lsIdDestinazione , sid){ //console.clear(); //console.log('PATH='+common.path); //kendo.culture("it-IT"); kendo.culture( getCultureFromNavigator() ); sessione.sid = sessione.leggiValoreUrl('sid'); if(sessione.sid==''){ sessione.sid = sid; } div.generaHtmlChart(lsIdDestinazione); common.carica_configuratore_chart(lsJsonParametri,lsIdDestinazione); common.carica_grafico_chart(lsJsonParametri,lsIdDestinazione); $('#'+div.loading).hide(0); }, // CONFIGURATORE GRAFICO carica_configuratore:function(lsJsonParametri,lsIdDestinazione){ //console.log("carica configuratore"); $.ajaxSetup({ cache: true }); div.settaVariabili(lsIdDestinazione); $.ajax({ url: common.path+'/pagine/a01_dataviz_configura_grafico.php?sid='+sessione.sid, dataType: "HTML", type: "post", async:false, data: { 'lsJson': lsJsonParametri, 'lsIdDestinazione': lsIdDestinazione , 'pathUrl':common.path }, success: function(data){ $('#'+div.configuratore).html(data).show(); }, error: function(){ console.log("ERRORE caricamento configuratore."); } }); }, //STOCK CHART carica_grafico:function(lsJsonParametri, lsIdDestinazione , caricaParametriSalvati){ //console.log("carica stock chart"); div.settaVariabili(lsIdDestinazione); //console.log("URL="+common.path+'/pagine/a01_dataviz_grafico.php?sid='+sessione.sid); var visibilitaserie = common.storage[lsIdDestinazione].Restituisci('visibilitaserie'); var indicatoriattivi = common.storage[lsIdDestinazione].Restituisci('indicatoriattivi'); $.ajax({ url: common.path+'/pagine/a01_dataviz_grafico.php?sid='+sessione.sid, dataType: "HTML", type: "post", async:false, beforeSend:function (){ $("#"+div.loading).show(); $("#" + div.grafico).css('display','none').empty(); }, data: { 'lsJson': lsJsonParametri, 'lsIdDestinazione': lsIdDestinazione, 'pathUrl': common.path , caricaParametriSalvati : caricaParametriSalvati ,'visibilitaSerie':visibilitaserie ,'indicatoriAttivi':indicatoriattivi }, success: function(data){ $('#'+div.grafico).html(data).show(); $("#"+div.loading).hide(); $('#'+div.grafico+ ' .chart-wrapper').show(); }, error: function(){ console.log("ERRORE caricamento grafico."); } }); }, //CHART BARRE O SCATTER carica_grafico_chart:function(lsJsonParametri, lsIdDestinazione){ div.settaVariabili(lsIdDestinazione); $.ajax({ url: common.path+'/pagine/a01_dataviz_grafico_chart.php?sid='+sessione.sid, dataType: "HTML", type: "post", async:false, beforeSend:function (){ $("#" + div.grafico).empty(); }, data: { 'lsJson': lsJsonParametri, 'lsIdDestinazione': lsIdDestinazione, 'pathUrl': common.path}, success: function(data){ $('#'+div.grafico).html(data).show(); }, error: function(){ console.log("ERRORE caricamento grafico chart."); } }); }, // CONFIGURATORE BARRE o SCATTER carica_configuratore_chart:function(lsJsonParametri,lsIdDestinazione){ //console.log("carica configuratore"); $.ajaxSetup({ cache: true }); div.settaVariabili(lsIdDestinazione); $.ajax({ url: common.path+'/pagine/a01_dataviz_configura_grafico_chart.php?sid='+sessione.sid, dataType: "HTML", type: "post", async:false, data: { 'lsJson': lsJsonParametri, 'lsIdDestinazione': lsIdDestinazione , 'pathUrl':common.path }, success: function(data){ console.log("success carico configuratore"); $('#'+div.configuratore).html(data).show(); }, error: function(){ console.log("ERRORE caricamento configuratore."); } }); }, // CHIAMATA per creare CACHE Strumenti su MEMCACHE carica_postcache:function(strumentifull, livaluta , lsvaluta, lsR100){ if(typeof lsR100 === 'undefined'){ lsR100 = null; } $.ajax({ url: common.path+'/pagine/a01_dataviz_postcache_dati_serie.php?sid='+sessione.sid, dataType: "HTML", type: "post", async:true, /* cache: false, */ data: { "strumentiFull" : strumentifull, "liValuta" : livaluta, "lsValuta" : lsvaluta, "lsR100": lsR100 } }); }, indicatori:['SMA','VOL','WMA','RSI','DEV'], palette : [ "#00ff00", "#ff0000", "#0000ff", "#ffccff", "#ff9933", "#33ffff", "#663300", "#006666", "#cccc33", "#cc6633", "#9900cc", "#669966", "#cc9966", "#6633ff", "#00cccc", "#ff0066", "#0066cc", "#993366", "#00ff33", "#66ffcc", "#cc33cc", "#ffcc00", "#cccc99", "#330099", "#99ff33", "#ffcc33", "#cc99ff", "#cc3399", "#009999", "#ff3366", "#99cc33", "#6600ff", "#3300ff", "#996699", "#00cc99", "#3399cc", "#ff66cc", "#9966ff", "#cc66cc", "#99ccff", "#99ffff", "#99cc99", "#ccff66", "#ff0033", "#ff00cc", "#993300", "#ff0099", "#66cc33", "#00ff66", "#003333", "#999933", "#993399", "#33ccff", "#ff3333", "#cc6699", "#666600", "#669999", "#330066", "#ff9900", "#cc0099", "#006633", "#996633", "#339966", "#ffff99", "#9966cc", "#cc6600", "#66ff99", "#ccff33", "#ffcc66", "#999966", "#99cccc", "#336633", "#ccffcc", "#cccccc", "#993333", "#339900", "#663333", "#33cc33", "#ff99ff", "#00ffff", "#cc9900", "#0033cc", "#666699", "#9999ff", "#660099", "#cc0066", "#330033", "#336666", "#cc3366", "#006600", "#336699", "#669933", "#660066", "#cc3333", "#009900", "#ff3399", "#333399", "#99ff99", "#003300", "#00cc66", "#6699ff", "#0099cc", "#0099ff", "#ffffcc", "#66ff66", "#00ff99", "#3366cc", "#339999", "#99cc66", "#33cccc", "#cc00cc", "#6699cc", "#ccffff", "#ffcc99", "#33ffcc", "#33ff00", "#ffff00", "#990099", "#33ff99", "#00ccff", "#3399ff", "#cc00ff", "#006699", "#ffcccc", "#ccccff", "#3333cc", "#339933", "#663366", "#669900", "#6633cc", "#cc33ff", "#ff33ff", "#66ff33", "#ccff99", "#66ffff", "#cc0033", "#cc9999", "#990066", "#33cc00", "#9999cc", "#ff00ff", "#0033ff", "#ffff33", "#99cc00", "#660033", "#ff6633", "#9933cc", "#666633", "#66ccff", "#ff6666", "#cc6666", "#3300cc", "#ff9966", "#66cccc", "#33ff33", "#9900ff", "#6666cc", "#9933ff", "#999900", "#ff66ff", "#66cc99", "#99ff00", "#999999", "#ffff66", "#ff6699", "#003366", "#336600", "#99ffcc", "#99ff66", "#cc9933", "#996666", "#cc66ff", "#663399", "#cccc00", "#00cc33", "#ff6600", "#ff3300", "#ccff00", "#6600cc", "#cc3300", "#66cc00", "#ff99cc", "#33cc99", "#33ff66", "#0066ff", "#cc99cc", "#996600", "#ff33cc", "#ff9999", "#66cc66", "#3333ff", "#00cc00", "#333300", "#cccc66" ] }; var sessione = { sid: 0, //Ritorna il valore del parametro nell'URL (se non lo trova torna vuoto) leggiValoreUrl: function(lsParametro){ var i, lsUrl = window.location.search.substr(1), laUrl = lsUrl.split('&'), i, laParam; for(i in laUrl){ laParam = laUrl[i].split('='); if(lsParametro == laParam[0]){ return laParam[1]; } } return ''; }, stampasessione:function(){ console.log(sessione.sid); } }; var div={ lsSuffisso:'_dataviz_', configuratore:'configuratore_grafico', grafico:'grafico', loading:'loading', contenitoredataviz:'container', dialogOpzioni: 'finestraOpzioni', // non più usata xè generata nel php del grafico dialogAlert: 'alertOpz', dialog: 'dialog', tabellaAnalsi: 'tabellaAnalisiStrumenti', settaVariabili: function(lsIdDestinazione){ div.lsSuffisso='_dataviz_'+lsIdDestinazione, div.configuratore='configuratore_grafico'+div.lsSuffisso; div.grafico='grafico'+div.lsSuffisso; div.loading='loading'+div.lsSuffisso; div.contenitoredataviz='container'+div.lsSuffisso; div.dialogOpzioni='finestraOpzioni'+div.lsSuffisso; div.dialogAlert='alertOpz'+div.lsSuffisso; div.dialog='dialog'+div.lsSuffisso; div.tabellaAnalsi='tabellaAnalisiStrumenti'+div.lsSuffisso; }, //base per STOCK CHART generaHtml:function(lsIdDestinazione){ div.settaVariabili(lsIdDestinazione); var lsHtml='
'+ '
'+ '
'+ traduci("Grafico in elaborazione")+"..."+'
'+ '
'+ '
'+ '
'+ '
'+ '
'; $('#'+lsIdDestinazione).append(lsHtml); }, //base per il CHART generaHtmlChart:function(lsIdDestinazione){ div.settaVariabili(lsIdDestinazione); var lsHtml='
'+ '
'+ '
'+ '
'+ '
'; $('#'+lsIdDestinazione).append(lsHtml); } }; /*** questo poi lo definiamo ***/ var resize={ ascoltaDimesione:function(){ // $(window).on('resize',resize.leggiDimensione); $(window).resize(function() { if(this.resizeTOGrafico) clearTimeout(this.resizeTOGrafico); this.resizeTOGrafico = setTimeout(function() { $(this).trigger('windowResizeGrafico'); }, 500); }); $(window).on('windowResizeGrafico', function() { // console.log(window.innerHeight); // calculating here resize.leggiDimensione(); clearTimeout(this.resizeTOGrafico); }); }, leggiDimensione:function(){ barraConfiguratore.oParametri.liX=$(window).width(); if($('#toolbar_cfg').size()>0){ var toolbar = $("#toolbar_cfg").data("kendoToolBar"); if($.type(toolbar)==="undefined"){ toolbar.destroy(); } } if($('#toolbar_cfg2').size()>0){ var toolbar = $("#toolbar_cfg2").data("kendoToolBar"); if($.type(toolbar)==="undefined"){ toolbar.destroy(); } } if($('#window_indicatori_cfg').size()>0){ var finestraIndicatori=$('#window_indicatori_cfg').data("kendoWindow"); if($.type(finestraIndicatori)!=="undefined"){ finestraIndicatori.refresh(); } } common.carica_configuratore(encode64(JSON.stringify(barraConfiguratore.oParametri))); $("#stock-chart").data("kendoStockChart").refresh(); } }; console.log(jQuery().jquery); console.log(kendo.version);