[jbossseam-issues] [JBoss JIRA] Closed: (JBSEAM-829) ICEfaces Tree Component needs reworking

Pete Muir (JIRA) jira-events at lists.jboss.org
Mon Jun 2 07:56:22 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBSEAM-829?page=all ]

Pete Muir closed JBSEAM-829.
----------------------------


> ICEfaces Tree Component needs reworking
> ---------------------------------------
>
>                 Key: JBSEAM-829
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-829
>             Project: Seam
>          Issue Type: Bug
>          Components: ICE Faces Integration
>            Reporter: Gregory Dick
>         Assigned To: Gregory Dick
>             Fix For: 1.2.1.GA
>
>
> Some comments 
> Plain tree component with label:
>          <ice:tree value="#{nodeTree.model}" var="item">
>              <ice:treeNode>
>                  <f:facet name="content">
>                          <ice:commandLink actionListener="#
> {item.userObject.nodeClicked}">
>                              <ice:outputText value="#
> {item.userObject.text}"/>
>                          </ice:commandLink>
>                  </f:facet>
>              </ice:treeNode>
>          </ice:tree>
> Renders HTML with whitespace between <img> and <a> tags, resulting in
> broken <div> padding and unwanted spaces:
> <div class="iceTreeRow" id="_id21:_id22-div-2"
> name="treeNodeDiv"><img alt="" border="0" src="./xmlhttp/css/xp/css-
> images/tree_line_blank.gif"></img>
> <img alt="" border="0" src="./xmlhttp/css/xp/css-images/
> tree_line_last_node.gif"></img>
> Should be:
> <div class="iceTreeRow" id="_id21:_id22-div-2"
> name="treeNodeDiv"><img alt="" border="0" src="./xmlhttp/css/xp/css-
> images/tree_line_blank.gif"></img><img alt="" border="0" src="./
> xmlhttp/css/xp/css-images/tree_line_last_node.gif"></img>
> and so on... the only whitespaces should (could) be between </
> div><div> tags, nowhere else. The trick with whitespace:nowrap in the
> CSS is not going to cut it, there are still spaces left that I don't
> want.
> ---------------------------------------------------
> The xp/tree_nav_top_close_no_siblings.gif GIF is broken, it is not
> transparent and the icon is not centered on the canvas.
> ---------------------------------------------------
> After clicking on the tree and playing with the XHTML a little, I got
> this:
> 03:36:56,599 ERROR [[Blocking Servlet]] Servlet.service() for servlet
> Blocking Servlet threw exception
> java.lang.RuntimeException: viewNumber 1 update queue exceeded 26
>          at
> com.icesoft.faces.webapp.xmlhttp.BlockingResponseState.writeElement
> (BlockingResponseState.java:183)
>          at com.icesoft.faces.context.DOMResponseWriter.writeDOM
> (DOMResponseWriter.java:375)
>          at com.icesoft.faces.application.D2DViewHandler.renderView
> (D2DViewHandler.java :161)
> Had to restart the server.
> ---------------------------------------------------
> To collapse a node I can click on the [-] icon of the node. Expanding
> with the then displayed [+] icon does not work, although I see a
> submit on the server log. If I click on the commandLink (the label)
> instead, the node expands but I also get the select event for that
> node. This is either a simple copy/paste bug or inconsistent UI
> behavior.
> ---------------------------------------------------
> Did not find a way (documentation doesn't mention it) to customize
> the images that are rendered by components without CSS, for example,
> the expand/collapse icons of a tree. After reading the source and API
> doc of the Tree component, I found the setImageDir() method, this
> should be documented better in the reference.
> ---------------------------------------------------
> The data binding for the tree is questionable. First, the idea of
> using the Swing datamodels is good, in fact, JSF should not have its
> own UI datamodels at all and every UI component should be able to use
> the Swing datamodels. This allows us to expose a UI datamodel on
> backing beans (EJBs in Seam) without requiring extension or inclusion
> of any vendor-specific API or JAR in the EJB deployment module. Most
> JSF component providers do not realize this and require custom
> datamodels.
> I can't list everything that is wrong with the tree databinding,
> short list:
> - Finally, the UI component does no longer require DefaultTreeModel
> but the TreeModel interface (good)
> - Every object in the TreeModel is cast to a DefaultMutableTreeNode,
> this is not an interface! I want to use my own TreeNode implementation!
> - Every DefaultMutableTreeNode needs a wrapped IceUserObject, this is
> completely unecessary if I'd be able to use my own TreeNode
> implementation (maybe I can also implement an IceTreeNode interface
> for some UI binding).
> - This would also solve the lazy loading FAQs on the Icefaces forum,
> the approach with event listeners in the IceUserObject is a non-
> starter, my TreeModel/TreeNode implementation could do that just fine
> - There are unused classes such as TreeDataModel hanging around the
> icefaces package, these only add to the confusion
> Summary: This needs a serious redesign before it is usable.
> ---------------------------------------------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list