glib-web 0.5.38 → 0.5.43

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 347507dbedf205e468be58cca441b8dac67e217be1895537c2f7b347d69f6412
4
- data.tar.gz: e611ba1dbf75e8affbaae6e29dc5c5f752c8286edc1a205c31a32ac4650b90ff
3
+ metadata.gz: 0b8d44468bb10a4b5bd570d12d233ea3a0057be5e666466575204e7e445de360
4
+ data.tar.gz: 3f9d79903871a7a8f59a786c637d42f7e33bba1dfccc8c652544201e9df77ae9
5
5
  SHA512:
6
- metadata.gz: f57cd676fcad8b49add5d460be9707726e42cfa9db6fd701d7d3250ebe9cae9a2930429a2f6b4be56ca64b0fd6d655bcc01c245c7aa4cfa16ed2419cdfa1194c
7
- data.tar.gz: 9d66d6fac6e1f00a2c3131e042302309ea0cb923576da3606a84a988b9d1feae91c2dc85c7114d6dc8b07994b1faa617ecbbbf2c804ddbe060ceb3e610f871c0
6
+ metadata.gz: 5dbedf4e29bc182bce5af77d0c9b392100e030a21fd8ed03dcd56bf1bb2c1c70f3f5d72cda358454e0058a88df16e1a2e83017bf983f42083c57da0f9187f1db
7
+ data.tar.gz: 1d80db9408c05b6ce3a2a9356e0aa01aa3f6489276424543996f0f248afe2366b687fc3127c4eda8f3e336d92b3479c88225f619d69df7ed1c9b2c52e1f921db
@@ -23,6 +23,7 @@ module Glib::Json::Ui
23
23
  options = {}
24
24
  options[:_render] = params[:_render]
25
25
  options[:_locale] = params[:_locale]
26
+ options[:_preview] = params[:_preview]
26
27
  options[:format] = :json if request.format == :json
27
28
  options
28
29
  end
@@ -263,6 +263,14 @@ module Glib
263
263
  end
264
264
  end
265
265
 
266
+ def self.menu(propName)
267
+ define_method(propName) do |value|
268
+ json.set! propName do
269
+ value.call(page.menu_builder)
270
+ end
271
+ end
272
+ end
273
+
266
274
  def self.singleton_array(singletonName, arrayName)
267
275
  array arrayName
268
276
 
@@ -7,23 +7,22 @@ module Glib
7
7
  end
8
8
 
9
9
  class AbstractTemplate < JsonUiElement
10
- # def contextButtons(block)
11
- # json.contextButtons do
10
+ menu :leftButtons
11
+ menu :rightButtons
12
+ menu :editButtons
13
+ menu :chips
14
+
15
+ # def editButtons(block)
16
+ # json.editButtons do
12
17
  # block.call page.menu_builder
13
18
  # end
14
19
  # end
15
20
 
16
- def editButtons(block)
17
- json.editButtons do
18
- block.call page.menu_builder
19
- end
20
- end
21
-
22
- def chips(block)
23
- json.chips do
24
- block.call page.menu_builder
25
- end
26
- end
21
+ # def chips(block)
22
+ # json.chips do
23
+ # block.call page.menu_builder
24
+ # end
25
+ # end
27
26
  end
28
27
 
29
28
  class Standard < AbstractTemplate
@@ -48,10 +48,15 @@ module Glib
48
48
  end
49
49
 
50
50
  def json_ui_action(json)
51
- @__json_ui_section ||= Page.new(json, self)
52
- @__json_ui_section.action_builder
51
+ @__json_ui_action ||= Page.new(json, self)
52
+ @__json_ui_action.action_builder
53
53
  end
54
54
 
55
+ # def json_ui_view(json)
56
+ # @__json_ui_view ||= Page.new(json, self)
57
+ # @__json_ui_view.view_builder
58
+ # end
59
+
55
60
  def json_ui_action_payload(&block)
56
61
  dataJson = Jbuilder.new
57
62
  block&.call Page.new(dataJson, self).action_builder
@@ -30,6 +30,7 @@ module Glib
30
30
  hash :padding
31
31
  singleton_array :styleClass, :styleClasses
32
32
  hash :showIf
33
+ hash :valueIf
33
34
  hash :analytics
