From a0109c4933e0bfb5ed9dbcf94f932991ca689542 Mon Sep 17 00:00:00 2001 From: svncommit Date: Thu, 14 Sep 2006 03:49:28 +0000 Subject: Initial TinyMCE editor support (still need to work on spellcheck and skins) --- program/js/tiny_mce/utils/editable_selects.js | 63 ++++++++ program/js/tiny_mce/utils/form_utils.js | 210 +++++++++++++++++++++++++ program/js/tiny_mce/utils/mclayer.js | 212 ++++++++++++++++++++++++++ program/js/tiny_mce/utils/mctabs.js | 76 +++++++++ program/js/tiny_mce/utils/validate.js | 50 ++++++ 5 files changed, 611 insertions(+) create mode 100644 program/js/tiny_mce/utils/editable_selects.js create mode 100644 program/js/tiny_mce/utils/form_utils.js create mode 100644 program/js/tiny_mce/utils/mclayer.js create mode 100644 program/js/tiny_mce/utils/mctabs.js create mode 100644 program/js/tiny_mce/utils/validate.js (limited to 'program/js/tiny_mce/utils') diff --git a/program/js/tiny_mce/utils/editable_selects.js b/program/js/tiny_mce/utils/editable_selects.js new file mode 100644 index 000000000..81c99eb5c --- /dev/null +++ b/program/js/tiny_mce/utils/editable_selects.js @@ -0,0 +1,63 @@ +/** + * $RCSfile: editable_selects.js,v $ + * $Revision: 1.1 $ + * $Date: 2006/04/10 09:30:19 $ + * + * Makes select boxes editable. + * + * @author Moxiecode + * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +var TinyMCE_EditableSelects = { + editSelectElm : null, + + init : function() { + var nl = document.getElementsByTagName("select"), i, d = document, o; + + for (i=0; i'; + html += ''; + + return html; +} + +function pickColor(e, target_form_element) { + if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown") + tinyMCEPopup.pickColor(e, target_form_element); +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCE.switchClass(img, 'mceButtonDisabled', true); + } else { + lnk.setAttribute("href", lnk.getAttribute("realhref")); + tinyMCE.switchClass(img, 'mceButtonNormal', false); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback"; + var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); + if (cb == null) + return ""; + + var html = ""; + + html += ''; + html += ''; + + return html; +} + +function openBrower(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i x && mx < x + w && my > y && my < y + h)) { + MCLayer.visibleLayer = null; + + if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) + return true; + + l.hide(); + } + } + }, + + addCSSClass : function(e, c) { + this.removeCSSClass(e, c); + var a = this.explode(' ', e.className); + a[a.length] = c; + e.className = a.join(' '); + }, + + removeCSSClass : function(e, c) { + var a = this.explode(' ', e.className), i; + + for (i=0; i 0); +} + +function validateSelection(form_name, element_name) { + return (document.forms[form_name].elements[element_name].selectedIndex > 0); +} + +function validateCheckBox(form_name, element_name) { + return document.forms[form_name].elements[element_name].checked; +} + +function validateCleanString(form_name, element_name) { + return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$'); +} + +function validateEmail(form_name, element_name) { + return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$'); +} + +function validateAbsUrl(form_name, element_name) { + return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$'); +} + +function validateNumber(form_name, element_name, allow_blank) { + return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$'); +} + +function validateSize(form_name, element_name,) { + return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$'); +} + +function validateID(form_name, element_name,) { + return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$'); +} -- cgit v1.2.3