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