glib-web 6.9.2 → 7.0.0.beta1
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/action_builder/bottom_banners.rb +0 -1
- data/app/helpers/glib/json_ui/action_builder/components.rb +1 -16
- data/app/helpers/glib/json_ui/action_builder/logics.rb +1 -2
- data/app/helpers/glib/json_ui/action_builder/snackbars.rb +0 -16
- data/app/helpers/glib/json_ui/response_helper.rb +0 -12
- data/app/views/json_ui/garage/actions/_components.json.jbuilder +2 -2
- data/app/views/json_ui/garage/forms/bulk_edit_post.json.jbuilder +1 -1
- data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +3 -3
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +5 -5
- data/app/views/json_ui/garage/forms/update_options.json.jbuilder +1 -1
- data/app/views/json_ui/garage/panels/flow.json.jbuilder +6 -6
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +10 -10
- data/app/views/json_ui/garage/panels/responsive.json.jbuilder +10 -10
- data/app/views/json_ui/garage/panels/ul.json.jbuilder +2 -2
- data/app/views/json_ui/garage/panels/vertical.json.jbuilder +10 -10
- data/app/views/json_ui/garage/tables/bulk_edit.json.jbuilder +8 -8
- data/app/views/json_ui/garage/test_page/calendar.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/carousel.json.jbuilder +4 -4
- data/app/views/json_ui/garage/test_page/charts.json.jbuilder +4 -4
- data/app/views/json_ui/garage/test_page/column.json.jbuilder +3 -3
- data/app/views/json_ui/garage/test_page/components.json.jbuilder +7 -7
- data/app/views/json_ui/garage/test_page/custom.json.jbuilder +3 -3
- data/app/views/json_ui/garage/test_page/dialog.json.jbuilder +0 -21
- data/app/views/json_ui/garage/test_page/fields_creditCard.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/fields_date_time.json.jbuilder +8 -8
- data/app/views/json_ui/garage/test_page/fields_dynamicSelect.json.jbuilder +8 -8
- data/app/views/json_ui/garage/test_page/fields_location.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/fields_otp.json.jbuilder +8 -8
- data/app/views/json_ui/garage/test_page/fields_phone.json.jbuilder +9 -9
- data/app/views/json_ui/garage/test_page/fields_radio.json.jbuilder +4 -4
- data/app/views/json_ui/garage/test_page/fields_rating.json.jbuilder +10 -10
- data/app/views/json_ui/garage/test_page/fields_richText.json.jbuilder +10 -10
- data/app/views/json_ui/garage/test_page/fields_select.json.jbuilder +8 -8
- data/app/views/json_ui/garage/test_page/fields_sign.json.jbuilder +7 -7
- data/app/views/json_ui/garage/test_page/fields_stripeExternalAccount.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/fields_stripeToken.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/fields_text.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/fields_timer.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/flow.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/form.json.jbuilder +9 -9
- data/app/views/json_ui/garage/test_page/grid.json.jbuilder +4 -4
- data/app/views/json_ui/garage/test_page/horizontal.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/image.json.jbuilder +9 -9
- data/app/views/json_ui/garage/test_page/lifecycle.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/list.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/multimedia_docx.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/multimedia_video.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/pagination.json.jbuilder +6 -6
- data/app/views/json_ui/garage/test_page/panels_bulkEdit2.json.jbuilder +13 -13
- data/app/views/json_ui/garage/test_page/panels_bulkEdit3.json.jbuilder +1 -1
- data/app/views/json_ui/garage/test_page/progressCircle.json.jbuilder +8 -8
- data/app/views/json_ui/garage/test_page/responsive.json.jbuilder +4 -4
- data/app/views/json_ui/garage/test_page/scroll.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/split.json.jbuilder +1 -1
- data/app/views/json_ui/garage/test_page/table.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/timeline.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/ul.json.jbuilder +4 -4
- data/app/views/json_ui/garage/test_page/vertical.json.jbuilder +5 -5
- data/app/views/json_ui/garage/test_page/web.json.jbuilder +5 -5
- data/app/views/json_ui/garage/views/_expand_shrink_ex.json.jbuilder +4 -4
- data/app/views/json_ui/garage/views/controls.json.jbuilder +4 -4
- data/app/views/json_ui/garage/views/{components_set.json.jbuilder → logics_set.json.jbuilder} +2 -2
- data/lib/glib/engine.rb +0 -30
- data/lib/glib/json_crawler/router.rb +0 -24
- data/lib/glib/json_ui/config.rb +1 -1
- metadata +4 -31
- data/app/jobs/glib/purge_unattached_job.rb +0 -28
- data/app/models/concerns/glib/snapshot_v2.rb +0 -462
- data/app/models/glib/model.rb +0 -40
- data/app/models/glib/plain_model.rb +0 -23
- data/app/models/snapshot_blob_reference.rb +0 -20
- data/lib/generators/glib/snapshot_v2_generator.rb +0 -54
- data/lib/generators/templates/snapshot_v2/add_snapshot_v2_columns.rb +0 -18
- data/lib/generators/templates/snapshot_v2/create_snapshot_blob_references.rb +0 -10
|
@@ -84,7 +84,7 @@ Try @mentioning a teammate here.
|
|
|
84
84
|
onClick: ->(action) do
|
|
85
85
|
action.runMultiple(
|
|
86
86
|
childActions: ->(multiple) do
|
|
87
|
-
multiple.
|
|
87
|
+
multiple.logics_set targetId: 'rich_text_main', data: { produce: 'markdown', accept: 'markdown' }
|
|
88
88
|
multiple.logics_set targetId: 'rich_text_variant_status', data: { text: 'Variant: markdown output' }
|
|
89
89
|
end
|
|
90
90
|
)
|
|
@@ -96,7 +96,7 @@ Try @mentioning a teammate here.
|
|
|
96
96
|
onClick: ->(action) do
|
|
97
97
|
action.runMultiple(
|
|
98
98
|
childActions: ->(multiple) do
|
|
99
|
-
multiple.
|
|
99
|
+
multiple.logics_set targetId: 'rich_text_main', data: { produce: 'html', accept: 'html' }
|
|
100
100
|
multiple.logics_set targetId: 'rich_text_variant_status', data: { text: 'Variant: HTML output' }
|
|
101
101
|
end
|
|
102
102
|
)
|
|
@@ -108,7 +108,7 @@ Try @mentioning a teammate here.
|
|
|
108
108
|
onClick: ->(action) do
|
|
109
109
|
action.runMultiple(
|
|
110
110
|
childActions: ->(multiple) do
|
|
111
|
-
multiple.
|
|
111
|
+
multiple.logics_set targetId: 'rich_text_main', data: { imageUploader: nil }
|
|
112
112
|
multiple.logics_set targetId: 'rich_text_variant_status', data: { text: 'Variant: uploader removed' }
|
|
113
113
|
end
|
|
114
114
|
)
|
|
@@ -120,7 +120,7 @@ Try @mentioning a teammate here.
|
|
|
120
120
|
onClick: ->(action) do
|
|
121
121
|
action.runMultiple(
|
|
122
122
|
childActions: ->(multiple) do
|
|
123
|
-
multiple.
|
|
123
|
+
multiple.logics_set targetId: 'rich_text_main', data: { imageUploader: image_uploader }
|
|
124
124
|
multiple.logics_set targetId: 'rich_text_variant_status', data: { text: 'Variant: uploader restored' }
|
|
125
125
|
end
|
|
126
126
|
)
|
|
@@ -146,7 +146,7 @@ Try @mentioning a teammate here.
|
|
|
146
146
|
# onClick: ->(action) do
|
|
147
147
|
# action.runMultiple(
|
|
148
148
|
# childActions: ->(multiple) do
|
|
149
|
-
# multiple.
|
|
149
|
+
# multiple.logics_set targetId: 'rich_text_main', data: { value: "# Quick update\n\n- Item one\n- Item two\n\nThanks!" }
|
|
150
150
|
# multiple.logics_set targetId: 'rich_text_status', data: { text: 'Status: template inserted' }
|
|
151
151
|
# end
|
|
152
152
|
# )
|
|
@@ -158,7 +158,7 @@ Try @mentioning a teammate here.
|
|
|
158
158
|
# # onClick: ->(action) do
|
|
159
159
|
# # action.runMultiple(
|
|
160
160
|
# # childActions: ->(multiple) do
|
|
161
|
-
# # multiple.
|
|
161
|
+
# # multiple.logics_set targetId: 'rich_text_main', data: { value: '' }
|
|
162
162
|
# # multiple.logics_set targetId: 'rich_text_status', data: { text: 'Status: cleared' }
|
|
163
163
|
# # end
|
|
164
164
|
# # )
|
|
@@ -180,28 +180,28 @@ Try @mentioning a teammate here.
|
|
|
180
180
|
flow.button(
|
|
181
181
|
text: 'Disable editor',
|
|
182
182
|
onClick: ->(action) do
|
|
183
|
-
action.
|
|
183
|
+
action.logics_set targetId: 'rich_text_main', data: { disabled: true }
|
|
184
184
|
end
|
|
185
185
|
)
|
|
186
186
|
flow.spacer width: 8
|
|
187
187
|
flow.button(
|
|
188
188
|
text: 'Enable editor',
|
|
189
189
|
onClick: ->(action) do
|
|
190
|
-
action.
|
|
190
|
+
action.logics_set targetId: 'rich_text_main', data: { disabled: nil }
|
|
191
191
|
end
|
|
192
192
|
)
|
|
193
193
|
flow.spacer width: 8
|
|
194
194
|
flow.button(
|
|
195
195
|
text: 'Toggle debug',
|
|
196
196
|
onClick: ->(action) do
|
|
197
|
-
action.
|
|
197
|
+
action.logics_set targetId: 'rich_text_main', data: { debug: false }
|
|
198
198
|
end
|
|
199
199
|
)
|
|
200
200
|
flow.spacer width: 8
|
|
201
201
|
flow.button(
|
|
202
202
|
text: 'Enable debug',
|
|
203
203
|
onClick: ->(action) do
|
|
204
|
-
action.
|
|
204
|
+
action.logics_set targetId: 'rich_text_main', data: { debug: true }
|
|
205
205
|
end
|
|
206
206
|
)
|
|
207
207
|
end
|
|
@@ -89,7 +89,7 @@ page.body(
|
|
|
89
89
|
flow.button(
|
|
90
90
|
text: 'Use icon options',
|
|
91
91
|
onClick: ->(action) do
|
|
92
|
-
action.
|
|
92
|
+
action.logics_set(
|
|
93
93
|
targetId: 'select_media',
|
|
94
94
|
data: { options: icon_options, value: 'option1', multiple: nil, useChips: nil }
|
|
95
95
|
)
|
|
@@ -99,7 +99,7 @@ page.body(
|
|
|
99
99
|
flow.button(
|
|
100
100
|
text: 'Use image options',
|
|
101
101
|
onClick: ->(action) do
|
|
102
|
-
action.
|
|
102
|
+
action.logics_set(
|
|
103
103
|
targetId: 'select_media',
|
|
104
104
|
data: { options: image_options, value: 'option2', multiple: nil, useChips: nil }
|
|
105
105
|
)
|
|
@@ -109,7 +109,7 @@ page.body(
|
|
|
109
109
|
flow.button(
|
|
110
110
|
text: 'Text only',
|
|
111
111
|
onClick: ->(action) do
|
|
112
|
-
action.
|
|
112
|
+
action.logics_set(
|
|
113
113
|
targetId: 'select_media',
|
|
114
114
|
data: { options: base_options, value: 'option3', multiple: nil, useChips: nil }
|
|
115
115
|
)
|
|
@@ -119,7 +119,7 @@ page.body(
|
|
|
119
119
|
flow.button(
|
|
120
120
|
text: 'Multiple + chips',
|
|
121
121
|
onClick: ->(action) do
|
|
122
|
-
action.
|
|
122
|
+
action.logics_set(
|
|
123
123
|
targetId: 'select_media',
|
|
124
124
|
data: { options: icon_options, value: %w[option1 option3], multiple: true, useChips: true, maxChipLines: 1, width: 250 }
|
|
125
125
|
)
|
|
@@ -141,28 +141,28 @@ page.body(
|
|
|
141
141
|
flow.button(
|
|
142
142
|
text: 'Disable select',
|
|
143
143
|
onClick: ->(action) do
|
|
144
|
-
action.
|
|
144
|
+
action.logics_set targetId: 'select_media', data: { disabled: true }
|
|
145
145
|
end
|
|
146
146
|
)
|
|
147
147
|
flow.spacer width: 8
|
|
148
148
|
flow.button(
|
|
149
149
|
text: 'Enable select',
|
|
150
150
|
onClick: ->(action) do
|
|
151
|
-
action.
|
|
151
|
+
action.logics_set targetId: 'select_media', data: { disabled: nil }
|
|
152
152
|
end
|
|
153
153
|
)
|
|
154
154
|
flow.spacer width: 8
|
|
155
155
|
flow.button(
|
|
156
156
|
text: 'Empty options',
|
|
157
157
|
onClick: ->(action) do
|
|
158
|
-
action.
|
|
158
|
+
action.logics_set targetId: 'select_media', data: { options: [], value: nil }
|
|
159
159
|
end
|
|
160
160
|
)
|
|
161
161
|
flow.spacer width: 8
|
|
162
162
|
flow.button(
|
|
163
163
|
text: 'Restore defaults',
|
|
164
164
|
onClick: ->(action) do
|
|
165
|
-
action.
|
|
165
|
+
action.logics_set(
|
|
166
166
|
targetId: 'select_media',
|
|
167
167
|
data: { options: icon_options, value: 'option1', disabled: nil, multiple: nil, useChips: nil }
|
|
168
168
|
)
|
|
@@ -47,21 +47,21 @@ page.body(
|
|
|
47
47
|
flow.button(
|
|
48
48
|
text: 'Large (480x220)',
|
|
49
49
|
onClick: ->(action) do
|
|
50
|
-
action.
|
|
50
|
+
action.logics_set targetId: 'signature_main', data: { width: 480, height: 220 }
|
|
51
51
|
end
|
|
52
52
|
)
|
|
53
53
|
flow.spacer width: 8
|
|
54
54
|
flow.button(
|
|
55
55
|
text: 'Compact (260x120)',
|
|
56
56
|
onClick: ->(action) do
|
|
57
|
-
action.
|
|
57
|
+
action.logics_set targetId: 'signature_main', data: { width: 260, height: 120 }
|
|
58
58
|
end
|
|
59
59
|
)
|
|
60
60
|
flow.spacer width: 8
|
|
61
61
|
flow.button(
|
|
62
62
|
text: 'Required',
|
|
63
63
|
onClick: ->(action) do
|
|
64
|
-
action.
|
|
64
|
+
action.logics_set targetId: 'signature_main',
|
|
65
65
|
data: { validation: { required: { message: 'signature is required' } } }
|
|
66
66
|
end
|
|
67
67
|
)
|
|
@@ -69,21 +69,21 @@ page.body(
|
|
|
69
69
|
flow.button(
|
|
70
70
|
text: 'Optional',
|
|
71
71
|
onClick: ->(action) do
|
|
72
|
-
action.
|
|
72
|
+
action.logics_set targetId: 'signature_main', data: { validation: nil }
|
|
73
73
|
end
|
|
74
74
|
)
|
|
75
75
|
flow.spacer width: 8
|
|
76
76
|
flow.button(
|
|
77
77
|
text: 'Disable',
|
|
78
78
|
onClick: ->(action) do
|
|
79
|
-
action.
|
|
79
|
+
action.logics_set targetId: 'signature_main', data: { disabled: true }
|
|
80
80
|
end
|
|
81
81
|
)
|
|
82
82
|
flow.spacer width: 8
|
|
83
83
|
flow.button(
|
|
84
84
|
text: 'Enable',
|
|
85
85
|
onClick: ->(action) do
|
|
86
|
-
action.
|
|
86
|
+
action.logics_set targetId: 'signature_main', data: { disabled: nil }
|
|
87
87
|
end
|
|
88
88
|
)
|
|
89
89
|
end
|
|
@@ -113,7 +113,7 @@ page.body(
|
|
|
113
113
|
text: 'Clear value',
|
|
114
114
|
onClick: ->(action) do
|
|
115
115
|
action.runMultiple childActions: ->(multiple) do
|
|
116
|
-
multiple.
|
|
116
|
+
multiple.logics_set targetId: 'signature_main', data: { value: nil }
|
|
117
117
|
multiple.logics_set targetId: 'signature_status', data: { text: 'Status: cleared' }
|
|
118
118
|
end
|
|
119
119
|
end
|
|
@@ -60,7 +60,7 @@ page.body(
|
|
|
60
60
|
# flow.button(
|
|
61
61
|
# text: 'Individual (AU/AUD)',
|
|
62
62
|
# onClick: ->(action) do
|
|
63
|
-
# action.
|
|
63
|
+
# action.logics_set(
|
|
64
64
|
# targetId: 'stripe_external_basic',
|
|
65
65
|
# data: {
|
|
66
66
|
# accountHolderName: 'John Doe',
|
|
@@ -75,7 +75,7 @@ page.body(
|
|
|
75
75
|
# flow.button(
|
|
76
76
|
# text: 'Company (US/USD)',
|
|
77
77
|
# onClick: ->(action) do
|
|
78
|
-
# action.
|
|
78
|
+
# action.logics_set(
|
|
79
79
|
# targetId: 'stripe_external_basic',
|
|
80
80
|
# data: {
|
|
81
81
|
# accountHolderName: 'Acme Corp',
|
|
@@ -90,7 +90,7 @@ page.body(
|
|
|
90
90
|
# flow.button(
|
|
91
91
|
# text: 'Company (GB/GBP)',
|
|
92
92
|
# onClick: ->(action) do
|
|
93
|
-
# action.
|
|
93
|
+
# action.logics_set(
|
|
94
94
|
# targetId: 'stripe_external_basic',
|
|
95
95
|
# data: {
|
|
96
96
|
# accountHolderName: 'London Ltd',
|
|
@@ -117,21 +117,21 @@ page.body(
|
|
|
117
117
|
# flow.button(
|
|
118
118
|
# text: 'Disable field',
|
|
119
119
|
# onClick: ->(action) do
|
|
120
|
-
# action.
|
|
120
|
+
# action.logics_set targetId: 'stripe_external_basic', data: { disabled: true }
|
|
121
121
|
# end
|
|
122
122
|
# )
|
|
123
123
|
# flow.spacer width: 8
|
|
124
124
|
# flow.button(
|
|
125
125
|
# text: 'Enable field',
|
|
126
126
|
# onClick: ->(action) do
|
|
127
|
-
# action.
|
|
127
|
+
# action.logics_set targetId: 'stripe_external_basic', data: { disabled: nil }
|
|
128
128
|
# end
|
|
129
129
|
# )
|
|
130
130
|
# flow.spacer width: 8
|
|
131
131
|
# flow.button(
|
|
132
132
|
# text: 'Reset label',
|
|
133
133
|
# onClick: ->(action) do
|
|
134
|
-
# action.
|
|
134
|
+
# action.logics_set targetId: 'stripe_external_basic', data: { label: 'Bank account' }
|
|
135
135
|
# end
|
|
136
136
|
# )
|
|
137
137
|
# end
|
|
@@ -56,21 +56,21 @@ page.body(
|
|
|
56
56
|
flow.button(
|
|
57
57
|
text: 'Default style',
|
|
58
58
|
onClick: ->(action) do
|
|
59
|
-
action.
|
|
59
|
+
action.logics_set targetId: 'stripe_token_basic', data: { styleClass: nil, label: 'Card details', hint: nil }
|
|
60
60
|
end
|
|
61
61
|
)
|
|
62
62
|
flow.spacer width: 8
|
|
63
63
|
flow.button(
|
|
64
64
|
text: 'Outlined',
|
|
65
65
|
onClick: ->(action) do
|
|
66
|
-
action.
|
|
66
|
+
action.logics_set targetId: 'stripe_token_basic', data: { styleClass: 'outlined', label: 'Card details', hint: nil }
|
|
67
67
|
end
|
|
68
68
|
)
|
|
69
69
|
flow.spacer width: 8
|
|
70
70
|
flow.button(
|
|
71
71
|
text: 'Individual',
|
|
72
72
|
onClick: ->(action) do
|
|
73
|
-
action.
|
|
73
|
+
action.logics_set targetId: 'stripe_token_basic', data: { styleClass: 'individual', label: 'Card details', hint: 'Personal card' }
|
|
74
74
|
end
|
|
75
75
|
)
|
|
76
76
|
end
|
|
@@ -89,21 +89,21 @@ page.body(
|
|
|
89
89
|
# flow.button(
|
|
90
90
|
# text: 'Disable field',
|
|
91
91
|
# onClick: ->(action) do
|
|
92
|
-
# action.
|
|
92
|
+
# action.logics_set targetId: 'stripe_token_basic', data: { disabled: true }
|
|
93
93
|
# end
|
|
94
94
|
# )
|
|
95
95
|
# flow.spacer width: 8
|
|
96
96
|
# flow.button(
|
|
97
97
|
# text: 'Enable field',
|
|
98
98
|
# onClick: ->(action) do
|
|
99
|
-
# action.
|
|
99
|
+
# action.logics_set targetId: 'stripe_token_basic', data: { disabled: nil }
|
|
100
100
|
# end
|
|
101
101
|
# )
|
|
102
102
|
# flow.spacer width: 8
|
|
103
103
|
# flow.button(
|
|
104
104
|
# text: 'Clear hint',
|
|
105
105
|
# onClick: ->(action) do
|
|
106
|
-
# action.
|
|
106
|
+
# action.logics_set targetId: 'stripe_token_basic', data: { hint: nil }
|
|
107
107
|
# end
|
|
108
108
|
# )
|
|
109
109
|
# end
|
|
@@ -159,7 +159,7 @@ page.body(
|
|
|
159
159
|
# ── Actions/events ────────────────────────────────────────────────
|
|
160
160
|
form.h2 text: 'Actions/events'
|
|
161
161
|
form.spacer height: 8
|
|
162
|
-
form.label text: 'Buttons target the basic fields_text field (id: text_main) via
|
|
162
|
+
form.label text: 'Buttons target the basic fields_text field (id: text_main) via logics_set and fields_focus.'
|
|
163
163
|
form.spacer height: 8
|
|
164
164
|
form.panels_flow(
|
|
165
165
|
innerPadding: { bottom: 0 },
|
|
@@ -170,7 +170,7 @@ page.body(
|
|
|
170
170
|
onClick: ->(action) do
|
|
171
171
|
action.runMultiple(
|
|
172
172
|
childActions: ->(multi) do
|
|
173
|
-
multi.
|
|
173
|
+
multi.logics_set targetId: 'text_main', data: { value: 'Hello world' }
|
|
174
174
|
multi.logics_set targetId: 'text_status', data: { text: 'Status: value set' }
|
|
175
175
|
end
|
|
176
176
|
)
|
|
@@ -182,7 +182,7 @@ page.body(
|
|
|
182
182
|
onClick: ->(action) do
|
|
183
183
|
action.runMultiple(
|
|
184
184
|
childActions: ->(multi) do
|
|
185
|
-
multi.
|
|
185
|
+
multi.logics_set targetId: 'text_main', data: { value: '' }
|
|
186
186
|
multi.logics_set targetId: 'text_status', data: { text: 'Status: cleared' }
|
|
187
187
|
end
|
|
188
188
|
)
|
|
@@ -227,14 +227,14 @@ page.body(
|
|
|
227
227
|
flow.button(
|
|
228
228
|
text: 'Disable',
|
|
229
229
|
onClick: ->(action) do
|
|
230
|
-
action.
|
|
230
|
+
action.logics_set targetId: 'text_disabled', data: { disabled: true }
|
|
231
231
|
end
|
|
232
232
|
)
|
|
233
233
|
flow.spacer width: 8
|
|
234
234
|
flow.button(
|
|
235
235
|
text: 'Enable',
|
|
236
236
|
onClick: ->(action) do
|
|
237
|
-
action.
|
|
237
|
+
action.logics_set targetId: 'text_disabled', data: { disabled: nil }
|
|
238
238
|
end
|
|
239
239
|
)
|
|
240
240
|
end
|
|
@@ -75,14 +75,14 @@ page.body(
|
|
|
75
75
|
flow.button(
|
|
76
76
|
text: 'Set 2 minutes',
|
|
77
77
|
onClick: ->(action) do
|
|
78
|
-
action.
|
|
78
|
+
action.logics_set targetId: 'timer_basic', data: { value: 120 }
|
|
79
79
|
end
|
|
80
80
|
)
|
|
81
81
|
flow.spacer width: 8
|
|
82
82
|
flow.button(
|
|
83
83
|
text: 'Set 45 seconds',
|
|
84
84
|
onClick: ->(action) do
|
|
85
|
-
action.
|
|
85
|
+
action.logics_set targetId: 'timer_basic', data: { value: 45 }
|
|
86
86
|
end
|
|
87
87
|
)
|
|
88
88
|
flow.spacer width: 8
|
|
@@ -90,7 +90,7 @@ page.body(
|
|
|
90
90
|
text: 'Swap to stopwatch',
|
|
91
91
|
onClick: ->(action) do
|
|
92
92
|
action.runMultiple childActions: ->(multiple) do
|
|
93
|
-
multiple.
|
|
93
|
+
multiple.logics_set targetId: 'timer_basic', data: { value: 5, min: nil, max: 30, forward: true }
|
|
94
94
|
multiple.logics_set targetId: 'timer_status', data: { text: 'Status: forward (max 30s)' }
|
|
95
95
|
end
|
|
96
96
|
end
|
|
@@ -122,21 +122,21 @@ page.body(
|
|
|
122
122
|
flow.button(
|
|
123
123
|
text: 'Set 2s (below min)',
|
|
124
124
|
onClick: ->(action) do
|
|
125
|
-
action.
|
|
125
|
+
action.logics_set targetId: 'timer_limits', data: { value: 2 }
|
|
126
126
|
end
|
|
127
127
|
)
|
|
128
128
|
flow.spacer width: 8
|
|
129
129
|
flow.button(
|
|
130
130
|
text: 'Set 7s',
|
|
131
131
|
onClick: ->(action) do
|
|
132
|
-
action.
|
|
132
|
+
action.logics_set targetId: 'timer_limits', data: { value: 7 }
|
|
133
133
|
end
|
|
134
134
|
)
|
|
135
135
|
flow.spacer width: 8
|
|
136
136
|
flow.button(
|
|
137
137
|
text: 'Set 15s (above max)',
|
|
138
138
|
onClick: ->(action) do
|
|
139
|
-
action.
|
|
139
|
+
action.logics_set targetId: 'timer_limits', data: { value: 15 }
|
|
140
140
|
end
|
|
141
141
|
)
|
|
142
142
|
end
|
|
@@ -28,19 +28,19 @@ page.body childViews: ->(body) do
|
|
|
28
28
|
res.spacer height: 8
|
|
29
29
|
res.panels_flow innerPadding: { bottom: 0 }, childViews: ->(flow) do
|
|
30
30
|
flow.button text: 'Tight gap', onClick: ->(action) do
|
|
31
|
-
action.
|
|
31
|
+
action.logics_set targetId: 'flow_main', data: { innerPadding: { x: 2, y: 2 } }
|
|
32
32
|
end
|
|
33
33
|
flow.spacer width: 4
|
|
34
34
|
flow.button text: 'Loose gap', onClick: ->(action) do
|
|
35
|
-
action.
|
|
35
|
+
action.logics_set targetId: 'flow_main', data: { innerPadding: { x: 12, y: 12 } }
|
|
36
36
|
end
|
|
37
37
|
flow.spacer width: 4
|
|
38
38
|
flow.button text: 'Align middle', onClick: ->(action) do
|
|
39
|
-
action.
|
|
39
|
+
action.logics_set targetId: 'flow_main', data: { align: 'middle' }
|
|
40
40
|
end
|
|
41
41
|
flow.spacer width: 4
|
|
42
42
|
flow.button text: 'Align bottom', onClick: ->(action) do
|
|
43
|
-
action.
|
|
43
|
+
action.logics_set targetId: 'flow_main', data: { align: 'bottom' }
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
@@ -52,9 +52,9 @@ page.body childViews: ->(body) do
|
|
|
52
52
|
res.label id: 'flow_action_status', text: 'Hover status: idle'
|
|
53
53
|
res.spacer height: 6
|
|
54
54
|
res.panels_flow width: 200, innerPadding: { x: 6, y: 6 }, backgroundColor: '#e6e6e6', onMouseEnter: ->(action) do
|
|
55
|
-
action.
|
|
55
|
+
action.logics_set targetId: 'flow_action_status', data: { text: 'Hover status: entered' }
|
|
56
56
|
end, onMouseLeave: ->(action) do
|
|
57
|
-
action.
|
|
57
|
+
action.logics_set targetId: 'flow_action_status', data: { text: 'Hover status: left' }
|
|
58
58
|
end, childViews: ->(flow) do
|
|
59
59
|
flow.label text: 'Hover this panel'
|
|
60
60
|
end
|
|
@@ -14,14 +14,14 @@ page.body childViews: ->(body) do
|
|
|
14
14
|
method: 'post',
|
|
15
15
|
childViews: ->(form) do
|
|
16
16
|
form.panels_flow innerPadding: { bottom: 0 }, width: 'matchParent', childViews: ->(hori) do
|
|
17
|
-
hori.button text: '
|
|
17
|
+
hori.button text: 'logics/set', onClick: ->(action) do
|
|
18
18
|
action.runMultiple childActions: ->(saction) do
|
|
19
|
-
saction.
|
|
19
|
+
saction.logics_set targetId: 'textarea', data: { value: 'The quick brown fox jumps over the lazy dog' }
|
|
20
20
|
new_options = [{ text: 'Option99', value: 'option99' }]
|
|
21
21
|
|
|
22
|
-
saction.
|
|
22
|
+
saction.logics_set targetId: 'select', data: { options: new_options, value: 'option99' }
|
|
23
23
|
|
|
24
|
-
saction.
|
|
24
|
+
saction.logics_set targetId: 'chip_group', data: { options: new_options, value: 0 }
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
hori.spacer width: 4
|
|
@@ -48,22 +48,22 @@ page.body childViews: ->(body) do
|
|
|
48
48
|
hori.button text: 'hide select', onClick: ->(action) do
|
|
49
49
|
action.runMultiple childActions: ->(saction) do
|
|
50
50
|
['select', 'select1', 'select2', 'select3'].each do |id|
|
|
51
|
-
saction.
|
|
51
|
+
saction.logics_set targetId: id, data: { displayed: false }
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
hori.spacer height: 4
|
|
56
56
|
hori.button text: 'hide jack', onClick: ->(action) do
|
|
57
57
|
action.runMultiple childActions: ->(saction) do
|
|
58
|
-
saction.
|
|
59
|
-
saction.
|
|
58
|
+
saction.logics_set targetId: 'ver', data: { displayed: true }
|
|
59
|
+
saction.logics_set targetId: 'ver1', data: { displayed: false }
|
|
60
60
|
end
|
|
61
61
|
end
|
|
62
62
|
hori.spacer height: 4
|
|
63
63
|
hori.button text: 'show jack', onClick: ->(action) do
|
|
64
64
|
action.runMultiple childActions: ->(saction) do
|
|
65
|
-
saction.
|
|
66
|
-
saction.
|
|
65
|
+
saction.logics_set targetId: 'ver', data: { displayed: false }
|
|
66
|
+
saction.logics_set targetId: 'ver1', data: { displayed: true }
|
|
67
67
|
end
|
|
68
68
|
end
|
|
69
69
|
end
|
|
@@ -30,11 +30,11 @@ page.body childViews: ->(body) do
|
|
|
30
30
|
res.spacer height: 8
|
|
31
31
|
res.panels_flow innerPadding: { bottom: 0 }, childViews: ->(flow) do
|
|
32
32
|
flow.button text: 'Small boxes', onClick: ->(action) do
|
|
33
|
-
action.
|
|
33
|
+
action.logics_set targetId: 'grid_main', data: { boxMinWidth: 100, columnGap: 8, rowGap: 8 }
|
|
34
34
|
end
|
|
35
35
|
flow.spacer width: 4
|
|
36
36
|
flow.button text: 'Large boxes', onClick: ->(action) do
|
|
37
|
-
action.
|
|
37
|
+
action.logics_set targetId: 'grid_main', data: { boxMinWidth: 180, columnGap: 16, rowGap: 16 }
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
40
|
|
|
@@ -46,9 +46,9 @@ page.body childViews: ->(body) do
|
|
|
46
46
|
res.label id: 'grid_action_status', text: 'Hover status: idle'
|
|
47
47
|
res.spacer height: 6
|
|
48
48
|
res.panels_grid width: 'matchParent', boxMinWidth: 120, columnGap: 8, rowGap: 8, onMouseEnter: ->(action) do
|
|
49
|
-
action.
|
|
49
|
+
action.logics_set targetId: 'grid_action_status', data: { text: 'Hover status: entered' }
|
|
50
50
|
end, onMouseLeave: ->(action) do
|
|
51
|
-
action.
|
|
51
|
+
action.logics_set targetId: 'grid_action_status', data: { text: 'Hover status: left' }
|
|
52
52
|
end, childViews: ->(box) do
|
|
53
53
|
(1..4).each do |index|
|
|
54
54
|
box.panels_vertical height: 50, backgroundColor: '#e6e6e6', align: 'center', childViews: ->(panel) do
|
|
@@ -28,19 +28,19 @@ page.body childViews: ->(body) do
|
|
|
28
28
|
res.spacer height: 8
|
|
29
29
|
res.panels_flow innerPadding: { bottom: 0 }, childViews: ->(flow) do
|
|
30
30
|
flow.button text: 'Fill equally', onClick: ->(action) do
|
|
31
|
-
action.
|
|
31
|
+
action.logics_set targetId: 'horizontal_main', data: { width: 300, distribution: 'fillEqually' }
|
|
32
32
|
end
|
|
33
33
|
flow.spacer width: 4
|
|
34
34
|
flow.button text: 'Space equally', onClick: ->(action) do
|
|
35
|
-
action.
|
|
35
|
+
action.logics_set targetId: 'horizontal_main', data: { width: 300, distribution: 'spaceEqually' }
|
|
36
36
|
end
|
|
37
37
|
flow.spacer width: 4
|
|
38
38
|
flow.button text: 'Overlap 3', onClick: ->(action) do
|
|
39
|
-
action.
|
|
39
|
+
action.logics_set targetId: 'horizontal_main', data: { distribution: 'overlap-3' }
|
|
40
40
|
end
|
|
41
41
|
flow.spacer width: 4
|
|
42
42
|
flow.button text: 'Align middle', onClick: ->(action) do
|
|
43
|
-
action.
|
|
43
|
+
action.logics_set targetId: 'horizontal_main', data: { align: 'middle' }
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
@@ -52,7 +52,7 @@ page.body childViews: ->(body) do
|
|
|
52
52
|
res.label id: 'horizontal_action_status', text: 'Click status: idle'
|
|
53
53
|
res.spacer height: 6
|
|
54
54
|
res.panels_horizontal width: 180, height: 60, align: 'middle', backgroundColor: '#e6e6e6', onClick: ->(action) do
|
|
55
|
-
action.
|
|
55
|
+
action.logics_set targetId: 'horizontal_action_status', data: { text: 'Click status: clicked' }
|
|
56
56
|
end, childViews: ->(panel) do
|
|
57
57
|
panel.label text: 'Click panel'
|
|
58
58
|
end
|
|
@@ -44,7 +44,7 @@ page.body(
|
|
|
44
44
|
flow.button(
|
|
45
45
|
text: 'Default',
|
|
46
46
|
onClick: ->(action) do
|
|
47
|
-
action.
|
|
47
|
+
action.logics_set(
|
|
48
48
|
targetId: 'image_main',
|
|
49
49
|
data: {
|
|
50
50
|
width: 320,
|
|
@@ -61,7 +61,7 @@ page.body(
|
|
|
61
61
|
flow.button(
|
|
62
62
|
text: 'Crop square',
|
|
63
63
|
onClick: ->(action) do
|
|
64
|
-
action.
|
|
64
|
+
action.logics_set(
|
|
65
65
|
targetId: 'image_main',
|
|
66
66
|
data: { width: 160, height: 160, url: small_image_url, fit: :crop }
|
|
67
67
|
)
|
|
@@ -71,7 +71,7 @@ page.body(
|
|
|
71
71
|
flow.button(
|
|
72
72
|
text: 'Full width',
|
|
73
73
|
onClick: ->(action) do
|
|
74
|
-
action.
|
|
74
|
+
action.logics_set(
|
|
75
75
|
targetId: 'image_main',
|
|
76
76
|
data: { width: 'matchParent', height: 220, url: glib_json_image_standard_url, fit: :clip }
|
|
77
77
|
)
|
|
@@ -81,7 +81,7 @@ page.body(
|
|
|
81
81
|
flow.button(
|
|
82
82
|
text: 'Tall crop',
|
|
83
83
|
onClick: ->(action) do
|
|
84
|
-
action.
|
|
84
|
+
action.logics_set(
|
|
85
85
|
targetId: 'image_main',
|
|
86
86
|
data: { width: 200, height: 320, url: glib_json_image_standard_url, fit: :crop }
|
|
87
87
|
)
|
|
@@ -91,7 +91,7 @@ page.body(
|
|
|
91
91
|
flow.button(
|
|
92
92
|
text: 'Height clip',
|
|
93
93
|
onClick: ->(action) do
|
|
94
|
-
action.
|
|
94
|
+
action.logics_set(
|
|
95
95
|
targetId: 'image_main',
|
|
96
96
|
data: { width: nil, height: 200, url: glib_json_image_standard_url, fit: :clip }
|
|
97
97
|
)
|
|
@@ -101,7 +101,7 @@ page.body(
|
|
|
101
101
|
flow.button(
|
|
102
102
|
text: 'Height crop',
|
|
103
103
|
onClick: ->(action) do
|
|
104
|
-
action.
|
|
104
|
+
action.logics_set(
|
|
105
105
|
targetId: 'image_main',
|
|
106
106
|
data: { width: nil, height: 160, url: small_image_url, fit: :crop }
|
|
107
107
|
)
|
|
@@ -123,7 +123,7 @@ page.body(
|
|
|
123
123
|
flow.button(
|
|
124
124
|
text: 'Show badge',
|
|
125
125
|
onClick: ->(action) do
|
|
126
|
-
action.
|
|
126
|
+
action.logics_set(
|
|
127
127
|
targetId: 'image_main',
|
|
128
128
|
data: { badge: { text: '3', backgroundColor: '#2B3A67' } }
|
|
129
129
|
)
|
|
@@ -145,7 +145,7 @@ page.body(
|
|
|
145
145
|
flow.button(
|
|
146
146
|
text: 'Tiny thumbnail',
|
|
147
147
|
onClick: ->(action) do
|
|
148
|
-
action.
|
|
148
|
+
action.logics_set(
|
|
149
149
|
targetId: 'image_main',
|
|
150
150
|
data: { width: 64, height: 64, url: small_image_url, fit: :crop }
|
|
151
151
|
)
|
|
@@ -155,7 +155,7 @@ page.body(
|
|
|
155
155
|
flow.button(
|
|
156
156
|
text: 'Restore size',
|
|
157
157
|
onClick: ->(action) do
|
|
158
|
-
action.
|
|
158
|
+
action.logics_set(
|
|
159
159
|
targetId: 'image_main',
|
|
160
160
|
data: { width: 320, height: 200, url: glib_json_image_standard_url, fit: :clip }
|
|
161
161
|
)
|