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:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = '';
|
||||
|
||||
@@ -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);}}}
|
||||
|
||||
Reference in New Issue
Block a user