glib-web 0.5.47 → 0.5.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/channels/glib/channel/is_typing_channel.rb +28 -0
- data/app/controllers/concerns/glib/analytics/funnel.rb +0 -0
- data/app/controllers/concerns/glib/auth/policy.rb +0 -0
- data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
- data/app/controllers/concerns/glib/json/traversal.rb +5 -0
- data/app/helpers/glib/app_feature_support_helper.rb +0 -0
- data/app/helpers/glib/dynamic_images_helper.rb +0 -0
- data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
- data/app/helpers/glib/enum_helper.rb +0 -0
- data/app/helpers/glib/forms_helper.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder.rb +9 -0
- data/app/helpers/glib/json_ui/action_builder/dialogs.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/http.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/snackbars.rb +0 -0
- data/app/helpers/glib/json_ui/action_builder/windows.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/list_builders.rb +6 -1
- data/app/helpers/glib/json_ui/menu_builder.rb +0 -0
- data/app/helpers/glib/json_ui/page_helper.rb +11 -3
- data/app/helpers/glib/json_ui/split_builders.rb +0 -0
- data/app/helpers/glib/json_ui/styling_helper.rb +0 -0
- data/app/helpers/glib/json_ui/table_builders.rb +0 -0
- data/app/helpers/glib/json_ui/view_builder.rb +1 -0
- data/app/helpers/glib/json_ui/view_builder/banners.rb +1 -0
- data/app/helpers/glib/json_ui/view_builder/fields.rb +2 -0
- data/app/helpers/glib/urls_helper.rb +5 -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/application_record.rb +0 -0
- data/app/models/glib/dynamic_text_record.rb +0 -0
- data/app/models/glib/text.rb +0 -0
- data/app/policies/glib/application_policy.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/_nav_menu.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_http.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/_snackbars.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +0 -0
- data/app/views/json_ui/garage/actions/_windows.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/basic.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/checkboxes.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.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/file_upload.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/get_request.json.jbuilder +20 -21
- data/app/views/json_ui/garage/forms/index.json.jbuilder +83 -85
- data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +28 -29
- data/app/views/json_ui/garage/forms/pickers.json.jbuilder +41 -43
- data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +0 -0
- data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +1 -1
- 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/text_validation.json.jbuilder +0 -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/lists/reordering.json.jbuilder +13 -3
- data/app/views/json_ui/garage/lists/templating.json.jbuilder +0 -0
- data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +97 -0
- data/app/views/json_ui/garage/notifications/index.json.jbuilder +5 -1
- data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/flat_centered.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/loading_indicator.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
- data/app/views/json_ui/garage/pages/tab_bar.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/carousel.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 +0 -0
- data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/responsive.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/split.json.jbuilder +0 -0
- data/app/views/json_ui/garage/panels/vertical.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/horizontal_scroll.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/tables/layout.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/banners.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/charts.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/icons.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/images.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/index.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/misc.json.jbuilder +0 -0
- data/app/views/json_ui/garage/views/texts.json.jbuilder +0 -0
- 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-web.rb +0 -0
- data/lib/glib/crypt.rb +0 -0
- data/lib/glib/crypt/utils.rb +0 -0
- data/lib/glib/dynamic_text.rb +0 -0
- data/lib/glib/dynamic_text/config.rb +0 -0
- data/lib/glib/engine.rb +0 -0
- data/lib/glib/json_crawler.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/forms_submit.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
- data/lib/glib/json_crawler/action_crawlers/nav_initiate.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/http.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/tasks/db.rake +0 -0
- metadata +19 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65a2bc305ef53f9a39b851abfa09c8e760b174c74c2a8fcf41a7d04c527ef0ee
|
|
4
|
+
data.tar.gz: 5a75ed552c05fcf47468e8d91e630dd4567d5f5028656324ef36d5d0818bd8e3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9ac891b106a5e45b949d523464c82152f24166bc61e274a0377108cee8a3784e97cda6b2627340d1c1fa7cb0187870a3526fd60e6e5d3da01443e24e50b60313
|
|
7
|
+
data.tar.gz: 4e15c49028568df461f16c3de40b7c22bbfdc5e6ff2cfdd938f55e1e6263041a52f95620eef38126d7531c3ba3b10e31a1d7d2c7cb46a75d94be589d724fe9b2
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Glib
|
|
2
|
+
module Channel
|
|
3
|
+
class IsTypingChannel < ApplicationCable::Channel
|
|
4
|
+
class << self
|
|
5
|
+
attr_accessor :channel_name
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def channel_name
|
|
9
|
+
self.class.channel_name
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def subscribed
|
|
13
|
+
stream_from "#{self.class.channel_name}_#{params['conversation_id']}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def typing(data)
|
|
17
|
+
ActionCable.server.broadcast \
|
|
18
|
+
"#{self.class.channel_name}_#{params['conversation_id']}",
|
|
19
|
+
action: {
|
|
20
|
+
action: 'component/set',
|
|
21
|
+
name: User.find(data['user_id']).full_name,
|
|
22
|
+
status: data['status'],
|
|
23
|
+
user_id: data['user_id']
|
|
24
|
+
}
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -73,6 +73,11 @@ module Glib::Json::Traversal
|
|
|
73
73
|
traverse_vertical_content view['center'], block
|
|
74
74
|
traverse_vertical_content view['right'], block
|
|
75
75
|
|
|
76
|
+
# List template
|
|
77
|
+
traverse_multiple view['editButtons'], block
|
|
78
|
+
traverse_multiple view['leftButtons'], block
|
|
79
|
+
traverse_multiple view['rightButtons'], block
|
|
80
|
+
|
|
76
81
|
# TODO: crawl header and footer
|
|
77
82
|
# Table/List
|
|
78
83
|
if (sections = view['sections']).is_a? Array
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -95,10 +95,19 @@ module Glib
|
|
|
95
95
|
end
|
|
96
96
|
end
|
|
97
97
|
|
|
98
|
+
module Cables
|
|
99
|
+
class Push < Action
|
|
100
|
+
string :channel
|
|
101
|
+
string :event
|
|
102
|
+
hash :payload
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
98
106
|
module Timeouts
|
|
99
107
|
class Set < Action
|
|
100
108
|
int :interval # Milliseconds
|
|
101
109
|
action :onTimeout
|
|
110
|
+
bool :repeat
|
|
102
111
|
end
|
|
103
112
|
|
|
104
113
|
# FUTURE
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -11,6 +11,7 @@ module Glib
|
|
|
11
11
|
menu :rightButtons
|
|
12
12
|
menu :editButtons
|
|
13
13
|
menu :chips
|
|
14
|
+
singleton_array :styleClass, :styleClasses
|
|
14
15
|
|
|
15
16
|
# def editButtons(block)
|
|
16
17
|
# json.editButtons do
|
|
@@ -37,7 +38,11 @@ module Glib
|
|
|
37
38
|
bool :avatar
|
|
38
39
|
action :onReorder
|
|
39
40
|
string :paramNameForFormData
|
|
40
|
-
string :
|
|
41
|
+
string :paramNameForNewAbsoluteIndex
|
|
42
|
+
string :paramNameForNewSectionIndex
|
|
43
|
+
string :paramNameForNewSectionedRowIndex
|
|
44
|
+
|
|
45
|
+
string :paramNameForNewIndex # Deprecated
|
|
41
46
|
|
|
42
47
|
# # NOTE: Experimental. Still deciding whether this needs to be a full blown panel or
|
|
43
48
|
# # an array of badges (with relevant properties, e.g. text, color, etc)
|
|
File without changes
|
|
@@ -201,9 +201,17 @@ module Glib
|
|
|
201
201
|
raise "Invalid properties: #{options.keys}" if options.size > 0
|
|
202
202
|
end
|
|
203
203
|
|
|
204
|
-
def onLoad(options = {})
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
# def onLoad(options = {})
|
|
205
|
+
# json.onLoad do
|
|
206
|
+
# yield @action_builder
|
|
207
|
+
# end
|
|
208
|
+
# end
|
|
209
|
+
|
|
210
|
+
def on(options = {})
|
|
211
|
+
if (on_load = options[:load])
|
|
212
|
+
json.onLoad do
|
|
213
|
+
on_load.call @action_builder
|
|
214
|
+
end
|
|
207
215
|
end
|
|
208
216
|
end
|
|
209
217
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,5 +3,10 @@ module Glib
|
|
|
3
3
|
def glib_url_current(new_params)
|
|
4
4
|
url_for(params.to_unsafe_h.merge(new_params.merge(only_path: false)))
|
|
5
5
|
end
|
|
6
|
+
|
|
7
|
+
def glib_url_equals_current?(url)
|
|
8
|
+
route = Rails.application.routes.recognize_path(url)
|
|
9
|
+
route[:controller] == controller_name && route[:action] == action_name
|
|
10
|
+
end
|
|
6
11
|
end
|
|
7
12
|
end
|
|
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
|
|
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
|
|
@@ -2,27 +2,26 @@ json.title 'Forms'
|
|
|
2
2
|
|
|
3
3
|
data = params[:user] || {}
|
|
4
4
|
|
|
5
|
-
json_ui_page json
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
end
|
|
5
|
+
page = json_ui_page json
|
|
6
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page
|
|
7
|
+
|
|
8
|
+
page.form url: json_ui_garage_url(path: 'forms/get_request'), method: 'get', padding: glib_json_padding_body, childViews: ->(form) do
|
|
9
|
+
# TODO: Potential improvement:
|
|
10
|
+
# Use `reload` behaviour instead of `open` (i.e. don't keep adding URL to history).
|
|
11
|
+
# Probably introduce a flag to panels_form so developer can enable/disable this behaviour.
|
|
12
|
+
form.h3 text: "Hello #{ data[:name] }"
|
|
13
|
+
form.spacer height: 6
|
|
14
|
+
form.label text: 'On the web, upon submit, URL needs to change on the browser'
|
|
15
|
+
form.spacer height: 10
|
|
16
|
+
form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
|
|
17
|
+
|
|
18
|
+
# form.panels_split width: 'matchParent', rightViews: ->(split) do
|
|
19
|
+
# split.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
20
|
+
# end
|
|
21
|
+
|
|
22
|
+
form.panels_split width: 'matchParent', content: ->(split) do
|
|
23
|
+
split.right childViews: ->(right) do
|
|
24
|
+
right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
|
|
26
25
|
end
|
|
27
26
|
end
|
|
28
27
|
end
|
|
@@ -1,110 +1,108 @@
|
|
|
1
1
|
json.title 'Forms'
|
|
2
2
|
|
|
3
|
-
json_ui_page json
|
|
4
|
-
|
|
3
|
+
page = json_ui_page json
|
|
4
|
+
render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
section.rows builder: ->(template) do
|
|
13
|
-
template.thumbnail title: 'Basic Logic', onClick: ->(action) do
|
|
14
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/basic')
|
|
15
|
-
end
|
|
16
|
-
template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
|
|
17
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
|
|
18
|
-
end
|
|
19
|
-
template.thumbnail title: "Submission Indicator", onClick: ->(action) do
|
|
20
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
|
|
21
|
-
end
|
|
22
|
-
template.thumbnail title: 'GET Request', onClick: ->(action) do
|
|
23
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
|
|
24
|
-
end
|
|
6
|
+
page.list sections: [
|
|
7
|
+
->(section) do
|
|
8
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
9
|
+
header.h2 text: 'Submission Logics'
|
|
10
|
+
end
|
|
25
11
|
|
|
12
|
+
section.rows builder: ->(template) do
|
|
13
|
+
template.thumbnail title: 'Basic Logic', onClick: ->(action) do
|
|
14
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/basic')
|
|
26
15
|
end
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
template.thumbnail title: "Submission Flow (timestamp: #{DateTime.current.to_i})", onClick: ->(action) do
|
|
17
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/submission_flow')
|
|
18
|
+
end
|
|
19
|
+
template.thumbnail title: "Submission Indicator", onClick: ->(action) do
|
|
20
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/submission_indicator')
|
|
21
|
+
end
|
|
22
|
+
template.thumbnail title: 'GET Request', onClick: ->(action) do
|
|
23
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/get_request')
|
|
30
24
|
end
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
|
|
38
|
-
end
|
|
39
|
-
template.thumbnail title: 'Conditional Value', onClick: ->(action) do
|
|
40
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/conditional_value')
|
|
41
|
-
end
|
|
26
|
+
end
|
|
27
|
+
end, ->(section) do
|
|
28
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
29
|
+
header.h2 text: 'Form Logics'
|
|
30
|
+
end
|
|
42
31
|
|
|
32
|
+
section.rows builder: ->(template) do
|
|
33
|
+
template.thumbnail title: 'Text Validation', onClick: ->(action) do
|
|
34
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/text_validation')
|
|
35
|
+
end
|
|
36
|
+
template.thumbnail title: 'Show/Hide', onClick: ->(action) do
|
|
37
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
|
|
43
38
|
end
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
header.h2 text: 'Form Fields'
|
|
39
|
+
template.thumbnail title: 'Conditional Value', onClick: ->(action) do
|
|
40
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/conditional_value')
|
|
47
41
|
end
|
|
48
42
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/selects')
|
|
55
|
-
end
|
|
56
|
-
template.thumbnail title: 'File Upload', onClick: ->(action) do
|
|
57
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/file_upload')
|
|
58
|
-
end
|
|
59
|
-
template.thumbnail title: 'Floating Submit', onClick: ->(action) do
|
|
60
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
|
|
61
|
-
end
|
|
43
|
+
end
|
|
44
|
+
end, ->(section) do
|
|
45
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
46
|
+
header.h2 text: 'Form Fields'
|
|
47
|
+
end
|
|
62
48
|
|
|
49
|
+
section.rows builder: ->(template) do
|
|
50
|
+
template.thumbnail title: 'Pickers', onClick: ->(action) do
|
|
51
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/pickers')
|
|
63
52
|
end
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
header.h2 text: 'Styling'
|
|
53
|
+
template.thumbnail title: 'Select Fields', onClick: ->(action) do
|
|
54
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/selects')
|
|
67
55
|
end
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/styled_boxes')
|
|
71
|
-
end
|
|
56
|
+
template.thumbnail title: 'File Upload', onClick: ->(action) do
|
|
57
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/file_upload')
|
|
72
58
|
end
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
header.h2 text: 'Web Only'
|
|
59
|
+
template.thumbnail title: 'Floating Submit', onClick: ->(action) do
|
|
60
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/floating_submit')
|
|
76
61
|
end
|
|
77
62
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
63
|
+
end
|
|
64
|
+
end, ->(section) do
|
|
65
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
66
|
+
header.h2 text: 'Styling'
|
|
67
|
+
end
|
|
68
|
+
section.rows builder: ->(template) do
|
|
69
|
+
template.thumbnail title: 'Text Boxes', onClick: ->(action) do
|
|
70
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/styled_boxes')
|
|
82
71
|
end
|
|
72
|
+
end
|
|
73
|
+
end, ->(section) do
|
|
74
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
75
|
+
header.h2 text: 'Web Only'
|
|
76
|
+
end
|
|
83
77
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
end
|
|
88
|
-
|
|
78
|
+
section.rows builder: ->(template) do
|
|
79
|
+
template.thumbnail title: 'Rich Text Editor', onClick: ->(action) do
|
|
80
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/rich_text')
|
|
89
81
|
end
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
section.rows builder: ->(template) do
|
|
85
|
+
template.thumbnail title: 'New Rich Text Editor', onClick: ->(action) do
|
|
86
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/new_rich_text')
|
|
93
87
|
end
|
|
94
88
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_select')
|
|
101
|
-
end
|
|
102
|
-
template.thumbnail title: 'Checkboxes', onClick: ->(action) do
|
|
103
|
-
action.windows_open url: json_ui_garage_url(path: 'forms/checkboxes')
|
|
104
|
-
end
|
|
89
|
+
end
|
|
90
|
+
end, ->(section) do
|
|
91
|
+
section.header padding: glib_json_padding_list, childViews: ->(header) do
|
|
92
|
+
header.h2 text: 'Experimental (not required yet)'
|
|
93
|
+
end
|
|
105
94
|
|
|
95
|
+
section.rows builder: ->(template) do
|
|
96
|
+
template.thumbnail title: 'Dynamic Group', onClick: ->(action) do
|
|
97
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_group')
|
|
98
|
+
end
|
|
99
|
+
template.thumbnail title: 'Dynamic Select', onClick: ->(action) do
|
|
100
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/dynamic_select')
|
|
101
|
+
end
|
|
102
|
+
template.thumbnail title: 'Checkboxes', onClick: ->(action) do
|
|
103
|
+
action.windows_open url: json_ui_garage_url(path: 'forms/checkboxes')
|
|
106
104
|
end
|
|
107
|
-
end
|
|
108
|
-
]
|
|
109
105
|
|
|
110
|
-
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
]
|