glib-web 3.19.0 → 3.19.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
  3. data/app/controllers/concerns/glib/json/traversal.rb +4 -0
  4. data/app/helpers/glib/app_feature_support_helper.rb +0 -0
  5. data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
  6. data/app/helpers/glib/json_ui/abstract_builder.rb +3 -1
  7. data/app/helpers/glib/json_ui/action_builder/popovers.rb +12 -0
  8. data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
  9. data/app/helpers/glib/json_ui/analytics_helper.rb +0 -0
  10. data/app/helpers/glib/json_ui/builder/mouse_events.rb +14 -4
  11. data/app/helpers/glib/json_ui/generic_builders.rb +0 -0
  12. data/app/helpers/glib/json_ui/page_helper.rb +5 -1
  13. data/app/helpers/glib/json_ui/table_builders.rb +0 -0
  14. data/app/helpers/glib/json_ui/view_builder.rb +1 -0
  15. data/app/models/glib/active_storage/attachment.rb +0 -0
  16. data/app/models/glib/active_storage/blob.rb +0 -0
  17. data/app/models/glib/dynamic_text_record.rb +0 -0
  18. data/app/models/glib/text.rb +0 -0
  19. data/app/validators/email_typo_validator.rb +0 -0
  20. data/app/validators/email_validator.rb +0 -0
  21. data/app/validators/url_validator.rb +0 -0
  22. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +0 -0
  23. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
  24. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
  25. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
  26. data/app/views/json_ui/garage/forms/rich_text_preview.json.jbuilder +1 -0
  27. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
  28. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
  29. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
  30. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
  31. data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
  32. data/app/views/json_ui/garage/home/slow.json.jbuilder +0 -0
  33. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +0 -0
  34. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +0 -0
  35. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +0 -0
  36. data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
  37. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
  38. data/app/views/json_ui/garage/pages/custom_style_class.json.jbuilder +0 -0
  39. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
  40. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
  41. data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
  42. data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
  43. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +0 -0
  44. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +0 -0
  45. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
  46. data/app/views/json_ui/garage/pages/redirect_onload.json.jbuilder +0 -0
  47. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
  48. data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
  49. data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
  50. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
  51. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
  52. data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
  53. data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
  54. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
  55. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
  56. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +0 -0
  57. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
  58. data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
  59. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
  60. data/app/views/json_ui/garage/views/charts.json.jbuilder +1 -1
  61. data/app/views/json_ui/garage/views/controls.json.jbuilder +60 -24
  62. data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
  63. data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
  64. data/app/views/json_ui/garage/views/multimedia.json.jbuilder +0 -0
  65. data/app/views/layouts/json_ui/no_custom.html.erb +0 -0
  66. data/lib/generators/glib/install_generator.rb +0 -0
  67. data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
  68. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
  69. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
  70. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
  71. data/lib/generators/templates/database.yml +0 -0
  72. data/lib/generators/templates/dynamic_text.rb +0 -0
  73. data/lib/glib/crypt/utils.rb +0 -0
  74. data/lib/glib/crypt.rb +0 -0
  75. data/lib/glib/dynamic_text/config.rb +0 -0
  76. data/lib/glib/dynamic_text.rb +0 -0
  77. data/lib/glib/engine.rb +0 -0
  78. data/lib/glib/json_crawler/action_crawler.rb +0 -0
  79. data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
  80. data/lib/glib/json_crawler/action_crawlers/dialogs_alert.rb +0 -0
  81. data/lib/glib/json_crawler/action_crawlers/dialogs_show.rb +12 -0
  82. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +6 -0
  83. data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
  84. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +0 -0
  85. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
  86. data/lib/glib/json_crawler/coverage.rb +0 -0
  87. data/lib/glib/json_crawler/router.rb +2 -0
  88. data/lib/glib/json_crawler.rb +1 -0
  89. data/lib/glib/mailer_tester.rb +1 -0
  90. data/lib/glib/value.rb +0 -0
  91. data/lib/glib/version.rb +0 -0
  92. data/lib/glib-web.rb +0 -0
  93. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67f1a12f58e636eebfea51213e913bf4a5dcd1f131f6d1fbbb8794391ac9493a
4
- data.tar.gz: 8facd85fed8676d112978f51b1d7712374f91ba4f99bef116516f69354485ff2
3
+ metadata.gz: b694845415b32c179dd54e831edef944ae82293abefea78edd0e85f7d50f86ee
4
+ data.tar.gz: c67caa45c4f14951018bc6e518080580d0bec5b67a6f0ae1d81dd2d66798a053
5
5
  SHA512:
