alecpl
2011-12-01 14b342b03aaedadb67244149e7dea3210c6ac0ed
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,6 +149,7 @@
   html += makeAttrib('border', border);
   html += makeAttrib('cellpadding', cellpadding);
   html += makeAttrib('cellspacing', cellspacing);
   html += makeAttrib('data-mce-new', '1');
   if (width && inst.settings.inline_styles) {
      if (style)
@@ -186,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>';
   }
@@ -196,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,13 +205,12 @@
   html += "</table>";
   inst.execCommand('mceBeginUndoLevel');
   // Move table
   if (inst.settings.fix_table_elements) {
      var bm = inst.selection.getBookmark(), patt = '';
      var patt = '';
      inst.execCommand('mceInsertContent', false, '<br class="_mce_marker" />');
      inst.focus();
      inst.selection.setContent('<br class="_mce_marker" />');
      tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) {
         if (patt)
@@ -225,11 +223,23 @@
         inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n);
      });
      dom.setOuterHTML(dom.select('._mce_marker')[0], html);
      inst.selection.moveToBookmark(bm);
      dom.setOuterHTML(dom.select('br._mce_marker')[0], html);
   } else
      inst.execCommand('mceInsertContent', false, html);
   tinymce.each(dom.select('table[data-mce-new]'), function(node) {
      var td = dom.select('td', node);
      try {
         // IE9 might fail to do this selection
         inst.selection.select(td[0], true);
         inst.selection.collapse();
      } catch (ex) {
         // Ignore
      }
      dom.setAttrib(node, 'data-mce-new', '');
   });
   inst.addVisual();
   inst.execCommand('mceEndUndoLevel');
@@ -270,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");
@@ -307,7 +317,7 @@
      style = dom.serializeStyle(st);
      dir = dom.getAttrib(elm, 'dir');
      lang = dom.getAttrib(elm, 'lang');
      background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
      background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
      formObj.caption.checked = elm.getElementsByTagName('caption').length > 0;
      orgTableWidth = width;
@@ -416,7 +426,7 @@
   var st = dom.parseStyle(formObj.style.value);
   if (st['background-image'])
      formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
      formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
   else
      formObj.backgroundimage.value = '';