glimmer-dsl-opal 0.4.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +892 -16
  4. data/VERSION +1 -1
  5. data/app/assets/images/glimmer/images/calendar.gif +0 -0
  6. data/app/assets/images/glimmer/images/ui-icons_222222_256x240.png +0 -0
  7. data/app/assets/images/glimmer/images/ui-icons_444444_256x240.png +0 -0
  8. data/app/assets/images/glimmer/images/ui-icons_555555_256x240.png +0 -0
  9. data/app/assets/images/glimmer/images/ui-icons_777620_256x240.png +0 -0
  10. data/app/assets/images/glimmer/images/ui-icons_777777_256x240.png +0 -0
  11. data/app/assets/images/glimmer/images/ui-icons_cc0000_256x240.png +0 -0
  12. data/app/assets/images/glimmer/images/ui-icons_ffffff_256x240.png +0 -0
  13. data/app/assets/stylesheets/glimmer/glimmer.css +15 -0
  14. data/app/assets/stylesheets/glimmer/jquery-ui.css +1312 -0
  15. data/app/assets/stylesheets/glimmer/jquery-ui.structure.css +886 -0
  16. data/app/assets/stylesheets/glimmer/jquery-ui.theme.css +443 -0
  17. data/app/assets/stylesheets/glimmer/jquery.ui.timepicker.css +57 -0
  18. data/lib/glimmer-dsl-opal.rb +16 -9
  19. data/lib/glimmer-dsl-opal/ext/date.rb +49 -3
  20. data/lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe.rb +23 -0
  21. data/lib/glimmer-dsl-opal/samples/hello/hello_checkbox.rb +85 -0
  22. data/lib/glimmer-dsl-opal/samples/hello/hello_checkbox_group.rb +68 -0
  23. data/lib/glimmer-dsl-opal/samples/hello/hello_combo.rb +5 -5
  24. data/lib/glimmer-dsl-opal/samples/hello/hello_custom_widget.rb +3 -3
  25. data/lib/glimmer-dsl-opal/samples/hello/hello_date_time.rb +63 -0
  26. data/lib/glimmer-dsl-opal/samples/hello/hello_group.rb +104 -0
  27. data/lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb +1 -1
  28. data/lib/glimmer-dsl-opal/samples/hello/hello_radio.rb +108 -0
  29. data/lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb +84 -0
  30. data/lib/glimmer-dsl-opal/samples/hello/hello_table.rb +283 -0
  31. data/lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/GPL-LICENSE.txt +278 -0
  32. data/lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/MIT-LICENSE.txt +20 -0
  33. data/lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/jquery.ui.timepicker.css +57 -0
  34. data/lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/jquery.ui.timepicker.js +1496 -0
  35. data/lib/glimmer-dsl-opal/vendor/jquery-ui/AUTHORS.txt +333 -0
  36. data/lib/glimmer-dsl-opal/vendor/jquery-ui/LICENSE.txt +43 -0
  37. data/lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_444444_256x240.png +0 -0
  38. data/lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_555555_256x240.png +0 -0
  39. data/lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_777620_256x240.png +0 -0
  40. data/lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_777777_256x240.png +0 -0
  41. data/lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_cc0000_256x240.png +0 -0
  42. data/lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
  43. data/lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.min.css +7 -0
  44. data/lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.min.js +13 -0
  45. data/lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.structure.min.css +5 -0
  46. data/lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.theme.min.css +5 -0
  47. data/lib/glimmer-dsl-opal/vendor/jquery-ui/package.json +74 -0
  48. data/lib/glimmer-dsl-swt.rb +1 -0
  49. data/lib/glimmer/data_binding/element_binding.rb +2 -1
  50. data/lib/glimmer/data_binding/table_items_binding.rb +29 -18
  51. data/lib/glimmer/dsl/opal/block_property_expression.rb +41 -0
  52. data/lib/glimmer/dsl/opal/checkbox_group_selection_data_binding_expression.rb +61 -0
  53. data/lib/glimmer/dsl/opal/custom_widget_expression.rb +8 -6
  54. data/lib/glimmer/dsl/opal/dsl.rb +6 -0
  55. data/lib/glimmer/dsl/opal/property_expression.rb +4 -3
  56. data/lib/glimmer/dsl/opal/radio_group_selection_data_binding_expression.rb +61 -0
  57. data/lib/glimmer/dsl/opal/shell_expression.rb +7 -2
  58. data/lib/glimmer/dsl/opal/widget_expression.rb +6 -1
  59. data/lib/glimmer/engine.rb +9 -0
  60. data/lib/glimmer/swt.rb +3 -3
  61. data/lib/glimmer/swt/button_proxy.rb +16 -2
  62. data/lib/glimmer/swt/checkbox_proxy.rb +81 -0
  63. data/lib/glimmer/swt/color_proxy.rb +45 -45
  64. data/lib/glimmer/swt/combo_proxy.rb +6 -6
  65. data/lib/glimmer/swt/composite_proxy.rb +2 -2
  66. data/lib/glimmer/swt/custom/checkbox_group.rb +142 -0
  67. data/lib/glimmer/swt/custom/radio_group.rb +143 -0
  68. data/lib/glimmer/swt/date_time_proxy.rb +145 -0
  69. data/lib/glimmer/swt/display_proxy.rb +6 -2
  70. data/lib/glimmer/swt/fill_layout_proxy.rb +1 -1
  71. data/lib/glimmer/swt/grid_layout_proxy.rb +19 -8
  72. data/lib/glimmer/swt/group_proxy.rb +38 -0
  73. data/lib/glimmer/swt/label_proxy.rb +27 -7
  74. data/lib/glimmer/swt/layout_data_proxy.rb +39 -21
  75. data/lib/glimmer/swt/layout_proxy.rb +4 -4
  76. data/lib/glimmer/swt/list_proxy.rb +3 -3
  77. data/lib/glimmer/swt/make_shift_shell_proxy.rb +4 -4
  78. data/lib/glimmer/swt/message_box_proxy.rb +10 -8
  79. data/lib/glimmer/swt/property_owner.rb +2 -2
  80. data/lib/glimmer/swt/radio_proxy.rb +82 -0
  81. data/lib/glimmer/swt/row_layout_proxy.rb +33 -10
  82. data/lib/glimmer/swt/scrolled_composite_proxy.rb +20 -0
  83. data/lib/glimmer/swt/shell_proxy.rb +29 -9
  84. data/lib/glimmer/swt/tab_folder_proxy.rb +5 -5
  85. data/lib/glimmer/swt/tab_item_proxy.rb +7 -7
  86. data/lib/glimmer/swt/table_column_proxy.rb +62 -12
  87. data/lib/glimmer/swt/table_item_proxy.rb +14 -7
  88. data/lib/glimmer/swt/table_proxy.rb +225 -16
  89. data/lib/glimmer/swt/text_proxy.rb +50 -2
  90. data/lib/glimmer/swt/widget_proxy.rb +88 -39
  91. data/lib/glimmer/ui/custom_widget.rb +8 -8
  92. data/lib/net/http.rb +1 -5
  93. data/lib/uri.rb +3 -3
  94. metadata +56 -9
  95. data/lib/glimmer/data_binding/ext/observable_model.rb +0 -40
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.4.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-15 00:00:00.000000000 Z
11
+ date: 2020-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.1
19
+ version: 1.0.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.1
26
+ version: 1.0.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: glimmer-dsl-xml
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: puts_debuggerer
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.8.1
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 0.8.1
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -209,6 +209,19 @@ files:
209
209
  - LICENSE.txt
