glib-web 0.6.15 → 0.8.1
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 +4 -4
- data/app/helpers/glib/json_ui/action_builder/dialogs.rb +1 -0
- data/app/helpers/glib/json_ui/list_builders.rb +2 -1
- data/app/helpers/glib/json_ui/view_builder/panels.rb +7 -2
- data/app/helpers/glib/json_ui/view_builder.rb +5 -3
- data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +8 -6
- data/app/views/json_ui/garage/forms/disable_dirty_prompt.json.jbuilder +27 -0
- data/app/views/json_ui/garage/forms/index.json.jbuilder +6 -0
- data/app/views/json_ui/garage/forms/local_request.json.jbuilder +27 -0
- data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +1 -1
- data/app/views/json_ui/garage/lists/edit_mode.json.jbuilder +38 -0
- data/app/views/json_ui/garage/lists/index.json.jbuilder +3 -0
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +29 -0
- data/app/views/json_ui/garage/views/images.json.jbuilder +7 -2
- data/app/views/json_ui/garage/views/index.json.jbuilder +1 -1
- data/app/views/json_ui/garage/views/{socialSharing.json.jbuilder → shareButton.json.jbuilder} +24 -13
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0eecbcc062d2c7e335ae9753739cc29dbb9d28683e656063c18839f4f282d4f6
|
4
|
+
data.tar.gz: f4ee02cb9f32a927074caa1afb942d431bed96938594cb460417111e5d92ecf3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d95a9abd99525e1487b59eb64f22d6bb35ecaba0d0f15d296d5a33053388ac7ac3571bc45b3187ed73d62b000fcd5526a8546e1a2d3260c65c0e77fdf59c408d
|
7
|
+
data.tar.gz: 4eb2aac64c5f8e86cbdfeff2f9e1f56a38a7ca9dcc839236cf60e2d94de95a9b8f4abb1c0972c149acf9b60a34c9fa6033ccd24fa09f86ef82445fe24f14721e
|
@@ -28,7 +28,7 @@ module Glib
|
|
28
28
|
end
|
29
29
|
|
30
30
|
class Standard < AbstractTemplate
|
31
|
-
string :
|
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
|
@@ -3,7 +3,7 @@ class Glib::JsonUi::ViewBuilder
|
|
3
3
|
class Form < View
|
4
4
|
action :onSubmit
|
5
5
|
string :paramNameForFormData
|
6
|
-
|
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
|
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
|
|
@@ -262,15 +262,17 @@ module Glib
|
|
262
262
|
bool :reversed
|
263
263
|
end
|
264
264
|
|
265
|
-
class
|
265
|
+
class ShareButton < View
|
266
266
|
string :network, required: true
|
267
267
|
string :url, required: true
|
268
268
|
string :title
|
269
269
|
string :description
|
270
|
-
string :
|
270
|
+
string :facebookQuote
|
271
271
|
string :hashtags
|
272
|
-
string :
|
272
|
+
string :twitterUser
|
273
273
|
string :text
|
274
|
+
|
275
|
+
action :onClick
|
274
276
|
end
|
275
277
|
end
|
276
278
|
end
|
@@ -1,9 +1,11 @@
|
|
1
|
-
info = "Method: #{request.method}\nForm Data:\n
|
2
|
-
params.require(:user).each do |k, v|
|
3
|
-
|
4
|
-
|
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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
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
|
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', '
|
13
|
+
['texts', 'controls', 'images', 'multimedia', 'charts', 'banners', 'maps', 'misc', 'icons', 'progress', 'shareButton'].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
|
data/app/views/json_ui/garage/views/{socialSharing.json.jbuilder → shareButton.json.jbuilder}
RENAMED
@@ -4,32 +4,43 @@ page = json_ui_page json
|
|
4
4
|
render "#{@path_prefix}/nav_menu", json: json, page: page
|
5
5
|
|
6
6
|
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
7
|
-
scroll.h2 text: '
|
7
|
+
scroll.h2 text: 'Share Button'
|
8
8
|
scroll.spacer height: 6
|
9
9
|
scroll.panels_column width: 'matchParent', childViews: ->(col) do
|
10
10
|
col.panels_flow innerPadding: { top: 0, right: 0, bottom: 0, left: 0 }, childViews: ->(f) do
|
11
|
-
f.
|
11
|
+
f.shareButton \
|
12
|
+
network: 'copy',
|
13
|
+
url: '',
|
14
|
+
title: 'TalentBasket internship',
|
15
|
+
description: 'Internship opportunities at talentbasket',
|
16
|
+
text: 'Copy Link',
|
17
|
+
onClick: ->(action) do
|
18
|
+
action.commands_copy text: 'copied'
|
19
|
+
end
|
20
|
+
|
21
|
+
f.shareButton \
|
12
22
|
network: 'facebook',
|
13
23
|
url: 'https://www.talentbasket.com/jobs',
|
14
24
|
title: 'TalentBasket internship',
|
15
25
|
description: 'Internship opportunities at talentbasket',
|
26
|
+
facebookQuote: 'Check internship at www.talentbasket.com',
|
16
27
|
text: 'Facebook'
|
17
28
|
|
18
|
-
f.
|
29
|
+
f.shareButton \
|
19
30
|
network: 'linkedin',
|
20
31
|
url: 'https://www.talentbasket.com/jobs',
|
21
32
|
title: 'TalentBasket internship',
|
22
33
|
description: 'Internship opportunities at talentbasket',
|
23
34
|
text: 'LinkedIn'
|
24
35
|
|
25
|
-
f.
|
36
|
+
f.shareButton \
|
26
37
|
network: 'whatsapp',
|
27
38
|
url: 'https://www.talentbasket.com/jobs',
|
28
39
|
title: 'TalentBasket internship',
|
29
40
|
description: 'Internship opportunities at talentbasket',
|
30
41
|
text: 'WhatsApp'
|
31
42
|
|
32
|
-
f.
|
43
|
+
f.shareButton \
|
33
44
|
network: 'telegram',
|
34
45
|
url: 'https://www.talentbasket.com/jobs',
|
35
46
|
title: 'TalentBasket internship',
|
@@ -40,25 +51,25 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
40
51
|
scroll.spacer height: 20
|
41
52
|
scroll.panels_column width: 'matchParent', childViews: ->(col) do
|
42
53
|
col.panels_flow innerPadding: { top: 0, right: 0, bottom: 0, left: 0 }, childViews: ->(f) do
|
43
|
-
f.
|
54
|
+
f.shareButton \
|
44
55
|
network: 'facebook',
|
45
56
|
url: 'https://www.talentbasket.com/jobs',
|
46
57
|
title: 'TalentBasket internship',
|
47
58
|
description: 'Internship opportunities at talentbasket'
|
48
59
|
|
49
|
-
f.
|
60
|
+
f.shareButton \
|
50
61
|
network: 'linkedin',
|
51
62
|
url: 'https://www.talentbasket.com/jobs',
|
52
63
|
title: 'TalentBasket internship',
|
53
64
|
description: 'Internship opportunities at talentbasket'
|
54
65
|
|
55
|
-
f.
|
66
|
+
f.shareButton \
|
56
67
|
network: 'whatsapp',
|
57
68
|
url: 'https://www.talentbasket.com/jobs',
|
58
69
|
title: 'TalentBasket internship',
|
59
70
|
description: 'Internship opportunities at talentbasket'
|
60
71
|
|
61
|
-
f.
|
72
|
+
f.shareButton \
|
62
73
|
network: 'telegram',
|
63
74
|
url: 'https://www.talentbasket.com/jobs',
|
64
75
|
title: 'TalentBasket internship',
|
@@ -69,28 +80,28 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
69
80
|
|
70
81
|
scroll.panels_column width: 'matchParent', childViews: ->(col) do
|
71
82
|
col.panels_vertical childViews: ->(v) do
|
72
|
-
v.
|
83
|
+
v.shareButton \
|
73
84
|
network: 'facebook',
|
74
85
|
url: 'https://www.talentbasket.com/jobs',
|
75
86
|
title: 'TalentBasket internship',
|
76
87
|
description: 'Internship opportunities at talentbasket',
|
77
88
|
text: 'Facebook'
|
78
89
|
|
79
|
-
v.
|
90
|
+
v.shareButton \
|
80
91
|
network: 'linkedin',
|
81
92
|
url: 'https://www.talentbasket.com/jobs',
|
82
93
|
title: 'TalentBasket internship',
|
83
94
|
description: 'Internship opportunities at talentbasket',
|
84
95
|
text: 'LinkedIn'
|
85
96
|
|
86
|
-
v.
|
97
|
+
v.shareButton \
|
87
98
|
network: 'whatsapp',
|
88
99
|
url: 'https://www.talentbasket.com/jobs',
|
89
100
|
title: 'TalentBasket internship',
|
90
101
|
description: 'Internship opportunities at talentbasket',
|
91
102
|
text: 'WhatsApp'
|
92
103
|
|
93
|
-
v.
|
104
|
+
v.shareButton \
|
94
105
|
network: 'telegram',
|
95
106
|
url: 'https://www.talentbasket.com/jobs',
|
96
107
|
title: 'TalentBasket internship',
|
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.
|
4
|
+
version: 0.8.1
|
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,7 +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
|
239
|
-
- app/views/json_ui/garage/views/
|
242
|
+
- app/views/json_ui/garage/views/shareButton.json.jbuilder
|
240
243
|
- app/views/json_ui/garage/views/texts.json.jbuilder
|
241
244
|
- app/views/layouts/json_ui/renderer.html.erb
|
242
245
|
- config/routes.rb
|