glib-web 3.20.2 → 3.20.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
  3. data/app/helpers/glib/app_feature_support_helper.rb +0 -0
  4. data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
  5. data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
  6. data/app/helpers/glib/json_ui/analytics_helper.rb +0 -0
  7. data/app/helpers/glib/json_ui/generic_builders.rb +0 -0
  8. data/app/helpers/glib/json_ui/page_helper.rb +9 -0
  9. data/app/helpers/glib/json_ui/view_builder/fields.rb +2 -0
  10. data/app/helpers/glib/json_ui/view_builder.rb +12 -1
  11. data/app/models/glib/active_storage/attachment.rb +0 -0
  12. data/app/models/glib/active_storage/blob.rb +0 -0
  13. data/app/models/glib/dynamic_text_record.rb +0 -0
  14. data/app/models/glib/text.rb +0 -0
  15. data/app/validators/email_typo_validator.rb +0 -0
  16. data/app/validators/email_validator.rb +0 -0
  17. data/app/validators/url_validator.rb +0 -0
  18. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +0 -0
  19. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
  20. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
  21. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +13 -0
  22. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
  23. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
  24. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
  25. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
  26. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
  27. data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
  28. data/app/views/json_ui/garage/home/slow.json.jbuilder +0 -0
  29. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +0 -0
  30. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +0 -0
  31. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +0 -0
  32. data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
  33. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
  34. data/app/views/json_ui/garage/pages/custom_style_class.json.jbuilder +0 -0
  35. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
  36. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
  37. data/app/views/json_ui/garage/pages/index.json.jbuilder +4 -0
  38. data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
  39. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +0 -0
  40. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +0 -0
  41. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
  42. data/app/views/json_ui/garage/pages/paste_file.jbuilder +15 -0
  43. data/app/views/json_ui/garage/pages/redirect_onload.json.jbuilder +0 -0
  44. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
  45. data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
  46. data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
  47. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
  48. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
  49. data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
  50. data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
  51. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
  52. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
  53. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +0 -0
  54. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
  55. data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
  56. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
  57. data/app/views/json_ui/garage/views/index.json.jbuilder +1 -1
  58. data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
  59. data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
  60. data/app/views/json_ui/garage/views/multimedia.json.jbuilder +0 -0
  61. data/app/views/json_ui/garage/views/treeView.json.jbuilder +50 -0
  62. data/app/views/layouts/json_ui/no_custom.html.erb +0 -0
  63. data/lib/generators/glib/install_generator.rb +0 -0
  64. data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
  65. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
  66. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
  67. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
  68. data/lib/generators/templates/database.yml +0 -0
  69. data/lib/generators/templates/dynamic_text.rb +0 -0
  70. data/lib/glib/crypt/utils.rb +0 -0
  71. data/lib/glib/crypt.rb +0 -0
  72. data/lib/glib/dynamic_text/config.rb +0 -0
  73. data/lib/glib/dynamic_text.rb +0 -0
  74. data/lib/glib/json_crawler/action_crawler.rb +0 -0
  75. data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
  76. data/lib/glib/json_crawler/action_crawlers/dialogs_alert.rb +0 -0
  77. data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
  78. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +0 -0
  79. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
  80. data/lib/glib/json_crawler/coverage.rb +0 -0
  81. data/lib/glib/value.rb +0 -0
  82. data/lib/glib/version.rb +0 -0
  83. data/lib/glib-web.rb +0 -0
  84. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50cd95cb3043e936a17b46b0b3e3a102cbe3faa2894e3b67e53228ac115e2a83
4
- data.tar.gz: c6a7069e1c997a5e0731039dabeb56c926fd452668a41ff75cc4f06ab0379a27
3
+ metadata.gz: 9b0a9aabf5f0d62144bddff30fc741b14b1661580a26628a9b62428c55422202
4
+ data.tar.gz: 6db894d335f8541170d6ade933885c43bc925e0ab388a717473ceaf7ef134030
5
5
  SHA512:
6
- metadata.gz: 3b9134e80a27875fc0971a9dc05dc2d7e1daea7c9bb156e14a3f5fad294db2f1a831f8ecc48d8e42dd7ff02d3a5d7772bca18cc9bb37f176eebb540dfc86ec6f
7
- data.tar.gz: 844365e90f4a43e1ec06a54a380ac56df052ded036dddfb6fd40b5e747dc5e579cbae07e308cc5a7088c1071ea3ad342687df2c9abe19c923ea70e5c5ae863dc
6
+ metadata.gz: 16bb14ab3192323e5e2cb0ad7f5564c514c82fd3b63e8e15dffb689d40dbefa186a22b9041654a77c66f903ca107c856c9985c848a5ca77e94847a238b83a8a2
7
+ data.tar.gz: e71ae51ec669c61dc162cb7b598f9e66ac396cfe948069f7193340b64902bb3ea35f162768a1299e3babfe7fad892095e02a90874ccba67a696cb090e4d4ca74
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -98,6 +98,15 @@ module Glib
98
98
  # @generic_content_builder = GenericBuilders::Content.new(json, self, @view_builder)
