Issue (View Online)

Key: NXP-191
Issue Type: Sub-task Sub-task
Status: Resolved Resolved
Priority: Major Major
Resolution: Fixed
Assignee: George Lefter
Reporter: Florent Guillaume
Original Estimate: 2 days
Remaining Estimate: 2 days

Operations

View all
View comments
View history
JSF Component: tree-based directory select 
Updated: 29/06/07 18:45   Created: 02/11/06 20:42  

The following comment has been added to this issue: [ Permlink ]

Author: Florent Guillaume
Date: 29/06/07 18:45
Comment:
The component has been updated to allow self-referential vocabularies (parent needs to be searched for NULL at the first level).

Project: Nuxeo Enterprise Platform 5
Fix Versions: 5.0.0 GA

 Description   
Create a component + facelet that allows a choice in a list of values from a tree based on directories.

The values selected by this component are "hierarchical", they have a path-based structure.
- paths are of the for 'foo' or 'foo/bar/baz'
- the root is represented by '/'
- the path separator must be configurable to allow a choice different than '/'

The tree is represented by a fixed number of directory tables. Each table represent a "level" of the tree, in this model each level has "homogenous" values.
- the first table represents the toplevel entries of the tree, with columns for id and label (and obsolete) (see NXP-190)
- the remaining table have column for parent_id, id and label. id is just the last component. (parent_id + id) represent a unique key. parent_id+separator+id represents the full value.

The UI of the tree is based on chained selects, like http://www.dynamicdrive.com/dynamicindex1/chainedmenu/index.htm provides.
Another example is the Apple Widget browser at http://www.apple.com/downloads/dashboard/

The facelet must provide options to:
- treats the label as a msgid for i18n
- filters out "obsolete" values: an 'obsolete' column holding a boolean True when the value shouldn't be used anymore
- sort the values by id or label, or "user-visible label" (see below)
- allow selection of only leaves or of values at any level
- allow single or multi-select (note that the problem of multi-select for values with different parent may need a quite different UI)
- if values at any level are allowed, allow selection of the root or not

There must be options to decide how to display a "user-visible label" for the resulting value based on all the labels and ids of the different levels. For example, suppose we have value foo/bar/baz where foo has label "TheFoo", bar has label "TheBar", baz has label "TheBaz". Depending on the chosen options, we may want to display the final value as:
- TheBaz
- TheFoo/TheBar/TheBaz (with configurable separator, so TheFoo > TheBar > TheBaz is also an option)
- baz TheBaz (i.e., prefix the id)
- bar baz TheBaz (i.e., prefix the id also of the parent)
- foo bar baz TheBaz (idem)
This same kind of configurability is needed at each level when the user makes a choice, so for instance in the different select the user may want to see:
- TheFoo | TheBar | TheBaz
- foo TheFoo | bar TheBar | baz TheBaz


An alternative facelet would provide a UI based on a popup with an explorer-based tree (see CPS).

A useful enhancement would be to offer a search field instead of displaying a big select when a level has many entries (more than some threshold?).

This message was automatically generated by Atlassian JIRA Enterprise Edition, Version: 3.7.2-186 - Bug/feature request.
If you think it was sent incorrectly, contact one of this server's administrators.

_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to