- return true;\r
-\r
- case "mceTableSplitCells":\r
- case "mceTableMergeCells":\r
- case "mceTableInsertRowBefore":\r
- case "mceTableInsertRowAfter":\r
- case "mceTableDeleteRow":\r
- case "mceTableInsertColBefore":\r
- case "mceTableInsertColAfter":\r
- case "mceTableDeleteCol":\r
- case "mceTableCutRow":\r
- case "mceTableCopyRow":\r
- case "mceTablePasteRowBefore":\r
- case "mceTablePasteRowAfter":\r
- // No table just return (invalid command)\r
- if (!tableElm)\r
- return true;\r
-\r
- // Table has a tbody use that reference\r
- // Changed logic by ApTest 2005.07.12 (www.aptest.com)\r
- // Now lookk at the focused element and take its parentNode. That will be a tbody or a table.\r
- if (trElm && tableElm != trElm.parentNode)\r
- tableElm = trElm.parentNode;\r
-\r
- if (tableElm && trElm) {\r
- switch (command) {\r
- case "mceTableCutRow":\r
- if (!trElm || !tdElm)\r
- return true;\r
-\r
- inst.tableRowClipboard = copyRow(doc, tableElm, trElm);\r
- inst.execCommand("mceTableDeleteRow");\r
- break;\r
-\r
- case "mceTableCopyRow":\r
- if (!trElm || !tdElm)\r
- return true;\r
-\r
- inst.tableRowClipboard = copyRow(doc, tableElm, trElm);\r
- break;\r
-\r
- case "mceTablePasteRowBefore":\r
- if (!trElm || !tdElm)\r
- return true;\r
-\r
- var newTR = inst.tableRowClipboard.cloneNode(true);\r
-\r
- var prevTR = prevElm(trElm, "TR");\r
- if (prevTR != null)\r
- trimRow(tableElm, prevTR, prevTR.cells[0], newTR);\r
-\r
- trElm.parentNode.insertBefore(newTR, trElm);\r
- break;\r
-\r
- case "mceTablePasteRowAfter":\r
- if (!trElm || !tdElm)\r
- return true;\r
- \r
- var nextTR = nextElm(trElm, "TR");\r
- var newTR = inst.tableRowClipboard.cloneNode(true);\r
-\r
- trimRow(tableElm, trElm, tdElm, newTR);\r
-\r
- if (nextTR == null)\r
- trElm.parentNode.appendChild(newTR);\r
- else\r
- nextTR.parentNode.insertBefore(newTR, nextTR);\r
-\r
- break;\r
-\r
- case "mceTableInsertRowBefore":\r
- if (!trElm || !tdElm)\r
- return true;\r
-\r
- var grid = getTableGrid(tableElm);\r
- var cpos = getCellPos(grid, tdElm);\r
- var newTR = doc.createElement("tr");\r
- var lastTDElm = null;\r
-\r
- cpos.rowindex--;\r
- if (cpos.rowindex < 0)\r
- cpos.rowindex = 0;\r
-\r
- // Create cells\r
- for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {\r
- if (tdElm != lastTDElm) {\r
- var sd = getColRowSpan(tdElm);\r
-\r
- if (sd['rowspan'] == 1) {\r
- var newTD = doc.createElement("td");\r
-\r
- if (!tinymce.isIE)\r
- newTD.innerHTML = '<br mce_bogus="1"/>';\r
-\r
- newTD.colSpan = tdElm.colSpan;\r
-\r
- newTR.appendChild(newTD);\r
- } else\r
- tdElm.rowSpan = sd['rowspan'] + 1;\r
-\r
- lastTDElm = tdElm;\r
- }\r
- }\r