Success! Looks like we've fixed this one. According to our records the fix was applied for EXTGWT-2851 in a recent build.
  1. #1
    Sencha Premium Member
    Join Date
    Jun 2012
    Posts
    21
    Vote Rating
    0
    joseph.j.valerio@gmail.com is on a distinguished road

      0  

    Default Minor Bug in LiveGridView - liveScroller styles

    Minor Bug in LiveGridView - liveScroller styles


    Hi Guys,

    I'm having an issue with the liveScroller styles in the LiveGridView. I have a clickable icon near the scrollbar, and it is not clickable. The liveScroller needs a "position: absolute" to correctly move it under the scrollbar. When missing the liveScroller div actually covers the first 18 px (the scrollbar width in FF) to the left of the scrollbar.

    I'm still trying to figure out how to extend the live grid view to fix the issue. Once I do I will post an update. posting.

    Bug:
    liveScroller-before.jpg

    Corrected:
    liveScroller-after.jpg

  2. #2
    Software Architect
    Join Date
    Sep 2007
    Posts
    13,971
    Vote Rating
    132
    sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light

      0  

    Default


    Not sure if i understand correctly what you are trying to do. Would be be possible to post a screenshot on where you position your icon?

    Have you tried to set a high zIndex on that icons element?

  3. #3
    Sencha Premium Member
    Join Date
    Jun 2012
    Posts
    21
    Vote Rating
    0
    joseph.j.valerio@gmail.com is on a distinguished road

      0  

    Default


    Sven,

    I should not have to. The liveScroller div should be under the scrollBar, not covering the grid. The first image above shows the selection of the liveScroller div with firebug and the area of the grid it covers. The second image shows it correctly positioned under the scrollbar where it belongs, and the corresponding absolute style addition.

    Even if there were text that ran into the scrollbar and you allowed text selection, you would not be able to select from the 18 pixels to the left of the scrollbar, because of the liveScroller div covers it.

  4. #4
    Software Architect
    Join Date
    Sep 2007
    Posts
    13,971
    Vote Rating
    132
    sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light sven is a glorious beacon of light

      0  

    Default


    Now i understand what you mean. I will move this thread to the correct location and push it into the tracking system. Thanks for reporting.

  5. #5
    Sencha Premium Member
    Join Date
    Jun 2012
    Posts
    21
    Vote Rating
    0
    joseph.j.valerio@gmail.com is on a distinguished road

      0  

    Default


    For a quick work around here is the code to set the style position to absolute, but since Sencha does the work in the anonymous handler, instead of calling a method on LiveGridView(sorry pet peeve), you can't just override the method you need to add another handler, and rely on handlers being called in the order in which they were registered, which works out ok.

    Code:
    public class MyLiveGridView<M> extends LiveGridView<M> {
    
        private StoreDataChangeHandler<M> liveScrollerFixer;
        private HandlerRegistration liveScrollerFixerRegistration;
        
        /* This is a complete HACK to fix a sencha bug where the live grid
         * liveScroller div covers 18px to the left of the scrollbar.  This just
         * adds a positon:absolute to the div to place it under the scrollBar.
         * (non-Javadoc)
         * @see com.sencha.gxt.widget.core.client.grid.LiveGridView#initData(com.sencha.gxt.data.shared.ListStore, com.sencha.gxt.widget.core.client.grid.ColumnModel)
         */
        @Override
        protected void initData(ListStore<M> ds, ColumnModel<M> cm) {
            super.initData(ds, cm);
            liveScrollerFixer = new StoreDataChangeHandler<M>() {
                @Override
                public void onDataChange(StoreDataChangeEvent<M> event) {
                    liveScroller.getFirstChildElement().getStyle().setPosition(Position.ABSOLUTE);
                }
            };
            if (liveScrollerFixerRegistration != null) {
                liveScrollerFixerRegistration.removeHandler();
                liveScrollerFixerRegistration = null;
            }
            if (ds != null) {
                liveScrollerFixerRegistration = cacheStore.addStoreDataChangeHandler(liveScrollerFixer);
            }
        }
    
    }

  6. #6
    Sencha - GXT Dev Team
    Join Date
    Jan 2012
    Location
    Arlington, WA
    Posts
    403
    Vote Rating
    15
    branflake2267 will become famous soon enough

      0  

    Default


    This issue has been fixed. It is available in SVN and will be released in the next release shortly.

    Brandon

Thread Participants: 2