glib-web 0.6.13 → 0.6.16

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e20093312ead5735f1515024fb1d3f3ed9489a5b779b6bebed5389ee5d467387
4
- data.tar.gz: 59d7bf932016ba5d9cbec3b9496a4684dcb1d9152315a04be64e76d3771b9e34
3
+ metadata.gz: bedc221c7a3ca4698e7544b004d173a2370d24f46c39c5e9843557196592d662
4
+ data.tar.gz: 70e02a74054949fe4aaf27fc34068330fd1a4054b336b49235b01dcad180db40
5
5
  SHA512:
6
- metadata.gz: e309034217ac808d8833d2790f247269bb61034d649b23bfdabda48bbb382aeeaa2aa4411a3a6307516df5ed7711ee5c894a12e5a3fc54f392f4690b64312331
7
- data.tar.gz: 9d10545b5a48359871342d59919f058876f980ee970587a3638d8f89f07d6ff04557de3437ca42a8b93afa4c299b6b8463fb4497618be7956cad79b2d52b653a
6
+ metadata.gz: 29259dcdbc183ee60c7c787a4ac0a72f7237fcedde68183480f0f6eb0e74d0cd02900976959597ea5f6e42541fb075efe7de57ea2101e9b8cca2b7c18de6e82e
7
+ data.tar.gz: 17be690ac40a42483ef7e0998133e3e9b4e56e5a504f856149fc4b127a8f3e5a4e95076da2cf3a4908ae3e169e1b943ac0325d4fdec0c140f1d35b6a82426711
@@ -35,14 +35,20 @@ module Glib::Analytics
35
35
  action = request.headers['GApp-Analytics-Referer-Action']
36
36
  segment = request.headers['GApp-Analytics-Referer-Segment']
37
37
  placement = request.headers['GApp-Analytics-Referer-Placement']
38
-
39
- if group.nil? && action.nil? && !request.headers['referer'].nil?
40
- host = URI.parse(request.headers['referer']).host
41
- if host == request.host || !/^(.*).#{request.host.sub('www', '')}/.match(host).nil?
42
- referer_url = request.headers['referer'].delete_suffix('/')
38
+ referrer_url = request.headers['referer'] # Notice that the HTTP header uses one "r"
39
+ if group.nil? && action.nil? && !referrer_url.nil?
40
+ current_host = request.host
41
+ referrer_host = URI.parse(referrer_url).host
42
+
43
+ # Replace the subdomain portion with regex so it will only match the non-subdomain part.
44
+ # This will allow cross-subdomain referral, but it will not work if the host is a bare domain,
45
+ # which is something that we should avoid doing anyway.
46
+ regex = '^([^\.]*)\.'
47
+ if current_host == referrer_host || !/#{current_host.sub(/#{regex}/, regex)}/.match(referrer_host).nil?
48
+ referrer_url = referrer_url.delete_suffix('/')
43
49
 
44
50
  begin
45
- route = Rails.application.routes.recognize_path(referer_url)
51
+ route = Rails.application.routes.recognize_path(referrer_url)
46
52
  group = route[:controller]
47
53
  action = route[:action]
48
54
  rescue ActionController::RoutingError
@@ -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
@@ -225,6 +225,8 @@ class Glib::JsonUi::ViewBuilder
225
225
  string :directUploadUrl
226
226
  string :fileUrl
227
227
  string :fileTitle
228
+ string :uploadText
229
+ string :uploadIcon
228
230
  hash :placeholderView
229
231
  end
230
232
 
@@ -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
@@ -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
@@ -22,6 +22,9 @@ 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
25
28
 
26
29
  end
27
30
  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
@@ -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
@@ -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
@@ -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,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'
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
@@ -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
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.13
4
+ version: 0.6.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -151,6 +151,7 @@ files:
151
151
  - app/views/json_ui/garage/forms/generic_post.json.jbuilder
152
152
  - app/views/json_ui/garage/forms/get_request.json.jbuilder
153
153
  - app/views/json_ui/garage/forms/index.json.jbuilder
154
+ - app/views/json_ui/garage/forms/local_request.json.jbuilder
154
155
  - app/views/json_ui/garage/forms/new_rich_text.json.jbuilder
155
156
  - app/views/json_ui/garage/forms/online_participant1.json.jbuilder
156
157
  - app/views/json_ui/garage/forms/online_participant2.json.jbuilder
@@ -177,6 +178,7 @@ files:
177
178
  - app/views/json_ui/garage/lists/autoload_as_needed_responsive_columns.json.jbuilder
178
179
  - app/views/json_ui/garage/lists/chat_ui.json.jbuilder
179
180
  - app/views/json_ui/garage/lists/edit_actions.json.jbuilder
181
+ - app/views/json_ui/garage/lists/edit_mode.json.jbuilder
180
182
  - app/views/json_ui/garage/lists/fab.json.jbuilder
181
183
  - app/views/json_ui/garage/lists/index.json.jbuilder
182
184
  - app/views/json_ui/garage/lists/reordering.json.jbuilder
@@ -236,6 +238,7 @@ files:
236
238
  - app/views/json_ui/garage/views/misc.json.jbuilder
237
239
  - app/views/json_ui/garage/views/multimedia.json.jbuilder
238
240
  - app/views/json_ui/garage/views/progress.json.jbuilder
241
+ - app/views/json_ui/garage/views/socialSharing.json.jbuilder
239
242
  - app/views/json_ui/garage/views/texts.json.jbuilder
240
243
  - app/views/layouts/json_ui/renderer.html.erb
241
244
  - config/routes.rb