glimmer-dsl-opal 0.0.5 → 0.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62c893d845b584b5b303dd5070b67b5042656159dbc1e4124fcc20fdaa469a8e
4
- data.tar.gz: 192f1904a065a6add1e2cffba0a3514dc8b178746b0f6b350e7973d88a9ac86d
3
+ metadata.gz: cbf51689c9728f9af6a7670f703584c79def82be3f74085556f91cbc9f02cd51
4
+ data.tar.gz: e73b3c81aa113ca61e080a5c0fce7299c0812c04883aaf8864bdec5dc80fad00
5
5
  SHA512:
6
- metadata.gz: 895dda95906afa3738c34c927cc85600bcfb13a04f4e71ddc261221eeb6c0043f2b10f95561e9b03895a3ec7aa2b4c1a90c3c54667aacbc30b307fabdb569654
7
- data.tar.gz: da8bf5fa194f983e53190d45246dfecb6add28fd20bec9ea1e2cf413716ad44f256d41674882f59823b32d1576964bdf387b96ef683fdf90196469137757a18d
6
+ metadata.gz: 98c27b51a8de0e218ed4e888660fb6dbf110deda9b1444b7fd75dc72d5477a5eaa277d2a64d92f223bcf0d3b8c398bf2da369a26e000c2544c34952c9fd7f8ad
7
+ data.tar.gz: 05725471322ba4a5e55115360fa2a970e69c6f076c36480b3354c86968ac796e63c0e0c1250ca2639f100a329363c51fc7a0254b66a918aa7ed4130f538c2ce4
data/README.md CHANGED
@@ -1,5 +1,4 @@
1
-
2
- # <img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=65 /> Glimmer DSL for Opal 0.0.5 (Web GUI for Desktop Apps)
1
+ # <img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=65 /> Glimmer DSL for Opal 0.0.6 (Web GUI for Desktop Apps)
3
2
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-opal.svg)](http://badge.fury.io/rb/glimmer-dsl-opal)
4
3
  [![Join the chat at https://gitter.im/AndyObtiva/glimmer](https://badges.gitter.im/AndyObtiva/glimmer.svg)](https://gitter.im/AndyObtiva/glimmer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
4
 
@@ -7,13 +6,14 @@
7
6
 
8
7
  It enables running [Glimmer](https://github.com/AndyObtiva/glimmer) desktop apps on the web via [Rails](https://rubyonrails.org/) 5 and [Opal](https://opalrb.com/) 1.
9
8
 
10
- NOTE: Alpha Version 0.0.5 only supports capabilities below (detailed under [Examples](#examples)):
9
+ NOTE: Alpha Version 0.0.6 only supports Hello sample capabilities (detailed under [Examples](#examples)):
11
10
  - [Hello, World!](#hello-world)
12
11
  - [Hello, Combo!](#hello-combo)
13
12
  - [Hello, Computed!](#hello-computed)
14
13
  - [Hello, List Single Selection!](#hello-list-single-selection)
15
14
  - [Hello, List Multi Selection!](#hello-list-multi-selection)
16
15
  - [Hello, Browser!](#hello-browser)
16
+ - [Hello, Tab!](#hello-tab)
17
17
 
18
18
  Other Glimmer DSL gems:
19
19
  - [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt): Glimmer DSL for SWT (Desktop GUI)
@@ -31,7 +31,10 @@ The following keywords from [glimmer-dsl-swt](https://github.com/AndyObtiva/glim
31
31
  - `text`
32
32
  - `composite`
33
33
  - `list` & `list(:multi)`
34
- - `browser`
34
+ - `tab_folder`
35
+ - `tab_item`
36
+ - `on_widget_selected`
37
+ - `on_modify_text`
35
38
  - `grid_layout`
36
39
  - `layout_data`
37
40
 
@@ -56,7 +59,7 @@ Add the following to `Gemfile` (NOTE: if you run into issues, they are probably
56
59
  ```
57
60
  gem 'opal-rails'
58
61
  gem 'opal-browser'
59
- gem 'glimmer-dsl-opal', '~> 0.0.5', require: false
62
+ gem 'glimmer-dsl-opal', '~> 0.0.6', require: false
60
63
  ```
61
64
 
62
65
  Edit `config/initializers/assets.rb` and add:
@@ -64,6 +67,12 @@ Edit `config/initializers/assets.rb` and add:
64
67
  Opal.use_gem 'glimmer-dsl-opal'
65
68
  ```
66
69
 
70
+ Add the following line to the top of an empty `app/assets/javascripts/application.js.rb`
71
+
72
+ ```ruby
73
+ require 'glimmer-dsl-opal' # brings opal and opal browser too
74
+ ```
75
+
67
76
  ## Examples
68
77
 
69
78
  ### Hello, World!
@@ -71,8 +80,6 @@ Opal.use_gem 'glimmer-dsl-opal'
71
80
  Add the following Glimmer code to `app/assets/javascripts/application.js.rb`
72
81
 
73
82
  ```ruby
74
- require 'glimmer-dsl-opal' # brings opal and opal browser too
75
-
76
83
  include Glimmer
77
84
 
78
85
  shell {
@@ -85,7 +92,7 @@ shell {
85
92
 
86
93
  Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
87
94
 
88
- ![Glimmer DSL for Opal Hello World](https://github.com/AndyObtiva/glimmer/blob/master/images/glimmer-hello-world.png)
95
+ ![Glimmer DSL for SWT Hello World](https://github.com/AndyObtiva/glimmer/blob/master/images/glimmer-hello-world.png)
89
96
 
90
97
  Glimmer app on the web (using `glimmer-dsl-opal` gem):
91
98
 
@@ -105,8 +112,6 @@ You should see "Hello, World!"
105
112
  Add the following Glimmer code to `app/assets/javascripts/application.js.rb`
106
113
 
107
114
  ```ruby
108
- require 'glimmer-dsl-opal' # brings opal and opal browser too
109
-
110
115
  class Person
111
116
  attr_accessor :country, :country_options
112
117
 
@@ -144,7 +149,7 @@ HelloCombo.new.launch
144
149
  ```
145
150
  Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
146
151
 
147
- ![Glimmer DSL for Opal Hello Combo](https://github.com/AndyObtiva/glimmer/blob/master/images/glimmer-hello-combo.png)
152
+ ![Glimmer DSL for SWT Hello Combo](https://github.com/AndyObtiva/glimmer/blob/master/images/glimmer-hello-combo.png)
148
153
 
149
154
  Glimmer app on the web (using `glimmer-dsl-opal` gem):
150
155
 
@@ -164,8 +169,6 @@ You should see "Hello, Combo!"
164
169
  Add the following Glimmer code to `app/assets/javascripts/application.js.rb`
165
170
 
166
171
  ```ruby
167
- require 'glimmer-dsl-opal' # brings opal and opal browser too
168
-
169
172
  class HelloComputed
170
173
  class Contact
171
174
  attr_accessor :first_name, :last_name, :year_of_birth
@@ -258,7 +261,7 @@ HelloComputed.new.launch
258
261
  ```
259
262
  Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
260
263
 
261
- ![Glimmer DSL for Opal Hello Computed](https://github.com/AndyObtiva/glimmer/blob/master/images/glimmer-hello-computed.png)
264
+ ![Glimmer DSL for SWT Hello Computed](https://github.com/AndyObtiva/glimmer/blob/master/images/glimmer-hello-computed.png)
262
265
 
263
266
  Glimmer app on the web (using `glimmer-dsl-opal` gem):
264
267
 
@@ -315,7 +318,7 @@ HelloListSingleSelection.new.launch
315
318
  ```
316
319
  Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
317
320
 
318
- ![Glimmer DSL for Opal Hello List Single Selection](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-list-single-selection.png)
321
+ ![Glimmer DSL for SWT Hello List Single Selection](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-list-single-selection.png)
319
322
 
320
323
  Glimmer app on the web (using `glimmer-dsl-opal` gem):
321
324
 
@@ -382,7 +385,7 @@ HelloListMultiSelection.new.launch
382
385
  ```
383
386
  Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
384
387
 
385
- ![Glimmer DSL for Opal Hello List Multi Selection](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-list-multi-selection.png)
388
+ ![Glimmer DSL for SWT Hello List Multi Selection](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-list-multi-selection.png)
386
389
 
387
390
  Glimmer app on the web (using `glimmer-dsl-opal` gem):
388
391
 
@@ -413,7 +416,7 @@ shell {
413
416
  ```
414
417
  Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
415
418
 
416
- ![Glimmer DSL for Opal Hello Browser](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-browser.png)
419
+ ![Glimmer DSL for SWT Hello Browser](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-browser.png)
417
420
 
418
421
  Glimmer app on the web (using `glimmer-dsl-opal` gem):
419
422
 
@@ -428,6 +431,55 @@ You should see "Hello, Browser!"
428
431
 
429
432
  ![Glimmer DSL for Opal Hello Browser](images/glimmer-dsl-opal-hello-browser.png)
430
433
 
434
+ ### Hello, Tab!
435
+
436
+ Add the following Glimmer code to `app/assets/javascripts/application.js.rb`
437
+
438
+ ```ruby
439
+ class HelloTab
440
+ include Glimmer
441
+ def launch
442
+ shell {
443
+ text "Hello, Tab!"
444
+ tab_folder {
445
+ tab_item {
446
+ text "English"
447
+ label {
448
+ text "Hello, World!"
449
+ }
450
+ }
451
+ tab_item {
452
+ text "French"
453
+ label {
454
+ text "Bonjour, Univers!"
455
+ }
456
+ }
457
+ }
458
+ }.open
459
+ end
460
+ end
461
+
462
+ HelloTab.new.launch
463
+ ```
464
+ Glimmer app on the desktop (using [`glimmer-dsl-swt`](https://github.com/AndyObtiva/glimmer-dsl-swt) gem):
465
+
466
+ ![Glimmer DSL for SWT Hello Tab English](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-tab-english.png)
467
+ ![Glimmer DSL for SWT Hello Tab French](https://github.com/AndyObtiva/glimmer/raw/master/images/glimmer-hello-tab-french.png)
468
+
469
+ Glimmer app on the web (using `glimmer-dsl-opal` gem):
470
+
471
+ Start the Rails server:
472
+ ```
473
+ rails s
474
+ ```
475
+
476
+ Visit `http://localhost:3000`
477
+
478
+ You should see "Hello, Tab!"
479
+
480
+ ![Glimmer DSL for Opal Hello Tab English](images/glimmer-dsl-opal-hello-tab-english.png)
481
+ ![Glimmer DSL for Opal Hello Tab French](images/glimmer-dsl-opal-hello-tab-french.png)
482
+
431
483
  ## Help
432
484
 
433
485
  ### Issues
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -17,6 +17,8 @@ require 'glimmer/dsl/opal/grid_layout_expression'
17
17
  require 'glimmer/dsl/opal/text_expression'
18
18
  require 'glimmer/dsl/opal/list_expression'
19
19
  require 'glimmer/dsl/opal/browser_expression'
20
+ require 'glimmer/dsl/opal/tab_folder_expression'
21
+ require 'glimmer/dsl/opal/tab_item_expression'
20
22
  require 'glimmer/dsl/opal/layout_data_expression'
21
23
  require 'glimmer/dsl/opal/list_selection_data_binding_expression'
22
24
 
@@ -0,0 +1,17 @@
1
+ require 'glimmer/dsl/static_expression'
2
+ require 'glimmer/dsl/parent_expression'
3
+ require 'glimmer/opal/tab_folder'
4
+
5
+ module Glimmer
6
+ module DSL
7
+ module Opal
8
+ class TabFolderExpression < StaticExpression
9
+ include ParentExpression
10
+
11
+ def interpret(parent, keyword, *args, &block)
12
+ Glimmer::Opal::TabFolder.new(parent, args)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'glimmer/dsl/static_expression'
2
+ require 'glimmer/dsl/parent_expression'
3
+ require 'glimmer/opal/tab_item'
4
+
5
+ module Glimmer
6
+ module DSL
7
+ module Opal
8
+ class TabItemExpression < StaticExpression
9
+ include ParentExpression
10
+
11
+ def interpret(parent, keyword, *args, &block)
12
+ Glimmer::Opal::TabItem.new(parent, args)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -3,14 +3,16 @@ require 'glimmer/opal/element_proxy'
3
3
  module Glimmer
4
4
  module Opal
5
5
  class DivProxy < ElementProxy
6
+ attr_reader :layout
7
+
6
8
  def initialize(parent, args)
7
9
  super(parent, args)
8
- GridLayoutProxy.new(self, [])
10
+ @layout = GridLayoutProxy.new(self, [])
9
11
  end
10
12
 
11
13
  def dom
12
14
  div_id = id
13
- div_style = style
15
+ div_style = css
14
16
  @dom ||= DOM {
15
17
  div(id: div_id, class: 'grid-layout', style: div_style)
16
18
  }
@@ -66,6 +66,44 @@ module Glimmer
66
66
  li.empty-list-item {
67
67
  color: transparent;
68
68
  }
69
+ .tabs {
70
+ overflow: hidden;
71
+ border: 1px solid #ccc;
72
+ background-color: #f1f1f1;
73
+ }
74
+
75
+ /* Style the buttons inside the tab */
76
+ .tabs .tab {
77
+ background-color: inherit;
78
+ float: left;
79
+ border: none;
80
+ outline: none;
81
+ cursor: pointer;
82
+ padding: 14px 16px;
83
+ transition: 0.3s;
84
+ font-size: 17px;
85
+ }
86
+
87
+ /* Change background color of buttons on hover */
88
+ .tabs .tab:hover {
89
+ background-color: #ddd;
90
+ }
91
+
92
+ /* Create an active/current tablink class */
93
+ .tabs .tab.active {
94
+ background-color: #ccc;
95
+ }
96
+
97
+ /* Style the tab content */
98
+ .tab-item {
99
+ padding: 6px 12px;
100
+ border: 1px solid #ccc;
101
+ border-top: none;
102
+ }
103
+
104
+ .hide {
105
+ display: none !important;
106
+ }
69
107
  </style>
70
108
  CSS
71
109
  }
@@ -5,18 +5,19 @@ module Glimmer
5
5
  class ElementProxy
6
6
  include Glimmer
7
7
  include PropertyOwner
8
- attr_reader :parent, :args, :css_classes, :style
8
+ attr_reader :parent, :args, :css_classes, :css, :children
9
9
 
10
10
  def initialize(parent, args)
11
11
  @parent = parent
12
12
  @args = args
13
- @children = []
14
- @parent.add_child(self)
13
+ @children = Set.new
15
14
  @css_classes = Set.new
15
+ @css = ''
16
+ @parent.add_child(self)
16
17
  end
17
18
 
18
19
  def add_child(child)
19
- return if @children.include?(child)
20
+ # return if @children.include?(child)
20
21
  @children << child
21
22
  dom << child.dom
22
23
  end
@@ -29,6 +30,10 @@ module Glimmer
29
30
  else
30
31
  dom
31
32
  end
33
+ @children.each do |child|
34
+ child.redraw
35
+ add_child(child)
36
+ end
32
37
  end
33
38
 
34
39
  # Subclasses must override with their own mappings
@@ -41,6 +46,7 @@ module Glimmer
41
46
  end
42
47
 
43
48
  def id
49
+ # TODO replace hash with autoincrement per name
44
50
  "#{name}-#{hash}"
45
51
  end
46
52
 
@@ -74,10 +80,8 @@ module Glimmer
74
80
  redraw
75
81
  end
76
82
 
77
- # TODO rename to avoid conflict with SWT Style verbiage
78
-
79
- def style=(css)
80
- @style = css
83
+ def css=(css)
84
+ @css = css
81
85
  redraw
82
86
  end
83
87
 
@@ -11,6 +11,7 @@ module Glimmer
11
11
  @args = args
12
12
  @parent.add_css_class('grid-layout')
13
13
  @vertical_spacing = 10
14
+ @num_columns = 1
14
15
  reapply
15
16
  end
16
17
 
@@ -39,7 +40,7 @@ module Glimmer
39
40
  end
40
41
 
41
42
  def reapply
42
- @parent.style = <<~CSS
43
+ @parent.css = <<~CSS
43
44
  display: grid;
44
45
  grid-template-columns: #{'auto ' * @num_columns.to_i};
45
46
  grid-row-gap: #{@vertical_spacing}px;
@@ -30,7 +30,7 @@ module Glimmer
30
30
  def dom
31
31
  input_text = @text
32
32
  input_id = id
33
- input_style = style
33
+ input_style = css
34
34
  input_args = @args.last
35
35
  @dom ||= DOM {
36
36
  input input_args.merge(id: input_id, style: input_style, value: input_text)
@@ -13,7 +13,7 @@ module Glimmer
13
13
  def dom
14
14
  label_text = @text
15
15
  label_id = id
16
- label_style = style
16
+ label_style = css
17
17
  @dom ||= DOM {
18
18
  label(id: label_id, style: label_style) {
19
19
  label_text
@@ -23,7 +23,7 @@ module Glimmer
23
23
  end
24
24
 
25
25
  def reapply
26
- # @parent.style = <<~CSS
26
+ # @parent.css = <<~CSS
27
27
  # CSS
28
28
  end
29
29
  end
@@ -60,7 +60,7 @@ module Glimmer
60
60
  def dom
61
61
  list_items = @items
62
62
  list_id = id
63
- list_style = style
63
+ list_style = css
64
64
  list_selection = selection
65
65
  @dom ||= DOM {
66
66
  ul(id: list_id, style: list_style) {
@@ -41,7 +41,7 @@ module Glimmer
41
41
  select_text = @text
42
42
  items = @items
43
43
  select_id = id
44
- select_style = style
44
+ select_style = css
45
45
  @dom ||= DOM {
46
46
  select(id: select_id, style: select_style) {
47
47
  items.to_a.each do |item|
@@ -0,0 +1,46 @@
1
+ require 'glimmer/opal/div_proxy'
2
+
3
+ module Glimmer
4
+ module Opal
5
+ class TabFolder < ElementProxy
6
+ attr_reader :tabs
7
+
8
+ def initialize(parent, args)
9
+ super(parent, args)
10
+ @tabs = []
11
+ end
12
+
13
+ def add_child(child)
14
+ super(child)
15
+ if @children.size == 1
16
+ child.show
17
+ end
18
+ end
19
+
20
+ def hide_all_tab_content
21
+ @children.each(&:hide)
22
+ end
23
+
24
+ def name
25
+ 'div'
26
+ end
27
+
28
+ def tabs_dom
29
+ tabs_id = id + '-tabs'
30
+ @tabs_dom ||= DOM {
31
+ div(id: tabs_id, class: 'tabs')
32
+ }
33
+ end
34
+
35
+ def dom
36
+ tab_folder_id = id
37
+ tab_folder_id_style = css
38
+ @dom ||= DOM {
39
+ div(id: tab_folder_id, style: tab_folder_id_style, class: 'tab-folder') {
40
+
41
+ }
42
+ }.tap {|the_dom| the_dom << tabs_dom }
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,98 @@
1
+ require 'glimmer/opal/input_proxy'
2
+
3
+ module Glimmer
4
+ module Opal
5
+ class TabItem < DivProxy
6
+ include Glimmer
7
+ attr_reader :text, :content_visible
8
+
9
+ def initialize(parent, args)
10
+ super(parent, args)
11
+ css_classes << 'tab-item'
12
+ content do
13
+ on_widget_selected {
14
+ @parent.hide_all_tab_content
15
+ show
16
+ }
17
+ end
18
+ end
19
+
20
+ def content(&block)
21
+ Glimmer::DSL::Engine.add_content(self, Glimmer::DSL::Opal::TabItemExpression.new, &block)
22
+ end
23
+
24
+ def show
25
+ @content_visible = true
26
+ redraw
27
+ end
28
+
29
+ def hide
30
+ @content_visible = false
31
+ redraw
32
+ end
33
+
34
+ def text=(value)
35
+ @text = value
36
+ redraw
37
+ end
38
+
39
+ def name
40
+ 'button'
41
+ end
42
+
43
+ def selector
44
+ super + '-tab'
45
+ end
46
+
47
+ def observation_request_to_event_mapping
48
+ {
49
+ 'on_widget_selected' => {
50
+ event: 'click'
51
+ },
52
+ }
53
+ end
54
+
55
+ def redraw
56
+ if @tab_dom
57
+ old_tab_dom = @tab_dom
58
+ @tab_dom = nil
59
+ old_tab_dom.replace tab_dom
60
+ else
61
+ tab_dom
62
+ end
63
+ super
64
+ end
65
+
66
+ def tab_dom
67
+ tab_id = id + '-tab'
68
+ tab_text = text
69
+ tab_active = content_visible ? 'active' : ''
70
+ @tab_dom ||= DOM {
71
+ button(id: tab_id, class: "tab #{tab_active}") {
72
+ tab_text
73
+ }
74
+ }
75
+ end
76
+
77
+ def dom
78
+ tab_item_id = id
79
+ tab_item_id_style = css
80
+ tab_item_css_classes = css_classes
81
+ if content_visible
82
+ tab_item_css_classes.delete('hide')
83
+ else
84
+ tab_item_css_classes << 'hide'
85
+ end
86
+ if !@parent.tabs.include?(self)
87
+ @parent.tabs_dom << tab_dom
88
+ @parent.tabs << self
89
+ end
90
+ @dom ||= DOM {
91
+ div(id: tab_item_id, style: tab_item_id_style, class: tab_item_css_classes.to_a.join(' ')) {
92
+ }
93
+ }
94
+ end
95
+ end
96
+ end
97
+ end
98
+ require 'glimmer/dsl/opal/tab_item_expression'
@@ -2,7 +2,7 @@ class HelloTab
2
2
  include Glimmer
3
3
  def launch
4
4
  shell {
5
- text "Hello Tab"
5
+ text "Hello, Tab!"
6
6
  tab_folder {
7
7
  tab_item {
8
8
  text "English"
@@ -13,7 +13,7 @@ class HelloTab
13
13
  tab_item {
14
14
  text "French"
15
15
  label {
16
- text "Bonjour Univers!"
16
+ text "Bonjour, Univers!"
17
17
  }
18
18
  }
19
19
  }
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.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-18 00:00:00.000000000 Z
11
+ date: 2020-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer
@@ -190,6 +190,8 @@ files:
190
190
  - lib/glimmer/dsl/opal/list_selection_data_binding_expression.rb
191
191
  - lib/glimmer/dsl/opal/property_expression.rb
192
192
  - lib/glimmer/dsl/opal/shell_expression.rb
193
+ - lib/glimmer/dsl/opal/tab_folder_expression.rb
194
+ - lib/glimmer/dsl/opal/tab_item_expression.rb
193
195
  - lib/glimmer/dsl/opal/text_expression.rb
194
196
  - lib/glimmer/dsl/opal/widget_listener_expression.rb
195
197
  - lib/glimmer/dsl/parent_expression.rb
@@ -210,6 +212,8 @@ files:
210
212
  - lib/glimmer/opal/point.rb
211
213
  - lib/glimmer/opal/property_owner.rb
212
214
  - lib/glimmer/opal/select_proxy.rb
215
+ - lib/glimmer/opal/tab_folder.rb
216
+ - lib/glimmer/opal/tab_item.rb
213
217
  - lib/samples/elaborate/contact_manager.rb
214
218
  - lib/samples/elaborate/contact_manager/contact.rb
215
219
  - lib/samples/elaborate/contact_manager/contact_manager_presenter.rb