Changeset 11908

Show
Ignore:
Timestamp:
12/23/07 10:14:53 (8 months ago)
Author:
doughays
Message:

Fixes #5116, #5233. Added isFF >= 3 logic.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • dijit/trunk/form/Textarea.js

    r11821 r11908  
    2424                {style:"styleNode", 'class':"styleNode"}), 
    2525 
    26         templateString: (dojo.isIE || dojo.isSafari || dojo.isMozilla) ? 
    27                                 ((dojo.isIE || dojo.isSafari) ? '<fieldset id="${id}" class="dijitInline dijitInputField dijitTextArea" dojoAttachPoint="styleNode" waiRole="presentation"><div dojoAttachPoint="editNode,focusNode,eventNode" dojoAttachEvent="onpaste:_changing,oncut:_changing" waiRole="textarea" style="text-decoration:none;_padding-bottom:16px;display:block;overflow:auto;" contentEditable="true"></div>' 
     26        templateString: (dojo.isIE || dojo.isSafari || dojo.isFF) ? 
     27                                ((dojo.isIE || dojo.isSafari || dojo.isFF >= 3) ? '<fieldset id="${id}" class="dijitInline dijitInputField dijitTextArea" dojoAttachPoint="styleNode" waiRole="presentation"><div dojoAttachPoint="editNode,focusNode,eventNode" dojoAttachEvent="onpaste:_changing,oncut:_changing" waiRole="textarea" style="text-decoration:none;_padding-bottom:16px;display:block;overflow:auto;" contentEditable="true"></div>' 
    2828                                        : '<span id="${id}" class="dijitReset">'+ 
    2929                                        '<iframe src="javascript:<html><head><title>${_iframeEditTitle}</title></head><body><script>var _postCreate=window.frameElement?window.frameElement.postCreate:null;if(_postCreate)_postCreate();</script></body></html>"'+ 
    3030                                                        ' dojoAttachPoint="iframe,styleNode" dojoAttachEvent="onblur:_onIframeBlur" class="dijitInline dijitInputField dijitTextArea"></iframe>') 
    3131                                + '<textarea name="${name}" value="${value}" dojoAttachPoint="formValueNode" style="display:none;"></textarea>' 
    32                                 + ((dojo.isIE || dojo.isSafari) ? '</fieldset>':'</span>') 
    33                         : '<textarea id="${id}" name="${name}" value="${value}" dojoAttachPoint="formValueNode,editNode,focusNode,styleNode" class="dijitInputField dijitTextArea"></textarea>', 
     32                                + ((dojo.isIE || dojo.isSafari || dojo.isFF >= 3) ? '</fieldset>':'</span>') 
     33                        : '<textarea id="${id}" name="${name}" value="${value}" dojoAttachPoint="formValueNode,editNode,focusNode,styleNode" class="dijitInputField dijitTextArea">'+dojo.isFF+'</textarea>', 
    3434 
    3535        setAttribute: function(/*String*/ attr, /*anything*/ value){ 
     
    3838                        case "disabled": 
    3939                        case "readOnly": 
    40                                 if(dojo.isIE || dojo.isSafari){ 
     40                                if(dojo.isIE || dojo.isSafari || dojo.isFF >= 3){ 
    4141                                        this.editNode.contentEditable = (!this.disabled && !this.readOnly); 
    42                                 }else if(dojo.isMozilla){ 
     42                                }else if(dojo.isFF){ 
    4343                                        this.iframe.contentDocument.designMode = (this.disabled || this.readOnly)? "off" : "on"; 
    4444                                } 
     
    5151                        this._changing(); // set initial height 
    5252                } 
    53                 if(dojo.isMozilla){ 
     53                if(this.iframe){ 
    5454                        dijit.focus(this.iframe); 
    5555                }else{ 
     
    118118                if(!this.value){ this.value = ""; } 
    119119                this.value = this.value.replace(/\r\n/g,"\n").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&"); 
    120                 if(dojo.isMozilla){ 
     120                if(dojo.isFF == 2){ 
    121121                        // In the case of Firefox an iframe is used and when the text gets focus, 
    122122                        // focus is fired from the document object.  There isn't a way to put a 
     
    152152 
    153153        postCreate: function(){ 
    154                 if(dojo.isIE || dojo.isSafari){ 
     154                if(dojo.isIE || dojo.isSafari || dojo.isFF >= 3){ 
    155155                        this.domNode.style.overflowY = 'hidden'; 
    156                 }else if(dojo.isMozilla){ 
     156                }else if(dojo.isFF){ 
    157157                        var w = this.iframe.contentWindow; 
     158                        var title = ''; 
    158159                        try { // #4715: peeking at the title can throw a security exception during iframe setup 
    159                                 var title = this.iframe.contentDocument.title; 
    160                         } catch(e) { var title = ''; } 
     160                                title = this.iframe.contentDocument.title; 
     161                        } catch(e) {} 
    161162                        if(!w || !title){ 
    162163                                this.iframe.postCreate = dojo.hitch(this, this.postCreate);