Changeset 957 for trunk/plugins/Equation


Ignore:
Timestamp:
02/01/08 22:44:49 (12 years ago)
Author:
ray
Message:

copied changes from branch 0.95_stable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/Equation/equation.js

    r942 r957  
    4747        mathfontfamily = cfg.Equation.mathfontfamily; 
    4848         
    49         //if (Xinha.is_ie) return; 
    50         if (!Xinha.is_ie) 
     49        this.enabled = !Xinha.is_ie; 
     50         
     51        if (this.enabled) 
    5152        {        
    52                 editor.notifyOn( 'modechange', 
    53                         function( e, args ) 
    54                                 { 
    55                                         self.onModeChange( args ); 
    56                                 } 
    57                         ); 
    5853                this.onBeforeSubmit = this.onBeforeUnload = function () {self.unParse();}; 
    5954        } 
     
    9186        this.parse(); 
    9287}; 
    93 Equation.prototype.onUpdateToolbar = function()  
    94 { 
    95         var e = this.editor; 
    96         if (!Xinha.is_ie && this.reParse) 
    97         { 
    98                 AMprocessNode(e._doc.body, false); 
    99                 this.reParse = false; 
    100         } 
    101 }; 
     88 
    10289// avoid changing the formula in the editor 
    10390Equation.prototype.onKeyPress = function(ev) 
    10491{ 
    105         if (!Xinha.is_ie) 
     92        if (this.enabled) 
    10693        { 
    10794                e = this.editor; 
     
    122109        return false; 
    123110} 
    124 Equation.prototype.onModeChange = function( args ) 
    125 { 
    126         var doc = this.editor._doc; 
    127         switch (args.mode) 
    128         { 
    129                 case 'text': 
    130                         this.unParse(); 
    131                 break; 
    132                 case 'wysiwyg': 
    133                         this.parse(); 
    134                 break; 
    135         } 
    136 }; 
     111Equation.prototype.onBeforeMode = function( mode ) 
     112{ 
     113        if (this.enabled && mode == 'textmode') 
     114        { 
     115                this.unParse(); 
     116        } 
     117} 
     118Equation.prototype.onMode = function( mode ) 
     119{ 
     120        if (this.enabled && mode == 'wysiwyg') 
     121        { 
     122                this.parse(); 
     123        } 
     124} 
    137125 
    138126Equation.prototype.parse = function () 
    139127{ 
    140         if (!Xinha.is_ie) 
     128        if (this.enabled) 
    141129        { 
    142130                var doc = this.editor._doc; 
     
    163151                        } catch (e) {} 
    164152                        node.parentNode.replaceChild(clone, node); 
     153                        // insert space before and after the protected node, otherwide one could get stuck 
     154                        clone.parentNode.insertBefore(doc.createTextNode(String.fromCharCode(32)),clone); 
     155                        clone.parentNode.insertBefore(doc.createTextNode(String.fromCharCode(32)),clone.nextSibling); 
    165156                } 
    166157        } 
     
    178169                node.innerHTML = formula; 
    179170                node.setAttribute("title", null); 
    180                 this.editor.setHTML(this.editor.getHTML()); 
    181171        } 
    182172} 
     
    212202                        { 
    213203                                span.innerHTML = formula; 
    214                                 if (!Xinha.is_ie) span.title = formula; 
     204                                if (this.enabled) span.title = formula; 
    215205                        } 
    216206                        else 
     
    222212                else if (!param["editedNode"] && formula != '') 
    223213                { 
    224                         if (!Xinha.is_ie) 
     214                        if (this.enabled) 
    225215                        {                        
    226216                                var span = document.createElement('span'); 
     
    236226                } 
    237227 
    238                 if (!Xinha.is_ie) this.parse();//AMprocessNode(this.editor._doc.body, false); 
    239         } 
    240 } 
     228                if (this.enabled) this.parse();//AMprocessNode(this.editor._doc.body, false); 
     229        } 
     230} 
Note: See TracChangeset for help on using the changeset viewer.