glib-web 0.5.51 → 0.5.56

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +0 -0
  3. data/app/controllers/concerns/glib/json/libs.rb +5 -0
  4. data/app/controllers/concerns/glib/json/traversal.rb +0 -0
  5. data/app/controllers/glib/home_controller.rb +0 -0
  6. data/app/helpers/glib/json_ui/abstract_builder.rb +0 -0
  7. data/app/helpers/glib/json_ui/action_builder.rb +0 -0
  8. data/app/helpers/glib/json_ui/action_builder/lists.rb +8 -0
  9. data/app/helpers/glib/json_ui/action_builder/windows.rb +5 -0
  10. data/app/helpers/glib/json_ui/list_builders.rb +1 -0
  11. data/app/helpers/glib/json_ui/page_helper.rb +0 -0
  12. data/app/helpers/glib/json_ui/response_helper.rb +0 -0
  13. data/app/helpers/glib/json_ui/view_builder.rb +0 -0
  14. data/app/helpers/glib/json_ui/view_builder/banners.rb +1 -0
  15. data/app/helpers/glib/json_ui/view_builder/fields.rb +14 -0
  16. data/app/helpers/glib/json_ui/view_builder/panels.rb +1 -0
  17. data/app/helpers/glib/urls_helper.rb +5 -0
  18. data/app/views/json_ui/garage/actions/_lists.json.jbuilder +12 -0
  19. data/app/views/json_ui/garage/actions/index.json.jbuilder +2 -0
  20. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +0 -0
  21. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +0 -0
  22. data/app/views/json_ui/garage/forms/index.json.jbuilder +1 -2
  23. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +64 -8
  24. data/app/views/json_ui/garage/forms/selects.json.jbuilder +0 -0
  25. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +0 -0
  26. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +0 -0
  27. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +5 -5
  28. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +6 -4
  29. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +10 -0
  30. data/app/views/json_ui/garage/home/index.json.jbuilder +14 -10
  31. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +0 -0
  32. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +0 -0
  33. data/app/views/json_ui/garage/lists/index.json.jbuilder +0 -0
  34. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +0 -0
  35. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +2 -2
  36. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +0 -0
  37. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +5 -0
  38. data/app/views/json_ui/garage/views/maps.json.jbuilder +0 -0
  39. data/lib/glib/json_crawler/router.rb +0 -0
  40. data/lib/glib/test_helpers.rb +0 -0
  41. metadata +5 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54ec1ebfb9977b82473a2a4677d83e0bd82975dbd39a2a3a2ffd4bd901903fb8
4
- data.tar.gz: 322cfff138b7fa5e99e25b48512d7c56e4426edd94ea9638fad0695f6b4f5f11
3
+ metadata.gz: 62fb9c0373e4c1d9e7b57595632bb069451e0cb1b0dab8ce8fa045159db7555f
4
+ data.tar.gz: cd169b1e535beac941bc8b866be6811875096f3584e965a43d3ea045dccf44c6
5
5
  SHA512:
6
- metadata.gz: 1462c3983c1a0a344e39171f7a5e41d5d394ff13fb7fa4f0ad62f27ac07e6ef272fe487090a502361305542e406bbc3f22d4d2001e014e1f87a4ef5b4a9ae959
7
- data.tar.gz: 4c337b87a009042358b5848e902d41f2b03229679acbb93ff482246d57fae3fc0855bebb3902204b8fad12b4c36ff78a9aec788ff50f5db97a3fa77780d15c7d
6
+ metadata.gz: bb0b6b0b8dd40f3d2fc5aeea01fabefa2e9553e91f156c7ad33679ceec1ef46bc7890108cedd04c554234f6b997ac8d53787a3d0c5d18530e7bc3366a95be450
7
+ data.tar.gz: f747e739b1c43364606719b9e4430e8a01e4ed5f79797f9353da0fae9a7e2638952e7a24fd0dcc908c28364223369885501a397e7e0eec8d26bcc4b1e03fde65
File without changes
@@ -69,6 +69,11 @@ module Glib::Json::Libs
69
69
  end
70
70
  end
71
71
 
72
+ def glib_json_redirect_to(url)
73
+ render json: {
74
+ onResponse: { action: 'dialogs/close', onClose: { action: 'windows/open', url: url } }
75
+ }
76
+ end
72
77
 