99
99
  end
100
100
 
101
+ def pasteFile(options = {})
102
+ json.pasteFile do
103
+ json.accepts options[:accepts]
104
+ json.directUploadUrl options[:directUploadUrl]
105
+ json.url options[:url]
106
+ json.inputName options[:inputName]
107
+ end
108
+ end
109
+
101
110
  def actionCable(options = {})
102
111
  json.actionCable do
103
112
  if (on_error = options[:onError])
@@ -186,6 +186,7 @@ class Glib::JsonUi::ViewBuilder
186
186
  end
187
187
 
188
188
  class ChipGroup < AbstractField
189
+ string :color
189
190
  array :options
190
191
  bool :multiple
191
192
  end
@@ -320,6 +321,7 @@ class Glib::JsonUi::ViewBuilder
320
321
  string :directUploadUrl
321
322
  string :uploadTitle
322
323
  string :uploadFailedText # deprecated
324
+ action :onFinishUpload
323
325
 
324
326
  required :accepts, :directUploadUrl
325
327
 
@@ -50,7 +50,8 @@ module Glib
50
50
 
51
51
  hash :analytics
52
52
  # hash :tooltip
53
- array :extensions
53
+ array :extensions # deprecated
54
+ hash :dragData
54
55
 
55
56
  def self.component_name
56
57
  @component_name ||= self.name.sub('Glib::JsonUi::ViewBuilder::', '')
@@ -322,6 +323,16 @@ module Glib
322
323
 
323
324
  action :onClick
324
325
  end
326
+
327
+ class TreeView < View
328
+ string :inputName
329
+ string :url
330
+ string :directUploadUrl
331
+ array :accepts
332
+ string :selected
333
+ hash :items
334
+ hash :dropData
335
+ end
325
336
  end
326
337
  end
327
338
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -37,6 +37,8 @@ page.form options.merge(childViews: ->(form) do
37
37
  # placeholderView: { type: 'avatar', width: 100, height: 100, url: 'data:image/jpeg;base64,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' }
38
38
 
39
39
  form.spacer height: 16
40
+ form.label text: 'Simple file upload'
41
+ form.spacer height: 8
40
42
  form.fields_multiUpload \
41
43
  name: 'user[multi][]',
42
44
  width: 360,
@@ -48,5 +50,16 @@ page.form options.merge(childViews: ->(form) do
48
50
  { name: 'File (Example)', signed_id: ActiveStorage::Attachment.last&.signed_id }
49
51
  ]
50
52
  form.spacer height: 16
53
+ form.label text: 'File upload with onFinishUpload'
54
+ form.spacer height: 8
55
+ form.fields_multiUpload \
56
+ name: 'user[multi2][]',
57
+ width: 360,
58
+ accepts: { fileType: 'image', maxFileSize: 5000 },
59
+ directUploadUrl: rails_direct_uploads_url,
60
+ uploadTitle: 'Files uploaded:',
61
+ uploadFailedText: '(UPLOAD FAILED)',
62
+ onFinishUpload: ->(action) { action.forms_submit }
63
+ form.spacer height: 16
51
64
  form.fields_submit text: 'Submit'
52
65
  end)
File without changes
File without changes
File without changes
File without changes
@@ -34,6 +34,10 @@ json_ui_page json do |page|
34
34
  action.windows_open url: json_ui_garage_url(path: 'pages/redirect_onload')
35
35
  end
36
36
 
37
+ template.thumbnail title: 'Paste file to page', onClick: ->(action) do
38
+ action.windows_open url: json_ui_garage_url(path: 'pages/paste_file')
39
+ end
40
+
37
41
  template.thumbnail title: 'Custom Style Class', onClick: ->(action) do
38
42
  action.windows_open url: json_ui_garage_url(path: 'pages/custom_style_class')
39
43
  end
