[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/editor/tinymce/tiny_mce/3.5.11/utils/ -> form_utils.js (source)

   1  /**

   2   * form_utils.js

   3   *

   4   * Copyright 2009, Moxiecode Systems AB

   5   * Released under LGPL License.

   6   *

   7   * License: http://tinymce.moxiecode.com/license

   8   * Contributing: http://tinymce.moxiecode.com/contributing

   9   */
  10  
  11  var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
  12  
  13  function getColorPickerHTML(id, target_form_element) {
  14      var h = "", dom = tinyMCEPopup.dom;
  15  
  16      if (label = dom.select('label[for=' + target_form_element + ']')[0]) {
  17          label.id = label.id || dom.uniqueId();
  18      }
  19  
  20      h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
  21      h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;<span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';
  22  
  23      return h;
  24  }
  25  
  26  function updateColor(img_id, form_element_id) {
  27      document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
  28  }
  29  
  30  function setBrowserDisabled(id, state) {
  31      var img = document.getElementById(id);
  32      var lnk = document.getElementById(id + "_link");
  33  
  34      if (lnk) {
  35          if (state) {
  36              lnk.setAttribute("realhref", lnk.getAttribute("href"));
  37              lnk.removeAttribute("href");
  38              tinyMCEPopup.dom.addClass(img, 'disabled');
  39          } else {
  40              if (lnk.getAttribute("realhref"))
  41                  lnk.setAttribute("href", lnk.getAttribute("realhref"));
  42  
  43              tinyMCEPopup.dom.removeClass(img, 'disabled');
  44          }
  45      }
  46  }
  47  
  48  function getBrowserHTML(id, target_form_element, type, prefix) {
  49      var option = prefix + "_" + type + "_browser_callback", cb, html;
  50  
  51      cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback"));
  52  
  53      if (!cb)
  54          return "";
  55  
  56      html = "";
  57      html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';
  58      html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;</span></a>';
  59  
  60      return html;
  61  }
  62  
  63  function openBrowser(img_id, target_form_element, type, option) {
  64      var img = document.getElementById(img_id);
  65  
  66      if (img.className != "mceButtonDisabled")
  67          tinyMCEPopup.openBrowser(target_form_element, type, option);
  68  }
  69  
  70  function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
  71      if (!form_obj || !form_obj.elements[field_name])
  72          return;
  73  
  74      if (!value)
  75          value = "";
  76  
  77      var sel = form_obj.elements[field_name];
  78  
  79      var found = false;
  80      for (var i=0; i<sel.options.length; i++) {
  81          var option = sel.options[i];
  82  
  83          if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
  84              option.selected = true;
  85              found = true;
  86          } else
  87              option.selected = false;
  88      }
  89  
  90      if (!found && add_custom && value != '') {
  91          var option = new Option(value, value);
  92          option.selected = true;
  93          sel.options[sel.options.length] = option;
  94          sel.selectedIndex = sel.options.length - 1;
  95      }
  96  
  97      return found;
  98  }
  99  
 100  function getSelectValue(form_obj, field_name) {
 101      var elm = form_obj.elements[field_name];
 102  
 103      if (elm == null || elm.options == null || elm.selectedIndex === -1)
 104          return "";
 105  
 106      return elm.options[elm.selectedIndex].value;
 107  }
 108  
 109  function addSelectValue(form_obj, field_name, name, value) {
 110      var s = form_obj.elements[field_name];
 111      var o = new Option(name, value);
 112      s.options[s.options.length] = o;
 113  }
 114  
 115  function addClassesToList(list_id, specific_option) {
 116      // Setup class droplist

 117      var styleSelectElm = document.getElementById(list_id);
 118      var styles = tinyMCEPopup.getParam('theme_advanced_styles', false);
 119      styles = tinyMCEPopup.getParam(specific_option, styles);
 120  
 121      if (styles) {
 122          var stylesAr = styles.split(';');
 123  
 124          for (var i=0; i<stylesAr.length; i++) {
 125              if (stylesAr != "") {
 126                  var key, value;
 127  
 128                  key = stylesAr[i].split('=')[0];
 129                  value = stylesAr[i].split('=')[1];
 130  
 131                  styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
 132              }
 133          }
 134      } else {
 135          tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
 136              styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
 137          });
 138      }
 139  }
 140  
 141  function isVisible(element_id) {
 142      var elm = document.getElementById(element_id);
 143  
 144      return elm && elm.style.display != "none";
 145  }
 146  
 147  function convertRGBToHex(col) {
 148      var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
 149  
 150      var rgb = col.replace(re, "$1,$2,$3").split(',');
 151      if (rgb.length == 3) {
 152          r = parseInt(rgb[0]).toString(16);
 153          g = parseInt(rgb[1]).toString(16);
 154          b = parseInt(rgb[2]).toString(16);
 155  
 156          r = r.length == 1 ? '0' + r : r;
 157          g = g.length == 1 ? '0' + g : g;
 158          b = b.length == 1 ? '0' + b : b;
 159  
 160          return "#" + r + g + b;
 161      }
 162  
 163      return col;
 164  }
 165  
 166  function convertHexToRGB(col) {
 167      if (col.indexOf('#') != -1) {
 168          col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
 169  
 170          r = parseInt(col.substring(0, 2), 16);
 171          g = parseInt(col.substring(2, 4), 16);
 172          b = parseInt(col.substring(4, 6), 16);
 173  
 174          return "rgb(" + r + "," + g + "," + b + ")";
 175      }
 176  
 177      return col;
 178  }
 179  
 180  function trimSize(size) {
 181      return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2');
 182  }
 183  
 184  function getCSSSize(size) {
 185      size = trimSize(size);
 186  
 187      if (size == "")
 188          return "";
 189  
 190      // Add px

 191      if (/^[0-9]+$/.test(size))
 192          size += 'px';
 193      // Sanity check, IE doesn't like broken values

 194      else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size)))
 195          return "";
 196  
 197      return size;
 198  }
 199  
 200  function getStyle(elm, attrib, style) {
 201      var val = tinyMCEPopup.dom.getAttrib(elm, attrib);
 202  
 203      if (val != '')
 204          return '' + val;
 205  
 206      if (typeof(style) == 'undefined')
 207          style = attrib;
 208  
 209      return tinyMCEPopup.dom.getStyle(elm, style);
 210  }


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1