table_sortable 1.0.0.pre.alpha.7 → 1.0.0.pre.alpha.8

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: 6b0376fd65d7b957964b2f706cb52a0df71e509f
4
- data.tar.gz: 6fd627223d2e0192ed907bf3a4f7840356280773
3
+ metadata.gz: 77ef37756d66a68f2eb2d7f64a9ba57a5edb574a
4
+ data.tar.gz: 9e1ad05cb6fe0c71eabf743444e8be433a18739e
5
5
  SHA512:
6
- metadata.gz: 8649188879b97b8309a912b428322ec18ef38ee1794ad2306445e66757a44ba3cc1e78d7d3739e5e10115216e6ca88894d710cd9f254e5c4da9d3331962a527f
7
- data.tar.gz: 21d9d0ffbc9593b6fdcf315322b7514c00ee97e8157b93d18c346870c587d7762c3faa1baa15f05d1be9dd9b2f526b7c5f9aae814b1adbe1ca0c472e6ceaee83
6
+ metadata.gz: '0757749a64120e99508c624bfe37f95f558027ead8a55c9890bb5b2dac1e4fcc268828564348d276b9d7b7576598efb2082418da22cb2684894647abeb4d05a4'
7
+ data.tar.gz: f21f7dae0385ecfc13e857a83029e7fb88e4f1b5306d1a76b9dc1e7e963da74b440a069bf0c0af850f686a3223c189a31b50401abaf937612cc5ed19f94d98ba
@@ -15,6 +15,7 @@ module TableSortable
15
15
  template = options[:template] || col_name
16
16
  column_options = options[:options] || {}
17
17
  includes = options[:includes] || []
18
+ visible = options[:visible].nil? ? true : options[:visible]
18
19
 
19
20
  @name = col_name.to_sym
20
21
  @value = value.respond_to?(:call) ? value : -> (record) { record.send(value) }
@@ -24,6 +25,7 @@ module TableSortable
24
25
  @template = template
25
26
  @template_path = template_path
26
27
  @translation_key = translation_key
28
+ @visible = visible
27
29
  @includes = [includes].flatten.map{|as| as.is_a?(Hash) ? as : {as => []}}
28
30
 
29
31
  @options = column_options
@@ -40,6 +42,10 @@ module TableSortable
40
42
  record.instance_eval(&@content) unless @content.nil?
41
43
  end
42
44
 
45
+ def visible?
46
+ @visible
47
+ end
48
+
43
49
  end
44
50
 
45
51
  end
@@ -40,7 +40,7 @@ module TableSortable
40
40
  end
41
41
 
42
42
  def columns
43
- @columns.sort_by(column_order)
43
+ @visible_columns ||= @columns.sort_by(column_order).select{|c| c.visible?}
44
44
  end
45
45
 
46
46
  # private
@@ -70,8 +70,8 @@ module TableSortable
70
70
  end
71
71
 
72
72
  def ordered_actions(record = nil)
73
- filter_actions = @columns.map{|col| col.filter }
74
- sort_actions = @columns.map{|col| col.sorter }
73
+ filter_actions = columns.map{|col| col.filter }
74
+ sort_actions = columns.map{|col| col.sorter }
75
75
  (filter_actions+sort_actions).sort{ |a,b| (a.method(record) && b.method(record)) ? (a.method(record) <=> b.method(record)) : b.method(record) ? 1 : -1 }
76
76
  end
77
77
 
@@ -1,3 +1,3 @@
1
1
  module TableSortable
2
- VERSION = "1.0.0.pre.alpha.7"
2
+ VERSION = "1.0.0.pre.alpha.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: table_sortable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.alpha.7
4
+ version: 1.0.0.pre.alpha.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oded Davidov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-22 00:00:00.000000000 Z
11
+ date: 2017-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler