Implement a class which handles display and update of "weights" in any Selector. (example would be civicrm/admin/uf/group/field?reset=1&action=browse&gid=1)
1. Change "label" in forms and selector column header from "Weight" to "Order"
2. Implement the class method for displaying and allowing re-ordering items FROM the selector. Class does the following:
- Add small Up and Down arrow images (links) to the right of "order" cell.
- On click of Up arrow, row "weight" is swapped with row above (by weight)
- On click of Down arrow, row "weight" is swapped with row below.
NOTE: Check if there is an available dojo code which extends the table widget we are using and does this.
----- Original Post -------------------
Currently, the only way to reorder items using weights and give each item a unique weight is to edit each item individually. This is very time consuming because it requires loading and then saving many pages. Also, for the end user it is somewhat confusing because if you have sequential weights and now want to reorder them you need to give multiple items the same weight (using decimals does not seem to help) and it isn't obvious if the newest entry with a weight will go first or last. When, for example, trying to alphabetize a list of multiple choice options this can be very frustrating.
It would be better if it were possible to reweight from the screen with the full list of items (instead of having to edit each item). (This is what Joomla! does for example in ordering categories.)
Also, the word "weight" does not seem particularly descriptive from an end user perspective. It would be better to make the label "order."
My trick is usually to skip numbers between weights so that if I need to reorder I have some room to play, but that is not going to work for a clerical worker in an office.