210
210
  - README.md
211
211
  - VERSION
212
+ - app/assets/images/glimmer/images/calendar.gif
213
+ - app/assets/images/glimmer/images/ui-icons_222222_256x240.png
214
+ - app/assets/images/glimmer/images/ui-icons_444444_256x240.png
215
+ - app/assets/images/glimmer/images/ui-icons_555555_256x240.png
216
+ - app/assets/images/glimmer/images/ui-icons_777620_256x240.png
217
+ - app/assets/images/glimmer/images/ui-icons_777777_256x240.png
218
+ - app/assets/images/glimmer/images/ui-icons_cc0000_256x240.png
219
+ - app/assets/images/glimmer/images/ui-icons_ffffff_256x240.png
220
+ - app/assets/stylesheets/glimmer/glimmer.css
221
+ - app/assets/stylesheets/glimmer/jquery-ui.css
222
+ - app/assets/stylesheets/glimmer/jquery-ui.structure.css
223
+ - app/assets/stylesheets/glimmer/jquery-ui.theme.css
224
+ - app/assets/stylesheets/glimmer/jquery.ui.timepicker.css
212
225
  - lib/glimmer-dsl-opal.rb
213
226
  - lib/glimmer-dsl-opal/ext/date.rb
214
227
  - lib/glimmer-dsl-opal/ext/exception.rb
