ICEfaces
  1. ICEfaces
  2. ICE-7822

New ace:list, ace:listControl components

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1.0.BETA1, 3.1
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 3, ACE Components
    • Assignee Priority:
      P1
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      Add a new ace:orderedList component with the following features:

      - Optional buttons for ordering within the list (Move selected items Up, Down, Top, Bottom) for the source and destination list.
      - Optional drag and drop support for moving selected items within the list
      - Support for using simple list (selectItems strings) and optionally compound list row contents via facet (can contain any contents desired).

        Issue Links

          Activity

          Hide
          Nils Lundquist added a comment - - edited

          Issues have been encountered due to deriving UIData without maintaining the expectation of iterative children being contained within UIColumn derived children. Solutions are under investigation.
          --------------------
          Ultimately derived by UISeries which has been designed to work around this limitation.

          Show
          Nils Lundquist added a comment - - edited Issues have been encountered due to deriving UIData without maintaining the expectation of iterative children being contained within UIColumn derived children. Solutions are under investigation. -------------------- Ultimately derived by UISeries which has been designed to work around this limitation.
          Hide
          Nils Lundquist added a comment -

          Revision #28804
          Committed by nils.lundquist
          12-04-24 3:34 PM
          ICE-7822 - Initial commit of ace:list & ace:listControl components, and showcase examples thereof.

          Show
          Nils Lundquist added a comment - Revision #28804 Committed by nils.lundquist 12-04-24 3:34 PM ICE-7822 - Initial commit of ace:list & ace:listControl components, and showcase examples thereof.
          Hide
          Nils Lundquist added a comment -

          The development of this component was hampered by problems including:

          • UIData dependency on child column components
          • Attempted to solve by having a custom list of children that would mask an implicit column child in some situations
          • Attempted to inject column child into hierarchy in TagHandler event
          • Investigated complete override of TagHandler / Composite Component
          • Settled on UISeries implementation that is an overriden UIData meant to work without UIColumns
          • Difficulties in addressing the items
          • Have to use indexes despite reordering and new item introduction
          • Planning client-side / server-side interaction between features
          • Need to adjust item index values through list of reorderings to record pre-reorder indexes so that feature decoding can be performed in-order on the server
          • For the client side to be able to migrate items between lists it needs to be sure on the server the operations are performed in the same order (JSF decodes as a tree, this would require alot of effort), or objects addressed uniquely, since neither is possible without further supporting code, migrations must visit the server.
          • Investigated multiple drag jQuery component modification
          • JSF ids need to stay in place, however the underlying JQuery component moves them.
          • Elements need their IDs dynamically updated on the client to preserve the layout of the JSF ids. If the JSF ids are moved DOM diffed updates may update unexpected regions of the page, as the client DOM no longer is addressed similarly to the server dom.
          Show
          Nils Lundquist added a comment - The development of this component was hampered by problems including: UIData dependency on child column components Attempted to solve by having a custom list of children that would mask an implicit column child in some situations Attempted to inject column child into hierarchy in TagHandler event Investigated complete override of TagHandler / Composite Component Settled on UISeries implementation that is an overriden UIData meant to work without UIColumns Difficulties in addressing the items Have to use indexes despite reordering and new item introduction Planning client-side / server-side interaction between features Need to adjust item index values through list of reorderings to record pre-reorder indexes so that feature decoding can be performed in-order on the server For the client side to be able to migrate items between lists it needs to be sure on the server the operations are performed in the same order (JSF decodes as a tree, this would require alot of effort), or objects addressed uniquely, since neither is possible without further supporting code, migrations must visit the server. Investigated multiple drag jQuery component modification JSF ids need to stay in place, however the underlying JQuery component moves them. Elements need their IDs dynamically updated on the client to preserve the layout of the JSF ids. If the JSF ids are moved DOM diffed updates may update unexpected regions of the page, as the client DOM no longer is addressed similarly to the server dom.
          Hide
          Ken Fyten added a comment -

          As of svn rev # 28960 the multi-list demos on showcase no longer function. You can't move the selected items between lists.

          Show
          Ken Fyten added a comment - As of svn rev # 28960 the multi-list demos on showcase no longer function. You can't move the selected items between lists.
          Hide
          Nils Lundquist added a comment -

          Revision #28968
          Committed by nils.lundquist
          2 minutes ago
          ICE-7895 - Fixed regression to ListControl component due change to on instead of live. Problem was due to change in definition of event.currentTarget.

          Show
          Nils Lundquist added a comment - Revision #28968 Committed by nils.lundquist 2 minutes ago ICE-7895 - Fixed regression to ListControl component due change to on instead of live. Problem was due to change in definition of event.currentTarget.

            People

            • Assignee:
              Nils Lundquist
              Reporter:
              Ken Fyten
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: