From 94dfd8ab9d61a969453fdd3b9be14b58e1576816 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sun, 27 Mar 2011 11:14:12 -0400
Subject: [PATCH] - TinyMCE 3.4.1

---
 program/js/tiny_mce/plugins/table/js/table.js |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/program/js/tiny_mce/plugins/table/js/table.js b/program/js/tiny_mce/plugins/table/js/table.js
index d1b42c2..520d857 100644
--- a/program/js/tiny_mce/plugins/table/js/table.js
+++ b/program/js/tiny_mce/plugins/table/js/table.js
@@ -12,7 +12,7 @@
 	tinyMCEPopup.restoreSelection();
 
 	if (!AutoValidator.validate(formObj)) {
-		tinyMCEPopup.alert(inst.getLang('invalid_data'));
+		tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.');
 		return false;
 	}
 
@@ -21,7 +21,7 @@
 	// Get form data
 	cols = formObj.elements['cols'].value;
 	rows = formObj.elements['rows'].value;
-	border = formObj.elements['border'].value != "" ? formObj.elements['border'].value  : 0;
+	border = formObj.elements['border'].value != "" ? formObj.elements['border'].value : 0;
 	cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
 	cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
 	align = getSelectValue(formObj, "align");
@@ -58,8 +58,6 @@
 
 	// Update table
 	if (action == "update") {
-		inst.execCommand('mceBeginUndoLevel');
-
 		dom.setAttrib(elm, 'cellPadding', cellpadding, true);
 		dom.setAttrib(elm, 'cellSpacing', cellspacing, true);
 		dom.setAttrib(elm, 'border', border);
@@ -82,7 +80,7 @@
 			capEl = elm.ownerDocument.createElement('caption');
 
 			if (!tinymce.isIE)
-				capEl.innerHTML = '<br _mce_bogus="1"/>';
+				capEl.innerHTML = '<br data-mce-bogus="1"/>';
 
 			elm.insertBefore(capEl, elm.firstChild);
 		}
@@ -151,7 +149,7 @@
 	html += makeAttrib('border', border);
 	html += makeAttrib('cellpadding', cellpadding);
 	html += makeAttrib('cellspacing', cellspacing);
-	html += makeAttrib('_mce_new', '1');
+	html += makeAttrib('data-mce-new', '1');
 
 	if (width && inst.settings.inline_styles) {
 		if (style)
@@ -187,7 +185,7 @@
 
 	if (caption) {
 		if (!tinymce.isIE)
-			html += '<caption><br _mce_bogus="1"/></caption>';
+			html += '<caption><br data-mce-bogus="1"/></caption>';
 		else
 			html += '<caption></caption>';
 	}
@@ -197,7 +195,7 @@
 
 		for (var x=0; x<cols; x++) {
 			if (!tinymce.isIE)
-				html += '<td><br _mce_bogus="1"/></td>';
+				html += '<td><br data-mce-bogus="1"/></td>';
 			else
 				html += '<td></td>';
 		}
@@ -206,8 +204,6 @@
 	}
 
 	html += "</table>";
-
-	inst.execCommand('mceBeginUndoLevel');
 
 	// Move table
 	if (inst.settings.fix_table_elements) {
@@ -231,13 +227,18 @@
 	} else
 		inst.execCommand('mceInsertContent', false, html);
 
-	tinymce.each(dom.select('table[_mce_new]'), function(node) {
+	tinymce.each(dom.select('table[data-mce-new]'), function(node) {
 		var td = dom.select('td', node);
 
-		inst.selection.select(td[0], true);
-		inst.selection.collapse();
+		try {
+			// IE9 might fail to do this selection
+			inst.selection.select(td[0], true);
+			inst.selection.collapse();
+		} catch (ex) {
+			// Ignore
+		}
 
-		dom.setAttrib(node, '_mce_new', '');
+		dom.setAttrib(node, 'data-mce-new', '');
 	});
 
 	inst.addVisual();
@@ -279,7 +280,7 @@
 
 	var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', '');
 	var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
-	var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules, frame;
+	var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = "";
 	var inst = tinyMCEPopup.editor, dom = inst.dom;
 	var formObj = document.forms[0];
 	var elm = dom.getParent(inst.selection.getNode(), "table");

--
Gitblit v1.9.1