@@ -221,24 +234,49 @@ files:
221
234
  - lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe/board.rb
222
235
  - lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe/cell.rb
223
236
  - lib/glimmer-dsl-opal/samples/hello/hello_browser.rb
237
+ - lib/glimmer-dsl-opal/samples/hello/hello_checkbox.rb
238
+ - lib/glimmer-dsl-opal/samples/hello/hello_checkbox_group.rb
224
239
  - lib/glimmer-dsl-opal/samples/hello/hello_combo.rb
225
240
  - lib/glimmer-dsl-opal/samples/hello/hello_computed.rb
226
241
  - lib/glimmer-dsl-opal/samples/hello/hello_computed/contact.rb
227
242
  - lib/glimmer-dsl-opal/samples/hello/hello_custom_shell.rb
228
243
  - lib/glimmer-dsl-opal/samples/hello/hello_custom_widget.rb
244
+ - lib/glimmer-dsl-opal/samples/hello/hello_date_time.rb
245
+ - lib/glimmer-dsl-opal/samples/hello/hello_group.rb
229
246
  - lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb
230
247
  - lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb
248
+ - lib/glimmer-dsl-opal/samples/hello/hello_radio.rb
249
+ - lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb
231
250
  - lib/glimmer-dsl-opal/samples/hello/hello_tab.rb
251
+ - lib/glimmer-dsl-opal/samples/hello/hello_table.rb
232
252
  - lib/glimmer-dsl-opal/samples/hello/hello_world.rb
253
+ - lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/GPL-LICENSE.txt
254
+ - lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/MIT-LICENSE.txt
255
+ - lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/jquery.ui.timepicker.css
256
+ - lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/jquery.ui.timepicker.js
257
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/AUTHORS.txt
258
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/LICENSE.txt
259
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_444444_256x240.png
260
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_555555_256x240.png
261
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_777620_256x240.png
262
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_777777_256x240.png
263
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_cc0000_256x240.png
264
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/images/ui-icons_ffffff_256x240.png
265
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.min.css
266
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.min.js
267
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.structure.min.css
268
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/jquery-ui.theme.min.css
269
+ - lib/glimmer-dsl-opal/vendor/jquery-ui/package.json
233
270
  - lib/glimmer-dsl-opal/vendor/jquery.js
234
271
  - lib/glimmer-dsl-swt.rb
235
272
  - lib/glimmer/data_binding/element_binding.rb
236
- - lib/glimmer/data_binding/ext/observable_model.rb
237
273
  - lib/glimmer/data_binding/list_selection_binding.rb
238
274
  - lib/glimmer/data_binding/observable_element.rb
239
275
  - lib/glimmer/data_binding/table_items_binding.rb
240
276
  - lib/glimmer/dsl/opal/async_exec_expression.rb
241
277
  - lib/glimmer/dsl/opal/bind_expression.rb
278
+ - lib/glimmer/dsl/opal/block_property_expression.rb
279
+ - lib/glimmer/dsl/opal/checkbox_group_selection_data_binding_expression.rb
242
280
  - lib/glimmer/dsl/opal/color_expression.rb
243
281
  - lib/glimmer/dsl/opal/column_properties_expression.rb
244
282
  - lib/glimmer/dsl/opal/combo_selection_data_binding_expression.rb
@@ -254,6 +292,7 @@ files:
254
292
  - lib/glimmer/dsl/opal/message_box_expression.rb
255
293
  - lib/glimmer/dsl/opal/observe_expression.rb
256
294
  - lib/glimmer/dsl/opal/property_expression.rb