34
35
 
35
36
  # def initialize(json, page)
@@ -147,6 +148,7 @@ module Glib
147
148
  end
148
149
 
149
150
  class Hr < View
151
+ color :color
150
152
  end
151
153
 
152
154
  class Spacer < View
@@ -157,6 +159,7 @@ module Glib
157
159
  float :longitude
158
160
  int :zoom
159
161
  string :dataUrl
162
+ bool :cluster
160
163
  end
161
164
 
162
165
  class Chip < View
@@ -4,6 +4,7 @@ class Glib::JsonUi::ViewBuilder
4
4
  class AbstractField < View
5
5
  bool :readOnly
6
6
  hash :validation
7
+ # string :label
7
8
 
8
9
  def label(label)
9
10
  @label = label
@@ -39,20 +40,20 @@ class Glib::JsonUi::ViewBuilder
39
40
 
40
41
  def prop(prop)
41
42
  @prop = prop
42
- # if (form = page.current_form)
43
- # @name ||= form.field_name(prop)
44
- # @value ||= form.field_value(prop)
45
- # end
46
43
  end
47
44
 
48
45
  # Override
49
46
  def created
50
47
  if @prop && (form = page.current_form)
48
+ form.field_assert_respond_to(@prop)
49
+
51
50
  @name ||= form.field_name(@prop, @multiple || false)
52
51
  @value ||= form.field_value(@prop)
53
52
  @label ||= form.field_label(@prop, @label_args || {})
54
53
  @hint ||= form.hint_label(@prop, @hint_args || {})
55
54
  @placeholder ||= form.placeholder_label(@prop, @placeholder_args || {})
55
+
56
+ @validation ||= form.field_validation(@prop)
56
57
  end
57
58
  json.name @name
58
59
  json.value @value if @value
@@ -63,6 +64,9 @@ class Glib::JsonUi::ViewBuilder
63
64
  # - Placeholder gets hidden when there is input which may be confusing
64
65
  # - Placeholder competes with label for space
65
66
  json.placeholder @placeholder if @placeholder
67
+
68
+ # TODO: Add a flag so the framework's user can turn it on and off.
69
+ # json.validation @validation if @validation
66
70
  end
67
71
 
68
72
  end
@@ -16,6 +16,11 @@ class Glib::JsonUi::ViewBuilder
16
16
  @model.class.try(:reflect_on_association, prop)&.macro == :has_many
17
17
  end
18
18
 
19
+ def field_assert_respond_to(prop)
20
+ # Identify a prop being used on a nil model or incorrect model.
21
+ raise "Invalid property `#{prop}` on '#{@model.class}'" unless @model.respond_to?(prop)
22
+ end
23
+
19
24
  def field_name(prop, multiple)
20
25
  suffix = is_array_association?(prop) || multiple ? '[]' : ''
21
26
  "#{@model_name}[#{prop}]#{suffix}"
@@ -41,6 +46,16 @@ class Glib::JsonUi::ViewBuilder
41
46
  I18n.t("dt_models.#{@model_name}.#{prop}.placeholder", args.merge(default: nil))
42
47
  end
43
48
 
49
+ def field_validation(prop)
50
+ validations = {}
51
+ @model.class.validators_on(prop).each do |validator|
52
+ if validator.kind == :presence
53
+ validations[:required] = { message: 'Required' }
54
+ end
55
+ end
56
+ validations
57
+ end
58
+
44
59
  def url(url)
45
60
  @url = url
46
61
  end
@@ -78,7 +93,7 @@ class Glib::JsonUi::ViewBuilder
78
93
  json.childViews do
79
94
  if @method != :get
80
95
  json.child! do
81
- json.view 'fields/hidden-v1'
96
+ json.view 'fields/hidden'
82
97
  json.name 'authenticity_token'
83
98
  json.value page.context.form_authenticity_token
84
99
  end
@@ -1,23 +1,22 @@
1
1
  json.title 'Actions'
2
2
 
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page, top_nav: true
5
5
 
