glib-web 0.6.14 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) 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_images_helper.rb +0 -0
  5. data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
  6. data/app/helpers/glib/forms_helper.rb +0 -0
  7. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +0 -0
  8. data/app/helpers/glib/json_ui/action_builder/http.rb +0 -0
  9. data/app/helpers/glib/json_ui/action_builder/panels.rb +0 -0
  10. data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
  11. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +0 -0
  12. data/app/helpers/glib/json_ui/analytics_helper.rb +0 -0
  13. data/app/helpers/glib/json_ui/generic_builders.rb +0 -0
  14. data/app/helpers/glib/json_ui/list_builders.rb +2 -1
  15. data/app/helpers/glib/json_ui/page_helper.rb +6 -0
  16. data/app/helpers/glib/json_ui/table_builders.rb +0 -0
  17. data/app/helpers/glib/json_ui/view_builder/panels.rb +7 -2
  18. data/app/helpers/glib/json_ui/view_builder.rb +11 -0
  19. data/app/helpers/glib/urls_helper.rb +0 -0
  20. data/app/models/glib/active_storage/attachment.rb +0 -0
  21. data/app/models/glib/active_storage/blob.rb +0 -0
  22. data/app/models/glib/dynamic_text_record.rb +0 -0
  23. data/app/models/glib/text.rb +0 -0
  24. data/app/validators/email_typo_validator.rb +0 -0
  25. data/app/validators/email_validator.rb +0 -0
  26. data/app/validators/url_validator.rb +0 -0
  27. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +0 -0
  28. data/app/views/json_ui/garage/actions/_http.json.jbuilder +0 -0
  29. data/app/views/json_ui/garage/actions/_panels.json.jbuilder +0 -0
  30. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +0 -0
  31. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +0 -0
  32. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +0 -0
  33. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
  34. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +8 -6
  35. data/app/views/json_ui/garage/forms/basic.json.jbuilder +0 -0
  36. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
  37. data/app/views/json_ui/garage/forms/disable_dirty_prompt.json.jbuilder +27 -0
  38. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +0 -0
  39. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
  40. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +0 -0
  41. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
  42. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
  43. data/app/views/json_ui/garage/forms/index.json.jbuilder +6 -0
  44. data/app/views/json_ui/garage/forms/local_request.json.jbuilder +27 -0
  45. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
  46. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
  47. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
  48. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
  49. data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
  50. data/app/views/json_ui/garage/home/slow.json.jbuilder +0 -0
  51. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +1 -1
  52. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +0 -0
  53. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +0 -0
  54. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +0 -0
  55. data/app/views/json_ui/garage/lists/edit_mode.json.jbuilder +38 -0
  56. data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
  57. data/app/views/json_ui/garage/lists/index.json.jbuilder +3 -0
  58. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
  59. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +0 -0
  60. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
  61. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
  62. data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
  63. data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
  64. data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +0 -0
  65. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +0 -0
  66. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
  67. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
  68. data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
  69. data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
  70. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +29 -0
  71. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
  72. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +0 -0
  73. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
  74. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
  75. data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
  76. data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
  77. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
  78. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
  79. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +0 -0
  80. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
  81. data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
  82. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
  83. data/app/views/json_ui/garage/views/images.json.jbuilder +7 -2
  84. data/app/views/json_ui/garage/views/index.json.jbuilder +1 -1
  85. data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
  86. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +0 -0
  87. data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
  88. data/app/views/json_ui/garage/views/multimedia.json.jbuilder +0 -0
  89. data/app/views/json_ui/garage/views/socialSharing.json.jbuilder +102 -0
  90. data/config/routes.rb +0 -0
  91. data/lib/generators/glib/install_generator.rb +0 -0
  92. data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
  93. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
  94. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
  95. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
  96. data/lib/generators/templates/database.yml +0 -0
  97. data/lib/generators/templates/dynamic_text.rb +0 -0
  98. data/lib/glib/crypt/utils.rb +0 -0
  99. data/lib/glib/crypt.rb +0 -0
  100. data/lib/glib/dynamic_text/config.rb +0 -0
  101. data/lib/glib/dynamic_text.rb +0 -0
  102. data/lib/glib/engine.rb +0 -0
  103. data/lib/glib/json_crawler/action_crawler.rb +0 -0
  104. data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
  105. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +0 -0
  106. data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
  107. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +0 -0
  108. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +0 -0
  109. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
  110. data/lib/glib/json_crawler/coverage.rb +0 -0
  111. data/lib/glib/json_crawler.rb +0 -0
  112. data/lib/glib/mailer_tester.rb +0 -0
  113. data/lib/glib/value.rb +0 -0
  114. data/lib/glib/version.rb +0 -0
  115. data/lib/glib-web.rb +0 -0
  116. data/lib/tasks/db.rake +0 -0
  117. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c56cc5b0cb3eac25758cb566dcf2b69f10470a65df7fa00d25325db8958961d
