glimmer-dsl-opal 0.25.2 → 0.25.3

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: 98f731b5aabef981ca377d64bbd87ca7a86a5f8edd4d0de428c81aeabe8680bf
4
- data.tar.gz: 7f7cc811ff007c65a15749a53e4b51b5ae194ffc06714d7e07c101d2c40c5484
3
+ metadata.gz: 7730a7073849e1cb3cf05073368a974a7cc493fa44621b3fd58d180e76c25c89
4
+ data.tar.gz: 7588d6730c8f81b27e8aff908bfe3c7f4daff093c004661abbb0c4fb0a2b4756
5
5
  SHA512:
6
- metadata.gz: c71b8149524cbcd0b44319f24eb22e50476a6891cf479245d2632c3a367b97828b8197132092d0dd1389b5b79e7bf1e3a2abb5b787ad18d62655663252645fce
7
- data.tar.gz: 18328ff77046a9fa0fd42abffd15c9251c0a9eed4886071c048fcd2320c1828d7033237cc76abbb2548e52cdb3c4d5ed3f3e235eca66af2a49c8eadca6b0d20c
6
+ metadata.gz: f50d2e39e990b86392e4fc719737b19337083380c874e426186dbbfe9ad7b60445a76fa93a8f5cf6d5055576f60209423b940e5efce3fee28f5081a99a61c2a3
7
+ data.tar.gz: 70634d53b24b7a82fcc8ca50b6b502d8b8b4260d204e89682a953e9bdbae81c7688867c8552082f323b1526170cd40a7a85222f637f8d8fb765c2658ce306e29
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.25.3
4
+
5
+ - Fix `c_combo`'s data-binding of selection receiving model changes
6
+ - Fix Hello, C Combo!'s reset button
7
+ - Fix Login sample by removing unnecessary require statement at the top
8
+
3
9
  ## 0.25.2
4
10
 
5
11
  - Fix sizing of buttons with font height specified to fit text
data/README.md CHANGED
@@ -143,7 +143,7 @@ Hello, Table! Game Booked
143
143
 
144
144
  NOTE: Glimmer DSL for Opal is an alpha project. Please help make better by contributing, adopting for small or low risk projects, and providing feedback. It is still an early alpha, so the more feedback and issues you report the better.
145
145
 
