Merge pull request #686 from ralpheav/master

BUG  9152 - addGridRow intermittent in Preview panel
This commit is contained in:
julceslauhub
2012-10-08 14:36:18 -07:00

View File

@@ -342,6 +342,7 @@ var G_Grid = function(oForm, sGridName){
}; };
this.addGridRow = function() { this.addGridRow = function() {
this.oGrid = document.getElementById(this.sGridName);
var i, aObjects; var i, aObjects;
var defaultValue = ''; var defaultValue = '';
var n,a,x; var n,a,x;
@@ -464,9 +465,9 @@ var G_Grid = function(oForm, sGridName){
eval('aObjects[n].onclick = ' + onclickevn.replace(/\[1\]/g, '\[' + currentRow + '\]') + ';'); eval('aObjects[n].onclick = ' + onclickevn.replace(/\[1\]/g, '\[' + currentRow + '\]') + ';');
} }
break; break;
case "file": case "file":
aObjects[n].value = ""; aObjects[n].value = "";
break; break;
} }
} }
} }
@@ -732,36 +733,31 @@ var G_Grid = function(oForm, sGridName){
for (i = 1; i < oObj.oGrid.rows[iRowAux - 1].cells.length; i++) { for (i = 1; i < oObj.oGrid.rows[iRowAux - 1].cells.length; i++) {
var oCell1 = oObj.oGrid.rows[iRowAux - 1].cells[i]; var oCell1 = oObj.oGrid.rows[iRowAux - 1].cells[i];
var oCell2 = oObj.oGrid.rows[iRowAux].cells[i]; var oCell2 = oObj.oGrid.rows[iRowAux].cells[i];
switch (oCell1.innerHTML.replace(/^\s+|\s+$/g, '').substr(0, 6).toLowerCase()){ switch (oCell1.innerHTML.replace(/^\s+|\s+$/g, '').substr(0, 6).toLowerCase()){
case '<input': case '<input':
aObjects1 = oCell1.getElementsByTagName('input'); aObjects1 = oCell1.getElementsByTagName('input');
aObjects2 = oCell2.getElementsByTagName('input'); aObjects2 = oCell2.getElementsByTagName('input');
if (aObjects1 && aObjects2) { if (aObjects1 && aObjects2) {
switch (aObjects2[0].type) { switch (aObjects2[0].type) {
case "file": case "file":
elem2ParentNode = aObjects2[0].parentNode; elem2ParentNode = aObjects2[0].parentNode;
elem2Id = aObjects2[0].id; elem2Id = aObjects2[0].id;
elem2Name = aObjects2[0].name; elem2Name = aObjects2[0].name;
aObjects2[0].id = aObjects1[0].id; aObjects2[0].id = aObjects1[0].id;
aObjects2[0].name = aObjects1[0].name; aObjects2[0].name = aObjects1[0].name;
aObjects1[0].parentNode.replaceChild(aObjects2[0], aObjects1[0]); aObjects1[0].parentNode.replaceChild(aObjects2[0], aObjects1[0]);
elemAux = document.createElement("input"); elemAux = document.createElement("input");
elemAux.type = "file"; elemAux.type = "file";
elemAux.setAttribute("id", elem2Id); elemAux.setAttribute("id", elem2Id);
elemAux.setAttribute("name", elem2Name); elemAux.setAttribute("name", elem2Name);
elem2ParentNode.insertBefore(elemAux, elem2ParentNode.firstChild); elem2ParentNode.insertBefore(elemAux, elem2ParentNode.firstChild);
break; break;
default: default:
if (aObjects2[0].type == "checkbox") { if (aObjects2[0].type == "checkbox") {
aObjects1[0].checked = aObjects2[0].checked; aObjects1[0].checked = aObjects2[0].checked;
} }
aObjects1[0].value = aObjects2[0].value; aObjects1[0].value = aObjects2[0].value;
aObjects1[0].className = aObjects2[0].className; aObjects1[0].className = aObjects2[0].className;
break; break;
@@ -822,14 +818,14 @@ var G_Grid = function(oForm, sGridName){
} }
break; break;
default: default:
if ((oCell2.innerHTML.indexOf("changeValues") == 111 || oCell2.innerHTML.indexOf("changeValues") == 115)) { if (( oCell2.innerHTML.indexOf('changeValues') == 111 || oCell2.innerHTML.indexOf('changeValues') == 115 ) ) {
break;
}
if (oCell2.innerHTML.toLowerCase().indexOf("deletegridrow") == -1) {
oCell1.innerHTML = oCell2.innerHTML;
}
break; break;
}
if (oCell2.innerHTML.toLowerCase().indexOf('deletegridrow') == -1) {
oCell1.innerHTML = oCell2.innerHTML;
}
break;
} }
} }
iRowAux++; iRowAux++;