+++ /dev/null
-tinyMCEPopup.requireLangPack();\r
-\r
-var ed;\r
-\r
-function init() {\r
- ed = tinyMCEPopup.editor;\r
- tinyMCEPopup.resizeToInnerSize();\r
-\r
- document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');\r
- document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');\r
- document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')\r
-\r
- var inst = ed;\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
- // Get table cell data\r
- var celltype = tdElm.nodeName.toLowerCase();\r
- var align = ed.dom.getAttrib(tdElm, 'align');\r
- var valign = ed.dom.getAttrib(tdElm, 'valign');\r
- var width = trimSize(getStyle(tdElm, 'width', 'width'));\r
- var height = trimSize(getStyle(tdElm, 'height', 'height'));\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 id = ed.dom.getAttrib(tdElm, 'id');\r
- var lang = ed.dom.getAttrib(tdElm, 'lang');\r
- var dir = ed.dom.getAttrib(tdElm, 'dir');\r
- var scope = ed.dom.getAttrib(tdElm, 'scope');\r
-\r
- // Setup form\r
- addClassesToList('class', 'table_cell_styles');\r
- TinyMCE_EditableSelects.init();\r
-\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.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
- case "cell":\r
- var celltype = getSelectValue(formObj, 'celltype');\r
- var scope = getSelectValue(formObj, 'scope');\r
-\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
- tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate);\r
- else\r
- doUpdate(1);\r
-\r
- return;\r
- }\r
-\r
- updateCell(tdElm);\r
- break;\r
-\r
- case "row":\r
- var cell = trElm.firstChild;\r
-\r
- if (cell.nodeName != "TD" && cell.nodeName != "TH")\r
- cell = nextCell(cell);\r
-\r
- do {\r
- cell = updateCell(cell, true);\r
- } while ((cell = nextCell(cell)) != null);\r
-\r
- break;\r
-\r
- case "all":\r
- var rows = tableElm.getElementsByTagName("tr");\r
-\r
- for (var i=0; i<rows.length; i++) {\r
- var cell = rows[i].firstChild;\r
-\r
- if (cell.nodeName != "TD" && cell.nodeName != "TH")\r
- cell = nextCell(cell);\r
-\r
- do {\r
- cell = updateCell(cell, true);\r
- } while ((cell = nextCell(cell)) != null);\r
- }\r
-\r
- break;\r
- }\r
-\r
- ed.addVisual();\r
- ed.nodeChanged();\r
- inst.execCommand('mceEndUndoLevel');\r
- tinyMCEPopup.close();\r
-}\r
-\r
-function nextCell(elm) {\r
- while ((elm = elm.nextSibling) != null) {\r
- if (elm.nodeName == "TD" || elm.nodeName == "TH")\r
- return elm;\r
- }\r
-\r
- return null;\r
-}\r
-\r
-function updateCell(td, skip_id) {\r
- var inst = ed;\r
- var formObj = document.forms[0];\r
- var curCellType = td.nodeName.toLowerCase();\r
- var celltype = getSelectValue(formObj, 'celltype');\r
- var doc = inst.getDoc();\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
-\r
- // Clear deprecated attributes\r
- ed.dom.setAttrib(td, 'width', '');\r
- ed.dom.setAttrib(td, 'height', '');\r
- ed.dom.setAttrib(td, 'bgColor', '');\r
- ed.dom.setAttrib(td, 'borderColor', '');\r
- ed.dom.setAttrib(td, 'background', '');\r
-\r
- // Set styles\r
- td.style.width = getCSSSize(formObj.width.value);\r
- td.style.height = getCSSSize(formObj.height.value);\r
- if (formObj.bordercolor.value != "") {\r
- td.style.borderColor = formObj.bordercolor.value;\r
- td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;\r
- td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;\r
- } else\r
- td.style.borderColor = '';\r
-\r
- td.style.backgroundColor = formObj.bgcolor.value;\r
-\r
- if (formObj.backgroundimage.value != "")\r
- td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";\r
- else\r
- td.style.backgroundImage = '';\r
-\r
- if (curCellType != celltype) {\r
- // changing to a different node type\r
- var newCell = doc.createElement(celltype);\r
-\r
- for (var c=0; c<td.childNodes.length; c++)\r
- newCell.appendChild(td.childNodes[c].cloneNode(1));\r
-\r
- for (var a=0; a<td.attributes.length; a++)\r
- ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name));\r
-\r
- td.parentNode.replaceChild(newCell, td);\r
- td = newCell;\r
- }\r
-\r
- dom.setAttrib(td, 'style', dom.serializeStyle(dom.parseStyle(td.style.cssText)));\r
-\r
- return td;\r
-}\r
-\r
-function changedBackgroundImage() {\r
- var formObj = document.forms[0];\r
- var st = ed.dom.parseStyle(formObj.style.value);\r
-\r
- st['background-image'] = "url('" + formObj.backgroundimage.value + "')";\r
-\r
- formObj.style.value = ed.dom.serializeStyle(st);\r
-}\r
-\r
-function changedSize() {\r
- var formObj = document.forms[0];\r
- var st = ed.dom.parseStyle(formObj.style.value);\r
-\r
- var width = formObj.width.value;\r
- if (width != "")\r
- st['width'] = getCSSSize(width);\r
- else\r
- st['width'] = "";\r
-\r
- var height = formObj.height.value;\r
- if (height != "")\r
- st['height'] = getCSSSize(height);\r
- else\r
- st['height'] = "";\r
-\r
- formObj.style.value = ed.dom.serializeStyle(st);\r
-}\r
-\r
-function changedColor() {\r
- var formObj = document.forms[0];\r
- var st = ed.dom.parseStyle(formObj.style.value);\r
-\r
- st['background-color'] = formObj.bgcolor.value;\r
- st['border-color'] = formObj.bordercolor.value;\r
-\r
- formObj.style.value = ed.dom.serializeStyle(st);\r
-}\r
-\r
-function changedStyle() {\r
- var formObj = document.forms[0];\r
- var st = ed.dom.parseStyle(formObj.style.value);\r
-\r
- if (st['background-image'])\r
- formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");\r
- else\r
- formObj.backgroundimage.value = '';\r
-\r
- if (st['width'])\r
- formObj.width.value = trimSize(st['width']);\r
-\r
- if (st['height'])\r
- formObj.height.value = trimSize(st['height']);\r
-\r
- if (st['background-color']) {\r
- formObj.bgcolor.value = st['background-color'];\r
- updateColor('bgcolor_pick','bgcolor');\r
- }\r
-\r
- if (st['border-color']) {\r
- formObj.bordercolor.value = st['border-color'];\r
- updateColor('bordercolor_pick','bordercolor');\r
- }\r
-}\r
-\r
-tinyMCEPopup.onInit.add(init);\r