glib-web 4.9.0 → 4.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
- data/app/controllers/concerns/glib/json/traversal.rb +4 -2
- data/app/controllers/glib/errors_controller.rb +7 -0
- data/app/helpers/glib/app_feature_support_helper.rb +0 -0
- data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
- data/app/helpers/glib/json_ui/abstract_builder.rb +1 -1
- data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
- data/app/helpers/glib/json_ui/analytics_helper.rb +0 -0
- data/app/helpers/glib/json_ui/generic_builders.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder/panels.rb +8 -7
- data/app/models/glib/active_storage/attachment.rb +0 -0
- data/app/models/glib/active_storage/blob.rb +0 -0
- data/app/models/glib/dynamic_text_record.rb +0 -0
- data/app/models/glib/text.rb +0 -0
- data/app/validators/email_typo_validator.rb +0 -0
- data/app/validators/email_validator.rb +0 -0
- data/app/validators/url_validator.rb +0 -0
- data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/_partial_update_execute.json.jbuilder +1 -1
- data/app/views/json_ui/garage/forms/bulk_edit_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +3 -1
- data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/partial_update.json.jbuilder +3 -0
- data/app/views/json_ui/garage/forms/partial_update_response.json.jbuilder +4 -0
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +21 -0
- data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +79 -9
- data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/update_options.json.jbuilder +13 -0
- data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
- data/app/views/json_ui/garage/home/slow.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +0 -0
- data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
- data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/custom_style_class.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/redirect_onload.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/flow.json.jbuilder +22 -14
- data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
- data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/panel_content.json.jbuilder +25 -57
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/controls.json.jbuilder +1 -1
- data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/multimedia.json.jbuilder +0 -0
- data/app/views/layouts/json_ui/no_custom.html.erb +0 -0
- data/config/routes.rb +1 -0
- data/lib/generators/glib/install_generator.rb +0 -0
- data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
- data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
- data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
- data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
- data/lib/generators/templates/database.yml +0 -0
- data/lib/generators/templates/dynamic_text.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +0 -0
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/json_crawler/action_crawler.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/dialogs_alert.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
- data/lib/glib/json_crawler/coverage.rb +0 -0
- data/lib/glib/value.rb +0 -0
- data/lib/glib/version.rb +0 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ddb48299bbf1685aed5b8fd994ca3ffc8eba555e097cc77dbd38cb7b48707e6c
|
4
|
+
data.tar.gz: 8569bc0e88d99f4dae7e1d2be733168e2ee7f0acd499e565a5fef0cca2a50ca9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 328b8d4f45b8cd8a0e99029f5edfe0e20469e860a27282cf26a7173a7538b8bfb2310ba8b877c53ac05ac963c395f32767c69e25f568a7c67db262ea58ccc144
|
7
|
+
data.tar.gz: 5f1b8c282c4c82aa77474304f584e22426188b04135af2387da8ee0099cc2eef85e527333966d439fa511aa14ef5a32d6bf3301d040ed9eb38e9f79066fe4991
|
File without changes
|
@@ -99,11 +99,13 @@ module Glib::Json::Traversal
|
|
99
99
|
end
|
100
100
|
|
101
101
|
def current_deferred_actions
|
102
|
-
|
102
|
+
# Add "|| []" because it broke on hz
|
103
|
+
@deferred_actions.last || []
|
103
104
|
end
|
104
105
|
|
105
106
|
def current_component_registry
|
106
|
-
|
107
|
+
# Add "|| {}" because it broke on hz
|
108
|
+
@component_registries.last || {}
|
107
109
|
end
|
108
110
|
|
109
111
|
def defer_action(action_crawler, target_id)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -494,6 +494,14 @@ class Glib::JsonUi::ViewBuilder
|
|
494
494
|
|
495
495
|
class Flow < View
|
496
496
|
hash :innerPadding, optional: [:top, :right, :bottom, :left, :x, :y]
|
497
|
+
|
498
|
+
hash :xxl, optional: [:gap, :padding]
|
499
|
+
hash :xl, optional: [:gap, :padding]
|
500
|
+
hash :lg, optional: [:gap, :padding]
|
501
|
+
hash :md, optional: [:gap, :padding]
|
502
|
+
hash :sm, optional: [:gap, :padding]
|
503
|
+
hash :xs, optional: [:gap, :padding]
|
504
|
+
|
497
505
|
views :childViews
|
498
506
|
|
499
507
|
required :innerPadding
|
@@ -564,13 +572,6 @@ class Glib::JsonUi::ViewBuilder
|
|
564
572
|
# end
|
565
573
|
end
|
566
574
|
|
567
|
-
class Pagination < View
|
568
|
-
int :length
|
569
|
-
int :value
|
570
|
-
action :onChange
|
571
|
-
string :paramNameForFieldName
|
572
|
-
end
|
573
|
-
|
574
575
|
module ModelPanel
|
575
576
|
attr_reader :model_name # See Panels::Form.field_name
|
576
577
|
attr_reader :assoc_order_index
|
File without changes
|
File without changes
|
File without changes
|
data/app/models/glib/text.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
name = params[:name]
|
2
|
-
action.components_replace targetId: 'greeting',
|
2
|
+
action.components_replace targetId: 'greeting', newView: ->(update) do
|
3
3
|
update.panels_vertical childViews: ->(vertical) do
|
4
4
|
name = params[:name]
|
5
5
|
vertical.fields_hidden name: 'name', value: name
|
File without changes
|
@@ -35,7 +35,9 @@ page.scroll childViews: ->(scroll) do
|
|
35
35
|
form.spacer height: 20
|
36
36
|
form.h2 text: 'Check without group'
|
37
37
|
form.spacer height: 4
|
38
|
-
form.fields_check name: 'user[
|
38
|
+
form.fields_check name: 'user[choice][]', label: 'Choice 1', checkValue: 'choice_1'
|
39
|
+
form.fields_check name: 'user[choice][]', label: 'Choice 2', checkValue: 'choice_2'
|
40
|
+
|
39
41
|
|
40
42
|
form.spacer height: 20
|
41
43
|
form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
File without changes
|
File without changes
|
@@ -38,6 +38,9 @@ page.scroll childViews: ->(scroll) do
|
|
38
38
|
vertical.button text: 'Update', onClick: ->(action) do
|
39
39
|
action.http_get url: json_ui_garage_url(path: 'forms/partial_update_response'), formData: { name: 'John' }, historyUrl: json_ui_garage_url(path: 'forms/partial_update', name: 'John')
|
40
40
|
end
|
41
|
+
vertical.button text: 'Update with retry', onClick: ->(action) do
|
42
|
+
action.http_get url: json_ui_garage_url(path: 'forms/partial_update_response', error: true)
|
43
|
+
end
|
41
44
|
vertical.spacer height: 18
|
42
45
|
end
|
43
46
|
|
@@ -129,6 +129,27 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
|
|
129
129
|
value: ['ja', 'de'],
|
130
130
|
multiple: true
|
131
131
|
|
132
|
+
form.spacer height: 6
|
133
|
+
form.label text: 'Options from http/get'
|
134
|
+
form.spacer height: 6
|
135
|
+
|
136
|
+
form.fields_select \
|
137
|
+
name: 'user[animal_or_plant]',
|
138
|
+
width: 'matchParent',
|
139
|
+
label: 'Animal or Plant',
|
140
|
+
options: [{ text: 'Animal', value: 'animal' }, { text: 'Plant', value: 'plant' }],
|
141
|
+
value: 'animal',
|
142
|
+
onChangeAndLoad: ->(action) do
|
143
|
+
action.http_get url: json_ui_garage_url(path: 'forms/update_options')
|
144
|
+
end
|
145
|
+
|
146
|
+
form.fields_select \
|
147
|
+
id: 'options',
|
148
|
+
name: 'user[choose_animal_or_plant]',
|
149
|
+
width: 'matchParent',
|
150
|
+
label: 'Choose',
|
151
|
+
options: []
|
152
|
+
|
132
153
|
form.spacer height: 20
|
133
154
|
form.h2 text: 'Select fields with empty values'
|
134
155
|
form.spacer height: 6
|
@@ -93,6 +93,72 @@ page.form \
|
|
93
93
|
form.spacer height: 10
|
94
94
|
form.label id: 'label22', text: 'Is Checked22'
|
95
95
|
|
96
|
+
form.spacer height: 20
|
97
|
+
form.h1 text: 'Radio inside panels'
|
98
|
+
|
99
|
+
form.fields_radioGroup \
|
100
|
+
name: 'user[radio9]',
|
101
|
+
value: 'no',
|
102
|
+
width: 'matchParent',
|
103
|
+
onChangeAndLoad: ->(action) do
|
104
|
+
action.runMultiple childActions: ->(saction) do
|
105
|
+
saction.logics_set targetId: 'radiolabel1', conditionalData: {
|
106
|
+
displayed: {
|
107
|
+
"==": [
|
108
|
+
{
|
109
|
+
"var": 'user[radio9]'
|
110
|
+
},
|
111
|
+
'yes'
|
112
|
+
]
|
113
|
+
}
|
114
|
+
}
|
115
|
+
saction.logics_set targetId: 'radiolabel2', conditionalData: {
|
116
|
+
displayed: {
|
117
|
+
"==": [
|
118
|
+
{
|
119
|
+
"var": 'user[radio9]'
|
120
|
+
},
|
121
|
+
'no'
|
122
|
+
]
|
123
|
+
}
|
124
|
+
}
|
125
|
+
end
|
126
|
+
end,
|
127
|
+
childViews: ->(group) do
|
128
|
+
group.panels_responsive width: 'matchParent', childViews: ->(res) do
|
129
|
+
|
130
|
+
res.panels_column width: 'matchParent', lg: { cols: 4 }, childViews: ->(column) do
|
131
|
+
column.fields_radio\
|
132
|
+
width: 350,
|
133
|
+
value: 'yes', label: 'Yes', icon: { template: 'featured', name: 'edit', size: 40, color: '#d1d1d1' },
|
134
|
+
onClick: ->(action) do
|
135
|
+
action.windows_openWeb url: 'http://www.google.com'
|
136
|
+
end
|
137
|
+
end
|
138
|
+
res.panels_column width: 'matchParent', lg: { cols: 4 }, childViews: ->(column) do
|
139
|
+
column.fields_radio\
|
140
|
+
width: 350,
|
141
|
+
value: 'no', label: 'No',
|
142
|
+
image: { template: 'featured', url: 'https://cdn.pixabay.com/photo/2020/08/05/13/12/eco-5465432_1280.png', width: 80, height: 80 },
|
143
|
+
onClick: ->(action) do
|
144
|
+
action.windows_openWeb url: 'http://www.google.com'
|
145
|
+
end
|
146
|
+
end
|
147
|
+
res.panels_column width: 'matchParent', lg: { cols: 4 }, childViews: ->(column) do
|
148
|
+
column.fields_radio\
|
149
|
+
value: 'idk', label: 'Not Sure',
|
150
|
+
image: { template: 'thumbnail', url: 'https://cdn.pixabay.com/photo/2020/08/05/13/12/eco-5465432_1280.png', width: 24, height: 24 }
|
151
|
+
column.fields_radio value: '', label: 'Empty'
|
152
|
+
end
|
153
|
+
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
|
158
|
+
form.spacer height: 10
|
159
|
+
form.label id: 'radiolabel1', text: 'Yes'
|
160
|
+
form.label id: 'radiolabel2', text: 'No'
|
161
|
+
|
96
162
|
form.spacer height: 20
|
97
163
|
form.h1 text: 'Radio Group'
|
98
164
|
form.fields_radioGroup \
|
@@ -123,15 +189,19 @@ page.form \
|
|
123
189
|
end
|
124
190
|
end,
|
125
191
|
childViews: ->(group) do
|
126
|
-
|
127
|
-
|
128
|
-
group.
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
192
|
+
# TODO: Fix a bug where if the fields_radio is wrapped in panels_horizontal,
|
193
|
+
# it cannot be selected.
|
194
|
+
group.panels_horizontal childViews: ->(horizontal) do
|
195
|
+
horizontal.fields_radio\
|
196
|
+
value: 'show', label: 'Show', icon: { template: 'featured', name: 'edit', size: 40, color: '#d1d1d1' }
|
197
|
+
horizontal.fields_radio\
|
198
|
+
value: 'hide', label: 'Hide',
|
199
|
+
image: { template: 'featured', url: 'https://cdn.pixabay.com/photo/2020/08/05/13/12/eco-5465432_1280.png', width: 80, height: 80 }
|
200
|
+
horizontal.fields_radio\
|
201
|
+
value: 'no', label: 'No',
|
202
|
+
image: { template: 'thumbnail', url: 'https://cdn.pixabay.com/photo/2020/08/05/13/12/eco-5465432_1280.png', width: 24, height: 24 }
|
203
|
+
horizontal.fields_radio value: '', label: 'Empty'
|
204
|
+
end
|
135
205
|
end
|
136
206
|
form.spacer height: 10
|
137
207
|
form.label id: 'label6', text: 'Chosen'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
sleep 0.5
|
2
|
+
|
3
|
+
value = params.require(:user).to_unsafe_h['animal_or_plant']
|
4
|
+
options = {
|
5
|
+
'animal' => ['cat', 'dog', 'bird'].map { |v| { text: v.humanize, value: v } },
|
6
|
+
'plant' => ['herb', 'rice', 'vegetable'].map { |v| { text: v.humanize, value: v } }
|
7
|
+
}[value]
|
8
|
+
|
9
|
+
json_ui_response_with_view json do |action|
|
10
|
+
action.components_set targetId: 'options', data: {
|
11
|
+
options: options
|
12
|
+
}
|
13
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -5,11 +5,17 @@ render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
5
5
|
|
6
6
|
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
7
7
|
scroll.h1 text: 'Show/hide'
|
8
|
-
scroll.panels_flow
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
scroll.panels_flow\
|
9
|
+
sm: { gap: { y: 4, x: 6 }, padding: { all: 16 } },
|
10
|
+
md: { gap: { y: 8, x: 8 }, padding: { x: 30, y: 30 } },
|
11
|
+
xs: { gap: { y: 2, x: 2 }, padding: { left: 10, bottom: 8 } },
|
12
|
+
lg: { gap: { all: 32 } },
|
13
|
+
id: 'flow1', width: 300,
|
14
|
+
innerPadding: { top: 0 }, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
15
|
+
panel.button text: '1'
|
16
|
+
panel.button text: '2'
|
17
|
+
panel.button text: '3'
|
18
|
+
end
|
13
19
|
scroll.button text: 'show', onClick: ->(action) do
|
14
20
|
action.components_set targetId: 'flow1', data: { displayed: true }
|
15
21
|
end
|
@@ -18,15 +24,17 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
18
24
|
end
|
19
25
|
|
20
26
|
scroll.h1 text: 'Basic'
|
21
|
-
scroll.panels_flow
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
scroll.panels_flow\
|
28
|
+
md: { padding: { all: 8 } },
|
29
|
+
width: 300, innerPadding: { top: 0 }, backgroundColor: '#b3bac2', childViews: ->(panel) do
|
30
|
+
panel.button text: '1'
|
31
|
+
panel.button text: '2'
|
32
|
+
panel.button text: '3'
|
33
|
+
panel.button text: '4'
|
34
|
+
panel.button text: '5'
|
35
|
+
panel.button text: '6'
|
36
|
+
panel.button text: '7'
|
37
|
+
end
|
30
38
|
|
31
39
|
scroll.label text: "\n"
|
32
40
|
scroll.h1 text: 'Spacers'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -3,66 +3,34 @@ json.title 'Tables'
|
|
3
3
|
page = json_ui_page json
|
4
4
|
render "#{@path_prefix}/nav_menu", json: json, page: page
|
5
5
|
|
6
|
-
page.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
check_ids = (0..2).map { |i| "item_#{i}" }
|
14
|
-
action.logics_set targetIds: check_ids, conditionalData: {
|
15
|
-
value: { 'var': 'check_all' }
|
16
|
-
}
|
17
|
-
end
|
18
|
-
end
|
19
|
-
header.label text: 'Vertical'
|
20
|
-
header.label text: 'Horizontal'
|
21
|
-
header.label text: 'Unordered List'
|
22
|
-
end
|
23
|
-
|
24
|
-
items = [1, 2, 3]
|
25
|
-
section.rows objects: items, builder: ->(row, item, index) do
|
26
|
-
row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
|
27
|
-
cell.panels_horizontal childViews: ->(horizontal) do
|
28
|
-
horizontal.fields_check \
|
29
|
-
id: "item_#{index}",
|
30
|
-
name: 'user[items][]',
|
31
|
-
checkValue: index, # In the real-world, this is going to be the ID of a DB record.
|
32
|
-
onChange: ->(action) do
|
33
|
-
# TODO: Fix fields_check so it can support arrays
|
34
|
-
action.logics_set targetId: 'submit_button', conditionalData: {
|
35
|
-
text: {
|
36
|
-
'printf': [
|
37
|
-
'Submit {0} items',
|
38
|
-
{ 'countNonNull': [{ 'var': 'user[items]' }] }
|
39
|
-
]
|
40
|
-
}
|
41
|
-
}
|
42
|
-
end
|
43
|
-
end
|
6
|
+
page.table styleClass: 'table--grid', sections: [
|
7
|
+
->(section) do
|
8
|
+
section.header cellViews: ->(header) do
|
9
|
+
header.label text: 'Vertical'
|
10
|
+
header.label text: 'Horizontal'
|
11
|
+
header.label text: 'Unordered List'
|
12
|
+
end
|
44
13
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
14
|
+
items = [1, 2, 3]
|
15
|
+
section.rows objects: items, builder: ->(row, item, index) do
|
16
|
+
row.default colStyles: [{ width: 200, backgroundColor: '#eeeeee' }], cellViews: ->(cell) do
|
17
|
+
cell.panels_vertical childViews: ->(vertical) do
|
18
|
+
vertical.h3 text: "Title #{item}"
|
19
|
+
vertical.spacer height: 4
|
20
|
+
vertical.label text: "Subtitle #{item}"
|
21
|
+
end
|
50
22
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
23
|
+
cell.panels_horizontal childViews: ->(vertical) do
|
24
|
+
vertical.label text: "Left #{item}"
|
25
|
+
vertical.spacer width: 10
|
26
|
+
vertical.label text: "Right #{item}"
|
27
|
+
end
|
56
28
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
end
|
61
|
-
end
|
29
|
+
cell.panels_ul childViews: ->(ul) do
|
30
|
+
ul.label text: "Item A#{item}"
|
31
|
+
ul.label text: "Item B#{item}"
|
62
32
|
end
|
63
33
|
end
|
64
|
-
|
65
|
-
|
66
|
-
form.fields_submit id: 'submit_button', text: 'Submit'
|
34
|
+
end
|
67
35
|
end
|
68
|
-
|
36
|
+
]
|
File without changes
|
@@ -39,7 +39,7 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
39
39
|
dialog.body padding: glib_json_padding_body, childViews: ->(view) do
|
40
40
|
view.panels_responsive styleClass: 'popover-menu', width: 200, childViews: ->(res) do
|
41
41
|
res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
|
42
|
-
saction.
|
42
|
+
saction.windows_open url: 'http://localhost:3000/glib/json_ui_garage?path=pages%2Findex'
|
43
43
|
end
|
44
44
|
res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
|
45
45
|
saction.popovers_close key: 'menu'
|
File without changes
|
File without changes
|
File without changes
|
data/config/routes.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/glib/dynamic_text.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/glib/value.rb
CHANGED
File without changes
|
data/lib/glib/version.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- app/controllers/concerns/glib/json/traversal.rb
|
101
101
|
- app/controllers/concerns/glib/json/ui.rb
|
102
102
|
- app/controllers/concerns/glib/json/validation.rb
|
103
|
+
- app/controllers/glib/errors_controller.rb
|
103
104
|
- app/controllers/glib/glib_direct_uploads_controller.rb
|
104
105
|
- app/controllers/glib/home_controller.rb
|
105
106
|
- app/helpers/glib/app_feature_support_helper.rb
|
@@ -234,6 +235,7 @@ files:
|
|
234
235
|
- app/views/json_ui/garage/forms/submit_on_change.json.jbuilder
|
235
236
|
- app/views/json_ui/garage/forms/text_validation.json.jbuilder
|
236
237
|
- app/views/json_ui/garage/forms/timers.json.jbuilder
|
238
|
+
- app/views/json_ui/garage/forms/update_options.json.jbuilder
|
237
239
|
- app/views/json_ui/garage/home/blank.json.jbuilder
|
238
240
|
- app/views/json_ui/garage/home/index.json.jbuilder
|
239
241
|
- app/views/json_ui/garage/home/slow.json.jbuilder
|
@@ -386,8 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
386
388
|
- !ruby/object:Gem::Version
|
387
389
|
version: '0'
|
388
390
|
requirements: []
|
389
|
-
|
390
|
-
rubygems_version: 2.7.6
|
391
|
+
rubygems_version: 3.4.6
|
391
392
|
signing_key:
|
392
393
|
specification_version: 4
|
393
394
|
summary: ''
|