FLUID-617: Simplify the API for creating a Reorderer for lists, grids, and portlets/layouts.

Metadata

Source
FLUID-617
Type
Bug
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Colin Clark
Reporter
Colin Clark
Created
2008-05-22T18:40:55.000-0400
Updated
2008-06-05T11:37:27.000-0400
Versions
  1. 0.1
Fixed Versions
  1. 0.3
Component
  1. Reorderer

Description

Right now, it takes a bit of work to construct a Reorderer instance. You need to pass in a number of arguments that are essentially internal concerns to the Reorderer, such as itemFinders, the LayoutHandler, and so on. This probably presents a barrier to entry for most casual users who might just want to quickly reorder a list, grid or set of portlets, without getting into the complexities of our more advanced options and data structures.

Here's a suggested approach:

fluid.reorderList(containerSelector, itemSelector, orderChangedCallback);
fluid.reorderGrid(containerSelector, itemSelector, orderChangedCallback);
fluid.reorderPortlets(containerSelector, portletSelectors, options);

dev-iteration34

Comments

  • Colin Clark commented 2008-05-22T18:43:30.000-0400

    Patch showing the implementation of reorderList() and reorderGrid().

  • Colin Clark commented 2008-05-28T18:59:00.000-0400

    We've written these functions now and they're working nicely. Still to do:

    • Write a unit test for reorderLayout() itself; we test all the underlying functionality, and have a markup example, but need a unit test for the top-level function
    • Update reorderList() and reorderGrid() to optionally take a map of selectors allowing users to independently specify movables, selectables, drop targets, grab handle
    • Also pass through the options to those functions
    • Refactor reorderLayout() and initLayoutCustomizer() to take an orderChangedCallback function
    • Simplify initLayoutCustomizer()
  • Michelle D'Souza commented 2008-05-29T18:31:26.000-0400

    Attaching a patch with an implementation to allow a map of selectors or a single selector as a parameter to reorderList and reorderGrid. The rest of the above tasks have been done and committed.

  • Colin Clark commented 2008-05-30T18:41:30.000-0400

    Fixed!

  • Michelle D'Souza commented 2008-06-05T11:37:27.000-0400

    The new API is now being used in some of the examples.