bgneal@45: tinyMCEPopup.requireLangPack(); bgneal@45: bgneal@45: function init() { bgneal@45: tinyMCEPopup.resizeToInnerSize(); bgneal@45: bgneal@45: document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); bgneal@45: document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); bgneal@45: bgneal@45: var inst = tinyMCEPopup.editor; bgneal@45: var dom = inst.dom; bgneal@183: var trElm = dom.getParent(inst.selection.getStart(), "tr"); bgneal@45: var formObj = document.forms[0]; bgneal@45: var st = dom.parseStyle(dom.getAttrib(trElm, "style")); bgneal@45: bgneal@45: // Get table row data bgneal@45: var rowtype = trElm.parentNode.nodeName.toLowerCase(); bgneal@45: var align = dom.getAttrib(trElm, 'align'); bgneal@45: var valign = dom.getAttrib(trElm, 'valign'); bgneal@45: var height = trimSize(getStyle(trElm, 'height', 'height')); bgneal@45: var className = dom.getAttrib(trElm, 'class'); bgneal@45: var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor')); bgneal@217: var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); bgneal@45: var id = dom.getAttrib(trElm, 'id'); bgneal@45: var lang = dom.getAttrib(trElm, 'lang'); bgneal@45: var dir = dom.getAttrib(trElm, 'dir'); bgneal@45: bgneal@183: selectByValue(formObj, 'rowtype', rowtype); bgneal@45: bgneal@183: // Any cells selected bgneal@183: if (dom.select('td.mceSelected,th.mceSelected', trElm).length == 0) { bgneal@183: // Setup form bgneal@183: addClassesToList('class', 'table_row_styles'); bgneal@183: TinyMCE_EditableSelects.init(); bgneal@45: bgneal@183: formObj.bgcolor.value = bgcolor; bgneal@183: formObj.backgroundimage.value = backgroundimage; bgneal@183: formObj.height.value = height; bgneal@183: formObj.id.value = id; bgneal@183: formObj.lang.value = lang; bgneal@183: formObj.style.value = dom.serializeStyle(st); bgneal@183: selectByValue(formObj, 'align', align); bgneal@183: selectByValue(formObj, 'valign', valign); bgneal@183: selectByValue(formObj, 'class', className, true, true); bgneal@183: selectByValue(formObj, 'dir', dir); bgneal@45: bgneal@183: // Resize some elements bgneal@183: if (isVisible('backgroundimagebrowser')) bgneal@183: document.getElementById('backgroundimage').style.width = '180px'; bgneal@183: bgneal@183: updateColor('bgcolor_pick', 'bgcolor'); bgneal@183: } else bgneal@183: tinyMCEPopup.dom.hide('action'); bgneal@45: } bgneal@45: bgneal@45: function updateAction() { bgneal@45: var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0]; bgneal@45: var action = getSelectValue(formObj, 'action'); bgneal@45: bgneal@45: tinyMCEPopup.restoreSelection(); bgneal@183: trElm = dom.getParent(inst.selection.getStart(), "tr"); bgneal@183: tableElm = dom.getParent(inst.selection.getStart(), "table"); bgneal@183: bgneal@183: // Update all selected rows bgneal@183: if (dom.select('td.mceSelected,th.mceSelected', trElm).length > 0) { bgneal@183: tinymce.each(tableElm.rows, function(tr) { bgneal@183: var i; bgneal@183: bgneal@183: for (i = 0; i < tr.cells.length; i++) { bgneal@183: if (dom.hasClass(tr.cells[i], 'mceSelected')) { bgneal@183: updateRow(tr, true); bgneal@183: return; bgneal@183: } bgneal@183: } bgneal@183: }); bgneal@183: bgneal@183: inst.addVisual(); bgneal@183: inst.nodeChanged(); bgneal@183: inst.execCommand('mceEndUndoLevel'); bgneal@183: tinyMCEPopup.close(); bgneal@183: return; bgneal@183: } bgneal@45: bgneal@45: inst.execCommand('mceBeginUndoLevel'); bgneal@45: bgneal@45: switch (action) { bgneal@45: case "row": bgneal@45: updateRow(trElm); bgneal@45: break; bgneal@45: bgneal@45: case "all": bgneal@45: var rows = tableElm.getElementsByTagName("tr"); bgneal@45: bgneal@45: for (var i=0; i