rails-add_ons 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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