simple_drilldown 0.14.3 → 0.15.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 +4 -4
- data/app/views/simple_drilldown/_chart.html.erb +1 -1
- 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
|
@@ -9,7 +9,7 @@
|
|
9
9
|
@result[:rows].map do |r|
|
10
10
|
{
|
11
11
|
name: r[:value],
|
12
|
-
data: r[:rows].map { |r2| [r2[:value], r2[@search.select_value]] }
|
12
|
+
data: r[:rows].map { |r2| [@dimensions[1][:label_method] ? @dimensions[1][:label_method].call(r2[:value]) : r2[:value], r2[@search.select_value]] }
|
13
13
|
}
|
14
14
|
end
|
15
15
|
when 3
|
@@ -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.
|