6
- metadata.gz: b0b873948a68e24fd6fc0c2e9d2aaafa11c4f0102bfa33fc9b433703998bf502cda9e0a201bd2112d7f58834ea649846c9b3351e756e58288781c9211741fa9e
7
- data.tar.gz: 4ea2b19bfbb4e3ae62998ff1fc7db9021c1f5019b93a0b9a4f59ce39d3375b5b6655b48a2e2288881d7802489da27bba0f02ee32ee8bd106ae49a88b1ec8500a
6
+ metadata.gz: b4ddf953458f333208e87ae58f476ad23623762336e3b29d65b249528e37be86e378d07da26712e6180b698c98f1bc76ea7314d9a0814c4d2be52e65da0881f3
7
+ data.tar.gz: 84e6307d15fbebcbe60da0540df2a269f239fc7ec0701dd4647e9e27f13103450e82784d8218053b98194ec2a5c6ac720a188d6f664212183b38deb1a374df74
@@ -94,6 +94,10 @@ module Glib::Json::Traversal
94
94
  traverse_multiple view['leftButtons'], block
95
95
  traverse_multiple view['rightButtons'], block
96
96
 
97
+ # Select field
98
+ traverse_vertical_content view['header'], block
99
+ traverse_vertical_content view['footer'], block
100
+
97
101
  # Table row
98
102
  traverse_multiple view['cellViews'], block
99
103
 
File without changes
File without changes
@@ -269,7 +269,9 @@ module Glib
269
269
 
270
270
  def self.action(propName)
271
271
  define_method(propName) do |value|
272
- json.set!(propName) { value.call(page.action_builder) }
272
+ if value # Allow nil value
273
+ json.set!(propName) { value.call(page.action_builder) }
274
+ end
273
275
  end
274
276
  end
275
277
 
@@ -1,5 +1,6 @@
1
1
  class Glib::JsonUi::ActionBuilder
2
2
  module Popovers
3
+ # Deprecated. Use popovers_show instead.
3
4
  class Open < Action
4
5
  string :key
5
6
  views :childViews
@@ -9,6 +10,17 @@ class Glib::JsonUi::ActionBuilder
9
10
  singleton_array :styleClass, :styleClasses
10
11
  end
11
12
 
13
+ class Show < Action
14
+ panels_builder :content, :body
15
+
16
+ string :key
17
+ # views :childViews
18
+ string :placement
19
+ int :offset
20
+ int :width
21
+ # singleton_array :styleClass, :styleClasses
22
+ end
23
+
12
24
  class Close < Action
13
25
  string :key
14
26
  action :onClose
File without changes
File without changes
@@ -15,12 +15,22 @@ module Glib
15
15
  key = 'tooltip_test'
16
16
  end
17
17
  onMouseEnter ->(action) do
