glib-web 0.4.22 → 0.4.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +5 -5
  2. data/app/controllers/concerns/glib/auth/policy.rb +0 -0
  3. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -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/dynamic_images_helper.rb +0 -0
  7. data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
  8. data/app/helpers/glib/json_ui/abstract_builder.rb +6 -0
  9. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +63 -0
  10. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -0
  11. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -0
  12. data/app/helpers/glib/json_ui/action_builder/windows.rb +25 -0
  13. data/app/helpers/glib/json_ui/action_builder.rb +0 -113
  14. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -0
  15. data/app/helpers/glib/json_ui/generic_builders.rb +28 -0
  16. data/app/helpers/glib/json_ui/list_builders.rb +0 -0
  17. data/app/helpers/glib/json_ui/menu_builder.rb +0 -0
  18. data/app/helpers/glib/json_ui/page_helper.rb +13 -1
  19. data/app/helpers/glib/json_ui/response_helper.rb +3 -3
  20. data/app/helpers/glib/json_ui/split_builders.rb +2 -2
  21. data/app/helpers/glib/json_ui/styling_helper.rb +0 -0
  22. data/app/helpers/glib/json_ui/table_builders.rb +0 -0
  23. data/app/helpers/glib/json_ui/view_builder/banners.rb +3 -2
  24. data/app/helpers/glib/json_ui/view_builder/fields.rb +6 -3
  25. data/app/helpers/glib/json_ui/view_builder/panels.rb +0 -0
  26. data/app/helpers/glib/json_ui/view_builder.rb +0 -0
  27. data/app/models/glib/active_storage/attachment.rb +0 -0
  28. data/app/models/glib/active_storage/blob.rb +0 -0
  29. data/app/models/glib/dynamic_text_record.rb +0 -0
  30. data/app/models/glib/text.rb +0 -0
  31. data/app/policies/glib/application_policy.rb +148 -148
  32. data/app/views/app/views/json_ui/vue/renderer.html.erb +0 -0
  33. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +0 -0
  34. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +95 -0
  35. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +19 -0
  36. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -0
  37. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -0
  38. data/app/views/json_ui/garage/actions/index.json.jbuilder +5 -109
  39. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +0 -0
  40. data/app/views/json_ui/garage/forms/basic.json.jbuilder +0 -0
  41. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
  42. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +0 -0
  43. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +21 -4
  44. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +0 -0
  45. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
  46. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +0 -0
  47. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +0 -0
  48. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
  49. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
  50. data/app/views/json_ui/garage/forms/index.json.jbuilder +0 -0
  51. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +0 -0
  52. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +0 -0
  53. data/app/views/json_ui/garage/forms/selects.json.jbuilder +0 -0
  54. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
  55. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
  56. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
  57. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
  58. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +0 -0
  59. data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
  60. data/app/views/json_ui/garage/home/index.json.jbuilder +0 -0
  61. data/app/views/json_ui/garage/lists/_infinite_scroll_section.json.jbuilder +0 -0
  62. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +0 -0
  63. data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
  64. data/app/views/json_ui/garage/lists/index.json.jbuilder +0 -0
  65. data/app/views/json_ui/garage/lists/infinite_scroll.json.jbuilder +0 -0
  66. data/app/views/json_ui/garage/lists/templating.json.jbuilder +0 -0
  67. data/app/views/json_ui/garage/notifications/index.json.jbuilder +2 -2
  68. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +0 -0
  69. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
  70. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
  71. data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
  72. data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
  73. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +0 -0
  74. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +0 -0
  75. data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
  76. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +0 -0
  77. data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
  78. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +0 -0
  79. data/app/views/json_ui/garage/panels/index.json.jbuilder +0 -0
  80. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +0 -0
  81. data/app/views/json_ui/garage/panels/split.json.jbuilder +0 -0
  82. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
  83. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
  84. data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
  85. data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
  86. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
  87. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
  88. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
  89. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +0 -0
  90. data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
  91. data/app/views/json_ui/garage/views/banners.json.jbuilder +22 -5
  92. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
  93. data/app/views/json_ui/garage/views/carousels.json.jbuilder +0 -0
  94. data/app/views/json_ui/garage/views/charts.json.jbuilder +0 -0
  95. data/app/views/json_ui/garage/views/images.json.jbuilder +0 -0
  96. data/app/views/json_ui/garage/views/index.json.jbuilder +2 -32
  97. data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
  98. data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
  99. data/app/views/json_ui/garage/views/misc.json.jbuilder +0 -0
  100. data/app/views/json_ui/garage/views/texts.json.jbuilder +0 -0
  101. data/config/routes.rb +0 -0
  102. data/lib/generators/glib/install_generator.rb +0 -0
  103. data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
  104. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
  105. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
  106. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
  107. data/lib/generators/templates/database.yml +0 -0
  108. data/lib/generators/templates/dynamic_text.rb +0 -0
  109. data/lib/glib/dynamic_text/config.rb +0 -0
  110. data/lib/glib/dynamic_text.rb +0 -0
  111. data/lib/glib/engine.rb +0 -0
  112. data/lib/glib/json_crawler/action_crawler.rb +0 -0
  113. data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
  114. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +0 -0
  115. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +0 -0
  116. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
  117. data/lib/glib/json_crawler/http.rb +10 -4
  118. data/lib/glib/json_crawler/router.rb +2 -2
  119. data/lib/glib/json_crawler.rb +0 -0
  120. data/lib/glib/value.rb +0 -0
  121. data/lib/glib/version.rb +0 -0
  122. data/lib/glib-web.rb +0 -0
  123. data/lib/tasks/db.rake +82 -0
  124. metadata +13 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 8246b8bcd18dcbe28425e75bbce1a103b1bbc9b91fb76ca55e377de79e0d26e7
