This issue duplicates another issue.
  1. #11
    Sencha User
    Join Date
    Sep 2012
    Posts
    31
    Vote Rating
    1
    billsalvucci is on a distinguished road

      0  

    Default


    Has this been submitted as a bug or is there something intrinsically incompatible with adding a contentpanel to an according after it has been attached?

    I built a data driven AccordionLayoutContainer. When I was mocking the data locally everything worked fine. But when I wired this to the backend, I got the assert error because I am now fetching the data async.

    The problem happens when you add the contentpanel to the accordion in this code:

    @Override
    protected void onInsert(int index, Widget child) {
    super.onInsert(index, child);
    assert child instanceof ContentPanel : "AccordionLayoutContainer must be ContentPanels";

    ContentPanel cp = (ContentPanel) child;
    cp.addBeforeExpandHandler(handler);
    cp.addExpandHandler(handler);
    cp.setCollapsible(true);
    cp.setHideCollapseTool(hideCollapseTool);
    cp.setAnimCollapse(false);
    cp.setTitleCollapse(titleCollapse);
    }

    the cp.setCollapible does


    public void setCollapsible(boolean collapsible) {
    assertPreRender();
    this.collapsible = collapsible;
    }

    protected void assertPreRender() {
    assert !isOrWasAttached() : "Method must be called before the widget is rendered";
    }

    protected final boolean isOrWasAttached() {
    return eventsToSink == -1;
    }

  2. #12
    Sencha User
    Join Date
    Sep 2012
    Posts
    31
    Vote Rating
    1
    billsalvucci is on a distinguished road

      0  

    Default


    Has this been submitted as a bug or is there something intrinsically incompatible with adding a contentpanel to an according after it has been attached?

    I built a data driven AccordionLayoutContainer. When I was mocking the data locally everything worked fine. But when I wired this to the backend, I got the assert error because I am now fetching the data async.

    The problem happens when you add the contentpanel to the accordion in this code:

    @Override
    protected void onInsert(int index, Widget child) {
    super.onInsert(index, child);
    assert child instanceof ContentPanel : "AccordionLayoutContainer must be ContentPanels";

    ContentPanel cp = (ContentPanel) child;
    cp.addBeforeExpandHandler(handler);
    cp.addExpandHandler(handler);
    cp.setCollapsible(true);
    cp.setHideCollapseTool(hideCollapseTool);
    cp.setAnimCollapse(false);
    cp.setTitleCollapse(titleCollapse);
    }

    the cp.setCollapible does


    public void setCollapsible(boolean collapsible) {
    assertPreRender();
    this.collapsible = collapsible;
    }

    protected void assertPreRender() {
    assert !isOrWasAttached() : "Method must be called before the widget is rendered";
    }

    protected final boolean isOrWasAttached() {
    return eventsToSink == -1;
    }

  3. #13
    Sencha User
    Join Date
    Sep 2012
    Posts
    31
    Vote Rating
    1
    billsalvucci is on a distinguished road

      0  

    Default


    I commented out the cp.setCollapsible line in onInsert and everything seems to work fine.

    This really does seem like a bug in 3.0.1

  4. #14
    Sencha - GXT Dev Team
    Join Date
    Feb 2009
    Location
    Minnesota
    Posts
    2,734
    Vote Rating
    90
    Colin Alworth is a glorious beacon of light Colin Alworth is a glorious beacon of light Colin Alworth is a glorious beacon of light Colin Alworth is a glorious beacon of light Colin Alworth is a glorious beacon of light

      0  

    Default


    This is a bug, not sure why it was passed over when originally mentioned, but there are other reported threads that reference it, so I'm linking this issue to those.

    http://www.sencha.com/forum/showthread.php?261470
    EXTGWT-3005