glimmer-dsl-opal 0.7.5 → 0.9.3
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/CHANGELOG.md +35 -0
- data/README.md +756 -139
- data/VERSION +1 -1
- data/lib/glimmer-dsl-opal.rb +16 -4
- data/lib/glimmer-dsl-opal/ext/class.rb +10 -0
- data/lib/{file.rb → glimmer-dsl-opal/ext/file.rb} +0 -0
- data/lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb +46 -0
- data/lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_browser.rb +23 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_computed.rb +27 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_computed/contact.rb +21 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb +62 -32
- data/lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb +47 -22
- data/lib/glimmer-dsl-opal/samples/hello/hello_menu_bar.rb +241 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_message_box.rb +37 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_pop_up_context_menu.rb +84 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_world.rb +3 -3
- data/lib/glimmer/config/opal_logger.rb +16 -0
- data/lib/glimmer/data_binding/observable_element.rb +1 -1
- data/lib/glimmer/dsl/opal/custom_widget_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/dsl.rb +2 -0
- data/lib/glimmer/dsl/opal/menu_bar_expression.rb +54 -0
- data/lib/glimmer/dsl/opal/menu_expression.rb +61 -0
- data/lib/glimmer/dsl/opal/shell_expression.rb +0 -4
- data/lib/glimmer/dsl/opal/widget_expression.rb +3 -2
- data/lib/glimmer/dsl/opal/widget_listener_expression.rb +2 -2
- data/lib/glimmer/swt/custom/checkbox_group.rb +2 -2
- data/lib/glimmer/swt/custom/radio_group.rb +2 -2
- data/lib/glimmer/swt/display_proxy.rb +4 -4
- data/lib/glimmer/swt/event_listener_proxy.rb +14 -4
- data/lib/glimmer/swt/grid_layout_proxy.rb +1 -0
- data/lib/glimmer/swt/label_proxy.rb +27 -3
- data/lib/{glimmer-dsl-opal/ext/struct.rb → glimmer/swt/latest_message_box_proxy.rb} +16 -11
- data/lib/glimmer/swt/latest_shell_proxy.rb +55 -0
- data/lib/glimmer/swt/list_proxy.rb +15 -0
- data/lib/glimmer/swt/menu_item_proxy.rb +174 -0
- data/lib/glimmer/swt/menu_proxy.rb +273 -0
- data/lib/glimmer/swt/message_box_proxy.rb +79 -63
- data/lib/glimmer/swt/property_owner.rb +2 -0
- data/lib/glimmer/swt/radio_proxy.rb +1 -1
- data/lib/glimmer/swt/shell_proxy.rb +34 -189
- data/lib/glimmer/swt/tab_folder_proxy.rb +43 -0
- data/lib/glimmer/swt/table_column_proxy.rb +3 -2
- data/lib/glimmer/swt/table_editor.rb +1 -1
- data/lib/glimmer/swt/table_item_proxy.rb +7 -5
- data/lib/glimmer/swt/table_proxy.rb +10 -0
- data/lib/glimmer/swt/widget_proxy.rb +325 -31
- data/lib/glimmer/ui/custom_shell.rb +2 -2
- data/lib/glimmer/ui/custom_widget.rb +3 -3
- data/lib/net/http.rb +30 -2
- metadata +45 -8
@@ -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
|
-
|
37
|
+
LocalStorage[keyword] = $LOADED_FEATURES.last
|
38
38
|
end
|
39
39
|
|
40
40
|
def request_parameter_string
|
@@ -56,7 +56,7 @@ module Glimmer
|
|
56
56
|
|
57
57
|
def initialize(parent, args, options, &content)
|
58
58
|
super(parent, args, options, &content)
|
59
|
-
raise Error, 'Invalid custom shell body root! Must be a shell or another custom shell.' unless body_root.is_a?(Glimmer::SWT::ShellProxy) || body_root.is_a?(Glimmer::UI::CustomShell)
|
59
|
+
raise Error, 'Invalid custom shell body root! Must be a shell or another custom shell.' unless body_root.is_a?(Glimmer::SWT::ShellProxy) || body_root.is_a?(Glimmer::UI::CustomShell) || body_root.is_a?(Glimmer::SWT::LatestShellProxy)
|
60
60
|
end
|
61
61
|
|
62
62
|
# Classes may override
|
@@ -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,
|
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,
|
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,
|
270
|
+
handle_observation_request(method, block)
|
271
271
|
else
|
272
272
|
body_root.send(method, *args, &block)
|
273
273
|
end
|
data/lib/net/http.rb
CHANGED
@@ -1,13 +1,41 @@
|
|
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'
|
4
25
|
|
5
26
|
module Net
|
6
27
|
# TODO Implement HTTP with jQuery for use in Glimmer DSL for Opal
|
28
|
+
# TODO Re-Implement in Fetch in the future
|
7
29
|
# Note: ignore Protocol superclass for now
|
8
30
|
class HTTP
|
9
|
-
|
10
|
-
|
31
|
+
class << self
|
32
|
+
def post_form(uri, params)
|
33
|
+
response_body = nil
|
34
|
+
result = ::HTTP.post(uri, payload: params) do |response|
|
35
|
+
response_body = response.body
|
36
|
+
end
|
37
|
+
response_body
|
38
|
+
end
|
11
39
|
end
|
12
40
|
end
|
13
41
|
end
|
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
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -70,16 +70,42 @@ 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
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: pure-struct
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.0.1
|
96
|
+
- - "<"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.0.0
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 1.0.1
|
106
|
+
- - "<"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 2.0.0
|
83
109
|
- !ruby/object:Gem::Dependency
|
84
110
|
name: puts_debuggerer
|
85
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,8 +236,8 @@ dependencies:
|
|
210
236
|
- - "~>"
|
211
237
|
- !ruby/object:Gem::Version
|
212
238
|
version: 0.4.4
|
213
|
-
description: Glimmer DSL for Opal (Pure Ruby Web GUI and Auto-Webifier of
|
214
|
-
Apps
|
239
|
+
description: Glimmer DSL for Opal on Rails (Pure Ruby Web GUI and Auto-Webifier of
|
240
|
+
Desktop Apps)
|
215
241
|
email: andy.am@gmail.com
|
216
242
|
executables: []
|
217
243
|
extensions: []
|
@@ -238,11 +264,12 @@ files:
|
|
238
264
|
- app/assets/stylesheets/glimmer/jquery-ui.theme.css
|
239
265
|
- app/assets/stylesheets/glimmer/jquery.ui.timepicker.css
|
240
266
|
- lib/display.rb
|
241
|
-
- lib/file.rb
|
242
267
|
- lib/glimmer-dsl-opal.rb
|
268
|
+
- lib/glimmer-dsl-opal/ext/class.rb
|
243
269
|
- lib/glimmer-dsl-opal/ext/date.rb
|
244
270
|
- lib/glimmer-dsl-opal/ext/exception.rb
|
245
|
-
- lib/glimmer-dsl-opal/ext/
|
271
|
+
- lib/glimmer-dsl-opal/ext/file.rb
|
272
|
+
- lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb
|
246
273
|
- lib/glimmer-dsl-opal/samples/elaborate/contact_manager.rb
|
247
274
|
- lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact.rb
|
248
275
|
- lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact_manager_presenter.rb
|
@@ -264,6 +291,9 @@ files:
|
|
264
291
|
- lib/glimmer-dsl-opal/samples/hello/hello_group.rb
|
265
292
|
- lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb
|
266
293
|
- lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb
|
294
|
+
- lib/glimmer-dsl-opal/samples/hello/hello_menu_bar.rb
|
295
|
+
- lib/glimmer-dsl-opal/samples/hello/hello_message_box.rb
|
296
|
+
- lib/glimmer-dsl-opal/samples/hello/hello_pop_up_context_menu.rb
|
267
297
|
- lib/glimmer-dsl-opal/samples/hello/hello_radio.rb
|
268
298
|
- lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb
|
269
299
|
- lib/glimmer-dsl-opal/samples/hello/hello_tab.rb
|
@@ -288,6 +318,7 @@ files:
|
|
288
318
|
- lib/glimmer-dsl-opal/vendor/jquery-ui/package.json
|
289
319
|
- lib/glimmer-dsl-opal/vendor/jquery.js
|
290
320
|
- lib/glimmer-dsl-swt.rb
|
321
|
+
- lib/glimmer/config/opal_logger.rb
|
291
322
|
- lib/glimmer/data_binding/element_binding.rb
|
292
323
|
- lib/glimmer/data_binding/list_selection_binding.rb
|
293
324
|
- lib/glimmer/data_binding/observable_element.rb
|
@@ -308,6 +339,8 @@ files:
|
|
308
339
|
- lib/glimmer/dsl/opal/layout_data_expression.rb
|
309
340
|
- lib/glimmer/dsl/opal/layout_expression.rb
|
310
341
|
- lib/glimmer/dsl/opal/list_selection_data_binding_expression.rb
|
342
|
+
- lib/glimmer/dsl/opal/menu_bar_expression.rb
|
343
|
+
- lib/glimmer/dsl/opal/menu_expression.rb
|
311
344
|
- lib/glimmer/dsl/opal/message_box_expression.rb
|
312
345
|
- lib/glimmer/dsl/opal/observe_expression.rb
|
313
346
|
- lib/glimmer/dsl/opal/property_expression.rb
|
@@ -341,10 +374,14 @@ files:
|
|
341
374
|
- lib/glimmer/swt/grid_layout_proxy.rb
|
342
375
|
- lib/glimmer/swt/group_proxy.rb
|
343
376
|
- lib/glimmer/swt/label_proxy.rb
|
377
|
+
- lib/glimmer/swt/latest_message_box_proxy.rb
|
378
|
+
- lib/glimmer/swt/latest_shell_proxy.rb
|
344
379
|
- lib/glimmer/swt/layout_data_proxy.rb
|
345
380
|
- lib/glimmer/swt/layout_proxy.rb
|
346
381
|
- lib/glimmer/swt/list_proxy.rb
|
347
382
|
- lib/glimmer/swt/make_shift_shell_proxy.rb
|
383
|
+
- lib/glimmer/swt/menu_item_proxy.rb
|
384
|
+
- lib/glimmer/swt/menu_proxy.rb
|
348
385
|
- lib/glimmer/swt/message_box_proxy.rb
|
349
386
|
- lib/glimmer/swt/point.rb
|
350
387
|
- lib/glimmer/swt/property_owner.rb
|