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(traduci('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),traduci('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: traduci("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://pgrafici.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);