4
- data.tar.gz: 8b9bc8c89bdb6937f22b189366865f0e131909e0607c7dccec353e6f72b9da35
2
+ SHA1:
3
+ metadata.gz: 44f56b6f20013c8665e3b044739028764d66b7bd
4
+ data.tar.gz: 6d06c9cdb1675fd7b4a52992c2efeac135069bcf
5
5
  SHA512:
6
- metadata.gz: 20ba5755e83751d7898b731d1772a5502a2b49b7972dfb2dc9069dfe221838e6881ef0840b57344c433b2e098ceb0010463efc956525cbba9c2a5ebe0d73d055
7
- data.tar.gz: db0c95b2a8123f3e992054509d06c60043acd203ece6d52f1cd455374f70faed07a72ede92537feb6259e5a666ec6d0cdc1416a8dc058b890085901d7aa466b0
6
+ metadata.gz: 62b319bacfaeb022fed0fe1614c23dd2d72c85fc452fa539e95906c8d0e3e35d9d8f262302edc0a5e84548f29831b812cd09858492e5fab95a4b0a50d81b44d1
7
+ data.tar.gz: 94d0bec30592a9d69e9789add39c865a895b1d16360d554bc053a6e57ce6519afc908a999b250dfeb3dfd66025925e1d710837ac6ce9cf90601cce4f8dcf21d1
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -227,6 +227,12 @@ module Glib
227
227
  end
228
228
  end
229
229
 
230
+ def self.panels_builder(propName, *panelNames)
231
+ define_method(propName) do |value|
232
+ value.call(page.content_builder(panelNames))
233
+ end
234
+ end
235
+
230
236
  def created
231
237
  # To be overridden
232
238
  end
