glib-web 5.0.4 → 5.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/helpers/glib/json_ui/view_builder/fields.rb +6 -2
- data/app/models/concerns/glib/enum_symbolization.rb +26 -0
- data/app/models/glib/application_record.rb +1 -0
- data/app/views/json_ui/garage/test_page/_header.json.jbuilder +31 -28
- data/app/views/json_ui/garage/test_page/auth.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/auto_validate.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/browsers.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/calendar.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/carousel.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/charts.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/column.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/commands.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/components.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/cookies.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/custom.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/dialog.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/dirty_state.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_captcha.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_creditCard.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_date_time.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_dynamicSelect.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_location.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_otp.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_phone.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_radio.json.jbuilder +293 -0
- data/app/views/json_ui/garage/test_page/fields_rating.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_richText.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_select.json.jbuilder +3 -2
- data/app/views/json_ui/garage/test_page/fields_sign.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_stripeExternalAccount.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_stripeToken.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_text.json.jbuilder +312 -0
- data/app/views/json_ui/garage/test_page/fields_timer.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/fields_upload.json.jbuilder +66 -4
- data/app/views/json_ui/garage/test_page/fields_url_fragment.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/flow.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/form.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/form_dynamic.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/forms.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/grid.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/horizontal.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/http.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/image.json.jbuilder +26 -2
- data/app/views/json_ui/garage/test_page/lifecycle.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/list.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/list_editable.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/lists_append.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/logics_set.json.jbuilder +0 -1
- data/app/views/json_ui/garage/test_page/multimedia_video.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/pagination.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/panels.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/panels_bulkEdit2.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/popovers.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/progressCircle.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/responsive.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/scroll.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/selectable.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/sheets.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/snackbars.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/split.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/storage_items.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/switch.json.jbuilder +56 -0
- data/app/views/json_ui/garage/test_page/tabBar.json.jbuilder +144 -0
- data/app/views/json_ui/garage/test_page/table.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/timeline.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/timeouts.json.jbuilder +9 -3
- data/app/views/json_ui/garage/test_page/ul.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/vertical.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/web.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/window.json.jbuilder +2 -1
- data/app/views/json_ui/garage/test_page/windows.json.jbuilder +2 -1
- data/lib/glib/json_crawler/router.rb +39 -0
- data/lib/glib/test_helpers.rb +68 -2
- metadata +6 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f17a1a4daae7e40a97af1832e97b2d8c9dd67310f5c633cbdeb4ab3dd5d5d46a
|
|
4
|
+
data.tar.gz: 669a156ca671210d00fb34383fc99bdfe9089e69470709d733b4a686922b4291
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e707bdf53ababa1afe4b53fa4a8d6d0f6c7bf4db2730a18fc576cf58fd7c7d16e3081a98a488c18a5c8d6ee953edaa44c4a8c2f4e53840ae367f44d735435e2d
|
|
7
|
+
data.tar.gz: f88d6a7ddec4a1c364396579a3b56eaaf82e98dd32a16a5d2f0595c0ea0d79dbfa63ab94df4ccefefd47aa6a4b12b601793a67aed5d51d22ee8c2670ed8993c0
|
|
@@ -641,6 +641,7 @@ class Glib::JsonUi::ViewBuilder
|
|
|
641
641
|
def created
|
|
642
642
|
super
|
|
643
643
|
|
|
644
|
+
json.searchable true
|
|
644
645
|
json.options glib_time_zone_options
|
|
645
646
|
end
|
|
646
647
|
end
|
|
@@ -761,7 +762,8 @@ class Glib::JsonUi::ViewBuilder
|
|
|
761
762
|
action :onFinishUpload
|
|
762
763
|
bool :multiple
|
|
763
764
|
hash :placeholderView, required: [:type, :width, :height], optional: [:url]
|
|
764
|
-
hash :inputView, optional: [:
|
|
765
|
+
hash :inputView, optional: [:files, :variant]
|
|
766
|
+
hash :clipboardView, optional: [:icon]
|
|
765
767
|
|
|
766
768
|
def multiProgressView(values)
|
|
767
769
|
@multi_progress = values
|
|
@@ -775,7 +777,9 @@ class Glib::JsonUi::ViewBuilder
|
|
|
775
777
|
@hint ||= I18n.t('glib.multi_upload.hint', default: nil)
|
|
776
778
|
|
|
777
779
|
if @prop && context && @multi_progress
|
|
778
|
-
|
|
780
|
+
value = context.field_value(@prop, collect_ids: false)
|
|
781
|
+
attachments = value.is_a?(::ActiveStorage::Attached::One) ? Array.wrap(value.attachment) : value.to_a
|
|
782
|
+
@multi_progress['files'] ||= attachments.map { |file| { name: file.blob&.filename, signed_id: file.signed_id, url: url_for(file) } }
|
|
779
783
|
end
|
|
780
784
|
|
|
781
785
|
if @multi_progress
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Glib
|
|
2
|
+
# Class-level helper that overrides one or more enum readers to return a
|
|
3
|
+
# symbol instead of Rails' default string form. Lets callers compare with
|
|
4
|
+
# `record.status == :active` without having to remember which form they're
|
|
5
|
+
# holding (see backend/01a_defensive_programming.md item 7).
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
#
|
|
9
|
+
# class Order < ApplicationRecord
|
|
10
|
+
# enum :payment_status, { draft: 0, pending: 1, finalized: 2 }
|
|
11
|
+
# enum :finalize_intent, { unknown: 0, charge: 1 }, prefix: true
|
|
12
|
+
#
|
|
13
|
+
# enum_symbolize :payment_status, :finalize_intent
|
|
14
|
+
# end
|
|
15
|
+
module EnumSymbolization
|
|
16
|
+
extend ActiveSupport::Concern
|
|
17
|
+
|
|
18
|
+
class_methods do
|
|
19
|
+
def enum_symbolize(*attrs)
|
|
20
|
+
attrs.each do |attr|
|
|
21
|
+
define_method(attr) { super()&.to_sym }
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -23,12 +23,14 @@ nav_groups = {
|
|
|
23
23
|
'Forms' => [
|
|
24
24
|
'auto_validate',
|
|
25
25
|
'dirty_state',
|
|
26
|
+
'fields_text',
|
|
26
27
|
'fields_select',
|
|
27
28
|
'fields_dynamicSelect',
|
|
28
29
|
'fields_date_time',
|
|
29
30
|
'fields_location',
|
|
30
31
|
'fields_phone',
|
|
31
32
|
'fields_otp',
|
|
33
|
+
'fields_radio',
|
|
32
34
|
'fields_rating',
|
|
33
35
|
'fields_richText',
|
|
34
36
|
'fields_sign',
|
|
@@ -59,6 +61,7 @@ nav_groups = {
|
|
|
59
61
|
'responsive',
|
|
60
62
|
'scroll',
|
|
61
63
|
'split',
|
|
64
|
+
'tabBar',
|
|
62
65
|
'timeline',
|
|
63
66
|
'ul',
|
|
64
67
|
'vertical',
|
|
@@ -72,40 +75,40 @@ nav_groups = {
|
|
|
72
75
|
'charts',
|
|
73
76
|
'image',
|
|
74
77
|
'multimedia_video',
|
|
75
|
-
'progressCircle'
|
|
78
|
+
'progressCircle',
|
|
79
|
+
'switch'
|
|
76
80
|
]
|
|
77
81
|
}
|
|
78
82
|
|
|
79
83
|
current_path = params[:path].to_s
|
|
80
84
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
page.navBar height: 44, backgroundColor: '#a8c4e3', color: '#ffffff', showTitle: true, rightButtons: ->(menu) do
|
|
86
|
+
menu.button icon: { name: 'refresh' }, onClick: ->(action) do
|
|
87
|
+
action.windows_reload
|
|
88
|
+
end
|
|
89
|
+
menu.button icon: { name: 'open_in_new' }, onClick: ->(action) do
|
|
90
|
+
action.windows_open url: json_ui_garage_current_url(step: params[:step].to_i + 1)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
page.leftDrawer content: ->(drawer) do
|
|
95
|
+
drawer.header childViews: ->(header) do
|
|
96
|
+
header.button text: 'Test Page', styleClasses: ['link', 'logo'], onClick: ->(action) do
|
|
97
|
+
action.windows_open url: json_ui_garage_url(path: 'test_page/form')
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
drawer.rows builder: ->(menu) do
|
|
85
102
|
nav_groups.each_with_index do |(group_name, items), group_index|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
is_current = current_path == nav_path
|
|
94
|
-
if index != 0
|
|
95
|
-
flow.spacer width: 8
|
|
96
|
-
end
|
|
97
|
-
label_options = {
|
|
98
|
-
text: nav,
|
|
99
|
-
onClick: ->(action) do
|
|
100
|
-
action.windows_open url: json_ui_garage_url(path: nav_path)
|
|
101
|
-
end
|
|
102
|
-
}
|
|
103
|
-
label_options[:styleClass] = 'font-weight-bold' if is_current
|
|
104
|
-
flow.label(**label_options)
|
|
105
|
-
end
|
|
103
|
+
menu.divider if group_index > 0
|
|
104
|
+
menu.label text: group_name
|
|
105
|
+
items.each do |nav|
|
|
106
|
+
nav_path = "test_page/#{nav}"
|
|
107
|
+
is_current = current_path == nav_path
|
|
108
|
+
menu.button text: nav, styleClasses: (is_current ? ['font-weight-bold'] : []), onClick: ->(action) do
|
|
109
|
+
action.windows_open url: json_ui_garage_url(path: nav_path)
|
|
106
110
|
end
|
|
107
|
-
|
|
108
|
-
res.spacer height: 4 if group_index < nav_groups.size - 1
|
|
111
|
+
end
|
|
109
112
|
end
|
|
110
113
|
end
|
|
111
|
-
|
|
114
|
+
end
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Auth)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Form)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
model = Glib::DummyJobApplication.new(
|
|
9
10
|
name: 'John Deo',
|
|
10
11
|
accept: '0',
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Browsers)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Calendar)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,8 +2,9 @@ json.title 'Test Page (Carousel)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body childViews: ->(body) do
|
|
6
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
7
8
|
|
|
8
9
|
body.panels_responsive padding: glib_json_padding_body, childViews: ->(res) do
|
|
9
10
|
res.h2 text: 'Overview'
|
|
@@ -68,8 +68,9 @@ line_series_churn = [
|
|
|
68
68
|
|
|
69
69
|
page = json_ui_page json
|
|
70
70
|
|
|
71
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
72
|
+
|
|
71
73
|
page.body childViews: ->(body) do
|
|
72
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
73
74
|
|
|
74
75
|
body.panels_responsive padding: glib_json_padding_body, childViews: ->(res) do
|
|
75
76
|
res.h2 text: 'Charts'
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Column)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Commands)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Components)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Cookies)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Custom)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_responsive(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -4,9 +4,10 @@ json.title 'Test Page (Form)'
|
|
|
4
4
|
|
|
5
5
|
page = json_ui_page json
|
|
6
6
|
|
|
7
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
8
|
+
|
|
7
9
|
page.body(
|
|
8
10
|
childViews: ->(body) do
|
|
9
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
10
11
|
body.panels_responsive(
|
|
11
12
|
padding: glib_json_padding_body,
|
|
12
13
|
childViews: ->(res) do
|
|
@@ -4,8 +4,9 @@ json.title 'Test Page (Dirty state)'
|
|
|
4
4
|
|
|
5
5
|
page = json_ui_page json
|
|
6
6
|
|
|
7
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
8
|
+
|
|
7
9
|
page.body childViews: ->(body) do
|
|
8
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
9
10
|
|
|
10
11
|
body.panels_form padding: glib_json_padding_body, childViews: ->(form) do
|
|
11
12
|
form.h2 text: 'Dirty state'
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Actions)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
body.panels_form(
|
|
9
10
|
padding: glib_json_padding_body,
|
|
10
11
|
childViews: ->(res) do
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Captcha)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Credit Card)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Date/Datetime)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Dynamic Select)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Location)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields OTP)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|
|
@@ -2,9 +2,10 @@ json.title 'Test Page (Fields Phone)'
|
|
|
2
2
|
|
|
3
3
|
page = json_ui_page json
|
|
4
4
|
|
|
5
|
+
render 'json_ui/garage/test_page/header', json: json, page: page
|
|
6
|
+
|
|
5
7
|
page.body(
|
|
6
8
|
childViews: ->(body) do
|
|
7
|
-
render 'json_ui/garage/test_page/header', view: body
|
|
8
9
|
|
|
9
10
|
body.panels_responsive(
|
|
10
11
|
padding: glib_json_padding_body,
|