73
78
  module ClassMethods
74
79
 
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,8 @@
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Lists
3
+ class ScrollToBottom < Action
4
+ action :onScroll
5
+ bool :animate
6
+ end
7
+ end
8
+ end
@@ -22,5 +22,10 @@ class Glib::JsonUi::ActionBuilder
22
22
  string :url, cache: true
23
23
  action :onReload
24
24
  end
25
+
26
+ class CloseWithReload < Action
27
+ string :fallbackUrl
28
+ action :onReload
29
+ end
25
30
  end
26
31
  end
@@ -12,6 +12,7 @@ module Glib
12
12
  menu :editButtons
13
13
  menu :chips
14
14
  singleton_array :styleClass, :styleClasses
15
+ color :backgroundColor
15
16
 
16
17
  # def editButtons(block)
17
18
  # json.editButtons do
File without changes
File without changes
File without changes
@@ -12,6 +12,7 @@ class Glib::JsonUi::ViewBuilder
12
12
  icon :icon
13
13
  string :message
14
14
  singleton_array :styleClass, :styleClasses
15
+ color :color
15
16
 
16
17
  def buttons(block)
17
18
  json.buttons do
@@ -233,8 +233,22 @@ class Glib::JsonUi::ViewBuilder
233
233
  string :publicKey
234
234
  end
235
235
 
236
+ class StripeExternalAccount < AbstractField
237
+ string :publicKey
238
+ string :accountHolderName
239
+ string :accountHolderType
240
+ string :country
241
+ string :currency
242
+ end
243
+
236
244
  class CreditCard < AbstractField
237
245
  string :publicKey
238
246
  end
247
+
248
+ class Rating < AbstractField
249
+ bool :halfIncrements
250
+ string :color
251
+ int :size
252
+ end
239
253
  end
240
254
  end
@@ -202,6 +202,7 @@ class Glib::JsonUi::ViewBuilder
202
202
  views :childViews
203
203
  string :distribution
204
204
  string :align
205
+ action :onClick
205
206
  end
206
207
 
207
208
  class Horizontal < View
@@ -3,5 +3,10 @@ module Glib
3
3
  def glib_url_current(new_params)
4
4
  url_for(params.to_unsafe_h.merge(new_params.merge(only_path: false)))
5
5
  end
6
+
7
+ def glib_url_equals_current?(url)
8
+ route = Rails.application.routes.recognize_path(url)
9
+ route[:controller] == controller_name && route[:action] == action_name
10
+ end
6
11
  end
7
12
  end