@@ -0,0 +1,63 @@
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Dialogs
3
+ class Alert < Action
4
+ string :message
5
+ # string :message_format
6
+ action :onClose
7
+ end
8
+
9
+ class Show < Action
10
+ string :body
11
+ action :onClose
12
+ end
13
+
14
+ # class Confirm < Action
15
+ # string :message
16
+ # action :onConfirm
17
+ # action :onCancel
18
+ # end
19
+
20
+ # Deprecated in favour of `sheets/select`
21
+ class Options < Action
22
+ string :message
23
+
24
+ def buttons(block)
25
+ json.buttons do
26
+ block.call page.menu_builder
27
+ end
28
+ end
29
+ end
30
+
31
+ class Show < Action
32
+ panels_builder :content, :body
33
+
34
+ # Future plan
35
+ # panels_builder :content, :body, :footer
36
+ end
37
+
38
+ class Open < Action
39
+ string :url, cache: true
40
+ end
41
+
42
+ class Close < Action
43
+ action :onClose
44
+ end
45
+
46
+ class Oauth < Action
47
+ hash :provider
48
+ action :onSuccess
49
+ string :providerParamName
50
+ string :callbackUrlParamName
51
+ end
52
+
53
+ # TODO: Consider switching to `notifications/alert`
54
+ class Notification < Action
55
+ string :title
56
+ string :message
57
+ string :tag
58
+ int :timeout
59
+ action :onClick
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,15 @@
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Sheets
3
+
4
+ class Select < Action
5
+ string :message
6
+
7
+ def buttons(block)
8
+ json.buttons do
9
+ block.call page.menu_builder
10
+ end
11
+ end
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,41 @@
1
+ class Glib::JsonUi::ActionBuilder
2
+
3
+ module Snackbars
4
+ class Alert < Action
5
+ string :message
6
+ # string :message_format
7
+ action :onClose
8
+
9
+ string :verticalPosition
10
+ string :horizontalPosition
11
+ singleton_array :styleClass, :styleClasses
12
+ end
13
+
14
+ # class Confirm < Action
15
+ # string :message
16
+ # action :onConfirm
17
+ # action :onCancel
18
+
19
+ # string :verticalPosition
20
+ # string :horizontalPosition
21
+ # singleton_array :styleClass, :styleClasses
22
+ # end
23
+
24
+ class Select < Action
25
+ string :message
26
+
27
+ string :verticalPosition
28
+ string :horizontalPosition
29
+ singleton_array :styleClass, :styleClasses
30
+
31
+ def buttons(block)
32
+ json.buttons do
33
+ block.call page.menu_builder
34
+ end
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+
41
+ end
@@ -0,0 +1,25 @@
1
+ class Glib::JsonUi::ActionBuilder
2
+ module Windows
3
+ class Close < Action
4
+ action :onClose
5
+ end
6
+
7
+ class CloseAll < Action
8
+ action :onClose
9
+ end
10
+
11
+ class Open < Action
12
+ string :url, cache: true
13
+ action :onOpen
14
+ end
15
+
16
+ class OpenWeb < Action
17
+ string :url
18
+ end
19
+
20
+ class Reload < Action
21
+ string :url, cache: true
22
+ action :onReload
23
+ end
24
+ end
25
+ end
@@ -38,125 +38,12 @@ module Glib
38
38
 
39
39
  ### Action definitions
40
40
 
41
- module Dialogs
42
- class Alert < Action
43
- string :message
44
- action :onClose
45
- end
46
-
47
- # class Confirm < Action
48
- # string :message
49
- # action :onConfirm
50
- # action :onCancel
51
- # end
52
-
53
- class Options < Action
54
- string :message
55
-
56
- def buttons(block)
57
- json.buttons do
58
- block.call page.menu_builder
59
- end
60
- end
61
- end
62
-
63
- class Open < Action
64
- string :url, cache: true
65
- end
66
-
67
- class Close < Action
68
- action :onClose
69
- end
70
-
71
- class Oauth < Action
72
- hash :provider
73
- action :onSuccess
74
- string :providerParamName
75
- string :callbackUrlParamName
76
- end
77
-
78
- class Alert < Action
79
- string :message
80
- action :onClose
81
- end
82
-
83
- class Notification < Action
84
- string :title
85
- string :body
86
- string :tag
87
- int :timeout
88
- action :onClick
89
- end
90
-
91
- end
92
-
93
- module Snackbars
94
- class Alert < Action
95
- string :message
96
- action :onClose
97
-
98
- string :verticalPosition
99
- string :horizontalPosition
100
- singleton_array :styleClass, :styleClasses
101
- end
102
-
103
- # class Confirm < Action
104
- # string :message
105
- # action :onConfirm
106
- # action :onCancel
107
-
108
- # string :verticalPosition
109
- # string :horizontalPosition
110
- # singleton_array :styleClass, :styleClasses
111
- # end
112
-
113
- class Options < Action
114
- string :message
115
-
116
- string :verticalPosition
117
- string :horizontalPosition
118
- singleton_array :styleClass, :styleClasses
119
-
120
- def buttons(block)
121
- json.buttons do
122
- block.call page.menu_builder
123
- end
124
- end
125
-
126
- end
127
-
128
- end
129
-
130
41
  module Forms
