JAVASCRIPT   42

attributes js

Guest on 13th June 2022 01:13:15 AM

  1.  /**
  2.  * $Id: editor_plugin_src.js  spocke $
  3.  *
  4.  * @author Moxiecode - based on work by Andrew Tetlaw
  5.  * @copyright Copyright © Moxiecode Systems AB, All rights reserved.
  6.  *//
  7.  
  8. function init() {
  9.         tinyMCEPopup.resizeToInnerSize();
  10.         var inst = tinyMCEPopup.editor;
  11.         var dom = inst.dom;
  12.         var elm = inst.selection.getNode();
  13.         var f = document.forms[0];
  14.         var onclick = dom.getAttrib(elm, 'onclick');
  15.  
  16.         setFormValue('title', dom.getAttrib(elm, 'title'));
  17.         setFormValue('id', dom.getAttrib(elm, 'id'));
  18.         setFormValue('style', dom.getAttrib(elm, "style"));
  19.         setFormValue('dir', dom.getAttrib(elm, 'dir'));
  20.         setFormValue('lang', dom.getAttrib(elm, 'lang'));
  21.         setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "));
  22.         setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != ""undefined" ? elm.accesskey : "));
  23.         setFormValue('onfocus', dom.getAttrib(elm, 'onfocus'));
  24.         setFormValue('onblur', dom.getAttrib(elm, 'onblur'));
  25.         setFormValue('onclick', onclick);
  26.         setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick'));
  27.         setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown'));
  28.         setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup'));
  29.         setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover'));
  30.         setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove'));
  31.         setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout'));
  32.         setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress'));
  33.         setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown'));
  34.         setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup'));
  35.         className = dom.getAttrib(elm, 'class');
  36.  
  37.         addClassesToList('classlist', 'advlink_styles');
  38.         selectByValue(f, 'classlist', className, true);
  39.  
  40.         TinyMCE_EditableSelects.init();
  41. }
  42.  
  43. function setFormValue(name, value) {
  44.         if(value && document.forms[0].elements[name]){
  45.                 document.forms[0].elements[name].value = value;
  46.         }
  47. }
  48.  
  49. function insertAction() {
  50.         var inst = tinyMCEPopup.editor;
  51.         var elm = inst.selection.getNode();
  52.  
  53.         tinyMCEPopup.execCommand(""mceBeginUndoLevel");
  54.         setAllAttribs(elm);
  55.         tinyMCEPopup.execCommand("mceEndUndoLevel");
  56.         tinyMCEPopup.close();
  57. }
  58.  
  59. function setAttrib(elm, attrib, value) {
  60.         var formObj = document.forms[0];
  61.         var valueElm = formObj.elements[attrib.toLowerCase()];
  62.         var inst = tinyMCEPopup.editor;
  63.         var dom = inst.dom;
  64.  
  65.         if (typeof(value) == "undefined" || value == null) {
  66.                 value = ";
  67.  
  68.                 if (valueElm)
  69.                         value = valueElm.value;
  70.         }
  71.  
  72.         if (value != "") {
  73.                 dom.setAttrib(elm, attrib.toLowerCase(), value);
  74.  
  75.                 if (attrib == ""style")
  76.                         attrib = "style.cssText";
  77.  
  78.                 if (attrib.substring(0, 2) == 'on')
  79.                         value = 'return true;' + value;
  80.  
  81.                 if (attrib == "class")
  82.                         attrib = "className";
  83.  
  84.                 elm[attrib]=value;
  85.         } else
  86.                 elm.removeAttribute(attrib);
  87. }
  88.  
  89. function setAllAttribs(elm) {
  90.         var f = document.forms[0];
  91.  
  92.         setAttrib(elm, 'title');
  93.         setAttrib(elm, 'id');
  94.         setAttrib(elm, 'style');
  95.         setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
  96.         setAttrib(elm, 'dir');
  97.         setAttrib(elm, 'lang');
  98.         setAttrib(elm, 'tabindex');
  99.         setAttrib(elm, 'accesskey');
  100.         setAttrib(elm, 'onfocus');
  101.         setAttrib(elm, 'onblur');
  102.         setAttrib(elm, 'onclick');
  103.         setAttrib(elm, 'ondblclick');
  104.         setAttrib(elm, 'onmousedown');
  105.         setAttrib(elm, 'onmouseup');
  106.         setAttrib(elm, 'onmouseover');
  107.         setAttrib(elm, 'onmousemove');
  108.         setAttrib(elm, 'onmouseout');
  109.         setAttrib(elm, 'onkeypress');
  110.         setAttrib(elm, 'onkeydown');
  111.         setAttrib(elm, 'onkeyup');
  112.  
  113. // Refresh in old MSIE
  114. //      if (tinyMCE.isMSIE5)
  115. //              elm.outerHTML = elm.outerHTML;
  116.  
  117. }
  118.  
  119. function insertAttribute() {
  120.         tinyMCEPopup.close();
  121. }
  122.  
  123. tinyMCEPopup.onInit.add(init);
  124. tinyMCEPopup.requireLangPack()

Raw Paste


Login or Register to edit or fork this paste. It's free.