glib-web 2.6.3 → 3.0.0.pre.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/controllers/concerns/glib/json/libs.rb +0 -18
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
- data/app/controllers/glib/home_controller.rb +1 -1
- 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/forms_helper.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/dialogs.rb +0 -3
- data/app/helpers/glib/json_ui/action_builder/http.rb +0 -1
- data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/tours.rb +0 -3
- 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/list_builders.rb +4 -2
- data/app/helpers/glib/json_ui/table_builders.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder/fields.rb +1 -5
- data/app/helpers/glib/json_ui/view_builder/panels.rb +0 -2
- data/app/helpers/glib/json_ui/view_builder.rb +1 -0
- data/app/helpers/glib/urls_helper.rb +0 -0
- 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/_panels.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_reload.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/otp_field.json.jbuilder +4 -7
- data/app/views/json_ui/garage/forms/selects.json.jbuilder +1 -7
- 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/submit_on_change.json.jbuilder +2 -37
- 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_section.json.jbuilder +3 -1
- 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/lists/reordering.json.jbuilder +1 -7
- data/app/views/json_ui/garage/lists/templating.json.jbuilder +0 -16
- 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/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/lifecycle_hooks.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/pages/tab_bar.json.jbuilder +71 -63
- data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/_timeline_content.json.jbuilder +1 -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/horizontal.json.jbuilder +7 -24
- data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/split.json.jbuilder +1 -1
- data/app/views/json_ui/garage/panels/ul.json.jbuilder +3 -6
- 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/views/calendar_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
- 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/renderer.html.erb +8 -16
- data/config/routes.rb +0 -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/crypt/utils.rb +0 -0
- data/lib/glib/crypt.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +0 -0
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/engine.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/forms_submit.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/json_crawler.rb +0 -0
- data/lib/glib/mailer_tester.rb +0 -0
- data/lib/glib/value.rb +0 -0
- data/lib/glib/version.rb +0 -0
- data/lib/glib-web.rb +0 -0
- data/lib/tasks/db.rake +0 -0
- metadata +4 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36c7ef52875565dc8845937e540ad4bb859c2c1d8c2413a6eb2610e02011cc42
|
|
4
|
+
data.tar.gz: f7bc7fedc31848d543ba0e79404d293a611cdbbcb20573a37645d28e81fba19a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 47910b5b21257d0d2902ff536ff2c1cb13e8154ee1bc2a919f66b1dc1ade9a7aedd967a1abc1d9deef2f7286ac0720db6bda4adb33d44ea0cea2af3de94738a2
|
|
7
|
+
data.tar.gz: 0fd5393e2bec762bd4b05d46f825ba168a31454ccc7d6100d286f706cebb2a40ef6eba9662651dbb389074375e973b9b15ae58d74d481a72a7b61e39c83df8c1
|
|
@@ -36,24 +36,6 @@ module Glib::Json::Libs
|
|
|
36
36
|
json_ui_app_device_os == 'web'
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
def json_ui_etag
|
|
40
|
-
template = "#{controller_name}/#{action_name}"
|
|
41
|
-
|
|
42
|
-
# 1) It's necessary to pass in the template explicitly because of the switching between JSON
|
|
43
|
-
# and HTML rendering.
|
|
44
|
-
#
|
|
45
|
-
# 2) When a model is not provided, two pages the use the same template (e.g. `projects#show`)
|
|
46
|
-
# will produce the exact same ETAG, even though their content might be different. Presumably
|
|
47
|
-
# this is because the ETAG is calculated based on the static template as opposed to the
|
|
48
|
-
# generated output.
|
|
49
|
-
#
|
|
50
|
-
# However, this is not a problem because the browser will still treat these pages as
|
|
51
|
-
# separate because they have different URLs (e.g. `projects/1` vs `projects/2`), meaning
|
|
52
|
-
# that it will not accidentally use the cache from a different URL even though the ETAG
|
|
53
|
-
# is exactly the same.
|
|
54
|
-
fresh_when nil, template: template
|
|
55
|
-
end
|
|
56
|
-
|
|
57
39
|
def json_ui_render(template, args = {})
|
|
58
40
|
JSON.parse(render_to_string(template, locals: args))
|
|
59
41
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
class Glib::JsonUi::ActionBuilder
|
|
2
2
|
module Dialogs
|
|
3
3
|
class Alert < Action
|
|
4
|
-
string :title
|
|
5
4
|
string :message
|
|
6
5
|
action :onLoad
|
|
7
6
|
action :onClose
|
|
@@ -29,7 +28,6 @@ class Glib::JsonUi::ActionBuilder
|
|
|
29
28
|
bool :showClose
|
|
30
29
|
string :fullscreen # mobile, always
|
|
31
30
|
length :width
|
|
32
|
-
bool :closeOnBlur
|
|
33
31
|
|
|
34
32
|
# def initialize(json, page)
|
|
35
33
|
# @json = json
|
|
@@ -46,7 +44,6 @@ class Glib::JsonUi::ActionBuilder
|
|
|
46
44
|
bool :showClose
|
|
47
45
|
string :fullscreen
|
|
48
46
|
length :width
|
|
49
|
-
length :height
|
|
50
47
|
end
|
|
51
48
|
|
|
52
49
|
class Reload < Action
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -37,7 +37,7 @@ module Glib
|
|
|
37
37
|
action :onLongPress
|
|
38
38
|
icon :icon
|
|
39
39
|
bool :avatar
|
|
40
|
-
|
|
40
|
+
action :onReorder
|
|
41
41
|
string :paramNameForFormData
|
|
42
42
|
string :paramNameForNewAbsoluteIndex
|
|
43
43
|
string :paramNameForNewSectionIndex
|
|
@@ -46,7 +46,9 @@ module Glib
|
|
|
46
46
|
string :id # Deprecated
|
|
47
47
|
string :paramNameForNewIndex # Deprecated
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
# # NOTE: Experimental. Still deciding whether this needs to be a full blown panel or
|
|
50
|
+
# # an array of badges (with relevant properties, e.g. text, color, etc)
|
|
51
|
+
# views :accessoryViews
|
|
50
52
|
end
|
|
51
53
|
|
|
52
54
|
class Featured < Standard
|
|
File without changes
|
|
@@ -3,7 +3,6 @@ class Glib::JsonUi::ViewBuilder
|
|
|
3
3
|
|
|
4
4
|
class AbstractField < View
|
|
5
5
|
bool :readOnly
|
|
6
|
-
bool :disabled
|
|
7
6
|
hash :validation
|
|
8
7
|
bool :disableDirtyCheck
|
|
9
8
|
action :onChange
|
|
@@ -77,7 +76,6 @@ class Glib::JsonUi::ViewBuilder
|
|
|
77
76
|
class Text < AbstractField
|
|
78
77
|
int :maxLength
|
|
79
78
|
icon :leftIcon
|
|
80
|
-
icon :rightIcon
|
|
81
79
|
string :leftText
|
|
82
80
|
string :rightText
|
|
83
81
|
action :onTypeStart
|
|
@@ -116,7 +114,6 @@ class Glib::JsonUi::ViewBuilder
|
|
|
116
114
|
class Submit < AbstractField
|
|
117
115
|
string :text
|
|
118
116
|
color :color
|
|
119
|
-
icon :icon
|
|
120
117
|
end
|
|
121
118
|
|
|
122
119
|
class CheckGroup < AbstractField
|
|
@@ -304,8 +301,7 @@ class Glib::JsonUi::ViewBuilder
|
|
|
304
301
|
end
|
|
305
302
|
|
|
306
303
|
class Otp < AbstractField
|
|
307
|
-
int :
|
|
308
|
-
string :type
|
|
304
|
+
int :lengths
|
|
309
305
|
end
|
|
310
306
|
|
|
311
307
|
class Rating < AbstractField
|
|
@@ -140,7 +140,6 @@ class Glib::JsonUi::ViewBuilder
|
|
|
140
140
|
action :onScrollToBottom
|
|
141
141
|
|
|
142
142
|
int :responsiveCols
|
|
143
|
-
hash :dragSupport
|
|
144
143
|
|
|
145
144
|
def firstSection(block)
|
|
146
145
|
json.sections [1] do
|
|
@@ -243,7 +242,6 @@ class Glib::JsonUi::ViewBuilder
|
|
|
243
242
|
string :distribution
|
|
244
243
|
string :align
|
|
245
244
|
action :onClick
|
|
246
|
-
hash :dragSupport
|
|
247
245
|
end
|
|
248
246
|
|
|
249
247
|
class Flow < View
|
|
File without changes
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -14,24 +14,21 @@ page.form \
|
|
|
14
14
|
form.spacer height: 6
|
|
15
15
|
form.fields_otp \
|
|
16
16
|
name: 'user[otp_summary1]',
|
|
17
|
-
|
|
18
|
-
type: 'text'
|
|
17
|
+
lengths: 7
|
|
19
18
|
|
|
20
19
|
form.spacer height: 20
|
|
21
|
-
form.h2 text: 'OTP Custom Length
|
|
20
|
+
form.h2 text: 'OTP Custom Length'
|
|
22
21
|
form.spacer height: 6
|
|
23
22
|
form.fields_otp \
|
|
24
23
|
name: 'user[otp_summary2]',
|
|
25
|
-
|
|
26
|
-
type: 'number'
|
|
24
|
+
lengths: 3
|
|
27
25
|
|
|
28
26
|
form.spacer height: 20
|
|
29
27
|
form.h2 text: 'OTP with Long Field'
|
|
30
28
|
form.spacer height: 6
|
|
31
29
|
form.fields_otp \
|
|
32
30
|
name: 'user[otp_summary3]',
|
|
33
|
-
|
|
34
|
-
type: 'text'
|
|
31
|
+
lengths: 20
|
|
35
32
|
|
|
36
33
|
form.spacer height: 20
|
|
37
34
|
form.fields_submit text: 'Submit'
|
|
@@ -15,13 +15,7 @@ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', p
|
|
|
15
15
|
'melbourne' => 'Melbourne',
|
|
16
16
|
'sydney' => 'Sydney',
|
|
17
17
|
}
|
|
18
|
-
form.fields_select
|
|
19
|
-
name: 'user[city]',
|
|
20
|
-
width: 'matchParent',
|
|
21
|
-
label: 'City1',
|
|
22
|
-
placeholder: 'This is a placeholder',
|
|
23
|
-
options: languages.map { |k, v| { value: k, text: v } },
|
|
24
|
-
value: 'canberra'
|
|
18
|
+
form.fields_select name: 'user[city]', width: 'matchParent', label: 'City', options: languages.map { |k, v| { value: k, text: v } }, value: 'canberra'
|
|
25
19
|
form.fields_select name: 'user[cities][]', width: 'matchParent', label: 'Cities', options: languages.map { |k, v| { value: k, text: v } }, value: ['melbourne', 'sydney'], multiple: true
|
|
26
20
|
|
|
27
21
|
form.spacer height: 20
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -17,11 +17,8 @@ page.scroll childViews: ->(scroll) do
|
|
|
17
17
|
checkValue: '16+',
|
|
18
18
|
uncheckValue: '0-16',
|
|
19
19
|
label: 'I am over 16 (has default value)',
|
|
20
|
-
paramNameForFormData: 'message',
|
|
21
20
|
onChange: ->(action) do
|
|
22
|
-
action.
|
|
23
|
-
action.forms_submit
|
|
24
|
-
end
|
|
21
|
+
action.forms_submit
|
|
25
22
|
end
|
|
26
23
|
|
|
27
24
|
form.fields_check \
|
|
@@ -46,7 +43,7 @@ page.scroll childViews: ->(scroll) do
|
|
|
46
43
|
onChange: ->(action) do
|
|
47
44
|
action.snackbars_select message: 'Submit data?', buttons: ->(menu) do
|
|
48
45
|
menu.button text: 'Yes, submit', onClick: ->(subaction) do
|
|
49
|
-
|
|
46
|
+
action.forms_submit
|
|
50
47
|
end
|
|
51
48
|
end
|
|
52
49
|
end
|
|
@@ -60,7 +57,6 @@ page.scroll childViews: ->(scroll) do
|
|
|
60
57
|
group.fields_radio value: 'senior', label: 'Senior'
|
|
61
58
|
group.fields_radio value: 'junior', label: 'Junior'
|
|
62
59
|
end,
|
|
63
|
-
paramNameForFormData: 'message',
|
|
64
60
|
onChange: ->(action) do
|
|
65
61
|
action.sheets_select message: 'Submit data?', buttons: ->(menu) do
|
|
66
62
|
menu.button text: 'Yes, submit', onClick: ->(subaction) do
|
|
@@ -82,20 +78,6 @@ page.scroll childViews: ->(scroll) do
|
|
|
82
78
|
end
|
|
83
79
|
end
|
|
84
80
|
|
|
85
|
-
|
|
86
|
-
form.spacer height: 20
|
|
87
|
-
form.h2 text: 'Textarea'
|
|
88
|
-
form.fields_textarea \
|
|
89
|
-
name: 'user[bio]',
|
|
90
|
-
width: 'matchParent',
|
|
91
|
-
onChange: ->(action) do
|
|
92
|
-
action.sheets_select message: 'Submit data?', buttons: ->(menu) do
|
|
93
|
-
menu.button text: 'Yes, submit', onClick: ->(subaction) do
|
|
94
|
-
action.forms_submit
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
81
|
form.spacer height: 20
|
|
100
82
|
form.h2 text: 'Text (Asynchronous)'
|
|
101
83
|
form.fields_text \
|
|
@@ -104,23 +86,6 @@ page.scroll childViews: ->(scroll) do
|
|
|
104
86
|
onChange: ->(action) do
|
|
105
87
|
action.http_post url: json_ui_garage_url(path: 'forms/generic_post')
|
|
106
88
|
end
|
|
107
|
-
|
|
108
|
-
form.spacer height: 20
|
|
109
|
-
rules = { fileType: 'image', maxFileSize: 5000, fileTypeErrorText: 'Invalid!', maxFileSizeErrorText: 'Too big!' }
|
|
110
|
-
form.fields_file \
|
|
111
|
-
name: 'user[photo][]',
|
|
112
|
-
width: 'matchParent',
|
|
113
|
-
label: 'Avatar',
|
|
114
|
-
accepts: rules,
|
|
115
|
-
directUploadUrl: rails_direct_uploads_url,
|
|
116
|
-
placeholderView: { type: 'avatar', width: 100, height: 100, url: 'data:image/jpeg;base64,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' },
|
|
117
|
-
onChange: ->(action) do
|
|
118
|
-
action.sheets_select message: 'Submit data?', buttons: ->(menu) do
|
|
119
|
-
menu.button text: 'Yes, submit', onClick: ->(subaction) do
|
|
120
|
-
action.forms_submit
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
89
|
end
|
|
125
90
|
|
|
126
91
|
end
|
|
File without changes
|
|
File without changes
|
|
@@ -11,7 +11,9 @@ section.rows builder: ->(row) do
|
|
|
11
11
|
array.each do |i|
|
|
12
12
|
index = page_index * batch_count + i
|
|
13
13
|
if local_assigns[:reorder]
|
|
14
|
-
row.thumbnail title: "Item #{index}"
|
|
14
|
+
row.thumbnail title: "Item #{index}", onReorder: ->(action) do
|
|
15
|
+
action.dialogs_notification title: "Item #{index}"
|
|
16
|
+
end, paramNameForFormData: 'message', paramNameForNewIndex: 'new_index'
|
|
15
17
|
else
|
|
16
18
|
row.thumbnail title: "Item #{index}", subtitle: "Sub Item #{index}", subsubtitle: "Sub Sub Item #{index}"
|
|
17
19
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -30,11 +30,5 @@ else
|
|
|
30
30
|
end
|
|
31
31
|
render 'json_ui/garage/lists/autoload_section', page: page, page_index: page_index, reorder: true
|
|
32
32
|
end
|
|
33
|
-
]
|
|
34
|
-
onDrop: {
|
|
35
|
-
action: 'dialogs/alert'
|
|
36
|
-
},
|
|
37
|
-
paramNameForFormData: 'message',
|
|
38
|
-
paramNameForNewIndex: 'new_index'
|
|
39
|
-
}
|
|
33
|
+
]
|
|
40
34
|
end
|
|
@@ -11,22 +11,6 @@ json_ui_page json do |page|
|
|
|
11
11
|
section.rows builder: ->(template) do
|
|
12
12
|
template.thumbnail title: 'Click me', onClick: ->(action) do
|
|
13
13
|
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
14
|
-
end,
|
|
15
|
-
accessory: ->(accessory) do
|
|
16
|
-
accessory.header \
|
|
17
|
-
width: 'matchParent',
|
|
18
|
-
backgroundColor: '#b3bac2',
|
|
19
|
-
padding: { top: 10, bottom: 10, left: 10, right: 10 },
|
|
20
|
-
childViews: ->(bottom) do
|
|
21
|
-
bottom.label text: 'Custom row header'
|
|
22
|
-
end
|
|
23
|
-
accessory.footer \
|
|
24
|
-
width: 'matchParent',
|
|
25
|
-
backgroundColor: '#b3bac2',
|
|
26
|
-
padding: { top: 10, bottom: 10, left: 10, right: 10 },
|
|
27
|
-
childViews: ->(bottom) do
|
|
28
|
-
bottom.label text: 'Custom row footer'
|
|
29
|
-
end
|
|
30
14
|
end
|
|
31
15
|
template.thumbnail title: 'Item with icon and subtitle', subtitle: 'Item subtitle', icon: 'facebook'
|
|
32
16
|
template.thumbnail title: 'Item with chips', chips: ->(menu) do
|
|
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
|
|
@@ -6,42 +6,44 @@ json_ui_page json do |page|
|
|
|
6
6
|
page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
7
7
|
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
8
8
|
column.h2 text: 'Tab Bar with Badge'
|
|
9
|
-
column.tabBar
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
9
|
+
column.tabBar \
|
|
10
|
+
activeIndex: params[:tab].to_i,
|
|
11
|
+
buttons: ->(menu) do
|
|
12
|
+
badges = [
|
|
13
|
+
{
|
|
14
|
+
text: nil,
|
|
15
|
+
backgroundColor: nil
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
text: 8,
|
|
19
|
+
backgroundColor: '#272551'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
text: '⭐⭐⭐',
|
|
23
|
+
backgroundColor: '#008000'
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
{
|
|
27
|
+
'FIRST' => 'home',
|
|
28
|
+
'SECOND' => 'schedule',
|
|
29
|
+
'THIRD' => 'analytics'
|
|
30
|
+
}.each_with_index do |(text, icon), index|
|
|
31
|
+
menu.button \
|
|
32
|
+
icon: icon,
|
|
33
|
+
text: text,
|
|
34
|
+
badge: badges[index],
|
|
35
|
+
disabled: params[:tab].to_i == index,
|
|
36
|
+
onClick: ->(action) do
|
|
37
|
+
action.windows_reload \
|
|
38
|
+
url: json_ui_garage_url(
|
|
39
|
+
path: 'pages/tab_bar',
|
|
40
|
+
tab: index,
|
|
41
|
+
tab_2: params[:tab_2],
|
|
42
|
+
tab_3: params[:tab_3]
|
|
43
|
+
)
|
|
44
|
+
end
|
|
42
45
|
end
|
|
43
|
-
|
|
44
|
-
end
|
|
46
|
+
end
|
|
45
47
|
column.spacer height: 10
|
|
46
48
|
|
|
47
49
|
column.label text: "Tab index #{params[:tab].to_i} selected"
|
|
@@ -55,22 +57,25 @@ json_ui_page json do |page|
|
|
|
55
57
|
|
|
56
58
|
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
57
59
|
column.h2 text: "Tab Bar with 'full-width-divider'"
|
|
58
|
-
column.tabBar
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
60
|
+
column.tabBar \
|
|
61
|
+
activeIndex: params[:tab_2].to_i,
|
|
62
|
+
styleClass: 'full-width-divider',
|
|
63
|
+
buttons: ->(menu) do
|
|
64
|
+
5.times do |index|
|
|
65
|
+
menu.button \
|
|
66
|
+
text: "Tab #{index}",
|
|
67
|
+
disabled: params[:tab_2].to_i == index,
|
|
68
|
+
onClick: ->(action) do
|
|
69
|
+
action.windows_reload \
|
|
70
|
+
url: json_ui_garage_url(
|
|
71
|
+
path: 'pages/tab_bar',
|
|
72
|
+
tab: params[:tab],
|
|
73
|
+
tab_2: index,
|
|
74
|
+
tab_3: params[:tab_3]
|
|
75
|
+
)
|
|
76
|
+
end
|
|
71
77
|
end
|
|
72
78
|
end
|
|
73
|
-
end
|
|
74
79
|
column.spacer height: 10
|
|
75
80
|
|
|
76
81
|
column.label text: "Tab-2 index #{params[:tab_2].to_i} selected"
|
|
@@ -79,22 +84,25 @@ json_ui_page json do |page|
|
|
|
79
84
|
|
|
80
85
|
scroll.panels_column lg: { cols: 8 }, childViews: ->(column) do
|
|
81
86
|
column.h2 text: "Tab Bar 'with no-grow'"
|
|
82
|
-
column.tabBar
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
column.tabBar \
|
|
88
|
+
activeIndex: params[:tab_3].to_i,
|
|
89
|
+
styleClass: 'no-grow',
|
|
90
|
+
buttons: ->(menu) do
|
|
91
|
+
5.times do |index|
|
|
92
|
+
menu.button \
|
|
93
|
+
text: "Tab #{index}",
|
|
94
|
+
disabled: params[:tab_3].to_i == index,
|
|
95
|
+
onClick: ->(action) do
|
|
96
|
+
action.windows_reload \
|
|
97
|
+
url: json_ui_garage_url(
|
|
98
|
+
path: 'pages/tab_bar',
|
|
99
|
+
tab: params[:tab],
|
|
100
|
+
tab_2: params[:tab_2],
|
|
101
|
+
tab_3: index
|
|
102
|
+
)
|
|
103
|
+
end
|
|
95
104
|
end
|
|
96
105
|
end
|
|
97
|
-
end
|
|
98
106
|
column.spacer height: 10
|
|
99
107
|
|
|
100
108
|
column.label text: "Tab-3 index #{params[:tab_3].to_i} selected"
|
|
File without changes
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
progress = params[:progress]&.to_i&.between?(0, 5) ? params[:progress].to_i : 0
|
|
2
2
|
|
|
3
3
|
tview.panels_responsive \
|
|
4
|
+
width: 400,
|
|
4
5
|
childViews: ->(res) do
|
|
5
6
|
res.panels_column sm: { cols: 11 }, childViews: ->(subcolumn) do
|
|
6
7
|
subcolumn.panels_column sm: { cols: 2, padding: { right: 10 } }, childViews: ->(inner_column) do
|
|
File without changes
|
|
File without changes
|
|
@@ -119,30 +119,13 @@ json_ui_page json do |page|
|
|
|
119
119
|
|
|
120
120
|
scroll.spacer height: 20
|
|
121
121
|
scroll.h1 text: 'Label combo (with onClick)'
|
|
122
|
-
scroll.panels_horizontal
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
backgroundColor: '#b3bac2',
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
panel.label text: 'Label 3'
|
|
130
|
-
end, onClick: ->(action) do
|
|
131
|
-
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
scroll.spacer height: 20
|
|
135
|
-
scroll.h1 text: 'Drag-and-drop support'
|
|
136
|
-
scroll.panels_horizontal backgroundColor: '#b3bac2', width: 300, distribution: 'spaceEqually', childViews: ->(panel) do
|
|
137
|
-
panel.button id: 'button1', text: '1'
|
|
138
|
-
panel.button id: 'button2', text: '2'
|
|
139
|
-
panel.button id: 'button3', text: '3'
|
|
140
|
-
end, dragSupport: {
|
|
141
|
-
onDrop: {
|
|
142
|
-
action: 'dialogs/alert',
|
|
143
|
-
},
|
|
144
|
-
paramNameForFormData: 'message'
|
|
145
|
-
}
|
|
122
|
+
scroll.panels_horizontal childViews: ->(panel) do
|
|
123
|
+
panel.label backgroundColor: '#b3bac2', text: 'Label 1'
|
|
124
|
+
panel.label text: 'Label 2'
|
|
125
|
+
panel.label backgroundColor: '#b3bac2', text: 'Label 3'
|
|
126
|
+
end, onClick: ->(action) do
|
|
127
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
128
|
+
end
|
|
146
129
|
|
|
147
130
|
scroll.label text: "\n"
|
|
148
131
|
end
|
|
File without changes
|
|
@@ -72,7 +72,7 @@ json_ui_page json do |page|
|
|
|
72
72
|
left.button text: '1'
|
|
73
73
|
end
|
|
74
74
|
content.center childViews: ->(center) do
|
|
75
|
-
center.label text: 'a very very very very very very very very very very very very very very very very very very very very very very very very very very very very
|
|
75
|
+
center.label text: 'a very very very very very very very very very very very very very very very very very very very very very very very very very very very very long text'
|
|
76
76
|
end
|
|
77
77
|
content.right childViews: ->(right) do
|
|
78
78
|
right.button text: '2'
|
|
@@ -26,7 +26,7 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
scroll.spacer height: 14
|
|
29
|
-
scroll.h2 text: 'Breadcrumbs
|
|
29
|
+
scroll.h2 text: 'Breadcrumbs'
|
|
30
30
|
scroll.spacer height: 6
|
|
31
31
|
scroll.panels_ul \
|
|
32
32
|
width: 'matchParent',
|
|
@@ -37,11 +37,8 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
|
|
|
37
37
|
ul.button text: 'Level 1', styleClass: 'link', onClick: ->(action) do
|
|
38
38
|
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
39
39
|
end
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
menu.button text: 'Dropdown item 1'
|
|
43
|
-
menu.button text: 'Dropdown item 2'
|
|
44
|
-
menu.button text: 'Dropdown item 3'
|
|
40
|
+
ul.button text: 'Level 2', styleClass: 'link', onClick: ->(action) do
|
|
41
|
+
action.windows_open url: json_ui_garage_url(path: 'home/blank')
|
|
45
42
|
end
|
|
46
43
|
ul.label text: 'Level 3'
|
|
47
44
|
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
|
|
@@ -8,34 +8,26 @@
|
|
|
8
8
|
<title>App</title>
|
|
9
9
|
<%= csrf_meta_tags %>
|
|
10
10
|
|
|
11
|
-
<%=
|
|
11
|
+
<%= vite_javascript_tag 'vue_renderer', defer: true %>
|
|
12
12
|
<%#= javascript_include_tag 'vue_renderer_extras', defer: true %>
|
|
13
13
|
|
|
14
|
-
<%=
|
|
14
|
+
<%= vite_stylesheet_tag 'vue_renderer' %>
|
|
15
15
|
|
|
16
16
|
<link href="//fonts.googleapis.com/css?family=Material+Icons" rel="stylesheet" />
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<%=
|
|
22
|
-
|
|
23
|
-
<% if @__glib_head_code %>
|
|
24
|
-
<%= @__glib_head_code.html_safe %>
|
|
25
|
-
<% end %>
|
|
17
|
+
<%# Without this, checkboxes and radio buttons will not display. %>
|
|
18
|
+
<link href="//cdn.materialdesignicons.com/2.1.99/css/materialdesignicons.min.css" rel="stylesheet" />
|
|
19
|
+
<%= yield :head %>
|
|
20
|
+
<% if @__glib_head_code %>
|
|
21
|
+
<%= @__glib_head_code.html_safe %>
|
|
22
|
+
<% end %>
|
|
26
23
|
</head>
|
|
27
|
-
|
|
28
24
|
<body>
|
|
29
25
|
<%= yield :header %>
|
|
30
|
-
|
|
31
26
|
<noscript>Please enable JavaScript to view this web site.</noscript>
|
|
32
27
|
<div id="app"></div>
|
|
33
|
-
|
|
34
28
|
<script>
|
|
35
29
|
var __page = <%= raw @__json_ui_orig_page%>;
|
|
36
30
|
</script>
|
|
37
|
-
|
|
38
31
|
<%= yield :footer %>
|
|
39
32
|
</body>
|
|
40
|
-
|
|
41
33
|
</html>
|
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/crypt/utils.rb
CHANGED
|
File without changes
|
data/lib/glib/crypt.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/lib/glib/dynamic_text.rb
CHANGED
|
File without changes
|
data/lib/glib/engine.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
|
|
File without changes
|
data/lib/glib/json_crawler.rb
CHANGED
|
File without changes
|
data/lib/glib/mailer_tester.rb
CHANGED
|
File without changes
|
data/lib/glib/value.rb
CHANGED
|
File without changes
|
data/lib/glib/version.rb
CHANGED
|
File without changes
|
data/lib/glib-web.rb
CHANGED
|
File without changes
|
data/lib/tasks/db.rake
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
|
+
version: 3.0.0.pre.beta1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ''
|
|
@@ -309,12 +309,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
309
309
|
version: '0'
|
|
310
310
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
311
311
|
requirements:
|
|
312
|
-
- - "
|
|
312
|
+
- - ">"
|
|
313
313
|
- !ruby/object:Gem::Version
|
|
314
|
-
version:
|
|
314
|
+
version: 1.3.1
|
|
315
315
|
requirements: []
|
|
316
|
-
|
|
317
|
-
rubygems_version: 2.7.6
|
|
316
|
+
rubygems_version: 3.1.4
|
|
318
317
|
signing_key:
|
|
319
318
|
specification_version: 4
|
|
320
319
|
summary: ''
|