active_list 6.9.4 → 6.10.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5baaa0da5fd9dd52b02bc136ea12da6ebe1ae498
|
4
|
+
data.tar.gz: b4b7bb336a78617923273ff0fae085552a7d8669
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8bc42dfee4953d3a2b3d260e8afd18ef54a5fd66bb8e4976e5a155897b4c0f1dfa4381f2736f463b0fd8b1270c382342401d63f2059c0048bcc0ab52f2d35a7
|
7
|
+
data.tar.gz: e03b4bc03ddfd5f31d5c4a1b90c98920d62021a9f1f9c4ef44feafc234299a6d7e2c0e85231533751de7db6f1f71d0bb62e6dc0bc5685c5f73e42daacfa5b750
|
@@ -70,7 +70,7 @@ module ActiveList
|
|
70
70
|
code = "# encoding: utf-8\n"
|
71
71
|
code << "def #{view_method_name}(options={}, &block)\n"
|
72
72
|
code << session_initialization_code.dig
|
73
|
-
code <<
|
73
|
+
code << "#{renderer.build_table_code}(options).dig\n"
|
74
74
|
code << "end\n"
|
75
75
|
# code.split("\n").each_with_index{|l, x| puts((x+1).to_s.rjust(4)+": "+l)}
|
76
76
|
unless ::Rails.env.production?
|
@@ -17,6 +17,7 @@ module ActiveList
|
|
17
17
|
query_code = class_name.to_s
|
18
18
|
query_code << scope_code if scope_code
|
19
19
|
query_code << ".select(#{select_code})" if select_code
|
20
|
+
query_code << ".from(#{from_code})" if from_code
|
20
21
|
query_code << ".where(#{conditions_code})" unless @table.options[:conditions].blank?
|
21
22
|
query_code << ".joins(#{@table.options[:joins].inspect})" unless @table.options[:joins].blank?
|
22
23
|
unless includes_reflections.empty?
|
@@ -26,8 +27,15 @@ module ActiveList
|
|
26
27
|
end
|
27
28
|
|
28
29
|
code = ''
|
29
|
-
code << "#{
|
30
|
+
code << "#{query_code}\n"
|
30
31
|
|
32
|
+
code << if @table.options[:count].present?
|
33
|
+
"#{var_name(:count)} = #{query_code}.count(#{@table.options[:count].inspect})\n"
|
34
|
+
else
|
35
|
+
"#{var_name(:count)} = #{query_code}.count\n"
|
36
|
+
end
|
37
|
+
|
38
|
+
query_code << ".group(#{@table.options[:group].inspect})" unless @table.options[:group].blank?
|
31
39
|
query_code << ".reorder(#{var_name(:order)})"
|
32
40
|
|
33
41
|
if paginate
|
@@ -111,13 +119,31 @@ module ActiveList
|
|
111
119
|
code
|
112
120
|
end
|
113
121
|
|
122
|
+
def from_code
|
123
|
+
return nil unless @table.options[:from]
|
124
|
+
from = @table.options[:from]
|
125
|
+
code = ''
|
126
|
+
code << '(' + from.gsub(/\s*\n\s*/, ';') + ')'
|
127
|
+
code
|
128
|
+
end
|
129
|
+
|
114
130
|
def select_code
|
115
131
|
return nil unless @table.options[:distinct] || @table.options[:select]
|
116
132
|
code = ''
|
117
133
|
code << 'DISTINCT ' if @table.options[:distinct]
|
118
|
-
code << "#{@table.model.table_name}.*"
|
119
134
|
if @table.options[:select]
|
120
|
-
code << @table.options[:select].collect { |k, v| ", #{k[0].to_s + '.' + k[1].to_s} AS #{v}" }.join
|
135
|
+
# 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|
|
137
|
+
c = if k.is_a? Array
|
138
|
+
k[0].to_s + '.' + k[1].to_s
|
139
|
+
else
|
140
|
+
k
|
141
|
+
end
|
142
|
+
c += " AS #{v}" unless v.blank?
|
143
|
+
c
|
144
|
+
end.join(', ')
|
145
|
+
else
|
146
|
+
code << "#{@table.model.table_name}.*"
|
121
147
|
end
|
122
148
|
("'" + code + "'").c
|
123
149
|
end
|
@@ -34,7 +34,7 @@ module ActiveList
|
|
34
34
|
code
|
35
35
|
end
|
36
36
|
|
37
|
-
def build_table_code
|
37
|
+
def build_table_code(options = {})
|
38
38
|
record = 'r'
|
39
39
|
|
40
40
|
# colgroup = columns_definition_code
|
@@ -51,6 +51,7 @@ module ActiveList
|
|
51
51
|
code << "if #{var_name(:count)} > 0\n"
|
52
52
|
code << " #{generator.records_variable_name}.each do |#{record}|\n"
|
53
53
|
code << " #{var_name(:attrs)} = {id: 'r' + #{record}.id.to_s}\n"
|
54
|
+
code << " #{var_name(:attrs)}['data-' + options[:data].gsub('_', '-')] = #{record}.send(options[:data]) if options[:data]\n"
|
54
55
|
if table.options[:line_class]
|
55
56
|
code << " #{var_name(:attrs)}[:class] = (#{recordify!(table.options[:line_class], record)}).to_s\n"
|
56
57
|
code << " #{var_name(:attrs)}[:class] << ' focus' if params['#{table.name}-id'].to_i == #{record}.id\n"
|
@@ -179,7 +180,7 @@ module ActiveList
|
|
179
180
|
currency = :currency if currency.is_a?(TrueClass)
|
180
181
|
# currency = "#{record}.#{currency}".c if currency.is_a?(Symbol)
|
181
182
|
currency = "#{column.record_expr(record)}.#{currency}".c if currency.is_a?(Symbol)
|
182
|
-
value_code = "(#{value_code}.nil? ? '' : #{value_code}.l(currency: #{currency.inspect}))"
|
183
|
+
value_code = "(#{value_code}.nil? || #{value_code}.zero? ? ('#{column.options[:default]}'.present? ? '#{column.options[:default]}' : '') : #{value_code}.l(currency: #{currency.inspect}))"
|
183
184
|
elsif column.datatype == :decimal
|
184
185
|
value_code = "(#{value_code}.nil? ? '' : #{value_code}.l)"
|
185
186
|
elsif column.enumerize?
|
data/lib/active_list/version.rb
CHANGED
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: 6.
|
4
|
+
version: 6.10.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:
|
11
|
+
date: 2019-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -228,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
228
|
version: '0'
|
229
229
|
requirements: []
|
230
230
|
rubyforge_project:
|
231
|
-
rubygems_version: 2.
|
231
|
+
rubygems_version: 2.6.14
|
232
232
|
signing_key:
|
233
233
|
specification_version: 4
|
234
234
|
summary: Simple interactive tables for Rails app
|