6
- page.list sections: [
7
- ->(section) do
8
- render "#{@path_prefix}/actions/reload", section: section
9
- end, ->(section) do
10
- render "#{@path_prefix}/actions/dialogs", section: section
11
- end, ->(section) do
12
- render "#{@path_prefix}/actions/snackbars", section: section
13
- end, ->(section) do
14
- render "#{@path_prefix}/actions/sheets", section: section
15
- end, ->(section) do
16
- render "#{@path_prefix}/actions/windows", section: section
17
- end, ->(section) do
18
- render "#{@path_prefix}/actions/timeouts", section: section
19
- end, ->(section) do
20
- render "#{@path_prefix}/actions/http", section: section
21
- end
22
- ]
23
- end
6
+ page.list sections: [
7
+ ->(section) do
8
+ render "#{@path_prefix}/actions/reload", section: section
9
+ end, ->(section) do
10
+ render "#{@path_prefix}/actions/dialogs", section: section
11
+ end, ->(section) do
12
+ render "#{@path_prefix}/actions/snackbars", section: section
13
+ end, ->(section) do
14
+ render "#{@path_prefix}/actions/sheets", section: section
15
+ end, ->(section) do
16
+ render "#{@path_prefix}/actions/windows", section: section
17
+ end, ->(section) do
18
+ render "#{@path_prefix}/actions/timeouts", section: section
19
+ end, ->(section) do
20
+ render "#{@path_prefix}/actions/http", section: section
21
+ end
22
+ ]
@@ -1,22 +1,21 @@
1
1
  json.title 'Forms'
2
2
 
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
5
 
6
- page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
- form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
8
- form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
6
+ page.form url: json_ui_garage_url(path: 'forms/basic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
+ form.fields_text name: 'user[name]', width: 'matchParent', label: 'Name'
8
+ form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password'
9
9
 
10
- form.panels_split width: 'matchParent', content: ->(split) do
11
- split.left childViews: ->(left) do
12
- if params[:mode] == 'dialog'
13
- left.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
14
- end
15
- end
16
- split.right childViews: ->(right) do
17
- # right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
- right.fields_submit text: 'Submit'
10
+ form.panels_split width: 'matchParent', content: ->(split) do
11
+ split.left childViews: ->(left) do
12
+ if params[:mode] == 'dialog'
13
+ left.button styleClass: 'link', text: 'cancel', onClick: ->(action) { action.dialogs_close }
19
14
  end
20
15
  end
16
+ split.right childViews: ->(right) do
17
+ # right.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
+ right.fields_submit text: 'Submit'
19
+ end
21
20
  end
22
21
  end
@@ -1,44 +1,43 @@
1
1
  json.title 'Forms'
2
2
 
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll childViews: ->(scroll) do
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
7
5
 
8
- scroll.panels_form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
9
- form.spacer height: 20
10
- form.h2 text: 'Check Group'
11
- form.fields_checkGroup name: 'user[skills][]', uncheckValue: 1, childViews: ->(group) do
12
- form.fields_check value: 2, label: 'Game Development'
13
- form.fields_check value: 3, label: 'Web Development'
14
- form.fields_check value: 4, label: 'Mobile Development'
15
- end
6
+ page.scroll childViews: ->(scroll) do
7
+
8
+ scroll.panels_form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
9
+ form.spacer height: 20
10
+ form.h2 text: 'Check Group'
11
+ form.fields_checkGroup name: 'user[skills][]', uncheckValue: 1, childViews: ->(group) do
12
+ form.fields_check value: 2, label: 'Game Development'
13
+ form.fields_check value: 3, label: 'Web Development'
14
+ form.fields_check value: 4, label: 'Mobile Development'
15
+ end
16
16
 
17
- form.spacer height: 20
18
- form.h2 text: 'Rating'
19
- form.spacer height: 6
20
- form.fields_radioGroup name: 'user[rating1][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', childViews: ->(panel) do
21
- panel.panels_horizontal childViews: ->(panel) do
22
- panel.fields_radio value: 1
23
- panel.fields_radio value: 2
24
- panel.fields_radio value: 3
25
- panel.fields_radio value: 4
26
- panel.fields_radio value: 5
27
- end
17
+ form.spacer height: 20
18
+ form.h2 text: 'Rating'
19
+ form.spacer height: 6
20
+ form.fields_radioGroup name: 'user[rating1][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', childViews: ->(panel) do
21
+ panel.panels_horizontal childViews: ->(panel) do
22
+ panel.fields_radio value: 1
23
+ panel.fields_radio value: 2
24
+ panel.fields_radio value: 3
25
+ panel.fields_radio value: 4
26
+ panel.fields_radio value: 5
28
27
  end
29
- form.fields_radioGroup name: 'user[rating2][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', value: 1, childViews: ->(panel) do
30
- panel.panels_horizontal childViews: ->(panel) do
31
- panel.fields_radio value: 1
32
- panel.fields_radio value: 2
33
- panel.fields_radio value: 3
34
- panel.fields_radio value: 4
35
- panel.fields_radio value: 5
36
- end
28
+ end
29
+ form.fields_radioGroup name: 'user[rating2][]', iconOfSelected: 'star', iconOfBeforeSelected: 'star', iconOfAfterSelected: 'star_border', value: 1, childViews: ->(panel) do
30
+ panel.panels_horizontal childViews: ->(panel) do
31
+ panel.fields_radio value: 1
32
+ panel.fields_radio value: 2
33
+ panel.fields_radio value: 3
34
+ panel.fields_radio value: 4
35
+ panel.fields_radio value: 5
37
36
  end
38
-
39
- form.spacer height: 20
40
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
41
37
  end
42
-
38
+
39
+ form.spacer height: 20
40
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
43
41
  end
42
+
44
43
  end
@@ -0,0 +1,36 @@
1
+ json.title 'Forms'
2
+
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
+ form.spacer height: 20
8
+ form.h2 text: 'Date'
9
+ form.spacer height: 6
10
+ form.fields_date name: 'user[date_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01'
11
+ form.fields_date name: 'user[date_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
12
+ "+": [
13
+ {
14
+ "var": 'user[date_start]'
15
+ },
16
+ 24 * 3600
17
+ ]
18
+ }
19
+
20
+ form.spacer height: 20
21
+ form.h2 text: 'Date/Time'
22
+ form.spacer height: 6
23
+ form.fields_datetime name: 'user[datetime_start]', width: 'matchParent', label: 'Start Date', min: '2010-01-01', max: '2012-01-01', value: '2010-02-01T01:00'
24
+ form.fields_datetime name: 'user[datetime_end]', width: 'matchParent', label: 'End Date', min: '2010-01-01', max: '2012-01-01', valueIf: {
25
+ "+": [
26
+ {
27
+ "var": 'user[datetime_start]'
28
+ },
29
+ 3600
30
+ ]
31
+ }
32
+
33
+ form.spacer height: 20
34
+ form.fields_submit text: 'Submit'
35
+ form.spacer height: 40
36
+ end
@@ -36,6 +36,9 @@ json_ui_page json do |page|
36
36
  template.thumbnail title: 'Show/Hide', onClick: ->(action) do
