Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha User
    Join Date
    Mar 2010
    Posts
    2
    Vote Rating
    0
    Natalia R is on a distinguished road

      0  

    Question [INFOREQ] 3.2.2 Ext.Element Unmask problem

    [INFOREQ] 3.2.2 Ext.Element Unmask problem


    I’ve found a problem during migration from 3.1.1 to 3.2.2

    I am using .mask() and .unmask() methods for toolbar element in my application.
    After upgrade to 3.2.2 I found a bug:
    1) I’ve call element.mask()
    2) Then I call element.unmask()
    3) ‘XMASKED’ class is still applied to element.

    As I see .unmask() method of class Ext.Element is changed.

    EXTJS 3.1.1.

    Code:
            unmask : function(){
                var me = this,
                    dom = me.dom,
                    mask = data(dom, 'mask'),
                    maskMsg = data(dom, 'maskMsg');
                if(mask){
                    if(maskMsg){
                        maskMsg.remove();
                        data(dom, 'maskMsg', undefined);
                    }
                    mask.remove();
                    data(dom, 'mask', undefined);
                }
                me.removeClass([XMASKED, XMASKEDRELATIVE]);
    
            }
    EXTJS 3.2.2

    Code:
          unmask : function(){
                var me = this,
                    dom = me.dom,
                    mask = data(dom, 'mask'),
                    maskMsg = data(dom, 'maskMsg');
                if(mask){
                    if(maskMsg){
                        maskMsg.remove();
                        data(dom, 'maskMsg', undefined);
                    }
                    mask.remove();
                    data(dom, 'mask', undefined);
                }
                if(me.isMasked())
                 { 
                    me.removeClass([XMASKED, XMASKEDRELATIVE]);
                }
            },
    
               
    
              isMasked : function(){
                              var m = data(this.dom, 'mask');
                              return m && m.isVisible();
                          }
    I think that XMASKED class is never be removed because the rule me.isMasked() is always returns FALSE.
    On mask become ‘undefied’ according to :
    data(dom, 'mask', undefined);
    After that .isMasked() function is tries to get ‘mask’ property.

  2. #2
    Sencha - Sencha Touch Dev Team Jamie Avins's Avatar
    Join Date
    Mar 2007
    Location
    Redwood City, California
    Posts
    3,661
    Vote Rating
    21
    Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough

      0  

    Default


    I show this as being fixed in the 3.3.x branch (currently in beta). Can you verify it was fixed in that revision?

Similar Threads

  1. [FIXED-1026] 3.2.2 Element unmask
    By sidebog7 in forum Ext 3.x: Bugs
    Replies: 1
    Last Post: 7 Jun 2010, 10:32 PM
  2. Ext.Element.unmask() does not work
    By 695w in forum Ext 3.x: Help & Discussion
    Replies: 0
    Last Post: 29 Oct 2009, 4:38 PM
  3. element mask unmask not reliable?
    By rjanos in forum Ext 2.x: Help & Discussion
    Replies: 2
    Last Post: 21 Nov 2008, 8:07 AM
  4. [2.x][DUP] Element.unmask doesn't remove "relative"
    By LorenzoW in forum Ext 2.x: Bugs
    Replies: 1
    Last Post: 13 Aug 2008, 2:54 AM
  5. Replies: 5
    Last Post: 7 Dec 2007, 9:48 AM

Thread Participants: 1