bgneal@45: /** bgneal@45: * attributes.js bgneal@45: * bgneal@45: * Copyright 2009, Moxiecode Systems AB bgneal@45: * Released under LGPL License. bgneal@45: * bgneal@45: * License: http://tinymce.moxiecode.com/license bgneal@45: * Contributing: http://tinymce.moxiecode.com/contributing bgneal@45: */ bgneal@45: bgneal@45: function init() { bgneal@45: tinyMCEPopup.resizeToInnerSize(); bgneal@45: var inst = tinyMCEPopup.editor; bgneal@45: var dom = inst.dom; bgneal@45: var elm = inst.selection.getNode(); bgneal@45: var f = document.forms[0]; bgneal@45: var onclick = dom.getAttrib(elm, 'onclick'); bgneal@45: bgneal@45: setFormValue('title', dom.getAttrib(elm, 'title')); bgneal@45: setFormValue('id', dom.getAttrib(elm, 'id')); bgneal@45: setFormValue('style', dom.getAttrib(elm, "style")); bgneal@45: setFormValue('dir', dom.getAttrib(elm, 'dir')); bgneal@45: setFormValue('lang', dom.getAttrib(elm, 'lang')); bgneal@45: setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); bgneal@45: setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); bgneal@45: setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); bgneal@45: setFormValue('onblur', dom.getAttrib(elm, 'onblur')); bgneal@45: setFormValue('onclick', onclick); bgneal@45: setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); bgneal@45: setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); bgneal@45: setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); bgneal@45: setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); bgneal@45: setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); bgneal@45: setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); bgneal@45: setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); bgneal@45: setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); bgneal@45: setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); bgneal@45: className = dom.getAttrib(elm, 'class'); bgneal@45: bgneal@45: addClassesToList('classlist', 'advlink_styles'); bgneal@45: selectByValue(f, 'classlist', className, true); bgneal@45: bgneal@45: TinyMCE_EditableSelects.init(); bgneal@45: } bgneal@45: bgneal@45: function setFormValue(name, value) { bgneal@45: if(value && document.forms[0].elements[name]){ bgneal@45: document.forms[0].elements[name].value = value; bgneal@45: } bgneal@45: } bgneal@45: bgneal@45: function insertAction() { bgneal@45: var inst = tinyMCEPopup.editor; bgneal@45: var elm = inst.selection.getNode(); bgneal@45: bgneal@45: setAllAttribs(elm); bgneal@45: tinyMCEPopup.execCommand("mceEndUndoLevel"); bgneal@45: tinyMCEPopup.close(); bgneal@45: } bgneal@45: bgneal@45: function setAttrib(elm, attrib, value) { bgneal@45: var formObj = document.forms[0]; bgneal@45: var valueElm = formObj.elements[attrib.toLowerCase()]; bgneal@45: var inst = tinyMCEPopup.editor; bgneal@45: var dom = inst.dom; bgneal@45: bgneal@45: if (typeof(value) == "undefined" || value == null) { bgneal@45: value = ""; bgneal@45: bgneal@45: if (valueElm) bgneal@45: value = valueElm.value; bgneal@45: } bgneal@45: bgneal@45: dom.setAttrib(elm, attrib.toLowerCase(), value); bgneal@45: } bgneal@45: bgneal@45: function setAllAttribs(elm) { bgneal@45: var f = document.forms[0]; bgneal@45: bgneal@45: setAttrib(elm, 'title'); bgneal@45: setAttrib(elm, 'id'); bgneal@45: setAttrib(elm, 'style'); bgneal@45: setAttrib(elm, 'class', getSelectValue(f, 'classlist')); bgneal@45: setAttrib(elm, 'dir'); bgneal@45: setAttrib(elm, 'lang'); bgneal@45: setAttrib(elm, 'tabindex'); bgneal@45: setAttrib(elm, 'accesskey'); bgneal@45: setAttrib(elm, 'onfocus'); bgneal@45: setAttrib(elm, 'onblur'); bgneal@45: setAttrib(elm, 'onclick'); bgneal@45: setAttrib(elm, 'ondblclick'); bgneal@45: setAttrib(elm, 'onmousedown'); bgneal@45: setAttrib(elm, 'onmouseup'); bgneal@45: setAttrib(elm, 'onmouseover'); bgneal@45: setAttrib(elm, 'onmousemove'); bgneal@45: setAttrib(elm, 'onmouseout'); bgneal@45: setAttrib(elm, 'onkeypress'); bgneal@45: setAttrib(elm, 'onkeydown'); bgneal@45: setAttrib(elm, 'onkeyup'); bgneal@45: bgneal@45: // Refresh in old MSIE bgneal@45: // if (tinyMCE.isMSIE5) bgneal@45: // elm.outerHTML = elm.outerHTML; bgneal@45: } bgneal@45: bgneal@45: function insertAttribute() { bgneal@45: tinyMCEPopup.close(); bgneal@45: } bgneal@45: bgneal@45: tinyMCEPopup.onInit.add(init); bgneal@45: tinyMCEPopup.requireLangPack();