@@ -0,0 +1,12 @@
1
+
2
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
3
+ header.h3 text: 'Lists'
4
+ end
5
+
6
+ section.rows builder: ->(template) do
7
+ template.thumbnail title: 'lists/scrollToBottom', onClick: ->(action) do
8
+ action.lists_scrollToBottom animate: true, onScroll: ->(subaction) do
9
+ subaction.dialogs_alert message: 'Bottom reached'
10
+ end
11
+ end
12
+ end
@@ -6,6 +6,8 @@ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
6
6
  page.list sections: [
7
7
  ->(section) do
8
8
  render "#{@path_prefix}/actions/reload", section: section
9
+ end, ->(section) do
10
+ render "#{@path_prefix}/actions/lists", section: section
9
11
  end, ->(section) do
10
12
  render "#{@path_prefix}/actions/dialogs", section: section
11
13
  end, ->(section) do
@@ -16,7 +16,7 @@ page.list sections: [
16
16
  template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
17
17
  action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
18
18
  end
19
- template.thumbnail title: "Submission Indicator", onClick: ->(action) do
19
+ template.thumbnail title: 'Submission Indicator', onClick: ->(action) do
20
20
  action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
21
21
  end
22
22
  template.thumbnail title: 'GET Request', onClick: ->(action) do
@@ -59,7 +59,6 @@ page.list sections: [
59
59
  template.thumbnail title: 'Floating Submit', onClick: ->(action) do
60
60
  action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
61
61
  end
62
-
63
62
  end
64
63
  end, ->(section) do
65
64
  section.header padding: glib_json_padding_list, childViews: ->(header) do
@@ -3,7 +3,12 @@ json.title 'Forms'
3
3
  page = json_ui_page json
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page
5
5
 
6
- page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
6
+ page.form \
7
+ url: json_ui_garage_url(path: 'forms/generic_post'),
8
+ method: 'post',
9
+ padding: glib_json_padding_body,
10
+ childViews: ->(form) do
11
+
7
12
  form.h2 text: 'Radio Group'
8
13
  form.spacer height: 6
9
14
  form.h4 text: 'Gender'
@@ -15,15 +20,40 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
15
20
 
16
21
  form.spacer height: 20
17
22
  form.h2 text: 'Single Checkbox'
18
- form.fields_check name: 'user[age_range]', value: '16+', checkValue: '16+', uncheckValue: '0-16', label: 'I am over 16 (has default value)'
19
- form.fields_check name: 'user[employer]', checkValue: 1, label: 'I am an employer (no default value)'
20
- form.fields_check name: 'user[enabled]', checkValue: true, label: 'Enable', styleClass: 'switch', value: 'true'
23
+ form.fields_check \
24
+ name: 'user[age_range]',
25
+ value: '16+',
26
+ checkValue: '16+',
27
+ uncheckValue: '0-16',
28
+ label: 'I am over 16 (has default value)'
29
+ form.fields_check \
30
+ name: 'user[employer]',
31
+ checkValue: 1,
32
+ label: 'I am an employer (no default value)'
33
+ form.fields_check \
34
+ name: 'user[enabled]',
35
+ checkValue: true,
36
+ label: 'Enable',
37
+ styleClass: 'switch',
38
+ value: 'true'
21
39
 
22
40
  form.spacer height: 20
23
41
  form.h2 text: 'Date/Time'
24
42
  form.spacer height: 6
25
- form.fields_date name: 'user[date]', width: 'matchParent', label: 'Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
26
- form.fields_datetime name: 'user[date_time]', width: 'matchParent', label: 'Date Time', min: '2018-06-09T00:00', max: '2018-06-17T00:00', value: '2018-06-15T19:30'
43
+ form.fields_date \
44
+ name: 'user[date]',
45
+ width: 'matchParent',
46
+ label: 'Date',
47
+ min: '2010-01-01',
48
+ max: '2012-01-01',
49
+ value: '2010-02-01'
50
+ form.fields_datetime \
51
+ name: 'user[date_time]',
52
+ width: 'matchParent',
53
+ label: 'Date Time',
54
+ min: '2018-06-09T00:00',
55
+ max: '2018-06-17T00:00',
56
+ value: '2018-06-15T19:30'
27
57
 
28
58
  form.spacer height: 20
29
59
  form.h2 text: 'Country'
@@ -34,13 +64,39 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
34
64
  form.spacer height: 20
35
65
  form.h2 text: 'Map'
36
66
  form.spacer height: 6
37
- form.fields_location name: 'user[address]', width: 'matchParent', label: 'Type an address', value: 'Sydney Harbour Bridge',
67
+ form.fields_location \
68
+ name: 'user[address]',
69
+ width: 'matchParent',
70
+ label: 'Type an address',
71
+ value: 'Sydney Harbour Bridge',
38
72
  autocompleteOptions: { componentRestrictions: { country: 'au' }, types: ['(cities)'] },
39
73
  latitudeField: { view: 'fields/text', name: 'user[latitude]', label: 'Lat', value: -33.8523063, readOnly: true },
40
74
  longitudeField: { view: 'fields/text', name: 'user[longitude]', label: 'Long', value: 151.21078710000006, readOnly: true },
41
75
  zoomField: { view: 'fields/text', name: 'user[zoom]', label: 'Zoom' }
42
76
 
43
77
  form.spacer height: 20
44
- form.fields_submit text: 'Submit'
78
+ form.h2 text: 'Rating'
79
+ form.spacer height: 6
80
+ form.fields_rating \
81
+ name: 'user[rating_summary1]',
82
+ value: 1,
83
+ color: 'primary'
84
+ form.fields_rating \
85
+ name: 'user[rating_summary2]',
86
+ value: 1.5,
87
+ halfIncrements: true,
88
+ color: 'secondary'
89
+ form.fields_rating \
90
+ name: 'user[rating_summary3]',
91
+ value: 2,
92
+ color: 'ternary',
93
+ size: 35
94
+ form.fields_rating \
95
+ name: 'user[rating_summary4]',
96
+ value: 3,
97
+ readOnly: true,
98
+ size: 40
45
99
 
100
+ form.spacer height: 20
101
+ form.fields_submit text: 'Submit'
46
102
  end
File without changes
@@ -2,15 +2,15 @@ json.title 'Forms'
2
2
 
3
3
  json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
5
+
6
6
  page.form url: json_ui_garage_url(path: 'forms/submission_flow_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
7
7
  form.fields_radioGroup name: 'user[flow]', childViews: ->(group) do
8
8
  group.h3 text: 'Flow'
9
9
  group.spacer height: 6
10
- group.fields_radio value: 'close_reload', label: 'close+reload - useful for form submission in mobile apps'
11
- group.fields_radio value: 'open', label: 'open - useful for form submission in web app'
12
- group.fields_radio value: 'close_alert', label: 'close+alert - useful for non-model form (e.g. contact us) in both mobile/web'
13
- group.fields_radio value: 'alert_close', label: 'alert+close - useful for non-model form (e.g. contact us) in both mobile/web'
10
+ group.fields_radio value: 'open', label: 'open - useful for form create'
11
+ group.fields_radio value: 'close_with_reload', label: 'closeWithReload - useful for form update'
12
+ group.fields_radio value: 'close_alert', label: 'close+alert - useful for non-model form (e.g. contact us)'
13
+ group.fields_radio value: 'alert_close', label: 'alert+close - useful for non-model form (e.g. contact us)'
14
14
  end
15
15
  form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
16
16
  end
@@ -5,10 +5,12 @@ json_ui_response json do |action|
5
5
  action.dialogs_alert message: 'Please enter all required information'
6
6
  else
7
7
  case flow
8
- when 'close_reload'
9
- action.windows_close onClose: ->(action) do
10
- action.windows_reload
11
- end
8
+ when 'close_with_reload'
9
+ # action.windows_close onClose: ->(action) do
10
+ # action.windows_reload
11
+ # end
12
+
13
+ action.windows_closeWithReload fallbackUrl: json_ui_garage_url(path: 'forms/index')
12
14
  when 'close_alert'
13
15
  action.windows_close onClose: ->(action) do
14
16
  action.dialogs_alert message: 'Thanks for the submission!'
@@ -54,6 +54,16 @@ page.form \
54
54
  width: 'matchParent',
55
55
  publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
56
56
 
57
+ form.spacer height: 20
58
+ form.fields_stripeExternalAccount \
59
+ name: 'user[stripe_external_account]',
60
+ width: 'matchParent',
61
+ publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx',
62
+ accountHolderName: 'John Doe',
63
+ accountHolderType: 'individual',
64
+ country: 'AU',
65
+ currency: 'AUD'
66
+
57
67
  form.spacer height: 30
58
68
  form.fields_submit text: 'Submit'
59
69
  end
@@ -2,30 +2,34 @@ json.title 'Menu'
2
2
 
3
3
  json_ui_page json do |page|
4
4
  render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
-
5
+
6
6
  page.list firstSection: ->(section) do
7
7
  section.rows builder: ->(template) do
8
- template.thumbnail title: 'Pages', onClick: ->(action) do
8
+ template.thumbnail title: 'Pages', onClick: ->(action) do
9
9
  action.windows_open url: json_ui_garage_url(path: 'pages/index')
10
10
  end
11
- template.thumbnail title: 'Lists', onClick: ->(action) do
11
+ template.thumbnail title: 'Panels', onClick: ->(action) do
12
+ action.windows_open url: json_ui_garage_url(path: 'panels/index')
13
+ end
14
+ template.thumbnail title: 'Lists', onClick: ->(action) do
12
15
  action.windows_open url: json_ui_garage_url(path: 'lists/index')
13
16
  end
14
- template.thumbnail title: 'Forms', onClick: ->(action) do
17
+ template.thumbnail title: 'Forms', onClick: ->(action) do
15
18
  action.windows_open url: json_ui_garage_url(path: 'forms/index')
16
19
  end
17
- template.thumbnail title: 'Panels', onClick: ->(action) do
18
- action.windows_open url: json_ui_garage_url(path: 'panels/index')
19
- end
20
- template.thumbnail title: 'Views', onClick: ->(action) do
20
+ template.thumbnail title: 'Views', onClick: ->(action) do
21
21
  action.windows_open url: json_ui_garage_url(path: 'views/index')
22
22
  end
23
- template.thumbnail title: 'Actions', onClick: ->(action) do
23
+ template.thumbnail title: 'Actions', onClick: ->(action) do
24
24
  action.windows_open url: json_ui_garage_url(path: 'actions/index')
25
25
  end
26
- template.thumbnail title: 'Tables (Web Only)', onClick: ->(action) do
26
+ template.thumbnail title: 'Tables (Web Only)', onClick: ->(action) do
27
27
  action.windows_open url: json_ui_garage_url(path: 'tables/index')
28
28
  end
29
+ # Disabled to prevent errors in crawler tests due to external dependencies
30
+ # template.thumbnail title: 'Services', onClick: ->(action) do
31
+ # action.windows_open url: json_ui_garage_url(path: 'services/index')
32
+ # end
29
33
  end
30
34
 
31
35
  end
File without changes
@@ -43,7 +43,7 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
43
43
  scroll.panels_split width: 'matchParent', content: ->(content) do
44
44
  content.left childViews: ->(left) do
45
45
  left.fields_textarea \
46
- width: 'matchParent',
46
+ width: 440,
47
47
  label: "Messages from #{first_user.full_name}",
48
48
  onTypeStart: lambda { |action|
49
49
  action.cables_push \
@@ -69,7 +69,7 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
69
69
  end
70
70
  content.right childViews: ->(right) do
71
71
  right.fields_textarea \
72
- width: 'matchParent',
72
+ width: 440,
73
73
  label: "Messages from #{second_user.full_name}",
74
74
  onTypeStart: lambda { |action|
75
75
  action.cables_push \
@@ -46,5 +46,10 @@ json_ui_page json do |page|
46
46
  panel.button text: '3'
47
47
  end
48
48
 
49
+ scroll.label text: "\n"
50
+ scroll.h1 text: 'Click action'
51
+ scroll.panels_vertical width: 100, height: 100, backgroundColor: '#b3bac2', onClick: ->(action) do
52
+ action.dialogs_alert message: 'Perform action'
53
+ end
49
54
  end
50
55
  end
File without changes
File without changes
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: 0.5.51
4
+ version: 0.5.56
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -59,9 +59,6 @@ dependencies:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 6.0.1
62
- - - "<"
63
- - !ruby/object:Gem::Version
64
- version: 6.1.0
65
62
  type: :runtime
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,9 +66,6 @@ dependencies:
69
66
  - - ">="
70
67
  - !ruby/object:Gem::Version
71
68
  version: 6.0.1
72
- - - "<"
73
- - !ruby/object:Gem::Version
74
- version: 6.1.0
75
69
  description:
76
70
  email: ''
77
71
  executables: []
@@ -98,6 +92,7 @@ files:
98
92
  - app/helpers/glib/json_ui/action_builder.rb
99
93
  - app/helpers/glib/json_ui/action_builder/dialogs.rb
100
94
  - app/helpers/glib/json_ui/action_builder/http.rb
95
+ - app/helpers/glib/json_ui/action_builder/lists.rb
101
96
  - app/helpers/glib/json_ui/action_builder/sheets.rb
102
97
  - app/helpers/glib/json_ui/action_builder/snackbars.rb
103
98
  - app/helpers/glib/json_ui/action_builder/windows.rb
@@ -129,6 +124,7 @@ files:
129
124
  - app/views/json_ui/garage/_nav_menu.json.jbuilder
130
125
  - app/views/json_ui/garage/actions/_dialogs.json.jbuilder
131
126
  - app/views/json_ui/garage/actions/_http.json.jbuilder
127
+ - app/views/json_ui/garage/actions/_lists.json.jbuilder
132
128
  - app/views/json_ui/garage/actions/_reload.json.jbuilder
133
129
  - app/views/json_ui/garage/actions/_sheets.json.jbuilder
134
130
  - app/views/json_ui/garage/actions/_snackbars.json.jbuilder
@@ -269,7 +265,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
265
  - !ruby/object:Gem::Version
270
266
  version: '0'
271
267
  requirements: []
272
- rubygems_version: 3.1.4
268
+ rubyforge_project:
269
+ rubygems_version: 2.7.6
273
270
  signing_key:
274
271
  specification_version: 4
275
272
  summary: ''