glib-web 0.6.1 → 0.6.2
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 -34
- data/app/channels/glib/channel/online_channel.rb +36 -36
- data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
- data/app/controllers/concerns/glib/auth/policy.rb +149 -149
- 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 +18 -18
- data/app/helpers/glib/forms_helper.rb +15 -15
- data/app/helpers/glib/json_ui/abstract_builder.rb +309 -309
- 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/iap.rb +15 -15
- 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 +38 -38
- data/app/helpers/glib/json_ui/action_builder.rb +140 -140
- 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 +96 -96
- 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/styling_helper.rb +55 -55
- data/app/helpers/glib/json_ui/table_builders.rb +74 -74
- data/app/helpers/glib/json_ui/view_builder/banners.rb +26 -26
- data/app/helpers/glib/json_ui/view_builder/charts.rb +49 -49
- data/app/helpers/glib/json_ui/view_builder/fields.rb +296 -296
- data/app/helpers/glib/json_ui/view_builder/iap.rb +11 -11
- data/app/helpers/glib/json_ui/view_builder/panels.rb +262 -262
- data/app/helpers/glib/json_ui/view_builder.rb +262 -262
- data/app/helpers/glib/urls_helper.rb +12 -12
- data/app/models/concerns/glib/soft_deletable.rb +73 -73
- 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 +191 -191
- 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 +72 -72
- 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 +10 -10
- 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 +27 -27
- data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +38 -38
- data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
- data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +24 -24
- 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 +37 -37
- 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 +120 -120
- data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +40 -40
- data/app/views/json_ui/garage/forms/online_participant1.json.jbuilder +25 -25
- data/app/views/json_ui/garage/forms/online_participant2.json.jbuilder +25 -25
- data/app/views/json_ui/garage/forms/payments.json.jbuilder +34 -34
- data/app/views/json_ui/garage/forms/pickers.json.jbuilder +89 -89
- 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 +91 -91
- data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +154 -154
- 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/submit_on_change.json.jbuilder +28 -28
- data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +65 -65
- data/app/views/json_ui/garage/forms/timers.json.jbuilder +120 -120
- 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 +30 -30
- 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/autoload_as_needed_responsive_columns.json.jbuilder +27 -27
- 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 +41 -41
- 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 -114
- 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 +92 -92
- 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 +38 -38
- data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
- data/app/views/json_ui/garage/panels/flow.json.jbuilder +59 -59
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +101 -101
- data/app/views/json_ui/garage/panels/index.json.jbuilder +138 -138
- 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/ul.json.jbuilder +33 -33
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +55 -55
- data/app/views/json_ui/garage/panels/web.json.jbuilder +15 -15
- 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 +67 -67
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
- data/app/views/json_ui/garage/views/charts.json.jbuilder +125 -125
- data/app/views/json_ui/garage/views/controls.json.jbuilder +60 -60
- data/app/views/json_ui/garage/views/iap.json.jbuilder +21 -21
- data/app/views/json_ui/garage/views/icon_names.json.jbuilder +1450 -1450
- data/app/views/json_ui/garage/views/icons.json.jbuilder +15 -15
- data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
- data/app/views/json_ui/garage/views/index.json.jbuilder +83 -83
- 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/progress.json.jbuilder +31 -31
- data/app/views/json_ui/garage/views/texts.json.jbuilder +35 -35
- 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/crypt/utils.rb +26 -26
- data/lib/glib/crypt.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +21 -21
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/engine.rb +7 -7
- 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 +95 -90
- data/lib/glib/json_crawler.rb +11 -11
- 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/glib-web.rb +9 -9
- data/lib/tasks/db.rake +95 -95
- metadata +1 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
3
|
-
header.h3 text: 'Snackbars'
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
section.rows builder: ->(template) do
|
|
7
|
-
template.thumbnail title: 'snackbars/alert', onClick: ->(action) do
|
|
8
|
-
action.snackbars_alert message: 'This is an alert snackbar', onClose: ->(action) do
|
|
9
|
-
action.dialogs_alert message: 'Closed'
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# template.thumbnail title: 'snackbars/alert with markdown', onClick: ->(action) do
|
|
14
|
-
# action.snackbars_alert message: 'This is an *alert* snackbar', message_format: 'markdown'
|
|
15
|
-
# end
|
|
16
|
-
|
|
17
|
-
template.thumbnail title: 'snackbars/select', onClick: ->(action) do
|
|
18
|
-
action.snackbars_select message: 'Select one', buttons: ->(menu) do
|
|
19
|
-
menu.button text: 'Option1', onClick: ->(subaction) do
|
|
20
|
-
subaction.dialogs_alert message: 'Option 1'
|
|
21
|
-
end
|
|
22
|
-
menu.button text: 'Option2', onClick: ->(subaction) do
|
|
23
|
-
subaction.dialogs_alert message: 'Option 2'
|
|
24
|
-
end
|
|
25
|
-
menu.button text: 'Cancel'
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
template.thumbnail title: 'snackbars with styling', onClick: ->(action) do
|
|
30
|
-
action.snackbars_alert message: 'This is a styled snackbar', verticalPosition: 'top', styleClass: 'success'
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
end
|
|
1
|
+
|
|
2
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
3
|
+
header.h3 text: 'Snackbars'
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
section.rows builder: ->(template) do
|
|
7
|
+
template.thumbnail title: 'snackbars/alert', onClick: ->(action) do
|
|
8
|
+
action.snackbars_alert message: 'This is an alert snackbar', onClose: ->(action) do
|
|
9
|
+
action.dialogs_alert message: 'Closed'
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# template.thumbnail title: 'snackbars/alert with markdown', onClick: ->(action) do
|
|
14
|
+
# action.snackbars_alert message: 'This is an *alert* snackbar', message_format: 'markdown'
|
|
15
|
+
# end
|
|
16
|
+
|
|
17
|
+
template.thumbnail title: 'snackbars/select', onClick: ->(action) do
|
|
18
|
+
action.snackbars_select message: 'Select one', buttons: ->(menu) do
|
|
19
|
+
menu.button text: 'Option1', onClick: ->(subaction) do
|
|
20
|
+
subaction.dialogs_alert message: 'Option 1'
|
|
21
|
+
end
|
|
22
|
+
menu.button text: 'Option2', onClick: ->(subaction) do
|
|
23
|
+
subaction.dialogs_alert message: 'Option 2'
|
|
24
|
+
end
|
|
25
|
+
menu.button text: 'Cancel'
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
template.thumbnail title: 'snackbars with styling', onClick: ->(action) do
|
|
30
|
+
action.snackbars_alert message: 'This is a styled snackbar', verticalPosition: 'top', styleClass: 'success'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
3
|
-
header.h3 text: 'Timeouts', id: 'scroll_anchor'
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
section.rows builder: ->(template) do
|
|
7
|
-
template.thumbnail title: 'timeouts/set', onClick: ->(action) do
|
|
8
|
-
action.timeouts_set interval: 1000, onTimeout: ->(subaction) do
|
|
9
|
-
subaction.snackbars_alert message: 'Timeout elapsed'
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
template.thumbnail title: 'timeouts/set with repeat', onClick: ->(action) do
|
|
14
|
-
action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
|
|
15
|
-
subaction.snackbars_alert message: 'Timeout elapsed every 1 second'
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# section.rows builder: ->(template) do
|
|
21
|
-
# template.thumbnail title: 'timeouts/clear', onClick: ->(action) do
|
|
22
|
-
# action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
23
|
-
# end
|
|
24
|
-
# end
|
|
1
|
+
|
|
2
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
3
|
+
header.h3 text: 'Timeouts', id: 'scroll_anchor'
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
section.rows builder: ->(template) do
|
|
7
|
+
template.thumbnail title: 'timeouts/set', onClick: ->(action) do
|
|
8
|
+
action.timeouts_set interval: 1000, onTimeout: ->(subaction) do
|
|
9
|
+
subaction.snackbars_alert message: 'Timeout elapsed'
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
template.thumbnail title: 'timeouts/set with repeat', onClick: ->(action) do
|
|
14
|
+
action.timeouts_set interval: 1000, repeat: true, onTimeout: ->(subaction) do
|
|
15
|
+
subaction.snackbars_alert message: 'Timeout elapsed every 1 second'
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# section.rows builder: ->(template) do
|
|
21
|
+
# template.thumbnail title: 'timeouts/clear', onClick: ->(action) do
|
|
22
|
+
# action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
23
|
+
# end
|
|
24
|
+
# end
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
3
|
-
header.h3 text: 'Windows'
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
section.rows builder: ->(template) do
|
|
7
|
-
template.thumbnail title: 'windows/close', onClick: ->(action) do
|
|
8
|
-
action.windows_close onClose: ->(subaction) do
|
|
9
|
-
subaction.dialogs_alert message: 'Previous window closed'
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
section.rows builder: ->(template) do
|
|
15
|
-
template.thumbnail title: 'windows/open', onClick: ->(action) do
|
|
16
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
section.rows builder: ->(template) do
|
|
21
|
-
template.thumbnail title: 'windows/openWeb', onClick: ->(action) do
|
|
22
|
-
action.windows_openWeb url: 'http://www.google.com'
|
|
23
|
-
end
|
|
24
|
-
end
|
|
1
|
+
|
|
2
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
3
|
+
header.h3 text: 'Windows'
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
section.rows builder: ->(template) do
|
|
7
|
+
template.thumbnail title: 'windows/close', onClick: ->(action) do
|
|
8
|
+
action.windows_close onClose: ->(subaction) do
|
|
9
|
+
subaction.dialogs_alert message: 'Previous window closed'
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
section.rows builder: ->(template) do
|
|
15
|
+
template.thumbnail title: 'windows/open', onClick: ->(action) do
|
|
16
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
section.rows builder: ->(template) do
|
|
21
|
+
template.thumbnail title: 'windows/openWeb', onClick: ->(action) do
|
|
22
|
+
action.windows_openWeb url: 'http://www.google.com'
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
facebook_graph = Koala::Facebook::API.new(params[:credentials][:token])
|
|
2
|
-
profile = facebook_graph.get_object('me')
|
|
3
|
-
|
|
4
|
-
json_ui_response json do |action|
|
|
5
|
-
action.dialogs_alert message: profile
|
|
6
|
-
end
|
|
1
|
+
facebook_graph = Koala::Facebook::API.new(params[:credentials][:token])
|
|
2
|
+
profile = facebook_graph.get_object('me')
|
|
3
|
+
|
|
4
|
+
json_ui_response json do |action|
|
|
5
|
+
action.dialogs_alert message: profile
|
|
6
|
+
end
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
json.title 'Actions'
|
|
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
|
-
render "#{@path_prefix}/actions/reload", section: section
|
|
9
|
-
end, ->(section) do
|
|
10
|
-
render "#{@path_prefix}/actions/panels", section: section
|
|
11
|
-
end, ->(section) do
|
|
12
|
-
render "#{@path_prefix}/actions/dialogs", section: section
|
|
13
|
-
end, ->(section) do
|
|
14
|
-
render "#{@path_prefix}/actions/snackbars", section: section
|
|
15
|
-
end, ->(section) do
|
|
16
|
-
render "#{@path_prefix}/actions/sheets", section: section
|
|
17
|
-
end, ->(section) do
|
|
18
|
-
render "#{@path_prefix}/actions/windows", section: section
|
|
19
|
-
end, ->(section) do
|
|
20
|
-
render "#{@path_prefix}/actions/timeouts", section: section
|
|
21
|
-
end, ->(section) do
|
|
22
|
-
render "#{@path_prefix}/actions/http", section: section
|
|
23
|
-
end
|
|
24
|
-
]
|
|
1
|
+
json.title 'Actions'
|
|
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
|
+
render "#{@path_prefix}/actions/reload", section: section
|
|
9
|
+
end, ->(section) do
|
|
10
|
+
render "#{@path_prefix}/actions/panels", section: section
|
|
11
|
+
end, ->(section) do
|
|
12
|
+
render "#{@path_prefix}/actions/dialogs", section: section
|
|
13
|
+
end, ->(section) do
|
|
14
|
+
render "#{@path_prefix}/actions/snackbars", section: section
|
|
15
|
+
end, ->(section) do
|
|
16
|
+
render "#{@path_prefix}/actions/sheets", section: section
|
|
17
|
+
end, ->(section) do
|
|
18
|
+
render "#{@path_prefix}/actions/windows", section: section
|
|
19
|
+
end, ->(section) do
|
|
20
|
+
render "#{@path_prefix}/actions/timeouts", section: section
|
|
21
|
+
end, ->(section) do
|
|
22
|
+
render "#{@path_prefix}/actions/http", section: section
|
|
23
|
+
end
|
|
24
|
+
]
|
|
@@ -1,10 +1,10 @@
|
|
|
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 += '}'
|
|
7
|
-
|
|
8
|
-
action.dialogs_alert message: info, onClose: ->(action) do
|
|
9
|
-
action.windows_refreshState
|
|
10
|
-
end
|
|
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 += '}'
|
|
7
|
+
|
|
8
|
+
action.dialogs_alert message: info, onClose: ->(action) do
|
|
9
|
+
action.windows_refreshState
|
|
10
|
+
end
|
|
@@ -1,21 +1,21 @@
|
|
|
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: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
-
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
8
|
-
form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
|
|
9
|
-
|
|
10
|
-
form.panels_split width: 'matchParent', content: ->(split) do
|
|
11
|
-
split.left childViews: ->(left) do
|
|
12
|
-
if params[:mode] == 'dialog'
|
|
13
|
-
left.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
split.right childViews: ->(right) do
|
|
17
|
-
# right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
18
|
-
right.fields_submit text: 'Submit'
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
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: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
+
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
8
|
+
form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
|
|
9
|
+
|
|
10
|
+
form.panels_split width: 'matchParent', content: ->(split) do
|
|
11
|
+
split.left childViews: ->(left) do
|
|
12
|
+
if params[:mode] == 'dialog'
|
|
13
|
+
left.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
split.right childViews: ->(right) do
|
|
17
|
+
# right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
18
|
+
right.fields_submit text: 'Submit'
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
name, _ = params.require(:user).values_at(:name)
|
|
2
|
-
json_ui_response json do |action|
|
|
3
|
-
if !name.present?
|
|
4
|
-
action.dialogs_alert message: 'Please enter name'
|
|
5
|
-
else
|
|
6
|
-
render "#{@path_prefix}/forms/alert_post_data", action: action
|
|
7
|
-
end
|
|
8
|
-
end
|
|
1
|
+
name, _ = params.require(:user).values_at(:name)
|
|
2
|
+
json_ui_response json do |action|
|
|
3
|
+
if !name.present?
|
|
4
|
+
action.dialogs_alert message: 'Please enter name'
|
|
5
|
+
else
|
|
6
|
+
render "#{@path_prefix}/forms/alert_post_data", action: action
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
json.title 'Forms'
|
|
2
|
-
|
|
3
|
-
page = json_ui_page json
|
|
4
|
-
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
|
-
|
|
6
|
-
page.scroll childViews: ->(scroll) do
|
|
7
|
-
scroll.panels_form \
|
|
8
|
-
url: json_ui_garage_url(path: 'forms/generic_post'),
|
|
9
|
-
method: 'post',
|
|
10
|
-
padding: glib_json_padding_body,
|
|
11
|
-
childViews: ->(form) do
|
|
12
|
-
form.spacer height: 20
|
|
13
|
-
form.h2 text: 'Check Group'
|
|
14
|
-
form.fields_checkGroup \
|
|
15
|
-
name: 'user[skills][]',
|
|
16
|
-
uncheckValue: 1,
|
|
17
|
-
childViews: ->(group) do
|
|
18
|
-
group.fields_check checkValue: 2, label: 'Game Development'
|
|
19
|
-
group.fields_check checkValue: 3, label: 'Web Development'
|
|
20
|
-
group.fields_check checkValue: 4, label: 'Mobile Development'
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
form.spacer height: 20
|
|
24
|
-
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
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.scroll childViews: ->(scroll) do
|
|
7
|
+
scroll.panels_form \
|
|
8
|
+
url: json_ui_garage_url(path: 'forms/generic_post'),
|
|
9
|
+
method: 'post',
|
|
10
|
+
padding: glib_json_padding_body,
|
|
11
|
+
childViews: ->(form) do
|
|
12
|
+
form.spacer height: 20
|
|
13
|
+
form.h2 text: 'Check Group'
|
|
14
|
+
form.fields_checkGroup \
|
|
15
|
+
name: 'user[skills][]',
|
|
16
|
+
uncheckValue: 1,
|
|
17
|
+
childViews: ->(group) do
|
|
18
|
+
group.fields_check checkValue: 2, label: 'Game Development'
|
|
19
|
+
group.fields_check checkValue: 3, label: 'Web Development'
|
|
20
|
+
group.fields_check checkValue: 4, label: 'Mobile Development'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
form.spacer height: 20
|
|
24
|
+
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
@@ -1,38 +1,38 @@
|
|
|
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
-
form.spacer height: 20
|
|
8
|
-
form.h2 text: 'Date'
|
|
9
|
-
form.label text: 'End date will be adjusted automatically when start date changes'
|
|
10
|
-
form.spacer height: 6
|
|
11
|
-
form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
|
|
12
|
-
form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
|
|
13
|
-
"+": [
|
|
14
|
-
{
|
|
15
|
-
"var": 'user[date_start]'
|
|
16
|
-
},
|
|
17
|
-
24 * 3600
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
form.spacer height: 20
|
|
22
|
-
form.h2 text: 'Date/Time'
|
|
23
|
-
form.label text: 'End date/time will be adjusted automatically when start date/time changes'
|
|
24
|
-
form.spacer height: 6
|
|
25
|
-
form.fields_datetime name: 'user[datetime_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01T01:00'
|
|
26
|
-
form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
|
|
27
|
-
"+": [
|
|
28
|
-
{
|
|
29
|
-
"var": 'user[datetime_start]'
|
|
30
|
-
},
|
|
31
|
-
3600
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
form.spacer height: 20
|
|
36
|
-
form.fields_submit text: 'Submit'
|
|
37
|
-
form.spacer height: 40
|
|
38
|
-
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
+
form.spacer height: 20
|
|
8
|
+
form.h2 text: 'Date'
|
|
9
|
+
form.label text: 'End date will be adjusted automatically when start date changes'
|
|
10
|
+
form.spacer height: 6
|
|
11
|
+
form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
|
|
12
|
+
form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
|
|
13
|
+
"+": [
|
|
14
|
+
{
|
|
15
|
+
"var": 'user[date_start]'
|
|
16
|
+
},
|
|
17
|
+
24 * 3600
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
form.spacer height: 20
|
|
22
|
+
form.h2 text: 'Date/Time'
|
|
23
|
+
form.label text: 'End date/time will be adjusted automatically when start date/time changes'
|
|
24
|
+
form.spacer height: 6
|
|
25
|
+
form.fields_datetime name: 'user[datetime_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01T01:00'
|
|
26
|
+
form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
|
|
27
|
+
"+": [
|
|
28
|
+
{
|
|
29
|
+
"var": 'user[datetime_start]'
|
|
30
|
+
},
|
|
31
|
+
3600
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
form.spacer height: 20
|
|
36
|
+
form.fields_submit text: 'Submit'
|
|
37
|
+
form.spacer height: 40
|
|
38
|
+
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
-
form.h2 text: 'Dynamic Group'
|
|
8
|
-
form.spacer height: 6
|
|
9
|
-
|
|
10
|
-
properties = [
|
|
11
|
-
[
|
|
12
|
-
{ name: 'question', value: 'Punctuality' },
|
|
13
|
-
{ name: 'type', value: 'rating' },
|
|
14
|
-
],
|
|
15
|
-
[
|
|
16
|
-
{ name: 'question', value: 'Quality of work' },
|
|
17
|
-
{ name: 'type', value: 'rating' },
|
|
18
|
-
{ name: 'enabled', value: '1', styleClasses: ['success'] },
|
|
19
|
-
],
|
|
20
|
-
[
|
|
21
|
-
{ name: 'question', value: 'Satisfied?' },
|
|
22
|
-
{ name: 'type', value: 'yes_no' },
|
|
23
|
-
]
|
|
24
|
-
]
|
|
25
|
-
form.fields_dynamicGroup width: 'matchParent', name: 'user[evaluation]', groupFieldProperties: properties, titlePrefix: 'Entry', content: ->(group) do
|
|
26
|
-
group.template padding: { left: 32 }, childViews: ->(template) do
|
|
27
|
-
template.spacer height: 10
|
|
28
|
-
template.fields_text width: 'matchParent', name: 'question', label: 'Question', placeholder: 'Question'
|
|
29
|
-
options = [ :rating, :yes_no ]
|
|
30
|
-
template.fields_select width: 'matchParent', name: 'type', label: 'Answer Type', placeholder: 'Answer Type', options: options.map { |o| { text: o.to_s.humanize, value: o } }
|
|
31
|
-
template.fields_check width: 'matchParent', name: 'enabled', label: 'Enable', checkValue: '1'
|
|
32
|
-
|
|
33
|
-
template.spacer height: 14
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
form.spacer height: 20
|
|
38
|
-
form.fields_submit text: '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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
+
form.h2 text: 'Dynamic Group'
|
|
8
|
+
form.spacer height: 6
|
|
9
|
+
|
|
10
|
+
properties = [
|
|
11
|
+
[
|
|
12
|
+
{ name: 'question', value: 'Punctuality' },
|
|
13
|
+
{ name: 'type', value: 'rating' },
|
|
14
|
+
],
|
|
15
|
+
[
|
|
16
|
+
{ name: 'question', value: 'Quality of work' },
|
|
17
|
+
{ name: 'type', value: 'rating' },
|
|
18
|
+
{ name: 'enabled', value: '1', styleClasses: ['success'] },
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
{ name: 'question', value: 'Satisfied?' },
|
|
22
|
+
{ name: 'type', value: 'yes_no' },
|
|
23
|
+
]
|
|
24
|
+
]
|
|
25
|
+
form.fields_dynamicGroup width: 'matchParent', name: 'user[evaluation]', groupFieldProperties: properties, titlePrefix: 'Entry', content: ->(group) do
|
|
26
|
+
group.template padding: { left: 32 }, childViews: ->(template) do
|
|
27
|
+
template.spacer height: 10
|
|
28
|
+
template.fields_text width: 'matchParent', name: 'question', label: 'Question', placeholder: 'Question'
|
|
29
|
+
options = [ :rating, :yes_no ]
|
|
30
|
+
template.fields_select width: 'matchParent', name: 'type', label: 'Answer Type', placeholder: 'Answer Type', options: options.map { |o| { text: o.to_s.humanize, value: o } }
|
|
31
|
+
template.fields_check width: 'matchParent', name: 'enabled', label: 'Enable', checkValue: '1'
|
|
32
|
+
|
|
33
|
+
template.spacer height: 14
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
form.spacer height: 20
|
|
38
|
+
form.fields_submit text: 'Submit'
|
|
39
|
+
end
|
|
@@ -1,24 +1,24 @@
|
|
|
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
-
form.h2 text: 'Dynamic Select'
|
|
8
|
-
form.spacer height: 6
|
|
9
|
-
form.label text: 'Dynamically loads options from the server. Useful for a huge list (e.g. 1000+ items)'
|
|
10
|
-
form.spacer height: 14
|
|
11
|
-
|
|
12
|
-
form.fields_dynamicSelect name: 'user[primary_language]', width: 'matchParent', label: 'Primary Language',
|
|
13
|
-
selectedOptions: [ { value: 'id3', text: 'Item 3' } ],
|
|
14
|
-
url: json_ui_garage_url(path: 'forms/dynamic_select_data')
|
|
15
|
-
|
|
16
|
-
form.spacer height: 14
|
|
17
|
-
form.fields_dynamicSelect name: 'user[preferred_languages][]', width: 'matchParent', label: 'Preferred Languages',
|
|
18
|
-
selectedOptions: [ { value: 'id3', text: 'Item 3' }, { value: 'id5', text: 'Item 5' } ],
|
|
19
|
-
url: json_ui_garage_url(path: 'forms/dynamic_select_data'),
|
|
20
|
-
multiple: true
|
|
21
|
-
|
|
22
|
-
form.spacer height: 14
|
|
23
|
-
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
24
|
-
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/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
|
|
7
|
+
form.h2 text: 'Dynamic Select'
|
|
8
|
+
form.spacer height: 6
|
|
9
|
+
form.label text: 'Dynamically loads options from the server. Useful for a huge list (e.g. 1000+ items)'
|
|
10
|
+
form.spacer height: 14
|
|
11
|
+
|
|
12
|
+
form.fields_dynamicSelect name: 'user[primary_language]', width: 'matchParent', label: 'Primary Language',
|
|
13
|
+
selectedOptions: [ { value: 'id3', text: 'Item 3' } ],
|
|
14
|
+
url: json_ui_garage_url(path: 'forms/dynamic_select_data')
|
|
15
|
+
|
|
16
|
+
form.spacer height: 14
|
|
17
|
+
form.fields_dynamicSelect name: 'user[preferred_languages][]', width: 'matchParent', label: 'Preferred Languages',
|
|
18
|
+
selectedOptions: [ { value: 'id3', text: 'Item 3' }, { value: 'id5', text: 'Item 5' } ],
|
|
19
|
+
url: json_ui_garage_url(path: 'forms/dynamic_select_data'),
|
|
20
|
+
multiple: true
|
|
21
|
+
|
|
22
|
+
form.spacer height: 14
|
|
23
|
+
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
24
|
+
end
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
sleep 0.5
|
|
3
|
-
|
|
4
|
-
page = params[:page].to_i
|
|
5
|
-
if page < 2
|
|
6
|
-
json.nextPageUrl json_ui_garage_url(path: 'forms/dynamic_select_data', page: page + 1)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
# json.rows do
|
|
10
|
-
|
|
11
|
-
# count_per_page = 20
|
|
12
|
-
# count_per_page.times do |i|
|
|
13
|
-
# json.child! do
|
|
14
|
-
# index = page * count_per_page + i
|
|
15
|
-
# json.template 'thumbnail'
|
|
16
|
-
# json.title "City #{index} (#{params[:q]})"
|
|
17
|
-
# json.subtitle "State #{index}"
|
|
18
|
-
# json.subsubtitle "Country #{index}"
|
|
19
|
-
# json.value "id#{index}"
|
|
20
|
-
# json.text "Item #{index}"
|
|
21
|
-
# end
|
|
22
|
-
# end
|
|
23
|
-
# end
|
|
24
|
-
|
|
25
|
-
section = json_ui_section json
|
|
26
|
-
section.rows builder: ->(row) do
|
|
27
|
-
count_per_page = 20
|
|
28
|
-
count_per_page.times do |i|
|
|
29
|
-
index = page * count_per_page + i
|
|
30
|
-
row.custom title: "City #{index} (#{params[:q]})",
|
|
31
|
-
subtitle: "State #{index}",
|
|
32
|
-
subsubtitle: "Country #{index}",
|
|
33
|
-
extra: {
|
|
34
|
-
value: "id#{index}",
|
|
35
|
-
text: "Item #{index}"
|
|
36
|
-
}
|
|
37
|
-
end
|
|
38
|
-
end
|
|
1
|
+
|
|
2
|
+
sleep 0.5
|
|
3
|
+
|
|
4
|
+
page = params[:page].to_i
|
|
5
|
+
if page < 2
|
|
6
|
+
json.nextPageUrl json_ui_garage_url(path: 'forms/dynamic_select_data', page: page + 1)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
# json.rows do
|
|
10
|
+
|
|
11
|
+
# count_per_page = 20
|
|
12
|
+
# count_per_page.times do |i|
|
|
13
|
+
# json.child! do
|
|
14
|
+
# index = page * count_per_page + i
|
|
15
|
+
# json.template 'thumbnail'
|
|
16
|
+
# json.title "City #{index} (#{params[:q]})"
|
|
17
|
+
# json.subtitle "State #{index}"
|
|
18
|
+
# json.subsubtitle "Country #{index}"
|
|
19
|
+
# json.value "id#{index}"
|
|
20
|
+
# json.text "Item #{index}"
|
|
21
|
+
# end
|
|
22
|
+
# end
|
|
23
|
+
# end
|
|
24
|
+
|
|
25
|
+
section = json_ui_section json
|
|
26
|
+
section.rows builder: ->(row) do
|
|
27
|
+
count_per_page = 20
|
|
28
|
+
count_per_page.times do |i|
|
|
29
|
+
index = page * count_per_page + i
|
|
30
|
+
row.custom title: "City #{index} (#{params[:q]})",
|
|
31
|
+
subtitle: "State #{index}",
|
|
32
|
+
subsubtitle: "Country #{index}",
|
|
33
|
+
extra: {
|
|
34
|
+
value: "id#{index}",
|
|
35
|
+
text: "Item #{index}"
|
|
36
|
+
}
|
|
37
|
+
end
|
|
38
|
+
end
|