30 ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], |
30 ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], |
31 ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] |
31 ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] |
32 ], function(c) { |
32 ], function(c) { |
33 ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); |
33 ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); |
34 }); |
34 }); |
|
35 |
|
36 if (ed.getParam('inline_styles')) { |
|
37 // Force move of attribs to styles in strict mode |
|
38 ed.onPreProcess.add(function(ed, o) { |
|
39 var dom = ed.dom; |
|
40 |
|
41 each(dom.select('table', o.node), function(n) { |
|
42 var v; |
|
43 |
|
44 if (v = dom.getAttrib(n, 'width')) { |
|
45 dom.setStyle(n, 'width', v); |
|
46 dom.setAttrib(n, 'width'); |
|
47 } |
|
48 |
|
49 if (v = dom.getAttrib(n, 'height')) { |
|
50 dom.setStyle(n, 'height', v); |
|
51 dom.setAttrib(n, 'height'); |
|
52 } |
|
53 }); |
|
54 }); |
|
55 } |
35 |
56 |
36 ed.onInit.add(function() { |
57 ed.onInit.add(function() { |
37 if (ed && ed.plugins.contextmenu) { |
58 if (ed && ed.plugins.contextmenu) { |
38 ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { |
59 ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { |
39 var sm, se = ed.selection, el = se.getNode() || ed.getBody(); |
60 var sm, se = ed.selection, el = se.getNode() || ed.getBody(); |
726 |
747 |
727 case "mceTableInsertColBefore": |
748 case "mceTableInsertColBefore": |
728 if (!trElm || !tdElm) |
749 if (!trElm || !tdElm) |
729 return true; |
750 return true; |
730 |
751 |
731 var grid = getTableGrid(tableElm); |
752 var grid = getTableGrid(inst.dom.getParent(tableElm, "table")); |
732 var cpos = getCellPos(grid, tdElm); |
753 var cpos = getCellPos(grid, tdElm); |
733 var lastTDElm = null; |
754 var lastTDElm = null; |
734 |
755 |
735 for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { |
756 for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { |
736 if (tdElm != lastTDElm) { |
757 if (tdElm != lastTDElm) { |
757 |
778 |
758 case "mceTableInsertColAfter": |
779 case "mceTableInsertColAfter": |
759 if (!trElm || !tdElm) |
780 if (!trElm || !tdElm) |
760 return true; |
781 return true; |
761 |
782 |
762 var grid = getTableGrid(tableElm); |
783 var grid = getTableGrid(inst.dom.getParent(tableElm, "table")); |
763 var cpos = getCellPos(grid, tdElm); |
784 var cpos = getCellPos(grid, tdElm); |
764 var lastTDElm = null; |
785 var lastTDElm = null; |
765 |
786 |
766 for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { |
787 for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { |
767 if (tdElm != lastTDElm) { |
788 if (tdElm != lastTDElm) { |