finery 3.0.2 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|