/* exported ps_currTab ps_TabAnimation pickerObj contentInfo titleInfo updateAllLayoutSteps addLayoutStep delLayoutStep editLayoutStep setAdaptiveSettings ListObj editDesc selectDate addPage rgbToHex TempArray BuildExpression loadValue editPortlet selectPortlet selectReceiver selectEmitter SelectBO SelectItems PickParameters EditQuery NewQuery EditEventEmitter EditEventReceiver hideProperties checkAlpha checkVLine IsColor IsValidCheckboxValues IsValidValue LoadFileList downloadChartReturn GetAvailableDownloadFormat LoadChartList ShowMoreInfo getChartFieldValue renderPreSet fillLayoutStep LoadRangeMask setChartRangeBands StartChartWizard SaveChartFieldsConfiguration SetChartWizardConfiguration receiveConfigSeries renderWizard KeyFind receiveConfigClassSeries EditClientQuery getDataproviders setPropertyValue CreateTemplateConnectors openConfigZoom editZoom newZoom openLinkedField openReadField loadFieldName insertPageBefore deletePage pickerBO fillBoItems GetObjsForExpBuilder openFields GetExpressionFromId SetReturnVal openTableFields selectZoneMode setCurrentPage setPagesProp updateProperties SetSmartChartdef GetChartWizardInitConf GetQueryFields openFields getQueryFieldsFromDataprovider */ //Scrive la properties var formProp=new ZTObjects.formObj('300','400','#F3F3F3') var searchProp = ZTObjects.searchObj ? new ZTObjects.searchObj() : null; var v_line=" "; var ps_currTab = null; var ps_TabAnimation = false; var ps_props; var last_index=null; var pickerObj, contentInfo, titleInfo; var search_accordion, searchResult, wrapperTitle; var availableDownloadFormat = [ ["SVG", "SVG structured document", "all"], ["SVGF", "SVG structured document with fonts", "all"], ["PNG", "PNG format image", "all"], ["JPEG", "JPEG format image", "all"], ["PDF", "PDF format document", "all"], ["CSV", "CSV format document", "all"], ["XML", "XML format document", "all"] ]; if(Empty(localStorage.getItem('zucchetti_portleteditor_properties'))){ ps_props = {'width':250,'top':45,'left':500,'opened':true,'opacity':1,'expandedToColumn':true,'columnSide':'right','form_closed':false} localStorage.setItem('zucchetti_portleteditor_properties', JSON.encode(ps_props)); }else{ ps_props = JSON.parse(localStorage.getItem('zucchetti_portleteditor_properties')); } function FormProperties(force_render,force_open){ var mainobj=formProp; if(Empty(newFormPropObj) || force_render){ newFormPropObj = new propertiesObj({ afterRender : resizeGadgetsPane , m_obj : mainobj , isForm : true , canExpandToColumn : false , divcontainer : 'formproperties' , moveDiv : false }); } else { newFormPropObj.updatePropertiesFromPaint(mainobj); } if (Empty(searchFormPropObj)) { searchFormPropObj = new propertiesObj({ m_obj : searchProp, isForm : false, canExpandToColumn : false, divcontainer : 'searchproperties', moveDiv : false, afterRender : resizeGadgetsPane }); } else { searchFormPropObj.updatePropertiesFromPaint(searchProp); if(document.getElementById('Form_generic_pages')){ document.getElementById('Form_generic_pages').value = formProp.page; document.getElementById('Form_generic_pages').dispatchEvent(new Event('change')); } } if(force_open && ps_props.form_closed == true) {togglePane();} } function Properties(forceRender){ if(index!=null){ var mainobj=itemsHTML[index]; if(newPropObj && !forceRender && last_index!=null && last_index==index){ newPropObj.updatePropertiesFromPaint(mainobj); }else if(newPropObj && !newPropObj.pSheetOpened){ //rimani chiuso }else{ newPropObj = new propertiesObj({m_obj:mainobj,canExpandToColumn:true,tabindex:100}); newPropObj.re_openColumn(); } if(showProperties) showProperties('properties'); if(last_index!=index)hidePreSet(); //Set Notifications if(mainobj.objClass.notifications) mainobj.objClass["notifications"](mainobj); if(mainobj.notifications && mainobj.notifications.length>0) { document.getElementById('properties_notifics').addClass('toggler_notifics_on'); if(document.getElementById('n_nofitcs'))document.getElementById('properties_notifics').removeChild(document.getElementById('n_nofitcs')); new Element('div',{'id':'n_nofitcs','class':'toggler_notifics_n','text':mainobj.notifications.length}).inject(document.getElementById('properties_notifics')); if(last_index==null || last_index!=index || document.getElementById('NotificsContainer')){ hideNotifics(); renderNotifics(); } } if(mainobj.notifications && mainobj.notifications.length==0){ document.getElementById('properties_notifics').removeClass('toggler_notifics_on'); if(document.getElementById('n_nofitcs'))document.getElementById('properties_notifics').removeChild(document.getElementById('n_nofitcs')); } if(mainobj.author && document.getElementById("components_author") == null) { var title = "The component has been developed by the " + mainobj.author + ".\nFor assistance please contact the department." var text = "

Component's Author: " + mainobj.author + "