131
42
  class Submit < Action
132
43
  end
133
44
 
134
45
  end
135
46
 
136
- module Windows
137
- class Close < Action
138
- action :onClose
139
- end
140
-
141
- class CloseAll < Action
142
- action :onClose
143
- end
144
-
145
- class Open < Action
146
- string :url, cache: true
147
- action :onOpen
148
- end
149
-
150
- class OpenWeb < Action
151
- string :url
152
- end
153
-
154
- class Reload < Action
155
- string :url, cache: true
156
- action :onReload
157
- end
158
- end
159
-
160
47
  # Consider deprecating this. See Data
161
48
  module Auth
162
49
  class SaveCsrfToken < Action
@@ -0,0 +1,25 @@
1
+ module Glib
2
+ module JsonUi
3
+ module DynamicFieldBuilders
4
+
5
+ class Group < AbstractBuilder
6
+ def initialize json, page, template
7
+ super json, page
8
+ @template = template
9
+ end
10
+
11
+ # string :titlePrefix
12
+ def titlePrefix(string)
13
+ json.titlePrefix string
14
+ end
15
+
16
+ def template(options = {})
17
+ # json.template do
18
+ page.vertical_content(options)
19
+ # end
20
+ end
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,28 @@
1
+ module Glib
2
+ module JsonUi
3
+ module GenericBuilders
4
+
5
+ class Content < AbstractBuilder
6
+ def initialize(json, page, template)
7
+ super json, page
8
+ @template = template
9
+ end
10
+
11
+ def definePanels(names)
12
+ names.each do |name|
13
+ define_singleton_method(name) do |options|
14
+ json.set!(name) { page.vertical_content(options) }
15
+ end
16
+ end
17
+ end
18
+
19
+ # def body(options = {})
20
+ # json.body do
21
+ # page.vertical_content(options)
22
+ # end
23
+ # end
24
+ end
25
+
26
+ end
27
+ end
28
+ end
File without changes
File without changes
@@ -36,6 +36,17 @@ module Glib
36
36
  @drawer_content_builder = ListBuilders::Section.new(json, self, @menu_builder)
37
37
  @table_section_builder = TableBuilders::Section.new(json, self, TableBuilders::Template.new(json, self))
38
38
  @split_content_builder = SplitBuilders::Content.new(json, self, @view_builder)
39
+
40
+ # TODO: Deprecate
41
+ # For generic `body` builder. For others, use content_builder()
42
+ # @generic_content_builder = GenericBuilders::Content.new(json, self, @view_builder)
43
+ end
44
+
45
+ def content_builder(panelNames)
46
+ # NOTE: Can potentially be cached
47
+ builder = GenericBuilders::Content.new(json, self, @view_builder)
48
+ builder.definePanels(panelNames)
49
+ builder
39
50
  end
40
51
 
41
52
  def rightNavButtons
@@ -120,7 +131,8 @@ module Glib
120
131
  end
121
132
 
122
133
  def vertical_content(options)
123
- options = options.reverse_merge(width: 'matchParent')
134
+ # TODO: try disabling this
135
+ # options = options.reverse_merge(width: 'matchParent')
124
136
 
125
137
  [:padding, :backgroundColor, :width, :height, :align].each do |name|
126
138
  if (value = options.delete(name))
@@ -1,17 +1,17 @@
1
1
  module Glib
2
2
  module JsonUi
3
3
  module ResponseHelper
4
- def json_ui_response json
4
+ def json_ui_response(json)
5
5
  json.onResponse do
6
6
  response = Response.new(json, self)
7
7
  yield response.action_builder
8
8
  end
9
9
  end
10
-
10
+
11
11
  class Response
12
12
  attr_reader :action_builder
13
13
 
14
- def initialize json, context
14
+ def initialize(json, context)
15
15
  @json = json
16
16
  @context = context
17
17
 
@@ -19,14 +19,14 @@ module Glib
19
19
  page.vertical_content(options)
20
20
  end
21
21
  end
22
-
22
+
23
23
  def right(options = {})
24
24
  json.right do
25
25
  page.vertical_content(options)
26
26
  end
27
27
  end
28
28
  end
29
-
29
+
30
30
  end
31
31
  end
32
32
  end