4
- data.tar.gz: 5d2d0bdef7274ec75442b5c8f6a2336463c51f73b07a40905ff5916168eaa349
3
+ metadata.gz: b657d8ea974cc37a6a1fb3d434f56a7fb5c144f921864a4fb5018339e8e405a8
4
+ data.tar.gz: 56c9cb933c9c5a63c5e729a0af16908dd67675ffc2b2569d80d575209b9c2838
5
5
  SHA512:
6
- metadata.gz: fa471dad31b61bd7f6562627ece6574b56e68260d456c3f0b4a5f5b3e2ed344cccb6b682654ec286b1b4761a5bcdc51524cb96729dd8896fbc92adff0f141149
7
- data.tar.gz: 281c3ceba5a2a22320ff553420d4c0a962e41123a35ebcf868127af880742c6e04cc6b2314413191d62b3cc9f0b71f08a9fd727ef2421f709f7209ea839f77ac
6
+ metadata.gz: cc460b11171944ef3b4d99473854ec8d943b6747a0f1dd6d3646d7f60bf796526000ad71c9e78cf06437186c3b1c85ffbc1e5c06a69b99d4d57a6c0d8451e6b3
7
+ data.tar.gz: 6ceea3b0acfbc081f910a9b52050ef7fbec8da70d53a727a517b183915de73d2a640a10816af5baa1520127df69f2991a87778ddd8a9a98b4fd0b620504c01d3
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
File without changes
File without changes
@@ -28,7 +28,7 @@ module Glib
28
28
  end
29
29
 
30
30
  class Standard < AbstractTemplate
31
- string :id
31
+ string :recordId
32
32
  string :title
33
33
  string :subtitle
34
34
  string :subsubtitle
@@ -43,6 +43,7 @@ module Glib
43
43
  string :paramNameForNewSectionIndex
44
44
  string :paramNameForNewSectionedRowIndex
45
45
 
46
+ string :id # Deprecated
46
47
  string :paramNameForNewIndex # Deprecated
47
48
 
48
49
  # # NOTE: Experimental. Still deciding whether this needs to be a full blown panel or
@@ -143,6 +143,12 @@ module Glib
143
143
  end
144
144
  end
145
145
 
146
+ def left(options = {})
147
+ json.left do
148
+ vertical_content(options)
149
+ end
150
+ end
151
+
146
152
  def body(options = {})
147
153
  json.body do
148
154
  vertical_content(options)
File without changes
@@ -3,7 +3,7 @@ class Glib::JsonUi::ViewBuilder
3
3
  class Form < View
4
4
  action :onSubmit
5
5
  string :paramNameForFormData
6
- # boolean :local
6
+ bool :local
7
7
 
8
8
  def is_array_association?(prop)
9
9
  # # Not all model is ActiveRecord
@@ -85,7 +85,7 @@ class Glib::JsonUi::ViewBuilder
85
85
  end
86
86
  end
87
87
 
88
- @method ||= :get
88
+ @method = @method&.to_sym || :get
89
89
 
90
90
  json.url @url
91
91
  json.method @method
@@ -112,6 +112,11 @@ class Glib::JsonUi::ViewBuilder
112
112
  end
113
113
 
114
114
  class List < View
115
+ string :fieldPrefix
116
+ string :fieldTitleName
117
+ string :fieldSubtitleName
118
+ string :fieldSubsubtitleName
119
+
115
120
  hash :phoenixSocket
116
121
  hash :actionCable
117
122
 
@@ -261,6 +261,17 @@ module Glib
261
261
  color :backgroundColor
262
262
  bool :reversed
263
263
  end
