BUG 0000 "Problem in dependent fields with suggest field in grids" SOLVED

- Problem in dependent fields with suggest field in grids
- Solved problem in dependent fields with suggest field in grids
- The QA team should test with (in grids):
    suggest  -> suggest  -> suggest
    suggest  -> dropdown -> suggest
    dropdown -> suggest  -> suggest
    dropdown -> suggest  -> dropdown
    text     -> suggest  -> suggest
    text     -> suggest  -> text
    * Browsers IE7, IE8, IE9, Firefox and Chrome
* Available from version ProcessMaker-2.0.46
This commit is contained in:
Victor Saisa Lopez
2013-01-18 19:12:32 -04:00
parent e96e5cb77c
commit f871d9fded
5 changed files with 226 additions and 101 deletions

View File

@@ -105,15 +105,20 @@ function G_Field ( form, element, name )
var tempValue;
if (me.dependentFields.length===0) return true;
var fields=[],Fields = [],i,grid='',row=0;
var gridField = "";
for(i in me.dependentFields) {
if (me.dependentFields[i].dependentOf) {
for (var j = 0; j < me.dependentFields[i].dependentOf.length; j++) {
var oAux = me.dependentFields[i].dependentOf[j];
if (oAux.name.indexOf('][') > -1) {
var aAux = oAux.name.split('][');
grid = aAux[0];
row = aAux[1];
fieldName = aAux[2];
var arrayAux = oAux.name.split("][");
grid = arrayAux[0];
row = parseInt(arrayAux[1]);
fieldName = arrayAux[2];
gridField = gridGetAllFieldAndValue(oAux.name, 0); //Not get current field
if (Fields.length > 0){
aux = Fields;
aux.push('?');
@@ -145,15 +150,19 @@ function G_Field ( form, element, name )
}
}
}
var callServer;
callServer = new leimnud.module.rpc.xmlhttp({
url : me.form.ajaxServer,
async : false,
method : "POST",
args : "function=reloadField&" + 'form='+encodeURIComponent(me.form.id)+'&fields='+encodeURIComponent(fields.toJSONString())+(grid!=''?'&grid='+grid:'')+(row>0?'&row='+row:'')
url: me.form.ajaxServer,
async: false,
method: "POST",
args: "function=reloadField" + "&form=" + encodeURIComponent(me.form.id) + "&fields=" + encodeURIComponent(fields.toJSONString()) + ((grid != "")? "&grid=" + grid + ((gridField != "")? "&gridField=" + encodeURIComponent("{" + gridField + "}") : "") : "") + ((row > 0)? "&row=" + row: "")
});
callServer.make();
var response = callServer.xmlhttp.responseText;
//Validate the response
if (response.substr(0,1)==='[') {
var newcont;
@@ -316,6 +325,9 @@ function G_DropDown( form, element, name )
dd.options[key] = null;
}
}
dd.options.length = 0; //Delete options
// the remove function is no longer reliable
// while(dd.options.length>1) dd.remove(0);
for(var o=0;o<content.options.length;o++) {
@@ -324,6 +336,10 @@ function G_DropDown( form, element, name )
optn.value = content.options[o].key;
dd.options[o]=optn;
}
if (dd.options.length == 0) {
dd.options[0] = new Option("", "");
}
};
if (!element) return;
leimnud.event.add(this.element,'change',this.updateDepententFields);
@@ -3595,3 +3611,38 @@ function getNumericValue(val, decimalSeparator)
return num;
}
var gridGetAllFieldAndValue = function (fieldId, swCurrentField)
{
var frm = G.getObject(getField(fieldId).form);
var arrayAux = fieldId.split("][");
var gridName = arrayAux[0];
var row = parseInt(arrayAux[1]);
var fieldName = arrayAux[2];
var grid;
var gridField = "";
var fieldNameAux = "";
var fieldValueAux = "";
var i1 = 0;
var i2 = 0;
//Get all fields of grid
for (i1 = 0; i1 <= frm.aElements.length - 1; i1++) {
if (frm.aElements[i1].name == gridName) {
grid = frm.aElements[i1];
for (i2 = 0; i2 <= grid.aFields.length - 1; i2++) {
fieldNameAux = grid.aFields[i2].sFieldName;
fieldValueAux = grid.getElementByName(row, fieldNameAux).value();
if ((swCurrentField == 1 || fieldNameAux != fieldName) && typeof fieldValueAux != "undefined") {
gridField = gridField + ((gridField != "")? "," : "") + "\"" + fieldNameAux + "\":\"" + fieldValueAux + "\"";
}
}
}
}
return gridField;
};