"; var node = document.createElement("div"); node.innerHTML = text; node.id = "components_author"; document.getElementById("properties").getElementsByClassName("pSheet")[0].appendChild(node); document.getElementById("propertiespContainer").classList.add("with_author"); } last_index=index; } } /* function togglePane(){ var morphEl= new Fx.Morph($('formproperties'),{ 'duration':'300', link:'cancel',transition:Fx.Transitions.Bounce.easeOut}); var morphTlb= new Fx.Morph($('toolbar'),{ 'duration':'300', link:'cancel',transition:Fx.Transitions.Bounce.easeOut}); if(ps_props.form_closed == false){ morphEl.start({'left': -$('formproperties').offsetWidth}); morphTlb.start({'padding-left': 0}) //$('formproperties').opened = false; $('formproperties_openclose').setStyle('background-position','center right') ; ps_props_hide_left = $('backcanvas').offsetLeft-$('formproperties').offsetWidth; $('backcanvas').setStyle('left',$('backcanvas').offsetLeft-$('formproperties').offsetWidth); $('backcanvasBorder').setStyle('left',$('backcanvasBorder').offsetLeft-$('formproperties').offsetWidth); $('v_line').setStyle('left',$('v_line').offsetLeft-$('formproperties').offsetWidth); $('h_ruler').setStyle('left',$('h_ruler').offsetLeft-$('formproperties').offsetWidth); $('v_ruler').setStyle('left',$('v_ruler').offsetLeft-$('formproperties').offsetWidth); ps_props.form_closed = true; $('toolbar').setStyle('width',$('canvas').getSize().x) }else{ morphEl.start({'left': 0}).chain(function(){ morphTlb.start({'padding-left': $('formproperties').offsetWidth}); //$('formproperties').opened = true; $('formproperties_openclose').setStyle('background-position','center left') ; ps_props_hide_left = $('backcanvas').offsetLeft+$('formproperties').offsetWidth; $('backcanvas').setStyle('left',$('backcanvas').offsetLeft+$('formproperties').offsetWidth); $('backcanvasBorder').setStyle('left',$('backcanvasBorder').offsetLeft+$('formproperties').offsetWidth); $('v_line').setStyle('left',$('v_line').offsetLeft+$('formproperties').offsetWidth); $('h_ruler').setStyle('left',$('h_ruler').offsetLeft+$('formproperties').offsetWidth); $('v_ruler').setStyle('left',$('v_ruler').offsetLeft+$('formproperties').getSize().x); $('toolbar').setStyle('width',$('canvas').getSize().x - $('formproperties').getSize().x) }); ps_props.form_closed = false; } } */ function updateProperties(input, the_property, propertyType, isForm, value, updateHTML, reconvertFunc, validFunc, m_obj, alwaysUpdates, setOnBlurFunc) { updateHTML = (typeof(updateHTML) == "undefined") ? true : updateHTML; // if(window.htmlmode){ // updateHTML=false; // } if(m_obj && (typeof(m_obj.updateHTML) != "undefined")) updateHTML = m_obj.updateHTML; var arrayProp; if(isForm) arrayProp=formProp; else if(m_obj) arrayProp=m_obj; else arrayProp=itemsHTML[index]; if(value==arrayProp[the_property]) return; switch(the_property){ case "x": case "y": case "h": case "w": case "name": if(EmptyString(value)) { PSAlert.alert("Obligatory data input"); setTimeout("document.getElementById('"+input.id+"').focus();",50); setTimeout("document.getElementById('"+input.id+"').select();",50); return; } break; case "manifest": if(!Empty(value) && formProp['manifest']!=value) codeManifest=new JSURL("../servlet/JSPReader?action=manifest&name="+value,true).Response(); if(Empty(value)) codeManifest=''; break; } if(reconvertFunc){ value=window[reconvertFunc](value) } var r; if(validFunc){ if(typeof(validFunc)=='string') r = window[validFunc](value,the_property,input,index); else //Si può scrivere una r=validFunc.call(null,value,the_property,input,index); if(r!=true){ if(input.type=='checkbox'){ input.checked=false; }else{ input.value=arrayProp[the_property]; setTimeout("document.getElementById('"+input.id+"').focus();",50); setTimeout("document.getElementById('"+input.id+"').select();",50); } return; } } if(setOnBlurFunc){ if(typeof(setOnBlurFunc)=='string') window[setOnBlurFunc](value,the_property,input,index); else //Si può scrivere una setOnBlurFunc.call(null,value,the_property,input,index); } if(typeof(value)=='boolean' && arrayProp[the_property]==value.toString())return; if((typeof(b_reload)!='undefined' && b_reload) || arrayProp[the_property]==value)return; if (!alwaysUpdates && Empty(value) && Empty(arrayProp[the_property])) return; switch(propertyType){ case 'int': //solo valori numerici if(!Empty(value)){ if(isNaN(value)){ PSAlert.alert('Not a numeric value !'); setTimeout("document.getElementById('"+input.id+"').focus();",50); setTimeout("document.getElementById('"+input.id+"').select();",50); return; }else{ arrayProp[the_property]=value; if(updateHTML) writeHTML(); } }else{ arrayProp[the_property]=value; if(updateHTML) writeHTML(); } break; case 'checkbox': if (typeof(value)=="boolean") value=(value?"true":"false"); updateHTML=true; arrayProp[the_property]=value; writeHTML(); if(the_property=='hsl')//Se si richiamano le snaplines bisogna deselezionare tutto if(value!='true'){ selectForm() //return; } break; case 'pages': arrayProp[the_property]=value; if(updateHTML) writeHTML(true); break; case 'steps_layout': arrayProp[the_property]=value; if(updateHTML) writeHTML(true); break; default: //case 'str': case 'data': case 'select': case 'xmldata'://valori stringa if (the_property == 'maxlength' && Trim(value) != '') arrayProp.w = Math.floor(value * 7.5) /* Conversione dei newline da html a javascript */ value = Strtran(value, ' ', '\r'); value = Strtran(value, ' ', '\n'); let oldname; if (the_property == "name") { oldname = arrayProp.name; } arrayProp[the_property]=value; if (the_property == "name") { if( window.updateHtmlCode ) { updateHtmlCode( oldname, value); } } if(isForm && the_property=='steps'){ FormProperties(true); } if(updateHTML) writeHTML(); } if(window.updatePropertiesSelected) updatePropertiesSelected(the_property,isForm,value,updateHTML); m_bUpdated=true; } function updateAllLayoutSteps(){ var formSteps=formProp.steps.split(','); var CurrStep=formProp.layout_step; var initialStep=CurrStep; //updateLayoutSteps(CurrStep,formSteps[0]); for(var i=0;i-1)?formProp.v_line:pageProps.w); //Salvo le prop h,w steppabile del form if(pageProps.layout_steps_values){ if(!pageProps.layout_steps_values[oldStep]) pageProps.layout_steps_values[oldStep]={}; pageProps.layout_steps_values[oldStep].h=(formProp.h.split(',')[oldPage]).toString(); pageProps.layout_steps_values[oldStep].w=(formProp.w.split(',')[oldPage]).toString(); if(newStep==null){//al salvataggio //Cancello gli step in disuso var formStepsKeys=Object.keys(pageProps.layout_steps_values); for(ii=0;ii-1 || (ctrl.anchor.indexOf('%')>-1 || (formProp.adaptive=='adaptive' && Empty(ctrl.anchor))))){ //alla creazione di nuovo step vuoto sposto gli elementi ancorati var RightPct, LeftPct; if(newStep==oldStep) oldStep=formProp.v_line; if(!ctrl.layout_steps_values[newStep]) ctrl.layout_steps_values[newStep]={}; if(ctrl.anchor.indexOf('right')>-1 && ctrl.anchor.indexOf('left')==-1){ // sposto gli elementi ancorati solo right if(ctrl.anchor.indexOf('%')>-1){ RightPct=(parseInt(oldStep)-(parseInt(ctrl.x)+parseInt(ctrl.w)))*100/parseInt(oldStep); ctrl.x=parseInt(ctrl.x)+ (deltaStep-parseInt(deltaStep*RightPct/100)) ; }else ctrl.x=parseInt(ctrl.x)+deltaStep; }else if(ctrl.anchor.indexOf('left(%)')>-1 && ctrl.anchor.indexOf('right')==-1){ // sposto gli elementi ancorati solo left% LeftPct=parseInt(ctrl.x)*100/parseInt(oldStep); ctrl.x=parseInt(ctrl.x)+ parseInt((deltaStep*LeftPct/100)); }else if(ctrl.anchor.indexOf('right')>-1 && ctrl.anchor.indexOf('left')>-1 || (formProp.adaptive=='adaptive' && Empty(ctrl.anchor))){ // sposto gli elementi ancorati left-right if(ctrl.anchor.indexOf('right(%)')>-1 && ctrl.anchor.indexOf('left(%)')>-1 || (formProp.adaptive=='adaptive' && Empty(ctrl.anchor))){ //tutti in % RightPct=(parseInt(oldStep)-(parseInt(ctrl.x)+parseInt(ctrl.w)))*100/parseInt(oldStep); LeftPct=parseInt(ctrl.x)*100/parseInt(oldStep); ctrl.x=parseInt(ctrl.x)+ parseInt(deltaStep*LeftPct/100); ctrl.w=Math.floor(parseInt(ctrl.w)+ (deltaStep-deltaStep*RightPct/100) - (deltaStep*LeftPct/100)); }else if(ctrl.anchor.indexOf('right(%)')>-1){ //right% e left px RightPct=(parseInt(oldStep)-(parseInt(ctrl.x)+parseInt(ctrl.w)))*100/parseInt(oldStep); ctrl.w=Math.floor(parseInt(ctrl.w)+ (deltaStep-deltaStep*RightPct/100)); }else if(ctrl.anchor.indexOf('left(%)')>-1){ //left% e right px LeftPct=parseInt(ctrl.x)*100/parseInt(oldStep); ctrl.x=parseInt(ctrl.x)+ parseInt(deltaStep*LeftPct/100); ctrl.w=Math.floor(parseInt(ctrl.w)+ (deltaStep) - (deltaStep*LeftPct/100)); }else{ //left-right in px ctrl.w=(parseInt(ctrl.w)+ (deltaStep)).toString(); } } ctrl.layout_steps_values[newStep].x=parseInt(ctrl.x); ctrl.layout_steps_values[newStep].y=parseInt(ctrl.y); ctrl.layout_steps_values[newStep].w=parseInt(ctrl.w); ctrl.layout_steps_values[newStep].h=parseInt(ctrl.h); if(typeof(ctrl.anchor)!='undefined')ctrl.layout_steps_values[newStep].anchor=ctrl.anchor; //Proprietà steppabili extra if(ctrl.steppable_prop_extra) for( ii=0; ii < ctrl.steppable_prop_extra.length; ii++){ ctrl.layout_steps_values[newStep][ctrl.steppable_prop_extra[ii]] = ctrl[ctrl.steppable_prop_extra[ii]]; } } } } if(newStep){ formProp.v_line=newStep; //formProp.w='100%'; } var currIndex=index; removeAllHandlers(); if(currIndex!=null){ var _func= function(){ document.getElementById(itemsHTML[currIndex].id).removeEventListener('transitionend',_func,false); selectItem(itemsHTML[currIndex]); }; document.getElementById(itemsHTML[currIndex].id).addEventListener( 'transitionend', _func, false ) } writeHTML(); } function addLayoutStep(obj){ if(document.getElementById(obj.refId+'_add')) return; var propInput_add = new Element('input',{'id':obj.refId+'_add','name':obj.refId+'_add','class':'properties_input'}); propInput_add.setStyles({'position':'absolute', 'width':'60%','left':'13px'}); propInput_add.inject(document.querySelector("#"+obj.refId).parentNode); propInput_add.addEvents({ 'focus': function(){SetOnEditProp(true);}, 'blur':function(){ if(Empty(this.value)) { propInput_add.destroy(); SetOnEditProp(false); return; } //Al primo step controllo la min width e la aggiungo agli step if(Empty(formProp.steps)){ var min_w; if(formProp.pagesProp[formProp.page-1].w.indexOf('%')>-1) min_w=formProp.v_line; else min_w=formProp.pagesProp[formProp.page-1].w; if(parseInt(this.value)>parseInt(min_w)){ formProp.steps=min_w; //primo step come min_width formProp.layout_step=min_w; } } formProp.steps = (!Empty(formProp.steps) ? formProp.steps + ',' + this.value : this.value); /** Ordino lo step appena aggiunto */ formProp.steps = formProp.steps.split(",").sort((a, b) => { return parseInt(a) > parseInt(b) ? 1 : -1; }).join(","); //creo l'oggetto layout step values per ogni pagina for(var i=0;i< formProp.pagesProp.length;i++){ for(var ii=0,Steps=formProp.steps.split(","); ii0) formProp.layout_step=Steps[ind-1]; else if(Steps.length>0) formProp.layout_step=Steps[0]; else formProp.layout_step=''; updateLayoutSteps(null,formProp.layout_step); FormProperties(true); writeHTML(true); } function editLayoutStep(obj){ if(document.getElementById(obj.refId+'_add')) return; var propInput_add = new Element('input',{'id':obj.refId+'_add','name':obj.refId+'_add','class':'properties_input'}); propInput_add.setStyles({'position':'absolute', 'width':'60%','left':'13px'}); propInput_add.inject(document.querySelector("#"+obj.refId).parentNode); propInput_add.value=formProp.layout_step; var Steps=formProp.steps.split(','); var ind = LibJavascript.Array.indexOf(Steps,formProp.layout_step); propInput_add.addEvents({ 'focus': function(){SetOnEditProp(true);}, 'blur':function(){ if(Empty(this.value)) return; Steps[ind]=this.value; formProp.steps=Steps.join(','); //updateLayoutSteps('',this.value) //Aggiorno la key del layout step values delle pagine for(var i=0;i< formProp.pagesProp.length;i++){ formProp.pagesProp[i].layout_steps_values[this.value] = JSON.parse(JSON.stringify(formProp.pagesProp[i].layout_steps_values[formProp.layout_step])); delete formProp.pagesProp[i].layout_steps_values[formProp.layout_step]; } formProp.layout_step=this.value; SetOnEditProp(false); FormProperties(true); writeHTML(true); propInput_add.destroy(); }, 'keydown':function(event){ if (event.key == 'enter') this.blur(); } }); propInput_add.focus(); } function getPropertyValue(isForm,tab,name){ var el = document.getElementById((isForm?'Form_':'')+tab+'_'+name); if(el.type=='checkbox'){ return el.checked?"true":"false"; }else{ return el.value; } } function setPropertyValue(isForm,tab,name,value){ var el = document.getElementById((isForm?'Form_':'')+tab+'_'+name); if(isForm){ formProp[name] = value; }else{ itemsHTML[index][name] = value; } if(el){ if(el.type == 'checkbox'){ el.checked= (value=='true'?'checked':''); }else{ el.value=value; } el.focus(); el.blur(); } } function selectZoneMode(v){ if(!Empty(v)){ setPropertyValue(true,'advanced','selectZone','true'); //formProp.selectZone=true; } } function setAdaptiveSettings(value/*,the_property,input,index*/){ var v_line,width; v_line=getPropertyValue(true,'generic','v_line'); width=getPropertyValue(true,'generic','w'); if(value=='adaptive'){ if(Empty(v_line) && width.indexOf('%')==-1){ formProp.v_line=width; // setPropertyValue(true,'generic','v_line',width); // setPropertyValue(true,'generic','w','100%'); document.getElementById("Form_generic_v_line").value = width; document.getElementById("Form_generic_w").value = '100%'; document.getElementById("Form_generic_w").focus(); document.getElementById("Form_generic_w").blur(); writeHTML(true); } }else{ if(Empty(formProp.layout_step) && !Empty(v_line) && width.indexOf('%')>-1){ document.getElementById("Form_generic_w").value = formProp.v_line; //setPropertyValue(true,'generic','v_line',''); document.getElementById("Form_generic_v_line").value = ''; formProp.v_line=''; //setPropertyValue(true,'generic','w',formProp.v_line); document.getElementById("Form_generic_w").focus(); document.getElementById("Form_generic_w").blur(); writeHTML(true); } } } function setCurrentPage(v){ if(v != formProp.page ){ updateLayoutSteps(null,formProp.layout_step,formProp.page-1,v-1); formProp.page = v; newFormPropObj.updatePropertiesFromPaint(formProp); // formProp.currH = formProp.pagesProp[formProp.page-1].h; // formProp.currW = formProp.pagesProp[formProp.page-1].w; writeHTML(true); } } function setPagesProp( v, the_property, multiple_index){ var p; if(the_property =='pages_names'){ p='title'; }else if(the_property == 'page_layer'){ p='layer'; }else{ p=the_property; } formProp.pagesProp[multiple_index][p] = v; // oggetto che contiene le prop di una pagina writeHTML(true); } function CreateTemplateConnectors(v){ var str=''; var regExp = /\{\{\s*((\w|\W(?!\}}))*.)/gm; //var regExp = /(?<=\{{)(.*?)(?=\}})/gm; var g = v.match(regExp); for(var i=0; i-1){ str = str.substring(0,str.lastIndexOf(',')); } setPropertyValue(false,'functional','dataobjs',str); } function ListObj(obj) { /** * Simula la clickitem */ if(obj.value || obj.item ){ removeAllHandlers() var obk = obj.item; if(obj.value ) { for(var i=0;i=parseInt(formProp.page)) { l_itm.page++; } } //riscrivo le pagine numerate in sequenza corretta var pagesArray = []; var pagesTitleArray = formProp.pages_names.split(','); var pagesLayerArray = formProp.page_layer.split(','); for(let i=0;i parseInt(formProp.page)) { itm.page--; } return true; }); //rimovo dall'array delle prop di page formProp.pagesProp.splice(formProp.page-1,1); formProp.npages--; if (parseInt(formProp.page)>parseInt(formProp.npages)) { formProp.page = formProp.npages; } window.delMultipleProp(obj,true,true); //riscrivo le pagine numerate in sequenza corretta var pagesArray = []; for(let i=0;i")+"%myField%"+ToHTML("")], ["function:", "", "Es.:function:myFunc(%myField%,..)"], ["eval:", "", "Es.:eval:myExpr"], ["checkbox:", "", "Es.:checkbox:myField"], ["combobox:", "", "Es.:combobox:columnField:myDatobj:value_fld:label_fld:bHasEmptyValue
" + "Es.:combobox:columnField:[[value1,label1],[value2,label2],..]:bHasEmptyValue"], ["image:", "", "Es.:image:myUrl:myTooltip"], ["bar:", "", "Es.:bar:Value,Value min,Value max,bg. color,color,css class"], ["template:", "", "Es.:template:"+ToHTML("
")+"{{ \"%this.myField%\" }} - {{\"%myVariable%\"}}"+ToHTML("
")] ] } ] } */ function GetObjsForExpBuilder() { var i; var FuncList =[]; readLibrary("../portalstudio/standardfunctions.xml", FuncList); var objsAvailable =[ { name : "Functions", desc : "System Functions", prefix : "", postfix : "()", functions : FuncList }, { name : "functionsName", desc : "Available Variables", prefix : "", postfix : "", functions :[] } ]; for(i=0;i-1){ url = url.substring(0,url.indexOf("?")); } if(parent.newCurrentObj!=null && parent.portalStudioContainer) window.parent.newCurrentObj(url,"portlet",{}); else window.open("editor.jsp?id="+url, "portleteditor", "resizable=yes,status=no,toolbar=no,menubar=no,location=no"); } } function selectPortlet(retTo){ var width = 800; var height = 600; var left = (screen.width) ? (screen.width - width) / 2 : 100; var top = (screen.height) ? (screen.height - height - (height / 4)) / 2 : 100; openSPModalLayer("../portalstudio/open.jsp?tool=portlet&onetool=true&ExpressionID="+retTo+"&callerFunction=ExpressionBuilderReturn&SPModalLayerId=querySPModalLayer", top, left, width, height, true, 1, false, false); //window.layerOpenForeground("insert.jsp?for="+retTo,"SelectPortlet",'',400,600,true,1); //window.open("insert.jsp?for="+retTo, "SelectPortlet", "width=350,height=358,top=300,left=300,scroll=no,status=no,toolbar=no,resizable=yes"); } function selectReceiver(parsObj){ window.layerOpenForeground("../portalstudio/open.jsp?tool=portlet&onetool=true&ExpressionID="+parsObj.refId+"&callerFunction=listReceiversOfPortlet&SPModalLayerId=SPModalLayer&close-sidebar=true", "SelectReceiver", '', 1000, 600, true, 1); //window.open("insert.jsp?for="+retTo, "SelectPortlet", "width=350,height=358,top=300,left=300,scroll=no,status=no,toolbar=no,resizable=yes"); } function listReceiversOfPortlet(id, name) { let argsObj = { "tool": 'getportletctrls', "ExpressionID": id, "dimensions":{ "top": null, "left": null, "width": 600, "height": 400, }, "fromPortletName": name, "ctrlsToBeListed": 'receiver', } PickItems(argsObj); } function selectEmitter(parsObj){ window.layerOpenForeground("../portalstudio/open.jsp?tool=portlet&onetool=true&ExpressionID="+parsObj.refId+"&callerFunction=listEmittersOfPortlet&SPModalLayerId=SPModalLayer&close-sidebar=true", "SelectEmitter", '', 1000, 600, true, 1); //window.open("insert.jsp?for="+retTo, "SelectPortlet", "width=350,height=358,top=300,left=300,scroll=no,status=no,toolbar=no,resizable=yes"); } function listEmittersOfPortlet(id, name) { let argsObj = { "tool": 'getportletctrls', "ExpressionID": id, "dimensions":{ "top": null, "left": null, "width": 600, "height": 400, }, "fromPortletName": name, "ctrlsToBeListed": 'emitter', } PickItems(argsObj); } function SelectBO(boName){ itemsHTML[index][the_Property]=Strtran(boName,"BO:",""); Properties(); } function SelectItems(PortletItemIndex,the_property){ window.layerOpenForeground("select_items.html?index=" + PortletItemIndex+"&rtrnobj="+the_property,"selectItems",'',350,500,true,1); //window.open("select_items.html?index=" + PortletItemIndex+"&rtrnobj="+the_property, "SelectItems", "height=196,width=350,left=350,top=200,status=no,toolbar=no,menubar=no,location=no"); } function PickParameters(PortletItemIndex,the_property/*,idProp,type*/){ window.layerOpenForeground("parameter_picker.jsp?index=" +PortletItemIndex+"&rtrnobj="+the_property,"SelectParam",'',600,500,true,1); //window.open("parameter_picker.jsp?index=" +PortletItemIndex+"&rtrnobj="+the_property, "SelectParam", "height=500,width=350,left=350,top=200,status=no,toolbar=no,menubar=no,location=no"); } /* function SelectQuery(PortletItemIndex,isForm,retObjId){ var PortletItemName = itemsHTML[PortletItemIndex].name; var PortletItemDataObj = itemsHTML[PortletItemIndex].dataobj; TempArray = new JSURL("../servlet/SPVQRProxy?action=vqr&offlinemode="+(itemsHTML[PortletItemIndex].type=='WebSQLDataProvider' || itemsHTML[PortletItemIndex].offline=='true')).Response().replace(/\.vqr(\.offline)?/gi, ''); if(TempArray.match("ACCESS DENIED")){ window.layerOpenForeground("../servlet/SPVQRProxy?action=vqr","Select_Query",'',350,500,true,1); //window.open("../servlet/SPVQRProxy?action=vqr", "SelectQuery", "height=100,width=350,left=350,top=200,status=no,toolbar=no,menubar=no,location=no"); }else { TempArray = JSON.parse(TempArray,true); var width = 800; var height = 600; var left = (screen.width) ? (screen.width - width) / 2 : 100; var top = (screen.height) ? (screen.height - height - (height / 4)) / 2 : 100; openSPModalLayer("../portalstudio/open.jsp?tool=visualquery&onetool=true&ExpressionID="+retObjId+"&callerFunction=ExpressionBuilderReturn&SPModalLayerId=querySPModalLayer", top, left, width, height, true, 1, false, false); } } */ function EditQuery(index) { if(LRTrim(itemsHTML[index].query)=="") PSAlert.alert("No query selected."); else if(parent.newCurrentObj!=null && parent.portalStudioContainer) parent.newCurrentObj(itemsHTML[index].query,"visualquery",{offlinemode:(itemsHTML[index].type=='WebSQLDataProvider' || itemsHTML[index].offline=='true')}); else window.open("../visualquery/index.jsp?filename="+itemsHTML[index].query+"&offlinemode="+(itemsHTML[index].type=='WebSQLDataProvider' || itemsHTML[index].offline=='true'),"visualquery","resizable=yes,status=no,toolbar=no,menubar=no,location=no"); } function NewQuery(index) { if(parent.newCurrentObj!=null && parent.portalStudioContainer) parent.newCurrentObj('New','visualquery',{offlinemode:(itemsHTML[index].type=='WebSQLDataProvider' || itemsHTML[index].offline=='true')}); else window.open("../visualquery/index.jsp&offlinemode="+(itemsHTML[index].type=='WebSQLDataProvider' || itemsHTML[index].offline=='true'),"visualquery","resizable=yes,status=no,toolbar=no,menubar=no,location=no"); } function EditClientQuery(obj) { var index = obj.index; //var propId = obj.refId; var propInput = obj.refPropId; window.layerOpenForeground("../visualquery/index.jsp?simplemode=true&for=" + index + "&prop=" + propInput, "Edit query", "", 600, 450, true, 1, null, null, null, true); // url, name, args, opt_width_pref, opt_height_pref, opt_resizable_pref, force, entryPoint, cinema_morph_ms, hide_buttons, maximized } ZTObjects.EditQuery = function(obj) { editDesc(obj.refId, false, obj.refPropId); } function EditEventEmitter(index) { window.layerOpenForeground("../visualweb/eventemitter_edit.html?objIdx="+index+"","eventemitter_editor",'',600,450,true,1); //window.open("../visualweb/eventemitter_edit.html?objIdx="+index+"", "eventemitter_editor","height=450,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no"); } function EditEventReceiver(index) { window.layerOpenForeground("../visualweb/eventreceiver_edit.html?objIdx="+index+"","eventreceiver_editor",'',600,450,true,1); //window.open("../visualweb/eventreceiver_edit.html?objIdx="+index+"", "eventreceiver_editor","height=450,width=600,resizable=yes,status=yes,toolbar=no,menubar=no,location=no"); } function hideProperties(id) { var ctrl = Ctrl(id) // var canvas = document.getElementById('backcanvas'); // var ww;if(v_line!=" ") ww=parseInt(v_line);else ww=formProp.w; // if (canvas.offsetWidth == 0 || ctrl.offsetLeft > 0 && ctrl.offsetLeft < (parseInt(ww) + canvas.getPosition().x) // && ctrl.offsetTop < (parseInt(formProp.h) + canvas.getPosition().y)){ if( ctrl ){ ctrl.style.display='none'; jQuery('#'+id +' #ctrlSelectList').select2('close'); } // } hidePreSet(); } function showProperties(id) { if(index!=null){ var ctrl = Ctrl(id) // var canvas = document.getElementById('backcanvas'); // var ww;if(v_line!=" ") ww=parseInt(v_line);else ww=formProp.w; // if (canvas.offsetWidth == 0 || ctrl.offsetLeft == 0 || (ctrl.offsetLeft < (parseInt(ww) + canvas.getPosition().x) // && ctrl.offsetTop < parseInt(formProp.h) + canvas.getPosition().y)) ctrl.style.display='block' } } function checkAlpha(id){ var ctrl=Ctrl(id) var ww;if(v_line!=" ") ww=parseInt(v_line);else ww=formProp.w; try{ if(ctrl.offsetLeft-1 && Empty(formProp.v_line)){ formProp.v_line=formProp.pagesProp[multiple_index].w; document.getElementById("Form_generic_v_line").value = formProp.pagesProp[multiple_index].w; } } if(prop=='v_line'){ if(formProp.adaptive=='adaptive' && Empty(v)){ PSAlert.alert('If is set adaptive mode not empty value allowed for vertical reference !'); return false; } if(Empty(v) && formProp.pagesProp[multiple_index].w.indexOf('%')>-1){ PSAlert.alert('if width is in % vertical line is obligatory !'); return false; } if(!Empty(v) && formProp.pagesProp[multiple_index].w.indexOf('%')==-1) { //formProp.w='100%'; document.getElementById("Form_generic_w").value='100%'; document.getElementById("Form_generic_w").focus(); document.getElementById("Form_generic_w").blur(); //PSAlert.alert('Width must be in % !'); } } return true; } function IsNumericInput(v){ if(isNaN(v)){ PSAlert.alert('Not a numeric value!') return false; }else return true; } function IsObligatory(v){ if(Empty(v)){ PSAlert.alert('Obligatory input value!') return false; }else return true; } function IsColor(v){ return true; if(Empty(v)) return true; var Hex=/^(#[A-Fa-f0-9]{6})$/; if(!Hex.test(v)){ PSAlert.alert('Invalid Hex color'); return false; }else return true; } function IsValidCheckboxValues(v){ if (Eq(v,'numeric')){ if (isNaN(itemsHTML[index].checked_value)) itemsHTML[index].checked_value=1; if (isNaN(itemsHTML[index].unchecked_value)) itemsHTML[index].unchecked_value=0; } else if (Eq(v,'logic')){ if (!((Eq(itemsHTML[index].checked_value,'true'))||(Eq(itemsHTML[index].checked_value,'false')))) itemsHTML[index].checked_value='true'; if (!((Eq(itemsHTML[index].unchecked_value,'true'))||(Eq(itemsHTML[index].unchecked_value,'false')))) itemsHTML[index].unchecked_value='false'; } return true; } function IsLogicInput(v){ if (!((Eq(v,'true')||Eq(v,'false')))){ PSAlert.alert('Not a logic value!') return false; } return true; } function IsValidValue(v){ if (!IsObligatory(v)) return false; if (Eq(itemsHTML[index].typevar,'numeric')) return IsNumericInput(v); else if (Eq(itemsHTML[index].typevar,'logic')) return IsLogicInput(v); return true; } function LoadFileList(){ if (index != null) { var width = 315; var height = 225; var isType = false; var titleDiv = "Available_Download_File_Format"; var val = (!itemsHTML[index].downloadlist || Empty(itemsHTML[index].downloadlist)) ? "" : itemsHTML[index].downloadlist; var url = "../portalstudio/download_chart.jsp?objIdx=" + index + "&ExpressionValue=" + val + "&titleDiv=" + titleDiv + "&isType=" + isType; var additionalUrl = "&SPModalLayerId=downloadChartSPModalLayer"; openNewWindow(url, additionalUrl, height, width, -1, -1); } } function downloadChartReturn(id, value, isType) { SetUpdated(); if (id != null){ if (CharToBool(isType + "")) itemsHTML[id].other_chart = value; else itemsHTML[id].downloadlist = value; Properties(); } return; } function GetAvailableDownloadFormat(){ return availableDownloadFormat; } function LoadChartList(){ if (index != null) { var width = 400; var height = 400; var isType = true; var titleDiv = "Available_Chart_Types"; var val = (!itemsHTML[index].other_chart || Empty(itemsHTML[index].other_chart)) ? "" : itemsHTML[index].other_chart; var url = "../portalstudio/download_chart.jsp?objIdx=" + index + "&ExpressionValue=" + val +"&titleDiv=" + titleDiv + "&isType=" + isType + "&chartType=" + itemsHTML[index].chart_type; var additionalUrl = "&SPModalLayerId=downloadChartSPModalLayer"; openNewWindow(url, additionalUrl, height, width, -1, -1); } } function SetUpdated(){ m_bUpdated = true; } function ShowMoreInfo(){ if (index != null) { var width = 515; var height = 220; var propName = GetPropertyName(arguments[0].refId.slice(0,arguments[0].refId.indexOf(arguments[0].refPropId)-1),arguments[0].refPropId); var url = "../portalstudio/more_info.jsp?tool=" + tool + "&objName=" + itemsHTML[index].type + "&propID=" + arguments[0].refPropId + "&propName=" + propName; var additionalUrl = "&SPModalLayerId=moreInfoSPModalLayer"; openNewWindow(url, additionalUrl, height, width, -1, -1); } } function GetPropertyName(tabName,prop){ if(index != null){ var tabArray = itemsHTML[index].objClass.newProperties[tabName]; for(var i=0; i 1) { // ultima stringa di check var val = ""; for (var i = 0; i < msel.length - 1; i++) { val += (msel[i][0] + ","); } if (val.endsWith(",")) val = val.slice(0, val.length - 1); setPropertyValue(false, "fields", prop, val); itemsHTML[index][prop] = val; } } else { var domain = robj.domain, values = robj.values, z = robj.z, series = robj.series || robj.snames, key = robj.key; switch (Lower(itemsHTML[index].chart_type)) { case "category": case "measure": setPropertyValue(false,'fields','label_field',domain); setPropertyValue(false,'fields','value_fields',values); setPropertyValue(false,'fields','labelKey_field',key); setPropertyValue(false,'fields','label_series',series); itemsHTML[index].label_field=domain; itemsHTML[index].value_fields=values; itemsHTML[index].labelKey_field=key; itemsHTML[index].label_series=series; break; case "xyz": setPropertyValue(false,'fields','x_field',domain); setPropertyValue(false,'fields','y_field',values); setPropertyValue(false,'fields','z_field',z); setPropertyValue(false,'fields','xyz_series_field',series); setPropertyValue(false,'fields','xKey_field',key); itemsHTML[index].x_field=domain; itemsHTML[index].y_field=values; itemsHTML[index].z_field=z; itemsHTML[index].xyz_series_field=series; itemsHTML[index].xKey_field=key; break; } } } } function preSetSet(index,v){ var obj =v; var currObj=itemsHTML[index]; for(var i in obj){ if(i!='name' && i!='value' && i!='wire_h' && i!='wire_w' && i!='preset'){ if(currObj.type=='Grid' && i=='colProperties' && currObj.colProperties && Object.keys(currObj.colProperties).length>0) // non modifico le colonne se sono già impostate continue; currObj[i]=obj[i]; } } writeHTML(); } function renderPreSet(objclick){ if(document.getElementById('PreSetContainer')){ window.document.body.removeChild(document.getElementById('PreSetContainer')); return; } var currObj=itemsHTML[index]; if(!currObj.objClass.preSet)return; var pos=LibJavascript.DOM.getPosFromFirstRel(objclick,window.document.body); var PreSetContainer = new Element('ul',{'id':'PreSetContainer','class':'PreSetContainer'}).inject(window.document.body); var top,left; if(objclick.id=='properties_preSetH'){ top=pos.y+objclick.offsetHeight; left=pos.x; }else{ top=pos.y; left=(pos.x+objclick.offsetWidth/2); } PreSetContainer.setStyles({'top':top+'px','left':left+'px'}); var PreSetTitle=new Element('li',{'html':'Select a type of '+currObj.type,'class':'PresetTitle'}); PreSetTitle.inject(PreSetContainer); // PreSetContainer.addEvents({ // 'mouseleave':function(){if(document.getElementById('PreSetContainer'))window.document.body.removeChild(document.getElementById('PreSetContainer'));} // }); for(var r=0;rdocument.getElementById('canvas').offsetHeight) PreSetContainer.setStyle('top',PreSetContainer.offsetTop - ( PreSetContainer.offsetHeight+PreSetContainer.offsetTop-document.getElementById('canvas').offsetHeight)); } function hidePreSet(){ if(document.getElementById('PreSetContainer')){ window.document.body.removeChild(document.getElementById('PreSetContainer')); return; } } function fillLayoutStep(){ //Riempio gli step con valori di default if(Empty(formProp.steps)){ formProp.steps='320,480,768'; formProp.layout_step='320'; //formProp.w='100%'; formProp.pagesProp[formProp.page-1].w = '100%'; let arrayW = formProp.w.split(','); arrayW[formProp.page-1] = formProp.pagesProp[formProp.page-1].w; formProp.w = arrayW.join(); //riempio l'oggetto layout step value per ogni pagina for(var i=0;i< formProp.pagesProp.length;i++){ for(var ii = 0,Steps = formProp.steps.split(','); ii< Steps.length ;ii++){ if(!formProp.pagesProp[i].layout_steps_values[Steps[ii]]){ formProp.pagesProp[i].layout_steps_values[Steps[ii]] = {}; formProp.pagesProp[i].layout_steps_values[Steps[ii]]['h'] = formProp.pagesProp[i].h; formProp.pagesProp[i].layout_steps_values[Steps[ii]]['w'] = formProp.pagesProp[i].w; } } } updateLayoutSteps(null,'320'); FormProperties(true); }else{ PSAlert.alert("Delete existing steps !"); } } function fillBoItems(){ //if(!Empty(formProp.altInterfaceFor)){ window.layerOpenForeground({ url: "../jsp-system/SPBOTreeItemsPicker_portlet.jsp?selectedBO="+ (!Empty(formProp.altInterfaceFor)?formProp.altInterfaceFor:'') + (!Empty(window.m_cID)?'&m_cID='+window.m_cID:''), name: "BO_Items_Picker", opt_width_pref: 1200, opt_height_pref: 1200, opt_resizable_pref: true, force: 1 //, // maximized: "true" }); //} // else{ // PSAlert.alert("First select a BO."); // } } function LoadRangeMask(){ if (index != null) { var height = 500; var width = 600; var list = itemsHTML[index].rangebands||""; var url = "../portalstudio/trendlines_edit.html?tlList="+list+"&callerFunction=setChartRangeBands&separatorN=_&separatorP=;&separatorTL=|&objIdx="+index; var additionalUrl = "&Trendlines_Edit&SPModalLayerId=cgSPModalLayer"; openNewWindow(url, additionalUrl, height, width, -1, -1); } } function setChartRangeBands(index,retValue){ SetUpdated(); if(index!=null){ itemsHTML[index].rangebands = retValue; Properties(); } return; } function SaveChartFieldsConfiguration(ctype,domain,values,series,key){ if (index != null) { switch(itemsHTML[index].chart_type){ case "category": setPropertyValue(false,'fields','label_field',domain); setPropertyValue(false,'fields','value_fields',values); setPropertyValue(false,'fields','labelKey_field',key); //if(!Empty(tool) && tool=="portlet"){ setPropertyValue(false,'fields','label_series',series); itemsHTML[index].label_series = series; //} /*else if(!Empty(tool) && tool=="report"){ setPropertyValue(false,'fields','value_labels',series); itemsHTML[index].value_labels = series; }*/ itemsHTML[index].label_field = domain; itemsHTML[index].value_fields = values; itemsHTML[index].labelKey_field = key; break; case "xyz": setPropertyValue(false,'fields','x_field',domain); setPropertyValue(false,'fields','y_field',values.split(",")[0]); setPropertyValue(false,'fields','z_field',Empty(values.split(",")[1])?"":values.split(",")[1]); setPropertyValue(false,'fields','xyz_series_field',series); setPropertyValue(false,'fields','xKey_field',key); itemsHTML[index].x_field = domain; itemsHTML[index].y_field = values.split(",")[0]; itemsHTML[index].z_field = Empty(values.split(",")[1])?"":values.split(",")[1]; itemsHTML[index].xyz_series_field = series; itemsHTML[index].xKey_field = key; break; case "measure": setPropertyValue(false,'fields','measure_series_field',domain); setPropertyValue(false,'fields','min_field',values.split(",")[0]); setPropertyValue(false,'fields','max_field',values.split(",")[1]); setPropertyValue(false,'fields','val_field',values.split(",")[2]); setPropertyValue(false,'fields','measureKey_series_field',key); itemsHTML[index].measure_series_field = domain; itemsHTML[index].min_field = values.split(",")[0]; itemsHTML[index].max_field = values.split(",")[1]; itemsHTML[index].val_field = values.split(",")[2]; itemsHTML[index].measureKey_series_field = key; break; } } } function GetChartWizardInitConf() { var conf = null; if (index != null) { var itm = itemsHTML[index]; conf = {}; conf.def = itm.def; if (!Empty(itm.dataobj)) { conf.dataobj = itm.dataobj; conf.fields = {}; switch (itm.chart_type) { case "xyz": conf.fields.X = itm.x_field; conf.fields.Y = itm.y_field; conf.fields.Z = itm.z_field; conf.fields.S = itm.xyz_series_field; break; case "hie": conf.fields.allfields = itm.fieldpath; conf.fields.V = itm.fieldvalue; break; case "dep": conf.fields.src = itm.depfield_1; conf.fields.trg = itm.depfield_2; conf.fields.V = itm.depvalue; break; case "geo": conf.fields.src = itm.geo_0_field; conf.fields.trg = itm.geo_1_field; conf.fields.V = itm.geo_value_field; break; default: // category + tipi specifici if (itm.ctype == "PIE" || itm.ctype.indexOf("RING") >= 0 || itm.ctype.indexOf("RADAR") >= 0) { conf.fields.S = itm.label_field; conf.fields.V = itm.value_fields; } else { conf.fields.X = itm.label_field; conf.fields.S = itm.sfield; conf.fields.Y = itm.value_fields; } break; } } } return conf; } function SetChartWizardConfiguration(obj) { if (index != null) { var itm = itemsHTML[index]; if (!Empty(obj.def)) { setPropertyValue(false, 'generic', 'def', obj.def); // setPropertyValue(false, 'generic', 'isDef', true); } else { setPropertyValue(false, 'generic', 'def', "type:" + obj.type); // setPropertyValue(false, 'generic', 'isDef', false); } setPropertyValue(false, 'generic', 'ctype', obj.type); var macrotype = getChartMacroType(obj.type); if (obj.type == "PCOORDS" || obj.type == "VORONOI" || obj.type == "RINGPERC" || obj.type == "ASTER") itm.chart_type = obj.type; // setPropertyValue(false, 'dataset', 'chart_type', obj.type); else itm.chart_type = macrotype; // setPropertyValue(false, 'dataset', 'chart_type', macrotype); if (!Empty(obj.dataobj)) { setPropertyValue(false, 'dataset', 'dataobj', obj.dataobj); // campi switch (macrotype) { case "xyz": itm.x_field = obj.fields.X.toString(); itm.y_field = obj.fields.Y.toString(); itm.z_field = obj.fields.Z.toString(); itm.xyz_series_field = obj.fields.S.toString(); break; case "hie": itm.fieldpath = obj.fields.allfields.toString(); itm.fieldvalue = obj.fields.V.toString(); break; case "dep": itm.depfield_1 = obj.fields.src.toString(); itm.depfield_2 = obj.fields.trg.toString(); itm.depvalue = obj.fields.V.toString(); break; case "geo": itm.geo_0_field = obj.fields.src.toString(); itm.geo_1_field = obj.fields.trg.toString(); itm.geo_value_field = obj.fields.V.toString(); break; default: // category + tipi specifici if (obj.type == "PIE" || obj.type.indexOf("RING") >= 0 || obj.type.indexOf("RADAR") >= 0) { itm.label_field = obj.fields.S.toString(); itm.value_fields = obj.fields.V.toString(); } else { itm.label_field = obj.fields.X.toString(); itm.sfield = obj.fields.S.toString(); itm.value_fields = obj.fields.Y.toString(); } break; } } Properties(true); document.getElementById("dataset_tab").click(); document.getElementById("generic_tab").click(); } } function receiveConfigSeries(rindex, rstring) { index = parseInt(rindex) || index; setPropertyValue(false, 'fields', 'mapSeries', rstring); itemsHTML[index].mapSeries = rstring; } function receiveConfigClassSeries(rindex, rstring) { index = parseInt(rindex) || index; setPropertyValue(false, 'fields', 'depclass', rstring); itemsHTML[index].depclass = rstring; } function renderWizard() { var currObj = itemsHTML[index]; if (!currObj.objClass.wizard || (currObj.objClass.wizard && !currObj.objClass.wizard.hasWizard)) return; window[currObj.objClass.wizard.fncName](index); } function SetSmartChartdef(type) { if (index != null) { var ftype = type; if (type.indexOf("type:") == 0) { ftype = Strtran(type, "type:", ""); } itemsHTML[index].def = "type:" + ftype; itemsHTML[index].ctype = ftype; itemsHTML[index].chart_type = getChartMacroType(ftype); // itemsHTML[index].isDef = false; Properties(true); } } //Metodi di Search ----------------------------------------------------- function KeyFind() { var strfind = searchProp.sfind; searchResult = []; /* Ad ogni nuova ricerca: * si svuotano i risultati della ricerca precedente * si elimina l'evidenziazione dei campi della ricerca precedente * si nascondono i check "HightLight" e "Replace All" */ document.getElementById('findList').empty(); // if (hightlElements) { // hightlElements = false; // HightLight(); // } // Ctrl("highlightSearchDiv").style.display = "none"; // Ctrl("infosSearch").style.display = "none"; searchProp.chighlight = false; searchProp.csubsistute = false; //FormProperties(); // Inutile fare la ricerca della stringa vuota. if (Empty(strfind)) { return; } // Ricerca per almeno tre caratteri. if (strfind.length < 3) { PSAlert.alert("Minimum of 3 characters is required for search. Try again."); return; } // Creazione del JSon che contiene tutte le opzioni di ricerca. searchResult.inputSearch = strfind; // Stringa da cercare searchResult.resultIndices = []; // Array contente l'indice degli elementi che corrispondono ai criteri di ricerca negli array di appartenenza (itemsHTML o reportVariables) searchResult.selectedOccurrences = []; //Array contenente l'indice dei risultati della ricerca selezionati searchResult.resultProperties = []; // Array contente i nomi delle proprieta' degli elementi il cui valore corrisponde ai criteri di ricerca. Ordinato in base a resultIndices. // searchResult.nameSearch = searchProp.cconstant; // Boolean che indica se cercare nelle proprieta' di tipo costante // searchResult.exprSearch = searchProp.cexpression; // Boolean che indica se cercare nelle proprieta' di tipo espressione searchResult.wholeWord = searchProp.cwword; // Boolean che indica se si deve cercare la parola intera searchResult.caseSensitive = searchProp.ccsensitive; // Boolean che indica se la ricerca deve essere case sensitive search_accordion = new Fx.Accordion([], [], { 'onComplete' : resizeGadgetsPane, 'onActive' : function (toggler/*, element*/) { toggler.getFirst('.fld_title_ico').setStyle( "border-color", "rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #000 rgba(0, 0, 0, 0)"); }, 'onBackground' : function (toggler/*, element*/) { toggler.getFirst('.fld_title_ico').setStyle("border-color", "#000 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)"); }, alwaysHide : true, display : -1 }); keyFindArray(itemsHTML, searchResult); //keyFindArray(reportVariables, searchResult); if (searchResult.resultIndices.length < 1) { PSAlert.alert(strfind + " not found"); } } /* m_array: array nel quale cercare (itemsHtml o reportVariables) searchResult: json contenente le impostazioni di ricerca */ function keyFindArray(m_array, searchResult) { var initl = searchResult.resultIndices.length; var obj, i, tab, oo, propName, propVal; //Prop del Form for (var o in formProp.objClass.newProperties) { tab = formProp.objClass.newProperties[o]; for (oo = 0; oo < tab.length; oo++) { if(!tab[oo].disabled || tab[oo].disabled!='true'){ propName=tab[oo].propID; ; propVal=formProp[propName]; if ( (typeof propVal=='string' || typeof propVal=='number') && CheckFunc(searchResult.inputSearch, propVal)) { //PSAlert.alert(searchResult.inputSearch + " found"); searchResult.resultProperties.push(propName); searchResult.resultIndices.push([-1, 'Form']); } } } } // for(var o in formProp){ // var propName=o; // var propVal=formProp[o]; // if ( typeof propVal=='string' && CheckFunc(searchResult.inputSearch, propVal)) { // searchResult.resultProperties.push(o); // searchResult.resultIndices.push([-1, 'Form']); // } // } //Proprietà degli items for (var ii = 0; ii < m_array.length; ii++) { var itemObj=m_array[ii]; //for(var o in m_array[ii]){ for (o in itemObj.objClass.newProperties) { tab = itemObj.objClass.newProperties[o]; for (oo = 0; oo < tab.length; oo++) { if(!tab[oo].disabled || tab[oo].disabled!='true'){ propName=tab[oo].propID; ; propVal=itemObj[propName]; if ( (typeof propVal=='string' || typeof propVal=='number') && CheckFunc(searchResult.inputSearch, propVal)) { //PSAlert.alert(searchResult.inputSearch + " found"); searchResult.resultProperties.push(propName); searchResult.resultIndices.push([ii,itemObj.type ]); } } } } } // for (i = 0; i < m_array.length; i++) { // obj = m_array[i]; // if (obj.type.indexOf("_top") > 0) { // continue; // } // if (obj.type.indexOf("HeaderBar_") >= 0 || obj.type.indexOf("ReportBar_") >= 0) { // continue; // } // if (obj.type == "AutoCover") { // continue; // } // if (searchResult.nameSearch || searchResult.nameSearch=='true') { // CheckArray(obj, name_prop, i); // } // if (searchResult.exprSearch || searchResult.exprSearch=='true') { // CheckArray(obj, expr_prop, i); // } //CheckArray(obj, comm_prop, i); //CheckArray(obj,null,i); //} if (searchResult.resultIndices.length > 0) { /* if (Ctrl("highlightSearchDiv").style.display != "block") { Ctrl("highlightSearchDiv").style.display = "block"; Ctrl("infosSearch").style.display = "block"; //add all checkbox for replace }*/ var cIndex; for (i = initl; i < searchResult.resultIndices.length; i++) { cIndex = searchResult.resultIndices[i][0]; if(cIndex==-1){//FormProp obj = formProp; }else{ obj = m_array[cIndex]; } addSearchResult(i, obj); } //search_accordion.display(0); Ctrl("results_tab").click(); //Chiudo le form properties per far spazio ai results var formToggler = document.getElementById("formproperties-toggler"); if (formToggler && formToggler.hasClass("opened")) { formToggler.click(); } resizeGadgetsPane(true); } } /* obj: oggetto m_arr: array contenente le proprieta' in cui cercare (name_prop/ exp_prop/ comm_prop) iindex: indice dell'elemento. result[0]: index dell'elemento nell'array m_array () result[1]: obj.type */ // function CheckArray(obj, m_arr, iindex) { // for (var j = 0; j < m_arr.length; j++) { // if (typeof(obj[m_arr[j]]) != "undefined") { // if (CheckFunc(searchResult.inputSearch, obj[m_arr[j]])) { // searchResult.resultProperties.push(m_arr[j]); // searchResult.resultIndices.push([iindex, obj.type]); // } // } // } //} /* strfind: stringa da cercare compvalue: valore della proprieta' */ function CheckFunc(strfind, compvalue) { if(typeof compvalue=='number'){ return strfind == compvalue; } if (!searchResult.caseSensitive || searchResult.caseSensitive == 'false') { strfind = strfind.toLowerCase(); compvalue = compvalue.toLowerCase(); } if (searchResult.wholeWord == 'true') { return strfind == compvalue; } else { return compvalue.contains(strfind); } } /* Aggiunge l'elemento nel div del risultato della ricerca. */ function addSearchResult(pos, obj) { //var imgurl,objComment, propertyDescription; //var tab, tabDesc; /* Tab del report in cui si trova l'elemento. */ // if (obj.type == 'Box') { // if (obj.h == 0) { imgurl = getObjImg('HLine'); } // else if (obj.w == 0) { imgurl = getObjImg('VLine'); } // else { imgurl = getObjImg(obj.type); } // } // else { // imgurl = getObjImg(obj.type); // } // objComment = obj.name; // if (obj.comment && LRTrim(obj.comment).length > 0) { // objComment = obj.comment; // } var propobj = getPropDescObj(obj, searchResult.resultProperties[pos]); var propertyType = obj.type; var objName = new Element('div', { html : (propertyType=='Form'?"Item: " + propertyType + "
Prop: "+propobj.desc + "" : "Item: " + obj.name + " ( " + propertyType + " ) " + "
Prop: "+propobj.desc+""), 'class' : 'resultName', title : (propertyType=='Form'?"Item: " + propertyType + "
Prop: "+propobj.desc + "" : "Item: " + obj.name + " ( " + propertyType + " ) " + "
Prop: "+propobj.desc+"") }); objName.m_id = obj.id; objName.m_type = obj.type; objName.addEvent('click', function () { //selectItem3(this.m_id, this.m_type, true, obj); $$('.resultName').removeClass("selected"); this.addClass("selected"); revealProperty(obj,propobj); }); var wrapper, wrapperId; wrapperId = "portlet_divz"; wrapperTitle = "Results of '"+searchResult.inputSearch+"'"; wrapperTitle = ToHTag(wrapperTitle,"xssPrevent"); // var img = new Element('img', { // 'class' : 'imgSearch', // styles : { // 'cursor' : 'default' // }, // src : imgurl // }); //var chk; //var idInput = obj.id + "_" + searchResult.resultProperties[pos] + "_chk"; /* Non e' possibile effettuare la Replace sulla proprieta' Name */ // if (searchResult.resultProperties[pos] != "name" || (searchResult.resultProperties[pos] == "name" && obj.type == "Variable")) { // chk = new Element('input', { // 'type' : 'checkbox', // 'id' : idInput, // 'name' : idInput, // 'title' : 'Select for replace' // }); // chk.addEvent('click', function () { // selectOccurrence(pos, chk.checked); // }); // } // else { // chk = new Element('input', { // 'type' : 'checkbox', // 'id' : idInput, // 'name' : idInput, // 'disabled' : 'disabled' // }); // } wrapper = Ctrl(wrapperId); if (!wrapper) { wrapper = new Element('div', { 'class' : 'fld_wrapper', 'id' : wrapperId }).inject(Ctrl("findList")); var title = new Element('div', { 'class' : 'fld_title' }).inject(wrapper); new Element('div', { 'class' : 'fld_title_txt', 'html' : wrapperTitle }).inject(title); new Element('div', { 'class' : 'fld_title_ico' }).inject(title); var ul = new Element('ul', { 'class' : 'fld_ul' }).inject(wrapper); var li = new Element('li', { 'class' : 'fld_li' }).inject(ul); //li.adopt(chk).adopt(img).adopt(objName); li.adopt(objName); search_accordion.addSection(title, ul); } else { ul = wrapper.getElement('ul'); li = new Element('li', { 'class' : 'fld_li' }).inject(ul); //li.adopt(chk).adopt(img).adopt(objName); li.adopt(objName); } /*var objFind = new Element('li', {}).adopt(chk).adopt(img).adopt(objName); wrapper.adopt(objFind);*/ } function getPropDescObj(obj, propID) { var ret = {}; ret.desc = propID; ret.prop = propID; if (obj.objClass.newProperties) { var tab, i, ii; for (i in obj.objClass.newProperties) { tab = obj.objClass.newProperties[i]; for (ii = 0; ii < tab.length; ii++) { if (tab[ii].propID == propID) { ret.desc = tab[ii].name; ret.tab = i; return ret; } } } } return ret; } function revealProperty(obj,propobj){ var isForm=false; if(obj && obj.type!='Form'){ removeAllHandlers(); selectItem(obj) }else{ isForm=true; FormProperties(false,true) var formToggler = document.getElementById("formproperties-toggler"); if (formToggler && !formToggler.hasClass("opened")) { formToggler.click(); } } if (propobj && propobj.tab && propobj.prop) { document.getElementById((isForm?"Form_":"") + propobj.tab + '_tab').fireEvent('click'); document.getElementById((isForm?"Form_":"") +propobj.tab + '_' + propobj.prop).focus(); } } function getDataproviders() { var dataproviders = []; for (var mm = 0; mm < itemsHTML.length; mm++) { if (itemsHTML[mm].type == 'MLevelDataProvider' || itemsHTML[mm].type == 'SQLDataobj' || itemsHTML[mm].type == 'XMLDataobj' || itemsHTML[mm].type == 'AdvTreeView' || itemsHTML[mm].derivType == 'SQLDataobj' || itemsHTML[mm].type == 'MenuView' || itemsHTML[mm].type == 'JSONDataobj') { dataproviders.push(itemsHTML[mm].name); } } return dataproviders; } /** * Return Fields list from dataprovider * @param {Object} obj * @param {int} obj.index * @param {string} obj.refPropId * @param {string} obj.refId * @param {string} obj.dataobjref - Name of dataprovider to get the fields * @returns {Array} - Fields list */ function getQueryFieldsFromDataprovider(obj) { var dataobjref = itemsHTML[obj.index][obj.dataobjref]; var dataobj = itemsHTML.filter(function (e) { return e.name == dataobjref; })[0]; // [res,types] if( dataobj.query != undefined ) return GetQueryFields( dataobj.query, false )[0] ; if( dataobj.queries != undefined ) { var l, k; var ret = [], sp = dataobj.queries.split(','); for( l=0; l