264
+
265
+ class SocialSharing < View
266
+ string :network, required: true
267
+ string :url, required: true
268
+ string :title
269
+ string :description
270
+ string :quote
271
+ string :hashtags
272
+ string :twitter_user
273
+ string :text
274
+ end
264
275
  end
265
276
  end
266
277
  end
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
@@ -1,9 +1,11 @@
1
- info = "Method: #{request.method}\nForm Data:\n{\n"
2
- params.require(:user).each do |k, v|
3
- value = v.is_a?(String) ? '"' + v + '"' : v
4
- info += " #{k} => #{value}\n"
5
- end
6
- info += '}'
1
+ info = "Method: #{request.method}\nForm Data:\n"
2
+ # params.require(:user).each do |k, v|
3
+ # value = v.is_a?(String) ? '"' + v + '"' : v
4
+ # info += " #{k} => #{value}\n"
5
+ # end
6
+ # info += '}'
7
+
8
+ info += JSON.pretty_generate(params.require(:user).to_unsafe_h)
7
9
 
8
10
  action.dialogs_alert message: info, onClose: ->(action) do
9
11
  action.windows_refreshState
File without changes
@@ -0,0 +1,27 @@
1
+ json.title 'Forms'
2
+ json.disableDirtyPrompt true
3
+
4
+ data = params[:user] || {}
5
+
6
+ page = json_ui_page json
7
+ render "#{@path_prefix}/nav_menu", json: json, page: page
8
+
9
+ page.form \
10
+ local: true,
11
+ url: json_ui_garage_url(path: 'forms/local_request'),
12
+ method: 'post',
13
+ padding: glib_json_padding_body,
14
+ childViews: ->(form) do
15
+ form.spacer height: 14
16
+ form.label text: 'This page will not show a dirty prompt even when the form field content has changed'
17
+ form.spacer height: 14
18
+ form.h3 text: "Hello #{ data[:name] }"
19
+ form.spacer height: 4
20
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
21
+
22
+ form.panels_split width: 'matchParent', content: ->(split) do
23
+ split.right childViews: ->(right) do
24
+ right.fields_submit text: 'Submit'
25
+ end
26
+ end
27
+ end
@@ -22,6 +22,12 @@ page.list sections: [
22
22
  template.thumbnail title: 'GET Request', onClick: ->(action) do
23
23
  action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
24
24
  end
25
+ template.thumbnail title: 'Synchronous Request', onClick: ->(action) do
26
+ action.windows_open url: json_ui_garage_url(path: 'forms/local_request')
27
+ end
28
+ template.thumbnail title: 'Disable dirty prompt', onClick: ->(action) do
29
+ action.windows_open url: json_ui_garage_url(path: 'forms/disable_dirty_prompt')
30
+ end
25
31
 
26
32
  end
27
33
  end, ->(section) do
@@ -0,0 +1,27 @@
1
+ json.title 'Forms'
2
+
3
+ data = params[:user] || {}
4
+
5
+ page = json_ui_page json
6
+ render "#{@path_prefix}/nav_menu", json: json, page: page
7
+
8
+ page.form \
9
+ local: true,
10
+ url: json_ui_garage_url(path: 'forms/local_request'),
11
+ method: 'post',
12
+ padding: glib_json_padding_body,
13
+ childViews: ->(form) do
14
+ form.spacer height: 14
15
+ form.label text: "Analogous to Rails' form_with's `local: true`. The page should be reloaded upon submit. " \
16
+ 'This is rarely needed, only in cases like submitting to other websites, e.g. for Google OAuth login.'
17
+ form.spacer height: 14
18
+ form.h3 text: "Hello #{ data[:name] }"
19
+ form.spacer height: 4
20
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
21
+
22
+ form.panels_split width: 'matchParent', content: ->(split) do
23
+ split.right childViews: ->(right) do
24
+ right.fields_submit text: 'Submit'
25
+ end
26
+ end
27
+ end
File without changes
File without changes
@@ -16,7 +16,7 @@ sleep 1
16
16
 
17
17
  section = page.list_section_builder
18
18
  section.rows builder: ->(row) do
19
- batch_count = 1000
19
+ batch_count = 30
20
20
  batch_count.times do |i|
21
21
  index = page_index * batch_count + i
22
22
  if local_assigns[:reorder]
File without changes
@@ -0,0 +1,38 @@
1
+ page = json_ui_page json
2
+
3
+ json.title 'Lists'
4
+
5
+ render "#{@path_prefix}/nav_menu", json: json, page: page
6
+
7
+ page.form \
8
+ width: 'matchParent',
9
+ url: json_ui_garage_url(path: 'forms/generic_post'),
10
+ method: 'post',
11
+ padding: glib_json_padding_body,
12
+ childViews: ->(form) do
13
+ form.panels_list fieldPrefix: 'user[items]', fieldTitleName: 'name', width: 'matchParent', sections: [
14
+ ->(section) do
15
+ section.header padding: glib_json_padding_list, childViews: ->(header) do
16
+
17
+ header.panels_horizontal childViews: ->(horizontal) do
18
+ # header.fields_text width: 'matchParent', styleClass: 'outlined', name: 'user[new_name]', label: 'Item name'
19
+ statuses = [:pending, :active]
20
+ header.fields_select \
21
+ styleClass: 'outlined',
22
+ name: 'user[status]',
23
+ width: 'matchParent',
24
+ label: 'Status',
25
+ options: statuses.map { |status| { value: status, text: status.to_s.humanize } }
26
+ header.spacer width: 20
27
+ header.fields_submit text: 'Update'
28
+ end
29
+ end
30
+ section.rows builder: ->(row) do
31
+ batch_count = 20
32
+ batch_count.times do |index|
33
+ row.thumbnail title: "Item #{index}", recordId: "PK_#{index}"
34
+ end
35
+ end
36
+ end
37
+ ]
38
+ end
File without changes
@@ -35,6 +35,9 @@ json_ui_page json do |page|
35
35
  template.thumbnail title: 'Reordering', onClick: ->(action) do
36
36
  action.windows_open url: json_ui_garage_url(path: 'lists/reordering')
37
37
  end
38
+ template.thumbnail title: 'Edit Mode', onClick: ->(action) do
39
+ action.windows_open url: json_ui_garage_url(path: 'lists/edit_mode')
40
+ end
38
41
  end
39
42
 
40
43
  end
File without changes
File without changes
File without changes
File without changes
@@ -27,6 +27,35 @@ json_ui_page json do |page|
27
27
  panel.button text: '3'
28
28
  end
29
29
 
30
+ scroll.label text: "\n"
31
+ scroll.h1 text: 'Overlaps (negative spacing)'
32
+ scroll.markdown text: 'Uses Material Design spacings: https://vuetifyjs.com/en/styles/spacing/#how-it-works'
33
+ scroll.panels_horizontal width: 'matchParent', distribution: 'overlap-1', childViews: ->(panel) do
34
+ panel.button text: '1'
35
+ panel.button text: '2'
36
+ panel.button text: '3'
37
+ end
38
+ scroll.panels_horizontal width: 'matchParent', distribution: 'overlap-2', childViews: ->(panel) do
39
+ panel.button text: '1'
40
+ panel.button text: '2'
41
+ panel.button text: '3'
42
+ end
43
+ scroll.panels_horizontal width: 'matchParent', distribution: 'overlap-3', childViews: ->(panel) do
44
+ panel.button text: '1'
45
+ panel.button text: '2'
46
+ panel.button text: '3'
47
+ end
48
+ scroll.panels_horizontal width: 'matchParent', distribution: 'overlap-4', childViews: ->(panel) do
49
+ panel.button text: '1'
50
+ panel.button text: '2'
51
+ panel.button text: '3'
52
+ end
53
+ scroll.panels_horizontal width: 'matchParent', distribution: 'overlap-5', childViews: ->(panel) do
54
+ panel.button text: '1'
55
+ panel.button text: '2'
56
+ panel.button text: '3'
57
+ end
58
+
30
59
  scroll.label text: "\n"
31
60
  scroll.h1 text: 'Vertical panel combo'
32
61
  scroll.panels_horizontal distribution: 'spaceEqually', childViews: ->(panel) do
File without changes
@@ -9,7 +9,9 @@ small_image_url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSGQpSWj
9
9
  page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
10
10
  scroll.h2 text: 'Avatar'
11
11
  scroll.spacer height: 6
12
- scroll.avatar url: glib_json_image_avatar_url
12
+ scroll.avatar \
13
+ url: glib_json_image_avatar_url,
14
+ tooltip: { text: 'This is a tooltip' }
13
15
 
14
16
  # scroll.spacer height: 20
15
17
  # scroll.h2 text: 'Icon'
@@ -19,7 +21,10 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
19
21
  scroll.spacer height: 20
20
22
  scroll.h2 text: 'Image with base64 data'
21
23
  scroll.spacer height: 6
22
- scroll.image height: 100, base64Data: 'data:image/gif;base64,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'
24
+ scroll.image \
25
+ height: 100,
26
+ tooltip: { text: 'This is a tooltip' },
27
+ base64Data: 'data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5NWvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29uc/P9cmJu9MTDImIN+/r7+/vz8/P8VNQGNugV8AAF9fX8swMNgTAFlDOICAgPNSUnNWSMQ5MBAQEJE3QPIGAM9AQMqGcG9vb6MhJsEdGM8vLx8fH98AANIWAMuQeL8fABkTEPPQ0OM5OSYdGFl5jo+Pj/+pqcsTE78wMFNGQLYmID4dGPvd3UBAQJmTkP+8vH9QUK+vr8ZWSHpzcJMmILdwcLOGcHRQUHxwcK9PT9DQ0O/v70w5MLypoG8wKOuwsP/g4P/Q0IcwKEswKMl8aJ9fX2xjdOtGRs/Pz+Dg4GImIP8gIH0sKEAwKKmTiKZ8aB/f39Wsl+LFt8dgUE9PT5x5aHBwcP+AgP+WltdgYMyZfyywz78AAAAAAAD///8AAP9mZv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAKgALAAAAAA9AEQAAAj/AFEJHEiwoMGDCBMqXMiwocAbBww4nEhxoYkUpzJGrMixogkfGUNqlNixJEIDB0SqHGmyJSojM1bKZOmyop0gM3Oe2liTISKMOoPy7GnwY9CjIYcSRYm0aVKSLmE6nfq05QycVLPuhDrxBlCtYJUqNAq2bNWEBj6ZXRuyxZyDRtqwnXvkhACDV+euTeJm1Ki7A73qNWtFiF+/gA95Gly2CJLDhwEHMOUAAuOpLYDEgBxZ4GRTlC1fDnpkM+fOqD6DDj1aZpITp0dtGCDhr+fVuCu3zlg49ijaokTZTo27uG7Gjn2P+hI8+PDPERoUB318bWbfAJ5sUNFcuGRTYUqV/3ogfXp1rWlMc6awJjiAAd2fm4ogXjz56aypOoIde4OE5u/F9x199dlXnnGiHZWEYbGpsAEA3QXYnHwEFliKAgswgJ8LPeiUXGwedCAKABACCN+EA1pYIIYaFlcDhytd51sGAJbo3onOpajiihlO92KHGaUXGwWjUBChjSPiWJuOO/LYIm4v1tXfE6J4gCSJEZ7YgRYUNrkji9P55sF/ogxw5ZkSqIDaZBV6aSGYq/lGZplndkckZ98xoICbTcIJGQAZcNmdmUc210hs35nCyJ58fgmIKX5RQGOZowxaZwYA+JaoKQwswGijBV4C6SiTUmpphMspJx9unX4KaimjDv9aaXOEBteBqmuuxgEHoLX6Kqx+yXqqBANsgCtit4FWQAEkrNbpq7HSOmtwag5w57GrmlJBASEU18ADjUYb3ADTinIttsgSB1oJFfA63bduimuqKB1keqwUhoCSK374wbujvOSu4QG6UvxBRydcpKsav++Ca6G8A6Pr1x2kVMyHwsVxUALDq/krnrhPSOzXG1lUTIoffqGR7Goi2MAxbv6O2kEG56I7CSlRsEFKFVyovDJoIRTg7sugNRDGqCJzJgcKE0ywc0ELm6KBCCJo8DIPFeCWNGcyqNFE06ToAfV0HBRgxsvLThHn1oddQMrXj5DyAQgjEHSAJMWZwS3HPxT/QMbabI/iBCliMLEJKX2EEkomBAUCxRi42VDADxyTYDVogV+wSChqmKxEKCDAYFDFj4OmwbY7bDGdBhtrnTQYOigeChUmc1K3QTnAUfEgGFgAWt88hKA6aCRIXhxnQ1yg3BCayK44EWdkUQcBByEQChFXfCB776aQsG0BIlQgQgE8qO26X1h8cEUep8ngRBnOy74E9QgRgEAC8SvOfQkh7FDBDmS43PmGoIiKUUEGkMEC/PJHgxw0xH74yx/3XnaYRJgMB8obxQW6kL9QYEJ0FIFgByfIL7/IQAlvQwEpnAC7DtLNJCKUoO/w45c44GwCXiAFB/OXAATQryUxdN4LfFiwgjCNYg+kYMIEFkCKDs6PKAIJouyGWMS1FSKJOMRB/BoIxYJIUXFUxNwoIkEKPAgCBZSQHQ1A2EWDfDEUVLyADj5AChSIQW6gu10bE/JG2VnCZGfo4R4d0sdQoBAHhPjhIB94v/wRoRKQWGRHgrhGSQJxCS+0pCZbEhAAOw=='
23
28
 
24
29
  scroll.spacer height: 20
25
30
  scroll.h2 text: 'QR Code as base64 image'
@@ -10,7 +10,7 @@ json_ui_page json do |page|
10
10
  end
11
11
 
12
12
  section.rows builder: ->(template) do
13
- ['texts', 'controls', 'images', 'multimedia', 'charts', 'banners', 'maps', 'misc', 'icons', 'progress'].each do |component|
13
+ ['texts', 'controls', 'images', 'multimedia', 'charts', 'banners', 'maps', 'misc', 'icons', 'progress', 'socialSharing'].each do |component|
14
14
  template.thumbnail title: component.humanize, onClick: ->(action) do
15
15
  action.windows_open url: json_ui_garage_url(path: "views/#{component}")
16
16
  end
File without changes
@@ -0,0 +1,102 @@
1
+ json.title 'Views'
2
+
3
+ page = json_ui_page json
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: 'Social sharing'
8
+ scroll.spacer height: 6
9
+ scroll.panels_column width: 'matchParent', childViews: ->(col) do
10
+ col.panels_flow innerPadding: { top: 0, right: 0, bottom: 0, left: 0 }, childViews: ->(f) do
11
+ f.socialSharing \
12
+ network: 'facebook',
13
+ url: 'https://www.talentbasket.com/jobs',
14
+ title: 'TalentBasket internship',
15
+ description: 'Internship opportunities at talentbasket',
16
+ text: 'Facebook'
17
+
18
+ f.socialSharing \
19
+ network: 'linkedin',
20
+ url: 'https://www.talentbasket.com/jobs',
21
+ title: 'TalentBasket internship',
22
+ description: 'Internship opportunities at talentbasket',
23
+ text: 'LinkedIn'
24
+
25
+ f.socialSharing \
26
+ network: 'whatsapp',
27
+ url: 'https://www.talentbasket.com/jobs',
28
+ title: 'TalentBasket internship',
29
+ description: 'Internship opportunities at talentbasket',
30
+ text: 'WhatsApp'
31
+
32
+ f.socialSharing \
33
+ network: 'telegram',
34
+ url: 'https://www.talentbasket.com/jobs',
35
+ title: 'TalentBasket internship',
36
+ description: 'Internship opportunities at talentbasket',
37
+ text: 'Telegram'
38
+ end
39
+ end
40
+ scroll.spacer height: 20
41
+ scroll.panels_column width: 'matchParent', childViews: ->(col) do
42
+ col.panels_flow innerPadding: { top: 0, right: 0, bottom: 0, left: 0 }, childViews: ->(f) do
43
+ f.socialSharing \
44
+ network: 'facebook',
45
+ url: 'https://www.talentbasket.com/jobs',
46
+ title: 'TalentBasket internship',
47
+ description: 'Internship opportunities at talentbasket'
48
+
49
+ f.socialSharing \
50
+ network: 'linkedin',
51
+ url: 'https://www.talentbasket.com/jobs',
52
+ title: 'TalentBasket internship',
53
+ description: 'Internship opportunities at talentbasket'
54
+
55
+ f.socialSharing \
56
+ network: 'whatsapp',
57
+ url: 'https://www.talentbasket.com/jobs',
58
+ title: 'TalentBasket internship',
59
+ description: 'Internship opportunities at talentbasket'
60
+
61
+ f.socialSharing \
62
+ network: 'telegram',
63
+ url: 'https://www.talentbasket.com/jobs',
64
+ title: 'TalentBasket internship',
65
+ description: 'Internship opportunities at talentbasket'
66
+ end
67
+ end
68
+ scroll.spacer height: 20
69
+
70
+ scroll.panels_column width: 'matchParent', childViews: ->(col) do
71
+ col.panels_vertical childViews: ->(v) do
72
+ v.socialSharing \
73
+ network: 'facebook',
74
+ url: 'https://www.talentbasket.com/jobs',
75
+ title: 'TalentBasket internship',
76
+ description: 'Internship opportunities at talentbasket',
77
+ text: 'Facebook'
78
+
79
+ v.socialSharing \
80
+ network: 'linkedin',
81
+ url: 'https://www.talentbasket.com/jobs',
82
+ title: 'TalentBasket internship',
83
+ description: 'Internship opportunities at talentbasket',
84
+ text: 'LinkedIn'
85
+
86
+ v.socialSharing \
87
+ network: 'whatsapp',
88
+ url: 'https://www.talentbasket.com/jobs',
89
+ title: 'TalentBasket internship',
90
+ description: 'Internship opportunities at talentbasket',
91
+ text: 'WhatsApp'
92
+
93
+ v.socialSharing \
94
+ network: 'telegram',
95
+ url: 'https://www.talentbasket.com/jobs',
96
+ title: 'TalentBasket internship',
97
+ description: 'Internship opportunities at talentbasket',
98
+ text: 'Telegram'
99
+ end
100
+ end
101
+ scroll.spacer height: 20
102
+ end
data/config/routes.rb CHANGED
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
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
data/lib/tasks/db.rake 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: 0.6.14
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -143,6 +143,7 @@ files:
143
143
  - app/views/json_ui/garage/forms/basic_post.json.jbuilder
144
144
  - app/views/json_ui/garage/forms/checkboxes.json.jbuilder
145
145
  - app/views/json_ui/garage/forms/conditional_value.json.jbuilder
146
+ - app/views/json_ui/garage/forms/disable_dirty_prompt.json.jbuilder
146
147
  - app/views/json_ui/garage/forms/dynamic_group.json.jbuilder
147
148
  - app/views/json_ui/garage/forms/dynamic_select.json.jbuilder
148
149
  - app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder
@@ -151,6 +152,7 @@ files:
151
152
  - app/views/json_ui/garage/forms/generic_post.json.jbuilder
152
153
  - app/views/json_ui/garage/forms/get_request.json.jbuilder
153
154
  - app/views/json_ui/garage/forms/index.json.jbuilder
155
+ - app/views/json_ui/garage/forms/local_request.json.jbuilder
154
156
  - app/views/json_ui/garage/forms/new_rich_text.json.jbuilder
155
157
  - app/views/json_ui/garage/forms/online_participant1.json.jbuilder
156
158
  - app/views/json_ui/garage/forms/online_participant2.json.jbuilder
@@ -177,6 +179,7 @@ files:
177
179
  - app/views/json_ui/garage/lists/autoload_as_needed_responsive_columns.json.jbuilder
178
180
  - app/views/json_ui/garage/lists/chat_ui.json.jbuilder
179
181
  - app/views/json_ui/garage/lists/edit_actions.json.jbuilder
182
+ - app/views/json_ui/garage/lists/edit_mode.json.jbuilder
180
183
  - app/views/json_ui/garage/lists/fab.json.jbuilder
181
184
  - app/views/json_ui/garage/lists/index.json.jbuilder
182
185
  - app/views/json_ui/garage/lists/reordering.json.jbuilder
@@ -236,6 +239,7 @@ files:
236
239
  - app/views/json_ui/garage/views/misc.json.jbuilder
237
240
  - app/views/json_ui/garage/views/multimedia.json.jbuilder
238
241
  - app/views/json_ui/garage/views/progress.json.jbuilder
242
+ - app/views/json_ui/garage/views/socialSharing.json.jbuilder
239
243
  - app/views/json_ui/garage/views/texts.json.jbuilder
240
244
  - app/views/layouts/json_ui/renderer.html.erb
241
245
  - config/routes.rb
@@ -286,7 +290,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
286
290
  - !ruby/object:Gem::Version
287
291
  version: '0'
288
292
  requirements: []
289
- rubygems_version: 3.1.4
293
+ rubyforge_project:
294
+ rubygems_version: 2.7.6
290
295
  signing_key:
291
296
  specification_version: 4
292
297
  summary: ''