Changeset 879 for trunk


Ignore:
Timestamp:
08/17/07 18:00:44 (12 years ago)
Author:
ray
Message:
  • #1059 Equation plugin loosing formula onsubmit
  • #1060 Equation plugin various updates
Location:
trunk/plugins/Equation
Files:
3 edited

Legend:

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

    r874 r879  
    5656                                } 
    5757                        ); 
    58         this.onBeforeSubmit = this.onBeforeUnload = function () {self.unParse();self.reParse = true}; 
     58                this.onBeforeSubmit = this.onBeforeUnload = function () {self.unParse();}; 
    5959        } 
    6060         
     
    6767Xinha.Config.prototype.Equation = 
    6868{ 
    69         "mathcolor" : "red",       // change it to "" (to inherit) or any other color 
     69        "mathcolor" : "black",       // change it to "" (to inherit) or any other color 
    7070        "mathfontfamily" : "serif" // change to "" to inherit (works in IE)  
    7171                               // or another family (e.g. "arial") 
     
    7474Equation._pluginInfo = { 
    7575        name          : "ASCIIMathML Formula Editor", 
    76         version       : "2.1 (2007-08-06)", 
     76        version       : "2.2 (2007-08-17)", 
    7777        developer     : "Raimund Meyer", 
    7878        developer_url : "http://rheinaufCMS.de", 
     
    9393Equation.prototype.onUpdateToolbar = function()  
    9494{ 
    95         if (!Xinha.is_ie && this.reParse) AMprocessNode(this.editor._doc.body, false); 
    96 }; 
    97  
     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        if (!Xinha.is_ie) 
     102        { 
     103                var span = e._getFirstAncestor(e.getSelection(),['span']); 
     104                if ( span && span.className == "AM" ) 
     105                { 
     106                        e.selectNodeContents(span); 
     107                } 
     108        } 
     109}; 
    98110 
    99111Equation.prototype.onModeChange = function( args ) 
     
    134146        { 
    135147                var node = spans[i]; 
    136                 if (node.className.indexOf ("AM") == -1) continue; 
     148                if (node.className.indexOf ("AM") == -1 || node.getElementsByTagName("math").length == 0) continue; 
    137149                var formula = node.getAttribute("title"); 
    138150                node.innerHTML = formula; 
     
    172184                        { 
    173185                                span.innerHTML = formula; 
    174                                 span.title = formula; 
     186                                if (!Xinha.is_ie) span.title = formula; 
    175187                        } 
    176188                        else 
     
    192204                        else 
    193205                        { 
    194                                 this.editor.insertHTML('<span class="AM" title="'+formula+'">'+formula+'</span>'); 
     206                                this.editor.insertHTML('<span class="AM">'+formula+'</span>'); 
    195207                        } 
    196208                } 
  • trunk/plugins/Equation/lang/de.js

    r677 r879  
    1919  "Based on ASCIIMathML by ": "Basiert auf ASCIIMathML von ", 
    2020  "For more information on AsciiMathML visit this page: ":"FÃŒr weitere Informationen besuchen Sie bitte diese Seite: ", 
    21   "Attention: Editing the formula in the editor is not possible, please use this dialog!" : "Achtung, Àndern der Formel im Editor ist nicht möglich. Bitte benutzen Sie diesen Dialog!" 
     21  'Attention Internet Explorer users: Please note that there is no WYSIWYG representation of the formula in the editor!<br />You might wish to use <a href="http://www.mozilla.com" target="_blank">Mozilla Firefox</a> instead.' : 'Achtung Internet Explorer-Benutzer: Die Formel wird im Editor nicht als WYSIWYG dargestellt.<br />Benutzen Sie <a href="http://www.mozilla.com" target="_blank">Mozilla Firefox</a> als Alternative.', 
     22  "Show MathML" : "Zeige MathML" 
    2223} 
  • trunk/plugins/Equation/popups/dialog.html

    r874 r879  
    1111 
    1212  <style type="text/css"> 
    13         #outputNode,#inputText { 
     13        /* <![CDATA[ */ 
     14        #outputNode,#inputText,#mathml { 
    1415                padding:5px; 
    1516                background-color:white; 
    16                 width:230px; 
     17                width:98%; 
    1718                height:200px; 
    1819                font-size:1.3em; 
    1920                border: 1px solid darkgrey; 
     21                overflow:auto; 
    2022        } 
    2123        #clickInput { 
     
    3436                font-size:1.6em; 
    3537        } 
     38        /* ]]> */ 
    3639  </style> 
    3740  <script type="text/javascript"> 
     41 // <![CDATA[ 
    3842   window.resizeTo(500, 300); 
    3943var showasciiformulaonhover = false; 
     
    8084        if (param["editedNode"] && param["editedNode"].tagName.toLowerCase() == 'span') 
    8185        { 
    82                 var formula = param["editedNode"].getAttribute("title").replace(/^`*(.*?)`*$/m,"$1");; 
     86                var formula = param["editedNode"].getAttribute("title").replace(/^`*(.*?)`*$/m,"$1"); 
     87                if (!formula) formula = param["editedNode"].innerHTML.replace(/^`*(.*?)`*$/m,"$1");  
    8388                inputField.value = formula; 
    8489                preview(); 
     
    113118} 
    114119window.onload = Init; 
     120 
     121function AMnode2string(inNode,indent) { 
     122// thanks to James Frazer for contributing an initial version of this function 
     123   var i, str = ""; 
     124   if(inNode.nodeType == 1) { 
     125       var name = inNode.nodeName.toLowerCase(); // (IE fix) 
     126       str = "\r" + indent + "<" + name; 
     127       for(i=0; i < inNode.attributes.length; i++) 
     128           if (inNode.attributes[i].nodeValue!="italic" && 
     129               inNode.attributes[i].nodeValue!="" &&  //stop junk attributes 
     130               inNode.attributes[i].nodeValue!="inherit" && // (mostly IE) 
     131               inNode.attributes[i].nodeValue!=undefined && 
     132               inNode.attributes[i].nodeName[0] != '-' 
     133               ) 
     134               str += " "+inNode.attributes[i].nodeName+"="+ 
     135                     "\""+inNode.attributes[i].nodeValue+"\""; 
     136       if (name == "math")  
     137           str += " xmlns=\"http://www.w3.org/1998/Math/MathML\""; 
     138       str += ">"; 
     139       for(i=0; i<inNode.childNodes.length; i++) 
     140           str += AMnode2string(inNode.childNodes[i], indent+"  "); 
     141       if (name != "mo" && name != "mi" && name != "mn") str += "\r"+indent; 
     142       str += "</" + name + ">"; 
     143   } 
     144   else if(inNode.nodeType == 3) { 
     145       var st = inNode.nodeValue; 
     146       for (i=0; i<st.length; i++) 
     147           if (st.charCodeAt(i)<32 || st.charCodeAt(i)>126) 
     148               str += "&#"+st.charCodeAt(i)+";"; 
     149           else if (st.charAt(i)=="<" && indent != "  ") str += "&lt;"; 
     150           else if (st.charAt(i)==">" && indent != "  ") str += "&gt;"; 
     151           else if (st.charAt(i)=="&" && indent != "  ") str += "&amp;"; 
     152           else str += st.charAt(i); 
     153   } 
     154   return str; 
     155}  
     156function showMathML() 
     157{ 
     158        var math = document.getElementById("outputNode").getElementsByTagName("math")[0]; 
     159        if (math) 
     160                math.parentNode.innerHTML = '<pre>'+Xinha.htmlEncode(AMnode2string(math,''))+'</pre>'; 
     161} 
     162// ]]> 
    115163</script> 
    116164 
     
    278326<table style="width: 100%;border:none"> 
    279327  <tr> 
    280     <td>Input</td><td>Preview</td> 
     328    <td style="width:50%">Input</td><td style="width:50%"><input type="button" onclick="showMathML()" style="float:right;font-size:10px" value="Show MathML" /><span>Preview</span></td> 
    281329  </tr> 
    282330  <tr> 
     
    286334    <td> 
    287335    <div id="outputNode"></div> 
     336    <textarea id="mathml" style="display:none"></textarea> 
    288337    </td> 
    289338  </tr> 
    290339  <tr><td colspan="2"> 
    291   <span>Based on ASCIIMathML by </span><a href="http://www.chapman.edu/~jipsen" target="_blank">Peter Jipsen</a>,  
    292 <a href="http://www.chapman.edu" target="_blank">Chapman University</a><br /> 
     340  <span>Based on ASCIIMathML by </span><a href="http://www.chapman.edu/~jipsen" onclick="window.open(this.href,'_blank','');return false;">Peter Jipsen</a>,  
     341<a href="http://www.chapman.edu" onclick="window.open(this.href,'_blank','');return false;">Chapman University</a><br /> 
    293342  <span>For more information on AsciiMathML visit this page: </span><a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html" onclick="window.open(this.href,'_blank','');return false;">http://www1.chapman.edu/~jipsen/mathml/asciimath.html</a></td></tr> 
    294343</table> 
    295344 
    296345<div id="buttons"> 
    297 <span style="color:red">Attention: Editing the formula in the editor is not possible, please use this dialog!</span> 
     346<script type="text/javascript"> 
     347// <![CDATA[ 
     348if (Xinha.is_ie) 
     349 document.write('<span style="color:red;float:left">'+i18n('Attention Internet Explorer users: Please note that there is no WYSIWYG representation of the formula in the editor!<br />You might wish to use <a href="http://www.mozilla.com" target="_blank">Mozilla Firefox</a> instead.')+'</span>'); 
     350// ]]> 
     351</script> 
    298352  <button type="submit" name="ok" onclick="return onOK();">OK</button> 
    299353  <button type="button" name="cancel" onclick="return onCancel();">Cancel</button> 
Note: See TracChangeset for help on using the changeset viewer.