18
- action.popovers_open(
18
+ # action.popovers_open(
19
+ # key: key,
20
+ # placement: options[:placement] || 'top',
21
+ # childViews: ->(view) {
22
+ # view.p styleClass: 'tooltip', text: options[:text]
23
+ # }
24
+ # )
25
+
26
+ action.popovers_show(
19
27
  key: key,
20
28
  placement: options[:placement] || 'top',
21
- childViews: ->(view) {
22
- view.p styleClass: 'tooltip', text: options[:text]
23
- }
29
+ content: ->(popover) do
30
+ popover.body childViews: ->(view) {
31
+ view.p styleClass: 'tooltip', text: options[:text]
32
+ }
33
+ end
24
34
  )
25
35
  end
26
36
 
File without changes
@@ -238,7 +238,11 @@ module Glib
238
238
  # TODO: try disabling this
239
239
  # options = options.reverse_merge(width: 'matchParent')
240
240
 
241
- [:padding, :backgroundColor, :width, :height].each do |name|
241
+ if (styleClass = options.delete(:styleClass))
242
+ json.styleClasses [styleClass]
243
+ end
244
+
245
+ [:styleClasses, :padding, :backgroundColor, :width, :height].each do |name|
242
246
  if (value = options.delete(name))
243
247
  json.set! name, value
244
248
  end
File without changes
@@ -247,6 +247,7 @@ module Glib
247
247
 
248
248
  string :text
249
249
  action :onClick
250
+ icon :icon
250
251
  end
251
252
 
252
253
  class Calendar < View
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,7 @@
1
1
  data = params[:user] || {}
2
2
 
3
3
  json_ui_response_with_view json do |action|
4
+ # Experimental. Continue to use `components_update` instead.
4
5
  action.components_replace targetId: 'preview', newView: ->(update) do
5
6
  update.panels_vertical childViews: ->(vertical) do
6
7
  vertical.label text: "Hello #{data[:name]},"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -145,7 +145,7 @@ else
145
145
  {
146
146
  text: 'Fruits',
147
147
  font: {
148
- weigth: 'bold',
148
+ weight: 'bold',
149
149
  size: 20
150
150
  }
151
151
  },
@@ -31,19 +31,38 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
31
31
 
32
32
  scroll.spacer height: 10
33
33
  scroll.button text: 'Button with dropdown', onClick: ->(action) do
34
- action.popovers_open \
34
+ # action.popovers_open \
35
+ # key: 'menu',
36
+ # placement: 'left',
37
+ # childViews: ->(view) do
38
+ # view.panels_responsive styleClass: 'popover-menu', width: 200, childViews: ->(res) do
39
+ # res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
40
+ # saction.popovers_close key: 'menu'
41
+ # end
42
+ # res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
43
+ # saction.popovers_close key: 'menu'
44
+ # end
45
+ # res.label text: 'Item 3', styleClass: 'popover-menu-item', onClick: ->(saction) do
46
+ # saction.popovers_close key: 'menu'
47
+ # end
48
+ # end
49
+ # end
50
+
51
+ action.popovers_show \
35
52
  key: 'menu',
36
53
  placement: 'left',
37
- childViews: ->(view) do
38
- view.panels_responsive styleClass: 'popover-menu', width: 200, childViews: ->(res) do
39
- res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
40
- saction.popovers_close key: 'menu'
41
- end
42
- res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
43
- saction.popovers_close key: 'menu'
44
- end
45
- res.label text: 'Item 3', styleClass: 'popover-menu-item', onClick: ->(saction) do
46
- saction.popovers_close key: 'menu'
54
+ content: ->(dialog) do
55
+ dialog.body padding: glib_json_padding_body, childViews: ->(view) do
56
+ view.panels_responsive styleClass: 'popover-menu', width: 200, childViews: ->(res) do
57
+ res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
58
+ saction.popovers_close key: 'menu'
59
+ end
60
+ res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
61
+ saction.popovers_close key: 'menu'
62
+ end
63
+ res.label text: 'Item 3', styleClass: 'popover-menu-item', onClick: ->(saction) do
64
+ saction.popovers_close key: 'menu'
65
+ end
47
66
  end
48
67
  end
49
68
  end
@@ -54,20 +73,38 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
54
73
  text: 'Button with tooltip and dropdown',
55
74
  tooltip: { text: 'Tooltip 1' },
56
75
  onClick: ->(action) do
57
- action.popovers_open \
76
+ # action.popovers_open \
77
+ # key: 'menu',
78
+ # placement: 'bottom-start',
79
+ # styleClass: 'popover-menu',
80
+ # width: 200,
81
+ # childViews: ->(res) do
82
+ # res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
83
+ # saction.popovers_close key: 'menu'
84
+ # end
85
+ # res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
86
+ # saction.popovers_close key: 'menu'
87
+ # end
88
+ # res.label text: 'Item 3 with very very very very very long name', styleClass: 'popover-menu-item', onClick: ->(saction) do
89
+ # saction.popovers_close key: 'menu'
90
+ # end
91
+ # end
92
+
93
+ action.popovers_show \
58
94
  key: 'menu',
59
95
  placement: 'bottom-start',
60
- styleClass: 'popover-menu',
61
96
  width: 200,
62
- childViews: ->(res) do
63
- res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
64
- saction.popovers_close key: 'menu'
65
- end
66
- res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
67
- saction.popovers_close key: 'menu'
68
- end
69
- res.label text: 'Item 3 with very very very very very long name', styleClass: 'popover-menu-item', onClick: ->(saction) do
70
- saction.popovers_close key: 'menu'
97
+ content: ->(dialog) do
98
+ dialog.body styleClass: 'popover-menu', padding: glib_json_padding_body, childViews: ->(res) do
99
+ res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
100
+ saction.popovers_close key: 'menu'
101
+ end
102
+ res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
103
+ saction.popovers_close key: 'menu'
104
+ end
105
+ res.label text: 'Item 3 with very very very very very long name', styleClass: 'popover-menu-item', onClick: ->(saction) do
106
+ saction.popovers_close key: 'menu'
107
+ end
71
108
  end
72
109
  end
73
110
  end
@@ -87,13 +124,12 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
87
124
  action.dialogs_alert message: 'Perform action'
88
125
  end
89
126
 
90
-
91
-
92
127
  scroll.spacer height: 20
93
128
  scroll.h2 text: 'Chip'
94
129
  scroll.spacer height: 10
95
130
  scroll.chip \
96
131
  styleClass: 'success',
132
+ icon: 'done',
97
133
  text: 'Success',
98
134
  tooltip: { text: 'Tooltip text' }
99
135
  scroll.spacer height: 10
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
data/lib/glib/crypt.rb CHANGED
File without changes
File without changes
File without changes
data/lib/glib/engine.rb CHANGED
File without changes
File without changes
File without changes
@@ -0,0 +1,12 @@
1
+ module Glib
2
+ module JsonCrawler
3
+ class DialogsShow < ActionCrawler
4
+ def initialize(http, args, action)
5
+ super(http)
6
+
7
+ @http.router.log action, nil
8
+ crawl args['body']&.[]('childViews')
9
+ end
10
+ end
11
+ end
12
+ end
@@ -51,6 +51,12 @@ module Glib
51
51
  end
52
52
  end
53
53
 
54
+ if (on_submit = view['onSubmit']) && !on_submit[:__executed_by_crawler]
55
+ on_submit[:__executed_by_crawler] = true
56
+ perform(on_submit)
57
+ return
58
+ end
59
+
54
60
  case method
55
61
  when :patch, :put
56
62
  json = @http.patch url, action, params
File without changes
File without changes
@@ -67,6 +67,8 @@ module Glib
67
67
  else
68
68
  self.log action, params['url']
69
69
  end
70
+ when 'dialogs/show-v1', 'dialogs/show', 'popovers/show-v1', 'popovers/show'
71
+ JsonCrawler::DialogsShow.new(http, params, action)
70
72
  when 'sheets/select-v1', 'sheets/select'
71
73
  JsonCrawler::Menu.new(http, params, action)
72
74
  when 'http/post-v1', 'http/post'
@@ -8,5 +8,6 @@ require_relative './json_crawler/action_crawlers/windows_open'
8
8
  require_relative './json_crawler/action_crawlers/action_http'
9
9
  require_relative './json_crawler/action_crawlers/forms_submit'
10
10
  require_relative './json_crawler/action_crawlers/dialogs_alert'
11
+ require_relative './json_crawler/action_crawlers/dialogs_show'
11
12
  require_relative './json_crawler/action_crawlers/menu'
12
13
  require_relative './json_crawler/action_crawlers/run_multiple'
@@ -15,6 +15,7 @@ module Glib
15
15
  preview_class.instance_methods(false).each do |mailer_method|
16
16
  test "mailer for #{preview_class}##{mailer_method}" do
17
17
  preview.send(mailer_method).deliver_now
18
+ Timecop.return # Allows mailer preview to use Timecop.freeze()
18
19
 
19
20
  logfile = File.join(log_dir, "#{preview_class.name.underscore}##{mailer_method}.txt")
20
21
 
data/lib/glib/value.rb CHANGED
File without changes
data/lib/glib/version.rb CHANGED
File without changes
data/lib/glib-web.rb CHANGED
File without changes
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: 3.19.0
4
+ version: 3.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -297,6 +297,7 @@ files:
297
297
  - lib/glib/json_crawler/action_crawler.rb
298
298
  - lib/glib/json_crawler/action_crawlers/action_http.rb
299
299
  - lib/glib/json_crawler/action_crawlers/dialogs_alert.rb
300
+ - lib/glib/json_crawler/action_crawlers/dialogs_show.rb
300
301
  - lib/glib/json_crawler/action_crawlers/forms_submit.rb
301
302
  - lib/glib/json_crawler/action_crawlers/menu.rb
302
303
  - lib/glib/json_crawler/action_crawlers/nav_initiate.rb
@@ -328,7 +329,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
328
329
  - !ruby/object:Gem::Version
329
330
  version: '0'
330
331
  requirements: []
331
- rubygems_version: 3.4.6
332
+ rubyforge_project:
333
+ rubygems_version: 2.7.6
332
334
  signing_key:
333
335
  specification_version: 4
334
336
  summary: ''