From a4332663cfcdb53b352c8646f78855ae3436cfec Mon Sep 17 00:00:00 2001 From: estadtherr Date: Thu, 14 Sep 2006 03:49:28 +0000 Subject: Initial TinyMCE editor support (still need to work on spellcheck and skins) git-svn-id: https://svn.roundcube.net/trunk@344 208e9e7b-5314-0410-a742-e7e81cd9613c --- .../js/tiny_mce/plugins/table/jscripts/row.js | 200 +++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 roundcubemail/program/js/tiny_mce/plugins/table/jscripts/row.js (limited to 'roundcubemail/program/js/tiny_mce/plugins/table/jscripts/row.js') diff --git a/roundcubemail/program/js/tiny_mce/plugins/table/jscripts/row.js b/roundcubemail/program/js/tiny_mce/plugins/table/jscripts/row.js new file mode 100644 index 000000000..395ddf028 --- /dev/null +++ b/roundcubemail/program/js/tiny_mce/plugins/table/jscripts/row.js @@ -0,0 +1,200 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var inst = tinyMCE.selectedInstance; + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style")); + + // Get table row data + var rowtype = trElm.parentNode.nodeName.toLowerCase(); + var align = tinyMCE.getAttrib(trElm, 'align'); + var valign = tinyMCE.getAttrib(trElm, 'valign'); + var height = trimSize(getStyle(trElm, 'height', 'height')); + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false); + var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor')); + var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = tinyMCE.getAttrib(trElm, 'id'); + var lang = tinyMCE.getAttrib(trElm, 'lang'); + var dir = tinyMCE.getAttrib(trElm, 'dir'); + + // Setup form + addClassesToList('class', 'table_row_styles'); + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = tinyMCE.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className); + selectByValue(formObj, 'rowtype', rowtype); + selectByValue(formObj, 'dir', dir); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + tinyMCEPopup.restoreSelection(); + + var inst = tinyMCE.selectedInstance; + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + var formObj = document.forms[0]; + var action = getSelectValue(formObj, 'action'); + + inst.execCommand('mceBeginUndoLevel'); + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i