Ignore:
Timestamp:
02/13/05 10:09:34 (15 years ago)
Author:
gogo
Message:

Fix to work with Xinha (the new Array. methods were leaking into the drop-down as
function.toString()).

This makes me wonder if adding to the Array prototype is a good idea after all. I havn't
seen any other problems though.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/DynamicCSS/dynamiccss.js

    r1 r10  
    99function DynamicCSS(editor, args) { 
    1010        this.editor = editor; 
    11                  
     11 
    1212        var cfg = editor.config; 
    13         var toolbar = cfg.toolbar; 
    14         var self = this; 
    15         var i18n = DynamicCSS.I18N; 
     13  var toolbar = cfg.toolbar; 
     14  var self = this; 
     15  var i18n = DynamicCSS.I18N; 
    1616 
    1717        /*var cssArray=null; 
     
    1919        var lastTag=null; 
    2020        var lastClass=null;*/ 
    21          
    22         var css_class = { 
    23                 id         : "DynamicCSS-class", 
    24                 tooltip       : i18n["DynamicCSSStyleTooltip"], 
    25                 options    : {"":""}, 
    26                 action     : function(editor) { self.onSelect(editor, this); }, 
    27                 refresh    : function(editor) { self.updateValue(editor, this); } 
    28         }; 
    29         cfg.registerDropdown(css_class); 
    30  
    31         toolbar[0].splice(0, 0, "separator"); 
    32         toolbar[0].splice(0, 0, "DynamicCSS-class"); 
    33         toolbar[0].splice(0, 0, "T[CSS]"); 
     21 
     22  var css_class = { 
     23    id         : "DynamicCSS-class", 
     24    tooltip       : i18n["DynamicCSSStyleTooltip"], 
     25    options    : {"":""}, 
     26    action     : function(editor) { self.onSelect(editor, this); }, 
     27    refresh    : function(editor) { self.updateValue(editor, this); } 
     28  }; 
     29  cfg.registerDropdown(css_class); 
     30 
     31  toolbar[0].splice(0, 0, "separator"); 
     32  toolbar[0].splice(0, 0, "DynamicCSS-class"); 
     33  toolbar[0].splice(0, 0, "T[CSS]"); 
    3434}; 
    3535 
     
    3737        var i18n = DynamicCSS.I18N; 
    3838        iframe = editor._iframe.contentWindow.document; 
    39          
     39 
    4040        cssArray=DynamicCSS.cssArray; 
    4141        if(!cssArray) cssArray=new Array(); 
    42          
     42 
    4343        for(i=0;i<iframe.styleSheets.length;i++){ 
    4444            // Mozilla 
     
    7777        if(cssRules[rule].selectorText){ 
    7878            if(cssRules[rule].selectorText.search(/:+/)==-1){ 
    79                  
     79 
    8080                // split equal Styles (Mozilla-specific) e.q. head, body {border:0px} 
    8181                // for ie not relevant. returns allways one element 
     
    8383                for(k=0;k<cssElements.length;k++){ 
    8484                    cssElement = cssElements[k].split("."); 
    85                      
     85 
    8686                    tagName=cssElement[0].toLowerCase().trim(); 
    8787                    className=cssElement[1]; 
    88                                          
     88 
    8989                    if(!tagName) tagName='all'; 
    9090                    if(!cssArray[tagName]) cssArray[tagName]=new Array(); 
    91                      
     91 
    9292                    if(className){ 
    9393                        if(tagName=='all') cssName=className; 
     
    113113 
    114114DynamicCSS._pluginInfo = { 
    115         name          : "DynamicCSS", 
    116         version       : "1.5.2", 
    117         developer     : "Holger Hees", 
    118         developer_url : "http://www.systemconcept.de/", 
    119         c_owner       : "Holger Hees", 
    120         sponsor       : "System Concept GmbH", 
    121         sponsor_url   : "http://www.systemconcept.de/", 
    122         license       : "htmlArea" 
     115  name          : "DynamicCSS", 
     116  version       : "1.5.2", 
     117  developer     : "Holger Hees", 
     118  developer_url : "http://www.systemconcept.de/", 
     119  c_owner       : "Holger Hees", 
     120  sponsor       : "System Concept GmbH", 
     121  sponsor_url   : "http://www.systemconcept.de/", 
     122  license       : "htmlArea" 
    123123}; 
    124124 
     
    127127    var index = tbobj.element.selectedIndex; 
    128128    var className = tbobj.element.value; 
    129          
     129 
    130130    var parent = editor.getParentElement(); 
    131      
     131 
    132132    if(className!='none'){ 
    133133        parent.className=className; 
     
    177177            this.reparseTimer(editor,obj,this); 
    178178        } 
    179          
     179 
    180180        var parent = editor.getParentElement(); 
    181181        var tagName = parent.tagName.toLowerCase(); 
    182182        var className = parent.className; 
    183          
    184         if(DynamicCSS.lastTag!=tagName || DynamicCSS.lastClass!=className){         
     183 
     184        if(DynamicCSS.lastTag!=tagName || DynamicCSS.lastClass!=className){ 
    185185            DynamicCSS.lastTag=tagName; 
    186186            DynamicCSS.lastClass=className; 
    187          
     187 
    188188            var i18n = DynamicCSS.I18N; 
    189189            var select = editor._toolbarObjects[obj.id].element; 
    190              
     190 
    191191            while(select.length>0){ 
    192192                select.options[select.length-1] = null; 
    193193            } 
    194              
     194 
    195195            select.options[0]=new Option(i18n["Default"],'none'); 
    196196            if(cssArray){ 
     
    199199                    if(cssArray[tagName]){ 
    200200                        for(cssClass in cssArray[tagName]){ 
     201                            if(typeof cssArray[tagName][cssClass] != 'string') continue; 
    201202                            if(cssClass=='none') select.options[0]=new Option(cssArray[tagName][cssClass],cssClass); 
    202203                            else select.options[select.length]=new Option(cssArray[tagName][cssClass],cssClass); 
    203204                        } 
    204205                    } 
    205                      
     206 
    206207                    if(cssArray['all']){ 
    207208                        for(cssClass in cssArray['all']){ 
     209                            if(typeof cssArray['all'][cssClass] != 'string') continue; 
    208210                            select.options[select.length]=new Option(cssArray['all'][cssClass],cssClass); 
    209211                        } 
     
    212214                else if(cssArray[tagName] && cssArray[tagName]['none']) select.options[0]=new Option(cssArray[tagName]['none'],'none'); 
    213215            } 
    214                                  
     216 
    215217            select.selectedIndex = 0; 
    216              
     218 
    217219            if (typeof className != "undefined" && /\S/.test(className)) { 
    218220                var options = select.options; 
     
    229231                } 
    230232            } 
    231                          
     233 
    232234            if(select.length>1) select.disabled=false; 
    233235            else select.disabled=true; 
Note: See TracChangeset for help on using the changeset viewer.