active_list 7.0.0 → 7.1.0

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: '022092abfbb1ef56a9e935ba1f815b5f13dd7fc4'
4
- data.tar.gz: c15a78e14c48e10bfe281e2f735e5b3bc9084ea7
3
+ metadata.gz: 81ce03aaece14d5f38d557ccc43ab2d1252aa1b9
4
+ data.tar.gz: 58f4a6bfc926669b9aa8b7022655141f25c16959
5
5
  SHA512:
6
- metadata.gz: 51bed46ba112355efe2aadbeae3e652296fbe9071d63d915a73d4189b87c21b933c44b3af2eefc14032827bcf13e5e370f6310f6f30dc66c30ddbaf658330013
7
- data.tar.gz: edc59cfcb98fa9f621d67f1f6b593657ca2e1ede60c22631884c0ec749ed455e5ff0e8724c6559e2a2e8a915288d22311d8d72a6247aaea69687b7df29eb5fd5
6
+ metadata.gz: ae364e886416828ab7c632e871e4a7bbb8ab5b94c58ca50902fcff74ccddbb4face3ae8aae6064490e217ad806f7c0fef712ba79627cd45aad296fbbf6ff45ae
7
+ data.tar.gz: 71ec9909171eaba5b35562600e72da60d2e618eb8b13c6acda5d72a7fccb3f92fc2198a8b22842c172021bf088f57d52c3319cc1bb151c3ab8eb7aee3c9c5358
@@ -95,7 +95,7 @@ module ActiveList
95
95
  url.delete_if { |_k, v| v.nil? }
96
96
  cases << "#{record}.#{@name} == #{expected.inspect}\nlink_to(content_tag(:i) + h(#{url[:action].inspect}.t(scope: 'rest.actions'))"\
97
97
  ', {' + url.collect { |k, v| "#{k}: " + urlify(v, record) }.join(', ') + format + '}' \
98
- ", {class: '#{@name}'" + link_options + '}'\
98
+ ", {class: '#{@options[:icon_name] || @name}'" + link_options + '}'\
99
99
  ")\n"
100
100
  end
101
101
 
@@ -109,7 +109,7 @@ module ActiveList
109
109
  url[:redirect] ||= 'params[:redirect]'.c
110
110
  url.delete_if { |_k, v| v.nil? }
111
111
  url = '{' + url.collect { |k, v| "#{k}: " + urlify(v, record) }.join(', ') + format + '}'
112
- code = "{class: '#{@name}'" + link_options + '}'
112
+ code = "{class: '#{@options[:icon_name] || @name}'" + link_options + '}'
113
113
  code = "link_to(content_tag(:i) + h(' ' + :#{action}.t(scope: 'rest.actions')), " + url + ', ' + code + ')'
114
114
  end
115
115
  if @options[:if]
@@ -11,13 +11,7 @@ module ActiveList
11
11
  else
12
12
  @label_method.to_s.gsub('human_', '').to_sym
13
13
  end
14
- unless @sort_column = options[:sort]
15
- @sort_column = if @table.model.columns_hash[@label_method.to_s]
16
- @label_method
17
- elsif @table.model.columns_hash[@name.to_s]
18
- @name
19
- end
20
- end
14
+ @sort_column = get_sort_column
21
15
  @computation_method = options[:on_select]
22
16
  @column = @table.model.columns_hash[@label_method.to_s]
23
17
  end
@@ -51,6 +45,24 @@ module ActiveList
51
45
  code.c
52
46
  end
53
47
 
48
+ def get_sort_column
49
+ selects = @table.options[:select] || {}
50
+ selects_label = selects.find { |sql_name, name| name.to_s == @label_method.to_s }&.last
51
+ selects_name = selects.find { |sql_name, name| name.to_s == @name.to_s }&.last
52
+ if (selects_label || selects_name) && options[:sort].blank?
53
+ sort_column = (selects_label || selects_name)
54
+ else
55
+ sort_column = options[:sort]
56
+ sort_column ||= if @table.model.columns_hash[@label_method.to_s]
57
+ @label_method
58
+ elsif @table.model.columns_hash[@name.to_s]
59
+ @name
60
+ end
61
+ sort_column &&= "#{@table.model.table_name}.#{sort_column}"
62
+ end
63
+ sort_column
64
+ end
65
+
54
66
  # Returns the class name of the used model
55
67
  def class_name
56
68
  table.model.name
@@ -70,7 +82,7 @@ module ActiveList
70
82
  end
71
83
 
72
84
  def sort_expression
73
- "#{@table.model.table_name}.#{@sort_column}"
85
+ @sort_column
74
86
  end
75
87
  end
76
88
  end
@@ -34,7 +34,6 @@ module ActiveList
34
34
  else
35
35
  "#{var_name(:count)} = #{query_code}.count\n"
36
36
  end
37
-
38
37
  query_code << ".group(#{@table.options[:group].inspect})" unless @table.options[:group].blank?
39
38
  query_code << ".reorder(#{var_name(:order)})"
40
39
 
@@ -133,7 +132,7 @@ module ActiveList
133
132
  code << 'DISTINCT ' if @table.options[:distinct]
134
133
  if @table.options[:select]
135
134
  # code << @table.options[:select].collect { |k, v| ", #{k[0].to_s + '.' + k[1].to_s} AS #{v}" }.join
136
- code << @table.options[:select].collect do |k, v|
135
+ code << @table.options[:select].collect do |k, v|
137
136
  c = if k.is_a? Array
138
137
  k[0].to_s + '.' + k[1].to_s
139
138
  else
@@ -314,7 +314,7 @@ module ActiveList
314
314
  end
315
315
  table.columns.each do |column|
316
316
  next if column.is_a?(ActiveList::Definition::ActionColumn) && !column.use_single?
317
- code << "<th data-list-column=\"#{column.sort_id}\""
317
+ code << "<th data-list-column=\"#{column.options[:icon_name] || column.sort_id}\""
318
318
  code << " data-list-column-cells=\"#{column.short_id}\""
319
319
  code << " data-list-column-sort=\"'+(#{var_name(:params)}[:sort] != '#{column.sort_id}' ? 'asc' : #{var_name(:params)}[:dir] == 'asc' ? 'desc' : 'asc')+'\"" if column.sortable?
320
320
  code << " data-list-column-computation=\"#{column.computation_method}\"" if column.computable?
@@ -1,3 +1,3 @@
1
1
  module ActiveList
2
- VERSION = '7.0.0'.freeze
2
+ VERSION = '7.1.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_list
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brice Texier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-01 00:00:00.000000000 Z
11
+ date: 2019-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails