glimmer-dsl-opal 0.7.4 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +783 -163
  4. data/VERSION +1 -1
  5. data/lib/glimmer-dsl-opal.rb +15 -3
  6. data/lib/glimmer-dsl-opal/ext/class.rb +10 -0
  7. data/lib/{file.rb → glimmer-dsl-opal/ext/file.rb} +0 -0
  8. data/lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb +46 -0
  9. data/lib/glimmer-dsl-opal/samples/elaborate/contact_manager.rb +50 -23
  10. data/lib/glimmer-dsl-opal/samples/elaborate/login.rb +22 -5
  11. data/lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe.rb +1 -1
  12. data/lib/glimmer-dsl-opal/samples/hello/hello_browser.rb +23 -0
  13. data/lib/glimmer-dsl-opal/samples/hello/hello_computed.rb +27 -0
  14. data/lib/glimmer-dsl-opal/samples/hello/hello_computed/contact.rb +21 -0
  15. data/lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb +62 -32
  16. data/lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb +47 -22
  17. data/lib/glimmer-dsl-opal/samples/hello/hello_menu_bar.rb +241 -0
  18. data/lib/glimmer-dsl-opal/samples/hello/hello_message_box.rb +37 -0
  19. data/lib/glimmer-dsl-opal/samples/hello/hello_pop_up_context_menu.rb +84 -0
  20. data/lib/glimmer-dsl-opal/samples/hello/hello_world.rb +3 -3
  21. data/lib/glimmer/config/opal_logger.rb +16 -0
  22. data/lib/glimmer/data_binding/observable_element.rb +1 -1
  23. data/lib/glimmer/dsl/opal/custom_widget_expression.rb +2 -1
  24. data/lib/glimmer/dsl/opal/dsl.rb +2 -0
  25. data/lib/glimmer/dsl/opal/menu_bar_expression.rb +54 -0
  26. data/lib/glimmer/dsl/opal/menu_expression.rb +61 -0
  27. data/lib/glimmer/dsl/opal/shell_expression.rb +0 -4
  28. data/lib/glimmer/dsl/opal/widget_expression.rb +3 -2
  29. data/lib/glimmer/dsl/opal/widget_listener_expression.rb +2 -2
  30. data/lib/glimmer/swt/custom/checkbox_group.rb +2 -2
  31. data/lib/glimmer/swt/custom/radio_group.rb +2 -2
  32. data/lib/glimmer/swt/display_proxy.rb +4 -4
  33. data/lib/glimmer/swt/event_listener_proxy.rb +14 -4
  34. data/lib/glimmer/swt/grid_layout_proxy.rb +14 -4
  35. data/lib/glimmer/swt/label_proxy.rb +27 -3
  36. data/lib/glimmer/swt/latest_message_box_proxy.rb +42 -0
  37. data/lib/glimmer/swt/latest_shell_proxy.rb +42 -0
  38. data/lib/glimmer/swt/layout_data_proxy.rb +2 -5
  39. data/lib/glimmer/swt/list_proxy.rb +15 -0
  40. data/lib/glimmer/swt/menu_item_proxy.rb +174 -0
  41. data/lib/glimmer/swt/menu_proxy.rb +273 -0
  42. data/lib/glimmer/swt/message_box_proxy.rb +79 -63
  43. data/lib/glimmer/swt/property_owner.rb +2 -0
  44. data/lib/glimmer/swt/radio_proxy.rb +1 -1
  45. data/lib/glimmer/swt/shell_proxy.rb +34 -189
  46. data/lib/glimmer/swt/tab_folder_proxy.rb +43 -0
  47. data/lib/glimmer/swt/table_column_proxy.rb +3 -2
  48. data/lib/glimmer/swt/table_editor.rb +1 -1
  49. data/lib/glimmer/swt/table_item_proxy.rb +7 -5
  50. data/lib/glimmer/swt/table_proxy.rb +10 -0
  51. data/lib/glimmer/swt/widget_proxy.rb +325 -31
  52. data/lib/glimmer/ui/custom_shell.rb +1 -1
  53. data/lib/glimmer/ui/custom_widget.rb +3 -3
  54. data/lib/net/http.rb +21 -0
  55. metadata +25 -6
@@ -34,7 +34,7 @@ module Glimmer
34
34
  klass.include(Glimmer)
35
35
  Glimmer::UI::CustomWidget.add_custom_widget_namespaces_for(klass)
36
36
  keyword = klass.name.split(':').last.underscore
37
- `localStorage[#{keyword}] = #{$LOADED_FEATURES.last}`
37
+ LocalStorage[keyword] = $LOADED_FEATURES.last
38
38
  end
39
39
 
40
40
  def request_parameter_string
@@ -187,13 +187,13 @@ module Glimmer
187
187
  result || body_root&.can_handle_observation_request?(observation_request)
188
188
  end
189
189
 
190
- def handle_observation_request(observation_request, &block)
190
+ def handle_observation_request(observation_request, block)
191
191
  observation_request = observation_request.to_s
192
192
  if observation_request.start_with?('on_updated_')
193
193
  property = observation_request.sub(/^on_updated_/, '') # TODO look into eliminating duplication from above
194
194
  add_observer(DataBinding::Observer.proc(&block), property) if can_add_observer?(property)
195
195
  else
196
- body_root.handle_observation_request(observation_request, &block)
196
+ body_root.handle_observation_request(observation_request, block)
197
197
  end
