+++ /dev/null
-tinyMCEPopup.requireLangPack();\r
-\r
-function init() {\r
- tinyMCEPopup.resizeToInnerSize();\r
-\r
- document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');\r
- document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');\r
-\r
- var inst = tinyMCEPopup.editor;\r
- var dom = inst.dom;\r
- var trElm = dom.getParent(inst.selection.getStart(), "tr");\r
- var formObj = document.forms[0];\r
- var st = dom.parseStyle(dom.getAttrib(trElm, "style"));\r
-\r
- // Get table row data\r
- var rowtype = trElm.parentNode.nodeName.toLowerCase();\r
- var align = dom.getAttrib(trElm, 'align');\r
- var valign = dom.getAttrib(trElm, 'valign');\r
- var height = trimSize(getStyle(trElm, 'height', 'height'));\r
- var className = dom.getAttrib(trElm, 'class');\r
- var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));\r
- var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");\r
- var id = dom.getAttrib(trElm, 'id');\r
- var lang = dom.getAttrib(trElm, 'lang');\r
- var dir = dom.getAttrib(trElm, 'dir');\r
-\r
- selectByValue(formObj, 'rowtype', rowtype);\r
-\r
- // Any cells selected\r
- if (dom.select('td.mceSelected,th.mceSelected', trElm).length == 0) {\r
- // Setup form\r
- addClassesToList('class', 'table_row_styles');\r
- TinyMCE_EditableSelects.init();\r
-\r
- formObj.bgcolor.value = bgcolor;\r
- formObj.backgroundimage.value = backgroundimage;\r
- formObj.height.value = height;\r
- formObj.id.value = id;\r
- formObj.lang.value = lang;\r
- formObj.style.value = dom.serializeStyle(st);\r
- selectByValue(formObj, 'align', align);\r
- selectByValue(formObj, 'valign', valign);\r
- selectByValue(formObj, 'class', className, true, true);\r
- selectByValue(formObj, 'dir', dir);\r
-\r
- // Resize some elements\r
- if (isVisible('backgroundimagebrowser'))\r
- document.getElementById('backgroundimage').style.width = '180px';\r
-\r
- updateColor('bgcolor_pick', 'bgcolor');\r
- } else\r
- tinyMCEPopup.dom.hide('action');\r
-}\r
-\r
-function updateAction() {\r
- var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0];\r
- var action = getSelectValue(formObj, 'action');\r
-\r
- tinyMCEPopup.restoreSelection();\r
- trElm = dom.getParent(inst.selection.getStart(), "tr");\r
- tableElm = dom.getParent(inst.selection.getStart(), "table");\r
-\r
- // Update all selected rows\r
- if (dom.select('td.mceSelected,th.mceSelected', trElm).length > 0) {\r
- tinymce.each(tableElm.rows, function(tr) {\r
- var i;\r
-\r
- for (i = 0; i < tr.cells.length; i++) {\r
- if (dom.hasClass(tr.cells[i], 'mceSelected')) {\r
- updateRow(tr, true);\r
- return;\r
- }\r
- }\r
- });\r
-\r
- inst.addVisual();\r
- inst.nodeChanged();\r
- inst.execCommand('mceEndUndoLevel');\r
- tinyMCEPopup.close();\r
- return;\r
- }\r
-\r
- inst.execCommand('mceBeginUndoLevel');\r
-\r
- switch (action) {\r
- case "row":\r
- updateRow(trElm);\r
- break;\r
-\r
- case "all":\r
- var rows = tableElm.getElementsByTagName("tr");\r
-\r
- for (var i=0; i<rows.length; i++)\r
- updateRow(rows[i], true);\r
-\r
- break;\r
-\r
- case "odd":\r
- case "even":\r
- var rows = tableElm.getElementsByTagName("tr");\r
-\r
- for (var i=0; i<rows.length; i++) {\r
- if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))\r
- updateRow(rows[i], true, true);\r
- }\r
-\r
- break;\r
- }\r
-\r
- inst.addVisual();\r
- inst.nodeChanged();\r
- inst.execCommand('mceEndUndoLevel');\r
- tinyMCEPopup.close();\r
-}\r
-\r
-function updateRow(tr_elm, skip_id, skip_parent) {\r
- var inst = tinyMCEPopup.editor;\r
- var formObj = document.forms[0];\r
- var dom = inst.dom;\r
- var curRowType = tr_elm.parentNode.nodeName.toLowerCase();\r
- var rowtype = getSelectValue(formObj, 'rowtype');\r
- var doc = inst.getDoc();\r
-\r
- // Update row element\r
- if (!skip_id)\r
- tr_elm.setAttribute('id', formObj.id.value);\r
-\r
- tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));\r
- tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));\r
- tr_elm.setAttribute('lang', formObj.lang.value);\r
- tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));\r
- tr_elm.setAttribute('style', dom.serializeStyle(dom.parseStyle(formObj.style.value)));\r
- dom.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));\r
-\r
- // Clear deprecated attributes\r
- tr_elm.setAttribute('background', '');\r
- tr_elm.setAttribute('bgColor', '');\r
- tr_elm.setAttribute('height', '');\r
-\r
- // Set styles\r
- tr_elm.style.height = getCSSSize(formObj.height.value);\r
- tr_elm.style.backgroundColor = formObj.bgcolor.value;\r
-\r
- if (formObj.backgroundimage.value != "")\r
- tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";\r
- else\r
- tr_elm.style.backgroundImage = '';\r
-\r
- // Setup new rowtype\r
- if (curRowType != rowtype && !skip_parent) {\r
- // first, clone the node we are working on\r
- var newRow = tr_elm.cloneNode(1);\r
-\r
- // next, find the parent of its new destination (creating it if necessary)\r
- var theTable = dom.getParent(tr_elm, "table");\r
- var dest = rowtype;\r
- var newParent = null;\r
- for (var i = 0; i < theTable.childNodes.length; i++) {\r
- if (theTable.childNodes[i].nodeName.toLowerCase() == dest)\r
- newParent = theTable.childNodes[i];\r
- }\r
-\r
- if (newParent == null) {\r
- newParent = doc.createElement(dest);\r
-\r
- if (dest == "thead") {\r
- if (theTable.firstChild.nodeName == 'CAPTION')\r
- inst.dom.insertAfter(newParent, theTable.firstChild);\r
- else\r
- theTable.insertBefore(newParent, theTable.firstChild);\r
- } else\r
- theTable.appendChild(newParent);\r
- }\r
-\r
- // append the row to the new parent\r
- newParent.appendChild(newRow);\r
-\r
- // remove the original\r
- tr_elm.parentNode.removeChild(tr_elm);\r
-\r
- // set tr_elm to the new node\r
- tr_elm = newRow;\r
- }\r
-\r
- dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(tr_elm.style.cssText)));\r
-}\r
-\r
-function changedBackgroundImage() {\r
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;\r
- var st = dom.parseStyle(formObj.style.value);\r
-\r
- st['background-image'] = "url('" + formObj.backgroundimage.value + "')";\r
-\r
- formObj.style.value = dom.serializeStyle(st);\r
-}\r
-\r
-function changedStyle() {\r
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;\r
- var st = 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['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
-\r
-function changedSize() {\r
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;\r
- var st = dom.parseStyle(formObj.style.value);\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 = dom.serializeStyle(st);\r
-}\r
-\r
-function changedColor() {\r
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;\r
- var st = dom.parseStyle(formObj.style.value);\r
-\r
- st['background-color'] = formObj.bgcolor.value;\r
-\r
- formObj.style.value = dom.serializeStyle(st);\r
-}\r
-\r
-tinyMCEPopup.onInit.add(init);\r