glib-web 0.6.13 → 0.6.16

Sign up to get free protection for your applications and to get access to all the features.
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