37
37
  action.windows_open url: json_ui_garage_url(path: 'forms/show_hide')
38
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
39
42
 
40
43
  end
41
44
  end, ->(section) do
@@ -5,7 +5,18 @@ json_ui_page json do |page|
5
5
 
6
6
  page.list firstSection: ->(section) do
7
7
  section.rows builder: ->(template) do
8
- template.thumbnail title: 'Click menu (web) or swipe left (Android/iOS)', editButtons: ->(menu) do
8
+ template.thumbnail title: 'Click menu (web) or swipe left (Android/iOS)', leftButtons: ->(menu) do
9
+ menu.button styleClass: 'icon', icon: 'check_box', onClick: ->(subaction) do
10
+ subaction.dialogs_alert message: 'Tick/untick'
11
+ end
12
+ end, rightButtons: ->(menu) do
13
+ menu.button styleClass: 'icon', icon: 'share', onClick: ->(subaction) do
14
+ subaction.dialogs_alert message: 'Share'
15
+ end
16
+ menu.button styleClass: 'icon', icon: 'open_in_new', onClick: ->(subaction) do
17
+ subaction.dialogs_alert message: 'Open'
18
+ end
19
+ end, editButtons: ->(menu) do
9
20
  menu.button text: 'Edit', onClick: ->(action) do
10
21
  action.dialogs_alert message: 'Perform action'
11
22
  end
@@ -8,7 +8,7 @@ json_ui_page json do |page|
8
8
  template.thumbnail icon: 'list', title: 'Templating', onClick: ->(action) do
