Due to the impact related to this issue, we have to defer this issue to the next major or minor release.
  1. #1
    Sencha User SunboX's Avatar
    Join Date
    Mar 2010
    Posts
    238
    Vote Rating
    28
    SunboX has a spectacular aura about SunboX has a spectacular aura about

      0  

    Default List with grouped Headers and pinHeaders set to false pins Header after Scrollling

    REQUIRED INFORMATION


    Ext version tested:
    • Sencha Touch 2.0.1.1
    Browser versions tested against:
    • Chrome
    • iOS 5 on iPhone 3GS
    DOCTYPE tested against:
    • <!DOCTYPE html>
    Description:
    • A List with config: { grouped: true, pinHeaders: false } will pin Headers again after you have scrolled the List. See possible fix below.
    Steps to reproduce the problem:
    • Create a List with config: { grouped: true, pinHeaders: false }
    • Scroll the List on heavily CPU load (List with Images, 70 items, CSS3, aso.)
    • After scrolling has finished (and maybe "List.refresh()" got called ...) the Header will be pinned again
    The result that was expected:
    • no pinned Header
    The result that occurs instead:
    • pinned Header
    Test Case:

    Code:
        No test case, bug BugFix below ...


    HELPFUL INFORMATION



    Debugging already done:
    • Ext.dataview.List (List.js) on Line 473:

      Change from:
      Code:
      if (!this.header || !this.header.renderElement.dom) {
          this.createHeader();
      }
      To:
      Code:
      if (this.getPinHeaders() && !this.header) {
          this.createHeader();
      }
      You also have to change:
      Code:
      translateHeaderTransform: function(offset) {
          this.header.renderElement.dom.style.webkitTransform = (offset === null) ? null : 'translate3d(0px, -' + offset + 'px, 0px)';
      },
      translateHeaderCssPosition: function(offset) {
           this.header.renderElement.dom.style.top = (offset === null) ? null : '-' + Math.round(offset) + 'px';
      },
      To:
      Code:
      translateHeaderTransform: function(offset) {
          if(this.header) this.header.renderElement.dom.style.webkitTransform = (offset === null) ? null : 'translate3d(0px, -' + offset + 'px, 0px)';
      },
      translateHeaderCssPosition: function(offset) {
          if(this.header) this.header.renderElement.dom.style.top = (offset === null) ? null : '-' + Math.round(offset) + 'px';
      },

  2. #2
    Sencha - Sr Software Engineer mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    38,510
    Vote Rating
    1113
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default

    2.1.0 b2 will be having a new list so I am going to defer this until that release comes out to see if the new list fixes this issue.
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Software Engineer
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

Thread Participants: 1