glib-web 4.34.7 → 4.35.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa5980f61e5437cc674d20591dae30b18a5241575a95c0358eaa5898bcac37d9
4
- data.tar.gz: '08d19314cd7553a0e9c9b203f98577cd60b2693def0d19b04e3b9aa33608233c'
3
+ metadata.gz: d6365a6460f12a480a714b89c4fc0984a7891afcd7d15ddbfd52c7f8e8fda473
4
+ data.tar.gz: e6fb2bce5238fe117caca23a5c3e5ab48b044b4d7b19f3235fc5957cb958d03e
5
5
  SHA512:
6
- metadata.gz: d87e4b603b08f8da09eae98ef4d011df5c7adbedf580bb4284b6a88823e4c3a3bbe726ccf87e94864c272e64509f7172002b74218548451ecc0a417fc818a17f
7
- data.tar.gz: 2aeaa759c22c3d9cd24b40700280517dd3c6f70aa50936912f6d200875ef6249eab58cfd2c26fd30333b9aab1c21068d2f8ce0bb2552dd5cdd574de7d12dd015
6
+ metadata.gz: 1acfc0686e3741b7498c870509fe48ae98eb69a48dd8b5edb37d50fd02378726ce5b7a01dcb936d27341d3e8d935f2d0a3806b9b6b96938b9e03d0e373f1ae0b
7
+ data.tar.gz: 3a406081f720dd2f127f509abbada6aca991a966744783e78de5ee716aef39764653d52e0025b280fc02789e43ef5a42bbf62f07cf989b5f7fe6803eccb440fb
@@ -72,13 +72,12 @@ module Glib::Json::Ui
72
72
 
73
73
  when_option = options[:when]
74
74
  if when_option.is_a?(Proc)
75
- should_render = when_option.call(self)
75
+ # should_render = when_option.call(self)
76
+ should_render = instance_exec(&when_option)
76
77
  else
77
78
  should_render = when_option == :always
78
79
  end
79
80
 
80
- # raise "should_render: #{should_render}"
81
-
82
81
  if should_render || params[:_render] == 'v1'
83
82
  @__json_ui_activated = true
84
83
  request.variant = :ui
@@ -17,7 +17,7 @@ class Glib::JsonUi::ActionBuilder
17
17
  end
18
18
 
19
19
  class OpenWeb < Action
20
- # string :url
20
+ string :targetWindow
21
21
 
22
22
  def url(value, options = {})
23
23
  regex = /\/.+\.json|format=json/
@@ -15,6 +15,7 @@ module Glib
15
15
  class Button < MenuItem
16
16
  badgeable
17
17
 
18
+ hash :avatar, optional: [:size, :backgroundColor, :url, :initials]
18
19
  string :text
19
20
  icon :icon
20
21
  action :onClick
@@ -61,7 +61,7 @@ module Glib
61
61
  end
62
62
 
63
63
  def footer(options = {})
64
- json.header do
64
+ json.footer do
65
65
  json.backgroundColor options.delete(:backgroundColor)
66
66
  json.cellViews do
67
67
  options.delete(:cellViews)&.call page.view_builder
@@ -0,0 +1,32 @@
1
+ module Glib
2
+ module NilifyBlanks
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ class_attribute :_nilify_blanks_options, default: { only: nil, except: nil }
7
+
8
+ before_validation :_nilify_blanks
9
+ end
10
+
11
+ class_methods do
12
+ def nilify_blanks(options = {})
13
+ self._nilify_blanks_options = options
14
+ end
15
+ end
16
+
17
+ private
18
+ def _nilify_blanks
19
+ attrs = attributes
20
+
21
+ only = self.class._nilify_blanks_options[:only]
22
+ except = self.class._nilify_blanks_options[:except]
23
+
24
+ attrs = attrs.slice(*only.map(&:to_s)) if only.present?
25
+ attrs = attrs.except(*except.map(&:to_s)) if except.present?
26
+
27
+ attrs.each do |attr, val|
28
+ self[attr] = nil if val.is_a?(String) && val.blank?
29
+ end
30
+ end
31
+ end
32
+ end
@@ -25,7 +25,7 @@ page.table styleClass: 'table--grid', sections: [
25
25
  end
26
26
  end
27
27
 
28
- header.label text: "Markdown"
28
+ header.label text: 'Markdown'
29
29
  end
30
30
 
31
31
  items = [1, 2, 3]
@@ -41,5 +41,18 @@ page.table styleClass: 'table--grid', sections: [
41
41
  cell.markdown text: markdown
42
42
  end
43
43
  end
44
+
45
+ section.footer cellViews: ->(header) do
46
+ column_indexes.each do |i|
47
+ # order_key = "footer#{i}"
48
+ # order = @order_headings[order_key]
49
+ header.label text: "Footer#{i}"
50
+ # , onClick: ->(action) do
51
+ # action.windows_reload url: json_ui_garage_url(path: 'tables/layout', orders: reversed_order_params(order_key))
52
+ # end
53
+ end
54
+
55
+ header.label text: ''
56
+ end
44
57
  end
45
58
  ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glib-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.34.7
4
+ version: 4.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -206,6 +206,7 @@ files:
206
206
  - app/helpers/glib/json_ui/view_builder/panels.rb
207
207
  - app/helpers/glib/urls_helper.rb
208
208
  - app/models/concerns/glib/enum_humanization.rb
209
+ - app/models/concerns/glib/nilify_blanks.rb
209
210
  - app/models/concerns/glib/soft_deletable.rb
210
211
  - app/models/glib/active_storage/attachment.rb
211
212
  - app/models/glib/active_storage/blob.rb