Issue Summary
I had an idea how this can be done and had to try it out..
Imho, that patch is filled with pure awesomeness :)
It contains/changes:
- It moves the header and field theming from privatemsg_list() to theme_privatemsg_list(), because...
-- memory improvement, we don't need to carry that around, pass it to hooks, save it into {cache_form} and so on.
-- it allows other modules to alter $form['#data'] and it will then call (or not call) additional theme function to collect headers and field data.
-- It's a cleaner separation between theming and logic
- privatemsg_filter adds 0-3 tags per thread to the list..
-- can be enabled/disabled, of course :)
-- All tags are fetched in a single query, that should be quite fast
-- It implements it in a way that we should be able to use for participants too.. that would allow us to remove db-specific code, countless user_load() calls from that page and make the list query simpler (separate patch, of course)
-- it is well documented, I think ;)
| Attachment | Size | Status | Test result | Operations |
|---|---|---|---|---|
| privatemsg_tags_list.patch | 8.39 KB | Ignored: Check issue status. | None | None |
| tags2.png | 30.52 KB | Ignored: Check issue status. | None | None |
Comments
#1
tagging.
#2
Try a screenshot with longer subjects and more realistic tag names. also subject column should have most width. I realize those are rather minor details but they add much to the 'UX' aspect.
#3
Re-roll with a few simple fixes..
- when the first thread did not contain tags, no tags were displayed at all. Fixed.
- made the subject column atleast 35% wide. This is just a test and will not work on older browsers like IE6 (who cares? :) )
- Long tags are now shortened
#4
Did a re-roll for this. Looking for reviews :)
I think this is now even nicer, together with the actions. See attached screenshot.
#5
Fixed a but that removed the last_updated column from the output.
Looking for reviews, this should be quite ready...
#6
Above patch missed a small change, all table columns are now displayed even if there are no new messages.
I'll go forward and commit this and wait a few days to fix bugs if they are reported.
#7
Commited to 6.x-1.x-dev, needs to be ported to 7.x-1.x-dev.
#8
Oh well, that port grow a bit ;)
The patch uses now tablesect for the checkboxes, which eliminates all our code to generate these checkboxes. It also removes theme_privatemsg_list() and instead converts _privatemsg_list_thread() to a #pre_render function, automatically executed before the table is rendered.
#9
Commited to 7.x-1.x-dev
#10
Automatically closed -- issue fixed for 2 weeks with no activity.