295
+ - lib/glimmer/dsl/opal/radio_group_selection_data_binding_expression.rb
257
296
  - lib/glimmer/dsl/opal/rgb_expression.rb
258
297
  - lib/glimmer/dsl/opal/rgba_expression.rb
259
298
  - lib/glimmer/dsl/opal/shell_expression.rb
@@ -264,17 +303,23 @@ files:
264
303
  - lib/glimmer/dsl/opal/table_items_data_binding_expression.rb
265
304
  - lib/glimmer/dsl/opal/widget_expression.rb
266
305
  - lib/glimmer/dsl/opal/widget_listener_expression.rb
306
+ - lib/glimmer/engine.rb
267
307
  - lib/glimmer/swt.rb
268
308
  - lib/glimmer/swt/browser_proxy.rb
269
309
  - lib/glimmer/swt/button_proxy.rb
310
+ - lib/glimmer/swt/checkbox_proxy.rb
270
311
  - lib/glimmer/swt/color_proxy.rb
271
312
  - lib/glimmer/swt/combo_proxy.rb
272
313
  - lib/glimmer/swt/composite_proxy.rb
314
+ - lib/glimmer/swt/custom/checkbox_group.rb
315
+ - lib/glimmer/swt/custom/radio_group.rb
316
+ - lib/glimmer/swt/date_time_proxy.rb
273
317
  - lib/glimmer/swt/display_proxy.rb
274
318
  - lib/glimmer/swt/event_listener_proxy.rb
275
319
  - lib/glimmer/swt/fill_layout_proxy.rb
276
320
  - lib/glimmer/swt/font_proxy.rb
277
321
  - lib/glimmer/swt/grid_layout_proxy.rb
322
+ - lib/glimmer/swt/group_proxy.rb
278
323
  - lib/glimmer/swt/label_proxy.rb
279
324
  - lib/glimmer/swt/layout_data_proxy.rb
280
325
  - lib/glimmer/swt/layout_proxy.rb
@@ -283,7 +328,9 @@ files:
283
328
  - lib/glimmer/swt/message_box_proxy.rb
284
329
  - lib/glimmer/swt/point.rb
285
330
  - lib/glimmer/swt/property_owner.rb
331
+ - lib/glimmer/swt/radio_proxy.rb
286
332
  - lib/glimmer/swt/row_layout_proxy.rb
333
+ - lib/glimmer/swt/scrolled_composite_proxy.rb
287
334
  - lib/glimmer/swt/shell_proxy.rb
288
335
  - lib/glimmer/swt/style_constantizable.rb
289
336
  - lib/glimmer/swt/styled_text_proxy.rb
@@ -1,40 +0,0 @@
1
- require 'glimmer/data_binding/observable'
2
- require 'glimmer/data_binding/observer'
3
- require 'glimmer/swt/display_proxy'
4
-
5
- # This ensures all data-binding events happen async and block on modal display
6
-
7
- module Glimmer
8
- module DataBinding
9
- # TODO prefix utility methods with double-underscore
10
- module ObservableModel
11
- include Observable
12
- # include Glimmer
13
-
14
- def add_property_writer_observers(property_name)
15
- property_writer_name = "#{property_name}="
16
- method(property_writer_name)
17
- ensure_array_object_observer(property_name, send(property_name))
18
- begin
19
- method("__original_#{property_writer_name}")
20
- rescue
21
- old_method = self.class.instance_method(property_writer_name)
22
- define_singleton_method("__original_#{property_writer_name}", old_method)
23
- define_singleton_method(property_writer_name) do |value|
24
- old_value = self.send(property_name)
25
- unregister_dependent_observers(property_name, old_value)
26
- self.send("__original_#{property_writer_name}", value)
27
- # Glimmer::Opal::DisplayProxy.instance.async_exec do
28
- notify_observers(property_name)
29
- ensure_array_object_observer(property_name, value, old_value)
30
- # end
31
- end
32
- end
33
- rescue => e
34
- # ignore writing if no property writer exists
35
- Glimmer::Config.logger&.debug "No need to observe property writer: #{property_writer_name}\n#{e.message}\n#{e.backtrace.join("\n")}"
36
- end
37
-
38
- end
39
- end
40
- end