finery 3.0.2 → 3.0.3
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/README.md +0 -1
- data/app/assets/javascripts/blazer/controllers/index.js +1 -0
- data/app/assets/javascripts/blazer/controllers/more_controller.js +13 -0
- data/app/assets/stylesheets/blazer/application.css +1 -1
- data/app/controllers/blazer/queries_controller.rb +1 -0
- data/app/helpers/blazer/base_helper.rb +6 -0
- data/app/views/blazer/_navbar.html.erb +8 -6
- data/app/views/blazer/_variables.html.erb +16 -12
- data/app/views/blazer/queries/show.html.erb +8 -6
- data/lib/blazer/adapters/clickhouse_adapter.rb +5 -2
- data/lib/blazer/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 581c9c47c4c0b79536e441a4d4471fe021dfb782988a397e4ce781436cabe9fb
|
4
|
+
data.tar.gz: f5cf561aaff9f8362b28a28217b01b5591ce73b90d0c1eb7cd54dd67d51c8590
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07b7c9c15a2d9a433c2d0b4d45faeba9d2d7ea5c64fcd06b7099f8b849e2aa0e385b026b9198051230efa8c5fe15c0f368a43d3d0fc0319f7df3c6ce2a756f00
|
7
|
+
data.tar.gz: 8a4f16b2080bbc21071068bd93995c08255a0aac0dd3a72ea58fb1f51e0935580c36ede132d0617b8ce6163420f84d1a898b61d05c265e1ddf71d0784b342873
|
data/README.md
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
Stimulus.register("more", class extends Controller {
|
2
|
+
static targets = [ "field", "show" ]
|
3
|
+
|
4
|
+
connect() {
|
5
|
+
this.fieldTargets.forEach((e) => { e.style.display = "none" })
|
6
|
+
this.showTarget.classList.remove("d-none")
|
7
|
+
}
|
8
|
+
|
9
|
+
show(event) {
|
10
|
+
this.fieldTargets.forEach((e) => { e.style.display = "block" })
|
11
|
+
this.showTarget.classList.add("d-none")
|
12
|
+
}
|
13
|
+
})
|
@@ -36,6 +36,12 @@ module Blazer
|
|
36
36
|
k.nil? ? "null" : k.to_s
|
37
37
|
end
|
38
38
|
|
39
|
+
def blazer_var_default?(key)
|
40
|
+
value = request.query_parameters[key]
|
41
|
+
return true if value.to_s == ""
|
42
|
+
return true if @data_sources.any? { |source| source.variable_defaults[key].to_s == value.to_s }
|
43
|
+
end
|
44
|
+
|
39
45
|
def blazer_format_annotations(annotations)
|
40
46
|
return [] unless annotations.is_a?(Array)
|
41
47
|
sorted = annotations.sort_by { |annotation| annotation[:min_date] }
|
@@ -1,10 +1,12 @@
|
|
1
1
|
<nav class="navbar navbar-expand-md fixed-top bg-body-tertiary" data-navbar-padding-target="navbar">
|
2
|
-
<div class="container
|
3
|
-
<
|
4
|
-
|
5
|
-
<
|
6
|
-
|
7
|
-
|
2
|
+
<div class="container">
|
3
|
+
<div class="d-flex flex-nowrap mw-100">
|
4
|
+
<span class="navbar-brand d-none d-sm-inline">Finery</span>
|
5
|
+
<button class="navbar-toggler me-3" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
|
6
|
+
<span class="navbar-toggler-icon"></span>
|
7
|
+
</button>
|
8
|
+
<span class="navbar-brand d-sm-none text-truncate"><%= blazer_title || "Finery" %></span>
|
9
|
+
</div>
|
8
10
|
<div class="collapse navbar-collapse" id="navbarCollapse">
|
9
11
|
<ul class="navbar-nav me-auto mb-2 mb-md-0">
|
10
12
|
<li class="nav-item">
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<script>
|
4
4
|
<%= blazer_js_var "timeZone", Blazer.time_zone.tzinfo.name %>
|
5
5
|
</script>
|
6
|
-
<form id="bind" method="get" action="<%= action %>" class="form-inline" style="margin-bottom: 15px;" data-controller="autosubmit" data-action="change->autosubmit#call">
|
6
|
+
<form id="bind" method="get" action="<%= action %>" class="form-inline row g-3" style="margin-bottom: 15px;" data-controller="autosubmit more" data-action="change->autosubmit#call">
|
7
7
|
<% date_vars = ["start_time", "end_time"] %>
|
8
8
|
<% if (date_vars - @bind_vars).empty? %>
|
9
9
|
<% @bind_vars = @bind_vars - date_vars %>
|
@@ -12,19 +12,17 @@
|
|
12
12
|
<% end %>
|
13
13
|
|
14
14
|
<% @bind_vars.each_with_index do |var, i| %>
|
15
|
-
<div class="
|
16
|
-
<%= label_tag var, var %>
|
17
|
-
<% if
|
18
|
-
<%= select_tag var, options_for_select([
|
15
|
+
<div class="col-12 col-md-2" <% if blazer_var_default?(var) %>data-more-target="field"<% end %>>
|
16
|
+
<%= label_tag var, var, class: "form-label" %>
|
17
|
+
<% if @smart_vars.key? var %>
|
18
|
+
<%= select_tag var, options_for_select(@smart_vars[var], var_params[var]), include_blank: true, data: { controller: "selectize" }, class: "form-select" %>
|
19
19
|
<% elsif var.end_with?("_at") || var == "start_time" || var == "end_time" %>
|
20
|
-
|
21
|
-
|
22
|
-
<div id="<%= var %>-select" class="selectize-input" style="display: inline-block;" data-controller="datepicker">
|
20
|
+
<div class="selectize-control single">
|
21
|
+
<div id="<%= var %>-select" class="selectize-input" data-controller="datepicker">
|
23
22
|
<%= hidden_field_tag var, var_params[var], data: { datepicker_target: "input" } %>
|
24
23
|
<span data-datepicker-target="span">Select a date</span>
|
25
24
|
</div>
|
26
25
|
</div>
|
27
|
-
|
28
26
|
<% else %>
|
29
27
|
<%= text_field_tag var, var_params[var], autofocus: i == 0 && !var.end_with?("_at") && !var_params[var], class: "form-control" %>
|
30
28
|
<% end %>
|
@@ -36,14 +34,20 @@
|
|
36
34
|
<%= hidden_field_tag var, var_params[var] %>
|
37
35
|
<% end %>
|
38
36
|
|
39
|
-
|
40
|
-
|
37
|
+
<div class="selectize-control single col-12 col-md-4">
|
38
|
+
<%= label_tag nil, date_vars.join(" & "), class: "form-label" %>
|
41
39
|
<div id="reportrange" class="selectize-input" style="display: inline-block;" data-controller="daterangepicker">
|
42
40
|
<span>Select a time range</span>
|
43
41
|
</div>
|
44
42
|
</div>
|
45
43
|
<% end %>
|
46
44
|
|
47
|
-
<
|
45
|
+
<div class="col-12 col-md-2 d-flex align-items-end d-none" data-more-target="show">
|
46
|
+
<button type="button" class="btn btn-info" data-action="more#show:prevent">More filters</button>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
<div class="col-12">
|
50
|
+
<input type="submit" class="btn btn-success col-12 col-md-1 offset-md-11" value="Run">
|
51
|
+
</div>
|
48
52
|
</form>
|
49
53
|
<% end %>
|
@@ -32,12 +32,14 @@
|
|
32
32
|
|
33
33
|
<%= render partial: "blazer/variables", locals: {action: query_path(@query)} %>
|
34
34
|
|
35
|
-
<
|
36
|
-
<
|
37
|
-
|
38
|
-
<
|
39
|
-
|
40
|
-
</
|
35
|
+
<div class="row">
|
36
|
+
<details class="col-12">
|
37
|
+
<summary class="btn btn-info">Show source</summary>
|
38
|
+
<pre id="code">
|
39
|
+
<code data-controller="code"><%= @statement.display_statement %></code>
|
40
|
+
</pre>
|
41
|
+
</details>
|
42
|
+
</div>
|
41
43
|
|
42
44
|
<% if @success %>
|
43
45
|
<div id="results">
|
@@ -37,6 +37,9 @@ module Blazer
|
|
37
37
|
SQL
|
38
38
|
|
39
39
|
response = connection.post(query: { query: statement, default_format: "CSV" })
|
40
|
+
|
41
|
+
return [] if response.body.nil?
|
42
|
+
|
40
43
|
response.body
|
41
44
|
.group_by { |row| row[0] }
|
42
45
|
.transform_values { |columns| columns.map { |c| { name: c[1], data_type: c[2] } } }
|
@@ -54,7 +57,7 @@ module Blazer
|
|
54
57
|
protected
|
55
58
|
|
56
59
|
def connection
|
57
|
-
@connection ||= ClickHouse::Connection.new(config)
|
60
|
+
@connection ||= ::ClickHouse::Connection.new(config)
|
58
61
|
end
|
59
62
|
|
60
63
|
def config
|
@@ -69,7 +72,7 @@ module Blazer
|
|
69
72
|
database: uri.path.sub(/\A\//, ""),
|
70
73
|
ssl_verify: settings.fetch("ssl_verify", false)
|
71
74
|
}.compact
|
72
|
-
ClickHouse::Config.new(**options)
|
75
|
+
::ClickHouse::Config.new(**options)
|
73
76
|
end
|
74
77
|
end
|
75
78
|
|
data/lib/blazer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane, Chris Hasinski, Tomasz Ratajczak and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- app/assets/javascripts/blazer/controllers/datepicker_controller.js
|
111
111
|
- app/assets/javascripts/blazer/controllers/daterangepicker_controller.js
|
112
112
|
- app/assets/javascripts/blazer/controllers/index.js
|
113
|
+
- app/assets/javascripts/blazer/controllers/more_controller.js
|
113
114
|
- app/assets/javascripts/blazer/controllers/navbar_padding_controller.js
|
114
115
|
- app/assets/javascripts/blazer/controllers/selectize_controller.js
|
115
116
|
- app/assets/javascripts/blazer/controllers/unsaved_controller.js
|