bmc 1.3.1 → 1.3.4
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/CHANGELOG.md +9 -0
- data/app/filters/bmc/filter/by_key_value.rb +2 -0
- data/app/filters/bmc/filter/by_key_values.rb +3 -0
- data/app/helpers/bmc/button_helper.rb +6 -1
- data/app/helpers/bmc/form_helper.rb +5 -5
- data/app/libs/bmc/mini_model_serializer/serialize.rb +1 -1
- data/app/libs/bmc/mini_model_serializer/serializer.rb +1 -1
- data/app/serializers/bmc/serializers/xlsx.rb +5 -7
- data/lib/bmc/active_model_custom_error_messages.rb +1 -3
- data/lib/bmc/config.rb +3 -3
- data/lib/bmc/form_back_url.rb +1 -1
- data/lib/bmc/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36427ac2fef1204c03e2312f26c86ae44adb70e06db9eee946b4ed492981465d
|
4
|
+
data.tar.gz: a3d8968195b88c1c01672ac01e77a49580afafced26ec4934447645041b305da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc1d839ab3c11269332e6bfdd21cbd8ecfa08dd32f5e24e8fdba58de35bab82160d06ca8ff1ea59a3c257511f108dcfaf5deb44e6cd865dad482d33efdffd30d
|
7
|
+
data.tar.gz: 0dcc1dd8dbc696d9dd52aa584322e64d6dd627b00c1b463f0e6c3b3b131173c6368dd48897207c2609c73281f5ff056a93b5272ec11f47cb889ce32cf0065dff
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,15 @@
|
|
2
2
|
|
3
3
|
## Next version
|
4
4
|
|
5
|
+
## v1.3.4
|
6
|
+
- Add `all` support to filters `ByKeyValue` and `ByKeyValues`
|
7
|
+
|
8
|
+
## v1.3.3
|
9
|
+
- Add `only:` support to `hidden_inputs_for_get_form` helper
|
10
|
+
|
11
|
+
## v1.3.2
|
12
|
+
- Add `bs_button_to` helper
|
13
|
+
|
5
14
|
## v1.3.1
|
6
15
|
- Add sorter helpers
|
7
16
|
|
@@ -22,6 +22,7 @@ module BMC::ButtonHelper
|
|
22
22
|
btn_size: BMC::ButtonHelper.default_size,
|
23
23
|
btn_style: BMC::ButtonHelper.default_style,
|
24
24
|
add_class: [],
|
25
|
+
helper: :link_to,
|
25
26
|
**options
|
26
27
|
)
|
27
28
|
text = ta(action) if text.nil? && action
|
@@ -50,7 +51,11 @@ module BMC::ButtonHelper
|
|
50
51
|
options.deep_merge!(data: {confirm: confirm})
|
51
52
|
end
|
52
53
|
|
53
|
-
|
54
|
+
public_send(helper, content, url, options.sort.to_h)
|
55
|
+
end
|
56
|
+
|
57
|
+
def bs_button_to(url, **options)
|
58
|
+
bs_button(url, helper: :button_to, **options)
|
54
59
|
end
|
55
60
|
|
56
61
|
def new_button(url = url_for(action: :new), **options)
|
@@ -5,17 +5,17 @@ module BMC::FormHelper
|
|
5
5
|
# Does not work if display:none
|
6
6
|
def form_hidden_submit
|
7
7
|
css = "position:absolute;top:-9999px;left:-9999px;opacity:0;height:0;width:0;visibility: hidden"
|
8
|
-
tag(
|
8
|
+
tag.input(type: "submit", class: "hidden-submit", style: css)
|
9
9
|
end
|
10
10
|
|
11
11
|
def search_form(action: request.fullpath)
|
12
12
|
render "bmc/search/form", action: action
|
13
13
|
end
|
14
14
|
|
15
|
-
def hidden_inputs_for_get_form(url, except:
|
16
|
-
query_values = Addressable::URI.parse(url).query_values.to_h
|
17
|
-
|
18
|
-
|
15
|
+
def hidden_inputs_for_get_form(url, except: nil, only: nil)
|
16
|
+
query_values = Addressable::URI.parse(url).query_values.to_h.with_indifferent_access
|
17
|
+
query_values.except!(*except) if except
|
18
|
+
query_values.select! { only.map(&:to_sym).include?(_1.to_sym) } if only
|
19
19
|
|
20
20
|
return if query_values.empty?
|
21
21
|
|
@@ -8,7 +8,7 @@ class BMC::MiniModelSerializer::Serialize
|
|
8
8
|
|
9
9
|
def call
|
10
10
|
if object.is_a?(Hash)
|
11
|
-
object.
|
11
|
+
object.to_h { |k, v| [k.to_s, serialize(v)] }
|
12
12
|
elsif object.is_a?(Enumerable)
|
13
13
|
object.map { |e| serialize(e) }
|
14
14
|
elsif (serializer = "#{object.class}Serializer".safe_constantize)
|
@@ -11,9 +11,7 @@ class BMC::Serializers::XLSX < BMC::Serializers::Base
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def render_file(file_path)
|
14
|
-
File.
|
15
|
-
f.write(render_inline)
|
16
|
-
end
|
14
|
+
File.binwrite(file_path, render_inline)
|
17
15
|
end
|
18
16
|
|
19
17
|
private
|
@@ -25,14 +23,14 @@ class BMC::Serializers::XLSX < BMC::Serializers::Base
|
|
25
23
|
end
|
26
24
|
|
27
25
|
def date_range_styles(row)
|
28
|
-
row.each_index.select { row[_1].is_a?(Date) }.map do
|
29
|
-
{range: {rows: :all, columns:
|
26
|
+
row.each_index.select { row[_1].is_a?(Date) }.map do |col|
|
27
|
+
{range: {rows: :all, columns: col}, styles: {format_code: "dd/mm/yyyy"}}
|
30
28
|
end
|
31
29
|
end
|
32
30
|
|
33
31
|
def time_range_styles(row)
|
34
|
-
row.each_index.select { row[_1].is_a?(Time) }.map do
|
35
|
-
{range: {rows: :all, columns:
|
32
|
+
row.each_index.select { row[_1].is_a?(Time) }.map do |col|
|
33
|
+
{range: {rows: :all, columns: col}, styles: {format_code: "dd/mm/yyyy hh:mm:ss"}}
|
36
34
|
end
|
37
35
|
end
|
38
36
|
end
|
data/lib/bmc/config.rb
CHANGED
@@ -5,7 +5,7 @@ class << BMC
|
|
5
5
|
@parent_controller ||= [
|
6
6
|
"ApplicationController",
|
7
7
|
"ActionController::Base",
|
8
|
-
].
|
8
|
+
].filter_map(&:safe_constantize).first
|
9
9
|
end
|
10
10
|
|
11
11
|
attr_writer :parent_job
|
@@ -14,7 +14,7 @@ class << BMC
|
|
14
14
|
@parent_job ||= [
|
15
15
|
"ApplicationJob",
|
16
16
|
"ActiveJob::Base",
|
17
|
-
].
|
17
|
+
].filter_map(&:safe_constantize).first
|
18
18
|
end
|
19
19
|
|
20
20
|
attr_writer :parent_mailer
|
@@ -23,6 +23,6 @@ class << BMC
|
|
23
23
|
@parent_mailer ||= [
|
24
24
|
"ApplicationMailer",
|
25
25
|
"ActionMailer::Base",
|
26
|
-
].
|
26
|
+
].filter_map(&:safe_constantize).first
|
27
27
|
end
|
28
28
|
end
|
data/lib/bmc/form_back_url.rb
CHANGED
data/lib/bmc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bmc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benoit MARTIN-CHAVE
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails-i18n
|