146
- **Alpha Version** 0.25.1 only supports bare-minimum capabilities for the included [samples](https://github.com/AndyObtiva/glimmer-dsl-opal#samples) (originally written for [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt))
146
+ **Alpha Version** 0.25.3 only supports bare-minimum capabilities for the included [samples](https://github.com/AndyObtiva/glimmer-dsl-opal#samples) (originally written for [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt))
147
147
 
148
148
  Other [Glimmer](https://github.com/AndyObtiva/glimmer) DSL gems:
149
149
  - [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt): Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
@@ -266,7 +266,7 @@ gem 'opal', '1.0.4'
266
266
  gem 'opal-rails', '1.1.2'
267
267
  gem 'opal-async', '~> 1.3.0'
268
268
  gem 'opal-jquery', '~> 0.4.4'
269
- gem 'glimmer-dsl-opal', '~> 0.25.1'
269
+ gem 'glimmer-dsl-opal', '~> 0.25.3'
270
270
  gem 'glimmer-dsl-xml', '~> 1.2.0', require: false
271
271
  gem 'glimmer-dsl-css', '~> 1.2.0', require: false
272
272
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.25.2
1
+ 0.25.3
@@ -19,8 +19,6 @@
19
19
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
- require 'glimmer-dsl-swt'
23
-
24
22
  class LoginPresenter
25
23
 
26
24
  attr_accessor :user_name
@@ -64,10 +62,10 @@ end
64
62
 
65
63
  class Login
66
64
  include Glimmer::UI::CustomShell
67
-
68
- before_body {
65
+
66
+ before_body do
69
67
  @presenter = LoginPresenter.new
70
- }
68
+ end
71
69
 
72
70
  body {
73
71
  shell {
@@ -6,17 +6,17 @@ require 'glimmer/swt/combo_proxy'
6
6
  module Glimmer
7
7
  module DSL
8
8
  module Opal
9
- class ComboSelectionDataBindingExpression < Expression
9
+ class ComboSelectionDataBindingExpression < Expression
10
10
  def can_interpret?(parent, keyword, *args, &block)
11
11
  keyword == 'selection' and
12
12
  block.nil? and
13
- parent.is_a?(Glimmer::SWT::ComboProxy) and
13
+ (parent.is_a?(Glimmer::SWT::ComboProxy) || parent.is_a?(Glimmer::SWT::CComboProxy)) and
14
14
  args.size == 1 and
15
15
  args[0].is_a?(DataBinding::ModelBinding) and
16
16
  args[0].evaluate_options_property.is_a?(Array)
17
17
  end
18
18
 
19
- def interpret(parent, keyword, *args, &block)
19
+ def interpret(parent, keyword, *args, &block)
20
20
  model_binding = args[0]
21
21
 
22
22
  #TODO make this options observer dependent and all similar observers in element specific data binding handlers
@@ -26,7 +26,7 @@ module Glimmer
26
26
  module SWT
27
27
  class CComboProxy < ComboProxy
28
28
  def post_add_content
29
- `$(#{path}).selectmenu()`
29
+ dom_element.selectmenu
30
30
  c_combo_dom_element.css('width', 'initial')
31
31
  end
32
32
 
@@ -38,6 +38,11 @@ module Glimmer
38
38
  c_combo_dom_element.css('font-size', "#{@font.height}px") unless @font.nil?
39
39
  end
40
40
 
41
+ def text=(value)
42
+ super(value)
43
+ c_combo_text_element.text(value)
44
+ end
45
+
41
46
  def c_combo_path
42
47
  "##{id}-button"
43
48
  end
@@ -45,6 +50,30 @@ module Glimmer
45
50
  def c_combo_dom_element
46
51
  Document.find(c_combo_path)
47
52
  end
53
+
54
+ def c_combo_text_path
55
+ c_combo_path + ' .ui-selectmenu-text'
56
+ end
57
+
58
+ def c_combo_text_element
59
+ Document.find(c_combo_text_path)
60
+ end
61
+
62
+ def observation_request_to_event_mapping
63
+ super.merge(
64
+ 'on_widget_selected' => [
65
+ {
66
+ event: 'selectmenuchange',
67
+ event_handler: -> (event_listener) {
68
+ -> (event) {
69
+ self.text = event.target.value
70
+ event_listener.call(event)
71
+ }
72
+ }
73
+ },
74
+ ],
75
+ )
76
+ end
48
77
  end
49
78
  end
50
79
 
@@ -1,3 +1,4 @@
1
+
1
2
  require 'glimmer/data_binding/observable_element'
2
3
  require 'glimmer/swt/widget_proxy'
3
4
 
@@ -6,7 +7,6 @@ module Glimmer
6
7
  class ComboProxy < WidgetProxy
7
8
  include Glimmer::DataBinding::ObservableElement
8
9
  attr_reader :text, :items
9
- attr_accessor :selection # virtual attribute just to pass the shine data-binding test (TODO THINK OF A BETTER WAY OF HANDLING THIS)
10
10
 
11
11
  def initialize(parent, args, block)
12
12
  super(parent, args, block)
@@ -19,7 +19,15 @@ module Glimmer
19
19
 
20
20
  def text=(value)
21
21
  @text = value
22
- Document.find(path).value = value
22
+ dom_element.val(value)
23
+ end
24
+
25
+ def selection
26
+ text
27
+ end
28
+
29
+ def selection=(value)
30
+ self.text = value
23
31
  end
24
32
 
25
33
  def items=(the_items)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.2
4
+ version: 0.25.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh