includes/clientside/tinymce/plugins/table/editor_plugin_src.js
changeset 778 57ce13805b6f
parent 588 20484deb89cd
child 1193 e3b94bd055dc
equal deleted inserted replaced
777:488665d49417 778:57ce13805b6f
     1 /**
     1 /**
     2  * $Id: editor_plugin_src.js 853 2008-05-27 08:05:35Z spocke $
     2  * $Id: editor_plugin_src.js 953 2008-11-04 10:16:50Z spocke $
     3  *
     3  *
     4  * @author Moxiecode
     4  * @author Moxiecode
     5  * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
     5  * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
     6  */
     6  */
     7 
     7 
    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) {