198
198
  end
199
199
 
@@ -267,7 +267,7 @@ module Glimmer
267
267
 
268
268
  def method_missing(method, *args, &block)
269
269
  if can_handle_observation_request?(method)
270
- handle_observation_request(method, &block)
270
+ handle_observation_request(method, block)
271
271
  else
272
272
  body_root.send(method, *args, &block)
273
273
  end
@@ -1,3 +1,24 @@
1
+ # Copyright (c) 2020 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
1
22
  # Missing Net module class methods TODO implement
2
23
 
3
24
  require_relative '../uri'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-09 00:00:00.000000000 Z
11
+ date: 2020-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer
@@ -70,16 +70,22 @@ dependencies:
70
70
  name: to_collection
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 2.0.1
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: 3.0.0
76
79
  type: :runtime
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
- - - "~>"
83
+ - - ">="
81
84
  - !ruby/object:Gem::Version
82
85
  version: 2.0.1
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: 3.0.0
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: puts_debuggerer
85
91
  requirement: !ruby/object:Gem::Requirement
@@ -210,7 +216,8 @@ dependencies:
210
216
  - - "~>"
211
217
  - !ruby/object:Gem::Version
212
218
  version: 0.4.4
213
- description: Glimmer DSL for Opal (Web GUI Adapter for Desktop Apps)
219
+ description: Glimmer DSL for Opal on Rails (Pure Ruby Web GUI and Auto-Webifier of
220
+ Desktop Apps)
214
221
  email: andy.am@gmail.com
215
222
  executables: []
216
223
  extensions: []
@@ -237,10 +244,12 @@ files:
237
244
  - app/assets/stylesheets/glimmer/jquery-ui.theme.css
238
245
  - app/assets/stylesheets/glimmer/jquery.ui.timepicker.css
239
246
  - lib/display.rb
240
- - lib/file.rb
241
247
  - lib/glimmer-dsl-opal.rb
248
+ - lib/glimmer-dsl-opal/ext/class.rb
242
249
  - lib/glimmer-dsl-opal/ext/date.rb
243
250
  - lib/glimmer-dsl-opal/ext/exception.rb
251
+ - lib/glimmer-dsl-opal/ext/file.rb
252
+ - lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb
244
253
  - lib/glimmer-dsl-opal/ext/struct.rb
245
254
  - lib/glimmer-dsl-opal/samples/elaborate/contact_manager.rb
246
255
  - lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact.rb
@@ -263,6 +272,9 @@ files:
263
272
  - lib/glimmer-dsl-opal/samples/hello/hello_group.rb
264
273
  - lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb
265
274
  - lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb
275
+ - lib/glimmer-dsl-opal/samples/hello/hello_menu_bar.rb
276
+ - lib/glimmer-dsl-opal/samples/hello/hello_message_box.rb
277
+ - lib/glimmer-dsl-opal/samples/hello/hello_pop_up_context_menu.rb
266
278
  - lib/glimmer-dsl-opal/samples/hello/hello_radio.rb
267
279
  - lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb
268
280
  - lib/glimmer-dsl-opal/samples/hello/hello_tab.rb
@@ -287,6 +299,7 @@ files:
287
299
  - lib/glimmer-dsl-opal/vendor/jquery-ui/package.json
288
300
  - lib/glimmer-dsl-opal/vendor/jquery.js
289
301
  - lib/glimmer-dsl-swt.rb
302
+ - lib/glimmer/config/opal_logger.rb
290
303
  - lib/glimmer/data_binding/element_binding.rb
291
304
  - lib/glimmer/data_binding/list_selection_binding.rb
292
305
  - lib/glimmer/data_binding/observable_element.rb
@@ -307,6 +320,8 @@ files:
307
320
  - lib/glimmer/dsl/opal/layout_data_expression.rb
308
321
  - lib/glimmer/dsl/opal/layout_expression.rb
309
322
  - lib/glimmer/dsl/opal/list_selection_data_binding_expression.rb
323
+ - lib/glimmer/dsl/opal/menu_bar_expression.rb
324
+ - lib/glimmer/dsl/opal/menu_expression.rb
310
325
  - lib/glimmer/dsl/opal/message_box_expression.rb
311
326
  - lib/glimmer/dsl/opal/observe_expression.rb
312
327
  - lib/glimmer/dsl/opal/property_expression.rb
@@ -340,10 +355,14 @@ files:
340
355
  - lib/glimmer/swt/grid_layout_proxy.rb
341
356
  - lib/glimmer/swt/group_proxy.rb
342
357
  - lib/glimmer/swt/label_proxy.rb
358
+ - lib/glimmer/swt/latest_message_box_proxy.rb
359
+ - lib/glimmer/swt/latest_shell_proxy.rb
343
360
  - lib/glimmer/swt/layout_data_proxy.rb
344
361
  - lib/glimmer/swt/layout_proxy.rb
345
362
  - lib/glimmer/swt/list_proxy.rb
346
363
  - lib/glimmer/swt/make_shift_shell_proxy.rb
364
+ - lib/glimmer/swt/menu_item_proxy.rb
365
+ - lib/glimmer/swt/menu_proxy.rb
347
366
  - lib/glimmer/swt/message_box_proxy.rb
348
367
  - lib/glimmer/swt/point.rb
349
368
  - lib/glimmer/swt/property_owner.rb