| Summary: | Draggable portal boxes | ||
|---|---|---|---|
| Product: | Community | Reporter: | Bjorn Freeman-Benson <bjorn.freeman-benson> |
| Component: | Project Management & Portal | Assignee: | Portal Bugzilla Dummy Inbox <portal-inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P4 | CC: | gabe.obrien |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Bjorn Freeman-Benson
How would this work with sort_order() and with new components never before shown? Would layout be completely arbitrary or would there only be slots where components could fit? So are there two columns and you can lay them out on the columns, or can you slap them on there, overlapping, etc, however you like? Previously when something was important we could bring it to everyone's attention by putting it at the top of the list. Can we still do that somehow? (In reply to comment #1) The layout would start with the sort_order. When a layout is rearranged, it obviously may violate the sort_order, so for those boxes the user has effectively defined a new sort_order. Thus if there is an "all hands bulletin" it would be set to sort_order #1 and it would still appear at the top of the list. New boxes would be created as they are now: below the current box. Or we could be fancier and place the new box in the correct sort_order position. Two columns. Boxes can have dynamic sort_order, changing their position based on importance. Perhaps we could change sort_order to have two values: an order and a draggability. (Maybe negative orders are not draggable?) Thus a dynamic box might have sort_order 60 in one state and -20 in another state. When in the first state, it is draggable, but when in the second state it is not. ?? I suggest YUI for this as it can be hosted/cached outside our environment. And it's the best tooling that I know of with regard to AJAX GUI interaction. I'm sure Gabe concurs. I will admit it, I have a big crush on YUI. So I would second the call to use YUI. If we made each column a unsorted list <ul> with list element <li> enclosing each widget. Then we could use the drag and drop lib and allow the lists to be reordered by dragging up and down. Moving from the left to right columns would just be removing from right adding to left (or the opposite). Still have to figure out a good way of storing this layout information in a database. There are other things to be considered as well. Where do new components appear? Do they change the sort order to appear next the component that created them, always appear at the top, or always at the bottom? What about when a component is removed? How do we store the sort order for a component that can create multiple windows like an election? What if it's a new component we' ve never seen before? What if a component that was listed goes away (like election ended)? Realistically, we're not going to do this. Closing. Closed for STAGING_266. |