rails-add_ons 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e074f79fe60106ad1f033af4e541a57c3408043
4
- data.tar.gz: 34397cc5eecf03f97f98f2f7a91b283f2518f63f
3
+ metadata.gz: 375b145ef8a6874f2302313a0e856f2e68a4f0f8
4
+ data.tar.gz: a03c5fc82df7b8506ba297aac49c59175d947204
5
5
  SHA512:
6
- metadata.gz: 605848c5d9f91c7ee298c810300436ff487b82d4b5bbf5cd59ff0bc1f0a6abfa4ee3e6a82d396d87f0f3ec79255c5ca4363fa078e51775f659d2b0c68dc5b9f3
7
- data.tar.gz: 654ae257f587810df2202ba8f403b497e8038cfbfb32b0eb52140c342b6e4b530fb94cefe5aa8ab48ca3248df5364695299c465aaee7b12ae02a4c54f48bb9a8
6
+ metadata.gz: 7515c6f65b75695b5352e75fbbffed27e5ffb280cf265cf341622e693ae7ce191d90694821f1533b9c91ecfd59f900b09db81f9029225c5575dfa50bdec494bb
7
+ data.tar.gz: bb8692f3a2db53b8787b9b629ee0e10f27cee08fd2036e93f0a11bfb1f9abee721367e306919af999845a6c1f7ea23ef47f79b73831e3566a765d5e79d2162bd
@@ -15,6 +15,9 @@ module Rails
15
15
  end
16
16
 
17
17
  class SortLink
18
+ ARROW_UP = '▲'
19
+ ARROW_DOWN = '▼'
20
+
18
21
  def initialize(view_context, column_name, title, options)
19
22
  default_options = {}
20
23
 
@@ -29,14 +32,24 @@ module Rails
29
32
  @title = title
30
33
 
31
34
  if h.params[:sort_direction].present?
32
- @sort_direction = (h.params[:sort_direction].to_sym == :asc) ? :desc : :asc
35
+ @sort_direction = sorted_ascending? ? :desc : :asc
33
36
  else
34
37
  @sort_direction = :asc
35
38
  end
39
+
40
+ if sorted_by_this_column?
41
+ if sorted_ascending?
42
+ @title_with_arrow = add_arrow_up(@title)
43
+ else
44
+ @title_with_arrow = add_arrow_down(@title)
45
+ end
46
+ else
47
+ @title_with_arrow = @title
48
+ end
36
49
  end
37
50
 
38
51
  def perform
39
- h.link_to(@title, h.url_for(sort_by: @column_name, sort_direction: @sort_direction))
52
+ h.link_to(@title_with_arrow, h.url_for(sort_by: @column_name, sort_direction: @sort_direction))
40
53
  end
41
54
 
42
55
  private
@@ -44,6 +57,22 @@ module Rails
44
57
  def h
45
58
  @view_context
46
59
  end
60
+
61
+ def sorted_by_this_column?
62
+ h.params[:sort_by] == @column_name.to_s
63
+ end
64
+
65
+ def sorted_ascending?
66
+ h.params[:sort_direction].to_sym == :asc
67
+ end
68
+
69
+ def add_arrow_up(title)
70
+ "#{title} #{ARROW_UP}".html_safe
71
+ end
72
+
73
+ def add_arrow_down(title)
74
+ "#{title} #{ARROW_DOWN}".html_safe
75
+ end
47
76
  end
48
77
  end
49
78
  end
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module AddOns
3
- VERSION = '1.5.0'.freeze
3
+ VERSION = '1.5.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-add_ons
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel