// ConsultationSearch Package / (c) Archimed'2015 / JSE v0.6.3.1 / Cached for 140.77.250.69 (expires 23/10/2015 09:25:24) // // packages.acknowledge('ConsultationSearch'); // ---------------------------------------------- // le paramètre "suffix" des fonctions correspond toujours à la // concaténation de la position du group, de "_" et de la position du champ // pour une liste déroulante contenant des opérateurs "between" function chgeOp(valSelected, suffix) { if (valSelected=='BEETWEEN'|| valSelected=='BEETWEEN_OUT') { if (valSelected=='BEETWEEN') { getElementById('openhook_'+suffix).innerHTML = '[ '; getElementById('closedhook_'+suffix).innerHTML = ' ] '; } else { getElementById('openhook_'+suffix).innerHTML = '] '; getElementById('closedhook_'+suffix).innerHTML = ' [ '; } getElementById('openhook_'+suffix).style.display=''; getElementById('div_'+suffix).style.display=''; } else { getElementById('openhook_'+suffix).style.display='none'; getElementById('div_'+suffix).style.display='none'; } } // pour une liste déroulante sur le mode assisté-énumération function chgeEnum(suffix, index) { getElementById('selectLabel'+suffix).selectedIndex=index; } // pour une liste déroulante sur le mode assisté-intervalle function chgeInterval(suffix, index) { getElementById('selectMin'+suffix).selectedIndex=index; getElementById('selectMax'+suffix).selectedIndex=index; } // pour avoir un pointeur sur un élément du formulaire function getFormElt(name) { return document.forms[g_strFormName][name]; } // pour valider le formulaire // on sélectionne automatiquement toutes les valeurs "sélectionnées visuellement" pour les champs multiples function Save() { submitScript(); for (var i=0; i0) addEmptyOption(elt); for (var j=0; j0) { visibleSelect.removeChild(visibleOptions[visibleOptions.length-1]); } if (asc) { if (canModifySort) { getElementById('sortDesc'+suffix).style.display = 'none'; getElementById('sortAsc'+suffix).style.display = ''; } var i = 0; var n = hiddenOptions.length; } else { if (canModifySort) { getElementById('sortDesc'+suffix).style.display = ''; getElementById('sortAsc'+suffix).style.display = 'none'; } var i = hiddenOptions.length-1; var n = -1; } for (; asc?i=0) { var selection = selectableList.options[selectedIndex]; if (addOption(selectedList, selection.text, selection.value)) { addOptionWithoutChecking(selectedLabelList, selection.text, selection.text); } } } // pour savoir si un choix est présent parmi une liste déroulante function existInSelection(value,select) { var options = select.options; for (var i=0, n=options.length; i= 0) { selectedList.removeChild(selectedList.options[selectedIndex]); selectedLabelList.removeChild(selectedLabelList.options[selectedIndex]); if (selectedList.options.length == 0) { selectedList.style.width = SELECTSIZE; } } } // pour ajouter toutes les entrées visibles de la première liste // dans la liste des choix de l'utilisateur function addAll(suffix) { var selectedList = getElementById('select'+suffix); var selectableList = getElementById('visible'+suffix); var selectedLabelList = getElementById('selectLabel'+suffix); var options = selectableList.options; for (var i=0, n=options.length; i0) { selectedList.removeChild(options[options.length-1]); selectedLabelList.removeChild(labelOptions[labelOptions.length-1]); } if (options.length==0) { selectedList.style.width = SELECTSIZE; } } /************* * POPUP SORT * *************/ var targetId; var targetSuffix; var bmultiplePopupSort; // pour ouvrir un popup function popupSort(id,suffix,seid,bBeginWith,bMultiple) { targetId = id; targetSuffix = suffix; bmultiplePopupSort = bMultiple; popups.get('popupList').putPropertyValue('src','../../Consultation/List/list.asp?INSTANCE='+g_strInstance+'&'+(bMultiple?'multiple=true':'unique=true')+'&begin=0&type=sort&seid='+seid+'&DISPLAYBEGINS='+(bBeginWith?"TRUE":"FALSE")); popups.show('popupList',receptPopupSort); } // pour répercuter un(des) choix dans le formulaire lors de la fermeture d'un popup function receptPopupSort(id, value) { if (value) { var objValue; if (bmultiplePopupSort) { var selectedList = getElementById(targetId + targetSuffix); var selectedLabelList = getElementById(targetId +'Label'+ targetSuffix); selectedList.style.width= 'auto'; for (var i=0,n=value.length; i 0) { k = objSelectXtable.nodes.length-1 ; id = objSelectXtable.nodes.nodes[k].id; objSelectXtable.deleteRow(id); } objSelectXtable.deleteRow(objSelectXtable.nodes.nodes[0].id); objSelectXtable.refresh(); for (var i = 0 ; i < value.length ; i++) { var aResult = value[i].split("|"); if (i > 0) { objSelectXtable.addNew(); } if (aResult[0]) xforms.xformGroup.getNode(g_NavigateXPath+'['+i+']/VAL').setValue(aResult[0]); if (aResult[1]) xforms.xformGroup.getNode(g_NavigateXPath+'['+i+']/LABEL').setValue(aResult[1]); } } } /******** * DEBUG * ********/ // quand problème avec le request broker function loadSearchDescError(code, desc,prm) { alert("error " + code + " | " + desc + " | " + prm); } // pour afficher le xml associé aux champs function debug() { var debug = getElementById('DEBUG').checked; var collec = document.getElementsByName("displayDebug") for (var i = 0, n = collec.length ; i < n ; i++ ) { if (debug) { collec[i].style.display = ''; } else { collec[i].style.display = 'none'; } } } /********** * DISPLAY * **********/ // pour afficher/masquer les groupes function toggleGroup(lnkId,id) { var lnk =getElementById(lnkId); var img = lnk.childNodes[0]; var puce= getElementById('puce_'+id); var div = getElementById('div_'+id); if (div.style.display=='none') { div.style.display=''; var t=img.getAttribute('src');img.setAttribute('src',img.getAttribute('altsrc'));img.setAttribute('altsrc',t); t=img.getAttribute('lowsrc');img.setAttribute('lowsrc',img.getAttribute('altlowsrc'));img.setAttribute('altlowsrc',t); puce.src=JSPath2Images+'General/Menu/fleche_b.gif'; } else { var t=img.getAttribute('src');img.setAttribute('src',img.getAttribute('altsrc'));img.setAttribute('altsrc',t); t=img.getAttribute('lowsrc');img.setAttribute('lowsrc',img.getAttribute('altlowsrc'));img.setAttribute('altlowsrc',t); puce.src=JSPath2Images+'General/Menu/fleche_d.gif'; div.style.display='none'; } } // pour traiter le retour chariot function keyPress(e) { if (document.all) { e=window.event; } if (e.keyCode==13) { Save(); } } function clearSelect(oSelect) { /*var oOption; while ( 0 < oSelect.options.length) { oSelect.remove(0); }*/ oSelect.innerHTML = ""; } // pour ouvrir un popup en mode cascading function popupSortCascading(type,GEID,posGroup,strFieldId,strKey,aCascadingSort) { var i; var strValue = ""; var strFieldIdAncestor = ""; targetId = type; targetSuffix = posGroup+'_'+strFieldId; bmultiplePopupSort = false; for (i = 0 ; i < aCascadingSort[1].length;i++) { if (strFieldId == aCascadingSort[1][i]) { break; } } for (var j = i+1; j < aCascadingSort[1].length; j++) { objSelect = getElementById('selectVal'+posGroup+'_'+aCascadingSort[1][j]); if (objSelect) { strValue = objSelect.value; } else { objText = getElementById('text'+posGroup+'_'+aCascadingSort[1][j]); if (objText) { strValue = objText.value; } } if (strValue !='') { strFieldIdAncestor = aCascadingSort[1][j]; } if (!aCascadingSort[0] || strFieldIdAncestor != "") { break; } } popups.get('popupList').putPropertyValue('src','../../Consultation/List/list.asp?INSTANCE='+g_strInstance+'&TYPE=CASCADSORT&GEID='+GEID+'&FID='+strFieldId+'&FIDA='+strFieldIdAncestor+'&KEYA='+strValue+'&UNIQUE=true'); //prompt('popup','../../Consultation/List/list.asp?INSTANCE='+g_strInstance+'&TYPE=CASCADSORT&GEID='+GEID+'&FID='+strFieldId+'&FIDA='+strFieldIdAncestor+'&KEYA='+strValue) //popups.get('popupList').putPropertyValue('src','../../Consultation/List/list.asp?INSTANCE='+g_strInstance+'&'+(bMultiple?'multiple=true':'unique=true')+'&begin=0&type=sort&seid='+seid+'&DISPLAYBEGINS='+(bBeginWith?"TRUE":"FALSE")); popups.show('popupList',receptPopupSort); } // cascading sort function cascadingSort(type,GEID,posGroup,strFieldId,strKey,aCascadingSort) { if (aCascadingSort) { //alert("GEID :" + GEID+"\nstrFieldId :"+strFieldId+"\nstrKey :"+strKey+"\naCascadingSort :"+aCascadingSort); var objSelect,objSelectLabel,objText,objTextLabel; var objXML = new DOMDocument(); var objData = objXML.createElement("XML"); (objData.appendChild(objXML.createElement("GEID"))).setText(GEID); (objData.appendChild(objXML.createElement("FIELD_ID"))).setText(strFieldId); (objData.appendChild(objXML.createElement("KEY"))).setText(strKey); //alert(aCascadingSort); for (var i = 0 ; i < aCascadingSort[1].length;i++) { if (strFieldId == aCascadingSort[1][i]) { break; } } var strText = ""; var bCascadingDeploy = !aCascadingSort[0] && strKey==""; if (bCascadingDeploy) { strText = "" } else { strText = "Chargement en cours ..." } for (var j = i-1; j >= 0; j--) { objSelect = getElementById('selectVal'+posGroup+'_'+aCascadingSort[1][j]); objSelectLabel = getElementById('selectLabel'+posGroup+'_'+aCascadingSort[1][j]); if (objSelect) { clearSelect(objSelect); objOption = document.createElement("OPTION"); objOption.innerHTML = strText; objOption.value = ""; objSelect.appendChild(objOption); objSelect.disabled = true; } else { objText = getElementById('text'+posGroup+'_'+aCascadingSort[1][j]); if (objText) { objText.value = ""; } } if (objSelectLabel) { clearSelect(objSelectLabel); } else { objTextLabel = getElementById('textLabel'+posGroup+'_'+aCascadingSort[1][j]); if (objTextLabel) { objTextLabel.value = ''; } } if (!bCascadingDeploy) { strText = ""; //break; } } requestBroker.post('RB/cascadingSort.asp?INSTANCE='+g_strInstance+g_strLocalParams,objData.xml(),[GEID,strFieldId,strKey,aCascadingSort],loadCascadingSortDone,loadCascadingSortError,10000,60000); } } function loadCascadingSortDone(value,prm) { var objResult = new DOMDocument(); objResult.loadData(value); //prompt('value',objResult.xml()); //alert('value :' + objResult.xml()+ '\nprm :' + prm); var objSelectUI,objSelects,objSelect,objItem, objItems=objResult.selectNodes("/SORTS/SORT"); var id; var df; var r; for (var i=0, n=objItems.length; i