glib-web 0.8.1 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
- data/app/helpers/glib/app_feature_support_helper.rb +0 -0
- data/app/helpers/glib/dynamic_images_helper.rb +0 -0
- data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
- data/app/helpers/glib/forms_helper.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/http.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/panels.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/snackbars.rb +0 -0
- data/app/helpers/glib/json_ui/analytics_helper.rb +0 -0
- data/app/helpers/glib/json_ui/generic_builders.rb +0 -0
- data/app/helpers/glib/json_ui/table_builders.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder/fields.rb +1 -0
- data/app/helpers/glib/json_ui/view_builder/panels.rb +11 -0
- data/app/helpers/glib/urls_helper.rb +0 -0
- data/app/models/glib/active_storage/attachment.rb +0 -0
- data/app/models/glib/active_storage/blob.rb +0 -0
- data/app/models/glib/dynamic_text_record.rb +0 -0
- data/app/models/glib/text.rb +0 -0
- data/app/validators/email_typo_validator.rb +0 -0
- data/app/validators/email_validator.rb +0 -0
- data/app/validators/url_validator.rb +0 -0
- data/app/views/json_ui/garage/_nav_menu.json.jbuilder +1 -1
- data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_http.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_panels.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_reload.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/basic.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/disable_dirty_prompt.json.jbuilder +4 -2
- data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
- data/app/views/json_ui/garage/home/slow.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +5 -14
- data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/autoload_as_needed_on_top_scroll.json.jbuilder +39 -0
- data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/index.json.jbuilder +3 -0
- data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/grid.json.jbuilder +37 -0
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +12 -10
- data/app/views/json_ui/garage/panels/index.json.jbuilder +5 -3
- data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/responsive.json.jbuilder +22 -0
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/multimedia.json.jbuilder +0 -0
- data/config/routes.rb +0 -0
- data/lib/generators/glib/install_generator.rb +0 -0
- data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
- data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
- data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
- data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
- data/lib/generators/templates/database.yml +0 -0
- data/lib/generators/templates/dynamic_text.rb +0 -0
- data/lib/glib/crypt/utils.rb +0 -0
- data/lib/glib/crypt.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +0 -0
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/engine.rb +0 -0
- data/lib/glib/json_crawler/action_crawler.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
- data/lib/glib/json_crawler/coverage.rb +0 -0
- data/lib/glib/json_crawler.rb +0 -0
- data/lib/glib/mailer_tester.rb +0 -0
- data/lib/glib/value.rb +0 -0
- data/lib/glib/version.rb +0 -0
- data/lib/glib-web.rb +0 -0
- data/lib/tasks/db.rake +0 -0
- 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: 80e4dbdf6fa49ae7529f5f0c7f731e3bcb804926fa26848cd87dc0cc1f3ed999
|
4
|
+
data.tar.gz: 4bd64b4c5abfd53b05355bd7a16c6727344d6124479cdb159df7a744d8587155
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41ebae9f16115cd1409874b9143d5d93563f21d202877757c4e4f3e07faa3379891fbcfc3e02e3ba7200ba40e2016ba35a0b7a13fc2ba9f531f833d40cdf7fa0
|
7
|
+
data.tar.gz: 6e63089dd081a6e8a5805704b814727d51f2396197750cdef12289c3d48da9d53d1a8493eb71859839d0c23d5489634eec1f427c089b5059cd699a77122d3f68
|
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
|
File without changes
|
@@ -121,6 +121,7 @@ class Glib::JsonUi::ViewBuilder
|
|
121
121
|
hash :actionCable
|
122
122
|
|
123
123
|
hash :nextPage
|
124
|
+
hash :prevPage
|
124
125
|
action :onScrollToTop
|
125
126
|
action :onScrollToBottom
|
126
127
|
|
@@ -218,6 +219,7 @@ class Glib::JsonUi::ViewBuilder
|
|
218
219
|
views :childViews
|
219
220
|
string :distribution
|
220
221
|
string :align
|
222
|
+
action :onClick
|
221
223
|
end
|
222
224
|
|
223
225
|
class Flow < View
|
@@ -249,6 +251,15 @@ class Glib::JsonUi::ViewBuilder
|
|
249
251
|
end
|
250
252
|
end
|
251
253
|
|
254
|
+
class Grid < View
|
255
|
+
length :boxMinWidth
|
256
|
+
length :boxMaxWidth
|
257
|
+
length :columnGap
|
258
|
+
length :rowGap
|
259
|
+
|
260
|
+
views :childViews
|
261
|
+
end
|
262
|
+
|
252
263
|
class Web < View
|
253
264
|
string :url
|
254
265
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/models/glib/text.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
2
|
if local_assigns[:top_nav] || json_ui_app_is_web?
|
3
|
-
page.leftDrawer content: ->(drawer) do
|
3
|
+
page.leftDrawer styleClasses:['maxi'], content: ->(drawer) do
|
4
4
|
drawer.header childViews: ->(header) do
|
5
5
|
header.button text: 'App', styleClasses: ['link', 'logo'], onClick: ->(action) do
|
6
6
|
action.windows_open url: root_url
|
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,5 +1,5 @@
|
|
1
1
|
json.title 'Forms'
|
2
|
-
json.disableDirtyPrompt true
|
2
|
+
# json.disableDirtyPrompt true
|
3
3
|
|
4
4
|
data = params[:user] || {}
|
5
5
|
|
@@ -17,7 +17,9 @@ page.form \
|
|
17
17
|
form.spacer height: 14
|
18
18
|
form.h3 text: "Hello #{ data[:name] }"
|
19
19
|
form.spacer height: 4
|
20
|
-
form.fields_text name: 'user[
|
20
|
+
form.fields_text name: 'user[dirty_check_enabled]', width: 'matchParent', label: 'Dirty check enabled'
|
21
|
+
form.spacer height: 14
|
22
|
+
form.fields_text name: 'user[dirty_check_disabled]', width: 'matchParent', label: 'Dirty check disabled', disableDirtyCheck: true
|
21
23
|
|
22
24
|
form.panels_split width: 'matchParent', content: ->(split) do
|
23
25
|
split.right childViews: ->(right) do
|
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
|
@@ -1,23 +1,14 @@
|
|
1
1
|
|
2
|
-
# json.rows do
|
3
|
-
# batch_count = 30
|
4
|
-
# batch_count.times do |i|
|
5
|
-
# index = page * batch_count + i
|
6
|
-
# json.child! do
|
7
|
-
# json.template 'thumbnail'
|
8
|
-
# json.title "Item #{index}"
|
9
|
-
# end
|
10
|
-
# end
|
11
|
-
# end
|
12
|
-
|
13
|
-
# section = json_ui_section json
|
14
|
-
|
15
2
|
sleep 1
|
16
3
|
|
17
4
|
section = page.list_section_builder
|
18
5
|
section.rows builder: ->(row) do
|
19
6
|
batch_count = 30
|
20
|
-
batch_count
|
7
|
+
array = (0..(batch_count - 1)).to_a
|
8
|
+
if local_assigns[:reverse]
|
9
|
+
array = array.reverse
|
10
|
+
end
|
11
|
+
array.each do |i|
|
21
12
|
index = page_index * batch_count + i
|
22
13
|
if local_assigns[:reorder]
|
23
14
|
row.thumbnail title: "Item #{index}", onReorder: ->(action) do
|
File without changes
|
File without changes
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
page_index = params[:page].to_i
|
3
|
+
next_page = {
|
4
|
+
url: json_ui_garage_url(path: 'lists/autoload_as_needed_on_top_scroll', page: page_index + 1, section_only: 'v1'),
|
5
|
+
autoload: 'asNeeded'
|
6
|
+
}
|
7
|
+
|
8
|
+
page = json_ui_page json
|
9
|
+
|
10
|
+
# TODO: Cater
|
11
|
+
# - for SEO: one URL for a standalone page and one URL for pagination only
|
12
|
+
# - for generic approach, e.g. excluding nav_menu when there is no change
|
13
|
+
if params[:section_only].present?
|
14
|
+
sleep 1
|
15
|
+
|
16
|
+
json.prevPage next_page if page_index < 3
|
17
|
+
json.sections do
|
18
|
+
json.child! do
|
19
|
+
render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index
|
20
|
+
end
|
21
|
+
end
|
22
|
+
else
|
23
|
+
json.title 'Lists'
|
24
|
+
|
25
|
+
page.on load: ->(action) do
|
26
|
+
action.panels_scrollToBottom
|
27
|
+
end
|
28
|
+
|
29
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
30
|
+
|
31
|
+
page.list prevPage: next_page, firstSection: ->(section) do
|
32
|
+
render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index, reverse: true
|
33
|
+
end, onScrollToBottom: ->(action) do
|
34
|
+
action.snackbars_alert message: 'Scrolled to Bottom'
|
35
|
+
end, onScrollToTop: ->(action) do
|
36
|
+
action.snackbars_alert message: 'Scrolled to Top'
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
File without changes
|
File without changes
|
@@ -32,6 +32,9 @@ json_ui_page json do |page|
|
|
32
32
|
template.thumbnail title: 'Autoload as Needed with Responsive Columns', onClick: ->(action) do
|
33
33
|
action.windows_open url: json_ui_garage_url(path: 'lists/autoload_as_needed_responsive_columns')
|
34
34
|
end
|
35
|
+
template.thumbnail title: 'Autoload as Needed (top scroll)', onClick: ->(action) do
|
36
|
+
action.windows_open url: json_ui_garage_url(path: 'lists/autoload_as_needed_on_top_scroll')
|
37
|
+
end
|
35
38
|
template.thumbnail title: 'Reordering', onClick: ->(action) do
|
36
39
|
action.windows_open url: json_ui_garage_url(path: 'lists/reordering')
|
37
40
|
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
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,37 @@
|
|
1
|
+
json.title 'Panels'
|
2
|
+
|
3
|
+
page = json_ui_page json
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
5
|
+
|
6
|
+
small_image_url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSGQpSWjtELISLBlmugOZ6wzl1JamYXQvbFeYywpfg3E8b8DrO0Kg&s'
|
7
|
+
|
8
|
+
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
9
|
+
scroll.h2 text: 'Responsive grid box, try to resize browser width'
|
10
|
+
scroll.spacer height: 8
|
11
|
+
scroll.panels_grid width: 'matchParent', boxMinWidth: 200, columnGap: 20, rowGap: 10, childViews: ->(box) do
|
12
|
+
box.label text: 'Box', width: 'matchParent', backgroundColor: '#ddd'
|
13
|
+
box.label text: 'Box', width: 'matchParent', backgroundColor: '#ddd'
|
14
|
+
box.label text: 'Box', width: 'matchParent', backgroundColor: '#ddd'
|
15
|
+
box.label text: 'Box', width: 'matchParent', backgroundColor: '#ddd'
|
16
|
+
box.label text: 'Box', width: 'matchParent', backgroundColor: '#ddd'
|
17
|
+
end
|
18
|
+
|
19
|
+
scroll.spacer height: 16
|
20
|
+
scroll.h2 text: 'Responsive grid box with image'
|
21
|
+
scroll.spacer height: 8
|
22
|
+
scroll.panels_grid \
|
23
|
+
width: 'matchParent',
|
24
|
+
boxMinWidth: 300,
|
25
|
+
columnGap: 20,
|
26
|
+
rowGap: 10,
|
27
|
+
padding: { top: 0, right: 10, bottom: 0, left: 10 },
|
28
|
+
childViews: ->(box) do
|
29
|
+
box.image url: small_image_url
|
30
|
+
box.image url: small_image_url
|
31
|
+
box.image url: small_image_url
|
32
|
+
box.image url: small_image_url
|
33
|
+
box.image url: small_image_url
|
34
|
+
end
|
35
|
+
|
36
|
+
scroll.spacer height: 64
|
37
|
+
end
|
@@ -11,7 +11,7 @@ json_ui_page json do |page|
|
|
11
11
|
panel.button text: '3'
|
12
12
|
end
|
13
13
|
|
14
|
-
scroll.
|
14
|
+
scroll.spacer height: 20
|
15
15
|
scroll.h1 text: 'Equal filling'
|
16
16
|
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'fillEqually', childViews: ->(panel) do
|
17
17
|
panel.button text: '1'
|
@@ -19,7 +19,7 @@ json_ui_page json do |page|
|
|
19
19
|
panel.button text: '3', height: 70
|
20
20
|
end
|
21
21
|
|
22
|
-
scroll.
|
22
|
+
scroll.spacer height: 20
|
23
23
|
scroll.h1 text: 'Equal spacing'
|
24
24
|
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'spaceEqually', childViews: ->(panel) do
|
25
25
|
panel.button text: '1'
|
@@ -27,7 +27,7 @@ json_ui_page json do |page|
|
|
27
27
|
panel.button text: '3'
|
28
28
|
end
|
29
29
|
|
30
|
-
scroll.
|
30
|
+
scroll.spacer height: 20
|
31
31
|
scroll.h1 text: 'Overlaps (negative spacing)'
|
32
32
|
scroll.markdown text: 'Uses Material Design spacings: https://vuetifyjs.com/en/styles/spacing/#how-it-works'
|
33
33
|
scroll.panels_horizontal width: 'matchParent', distribution: 'overlap-1', childViews: ->(panel) do
|
@@ -56,7 +56,7 @@ json_ui_page json do |page|
|
|
56
56
|
panel.button text: '3'
|
57
57
|
end
|
58
58
|
|
59
|
-
scroll.
|
59
|
+
scroll.spacer height: 20
|
60
60
|
scroll.h1 text: 'Vertical panel combo'
|
61
61
|
scroll.panels_horizontal distribution: 'spaceEqually', childViews: ->(panel) do
|
62
62
|
panel.button text: '1'
|
@@ -67,7 +67,7 @@ json_ui_page json do |page|
|
|
67
67
|
panel.button text: '3'
|
68
68
|
end
|
69
69
|
|
70
|
-
scroll.
|
70
|
+
scroll.spacer height: 20
|
71
71
|
scroll.h1 text: 'Vertical panel combo (equal filling)'
|
72
72
|
scroll.panels_horizontal width: 'matchParent', distribution: 'fillEqually', childViews: ->(panel) do
|
73
73
|
panel.button text: '1'
|
@@ -78,7 +78,7 @@ json_ui_page json do |page|
|
|
78
78
|
panel.button text: '3'
|
79
79
|
end
|
80
80
|
|
81
|
-
scroll.
|
81
|
+
scroll.spacer height: 20
|
82
82
|
scroll.h1 text: 'Vertical panel combo (equal spacing)'
|
83
83
|
scroll.panels_horizontal width: 'matchParent', distribution: 'spaceEqually', childViews: ->(panel) do
|
84
84
|
panel.button text: '1'
|
@@ -89,7 +89,7 @@ json_ui_page json do |page|
|
|
89
89
|
panel.button text: '3'
|
90
90
|
end
|
91
91
|
|
92
|
-
scroll.
|
92
|
+
scroll.spacer height: 20
|
93
93
|
scroll.h1 text: 'Spacers'
|
94
94
|
scroll.panels_horizontal width: 'matchParent', childViews: ->(panel) do
|
95
95
|
panel.button text: '1'
|
@@ -99,7 +99,7 @@ json_ui_page json do |page|
|
|
99
99
|
panel.button text: '3'
|
100
100
|
end
|
101
101
|
|
102
|
-
scroll.
|
102
|
+
scroll.spacer height: 20
|
103
103
|
scroll.h1 text: 'Alignments'
|
104
104
|
scroll.panels_horizontal align: 'top', childViews: ->(panel) do
|
105
105
|
panel.button height: 50, text: 'Button'
|
@@ -117,12 +117,14 @@ json_ui_page json do |page|
|
|
117
117
|
panel.label text: 'bottom'
|
118
118
|
end
|
119
119
|
|
120
|
-
scroll.
|
121
|
-
scroll.h1 text: 'Label combo'
|
120
|
+
scroll.spacer height: 20
|
121
|
+
scroll.h1 text: 'Label combo (with onClick)'
|
122
122
|
scroll.panels_horizontal childViews: ->(panel) do
|
123
123
|
panel.label backgroundColor: '#b3bac2', text: 'Label 1'
|
124
124
|
panel.label text: 'Label 2'
|
125
125
|
panel.label backgroundColor: '#b3bac2', text: 'Label 3'
|
126
|
+
end, onClick: ->(action) do
|
127
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
126
128
|
end
|
127
129
|
|
128
130
|
scroll.label text: "\n"
|
@@ -30,8 +30,6 @@ json_ui_page json do |page|
|
|
30
30
|
template.thumbnail title: 'Unordered List', subtitle: 'Bullet points similar to HTML\'s <ul> tag', onClick: ->(action) do
|
31
31
|
action.windows_open url: json_ui_garage_url(path: 'panels/ul')
|
32
32
|
end
|
33
|
-
|
34
|
-
|
35
33
|
end
|
36
34
|
end, ->(section) do
|
37
35
|
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
@@ -120,10 +118,14 @@ json_ui_page json do |page|
|
|
120
118
|
end
|
121
119
|
end, ->(section) do
|
122
120
|
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
123
|
-
header.h2 text: '
|
121
|
+
header.h2 text: 'Experimental'
|
124
122
|
end
|
125
123
|
|
126
124
|
section.rows builder: ->(template) do
|
125
|
+
template.thumbnail title: 'Grid', subtitle: 'Arrage child component in grid like', onClick: ->(action) do
|
126
|
+
action.windows_open url: json_ui_garage_url(path: 'panels/grid')
|
127
|
+
end
|
128
|
+
|
127
129
|
template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
|
128
130
|
# TODO
|
129
131
|
end
|
File without changes
|
@@ -93,6 +93,28 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
93
93
|
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
94
94
|
end
|
95
95
|
|
96
|
+
scroll.spacer height: 16
|
97
|
+
scroll.h2 text: 'With grid-like functionality'
|
98
|
+
scroll.spacer height: 8
|
99
|
+
scroll.panels_responsive \
|
100
|
+
width: 'matchParent',
|
101
|
+
padding: { top: 0, right: 10, bottom: 0, left: 10 },
|
102
|
+
childViews: ->(responsive) do
|
103
|
+
small_image_url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSGQpSWjtELISLBlmugOZ6wzl1JamYXQvbFeYywpfg3E8b8DrO0Kg&s'
|
104
|
+
|
105
|
+
6.times do |_cell_index|
|
106
|
+
responsive.panels_column \
|
107
|
+
padding: { top: 5, right: 5, bottom: 5, left: 5 },
|
108
|
+
xl: { cols: 3 },
|
109
|
+
lg: { cols: 4 },
|
110
|
+
md: { cols: 6 },
|
111
|
+
backgroundColor: '#c3cad2',
|
112
|
+
childViews: ->(column) do
|
113
|
+
column.image width: 'matchParent', url: small_image_url
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
96
118
|
scroll.spacer height: 20
|
97
119
|
|
98
120
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/config/routes.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/glib/crypt/utils.rb
CHANGED
File without changes
|
data/lib/glib/crypt.rb
CHANGED
File without changes
|
File without changes
|
data/lib/glib/dynamic_text.rb
CHANGED
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
|
File without changes
|
File without changes
|
data/lib/glib/json_crawler.rb
CHANGED
File without changes
|
data/lib/glib/mailer_tester.rb
CHANGED
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.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -176,6 +176,7 @@ files:
|
|
176
176
|
- app/views/json_ui/garage/lists/_autoload_section.json.jbuilder
|
177
177
|
- app/views/json_ui/garage/lists/autoload_all.json.jbuilder
|
178
178
|
- app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder
|
179
|
+
- app/views/json_ui/garage/lists/autoload_as_needed_on_top_scroll.json.jbuilder
|
179
180
|
- app/views/json_ui/garage/lists/autoload_as_needed_responsive_columns.json.jbuilder
|
180
181
|
- app/views/json_ui/garage/lists/chat_ui.json.jbuilder
|
181
182
|
- app/views/json_ui/garage/lists/edit_actions.json.jbuilder
|
@@ -203,6 +204,7 @@ files:
|
|
203
204
|
- app/views/json_ui/garage/panels/carousel.json.jbuilder
|
204
205
|
- app/views/json_ui/garage/panels/custom.json.jbuilder
|
205
206
|
- app/views/json_ui/garage/panels/flow.json.jbuilder
|
207
|
+
- app/views/json_ui/garage/panels/grid.json.jbuilder
|
206
208
|
- app/views/json_ui/garage/panels/horizontal.json.jbuilder
|
207
209
|
- app/views/json_ui/garage/panels/index.json.jbuilder
|
208
210
|
- app/views/json_ui/garage/panels/outlined.json.jbuilder
|
@@ -290,7 +292,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
290
292
|
- !ruby/object:Gem::Version
|
291
293
|
version: '0'
|
292
294
|
requirements: []
|
293
|
-
|
295
|
+
rubyforge_project:
|
296
|
+
rubygems_version: 2.7.6
|
294
297
|
signing_key:
|
295
298
|
specification_version: 4
|
296
299
|
summary: ''
|