File without changes
@@ -0,0 +1,15 @@
1
+ json.title 'Pages'
2
+
3
+ page = json_ui_page json
4
+
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page
6
+
7
+ page.pasteFile \
8
+ directUploadUrl: rails_direct_uploads_url,
9
+ accepts: { fileType: 'image', maxFileSize: 1000 },
10
+ inputName: 'user',
11
+ url: json_ui_garage_url(path: 'forms/generic_post')
12
+
13
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
14
+ scroll.label text: 'Paste image to this page'
15
+ end
File without changes
File without changes
File without changes
@@ -11,7 +11,7 @@ json_ui_page json do |page|
11
11
 
12
12
  section.rows builder: ->(template) do
13
13
  ['texts', 'controls', 'images', 'multimedia', 'charts', 'banners',
14
- 'maps', 'misc', 'icons', 'progress', 'shareButton', 'steppers'].each do |component|
14
+ 'maps', 'misc', 'icons', 'progress', 'shareButton', 'steppers', 'treeView'].each do |component|
15
15
  template.thumbnail title: component.humanize, onClick: ->(action) do
16
16
  action.windows_open url: json_ui_garage_url(path: "views/#{component}")
17
17
  end
File without changes
@@ -0,0 +1,50 @@
1
+ json.title 'Views'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.h2 text: 'Treeview'
8
+ scroll.spacer height: 8
9
+ scroll.panels_form width: 'matchParent', childViews: ->(form) do
10
+ scroll.panels_flow innerPadding: { bottom: 0 }, childViews: ->(flow) do
11
+ flow.treeView \
12
+ inputName: 'user',
13
+ url: json_ui_garage_url(path: 'forms/generic_post'),
14
+ directUploadUrl: rails_direct_uploads_url,
15
+ width: 240,
16
+ selected: 'parent-1',
17
+ items: [
18
+ {
19
+ id: 'parent-1',
20
+ icon: 'folder',
21
+ label: 'Parent folder',
22
+ children: [
23
+ { label: 'Child 1', id: 'parent-1-child-1' },
24
+ { label: 'Child 2', id: 'parent-1-child-2' },
25
+ { label: 'Child 3', id: 'parent-1-child-3' }
26
+ ]
27
+ },
28
+ {
29
+ id: 'parent-2',
30
+ icon: 'folder',
31
+ label: 'Custom drop',
32
+ children: [
33
+ { label: 'Child 1', id: 'parent-2-child-1', dropData: { to: 'child1' } },
34
+ { label: 'Child 2', id: 'parent-2-child-2', dropData: { to: 'child2' } },
35
+ { label: 'Child 3', id: 'parent-2-child-3', dropData: { to: 'child3' } }
36
+ ]
37
+ },
38
+ ]
39
+ flow.spacer width: 24
40
+ flow.panels_ul childViews: ->(li) do
41
+ li.label text: '🍌 Banana', dragData: { tem: 'banana' }
42
+ li.label text: '💣 Bomb', dragData: { item: 'bomb' }
43
+ li.label text: '🍈 Melon', dragData: { item: 'melon' }
44
+ li.label text: '🐻 Bear', dragData: { item: 'bear' }
45
+ li.label text: '🍴 Fork and knife', dragData: { item: 'fork_and_knife' }
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
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
File without changes
File without changes
File without changes
File without changes
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.20.2
4
+ version: 3.20.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -225,6 +225,7 @@ files:
225
225
  - app/views/json_ui/garage/pages/loading_indicator.json.jbuilder
226
226
  - app/views/json_ui/garage/pages/nav_buttons.json.jbuilder
227
227
  - app/views/json_ui/garage/pages/nested_scroll.json.jbuilder
228
+ - app/views/json_ui/garage/pages/paste_file.jbuilder
228
229
  - app/views/json_ui/garage/pages/redirect_onload.json.jbuilder
229
230
  - app/views/json_ui/garage/pages/tab_bar.json.jbuilder
230
231
  - app/views/json_ui/garage/panels/_hover_views_content.json.jbuilder
@@ -278,6 +279,7 @@ files:
278
279
  - app/views/json_ui/garage/views/shareButton.json.jbuilder
279
280
  - app/views/json_ui/garage/views/steppers.json.jbuilder
280
281
  - app/views/json_ui/garage/views/texts.json.jbuilder
282
+ - app/views/json_ui/garage/views/treeView.json.jbuilder
281
283
  - app/views/layouts/json_ui/no_custom.html.erb
282
284
  - app/views/layouts/json_ui/renderer.html.erb
283
285
  - config/routes.rb
@@ -333,8 +335,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
333
335
  - !ruby/object:Gem::Version
334
336
  version: '0'
335
337
  requirements: []
336
- rubyforge_project:
337
- rubygems_version: 2.7.6
338
+ rubygems_version: 3.4.6
338
339
  signing_key:
339
340
  specification_version: 4
340
341
  summary: ''