simple_drilldown 0.14.4 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/views/simple_drilldown/_excel_record_list_xlsx.xlsx.axlsx +3 -1
- data/app/views/simple_drilldown/_excel_row_header.builder +3 -1
- data/app/views/simple_drilldown/_excel_styles.builder +2 -2
- data/lib/simple_drilldown/controller.rb +26 -5
- data/lib/simple_drilldown/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c75a32411dc7a49757b326fd1a8825bb670a37d445d0338d5278fc721752f45b
|
4
|
+
data.tar.gz: 9bfcc32200e6b63cd7ba969044fc8ef027110f11cb69ef52cdd29b4258fd5803
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34dbd1c41945059e2a9d952f6cfb3bb656437693dff75dfcd3f09a0b7c64a18f742d837caefe0706b6b28807cb0f66fe7eae76938d5d872a1281e815fd05047c
|
7
|
+
data.tar.gz: c8e788ae028fccdff2503b9e988562fc5fae24926272cd6981d97ed8fa5caf433d1b7204c3a1b426db62eed9b30e10f81f1535621367cabeea354c24c16faa3f
|
@@ -3,7 +3,9 @@
|
|
3
3
|
def excel_header_row(sheet)
|
4
4
|
padding_cells = @dimensions.empty? ? 1 : @dimensions.size
|
5
5
|
row = (1...(padding_cells - 1)).map { |_n| nil }
|
6
|
-
@search.fields.
|
6
|
+
@search.fields.each do |field|
|
7
|
+
row << t(field, default: [:"attributes.#{field}", field.humanize])
|
8
|
+
end
|
7
9
|
sheet.add_row row
|
8
10
|
end
|
9
11
|
|
@@ -5,6 +5,8 @@ xml.Row do
|
|
5
5
|
1.upto(padding_cells - 1) { |_n| xml.Cell('ss:StyleID' => 'Outer') }
|
6
6
|
|
7
7
|
@search.fields.each_with_index do |field, i|
|
8
|
-
xml.Cell('ss:Index' => (padding_cells + i).to_s)
|
8
|
+
xml.Cell('ss:Index' => (padding_cells + i).to_s) do
|
9
|
+
xml.Data t(field, default: [:"attributes.#{field}", field.humanize]), 'ss:Type' => 'String'
|
10
|
+
end
|
9
11
|
end
|
10
12
|
end
|
@@ -31,7 +31,7 @@ xml.Styles do
|
|
31
31
|
xml.NumberFormat 'ss:Format' => '0.000'
|
32
32
|
end
|
33
33
|
xml.Style 'ss:ID' => 'NoDecimalNumberFormat' do
|
34
|
-
xml.NumberFormat 'ss:Format' =>
|
34
|
+
xml.NumberFormat 'ss:Format' => '#,##0'
|
35
35
|
end
|
36
36
|
xml.Style 'ss:ID' => 'Percent' do
|
37
37
|
xml.NumberFormat 'ss:Format' => '0%'
|
@@ -44,7 +44,7 @@ xml.Styles do
|
|
44
44
|
xml.Border 'ss:Position' => 'Bottom', 'ss:Weight' => '1'
|
45
45
|
end
|
46
46
|
xml.Interior 'ss:Color' => '#dedede', 'ss:Pattern' => 'Solid'
|
47
|
-
xml.NumberFormat 'ss:Format' =>
|
47
|
+
xml.NumberFormat 'ss:Format' => '#,##0'
|
48
48
|
end
|
49
49
|
xml.Style 'ss:ID' => 'Outer'
|
50
50
|
xml.Style 'ss:ID' => 'ShortDate' do
|
@@ -117,6 +117,9 @@ module SimpleDrilldown
|
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
120
|
+
pretty_name = I18n.t(:"simple_drilldown.dimension.#{name}",
|
121
|
+
default: [:"simple_drilldown.#{name}", :"activerecord.models.#{name}", name.to_sym,
|
122
|
+
name.to_s.titleize])
|
120
123
|
c_dimension_defs[name.to_s] = {
|
121
124
|
includes: queries.inject(nil) do |a, e|
|
122
125
|
i = e[:includes]
|
@@ -135,9 +138,7 @@ module SimpleDrilldown
|
|
135
138
|
interval: interval,
|
136
139
|
label_method: label_method,
|
137
140
|
legal_values: legal_values,
|
138
|
-
pretty_name:
|
139
|
-
default: [:"simple_drilldown.#{name}", :"activerecord.models.#{name}", name.to_sym,
|
140
|
-
name.to_s.titleize]),
|
141
|
+
pretty_name: pretty_name,
|
141
142
|
queries: queries,
|
142
143
|
reverse: reverse,
|
143
144
|
select_expression:
|
@@ -207,7 +208,7 @@ module SimpleDrilldown
|
|
207
208
|
dimension_def[:queries].each do |query|
|
208
209
|
next unless (where = query[:where])
|
209
210
|
|
210
|
-
where_mapped = where.map { |e| e.respond_to?(:call) ? e.call : e }
|
211
|
+
where_mapped = [*where].map { |e| e.respond_to?(:call) ? e.call : e }
|
211
212
|
condition_strings << where_mapped[0]
|
212
213
|
condition_values += where_mapped[1..]
|
213
214
|
end
|
@@ -265,7 +266,12 @@ module SimpleDrilldown
|
|
265
266
|
include.each do |parent, child|
|
266
267
|
sql << " #{make_join(joins, model, parent)}"
|
267
268
|
ass = model.to_s.camelize.constantize.reflect_on_association parent
|
268
|
-
sql <<
|
269
|
+
sql << case ass.macro
|
270
|
+
when :has_many
|
271
|
+
" #{make_join(joins, ass.class_name.underscore, child, ass.class_name.constantize)}"
|
272
|
+
else
|
273
|
+
" #{make_join(joins, parent, child, ass.class_name.constantize)}"
|
274
|
+
end
|
269
275
|
end
|
270
276
|
sql
|
271
277
|
when Symbol
|
@@ -634,6 +640,21 @@ module SimpleDrilldown
|
|
634
640
|
instance_eval(&scope)
|
635
641
|
end
|
636
642
|
|
643
|
+
# def merge(scope)
|
644
|
+
# @merged_scope = scope
|
645
|
+
# self
|
646
|
+
# end
|
647
|
+
#
|
648
|
+
# def includes(includes)
|
649
|
+
# @includes = includes
|
650
|
+
# self
|
651
|
+
# end
|
652
|
+
#
|
653
|
+
# def references(references)
|
654
|
+
# @references = references
|
655
|
+
# self
|
656
|
+
# end
|
657
|
+
#
|
637
658
|
def order(order)
|
638
659
|
@order = order
|
639
660
|
self
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_drilldown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Uwe Kubosch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: caxlsx_rails
|
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: '0'
|
147
147
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
148
|
+
rubygems_version: 3.4.6
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: Simple data warehouse and drilldown.
|