Pagination links in list mode
Reported by Zohar Arad | December 16th, 2007 @ 09:41 PM
Hey there
I've just downloaded and installed the will_paginate plugin, which
works great on my blog app. and I'd like to thank you for creating it :)
I wanted to extend the functionality of the plugin to support a
rendering mode with an unordered list rather than a DIV with spans /
links inside it, as some XHTML developers like to render a list of
links that way.
My fix adds the option to pass :list_mode => true as a parameter to
the will_pagination plugin, which will render the pagination as an
unordered list. The default value of this parameter is :list_mode =>
false so that it behaves as before if not told otherwise.
Additionally, I added an optional :id parameter, which will add an "id" attribute to the pagination wrapping element (whether UL or DIV) for easier targeting via JavaScript.
I hope that you consider updating the plugin to support the above, or
grant me permission to upload it to my webspace with this amendment.
Comments and changes to this ticket
-
Mislav December 19th, 2007 @ 03:24 PM
- State changed from new to open
- Title changed from will_paginate enhancement to list mode enhancement
Hi, thanks for the suggestion/patch!
I've been planing to make a list mode for some time now, your code might help me to do it faster :)
-
Zohar Arad December 19th, 2007 @ 10:28 PM
Hey
Hope my code helps :)
Please let me know if there's anything else I can do regarding this.
Regards
Zohar
-
Mislav December 25th, 2007 @ 04:32 AM
- Title changed from list mode enhancement to [idea] list mode
- Assigned user changed from Chris Wanstrath to Mislav
-
omarqureshi July 3rd, 2008 @ 01:36 PM
- Tag set to will_paginate
Sounds like a good idea, would definately be up for this patch
-
Mislav October 13th, 2008 @ 02:47 AM
- Title changed from [idea] list mode to Pagination links in list mode
- State changed from open to resolved
- Tag changed from will_paginate to html, will_paginate
I've given this a lot of thought and resolved not to support list mode in core. I just don't see the semantic advantage, particularly when considering an unordered list.
Here is a drop-in link renderer that can do what you wanted. (This works on the "agnostic" branch of will_paginate, soon to be released.)
class ListRenderer < WillPaginate::ViewHelpers::LinkRenderer def to_html html = pagination.map do |item| item_html = item.is_a?(Fixnum) ? page_number(item) : send(item) tag(:li, item_html) end.join(@options[:separator]) @options[:container] ? html_container(html) : html end def html_container(html) tag(:ol, html, container_attributes) end end
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
Everyone's favorite Ruby library for pagination of practically anything!