From 77c28206a14b5bee3f3091f10cffd531bce5649c Mon Sep 17 00:00:00 2001
From: yllar <yllar.pajus@gmail.com>
Date: Sat, 16 Dec 2006 13:25:16 -0500
Subject: [PATCH] updated ja and fr translations

---
 program/js/tiny_mce/plugins/table/editor_plugin_src.js |  139 ++++++++++++++++++++++++++--------------------
 1 files changed, 79 insertions(+), 60 deletions(-)

diff --git a/program/js/tiny_mce/plugins/table/editor_plugin_src.js b/program/js/tiny_mce/plugins/table/editor_plugin_src.js
index 4b512b4..21d23cf 100644
--- a/program/js/tiny_mce/plugins/table/editor_plugin_src.js
+++ b/program/js/tiny_mce/plugins/table/editor_plugin_src.js
@@ -1,20 +1,18 @@
 /**
- * $RCSfile: editor_plugin_src.js,v $
- * $Revision: 1.38 $
- * $Date: 2006/02/11 18:53:51 $
+ * $Id: editor_plugin_src.js 126 2006-10-22 16:19:55Z spocke $
  *
  * @author Moxiecode
  * @copyright Copyright � 2004-2006, Moxiecode Systems AB, All rights reserved.
  */
 
 /* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('table', 'en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk');
+tinyMCE.importPluginLanguagePack('table');
 
 var TinyMCE_TablePlugin = {
 	getInfo : function() {
 		return {
 			longname : 'Tables',
-			author : 'Moxiecode Systems',
+			author : 'Moxiecode Systems AB',
 			authorurl : 'http://tinymce.moxiecode.com',
 			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',
 			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
@@ -36,6 +34,7 @@
 	getControlHTML : function(control_name) {
 		var controls = new Array(
 			['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
+			['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'],
 			['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
 			['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
 			['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
@@ -118,12 +117,13 @@
 	},
 
 	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
-		var colspan = "1", rowspan = "1";
+		var colspan = "1", rowspan = "1", tdElm;
 
 		var inst = tinyMCE.getInstanceById(editor_id);
 
 		// Reset table controls
 		tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled');
 		tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
 		tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
 		tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
@@ -138,6 +138,7 @@
 		// Within a td element
 		if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
 			tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal');
 			tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
 			tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
 			tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
@@ -228,8 +229,10 @@
 		}
 
 		function getCellPos(grid, td) {
-			for (var y=0; y<grid.length; y++) {
-				for (var x=0; x<grid[y].length; x++) {
+			var x, y;
+
+			for (y=0; y<grid.length; y++) {
+				for (x=0; x<grid[y].length; x++) {
 					if (grid[y][x] == td)
 						return {cellindex : x, rowindex : y};
 				}
@@ -246,25 +249,23 @@
 		}
 
 		function getTableGrid(table) {
-			var grid = new Array();
-			var rows = table.rows;
+			var grid = new Array(), rows = table.rows, x, y, td, sd, xstart, x2, y2;
 
-			for (var y=0; y<rows.length; y++) {
-				for (var x=0; x<rows[y].cells.length; x++) {
-					var td = rows[y].cells[x];
-					var sd = getColRowSpan(td);
+			for (y=0; y<rows.length; y++) {
+				for (x=0; x<rows[y].cells.length; x++) {
+					td = rows[y].cells[x];
+					sd = getColRowSpan(td);
 
 					// All ready filled
 					for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
 
 					// Fill box
-					for (var y2=y; y2<y+sd['rowspan']; y2++) {
+					for (y2=y; y2<y+sd['rowspan']; y2++) {
 						if (!grid[y2])
 							grid[y2] = new Array();
 
-						for (var x2=xstart; x2<xstart+sd['colspan']; x2++) {
+						for (x2=xstart; x2<xstart+sd['colspan']; x2++)
 							grid[y2][x2] = td;
-						}
 					}
 				}
 			}
@@ -273,13 +274,13 @@
 		}
 
 		function trimRow(table, tr, td, new_tr) {
-			var grid = getTableGrid(table);
-			var cpos = getCellPos(grid, td);
+			var grid = getTableGrid(table), cpos = getCellPos(grid, td);
+			var cells, lastElm;
 
 			// Time to crop away some
 			if (new_tr.cells.length != tr.childNodes.length) {
-				var cells = tr.childNodes;
-				var lastElm = null;
+				cells = tr.childNodes;
+				lastElm = null;
 
 				for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
 					var remove = true;
@@ -500,46 +501,11 @@
 				// Table has a tbody use that reference
 				// Changed logic by ApTest 2005.07.12 (www.aptest.com)
 				// Now lookk at the focused element and take its parentNode.  That will be a tbody or a table.
-				if (tableElm != trElm.parentNode)
+				if (trElm && tableElm != trElm.parentNode)
 					tableElm = trElm.parentNode;
 
 				if (tableElm && trElm) {
 					switch (command) {
-						case "mceTableInsertRowBefore":
-							if (!trElm || !tdElm)
-								return true;
-
-							var grid = getTableGrid(tableElm);
-							var cpos = getCellPos(grid, tdElm);
-							var newTR = doc.createElement("tr");
-							var lastTDElm = null;
-
-							cpos.rowindex--;
-							if (cpos.rowindex < 0)
-								cpos.rowindex = 0;
-
-							// Create cells
-							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
-								if (tdElm != lastTDElm) {
-									var sd = getColRowSpan(tdElm);
-
-									if (sd['rowspan'] == 1) {
-										var newTD = doc.createElement("td");
-
-										newTD.innerHTML = "&nbsp;";
-										newTD.colSpan = tdElm.colSpan;
-
-										newTR.appendChild(newTD);
-									} else
-										tdElm.rowSpan = sd['rowspan'] + 1;
-
-									lastTDElm = tdElm;
-								}
-							}
-
-							trElm.parentNode.insertBefore(newTR, trElm);
-						break;
-
 						case "mceTableCutRow":
 							if (!trElm || !tdElm)
 								return true;
@@ -584,6 +550,44 @@
 
 							break;
 
+						case "mceTableInsertRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex + 1, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
 						case "mceTableInsertRowAfter":
 							if (!trElm || !tdElm)
 								return true;
@@ -619,17 +623,21 @@
 								else
 									tableElm.appendChild(newTR);
 							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
 						break;
 
 						case "mceTableDeleteRow":
 							if (!trElm || !tdElm)
 								return true;
-		
+
 							var grid = getTableGrid(tableElm);
 							var cpos = getCellPos(grid, tdElm);
 
 							// Only one row, remove whole table
 							if (grid.length == 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
 								tableElm.parentNode.removeChild(tableElm);
 								return true;
 							}
@@ -678,7 +686,9 @@
 							if (cpos.rowindex < 0)
 								cpos.rowindex = 0;
 
-							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), true, true);
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
 						break;
 
 						case "mceTableInsertColBefore":
@@ -706,6 +716,9 @@
 									lastTDElm = tdElm;
 								}
 							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko
 						break;
 
 						case "mceTableInsertColAfter":
@@ -737,6 +750,9 @@
 									lastTDElm = tdElm;
 								}
 							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
 						break;
 
 						case "mceTableDeleteCol":
@@ -749,6 +765,7 @@
 
 							// Only one col, remove whole table
 							if (grid.length > 1 && grid[0].length <= 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
 								tableElm.parentNode.removeChild(tableElm);
 								return true;
 							}
@@ -773,7 +790,9 @@
 							if (cpos.cellindex < 0)
 								cpos.cellindex = 0;
 
-							inst.selection.selectNode(getCell(grid, 0, cpos.cellindex), true, true);
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
 						break;
 
 					case "mceTableSplitCells":

--
Gitblit v1.9.1