/* exported doLoad Help reset newCurrentObj isExpr AfterSave toggleManageFilters deleteFilter confirmManageFilters closeManageFilters EditField DeleteField SetFieldDetail GetCurrentName GetResourceName selectForm GetRequestParams ManageQueryChange AfterQueryChange removeItem ListObj insertImage editPortlet selectPortlet SetChartWizardConfiguration checkChartDef checkDataSourceLevel SetCacheLevel setJDEF getJDEF */ /* global SetSmartChartdef getChartDefType */ //var folder_path='' var newPropObj = null; //var nItem=0; var notimooManager; var baseCustomization = {custom:false, user: 0, group:0, user_group:"" }; var nFilter=0; var mySortables = new Sortables('#actionList,#linkedConfList'); var progrAct = 0, progrLCf = 0; var deleteMap = []; var tool = "visualpivot"; function doLoad(/*e*/) { document.getElementById('backcanvas').setStyle('display', 'block'); windowResize(); FormProperties(); document.getElementById('loading').setStyle('display', 'none'); create_gadget_pane(); window.addEvent("keydown", function (e) { if (e.control && e.key == "s") { //CTRL-S if (document.activeElement.tagName == 'INPUT') { var activeE = document.activeElement; activeE.blur(); activeE.focus(); } e.stop(); if (parent.saveTool) parent.saveTool(); } }); } function Help(the_property) { //wip var i; var prop = ''; if (typeof(anchorToFeature) != 'undefined') { if (typeof(the_property) != 'undefined') { prop += "vzoomeditor_" + the_property.toLowerCase(); } if (prop in anchorToFeature && prop != '') { i = anchorToFeature[prop]; } else if (index != null && "vzoomeditor_" + itemsHTML[index].type.toLowerCase() in anchorToFeature) { i = anchorToFeature["vzoomeditor_" + itemsHTML[index].type.toLowerCase()]; } else { i = anchorToFeature["vzoomeditor"]; } windowOpenForeground(m_cHelpUrl+'help/portalstudio/ps_urg_navigator.htm?' + URLenc(i + (prop != "" ? '||' + prop : "")), '', 'toolbar=0,menubar=0,directories=0,width=720,height=600,resizable=1,scrollbars=1'); } } function reset(){ if(m_bUpdated){ if(confirm("Changes have not been saved yet.\r\nContinue loosing changes?")){ FormProperties(); } } } function newCurrentObj(name, type, parms){ //wip window.location.href=getOpenUrl(name,type,parms) } function openVPV(){ if(m_bUpdated){ if(!confirm("Changes have not been saved yet.\r\nContinue loosing changes?")){ return false; } } var width = 800; var height = 600; var url = "../portalstudio/open.jsp?tool=visualpivot&onetool=true"; url += "&SPModalLayerId=vpvSPModalLayer"; var left = (screen.width)?(screen.width-width)/2:100; var top = (screen.height)?(screen.height-height-(height/4))/2:100; openSPModalLayer(url,top,left,width,height,true,1,false,false); FormProperties(); } function isExpr(txt){//wip return txt.match(/(function|var|image|javascript|checkbox|html|eval):/); } function AddFieldToBox(type, mainobj, fieldlist, fields, beforeOf) { unSelectItem(); var arrayToPut = [], f_obj, dobj; for (var i = 0; i < fields.length; i++) { f_obj = { field: fields[i].alias, title: fields[i].desc, f_type: fields[i].type, type: type, descrs: fields[i].desc }; if( deleteMap[fields[i].alias] != undefined ) { dobj = deleteMap[fields[i].alias]; f_obj.keys = dobj.keys; f_obj.pictures = dobj.pictures; f_obj.sorts = dobj.sorts; f_obj.sortsfields = dobj.sortsfields; f_obj.condformats = dobj.condformats; delete deleteMap[fields[i].field]; } arrayToPut.push(JSON.parse(JSON.encode(LibJavascript.JSONUtils.adjust(f_obj, getPropsSchema())), true)); } var index = mainobj.length; if (beforeOf) { mainobj.some(function (itm, i) { if (itm.id == beforeOf) { index = i; return true; } return false; }); } mainobj.splice.apply(mainobj, [index, 0].concat(arrayToPut)); fieldlist.AppendItems(arrayToPut, beforeOf); ManageFlagImages(); } function AddColumns(fields,beforeOf) { //beforeOf se non passato si aggiunge in coda AddFieldToBox('column',columnsObj,columnsList,fields,beforeOf); } function AddRow(fields,beforeOf) { //beforeOf se non passato si aggiunge in coda AddFieldToBox('row',rowsObj,rowsList,fields,beforeOf); } function AddMeasure(fields,beforeOf){ var i, fz = []; for( i=0; i -1){ // $('propertiesTitleTxt').set('html'," "+node.tree.root.name.capitalize()+" properties") var it = itemsHTML[index] // if(!node.property.editable){ var tab, p; for(tab in it.objClass.newProperties){ p = it.objClass.newProperties[tab] for(var j=0; j< p.length; j++){ p[j].noteditable = !node.tree.options.propertiesEditable; } } // } if(newPropObj && last_index != null && last_index==index){ newPropObj.updatePropertiesFromPaint(it); // if(showProperties) showProperties('properties'); }else{ newPropObj = new propertiesObj({m_obj:it,canExpandToColumn:false,tabindex:100,divcontainer:'properties',moveDiv:false}); // newPropObj.re_openColumn() last_index=index; document.getElementById('properties').show() } resizeGadgetsPane(); } } function windowResize(){ var ctrl = document.getElementById('backcanvas'); if(document.body.clientWidth -$('gadgets_pane').offsetWidth >80) ctrl.style.width = (document.body.clientWidth - (($('gadgets_pane').opened ? $('gadgets_pane').offsetWidth : 0) + 40))+"px"; //margine di 30 ctrl.style.height='auto' } window.addEvent('resize', windowResize); var columnsObj=[], rowsObj = [], measuresObj = [], filtersObj = [], odimensionsObj = [], omeasuresObj = []; var columnsList, rowsList, measuresList, odimensionsList, omeasuresList, vqrlist; function getPropsSchema(){ function mandatoryPropertyError(){ throw new Error("Mandatory property error"); } return { id: function(){ return LibJavascript.AlfaKeyGen(10); }, field: mandatoryPropertyError, type: "", descrs: "", keys: "", pictures: "", sorts: "", sortsfields: "", condformats: "", position: "", col_title: "", hidetitle: "", f_type: "" }; } var vqrfields, //[alias , desc, column] selectedItems=[], // eslint-disable-next-line no-unused-vars selectedColumns=[], selectedMeasures=[], selectedOMeasures=[], selectedRows=[], selectedODimensions=[]; function ReturnUsedFields() { var result = {cols:{}, rows:{},measures:{},omeasures:{}, odimensions:{}}, i; for (i=0; i= 0) { img.set('title','Field as key in rows'); img.setStyle('color', '#85bb5c'); img.classList.add('used') } else if (keysc.indexOf(myname) >= 0) { img.set('title','Field as key in columns'); img.setStyle('color', '#85bb5c'); img.classList.add('used') } else if (keyso.indexOf(myname) >= 0) { img.set('title','Field as key in others dimensions'); img.setStyle('color', '#85bb5c'); img.classList.add('used') } else { img.set('title','Field excluded'); img.setStyle('color', '#e52929'); img.classList.remove('used') } }); } function UpdateVqrFields(/*first_time*/) { if( !Empty(formProp.query) ) { var url = new JSURL("../servlet/SPVPVProxy?action=vqr_fields&vqr="+URLenc(formProp.query)+"&offlinemode="+URLenc(offlinemode),true); var output=url.Response(); try { output = JSON.parse(output); } catch(e){ alert("ERROR: "+formProp.query+" is not a valid name for a query"); output=[]; } vqrfields = output; vqrlist.Empty(); vqrlist.UpdateList(vqrfields); ManageFlagImages(); /*new JSURL(SPWebRootURL+"/servlet/SPVPVProxy?action=vqr_fields&vqr="+URLenc(formProp.query)+"&offlinemode="+URLenc(offlinemode) ,true, function(response){ selectedItems=[]; var res=response.Response() if (!Empty(res)) { try { vqrfields = JSON.parse(res); } catch(e){ alert("ERROR: "+formProp.query+" is not a valid name for a query"); vqrfields=[]; } } else vqrfields=[] debugger vqrlist.Empty(); vqrlist.UpdateList(vqrfields); ManageFlagImages(); }); }*/ } } //var RowViewLayer, viewrowopen=false; function toggleManageFilters(){ var filtersDiv=document.getElementById('manageFilters'); if (filtersDiv.style.display=='none'){ document.getElementById("filters").innerHTML=''; filtersDiv.style.display='block'; document.getElementById("newcolumncontainercinema").style.display='block'; filtersDiv.style.left=window.getSize().x/2-filtersDiv.getSize().x/2+'px'; filtersDiv.style.top=window.getSize().y/2-filtersDiv.getSize().y/2+'px'; nFilter=0; for (var i=0; i"+columnsObj[i].title+""; } for (i=0; i"+rowsObj[i].title+""; } /*for (i=0; i"+measuresObj[i].title+""; }*/ var select=""; // combo per la scelta dell'operazione select+="" var value=""; var li=document.createElement("li"); li.className='margin'; li.setAttribute("idx",nFilter); li.innerHTML="
"+select+value+"" document.getElementById("filters").appendChild(li); if (filter.field){ document.getElementById("filterName_"+nFilter).value=Lower(filter.field); document.getElementById("filterType_"+nFilter).value=Lower(filter.operator); } nFilter++; } function deleteFilter(f){ f.parentNode.destroy(); } function confirmManageFilters(){ document.getElementById('manageFilters').style.display='none' document.getElementById("newcolumncontainercinema").style.display='none'; filtersObj=[]; var filters=document.getElementById("filters").getChildren(); for (var i=0; i -1) { droppable.addClass('droppable_container'); } else { var parents = droppable.getParents(); if (parents.indexOf(document.getElementById('columns')) > -1) columnsList.ResponsiveViewOnEnter(droppable); else if (parents.indexOf(document.getElementById('rows')) > -1) rowsList.ResponsiveViewOnEnter(droppable); else if (parents.indexOf(document.getElementById('measures')) > -1) measuresList.ResponsiveViewOnEnter(droppable); else if (parents.indexOf(document.getElementById('omeasures')) > -1) omeasuresList.ResponsiveViewOnEnter(droppable); else if (parents.indexOf(document.getElementById('odimensions')) > -1) odimensionsList.ResponsiveViewOnEnter(droppable); } }, onLeave: function (dragging, droppable) { droppable.removeClass('phantom-span_hover'); droppable.removeClass('droppable_container'); }, onCancel: function (dragging) { dragging.destroy(); columnsList.RemoveDroppableElements(); rowsList.RemoveDroppableElements(); measuresList.RemoveDroppableElements(); omeasuresList.RemoveDroppableElements(); odimensionsList.RemoveDroppableElements(); document.getElementById('columns').removeClass('droppable_container'); document.getElementById('rows').removeClass('droppable_container'); document.getElementById('measures').removeClass('droppable_container'); document.getElementById('omeasures').removeClass('droppable_container'); document.getElementById('odimensions').removeClass('droppable_container'); } }); drag.start(mooevt); } } }); var dontupdate = false; var zListOpts = { idName: "id", aliasName: "field", descName: "title", cssClassItem: "file-item", sortable: true, isSortableElement: function (el) { return LibJavascript.CssClassNameUtils.hasClass(el, 'selected-file'); }, buttons: [ { image: '', title: "Edit", functionName: "EditField", cssClass: "edit" }, { image: '', title: "Delete", functionName: "DeleteField", cssClass: "delete" } ], onClick: function (el, evt, container) { var oldSel = LibJavascript.CssClassNameUtils.getElementsByClassName('selected-file', container, "div"); var selarr; if (this._type == "columns") selarr = selectedColumns; else if (this._type == "rows") selarr = selectedRows; else if (this._type == "measures") selarr = selectedMeasures; else if (this._type == "omeasures") selarr = selectedOMeasures; else if (this._type == "odimensions") selarr = selectedODimensions; for (var j = 0; j < oldSel.length; j++) { LibJavascript.CssClassNameUtils.removeClass(oldSel[j], 'selected-file'); selarr.splice(selarr.indexOf(oldSel[j]), 1); } LibJavascript.CssClassNameUtils.addClass(el, 'selected-file'); selarr.push(el); unSelectItem(); }, onMove: function (itmId, oldContId, newContId, elementIdNearTo, mode) { SetUpdated(); var mainobj; if (this._type == "columns") mainobj = columnsObj; else if (this._type == "rows") mainobj = rowsObj; else if (this._type == "measures") mainobj = measuresObj; else if (this._type == "omeasures") mainobj = omeasuresObj; else if (this._type == "odimensions") mainobj = odimensionsObj; var removed = mainobj.splice(GetColIndexById(mainobj, itmId), 1); if (!Empty(elementIdNearTo)) { var indexToPut = GetColIndexById(mainobj, elementIdNearTo); if (mode == "after") indexToPut++; mainobj.splice(indexToPut, 0, removed[0]); } else { //inserisco in coda mainobj.push(removed[0]); } SetUpdated(); } }; columnsList = new ZList("columns", Object.assign({}, zListOpts, { _type: 'columns' })); if (!dontupdate) columnsList.UpdateList(columnsObj); document.getElementById("columns").makeResizable({ handle: "columns_drag", limit: { 'y': [0] }, modifiers: { 'x': '' } }); rowsList = new ZList("rows", Object.assign({}, zListOpts, { _type: 'rows' })); if (!dontupdate) rowsList.UpdateList(rowsObj); document.getElementById("rows").makeResizable({ handle: "rows_drag", limit: { 'y': [0] }, modifiers: { 'x': '' } }); measuresList = new ZList("measures", Object.assign({}, zListOpts, { _type: 'measures' })); if (!dontupdate) measuresList.UpdateList(measuresObj); document.getElementById("measures").makeResizable({ handle: "measures_drag", limit: { 'y': [0] }, modifiers: { 'x': '' } }); odimensionsList = new ZList("odimensions", Object.assign({}, zListOpts, { _type: 'odimensions' })); if (!dontupdate) odimensionsList.UpdateList(odimensionsObj); document.getElementById("odimensions").makeResizable({ handle: "odimensions_drag", limit: { 'y': [0] }, modifiers: { 'x': '' } }); omeasuresList = new ZList("omeasures", Object.assign({}, zListOpts, { _type: 'omeasures' })); if (!dontupdate) omeasuresList.UpdateList(omeasuresObj); document.getElementById("omeasures").makeResizable({ handle: "omeasures_drag", limit: { 'y': [0] }, modifiers: { 'x': '' } }); notimooManager = new Notimoo({}); if (!Empty(configname) || c_ripristino || window.frameElement?.jdef){ loadFromFile(dontupdate); } else { formProp.query=""; } UpdateVqrFields(true); FormProperties(); document.getElementById("newfilter").addEvent('click',function() { addFilter(); }); document.getElementById("refreshfields").addEventListener('click', function() { UpdateVqrFields(false); }) }); function GetColIndexById(arr,id) { return LibJavascript.Array.indexOf(arr,id,function(el) { return id==el.id; }); } function SetUpdated() { m_bUpdated=true; } function GetConfigName() { //wip return (formProp.custom=="true"?"1":"0")+"/"+configname+(Lower(formProp.user_group)=='user'?'/'+jsonobj.configuration.User:(Lower(formProp.user_group)=='group'?'/g'+jsonobj.configuration.Group:'')); } function GetSelectedFields() {//wip var selectedFields = []; for (var j=0;j-1) { selectedFields.push(vqrfields[idx]); } } return selectedFields; } function EditField(name_field) { var c = document.getElementsByName(name_field); var isMeasure = false; if( c && c.length > 0) { if( (c[0].parentNode.id == 'measures') || (c[0].parentNode.id == 'omeasures') ) isMeasure = true; } unSelectItem(); openSPModalLayer("../jsp-system/SPVisualPivotColumns_portlet.jsp?isMeasure=" + isMeasure +"&fname="+URLenc(name_field), 100, 100, 660, 225, false, 1, false,false,null,true); } function DeleteField(id) { unSelectItem(); SetUpdated(); var fobj = GetFieldDetail(id), type = fobj.type + "s", mainObj = eval(type + "Obj"), index = GetFieldPosition(mainObj, id), toRemove = mainObj.splice(index, 1), mainList = eval(type + "List"); mainList.RemoveItems(toRemove); deleteMap[toRemove[0].field] = toRemove[0]; ManageFlagImages(); } function GetFieldDetail(f_name) { var fobj = null, elm = document.getElementsByName(f_name); if (elm.length > 0) { elm = elm[0]; fobj = GetFieldFromArray(elm.parentElement.id, f_name); } return fobj; } function GetFieldFromArray(type, id) { var mainObj = eval(type + "Obj"); return mainObj[GetFieldPosition(mainObj, id)]; } function GetFieldPosition(array, id) { return LibJavascript.Array.indexOf(array,id,function(el) { return el.id == id; }) } function SetFieldDetail(f_name, fobj) { SetUpdated(); var type = fobj.type + "s", field = GetFieldFromArray(type, f_name); LibJavascript.JSONUtils.fillWith(field, fobj); field.title = field.descrs; field.condformats = fobj.condformats var list = eval(type + "List"); list.UpdateItem(f_name, null, field); ManageFlagImages(); } function GetCurrentName() { var filename = (formProp.custom=="true"?"CUSTOM_":"")+configname; if (formProp.user_group=='User') filename += "_" + formProp.user; else if (formProp.user_group=='Group') filename += "_g" + formProp.group; return filename; } function GetResourceName(parms) { return '../jsp/SPVisualPivot_portlet.jsp?ConfigName='+URLenc(GetConfigName())+'&m_NoCache='+LibJavascript.AlfaKeyGen(10)+parms; } function selectForm(){ FormProperties(); } function GetRequestParams() { //Oggetto nome -> [{description, type, len, dec} | tipo ] var result = {}; var url = new JSURL("../servlet/SPVQRProxy?action=vqrparameters&filename="+URLenc(formProp.query)+"&offlinemode="+URLenc(offlinemode),true); var output=url.Response(); try { output = JSON.parse(output); } catch(e){ alert("ERROR: "+formProp.query+" is not a valid name for a query"); output=[]; } for (var i=0;i=0){ itemsHTML[last_index].element.removeClass('selected'); } el.addClass('selected'); itemsHTML.some(function(arr_el,i) { if (arr_el.element==el) { index=i; return true; } else { return false; } }); Properties() } else if(!Empty(newPropObj))newPropObj.HideProperties(); } function unSelectItem(){ if (index!=null){ if(!Empty(newPropObj)) newPropObj.HideProperties(); itemsHTML[index].element.removeClass('selected'); index=null; last_index=null; } } function writeHTML(){ if (index!=null){ var name=(itemsHTML[index].type=='linkedConfiguration'?itemsHTML[index].linkedConfName:itemsHTML[index].actionName)||itemsHTML[index].title; if (itemsHTML[index].name!=name){ var selectedAction=itemsHTML[index].element.getChildren(); selectedAction[1].set('html',name) itemsHTML[index].name=name; itemsHTML[index].id=name; selectedAction[1].set('title',itemsHTML[index].title) } } } function Properties(){ if (newPropObj && last_index != null && last_index==index){ newPropObj.updatePropertiesFromPaint(itemsHTML[index]); }else{ newPropObj = new propertiesObj({m_obj:itemsHTML[index],canExpandToColumn:false,tabindex:100,divcontainer:'properties',moveDiv:true}); last_index=index; document.getElementById('properties').show() } } function removeItem(el){ var position=-1; if (el) { itemsHTML.some(function(arr_el,i) { if (arr_el.element==el) { position=i; return true; } else { return false; } }); } if (position!=-1){ itemsHTML.splice(position,1) el.destroy(); last_index=null; index=null; if(!Empty(newPropObj)) newPropObj.HideProperties(); resizeGadgetsPane() } } function ListObj(obj){ if (!obj || obj.value=='form'){ unSelectItem(); } else { for (var i=0; i-1){ url = url.substring(0,url.indexOf("?")); } if(parent.newCurrentObj!=null && parent.portalStudioContainer) window.parent.newCurrentObj(url,"portlet",{}); else window.open("../visualweb/editor.jsp?id="+url, "portleteditor", "resizable=yes,status=no,toolbar=no,menubar=no,location=no"); } } 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.type == 'checkbox'){ el.checked= (value=='true'?'checked':''); }else{ el.value=value; } el.focus(); el.blur(); } function SetChartWizardConfiguration(obj) { if (!Empty(obj.def)) { setPropertyValue(true, 'chart_options', 'chartDef', obj.def); } else { setPropertyValue(true, 'chart_options', 'chartDef', "type:" + obj.type); } } function selectPortlet(ref){ PickItems('portlet',ref.refId,null, null, 930, 600); } function checkChartDef(chartName) { if (Empty(chartName)) return true; if (chartName.indexOf("type:") == 0) { SetSmartChartdef(chartName); return true; } var chartdef = getChartDefType(chartName), mcat = chartdef.category; if (mcat != "error") { //setPropertyValue(true, 'chart_options', 'chartDef', chartName); } else { PSAlert.alert("Chart Definition not Found"); return false; } return true; } var _clevelObj = null; function checkDataSourceLevel(obj) { _clevelObj = obj; openSPModalLayer("../jsp-system/SPVisualPivotPrefetch_portlet.jsp", 100, 100, 660, 225, false, 1, false,false,null,true); } function SetCacheLevel(rowIndex, colIndex) { if(!_clevelObj) return; var inp, str; if( _clevelObj.refPropId == 'cachelevel2' ) { inp = document.getElementById(_clevelObj.refId) this.updateProperties(inp,_clevelObj.refPropId,'str',true,colIndex+"",true) inp.value = colIndex+""; str = Strtran(_clevelObj.refId, 'cachelevel2', 'cachelevel') inp = document.getElementById(str) this.updateProperties(inp,'cachelevel','str',true,rowIndex+"",true) inp.value = rowIndex+""; } else { inp = document.getElementById(_clevelObj.refId) this.updateProperties(inp,_clevelObj.refPropId,'str',true,rowIndex+"",true) inp.value = rowIndex+""; str = Strtran(_clevelObj.refId, 'cachelevel', 'cachelevel2') inp = document.getElementById(str) this.updateProperties(inp,'cachelevel2','str',true,colIndex+"",true) inp.value = colIndex+""; } } function loadFromFile(dontupdate){ dontupdate = true; if( c_ripristino && sessionStorage.getItem(c_ripristino)){ /** * parent.is_Saving a False, perchè se fosse True i vari tab * non sarebbero più cliccabili e quindi non si potrebbe lavorare * sugli altri Tab */ parent.is_Saving = false; let strreload = JSON.parse(sessionStorage.getItem(c_ripristino))["def"]; configname = JSON.parse(sessionStorage.getItem(c_ripristino))["name"]; reload_(strreload); sessionStorage.removeItem(c_ripristino); if(window.parent.location.href.indexOf("portalstudio.jsp") < 0){ if(configname){ save(); } else if(!configname){ save(); } } } else if(window.frameElement?.jdef){ parent.is_Saving = false; let form = JSON.parse(window.frameElement.jdef); reload_(form); window.frameElement.jdef = undefined; } else { new JSURL(SPWebRootURL+"/servlet/SPVPVProxy?action=load&ConfigName="+URLenc(configname) + "&Custom="+URLenc(custom)+"&offlinemode="+URLenc(offlinemode), true, (response) => { let jsonobj; try { jsonobj = JSON.parse(response.Response()); } catch (e) { alert('Errore in caricamento del def'); return; } if (jsonobj.ERROR) { alert(jsonobj.ERROR); return; } reload_(jsonobj); }); } return dontupdate; } function reload_(jsonobj){ var filters = jsonobj.arrayFilters ? jsonobj.arrayFilters : []; filtersObj = []; var i, f, j, keys, key, o; //, c; for( i=0; i= 0) Object.assign(col, { f_type: vqrfields[idx].type }) }); columnsList.UpdateList(columnsObj); rowsObj = jsonobj.rows ? jsonobj.rows : []; rowsObj.forEach(function(row) { Object.assign(row, { type: "row", id: LibJavascript.AlfaKeyGen(10) }) var idx = LibJavascript.Array.indexOf(vqrfields,row,function(elArray) { return elArray.alias==row.field; }); if( idx >= 0) Object.assign(row, { f_type: vqrfields[idx].type }) }); rowsList.UpdateList(rowsObj); measuresObj = jsonobj.measures ? jsonobj.measures : []; measuresObj.forEach(function(measure) { Object.assign(measure, { type: "measure", id: LibJavascript.AlfaKeyGen(10) }) var idx = LibJavascript.Array.indexOf(vqrfields,measure,function(elArray) { return elArray.alias==measure.field; }); if( idx >= 0) Object.assign(measure, { f_type: vqrfields[idx].type }) }); measuresList.UpdateList(measuresObj); odimensionsObj = jsonobj.odimensions ? jsonobj.odimensions : []; odimensionsObj.forEach(function(odimensions) { Object.assign(odimensions, { type: "odimension", id: LibJavascript.AlfaKeyGen(10) }) var idx = LibJavascript.Array.indexOf(vqrfields,odimensions,function(elArray) { return elArray.alias==odimensions.field; }); if( idx >= 0) Object.assign(odimensions, { f_type: vqrfields[idx].type }) }); odimensionsList.UpdateList(odimensionsObj); omeasuresObj = jsonobj.omeasures ? jsonobj.omeasures : []; omeasuresObj.forEach(function(omeasure) { Object.assign(omeasure, { type: "omeasure", id: LibJavascript.AlfaKeyGen(10) }) var idx = LibJavascript.Array.indexOf(vqrfields,omeasure,function(elArray) { return elArray.alias==omeasure.field; }); if( idx >= 0) Object.assign(omeasure, { f_type: vqrfields[idx].type }) }); omeasuresList.UpdateList(omeasuresObj); ManageFlagImages(); if (jsonobj.actions){ for (i=0; i