From 3e2deaf0e3dce32b97033e15b8c56b1c8e5852a3 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Jan 2015 17:22:36 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Kaminari=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../redpenny-master/stylesheets/application.css | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/public/themes/redpenny-master/stylesheets/application.css b/public/themes/redpenny-master/stylesheets/application.css index 936610c6b..31746802e 100644 --- a/public/themes/redpenny-master/stylesheets/application.css +++ b/public/themes/redpenny-master/stylesheets/application.css @@ -2259,3 +2259,16 @@ ul.messages-for-user-reply li { .footer_text_link{ margin: 0px 5px; } + +/**kaminari 分頁當前頁樣式**/ +div.pagination a.current-page { + /*color: rgb(153, 153, 153); add by huang*/ + /*color:#e2f4ff;*/ + cursor: default; +} + +div.pagination a.current-page { + /*background-color: rgb(245, 245, 245); add by huang*/ + background-color:#e2f4ff; +} +/**kaminari 分頁樣式**/ From 55e049edbb8015d47f0ce42b1f8632930fafd91e Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Jan 2015 17:23:04 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=8E=BB=E6=8E=89Kaminari=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/application.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 3b482f333..29d81fe88 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -2923,7 +2923,7 @@ input[class~='m3p10'], .m3p10 { .search_results { color: red; } -/*lizanle 分页样式*/ +/*lizanle 分页样式 .pagination ul li a, .pagination ul li span{ background-color: #FFFFFF; border-color: #DDDDDD; @@ -2947,4 +2947,5 @@ input[class~='m3p10'], .m3p10 { margin-right: 3px; list-style: none outside none; -} \ No newline at end of file +} +*/ From c543a28cc82b0dbcb712ecbedb6d8a089b3ea9f3 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Jan 2015 17:24:26 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E9=87=8D=E5=86=99url=5Fhelper=20link=5Fto?= =?UTF-8?q?=5Funless=E6=96=B9=E6=B3=95=EF=BC=8C=E7=BB=99Kaminari=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E9=A1=B5=E6=B7=BB=E5=8A=A0=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/initializers/url_helper.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 config/initializers/url_helper.rb diff --git a/config/initializers/url_helper.rb b/config/initializers/url_helper.rb new file mode 100644 index 000000000..7c4b68be9 --- /dev/null +++ b/config/initializers/url_helper.rb @@ -0,0 +1,22 @@ +# Time 2015-01-30 17:02:41 +# Author lizanle +# Description 打开redmine\ruby\lib\ruby\gems\1.9.1\gems\actionpack-3.2.13\lib\action_view\helpers\UrlHelper,重写link_to_unless方法 +# 如果是当前页,则给当前页添加样式:class=>'current-page' +module ActionView + # = Action View URL Helpers + module Helpers #:nodoc: + # Provides a set of methods for making links and getting URLs that + # depend on the routing subsystem (see ActionDispatch::Routing). + # This allows you to use the same format for links in views + # and controllers. + module UrlHelper + def link_to_unless(condition, name, options = {}, html_options = {}, &block) + if condition + link_to(name, options, html_options.merge(:class => 'current-page')) + else + link_to(name, options, html_options) + end + end + end + end +end \ No newline at end of file From a47cb8eb65ea11a299524208d2edc155dea47f4c Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Jan 2015 17:24:56 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=8E=9F=E6=9C=89?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F=E5=88=86=E9=A1=B5=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/search.html.erb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/projects/search.html.erb b/app/views/projects/search.html.erb index 0f6fa695e..a9d3184b7 100644 --- a/app/views/projects/search.html.erb +++ b/app/views/projects/search.html.erb @@ -65,11 +65,11 @@ <% end %> - + + +<%= paginate @project_pages %> + + <% if User.current.logged? %>

From ff80bea0c26509accfcbc01b5b7f7c54359a63e8 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Jan 2015 17:25:27 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Kaminari=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E5=B9=B6=E7=BB=99=E5=87=BA?= =?UTF-8?q?=E4=BA=86=E6=AF=94=E8=BE=83=E8=AF=A6=E7=BB=86=E7=9A=84=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/initializers/kaminari_config.rb | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 config/initializers/kaminari_config.rb diff --git a/config/initializers/kaminari_config.rb b/config/initializers/kaminari_config.rb new file mode 100644 index 000000000..63e6b7f9b --- /dev/null +++ b/config/initializers/kaminari_config.rb @@ -0,0 +1,32 @@ +# Time 2015-01-30 17:04:12 +# Author lizanle +# Description kaminari配置文件 +# <%= paginate @users, :window => 2 %> +# 则展示页会像 5 6 7 8 9 ,当7是当前页的时候 + +# <%= paginate @users, :outer_window => 3 %> +# 分页展示会像 1 2 3 4 ...(snip)... 17 18 19 20 当总共有20个页面的时候 + +# <%= paginate @users, :left => 1, :right => 3 %> +# 分页展示会像 1 ...(snip)... 18 19 20 当总共有20个页面的时候 + +# <%= paginate @users, :param_name => :pagina %> +# 这样子会将每个链接传进去一个参数 :pagina + +# <%= paginate @users, :params => {:controller => 'foo', :action => 'bar'} %> +# 这样子将会修改每个链接的控制器和动作. :controller and :action + +# <%= paginate @users, :remote => true %> +# 这将会使每个链接使用ajax方式,极其简单,非常完美的工作。data-remote="true" + +#更多知识详见 https://github.com/honwlee/kaminari +Kaminari.configure do |config| + # config.default_per_page = 25 + # config.max_per_page = nil + # config.window = 4 + # config.outer_window = 3 + # config.left = 0 + # config.right = 0 + # config.page_method_name = :page + # config.param_name = :page +end From 999b3957633606e5ec09ff168c0daa12f3a2915b Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 30 Jan 2015 17:26:23 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Kaminari=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=A0=B7=E5=BC=8F=E6=96=87=E4=BB=B6=EF=BC=8C=20=5Fpag?= =?UTF-8?q?inator.html.erb=20=E8=BF=99=E6=98=AF=E6=80=BB=E7=9A=84=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E4=BB=B6=EF=BC=8C=E5=8F=AF=E4=BB=A5=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E4=BF=AE=E6=94=B9=E5=AE=83=E6=9D=A5=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=9A=84=E6=95=B4=E4=BD=93=E7=BB=93=E6=9E=84?= =?UTF-8?q?=20=E6=AF=94=E5=A6=82=E6=88=91=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E2=80=9C=E9=A6=96=E9=A1=B5=E2=80=9D=EF=BC=8C=E2=80=9D=E6=9C=AB?= =?UTF-8?q?=E9=A1=B5=E2=80=9C=E8=BF=99=E4=B8=A4=E4=B8=AA=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=EF=BC=8C=E9=82=A3=E4=B9=88=E6=88=91=E5=B0=B1=E5=9C=A8=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E6=96=87=E4=BB=B6=E9=87=8C=E9=9D=A2=E5=B0=86=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E7=9A=84=E4=BB=A3=E7=A0=81=E5=88=A0=E9=99=A4=20=5Fpag?= =?UTF-8?q?e.html.erb=20=E5=AF=B9=E5=BA=94=E9=A1=B5=E7=A0=81=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=20=5Ffirst=5Fpage.html.erb=20/=20=5Flast=5Fpage.html.?= =?UTF-8?q?erb=20=E5=AF=B9=E5=BA=94=E2=80=9C=E9=A6=96=E9=A1=B5=E2=80=9D?= =?UTF-8?q?=E5=92=8C=E2=80=9C=E6=9C=AB=E9=A1=B5=E2=80=9D=E7=9A=84=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=20=5Fprev=5Fpage.html.erb=20/=20=5Fnext=5Fpage.html.e?= =?UTF-8?q?rb=20=E5=AF=B9=E5=BA=94=E2=80=9C=E4=B8=8A=E4=B8=80=E9=A1=B5?= =?UTF-8?q?=E2=80=9D=E5=92=8C=E2=80=9C=E4=B8=8B=E4=B8=80=E9=A1=B5=E2=80=9D?= =?UTF-8?q?=E7=9A=84=E9=93=BE=E6=8E=A5=20=5Fgap.html.erb=20=E7=A9=BA?= =?UTF-8?q?=E9=9A=99=E7=9A=84=E6=98=BE=E7=A4=BA=EF=BC=8C=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=98=AF=E4=B8=AD=E9=97=B4=E7=9A=84=E7=9C=81=E7=95=A5=E5=8F=B7?= =?UTF-8?q?(...)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/kaminari/_first_page.html.erb | 11 +++++++++++ app/views/kaminari/_gap.html.erb | 8 ++++++++ app/views/kaminari/_last_page.html.erb | 11 +++++++++++ app/views/kaminari/_next_page.html.erb | 11 +++++++++++ app/views/kaminari/_page.html.erb | 13 +++++++++++++ app/views/kaminari/_paginator.html.erb | 23 +++++++++++++++++++++++ app/views/kaminari/_prev_page.html.erb | 11 +++++++++++ 7 files changed, 88 insertions(+) create mode 100644 app/views/kaminari/_first_page.html.erb create mode 100644 app/views/kaminari/_gap.html.erb create mode 100644 app/views/kaminari/_last_page.html.erb create mode 100644 app/views/kaminari/_next_page.html.erb create mode 100644 app/views/kaminari/_page.html.erb create mode 100644 app/views/kaminari/_paginator.html.erb create mode 100644 app/views/kaminari/_prev_page.html.erb diff --git a/app/views/kaminari/_first_page.html.erb b/app/views/kaminari/_first_page.html.erb new file mode 100644 index 000000000..ec2c75026 --- /dev/null +++ b/app/views/kaminari/_first_page.html.erb @@ -0,0 +1,11 @@ +<%# Link to the "First" page + - available local variables + url: url to the first page + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote +-%> + + <%= link_to_unless current_page.first?, l('views.pagination.first').html_safe, url, :remote => remote %> + diff --git a/app/views/kaminari/_gap.html.erb b/app/views/kaminari/_gap.html.erb new file mode 100644 index 000000000..258fd29b2 --- /dev/null +++ b/app/views/kaminari/_gap.html.erb @@ -0,0 +1,8 @@ +<%# Non-link tag that stands for skipped pages... + - available local variables + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote +-%> + diff --git a/app/views/kaminari/_last_page.html.erb b/app/views/kaminari/_last_page.html.erb new file mode 100644 index 000000000..410d05c55 --- /dev/null +++ b/app/views/kaminari/_last_page.html.erb @@ -0,0 +1,11 @@ +<%# Link to the "Last" page + - available local variables + url: url to the last page + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote +-%> + + <%= link_to_unless current_page.last?, t('views.pagination.last').html_safe, url, :remote => remote %> + diff --git a/app/views/kaminari/_next_page.html.erb b/app/views/kaminari/_next_page.html.erb new file mode 100644 index 000000000..d119475ff --- /dev/null +++ b/app/views/kaminari/_next_page.html.erb @@ -0,0 +1,11 @@ +<%# Link to the "Next" page + - available local variables + url: url to the next page + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote +-%> + + <%= link_to_unless current_page.last?, t('views.pagination.next').html_safe, url, :rel => 'next', :remote => remote %> + diff --git a/app/views/kaminari/_page.html.erb b/app/views/kaminari/_page.html.erb new file mode 100644 index 000000000..91aa63a46 --- /dev/null +++ b/app/views/kaminari/_page.html.erb @@ -0,0 +1,13 @@ +<%# Link showing page number + - available local variables + page: a page object for "this" page + url: url to this page + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote + <%= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} +-%> + + <%= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} %> + diff --git a/app/views/kaminari/_paginator.html.erb b/app/views/kaminari/_paginator.html.erb new file mode 100644 index 000000000..04f03c02c --- /dev/null +++ b/app/views/kaminari/_paginator.html.erb @@ -0,0 +1,23 @@ +<%# The container tag + - available local variables + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote + paginator: the paginator that renders the pagination tags inside +-%> +<%= paginator.render do -%> +

+<% end -%> diff --git a/app/views/kaminari/_prev_page.html.erb b/app/views/kaminari/_prev_page.html.erb new file mode 100644 index 000000000..ff7b1ab79 --- /dev/null +++ b/app/views/kaminari/_prev_page.html.erb @@ -0,0 +1,11 @@ +<%# Link to the "Previous" page + - available local variables + url: url to the previous page + current_page: a page object for the currently displayed page + total_pages: total number of pages + per_page: number of items to fetch per page + remote: data-remote +-%> + + <%= link_to_unless current_page.first?, t('views.pagination.previous').html_safe, url, :rel => 'prev', :remote => remote %> +