9
9
  action.windows_open url: json_ui_garage_url(path: 'lists/templating')
10
10
  end
11
- template.thumbnail title: 'Edit Actions', onClick: ->(action) do
11
+ template.thumbnail title: 'Action Buttons', onClick: ->(action) do
12
12
  action.windows_open url: json_ui_garage_url(path: 'lists/edit_actions')
13
13
  end
14
14
  template.thumbnail title: 'FAB (Floating Action Button)', onClick: ->(action) do
@@ -22,6 +22,9 @@ json_ui_page json do |page|
22
22
  template.thumbnail title: 'Banners', onClick: ->(action) do
23
23
  action.windows_open url: json_ui_garage_url(path: 'views/banners')
24
24
  end
25
+ template.thumbnail title: 'Maps', onClick: ->(action) do
26
+ action.windows_open url: json_ui_garage_url(path: 'views/maps')
27
+ end
25
28
  template.thumbnail title: 'Misc', onClick: ->(action) do
26
29
  action.windows_open url: json_ui_garage_url(path: 'views/misc')
27
30
  end
@@ -0,0 +1,41 @@
1
+
2
+ json.pins do
3
+ locations = [
4
+ { lat: -31.56391, lng: 147.154312 },
5
+ { lat: -33.718234, lng: 150.363181 },
6
+ { lat: -33.727111, lng: 150.371124 },
7
+ { lat: -33.848588, lng: 151.209834 },
8
+ { lat: -33.851702, lng: 151.216968 },
9
+ { lat: -34.671264, lng: 150.863657 },
10
+ { lat: -35.304724, lng: 148.662905 },
11
+ { lat: -36.817685, lng: 175.699196 },
12
+ { lat: -36.828611, lng: 175.790222 },
13
+ { lat: -37.75, lng: 145.116667 },
14
+ { lat: -37.759859, lng: 145.128708 },
15
+ { lat: -37.765015, lng: 145.133858 },
16
+ { lat: -37.770104, lng: 145.143299 },
17
+ { lat: -37.7737, lng: 145.145187 },
18
+ { lat: -37.774785, lng: 145.137978 },
19
+ { lat: -37.819616, lng: 144.968119 },
20
+ { lat: -38.330766, lng: 144.695692 },
21
+ { lat: -39.927193, lng: 175.053218 },
22
+ { lat: -41.330162, lng: 174.865694 },
23
+ { lat: -42.734358, lng: 147.439506 },
24
+ { lat: -42.734358, lng: 147.501315 },
25
+ { lat: -42.735258, lng: 147.438 },
26
+ { lat: -43.999792, lng: 170.463352 },
27
+ { lat: 49.003109, lng: 108.490479, size: 3500000 },
28
+ { lat: -6.611423, lng: 141.922091, size: 3700 },
29
+ ];
30
+
31
+ locations.each do |location|
32
+ json.child! do
33
+ json.latitude location[:lat]
34
+ json.longitude location[:lng]
35
+ json.clusterSize location[:size]
36
+ json.infoWindow do
37
+ json.title "TEST #{rand(1000)}"
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,6 +1,7 @@
1
1
 
2
- json.pins do
2
+ page = json_ui_page json
3
3
 
4
+ json.pins do
4
5
  latitude = params[:lat]&.to_f
5
6
  longitude = params[:long]&.to_f
6
7
 
@@ -37,7 +38,14 @@ json.pins do
37
38
  json.infoWindow do
38
39
  json.title 'You'
39
40
  json.subtitle 'Current location'
40
- json.subsubtitle "#{latitude}, #{longitude}"
41
+
42
+ json.body do
43
+ page.vertical_content padding: { top: 10 }, childViews: ->(body) do
44
+ body.button text: 'Info', onClick: ->(action) do
45
+ action.dialogs_alert message: "#{latitude}, #{longitude}"
46
+ end
47
+ end
48
+ end
41
49
  end
42
50
  end
43
51
  end
