/* exported portletId FillList selectTab confirmSelection addRow requestField getAllField getAllFieldDescription requestTableField loadFieldName */ var CSV_SEP="#!$"; var iPrec=-1; var allParameters=[], fieldTableName=[], fieldTableDescription=[], visibleParameters=[]; var portletId,action,tableName,parameter,queryName,allField,allFieldDescription,linkedField,offlinemode; var parameterSelected=[], valueParameter=[]; var parSelected=-1, keyboard, nRow=0; var tabSelected="name", oldFilter=""; function getOpener(){ return (window.opener?window.opener:window.parent) } function SelectThisParameter(){ var i, sep, value; if (action=='fixedcombo' || action=='readfield'){ var valueField1='',valueField2=''; sep=''; var field1=action=='readfield'?'fieldName':'name' var field2=action=='readfield'?'linkedField':'desc' for (i=0; i2 || _filter.length==0 && _filter!=oldFilter){ var innerHtml=""; var idx=0; visibleParameters=[]; for (var i=0; i"+allParameters[i]+"

"; idx++; } } Ctrl('tableContent').innerHTML=innerHtml; document.id('content').nanoScrollerMT(); iPrec=-1; oldFilter=_filter; } } function DoubleFilter(){ var _filter=Lower(Ctrl('search').value); if (_filter.length>2 || _filter.length==0 && _filter!=oldFilter){ var innerHtml=""; var idx=0; visibleParameters=[]; var j=tabSelected=='name'?0:1; for (var i=0; i"+allParameters[i][0]+"

"+allParameters[i][1]+"

"; idx++; } } Ctrl('tableContent').innerHTML=innerHtml; document.id('content').nanoScrollerMT(); iPrec=-1; oldFilter=_filter; } } function selectTab(el){ if (tabSelected=='name'){ tabSelected='description'; el.className='tab tabSelected'; Ctrl('tabName').className='tab'; } else{ tabSelected='name'; el.className='tab tabSelected'; Ctrl('tabDescription').className='tab'; } DoubleFilter(); } function closeWindow(){ if (getOpener().closeSPModalLayer && !Empty(Ctrl('SPModalLayerId').value)) getOpener().closeSPModalLayer(); else window.close() } function FillList(){ var i, posPoint; portletId=Ctrl("portletId").value; action=Lower(Ctrl('action').value); tableName=Ctrl('tableName').value; offlinemode=(Ctrl('offlinemode').value=='true'); if (tableName){ posPoint=tableName.indexOf('.'); if (posPoint!=-1) tableName=Left(tableName,posPoint) } parameter=(Ctrl('parameter').value).split(','); if (action=='linkedtable' && parameter[0]){ posPoint=parameter[0].indexOf('.'); if (posPoint!=-1) parameter[0]=Left(parameter[0],posPoint) } queryName=Ctrl('queryName').value; allField=(Ctrl('allField').value); allFieldDescription=(Ctrl('allFieldDescription').value); linkedField=(Ctrl('linkedField').value).split(','); var tableContent=Ctrl('content'); var title=Ctrl('title'); var label=Ctrl('name'); var innerHtml=""; switch (action){ case 'linkedtable': case 'tablename': innerHtml="
    "; GetTables(); for (i=0; i"+allParameters[i][0]+"

    "+allParameters[i][1]+"

    "; } title.innerHTML="
    Select Table
    "; label.innerHTML='Table name:'; innerHtml+="
"; Ctrl('search').addEvents({ 'keyup':function(){ DoubleFilter() } }) break; case 'fixedfilter': case 'filterfield': if (!Empty(tableName)){ innerHtml=""; GetParameters(); for (i=0; i"; } title.innerHTML="
Field name
Linked field
"; label.innerHTML='Fields name:'; innerHtml+="
"+allParameters[i][0]+" ("+allParameters[i][1]+")
"; } Ctrl('maskSearch').style.display='none'; break; case 'keyfield': case 'tablekeyfield': case 'valuefield': case 'orderfield': if (!Empty(tableName) && tableName!='null'){ innerHtml="
    "; GetParameters(); for (i=0; i"+allParameters[i][0]+"

    "+allParameters[i][1]+"

    "; } title.innerHTML="
    Select Field
    "; label.innerHTML='Field name:'; innerHtml+="
"; Ctrl('search').addEvents({ 'keyup':function(){ DoubleFilter() } }) break; } case 'combovalues': case 'combolabels': // case 'orderfield': if (!Empty(queryName)){ innerHtml="
    "; GetQueryFields(); for (i=0; i"+allParameters[i][0]+"

    "+allParameters[i][1]+"

    "; } title.innerHTML="
    Select Field
    "; label.innerHTML='Field name:'; innerHtml+="
"; } Ctrl('search').addEvents({ 'keyup':function(){ DoubleFilter() } }) break; case 'queryname': innerHtml="
    "; GetQuery(); for (i=0; i"+allParameters[i]+"

    "; } title.innerHTML="
    Select Query
    "; label.innerHTML='Query name:'; innerHtml+="
"; Ctrl('tabName').style.display='none'; Ctrl('tabDescription').style.display='none'; Ctrl('search').addEvents({ 'keyup':function(){ SimpleFilter() } }) break; case 'zoomconfigname': case 'configname': case 'config': innerHtml="
    "; GetZoomConfigName(); for (i=0; i"+allParameters[i]+"

    "; } title.innerHTML="
    Select Zoom
    "; label.innerHTML='Zoom name:'; innerHtml+="
"; Ctrl('tabName').style.display='none'; Ctrl('tabDescription').style.display='none'; Ctrl('search').addEvents({ 'keyup':function(){ SimpleFilter() } }) break; case 'queryparameters': if (!Empty(queryName)){ innerHtml=""; GetQueryParameters(); if (allParameters.length>0){ for (i=0; i"+allParameters[i][0]+" ("+allParameters[i][1]+")="; } title.innerHTML="
Parameter name
Value
"; } else innerHtml+="No parameters in the selected query"; label.innerHTML='Parameters:'; innerHtml+="
"; } Ctrl('maskSearch').style.display='none'; break; case 'dependson': case 'zoomqryparam': innerHtml="
    "; allField=allField.split(','); allFieldDescription=allFieldDescription.split(','); allParameters=[] for (i=0; i

    "+allParameters[i][0]+"

    "+(allParameters[i][1]||allParameters[i][0])+"

    "; } title.innerHTML="
    Select fields
    "; label.innerHTML='List field:'; innerHtml+="
"; Ctrl('maskSearch').style.display='none'; break; case 'fixedcombo': innerHtml=""; if (!Empty(allField)){ allField=allField.split(',') allFieldDescription=allFieldDescription.split(','); allParameters=[] nRow=allField.length; for (i=0; i"+allField[i]+""; } } else{ allParameters=[] nRow=0; } title.innerHTML="
Combo value
Combo label
"; label.style.display='none'; Ctrl('addValue').style.display='inline-block'; Ctrl('removeValue').style.display='inline-block'; Ctrl("result").style.display='none'; Ctrl("OperationButton").style.marginLeft='340px'; innerHtml+="
"+allFieldDescription[i]+"
"; Ctrl('maskSearch').style.display='none'; break; case 'readfield': if (!Empty(tableName)){ innerHtml=""; GetParameters() if (!Empty(parameter) && !(parameter.length==1 && parameter[0]=='')){ nRow=parameter.length; for (i=0; i"+parameter[i]+""; } } } else{ parameter=[] nRow=0; } title.innerHTML="
Field name
Linked field
"; label.style.display='none'; Ctrl('addValue').style.display='inline-block'; Ctrl('removeValue').style.display='inline-block'; Ctrl("result").style.display='none'; Ctrl("OperationButton").style.marginLeft='340px'; innerHtml+="
"+linkedField[i]+"
"; } Ctrl('maskSearch').style.display='none'; break; case 'parameters': innerHtml=""; if (!Empty(parameter) && !(parameter.length==1 && parameter[0]=='')){ nRow=parameter.length; for (i=0; i"+param[0]+""; } } else{ parameter=[] nRow=0; } title.innerHTML="
Parameter name
Parameter value
"; label.style.display='none'; Ctrl('addValue').style.display='inline-block'; Ctrl('removeValue').style.display='inline-block'; Ctrl("result").style.display='none'; Ctrl("OperationButton").style.marginLeft='340px'; innerHtml+="
"+param[1]+"
"; Ctrl('maskSearch').style.display='none'; break; } tableContent.innerHTML=innerHtml; document.id('content').nanoScrollerMT(); visibleParameters=allParameters; var index, j, input; if (action=='queryparameters'){ for (i=0; i" else if (action=='parameters') Ctrl('tableContent').innerHTML+="" else Ctrl('tableContent').innerHTML+="" editRow(nRow,true) nRow++; } function requestField(i){ parSelected=i; var field; if (action=='parameters') field=Ctrl('input_parameterValue'+parSelected).value else if (action!='readfield') field=Ctrl('input'+parSelected).value; else field=Ctrl('input_linkedField'+parSelected).value; openSPModalLayer("./SPMaskParametersConfigurator_filterList.jsp?allField="+URLenc(allField)+"&allFieldDescription="+URLenc(allFieldDescription)+"&fieldSelected="+URLenc(field)+"&SPModalLayerId=filterMskSPModalLayer"+(action=='readfield'?'&action=linkedField':action=='parameters'?'&action=parameterValue':''), 0, 0, 495, 400, false, 1, false,false) } function getAllField(){ var allField; switch (action){ case "readfield": allField=fieldTableName break; } return allField; } function getAllFieldDescription(){ var allField; switch (action){ case "readfield": allField=fieldTableDescription break; } return allField; } function requestTableField(i){ parSelected=i; var field=Ctrl('input_fieldName'+parSelected).value; openSPModalLayer("./SPMaskParametersConfigurator_filterList.jsp?fieldSelected="+URLenc(field)+"&SPModalLayerId=filterMskSPModalLayer&action=fieldName", 0, 0, 495, 400, false, 1, false,false) } function loadFieldName(value,_action){ if (!_action || _action=='null'){ var input=Ctrl('input'+parSelected); input.value=value; if (action=='queryparameters') InsertParameter(parSelected); else multipleSelectRow(parSelected); } else input=Ctrl('input_'+_action+parSelected).value=value; } function InsertParameter(i){ var input=Ctrl('input'+i); var index; if (input.value==''){ // se svuotato lo tolgo dalla textbox dei parametri index=parameterSelected.indexOf(allParameters[i][0]); if (index!=-1){ parameterSelected.splice(index,1); valueParameter.splice(index,1); } } else { index=parameterSelected.indexOf(allParameters[i][0]); if (index!=-1){ //il valore � stato cambiato valueParameter[index]=input.value; } else { //il valore � stato inserito parameterSelected.push(allParameters[i][0]); valueParameter.push(input.value); } } var str=''; var sep=''; for (var j=0; j=0 && action!='readfield' && action!='parameters'){ var content=Ctrl('content'); var name=Ctrl('name'+i); var desc=Ctrl('desc'+i); if (action=='fixedcombo'){ name=name.getParent(); desc=desc.getParent(); } if (action=='fixedcombo') name.className='selectedRow light'; else name.className='selectedRow'; name.parentNode.className='selectedTr'; if (desc) desc.className='selectedRow right'; if ((name.getPosition().y+name.getSize().y) > (content.getPosition().y+content.getSize().y)) new Fx.Scroll(content).toElement(name,'y') else if ((name.getPosition().y) < (content.getPosition().y)) new Fx.Scroll(content).toElement(name,'y') if (iPrec!=-1){ name=Ctrl('name'+iPrec); desc=Ctrl('desc'+iPrec); if (action=='fixedcombo'){ name=name.getParent(); desc=desc.getParent(); } name.parentNode.className=''; if (desc){ if (action=='fixedcombo') name.className='standardRow light'; else name.className='standardRow'; desc.className='standardRow right'; } else name.className='standardRow right'; } iPrec=i; var result=Ctrl('result'); if (action=='queryname' || action=='queryparameters' || action=='zoomconfigname' || action=='configname' || action=='config') result.value=visibleParameters[i]; else if (action!='fixedcombo') result.value=visibleParameters[i][0]; if (keyboard) keyboard.activate() if (action=='fixedcombo') editRow(i) } } function multipleSelectRow(i){ var selected=Ctrl('check'+i); var name=Ctrl('name'+i); var desc=Ctrl('desc'+i); var button=Ctrl('button'+i); var input=Ctrl('input'+i); var index; if (selected.checked){ name.className='selectedRow'; desc.className='selectedRow right'; if (action=='dependson' || action=='zoomqryparam'){ name.parentNode.parentNode.className='selectedTr'; index=parameterSelected.indexOf(allParameters[i][0]); if (index==-1) parameterSelected.push(allParameters[i][0]) } else{ name.style.padding='6px' desc.style.padding='6px'; name.parentNode.className='selectedTr'; button.className='bottoni'; button.disabled=null; input.disabled=null; index=parameterSelected.indexOf(allParameters[i][0]); if (index!=-1) valueParameter[index]=input.value; else{ parameterSelected.push(allParameters[i][0]); valueParameter.push(input.value); } } } else { desc.className='standardRow right'; if (action=='dependson' || action=='zoomqryparam'){ name.className='standardRow'; name.parentNode.parentNode.className=''; index=parameterSelected.indexOf(allParameters[i][0]); if (index>-1) parameterSelected.splice(index,1); } else{ name.className='standardRow light'; name.parentNode.className=''; button.className='disabledButton'; button.disabled='true'; input.disabled='true'; index=parameterSelected.indexOf(allParameters[i][0]); if (index>-1){ parameterSelected.splice(index,1); valueParameter.splice(index,1); } } } var par='', sep=''; if (action=='dependson' || action=='zoomqryparam'){ for (i=0; i'+valueParameter[i]; sep=','; } } Ctrl('result').value=par; } function changeCheck(i){ var selected=Ctrl('check'+i); if (selected){ selected.checked=!selected.checked; multipleSelectRow(i); } } function GetTables(){ var oTable; var tablesCSV = new JSURL("../servlet/SPXDCProxy?action=tables&tmptbl=true&offlinemode="+offlinemode, true); tablesCSV = tablesCSV.Response(); //Se mancano le librerie sul server if (At("ACCESS DENIED", tablesCSV)>0){ alert("Access Denied."); } else if (At("ClassNotFoundException: SPXDCProxy", tablesCSV)>0){ alert("Installation incomplete."); } else { var oTables = tablesCSV.split(CSV_SEP); if (oTables[0]=="* --- Visual Query Tables 1.0 ---*") { for (var i=1; i bb) return 1; if (aa < bb) return -1; return 0; } function SortByName(a, b){ var aa = a[0].toLowerCase(); var bb = b[0].toLowerCase(); if (aa > bb) return 1; if (aa < bb) return -1; return 0; } function GetQuery(){ var query=new JSURL("../servlet/SPVQRProxy?action=vqr&offlinemode="+offlinemode,true); query=query.Response(); query=query.replace(/\.vqr(\.offline)?/gi, ''); allParameters=eval(query); // for (var i=0; i