Author: chregu
Date: Thu Dec 15 22:05:53 2005
New Revision: 1421
Modified:
branches/bxe_2_0/js/table.js
branches/bxe_2_0/mozile/eDOMXHTML.js
Log:
more new table code
Modified: branches/bxe_2_0/js/table.js
==============================================================================
--- branches/bxe_2_0/js/table.js (original)
+++ branches/bxe_2_0/js/table.js Thu Dec 15 22:05:53 2005
@@ -325,8 +325,8 @@
function bxe_table_newtable(id)
{
- alert("bxe_table_newtable");
-
+ alert("bxe_table_newtable. this part is commented out. please report if still needed");
+ /*
if (BX_popup.style.visibility != 'visible')
{
return;
@@ -337,9 +337,8 @@
BX_popup_hide();
var table = BX_xml.doc.createElementNS("http://www.w3.org/1999/xhtml","informaltable");
//<cope>
- /*table.setAttribute("cols", TCols);
- table.setAttribute("rows", TRows);
- */
+
+
table.setAttribute("borderlines", "yes");
table.setAttribute("colheaders", "yes");
@@ -357,7 +356,7 @@
BX_node_insertID(trElement);
for (var j = 0; j < TCols; j++)
{
- var tdElement = bxe_createNewTableCell();
+ var tdElement = trElement.createNewTableCell();
trElement.appendChild(tdElement)
}
var tr = tbody.appendChild(trElement);
@@ -377,7 +376,7 @@
BX_transform();
BX_update_buttons = true;
BX_addEvents();
-
+ */
}
@@ -484,7 +483,8 @@
//do we have reached the position to add the new cell?
if(y == rowPos) {
newMatrix[ny+1][nx][0] = 1;
- newMatrix[ny+1][nx][1] = bxe_createNewTableCell();
+ //TEST
+ newMatrix[ny+1][nx][1] = cell.parentNode.createNewTableCell();
if(rowspan) {
newMatrix[ny+1][nx][0] = 3;
newMatrix[ny+1][nx][1] = false;
@@ -553,7 +553,8 @@
for(var rs_y = 0; rs_y < rs; rs_y++) {
for(var cs_x = 0; cs_x < cs; cs_x++) {
matrix[ny+rs_y][nx+cs_x][0] = 1;
- matrix[ny+rs_y][nx+cs_x][1] = bxe_createNewTableCell();
+ //TEST
+ matrix[ny+rs_y][nx+cs_x][1] = cell.parentNode.createNewTableCell();
}
}
}
@@ -627,7 +628,8 @@
if(x == colPos) {
nx++;
newMatrix[ny][nx][0] = 1;
- newMatrix[ny][nx][1] = bxe_createNewTableCell();
+ //TEST
+ newMatrix[ny][nx][1] = cell.parentNode.createNewTableCell();
if(colspan) {
newMatrix[ny][nx][0] = 3;
newMatrix[ny][nx][1] = false;
@@ -693,7 +695,7 @@
for(var rs_y = 0; rs_y < rs; rs_y++) {
for(var cs_x = 0; cs_x < cs; cs_x++) {
matrix[ny+rs_y][nx+cs_x][0] = 1;
- matrix[ny+rs_y][nx+cs_x][1] = bxe_createNewTableCell();
+ matrix[ny+rs_y][nx+cs_x][1] = cell.parentNode.createNewTableCell();
}
}
}
@@ -929,6 +931,18 @@
return table;
}
+function bxe_table_getTableRowInfo(tbody) {
+ // get tr field info
+ var ac = tbody.XMLNode.allowedChildren;
+
+ for (var i = 0; i < ac.length; i++) {
+ if (ac[i].vdom.bxeTabletype == "table-row") {
+ return ac[i];
+ }
+ }
+ return null;
+}
+
function bxe_rebuildTableByTableMatrix(td, matrix) {
var tbody = td.parentNode.parentNode;
var table =tbody;
@@ -939,9 +953,12 @@
while(tbody.childNodes.length) {
tbody.removeChild(tbody.childNodes[0]);
}
+
+ var rowInfo = bxe_table_getTableRowInfo(tbody);
+
//rebuild all rows
for(var r = 1; r <= matrix[0][0][0]; r++) {
- var rowNode = bxe_config.doc.createElement("tr");
+ var rowNode = bxe_config.doc.createElementNS(rowInfo.namespaceURI, rowInfo.localName);
//BX_node_insertID(rowNode);
tbody.appendChild(rowNode);
for(var c = 1; c <= matrix[0][0][1]; c++) {
@@ -991,7 +1008,7 @@
var tbody = td.parentNode.parentNode;
- if(tbody.nodeName.toLowerCase() != "table") { alert(bxe_i18n.getText("got no table body!")); }
+ if(tbody.XMLNode.vdom.bxeTabletype != "table") { alert(bxe_i18n.getText("got no table body!")); }
return bxe_createTableMatrixFromTable(tbody);
}
@@ -1069,8 +1086,16 @@
}
-function bxe_createNewTableCell() {
- var newCell = bxe_config.doc.createElement("td");
+Element.prototype.createNewTableCell = function() {
+
+ var ac = this.XMLNode.allowedChildren;
+ for (var i = 0; i < ac.length; i++) {
+ if (ac[i].vdom.bxeTabletype == "table-cell") {
+ var newCell = bxe_config.doc.createElementNS(ac[i].namespaceURI,ac[i].localName);
+ break;
+ }
+ }
+
newCell.setAttribute("align", "left");
newCell.setAttribute("valign", "top");
newCell.setAttribute("colspan", "1");
Modified: branches/bxe_2_0/mozile/eDOMXHTML.js
==============================================================================
--- branches/bxe_2_0/mozile/eDOMXHTML.js (original)
+++ branches/bxe_2_0/mozile/eDOMXHTML.js Thu Dec 15 22:05:53 2005
@@ -821,16 +821,21 @@
return null; // go to exception
var te = documentCreateXHTMLElement("table");
+ te.XMLNode = te.getXMLNode();
te.appendChild(document.createTextNode("\n"));
+ var rowInfo = bxe_table_getTableRowInfo(te);
+
for(var i=0; i<noRows; i++)
{
- var tre = documentCreateXHTMLElement("tr");
+
+ //var tre = documentCreateXHTMLElement("tr");
+ var tre = bxe_config.doc.createElementNS(rowInfo.namespaceURI, rowInfo.localName);
te.appendChild(tre);
tre.appendChild(document.createTextNode("\n"));
for(var j=0; j<noColumns;j++)
{
tre.appendChild(document.createTextNode(" "));
- var tde = bxe_createNewTableCell();
+ var tde = tre.createNewTableCell();
//FIXME hardcoded stuff, should be taken from relaxng
/*tde.setAttribute("valign","top");
tde.setAttribute("align","left");
--
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.