ICEfaces-EE
  1. ICEfaces-EE
  2. IPCK-239

RichDataGrid -> Moving columns not reliable

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-2.0.0.Beta1
    • Fix Version/s: EE-2.0.0.Beta1
    • Component/s: Facelet Components
    • Labels:
      None
    • Environment:
      ICEfaces EE 2, svn rev. # 26296

      Description

      When using the RichDataGrid component in the ee-composite-showcase app., moving columns by clicking on the left /right arrow buttons that appear in the column header on mouse-over is not reliable.

      For example, moving the "First Name" column to the left seems to work the first time, but subsequent moves to the left are ignored. Other columns can be moved, but eventually strange things start happening, like the First Name column will suddenly snap to the left-most position, as if it finally caught up with the previous move requests, etc.

      No JS errors are seen in the console, and the issue appears on all browsers.

        Activity

        Hide
        Ken Fyten added a comment -

        When the column move fails, it generates a tonne of output in the server log, Duplicate IDs, etc.

        Here's a taste:

        java.lang.IllegalArgumentException: Could not find the MenuPopup UIComponent referenced by attribute menuPopup="richDataGrid2_firstName_createRowMenu" in UIComponent of type: com.icesoft.faces.component.ext.HtmlPanelGroup with id: "j_idt588"
        at com.icesoft.faces.component.menupopup.MenuPopupHelper.findMenuPopup(MenuPopupHelper.java:132)
        at com.icesoft.faces.component.menupopup.MenuPopupHelper.renderMenuPopupHandler(MenuPopupHelper.java:46)
        at com.icesoft.faces.component.ext.renderkit.GroupRenderer.encodeBegin(GroupRenderer.java:160)
        at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:344)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:353)
        at com.icesoft.faces.component.ext.renderkit.TableRenderer.encodeChildren(TableRenderer.java:875)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346)
        at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346)
        at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:353)
        at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346)
        at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346)
        at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:353)
        at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at com.icesoft.faces.component.util.CustomComponentUtils.renderChild(CustomComponentUtils.java:308)
        at com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.writeTabCell(PanelTabSetRenderer.java:995)
        at com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.encodeEnd(PanelTabSetRenderer.java:411)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
        at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
        at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
        at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:152)
        at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
        at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:390)
        at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:396)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:680)
        Feb 18, 2011 1:47:16 PM com.sun.faces.util.Util checkIdUniqueness
        SEVERE: JSF1007: Duplicate component ID iceform:icepnltabset:0:richDataGrid2:coldepartmentName found in view.
        Feb 18, 2011 1:47:16 PM com.sun.faces.util.Util checkIdUniqueness
        SEVERE: +id: j_id1
        type: javax.faces.component.UIViewRoot@326cbb2d
        +id: javax_faces_location_BODY
        type: com.sun.faces.component.ComponentResourceContainer@308c3eb8
        +id: j_id4466
        type: com.icesoft.icefaces.JavascriptResourceOutput@4769baee
        +id: vusla9c1_icefaces_config
        type: org.icefaces.impl.event.BridgeSetup$1@6e6f83e2
        +id: vusla9c1
        type: org.icefaces.impl.event.BridgeSetup$2@5b3ba312
        +id: vusla9c1_icepush
        type: org.icefaces.impl.event.BridgeSetup$3@284f2189
        +id: j_id4467
        type: com.icesoft.faces.application.ExtrasSetup$2@6322be0b
        +id: j_id4468
        type: com.icesoft.faces.component.JavaScriptContextSetup$1@7deaf705
        +id: javax_faces_location_HEAD
        type: com.sun.faces.component.ComponentResourceContainer@4cffa9d8
        +id: j_idt9
        type: javax.faces.component.UIOutput@24e7cb66
        <snipped>

        Show
        Ken Fyten added a comment - When the column move fails, it generates a tonne of output in the server log, Duplicate IDs, etc. Here's a taste: java.lang.IllegalArgumentException: Could not find the MenuPopup UIComponent referenced by attribute menuPopup="richDataGrid2_firstName_createRowMenu" in UIComponent of type: com.icesoft.faces.component.ext.HtmlPanelGroup with id: "j_idt588" at com.icesoft.faces.component.menupopup.MenuPopupHelper.findMenuPopup(MenuPopupHelper.java:132) at com.icesoft.faces.component.menupopup.MenuPopupHelper.renderMenuPopupHandler(MenuPopupHelper.java:46) at com.icesoft.faces.component.ext.renderkit.GroupRenderer.encodeBegin(GroupRenderer.java:160) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:344) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:353) at com.icesoft.faces.component.ext.renderkit.TableRenderer.encodeChildren(TableRenderer.java:875) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346) at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346) at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:353) at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346) at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:346) at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:353) at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:84) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at com.icesoft.faces.component.util.CustomComponentUtils.renderChild(CustomComponentUtils.java:308) at com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.writeTabCell(PanelTabSetRenderer.java:995) at com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.encodeEnd(PanelTabSetRenderer.java:411) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763) at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759) at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:152) at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:390) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:396) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:680) Feb 18, 2011 1:47:16 PM com.sun.faces.util.Util checkIdUniqueness SEVERE: JSF1007: Duplicate component ID iceform:icepnltabset:0:richDataGrid2:coldepartmentName found in view. Feb 18, 2011 1:47:16 PM com.sun.faces.util.Util checkIdUniqueness SEVERE: +id: j_id1 type: javax.faces.component.UIViewRoot@326cbb2d +id: javax_faces_location_BODY type: com.sun.faces.component.ComponentResourceContainer@308c3eb8 +id: j_id4466 type: com.icesoft.icefaces.JavascriptResourceOutput@4769baee +id: vusla9c1_icefaces_config type: org.icefaces.impl.event.BridgeSetup$1@6e6f83e2 +id: vusla9c1 type: org.icefaces.impl.event.BridgeSetup$2@5b3ba312 +id: vusla9c1_icepush type: org.icefaces.impl.event.BridgeSetup$3@284f2189 +id: j_id4467 type: com.icesoft.faces.application.ExtrasSetup$2@6322be0b +id: j_id4468 type: com.icesoft.faces.component.JavaScriptContextSetup$1@7deaf705 +id: javax_faces_location_HEAD type: com.sun.faces.component.ComponentResourceContainer@4cffa9d8 +id: j_idt9 type: javax.faces.component.UIOutput@24e7cb66 <snipped>
        Hide
        Philip Breau added a comment -

        fixed images not showing up due to prototype js errors, column reordering now appears to work well.

        Show
        Philip Breau added a comment - fixed images not showing up due to prototype js errors, column reordering now appears to work well.

          People

          • Assignee:
            Philip Breau
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: