Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/websdk/static/js/wymeditor/jquery.wymeditor.mozilla.js
diff options
context:
space:
mode:
Diffstat (limited to 'websdk/static/js/wymeditor/jquery.wymeditor.mozilla.js')
-rw-r--r--websdk/static/js/wymeditor/jquery.wymeditor.mozilla.js278
1 files changed, 0 insertions, 278 deletions
diff --git a/websdk/static/js/wymeditor/jquery.wymeditor.mozilla.js b/websdk/static/js/wymeditor/jquery.wymeditor.mozilla.js
deleted file mode 100644
index 3aa84b9..0000000
--- a/websdk/static/js/wymeditor/jquery.wymeditor.mozilla.js
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * WYMeditor : what you see is What You Mean web-based editor
- * Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
- * Dual licensed under the MIT (MIT-license.txt)
- * and GPL (GPL-license.txt) licenses.
- *
- * For further information visit:
- * http://www.wymeditor.org/
- *
- * File Name:
- * jquery.wymeditor.mozilla.js
- * Gecko specific class and functions.
- * See the documentation for more info.
- *
- * File Authors:
- * Jean-Francois Hovinne (jf.hovinne a-t wymeditor dotorg)
- * Volker Mische (vmx a-t gmx dotde)
- * Bermi Ferrer (wymeditor a-t bermi dotorg)
- * Frédéric Palluel-Lafleur (fpalluel a-t gmail dotcom)
- * Jonatan Lundin (jonatan.lundin a-t gmail dotcom)
- */
-
-WYMeditor.WymClassMozilla = function(wym) {
-
- this._wym = wym;
- this._class = "class";
- this._newLine = "\n";
-};
-
-WYMeditor.WymClassMozilla.prototype.initIframe = function(iframe) {
- var wym = this;
-
- this._iframe = iframe;
- this._doc = iframe.contentDocument;
-
- //add css rules from options
-
- var styles = this._doc.styleSheets[0];
- var aCss = eval(this._options.editorStyles);
-
- this.addCssRules(this._doc, aCss);
-
- this._doc.title = this._wym._index;
-
- //set the text direction
- jQuery('html', this._doc).attr('dir', this._options.direction);
-
- //init html value
- this.html(this._wym._html);
-
- //init designMode
- this.enableDesignMode();
-
- //pre-bind functions
- if(jQuery.isFunction(this._options.preBind)) this._options.preBind(this);
-
- //bind external events
- this._wym.bindEvents();
-
- //bind editor keydown events
- jQuery(this._doc).bind("keydown", this.keydown);
-
- //bind editor keyup events
- jQuery(this._doc).bind("keyup", this.keyup);
-
- //bind editor focus events (used to reset designmode - Gecko bug)
- jQuery(this._doc).bind("focus", function () {
- // Fix scope
- wym.enableDesignMode.call(wym);
- });
-
- //post-init functions
- if(jQuery.isFunction(this._options.postInit)) this._options.postInit(this);
-
- //add event listeners to doc elements, e.g. images
- this.listen();
-};
-
-/* @name html
- * @description Get/Set the html value
- */
-WYMeditor.WymClassMozilla.prototype.html = function(html) {
-
- if(typeof html === 'string') {
-
- //disable designMode
- try { this._doc.designMode = "off"; } catch(e) { };
-
- //replace em by i and strong by bold
- //(designMode issue)
- html = html.replace(/<em(\b[^>]*)>/gi, "<i$1>")
- .replace(/<\/em>/gi, "</i>")
- .replace(/<strong(\b[^>]*)>/gi, "<b$1>")
- .replace(/<\/strong>/gi, "</b>");
-
- //update the html body
- jQuery(this._doc.body).html(html);
-
- //re-init designMode
- this.enableDesignMode();
- }
- else return(jQuery(this._doc.body).html());
-};
-
-WYMeditor.WymClassMozilla.prototype._exec = function(cmd,param) {
-
- if(!this.selected()) return(false);
-
- switch(cmd) {
-
- case WYMeditor.INDENT: case WYMeditor.OUTDENT:
-
- var focusNode = this.selected();
- var sel = this._iframe.contentWindow.getSelection();
- var anchorNode = sel.anchorNode;
- if(anchorNode.nodeName == "#text") anchorNode = anchorNode.parentNode;
-
- focusNode = this.findUp(focusNode, WYMeditor.BLOCKS);
- anchorNode = this.findUp(anchorNode, WYMeditor.BLOCKS);
-
- if(focusNode && focusNode == anchorNode
- && focusNode.tagName.toLowerCase() == WYMeditor.LI) {
-
- var ancestor = focusNode.parentNode.parentNode;
-
- if(focusNode.parentNode.childNodes.length>1
- || ancestor.tagName.toLowerCase() == WYMeditor.OL
- || ancestor.tagName.toLowerCase() == WYMeditor.UL)
- this._doc.execCommand(cmd,'',null);
- }
-
- break;
-
- default:
-
- if(param) this._doc.execCommand(cmd,'',param);
- else this._doc.execCommand(cmd,'',null);
- }
-
- //set to P if parent = BODY
- var container = this.selected();
- if(container.tagName.toLowerCase() == WYMeditor.BODY)
- this._exec(WYMeditor.FORMAT_BLOCK, WYMeditor.P);
-};
-
-/* @name selected
- * @description Returns the selected container
- */
-WYMeditor.WymClassMozilla.prototype.selected = function() {
-
- var sel = this._iframe.contentWindow.getSelection();
- var node = sel.focusNode;
- if(node) {
- if(node.nodeName == "#text") return(node.parentNode);
- else return(node);
- } else return(null);
-};
-
-WYMeditor.WymClassMozilla.prototype.addCssRule = function(styles, oCss) {
-
- styles.insertRule(oCss.name + " {" + oCss.css + "}",
- styles.cssRules.length);
-};
-
-
-//keydown handler, mainly used for keyboard shortcuts
-WYMeditor.WymClassMozilla.prototype.keydown = function(evt) {
-
- //'this' is the doc
- var wym = WYMeditor.INSTANCES[this.title];
- var container = null;
-
- if(evt.ctrlKey){
- if(evt.keyCode == 66){
- //CTRL+b => STRONG
- wym._exec(WYMeditor.BOLD);
- return false;
- }
- if(evt.keyCode == 73){
- //CTRL+i => EMPHASIS
- wym._exec(WYMeditor.ITALIC);
- return false;
- }
- }
-
- else if(evt.keyCode == 13) {
- if(!evt.shiftKey){
- //fix PRE bug #73
- container = wym.selected();
- if(container && container.tagName.toLowerCase() == WYMeditor.PRE) {
- evt.preventDefault();
- wym.insert('<p></p>');
- }
- }
- }
-};
-
-//keyup handler, mainly used for cleanups
-WYMeditor.WymClassMozilla.prototype.keyup = function(evt) {
-
- //'this' is the doc
- var wym = WYMeditor.INSTANCES[this.title];
-
- wym._selected_image = null;
- var container = null;
-
- if(evt.keyCode == 13 && !evt.shiftKey) {
-
- //RETURN key
- //cleanup <br><br> between paragraphs
- jQuery(wym._doc.body).children(WYMeditor.BR).remove();
- }
-
- if(evt.keyCode != 8
- && evt.keyCode != 17
- && evt.keyCode != 46
- && evt.keyCode != 224
- && !evt.metaKey
- && !evt.ctrlKey) {
-
- //NOT BACKSPACE, NOT DELETE, NOT CTRL, NOT COMMAND
- //text nodes replaced by P
-
- container = wym.selected();
- var name = container.tagName.toLowerCase();
-
- //fix forbidden main containers
- if(
- name == "strong" ||
- name == "b" ||
- name == "em" ||
- name == "i" ||
- name == "sub" ||
- name == "sup" ||
- name == "a"
-
- ) name = container.parentNode.tagName.toLowerCase();
-
- if(name == WYMeditor.BODY) wym._exec(WYMeditor.FORMAT_BLOCK, WYMeditor.P);
- }
-};
-
-WYMeditor.WymClassMozilla.prototype.enableDesignMode = function() {
- if(this._doc.designMode == "off") {
- try {
- this._doc.designMode = "on";
- this._doc.execCommand("styleWithCSS", '', false);
- } catch(e) { }
- }
-};
-
-WYMeditor.WymClassMozilla.prototype.openBlockTag = function(tag, attributes)
-{
- var attributes = this.validator.getValidTagAttributes(tag, attributes);
-
- // Handle Mozilla styled spans
- if (tag == 'span' && attributes.style) {
- var new_tag = this.getTagForStyle(attributes.style);
- if (new_tag) {
- tag = new_tag;
- this._tag_stack.pop();
- this._tag_stack.push(tag);
- attributes.style = '';
- }
- }
-
- this.output += this.helper.tag(tag, attributes, true);
-};
-
-WYMeditor.WymClassMozilla.prototype.getTagForStyle = function(style) {
-
- if(/bold/.test(style)) return 'strong';
- if(/italic/.test(style)) return 'em';
- if(/sub/.test(style)) return 'sub';
- if(/super/.test(style)) return 'sup';
- return false;
-};
-