@@ -0,0 +1,31 @@
1
+ json.title 'Views'
2
+
3
+ json_ui_page json do |page|
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.spacer height: 20
8
+ scroll.h2 text: 'Map with Markers'
9
+ scroll.spacer height: 6
10
+ scroll.map \
11
+ width: 'matchParent',
12
+ latitude: 13.4837,
13
+ longitude: 144.7917,
14
+ zoom: 11,
15
+ height: 250,
16
+ dataUrl: json_ui_garage_url(path: 'views/map_data')
17
+
18
+ scroll.spacer height: 20
19
+ scroll.h2 text: 'Map with Clustered Markers'
20
+ scroll.spacer height: 6
21
+ scroll.map \
22
+ width: 'matchParent',
23
+ latitude: -42.162376,
24
+ longitude: 172.671437,
25
+ zoom: 7,
26
+ height: 480,
27
+ cluster: true,
28
+ dataUrl: json_ui_garage_url(path: 'views/map_cluster_data')
29
+
30
+ end
31
+ end
@@ -20,10 +20,10 @@ json_ui_page json do |page|
20
20
  scroll.datetime value: 1.week.ago, format: 'YYYY-MM-DD'
21
21
  scroll.datetime value: DateTime.current, format: 'hh:mm:ss', tick: true
22
22
 
23
- scroll.spacer height: 20
24
- scroll.h2 text: 'Map'
25
- scroll.spacer height: 6
26
- scroll.map width: 'matchParent', latitude: 13.4837, longitude: 144.7917, zoom: 11, height: 250, dataUrl: json_ui_garage_url(path: 'views/map_data')
23
+ # scroll.spacer height: 20
24
+ # scroll.h2 text: 'Map'
25
+ # scroll.spacer height: 6
26
+ # scroll.map width: 'matchParent', latitude: 13.4837, longitude: 144.7917, zoom: 11, height: 250, dataUrl: json_ui_garage_url(path: 'views/map_data')
27
27
 
28
28
  scroll.spacer height: 20
29
29
  scroll.h2 text: 'Calendar'
@@ -10,7 +10,9 @@ module Glib
10
10
  crawl left_drawer['rows']
11
11
  end
12
12
 
13
- perform(json['onLoad'])
13
+ if (on_load = (args.fetch('onLoad', nil)))
14
+ perform(on_load)
15
+ end
14
16
  end
15
17
  end
16
18
  end
@@ -22,7 +22,9 @@ module Glib
22
22
  end
23
23
  end
24
24
 
25
- perform(json['onLoad'])
25
+ if (on_load = (args.fetch('onLoad', nil)))
26
+ perform(on_load)
27
+ end
26
28
  end
27
29
  end
28
30
  end
@@ -30,8 +30,8 @@ module Glib
30
30
  end
31
31
 
32
32
  if args.is_a?(Hash) && args['rel'] != 'nofollow'
33
- if (onClick = (args.fetch('onClick', nil)))
34
- process_action(http, onClick)
33
+ if (on_click = (args.fetch('onClick', nil)))
34
+ process_action(http, on_click)
35
35
  end
36
36
  end
37
37
  end
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: 0.5.38
4
+ version: 0.5.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -125,6 +125,7 @@ files:
125
125
  - app/views/json_ui/garage/forms/basic.json.jbuilder
126
126
  - app/views/json_ui/garage/forms/basic_post.json.jbuilder
127
127
  - app/views/json_ui/garage/forms/checkboxes.json.jbuilder
128
+ - app/views/json_ui/garage/forms/conditional_value.json.jbuilder
128
129
  - app/views/json_ui/garage/forms/dynamic_group.json.jbuilder
129
130
  - app/views/json_ui/garage/forms/dynamic_select.json.jbuilder
130
131
  - app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder
@@ -197,7 +198,9 @@ files:
197
198
  - app/views/json_ui/garage/views/images.json.jbuilder
198
199
  - app/views/json_ui/garage/views/index.json.jbuilder
199
200
  - app/views/json_ui/garage/views/links.json.jbuilder
201
+ - app/views/json_ui/garage/views/map_cluster_data.json.jbuilder
200
202
  - app/views/json_ui/garage/views/map_data.json.jbuilder
203
+ - app/views/json_ui/garage/views/maps.json.jbuilder
201
204
  - app/views/json_ui/garage/views/markdowns.json.jbuilder
202
205
  - app/views/json_ui/garage/views/misc.json.jbuilder
203
206
  - app/views/json_ui/garage/views/texts.json.jbuilder