glib-web 0.5.66 → 0.5.67
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/channels/glib/channel/is_typing_channel.rb +34 -28
- data/app/channels/glib/channel/online_channel.rb +36 -29
- data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
- data/app/controllers/concerns/glib/auth/policy.rb +148 -148
- data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
- data/app/controllers/concerns/glib/json/libs.rb +149 -149
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
- data/app/controllers/concerns/glib/json/transformation.rb +11 -11
- data/app/controllers/concerns/glib/json/traversal.rb +92 -92
- data/app/controllers/concerns/glib/json/ui.rb +88 -88
- data/app/controllers/concerns/glib/json/validation.rb +13 -13
- data/app/controllers/glib/home_controller.rb +54 -54
- data/app/helpers/glib/app_feature_support_helper.rb +16 -16
- data/app/helpers/glib/dynamic_images_helper.rb +55 -55
- data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
- data/app/helpers/glib/enum_helper.rb +8 -8
- data/app/helpers/glib/forms_helper.rb +15 -15
- data/app/helpers/glib/json_ui/abstract_builder.rb +294 -294
- data/app/helpers/glib/json_ui/action_builder.rb +140 -140
- data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
- data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
- data/app/helpers/glib/json_ui/action_builder/panels.rb +14 -14
- data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
- data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
- data/app/helpers/glib/json_ui/action_builder/windows.rb +31 -31
- data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
- data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
- data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
- data/app/helpers/glib/json_ui/list_builders.rb +110 -110
- data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
- data/app/helpers/glib/json_ui/page_helper.rb +221 -221
- data/app/helpers/glib/json_ui/response_helper.rb +25 -25
- data/app/helpers/glib/json_ui/split_builders.rb +32 -32
- data/app/helpers/glib/json_ui/styling_helper.rb +47 -47
- data/app/helpers/glib/json_ui/table_builders.rb +74 -74
- data/app/helpers/glib/json_ui/view_builder.rb +232 -232
- data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
- data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
- data/app/helpers/glib/json_ui/view_builder/fields.rb +267 -263
- data/app/helpers/glib/json_ui/view_builder/panels.rb +251 -251
- data/app/helpers/glib/urls_helper.rb +12 -12
- data/app/models/glib/active_storage/attachment.rb +9 -9
- data/app/models/glib/active_storage/blob.rb +9 -9
- data/app/models/glib/application_record.rb +18 -18
- data/app/models/glib/dynamic_text_record.rb +9 -9
- data/app/models/glib/text.rb +95 -95
- data/app/policies/glib/application_policy.rb +161 -161
- data/app/validators/email_typo_validator.rb +38 -38
- data/app/validators/email_validator.rb +7 -7
- data/app/validators/url_validator.rb +20 -20
- data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
- data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
- data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
- data/app/views/json_ui/garage/actions/_panels.json.jbuilder +18 -18
- data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
- data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
- data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
- data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +24 -24
- data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
- data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
- data/app/views/json_ui/garage/actions/index.json.jbuilder +24 -24
- data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
- data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
- data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
- data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
- data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
- data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
- data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +22 -22
- data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
- data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -32
- data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
- data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
- data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
- data/app/views/json_ui/garage/forms/index.json.jbuilder +116 -113
- data/app/views/json_ui/garage/forms/misc.json.jbuilder +57 -29
- data/app/views/json_ui/garage/forms/misc_two.json.jbuilder +61 -0
- data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
- data/app/views/json_ui/garage/forms/pickers.json.jbuilder +79 -79
- data/app/views/json_ui/garage/forms/ratings.json.jbuilder +49 -49
- data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +83 -83
- data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +130 -130
- data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +35 -35
- data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
- data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +26 -26
- data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
- data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
- data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +81 -81
- data/app/views/json_ui/garage/home/blank.json.jbuilder +10 -10
- data/app/views/json_ui/garage/home/index.json.jbuilder +36 -36
- data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
- data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
- data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
- data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
- data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +94 -94
- data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +62 -62
- data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
- data/app/views/json_ui/garage/lists/index.json.jbuilder +32 -32
- data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
- data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
- data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +114 -113
- data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
- data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
- data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
- data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
- data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
- data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
- data/app/views/json_ui/garage/pages/index.json.jbuilder +62 -62
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
- data/app/views/json_ui/garage/pages/lifecycle_hooks.json.jbuilder +13 -13
- data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
- data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
- data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
- data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +31 -31
- data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
- data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
- data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
- data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
- data/app/views/json_ui/garage/panels/flow.json.jbuilder +49 -49
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
- data/app/views/json_ui/garage/panels/index.json.jbuilder +132 -132
- data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
- data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
- data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
- data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
- data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
- data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
- data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
- data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
- data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
- data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
- data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
- data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
- data/app/views/json_ui/garage/tables/layout.json.jbuilder +40 -40
- data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
- data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
- data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
- data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
- data/app/views/json_ui/garage/views/icons.json.jbuilder +14 -14
- data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
- data/app/views/json_ui/garage/views/index.json.jbuilder +64 -64
- data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
- data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
- data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
- data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
- data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
- data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
- data/app/views/json_ui/garage/views/texts.json.jbuilder +44 -44
- data/app/views/layouts/json_ui/renderer.html.erb +35 -35
- data/config/routes.rb +7 -7
- data/lib/generators/glib/install_generator.rb +24 -24
- data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
- data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
- data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
- data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
- data/lib/generators/templates/database.yml +107 -107
- data/lib/generators/templates/dynamic_text.rb +2 -2
- data/lib/glib-web.rb +9 -9
- data/lib/glib/crypt/utils.rb +26 -26
- data/lib/glib/dynamic_text/config.rb +21 -21
- data/lib/glib/engine.rb +7 -7
- data/lib/glib/json_crawler.rb +11 -11
- data/lib/glib/json_crawler/action_crawler.rb +23 -23
- data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
- data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
- data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
- data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
- data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
- data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
- data/lib/glib/json_crawler/coverage.rb +20 -20
- data/lib/glib/json_crawler/http.rb +120 -120
- data/lib/glib/json_crawler/router.rb +98 -98
- data/lib/glib/mailer_tester.rb +36 -36
- data/lib/glib/test_helpers.rb +52 -52
- data/lib/glib/value.rb +7 -7
- data/lib/glib/version.rb +5 -5
- data/lib/tasks/db.rake +95 -95
- metadata +2 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
json_ui_response json do |action|
|
|
2
|
-
render "#{@path_prefix}/forms/alert_post_data", action: action
|
|
3
|
-
end
|
|
1
|
+
json_ui_response json do |action|
|
|
2
|
+
render "#{@path_prefix}/forms/alert_post_data", action: action
|
|
3
|
+
end
|
|
@@ -1,27 +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 url: json_ui_garage_url(path: 'forms/get_request'), method: 'get', padding: glib_json_padding_body, childViews: ->(form) do
|
|
9
|
-
# TODO: Potential improvement:
|
|
10
|
-
# Use `reload` behaviour instead of `open` (i.e. don't keep adding URL to history).
|
|
11
|
-
# Probably introduce a flag to panels_form so developer can enable/disable this behaviour.
|
|
12
|
-
form.h3 text: "Hello #{ data[:name] }"
|
|
13
|
-
form.spacer height: 6
|
|
14
|
-
form.label text: 'On the web, upon submit, URL needs to change on the browser'
|
|
15
|
-
form.spacer height: 10
|
|
16
|
-
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
17
|
-
|
|
18
|
-
# form.panels_split width: 'matchParent', rightViews: ->(split) do
|
|
19
|
-
# split.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
20
|
-
# end
|
|
21
|
-
|
|
22
|
-
form.panels_split width: 'matchParent', content: ->(split) do
|
|
23
|
-
split.right childViews: ->(right) do
|
|
24
|
-
right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
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 url: json_ui_garage_url(path: 'forms/get_request'), method: 'get', padding: glib_json_padding_body, childViews: ->(form) do
|
|
9
|
+
# TODO: Potential improvement:
|
|
10
|
+
# Use `reload` behaviour instead of `open` (i.e. don't keep adding URL to history).
|
|
11
|
+
# Probably introduce a flag to panels_form so developer can enable/disable this behaviour.
|
|
12
|
+
form.h3 text: "Hello #{ data[:name] }"
|
|
13
|
+
form.spacer height: 6
|
|
14
|
+
form.label text: 'On the web, upon submit, URL needs to change on the browser'
|
|
15
|
+
form.spacer height: 10
|
|
16
|
+
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
17
|
+
|
|
18
|
+
# form.panels_split width: 'matchParent', rightViews: ->(split) do
|
|
19
|
+
# split.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
20
|
+
# end
|
|
21
|
+
|
|
22
|
+
form.panels_split width: 'matchParent', content: ->(split) do
|
|
23
|
+
split.right childViews: ->(right) do
|
|
24
|
+
right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -1,113 +1,116 @@
|
|
|
1
|
-
json.title 'Forms'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
|
-
|
|
6
|
-
page.list sections: [
|
|
7
|
-
->(section) do
|
|
8
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
9
|
-
header.h2 text: 'Submission Logics'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
section.rows builder: ->(template) do
|
|
13
|
-
template.thumbnail title: 'Basic Logic', onClick: ->(action) do
|
|
14
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/basic')
|
|
15
|
-
end
|
|
16
|
-
template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
|
|
17
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
|
|
18
|
-
end
|
|
19
|
-
template.thumbnail title: 'Submission Indicator', onClick: ->(action) do
|
|
20
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
|
|
21
|
-
end
|
|
22
|
-
template.thumbnail title: 'GET Request', onClick: ->(action) do
|
|
23
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
end, ->(section) do
|
|
28
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
29
|
-
header.h2 text: 'Form Logics'
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
section.rows builder: ->(template) do
|
|
33
|
-
template.thumbnail title: 'Text Validation', onClick: ->(action) do
|
|
34
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/text_validation')
|
|
35
|
-
end
|
|
36
|
-
template.thumbnail title: 'Show/Hide', onClick: ->(action) do
|
|
37
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
|
|
38
|
-
end
|
|
39
|
-
template.thumbnail title: 'Conditional Value', onClick: ->(action) do
|
|
40
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/conditional_value')
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
44
|
-
end, ->(section) do
|
|
45
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
46
|
-
header.h2 text: 'Form Fields'
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
section.rows builder: ->(template) do
|
|
50
|
-
template.thumbnail title: 'Pickers', onClick: ->(action) do
|
|
51
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/pickers')
|
|
52
|
-
end
|
|
53
|
-
template.thumbnail title: 'Select Fields', onClick: ->(action) do
|
|
54
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/selects')
|
|
55
|
-
end
|
|
56
|
-
template.thumbnail title: 'File Upload', onClick: ->(action) do
|
|
57
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/file_upload')
|
|
58
|
-
end
|
|
59
|
-
template.thumbnail title: 'Floating Submit', onClick: ->(action) do
|
|
60
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
|
|
61
|
-
end
|
|
62
|
-
template.thumbnail title: 'Ratings', onClick: ->(action) do
|
|
63
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/ratings')
|
|
64
|
-
end
|
|
65
|
-
template.thumbnail title: 'Misc', onClick: ->(action) do
|
|
66
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/misc')
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
section.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
template.thumbnail title: 'Dynamic
|
|
105
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/
|
|
106
|
-
end
|
|
107
|
-
template.thumbnail title: '
|
|
108
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
1
|
+
json.title 'Forms'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
|
+
|
|
6
|
+
page.list sections: [
|
|
7
|
+
->(section) do
|
|
8
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
9
|
+
header.h2 text: 'Submission Logics'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
section.rows builder: ->(template) do
|
|
13
|
+
template.thumbnail title: 'Basic Logic', onClick: ->(action) do
|
|
14
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/basic')
|
|
15
|
+
end
|
|
16
|
+
template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
|
|
17
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
|
|
18
|
+
end
|
|
19
|
+
template.thumbnail title: 'Submission Indicator', onClick: ->(action) do
|
|
20
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
|
|
21
|
+
end
|
|
22
|
+
template.thumbnail title: 'GET Request', onClick: ->(action) do
|
|
23
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end, ->(section) do
|
|
28
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
29
|
+
header.h2 text: 'Form Logics'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
section.rows builder: ->(template) do
|
|
33
|
+
template.thumbnail title: 'Text Validation', onClick: ->(action) do
|
|
34
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/text_validation')
|
|
35
|
+
end
|
|
36
|
+
template.thumbnail title: 'Show/Hide', onClick: ->(action) do
|
|
37
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
|
|
38
|
+
end
|
|
39
|
+
template.thumbnail title: 'Conditional Value', onClick: ->(action) do
|
|
40
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/conditional_value')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
end, ->(section) do
|
|
45
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
46
|
+
header.h2 text: 'Form Fields'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
section.rows builder: ->(template) do
|
|
50
|
+
template.thumbnail title: 'Pickers', onClick: ->(action) do
|
|
51
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/pickers')
|
|
52
|
+
end
|
|
53
|
+
template.thumbnail title: 'Select Fields', onClick: ->(action) do
|
|
54
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/selects')
|
|
55
|
+
end
|
|
56
|
+
template.thumbnail title: 'File Upload', onClick: ->(action) do
|
|
57
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/file_upload')
|
|
58
|
+
end
|
|
59
|
+
template.thumbnail title: 'Floating Submit', onClick: ->(action) do
|
|
60
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
|
|
61
|
+
end
|
|
62
|
+
template.thumbnail title: 'Ratings', onClick: ->(action) do
|
|
63
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/ratings')
|
|
64
|
+
end
|
|
65
|
+
template.thumbnail title: 'Misc 1', onClick: ->(action) do
|
|
66
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/misc')
|
|
67
|
+
end
|
|
68
|
+
template.thumbnail title: 'Misc 2', onClick: ->(action) do
|
|
69
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/misc_two')
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end, ->(section) do
|
|
73
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
74
|
+
header.h2 text: 'Styling'
|
|
75
|
+
end
|
|
76
|
+
section.rows builder: ->(template) do
|
|
77
|
+
template.thumbnail title: 'Text Boxes', onClick: ->(action) do
|
|
78
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/styled_boxes')
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end, ->(section) do
|
|
82
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
83
|
+
header.h2 text: 'Web Only'
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
section.rows builder: ->(template) do
|
|
87
|
+
template.thumbnail title: 'Rich Text Editor', onClick: ->(action) do
|
|
88
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/rich_text')
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
section.rows builder: ->(template) do
|
|
93
|
+
template.thumbnail title: 'New Rich Text Editor', onClick: ->(action) do
|
|
94
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/new_rich_text')
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
end
|
|
98
|
+
end, ->(section) do
|
|
99
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
100
|
+
header.h2 text: 'Experimental (not required yet)'
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
section.rows builder: ->(template) do
|
|
104
|
+
template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
|
|
105
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_group')
|
|
106
|
+
end
|
|
107
|
+
template.thumbnail title: 'Dynamic Select', onClick: ->(action) do
|
|
108
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_select')
|
|
109
|
+
end
|
|
110
|
+
template.thumbnail title: 'Checkboxes', onClick: ->(action) do
|
|
111
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/checkboxes')
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
]
|
|
@@ -1,29 +1,57 @@
|
|
|
1
|
-
json.title 'Forms'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
form
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
1
|
+
json.title 'Forms'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
online_channel = 'OnlineChannel'
|
|
7
|
+
event = 'online_status'
|
|
8
|
+
first_user = User.first
|
|
9
|
+
second_user = User.offset(1).first
|
|
10
|
+
|
|
11
|
+
page.on load: ->(action) do
|
|
12
|
+
action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
|
|
13
|
+
subaction.cables_push channel: online_channel, event: event, payload: { status: true, user_id: first_user.id, reset_value: 10 }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
page.form \
|
|
18
|
+
url: json_ui_garage_url(path: 'forms/generic_post'),
|
|
19
|
+
method: 'post',
|
|
20
|
+
padding: glib_json_padding_body,
|
|
21
|
+
childViews: ->(form) do
|
|
22
|
+
|
|
23
|
+
form.spacer height: 20
|
|
24
|
+
form.h2 text: 'Standard (Backward)'
|
|
25
|
+
form.spacer height: 6
|
|
26
|
+
form.fields_timer \
|
|
27
|
+
name: 'user[timer]',
|
|
28
|
+
value: 60,
|
|
29
|
+
min: 30
|
|
30
|
+
|
|
31
|
+
form.spacer height: 20
|
|
32
|
+
form.h2 text: 'Stop Watch (Forward)'
|
|
33
|
+
form.spacer height: 6
|
|
34
|
+
form.fields_timer \
|
|
35
|
+
name: 'user[stop_watch]',
|
|
36
|
+
value: 10,
|
|
37
|
+
max: 20,
|
|
38
|
+
forward: true
|
|
39
|
+
|
|
40
|
+
form.spacer height: 20
|
|
41
|
+
form.h2 text: 'Reset timer by ActionCable'
|
|
42
|
+
online_socket_config = {
|
|
43
|
+
channel: online_channel,
|
|
44
|
+
filterKey: second_user.id,
|
|
45
|
+
params: {
|
|
46
|
+
conversation: 2
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
form.fields_timer \
|
|
51
|
+
actionCable: online_socket_config,
|
|
52
|
+
name: 'user[reset_timer]',
|
|
53
|
+
value: 10
|
|
54
|
+
|
|
55
|
+
form.spacer height: 20
|
|
56
|
+
form.fields_submit text: 'Submit'
|
|
57
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
json.title 'Forms'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
online_channel = 'OnlineChannel'
|
|
7
|
+
event = 'online_status'
|
|
8
|
+
first_user = User.first
|
|
9
|
+
second_user = User.offset(1).first
|
|
10
|
+
|
|
11
|
+
page.on load: ->(action) do
|
|
12
|
+
action.timeouts_set interval: 1000, repeat: false, onTimeout: ->(subaction) do
|
|
13
|
+
subaction.cables_push \
|
|
14
|
+
channel: online_channel,
|
|
15
|
+
event: event,
|
|
16
|
+
payload: { status: true, user_id: first_user.id, reset_value: 10 }
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
page.form \
|
|
21
|
+
url: json_ui_garage_url(path: 'forms/generic_post'),
|
|
22
|
+
method: 'post',
|
|
23
|
+
padding: glib_json_padding_body,
|
|
24
|
+
childViews: ->(form) do
|
|
25
|
+
|
|
26
|
+
form.spacer height: 20
|
|
27
|
+
form.h2 text: 'Set offline when value 0'
|
|
28
|
+
|
|
29
|
+
online_socket_config = {
|
|
30
|
+
channel: online_channel,
|
|
31
|
+
filterKey: second_user.id,
|
|
32
|
+
params: {
|
|
33
|
+
conversation: 2
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
form.fields_timer \
|
|
38
|
+
name: 'user[online_timer]',
|
|
39
|
+
value: 10,
|
|
40
|
+
onZero: lambda { |action|
|
|
41
|
+
action.cables_push \
|
|
42
|
+
channel: online_channel,
|
|
43
|
+
event: event,
|
|
44
|
+
payload: { status: false, user_id: first_user.id }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
form.label \
|
|
48
|
+
actionCable: online_socket_config,
|
|
49
|
+
text: ' ',
|
|
50
|
+
showIf: {
|
|
51
|
+
">=": [
|
|
52
|
+
{
|
|
53
|
+
"var": 'user[online_timer]'
|
|
54
|
+
},
|
|
55
|
+
0
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
form.spacer height: 20
|
|
60
|
+
form.fields_submit text: 'Submit'
|
|
61
|
+
end
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
json.title 'Forms'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
|
|
7
|
-
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
8
|
-
|
|
9
|
-
# images = [
|
|
10
|
-
# {
|
|
11
|
-
# value: "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4",
|
|
12
|
-
# fileUrl: "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
|
|
13
|
-
# }
|
|
14
|
-
# ]
|
|
15
|
-
# form.fields_richText name: 'user[bio]', width: 'matchParent', label: 'Content', images: images, value: '<p>Test {{image1}}</p>'
|
|
16
|
-
|
|
17
|
-
json.child! do
|
|
18
|
-
json.view 'fields/newRichText-v1'
|
|
19
|
-
json.width 'matchParent'
|
|
20
|
-
json.label 'Content'
|
|
21
|
-
json.name 'user[bio]'
|
|
22
|
-
json.value '<p>Test {{image1}}</p>'
|
|
23
|
-
|
|
24
|
-
json.images do
|
|
25
|
-
json.child! do
|
|
26
|
-
json.value "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4"
|
|
27
|
-
# json.fileTitle "hita i hanom hg.jpg"
|
|
28
|
-
json.fileUrl "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
json.imageUploader do
|
|
33
|
-
json.accepts(fileType: "image/*", maxFileSize: 5000)
|
|
34
|
-
json.directUploadUrl rails_direct_uploads_url
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
39
|
-
end
|
|
1
|
+
json.title 'Forms'
|
|
2
|
+
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
+
|
|
6
|
+
page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: { top: 12, left: 20, right: 20, bottom: 12 }, childViews: ->(form) do
|
|
7
|
+
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
8
|
+
|
|
9
|
+
# images = [
|
|
10
|
+
# {
|
|
11
|
+
# value: "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4",
|
|
12
|
+
# fileUrl: "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
|
|
13
|
+
# }
|
|
14
|
+
# ]
|
|
15
|
+
# form.fields_richText name: 'user[bio]', width: 'matchParent', label: 'Content', images: images, value: '<p>Test {{image1}}</p>'
|
|
16
|
+
|
|
17
|
+
json.child! do
|
|
18
|
+
json.view 'fields/newRichText-v1'
|
|
19
|
+
json.width 'matchParent'
|
|
20
|
+
json.label 'Content'
|
|
21
|
+
json.name 'user[bio]'
|
|
22
|
+
json.value '<p>Test {{image1}}</p>'
|
|
23
|
+
|
|
24
|
+
json.images do
|
|
25
|
+
json.child! do
|
|
26
|
+
json.value "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBFQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--193dc0d939b9558fc4973fafbba91d989cbb04d4"
|
|
27
|
+
# json.fileTitle "hita i hanom hg.jpg"
|
|
28
|
+
json.fileUrl "https://imageserver-demo.herokuapp.com/image/itinerarybuilder-demo/o6CKzNt67PWnkPdUEnWMt7pr?h=100&w=100"
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
json.imageUploader do
|
|
33
|
+
json.accepts(fileType: "image/*", maxFileSize: 5000)
|
|
34
|
+
json.directUploadUrl rails_direct_uploads_url
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
39
|
+
end
|