View File

@@ -468,8 +468,9 @@ var G_Grid = function(oForm, sGridName){
var aObjectsScript = oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');
var sObjectType = this.aFields[i-1].sType;
if (aObjectsScript[0] != 'undefined' && sObjectType == 'suggest') {
if ( this.determineBrowser() == "MSIE" ) {
if (this.determineBrowser() == "MSIE") {
var firstNode = aCells[i];
@@ -489,15 +490,13 @@ var G_Grid = function(oForm, sGridName){
scriptElement.text = sScriptAdjustRow;
parentScript.removeChild(elementScript);
parentScript.appendChild(scriptElement);
} else {
var sObjScript = aObjectsScript[0].innerHTML;
var sNewObjScript = sObjScript.replace(/\[1\]/g, '\[' + currentRow + '\]');
aObjectsScript[0].innerHTML = sNewObjScript;
eval(aObjectsScript[0].innerHTML);
}
} else {
var sObjScript = aObjectsScript[0].innerHTML;
var sNewObjScript = sObjScript.replace(/\[1\]/g, "\[" + currentRow + "\]");
aObjectsScript[0].innerHTML = sNewObjScript;
eval(aObjectsScript[0].innerHTML);
}
}
break;
case 'checkbox': //CHECKBOX
var attributeCheckBox = elementAttributesNS(aObjects[n], "");
@@ -599,10 +598,14 @@ var G_Grid = function(oForm, sGridName){
for (x=0; x < aDependents.length; x++){
if (aDependents[x] == sObject) sw = true;
}
//Delete Options if dropdow is dependent
//only remains empty value
if (sw){
oNewSelect.options.length = 0; //Delete options
var oAux = document.createElement(aObjects[0].tagName);
for ( var j = 0; j < aObjects[0].options.length; j++) {
if (aObjects[0].options[j].value == ''){
var oOption = document.createElement('OPTION');
@@ -611,8 +614,9 @@ var G_Grid = function(oForm, sGridName){
oAux.options.add(oOption);
}
}
oNewSelect.innerHTML = ''; //Delete options
//aObjects[0].innerHTML = ''; //Delete options
for (var r =0; r < oAux.options.length; r++){
var xOption = document.createElement('OPTION');
xOption.value = oAux.options[r].value;
@@ -620,6 +624,10 @@ var G_Grid = function(oForm, sGridName){
//aObjects[0].options.add(xOption);
oNewSelect.options.add(xOption);
}
if (oNewSelect.options.length == 0) {
oNewSelect.options[0] = new Option("", "");
}
}else{
//Set Default Value if it's not a Dependent Field
if (defaultValue != ''){
@@ -663,6 +671,7 @@ var G_Grid = function(oForm, sGridName){
}
//TODO: Implement Default Value and Dependent Fields Trigger for grid dropdowns
}
var parentSelect = aObjects[0].parentNode;
parentSelect.removeChild(aObjects[0]);
parentSelect.appendChild(oNewSelect);
@@ -1154,25 +1163,25 @@ var G_Grid = function(oForm, sGridName){
oAux = this.getElementByName(aAux[1], aFields[i]);
sAux = sAux.replace(new RegExp(aFields[i], "g"), "parseFloat(G.cleanMask(this.getElementByName(" + aAux[1] + ", '" + aFields[i] + "').value().replace(/[$|a-zA-Z\s]/g,'') || 0, '" + (oAux.sMask ? oAux.sMask : '')
+ "').result.replace(/,/g, ''))");
eval("if (!document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + aFields[i] + "]')) { oContinue = false; }");
}
}
eval("if (!document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + "]')) { oContinue = false; }");
var swReal=0;
if (oContinue) {
//we're selecting the mask to put in the field with the formula
for (i = 0; i < this.aFields.length; i++) {
if(oField.sFieldName==this.aFields[i].sFieldName) {
maskformula=this.aFields[i].oProperties.mask;
if(this.aFields[i].oProperties.validate=='Real')
swReal=1;
}
}
if(maskformula!=''){
maskDecimal=maskformula.split(";");
if(maskDecimal.length > 1) {
@@ -1192,17 +1201,17 @@ var G_Grid = function(oForm, sGridName){
else
maskToPut=0;
}
// clean the field and load mask execute event keypress
document.getElementById(aAux[0]+']['+ aAux[1] + '][' + oField.sFieldName + ']').value = '';
this.executeEvent(document.getElementById(aAux[0]+']['+ aAux[1] + '][' + oField.sFieldName + ']'), 'keypress');
// execute formula and set decimal
eval("document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + "]').value = (" + sAux + ').toFixed('+maskToPut+');');
// trim value
document.getElementById(aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + ']').value = document.getElementById(aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + ']').value.replace(/^\s*|\s*$/g,"");
// set '' to field if response is NaN
if (document.getElementById(aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + ']').value =='NaN')
document.getElementById(aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + ']').value = '';

View File

@@ -955,16 +955,17 @@ parent=parent.parentNode;parent.style.display='none';};this.show=function(parent
parent=parent.parentNode;parent.style.display='';};this.setDependentFields=function(dependentFields){var i;if(dependentFields.indexOf(',')>-1){dependentFields=dependentFields.split(',');}
else{dependentFields=dependentFields.split('|');}
for(i=0;i<dependentFields.length;i++){if(me.form.getElementIdByName(dependentFields[i])>=0){me.dependentFields[i]=me.form.getElementByName(dependentFields[i]);me.dependentFields[i].addDependencie(me);}}};this.addDependencie=function(field){var exists=false;for(i=0;i<me.dependentOf.length;i++)
if(me.dependentOf[i]===field)exists=true;if(!exists)me.dependentOf[i]=field;};this.updateDepententFields=function(event){var tempValue;if(me.dependentFields.length===0)return true;var fields=[],Fields=[],i,grid='',row=0;for(i in me.dependentFields){if(me.dependentFields[i].dependentOf){for(var j=0;j<me.dependentFields[i].dependentOf.length;j++){var oAux=me.dependentFields[i].dependentOf[j];if(oAux.name.indexOf('][')>-1){var aAux=oAux.name.split('][');grid=aAux[0];row=aAux[1];fieldName=aAux[2];if(Fields.length>0){aux=Fields;aux.push('?');if(aux.join('*').indexOf(fieldName+'*')==-1){Fields.push(fieldName);eval("var oAux2 = {"+fieldName+":'"+oAux.value()+"'}");fields=fields.concat(oAux2);}}else{Fields.push(fieldName);eval("var oAux2 = {"+fieldName+":'"+oAux.value()+"'}");fields=fields.concat(oAux2);}}
if(me.dependentOf[i]===field)exists=true;if(!exists)me.dependentOf[i]=field;};this.updateDepententFields=function(event){var tempValue;if(me.dependentFields.length===0)return true;var fields=[],Fields=[],i,grid='',row=0;var gridField="";for(i in me.dependentFields){if(me.dependentFields[i].dependentOf){for(var j=0;j<me.dependentFields[i].dependentOf.length;j++){var oAux=me.dependentFields[i].dependentOf[j];if(oAux.name.indexOf('][')>-1){var arrayAux=oAux.name.split("][");grid=arrayAux[0];row=parseInt(arrayAux[1]);fieldName=arrayAux[2];gridField=gridGetAllFieldAndValue(oAux.name,0);if(Fields.length>0){aux=Fields;aux.push('?');if(aux.join('*').indexOf(fieldName+'*')==-1){Fields.push(fieldName);eval("var oAux2 = {"+fieldName+":'"+oAux.value()+"'}");fields=fields.concat(oAux2);}}else{Fields.push(fieldName);eval("var oAux2 = {"+fieldName+":'"+oAux.value()+"'}");fields=fields.concat(oAux2);}}
else{aux=Fields;aux.push('?');oAux=me.dependentFields[i].dependentOf[0];if(Fields.length>0){if(aux.join('*').indexOf(oAux.name+'*')==-1){Fields.push(oAux.name);fields=fields.concat(me.dependentFields[i].dependentOf);}}else{Fields.push(oAux.name);fields=fields.concat(me.dependentFields[i].dependentOf);}}}}}
var callServer;callServer=new leimnud.module.rpc.xmlhttp({url:me.form.ajaxServer,async:false,method:"POST",args:"function=reloadField&"+'form='+encodeURIComponent(me.form.id)+'&fields='+encodeURIComponent(fields.toJSONString())+(grid!=''?'&grid='+grid:'')+(row>0?'&row='+row:'')});callServer.make();var response=callServer.xmlhttp.responseText;if(response.substr(0,1)==='['){var newcont;eval('newcont='+response+';');if(grid==''){for(var i=0;i<newcont.length;i++){var j=me.form.getElementIdByName(newcont[i].name);if(typeof(me.form.aElements[j])!='undefined'){me.form.aElements[j].setValue(newcont[i].value);me.form.aElements[j].setContent(newcont[i].content);me.form.aElements[j].updateDepententFields();}}}
var callServer;callServer=new leimnud.module.rpc.xmlhttp({url:me.form.ajaxServer,async:false,method:"POST",args:"function=reloadField"+"&form="+encodeURIComponent(me.form.id)+"&fields="+encodeURIComponent(fields.toJSONString())+((grid!="")?"&grid="+grid+((gridField!="")?"&gridField="+encodeURIComponent("{"+gridField+"}"):""):"")+((row>0)?"&row="+row:"")});callServer.make();var response=callServer.xmlhttp.responseText;if(response.substr(0,1)==='['){var newcont;eval('newcont='+response+';');if(grid==''){for(var i=0;i<newcont.length;i++){var j=me.form.getElementIdByName(newcont[i].name);if(typeof(me.form.aElements[j])!='undefined'){me.form.aElements[j].setValue(newcont[i].value);me.form.aElements[j].setContent(newcont[i].content);me.form.aElements[j].updateDepententFields();}}}
else{for(var i=0;i<newcont.length;i++){var oAux=me.form.getElementByName(grid);if(oAux){var oAux2=oAux.getElementByName(row,newcont[i].name);if(oAux2){oAux2.setValue(newcont[i].value);oAux2.setContent(newcont[i].content);oAux2.updateDepententFields();}}}}}else{alert('Invalid response: '+response);}
return true;};this.setValue=function(newValue){me.element.value=newValue;};this.setContent=function(newContent){};this.setAttributes=function(attributes){for(var a in attributes){if(a=='formula'&&attributes[a]){sumaformu(this.element,attributes[a],attributes['mask']);}
switch(typeof(attributes[a])){case'string':case'int':case'boolean':if(a!='strTo'){switch(true){case typeof(me[a])==='undefined':case typeof(me[a])==='object':case typeof(me[a])==='function':case a==='isObject':case a==='isArray':break;default:me[a]=attributes[a];}}
else{me[a]=attributes[a];}}}};this.value=function(){return me.element.value;};this.toJSONString=function(){return'{"'+me.name+'":'+me.element.value.toJSONString()+'}';};this.highLight=function(){try{G.highLight(me.element);if(G.autoFirstField){me.element.focus();G.autoFirstField=false;setTimeout("G.autoFirstField=true;",1000);}}catch(e){}};}
function G_DropDown(form,element,name)
{var me=this;this.parent=G_Field;this.parent(form,element,name);this.setContent=function(content){var dd=me.element;var browser=getBrowserClient();if((browser.name=='msie')||((browser.name=='firefox')&&(browser.version<12))){while(dd.options.length>1)dd.remove(0);}else{for(var key in dd.options){dd.options[key]=null;}}
for(var o=0;o<content.options.length;o++){var optn=$dce("OPTION");optn.text=content.options[o].value;optn.value=content.options[o].key;dd.options[o]=optn;}};if(!element)return;leimnud.event.add(this.element,'change',this.updateDepententFields);}
dd.options.length=0;for(var o=0;o<content.options.length;o++){var optn=$dce("OPTION");optn.text=content.options[o].value;optn.value=content.options[o].key;dd.options[o]=optn;}
if(dd.options.length==0){dd.options[0]=new Option("","");}};if(!element)return;leimnud.event.add(this.element,'change',this.updateDepententFields);}
G_DropDown.prototype=new G_Field();function G_Text(form,element,name)
{var me=this;this.mType="text";this.parent=G_Field;this.browser={};this.comma_separator=".";this.checkBrowser=function(){var nVer=navigator.appVersion;var nAgt=navigator.userAgent;var browserName=navigator.appName;var fullVersion=''+parseFloat(navigator.appVersion);var majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if((verOffset=nAgt.indexOf("Opera"))!=-1){browserName="Opera";fullVersion=nAgt.substring(verOffset+6);if((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion=nAgt.substring(verOffset+8);}
@@ -1257,6 +1258,9 @@ return newStr;}
function getNumericValue(val,decimalSeparator)
{var arrayNum=val.split("");var num="";for(var i=0;i<=arrayNum.length-1;i++){switch(arrayNum[i]){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":num=num+arrayNum[i];break;case decimalSeparator:num=num+".";break;}}
return num;}
var gridGetAllFieldAndValue=function(fieldId,swCurrentField)
{var frm=G.getObject(getField(fieldId).form);var arrayAux=fieldId.split("][");var gridName=arrayAux[0];var row=parseInt(arrayAux[1]);var fieldName=arrayAux[2];var grid;var gridField="";var fieldNameAux="";var fieldValueAux="";var i1=0;var i2=0;for(i1=0;i1<=frm.aElements.length-1;i1++){if(frm.aElements[i1].name==gridName){grid=frm.aElements[i1];for(i2=0;i2<=grid.aFields.length-1;i2++){fieldNameAux=grid.aFields[i2].sFieldName;fieldValueAux=grid.getElementByName(row,fieldNameAux).value();if((swCurrentField==1||fieldNameAux!=fieldName)&&typeof fieldValueAux!="undefined"){gridField=gridField+((gridField!="")?",":"")+"\""+fieldNameAux+"\":\""+fieldValueAux+"\"";}}}}
return gridField;};
function G_PagedTable()
{this.id='';this.name='';this.event='';this.element=null;this.field='';this.ajaxUri='';this.currentOrder='';this.currentFilter='';this.currentPage=1;this.totalRows=0;this.rowsPerPage=25;this.onInsertField='';this.onDeleteField='';this.afterDeleteField='';this.onUpdateField='';this.form;var me=this;function loadTable(func,uri){var div=document.getElementById('table['+me.id+']');var newContent=ajax_function(me.ajaxUri,func,uri);if(div.outerHTML){div.outerHTML=div.outerHTML.split(div.innerHTML).join(newContent);}else{div.innerHTML=newContent;}
var myScripts=div.getElementsByTagName('SCRIPT');for(var rr=0;rr<myScripts.length;rr++){try{if(myScripts[rr].innerHTML!=='')
@@ -1341,7 +1345,7 @@ for(n=0;n<aObjects.length;n++){switch(aObjects[n].type){case'text':aObjects[n].c
var a2=document.createElement('a');if(a2.style.setAttribute){var styleText="position:relative;top:0px;left:-19px;";a2.style.setAttribute("cssText",styleText);}
else{var styleText="position:relative;top:0px;left:-22px;";a2.setAttribute("style",styleText);}
a2.id=datePickerTriggerId;a2.innerHTML=img2;oNewRow.getElementsByTagName('td')[i].appendChild(a2);datePicker4("",newID,attributes.mask,attributes.start,attributes.end,attributes.time);aObjects[n].value=defaultValue;}else{if(_BROWSER.name=='msie'&&aObjects.length==1){var oNewOBJ=this.cloneElement(aObjects[n]);oNewOBJ.value=defaultValue;var parentGG=aObjects[n].parentNode;parentGG.removeChild(aObjects[n]);parentGG.appendChild(oNewOBJ);}else{if((attributes.gridtype)&&attributes.gridtype=="currency"){var attributesCurrency=elementAttributesNS(aObjects[n],"");aObjects[n].value=attributesCurrency.value.replace(/[.,0-9\s]/g,"");}else{aObjects[n].value=defaultValue;}}}
var aObjectsScript=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');var sObjectType=this.aFields[i-1].sType;if(aObjectsScript[0]!='undefined'&&sObjectType=='suggest'){if(this.determineBrowser()=="MSIE"){var firstNode=aCells[i];var firstScriptSuggest=firstNode.childNodes[2].innerHTML;var sScriptAdjustRow=firstScriptSuggest.replace(/\[1\]/g,'\['+currentRow+'\]');var elementTD=oNewRow.getElementsByTagName('td')[i];var elementLabel=elementTD.childNodes[0];var sNewLabelRow=elementLabel.getAttribute("id").replace(/\[1\]/g,'\['+currentRow+'\]');var elementHidden=elementTD.childNodes[1];var elementScript=elementTD.childNodes[2];var parentScript=elementScript.parentNode;var scriptElement=document.createElement("script");scriptElement.text=sScriptAdjustRow;parentScript.removeChild(elementScript);parentScript.appendChild(scriptElement);}else{var sObjScript=aObjectsScript[0].innerHTML;var sNewObjScript=sObjScript.replace(/\[1\]/g,'\['+currentRow+'\]');aObjectsScript[0].innerHTML=sNewObjScript;eval(aObjectsScript[0].innerHTML);}}
var aObjectsScript=oNewRow.getElementsByTagName('td')[i].getElementsByTagName('script');var sObjectType=this.aFields[i-1].sType;if(aObjectsScript[0]!='undefined'&&sObjectType=='suggest'){if(this.determineBrowser()=="MSIE"){var firstNode=aCells[i];var firstScriptSuggest=firstNode.childNodes[2].innerHTML;var sScriptAdjustRow=firstScriptSuggest.replace(/\[1\]/g,'\['+currentRow+'\]');var elementTD=oNewRow.getElementsByTagName('td')[i];var elementLabel=elementTD.childNodes[0];var sNewLabelRow=elementLabel.getAttribute("id").replace(/\[1\]/g,'\['+currentRow+'\]');var elementHidden=elementTD.childNodes[1];var elementScript=elementTD.childNodes[2];var parentScript=elementScript.parentNode;var scriptElement=document.createElement("script");scriptElement.text=sScriptAdjustRow;parentScript.removeChild(elementScript);parentScript.appendChild(scriptElement);}else{var sObjScript=aObjectsScript[0].innerHTML;var sNewObjScript=sObjScript.replace(/\[1\]/g,"\["+currentRow+"\]");aObjectsScript[0].innerHTML=sNewObjScript;eval(aObjectsScript[0].innerHTML);}}
break;case'checkbox':var attributeCheckBox=elementAttributesNS(aObjects[n],"");if(defaultValue==""||(typeof attributeCheckBox.falseValue!="undefined"&&defaultValue==attributeCheckBox.falseValue)||(typeof attributeCheckBox.falsevalue!="undefined"&&defaultValue==attributeCheckBox.falsevalue)){aObjects[n].checked=false;}else{aObjects[n].checked=true;}
break;case'hidden':if((attributes.gridtype!='yesno'&&attributes.gridtype!='dropdown')||typeof attributes.gridtype=='undefined'){aObjects[n].value=defaultValue;newID=aObjects[n].id.replace(/\[1\]/g,'\['+currentRow+'\]');aObjects[n].id=newID;aObjects[n].name=newID;}
break;case'button':if(aObjects[n].onclick){var onclickevn=new String(aObjects[n].onclick);eval('aObjects[n].onclick = '+onclickevn.replace(/\[1\]/g,'\['+currentRow+'\]')+';');}
@@ -1354,8 +1358,9 @@ else{oNewSelect.setAttribute(aAttributes[a].name,aAttributes[a].value);}}}
attributes=elementAttributesNS(aObjects[0],'pm');if(attributes.defaultvalue!=''&&typeof attributes.defaultvalue!='undefined'){defaultValue=attributes.defaultvalue;}else{defaultValue='';}
if(attributes.gridtype!=''&&typeof attributes.gridtype!='undefined'){gridType=attributes.gridtype;}else{gridType='';}
var aDependents=this.allDependentFields.split(',');sObject=this.getObjectName(newID);var sw=false;for(x=0;x<aDependents.length;x++){if(aDependents[x]==sObject)sw=true;}
if(sw){var oAux=document.createElement(aObjects[0].tagName);for(var j=0;j<aObjects[0].options.length;j++){if(aObjects[0].options[j].value==''){var oOption=document.createElement('OPTION');oOption.value=aObjects[0].options[j].value;oOption.text=aObjects[0].options[j].text;oAux.options.add(oOption);}}
oNewSelect.innerHTML='';for(var r=0;r<oAux.options.length;r++){var xOption=document.createElement('OPTION');xOption.value=oAux.options[r].value;xOption.text=oAux.options[r].text;oNewSelect.options.add(xOption);}}else{if(defaultValue!=''){var oAux=document.createElement(aObjects[0].tagName);for(var j=0;j<aObjects[0].options.length;j++){var oOption=document.createElement('OPTION');oOption.value=aObjects[0].options[j].value;oOption.text=aObjects[0].options[j].text;if(aObjects[0].options[j].value===defaultValue){oOption.setAttribute('selected','selected');}
if(sw){oNewSelect.options.length=0;var oAux=document.createElement(aObjects[0].tagName);for(var j=0;j<aObjects[0].options.length;j++){if(aObjects[0].options[j].value==''){var oOption=document.createElement('OPTION');oOption.value=aObjects[0].options[j].value;oOption.text=aObjects[0].options[j].text;oAux.options.add(oOption);}}
for(var r=0;r<oAux.options.length;r++){var xOption=document.createElement('OPTION');xOption.value=oAux.options[r].value;xOption.text=oAux.options[r].text;oNewSelect.options.add(xOption);}
if(oNewSelect.options.length==0){oNewSelect.options[0]=new Option("","");}}else{if(defaultValue!=''){var oAux=document.createElement(aObjects[0].tagName);for(var j=0;j<aObjects[0].options.length;j++){var oOption=document.createElement('OPTION');oOption.value=aObjects[0].options[j].value;oOption.text=aObjects[0].options[j].text;if(aObjects[0].options[j].value===defaultValue){oOption.setAttribute('selected','selected');}
oAux.options.add(oOption);}
oNewSelect.innerHTML='';for(var r=0;r<oAux.options.length;r++){var xOption=document.createElement('OPTION');xOption.value=oAux.options[r].value;xOption.text=oAux.options[r].text;if(_BROWSER.name=='msie'){if(oAux.options[r].getAttribute('selected')!=''){xOption.setAttribute('selected','selected');}}else{if(oAux.options[r].getAttribute('selected')=='selected'){xOption.setAttribute('selected','selected');}}
oNewSelect.options.add(xOption);}}else{var oAux=document.createElement(aObjects[0].tagName);for(var j=0;j<aObjects[0].options.length;j++){var oOption=document.createElement('OPTION');oOption.value=aObjects[0].options[j].value;oOption.text=aObjects[0].options[j].text;oNewSelect.options.add(oOption);}}}