]> code.citadel.org Git - citadel.git/blobdiff - webcit/tiny_mce/plugins/table/js/cell.js
Upgrade TinyMCE
[citadel.git] / webcit / tiny_mce / plugins / table / js / cell.js
index f23b06751d1f2831d2a46746192259163e213a57..b5fc1fda3d701ab6399793ec530e1379c73db445 100644 (file)
@@ -11,7 +11,7 @@ function init() {
        document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')\r
 \r
        var inst = ed;\r
-       var tdElm = ed.dom.getParent(ed.selection.getNode(), "td,th");\r
+       var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th");\r
        var formObj = document.forms[0];\r
        var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style"));\r
 \r
@@ -24,7 +24,7 @@ function init() {
        var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));\r
        var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));\r
        var className = ed.dom.getAttrib(tdElm, 'class');\r
-       var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;\r
+       var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");\r
        var id = ed.dom.getAttrib(tdElm, 'id');\r
        var lang = ed.dom.getAttrib(tdElm, 'lang');\r
        var dir = ed.dom.getAttrib(tdElm, 'dir');\r
@@ -34,38 +34,55 @@ function init() {
        addClassesToList('class', 'table_cell_styles');\r
        TinyMCE_EditableSelects.init();\r
 \r
-       formObj.bordercolor.value = bordercolor;\r
-       formObj.bgcolor.value = bgcolor;\r
-       formObj.backgroundimage.value = backgroundimage;\r
-       formObj.width.value = width;\r
-       formObj.height.value = height;\r
-       formObj.id.value = id;\r
-       formObj.lang.value = lang;\r
-       formObj.style.value = ed.dom.serializeStyle(st);\r
-       selectByValue(formObj, 'align', align);\r
-       selectByValue(formObj, 'valign', valign);\r
-       selectByValue(formObj, 'class', className, true, true);\r
-       selectByValue(formObj, 'celltype', celltype);\r
-       selectByValue(formObj, 'dir', dir);\r
-       selectByValue(formObj, 'scope', scope);\r
-\r
-       // Resize some elements\r
-       if (isVisible('backgroundimagebrowser'))\r
-               document.getElementById('backgroundimage').style.width = '180px';\r
-\r
-       updateColor('bordercolor_pick', 'bordercolor');\r
-       updateColor('bgcolor_pick', 'bgcolor');\r
+       if (!ed.dom.hasClass(tdElm, 'mceSelected')) {\r
+               formObj.bordercolor.value = bordercolor;\r
+               formObj.bgcolor.value = bgcolor;\r
+               formObj.backgroundimage.value = backgroundimage;\r
+               formObj.width.value = width;\r
+               formObj.height.value = height;\r
+               formObj.id.value = id;\r
+               formObj.lang.value = lang;\r
+               formObj.style.value = ed.dom.serializeStyle(st);\r
+               selectByValue(formObj, 'align', align);\r
+               selectByValue(formObj, 'valign', valign);\r
+               selectByValue(formObj, 'class', className, true, true);\r
+               selectByValue(formObj, 'celltype', celltype);\r
+               selectByValue(formObj, 'dir', dir);\r
+               selectByValue(formObj, 'scope', scope);\r
+\r
+               // Resize some elements\r
+               if (isVisible('backgroundimagebrowser'))\r
+                       document.getElementById('backgroundimage').style.width = '180px';\r
+\r
+               updateColor('bordercolor_pick', 'bordercolor');\r
+               updateColor('bgcolor_pick', 'bgcolor');\r
+       } else\r
+               tinyMCEPopup.dom.hide('action');\r
 }\r
 \r
 function updateAction() {\r
        var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0];\r
 \r
        tinyMCEPopup.restoreSelection();\r
-       el = ed.selection.getNode();\r
+       el = ed.selection.getStart();\r
        tdElm = ed.dom.getParent(el, "td,th");\r
        trElm = ed.dom.getParent(el, "tr");\r
        tableElm = ed.dom.getParent(el, "table");\r
 \r
+       // Cell is selected\r
+       if (ed.dom.hasClass(tdElm, 'mceSelected')) {\r
+               // Update all selected sells\r
+               tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) {\r
+                       updateCell(td);\r
+               });\r
+\r
+               ed.addVisual();\r
+               ed.nodeChanged();\r
+               inst.execCommand('mceEndUndoLevel');\r
+               tinyMCEPopup.close();\r
+               return;\r
+       }\r
+\r
        ed.execCommand('mceBeginUndoLevel');\r
 \r
        switch (getSelectValue(formObj, 'action')) {\r