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
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
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
- ed.execCommand('mceBeginUndoLevel');\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
switch (getSelectValue(formObj, 'action')) {\r
case "cell":\r
var celltype = getSelectValue(formObj, 'celltype');\r
var scope = getSelectValue(formObj, 'scope');\r
\r
- if (ed.getParam("accessibility_warnings")) {\r
+ function doUpdate(s) {\r
+ if (s) {\r
+ updateCell(tdElm);\r
+\r
+ ed.addVisual();\r
+ ed.nodeChanged();\r
+ inst.execCommand('mceEndUndoLevel');\r
+ tinyMCEPopup.close();\r
+ }\r
+ };\r
+\r
+ if (ed.getParam("accessibility_warnings", 1)) {\r
if (celltype == "th" && scope == "")\r
- var answer = confirm(ed.getLang('table_dlg.missing_scope', '', true));\r
+ tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate);\r
else\r
- var answer = true;\r
+ doUpdate(1);\r
\r
- if (!answer)\r
- return;\r
+ return;\r
}\r
\r
updateCell(tdElm);\r
var dom = ed.dom;\r
\r
if (!skip_id)\r
- td.setAttribute('id', formObj.id.value);\r
-\r
- td.setAttribute('align', formObj.align.value);\r
- td.setAttribute('vAlign', formObj.valign.value);\r
- td.setAttribute('lang', formObj.lang.value);\r
- td.setAttribute('dir', getSelectValue(formObj, 'dir'));\r
- td.setAttribute('style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));\r
- td.setAttribute('scope', formObj.scope.value);\r
- ed.dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));\r
+ dom.setAttrib(td, 'id', formObj.id.value);\r
+\r
+ dom.setAttrib(td, 'align', formObj.align.value);\r
+ dom.setAttrib(td, 'vAlign', formObj.valign.value);\r
+ dom.setAttrib(td, 'lang', formObj.lang.value);\r
+ dom.setAttrib(td, 'dir', getSelectValue(formObj, 'dir'));\r
+ dom.setAttrib(td, 'style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));\r
+ dom.setAttrib(td, 'scope', formObj.scope.value);\r
+ dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));\r
\r
// Clear deprecated attributes\r
ed.dom.setAttrib(td, 'width', '');\r