glimmer-dsl-libui 0.2.8 → 0.2.9

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: c97e75e5d70341821d3b41fe832ae7efe1c70713ad673576a8498c4a3cd4ce70
4
- data.tar.gz: 46fab85f1c845963a823a4e894987914dfbff128122db19b7ae4a82766f43044
3
+ metadata.gz: 7aaaa95f0efdd3c1dd3dcc5ceb961e6f643d3df62a7145fce68da5dee977bcc6
4
+ data.tar.gz: 410b8273b462a9ad76dc7485d4183c0be08be62c60bd64f92a7b7aa974692e5d
5
5
  SHA512:
6
- metadata.gz: 9aa8032624bfdca1b1dcdb399e16eb2246244f09d48cf476e20a35ce58b2d2b0e6bba34defb810a8265a1c838422fecffd09f568aabb797c7d5ba93c6ffed93d
7
- data.tar.gz: 63206e935531bf431b417925fc4c569d685e6acbfc06e73d8231b7f53f60751bab0797ddfdd9580ca85d4cbc9d27e80b23b0bebccafa554ab988130e17478fe5
6
+ metadata.gz: f04981d43dc57f873da61bd77166d16b519b408a4b11b3695a1f82670e8502eab328d19c4bef60cab5549eae25b6a813ec0ca40342c65b2597c1a9b315ce3014
7
+ data.tar.gz: f714acf1968782069530c9ebce6c260080a12bb664d5218e84ec10f86250152e2e0abbc0b48e98c435da46e8915f858ff6e16a241009b0564cb8ebbb8f018c65
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.2.9
4
+
5
+ - Upgrade to glimmer 2.3.0
6
+ - Use glimmer 2.3.0 to support automatic table row change when performing a direct deep row/column update in `cell_rows` (e.g. `data[3][0] = 'new value'`) as opposed to a general shallow row update (e.g. `data[3] = ['new value', 'other new value']` <- already supported)
7
+
3
8
  ## 0.2.8
4
9
 
5
10
  - Support `table` `on_changed` listener to report all changes (of operation type `:deleted`, `:changed`, `:inserted`)
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.2.8
1
+ # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.2.9
2
2
  ## Prerequisite-Free Ruby Desktop Development GUI Library
3
3
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-libui.svg)](http://badge.fury.io/rb/glimmer-dsl-libui)
4
4
  [![Maintainability](https://api.codeclimate.com/v1/badges/ce2853efdbecf6ebdc73/maintainability)](https://codeclimate.com/github/AndyObtiva/glimmer-dsl-libui/maintainability)
@@ -61,7 +61,7 @@ window('Task Progress', 300, 200) {
61
61
 
62
62
  on_clicked do
63
63
  data.each_with_index do |row_data, row|
64
- data[row] = [row_data[0], 100] # automatically updates table due to implicit data-binding
64
+ data[row][1] = 100 # automatically updates table due to implicit data-binding
65
65
  end
66
66
  end
67
67
  }
@@ -197,7 +197,7 @@ Other [Glimmer](https://rubygems.org/gems/glimmer) DSL gems you might be interes
197
197
 
198
198
  ## Table of Contents
199
199
 
200
- - [Glimmer DSL for LibUI 0.2.8](#-glimmer-dsl-for-libui-028)
200
+ - [Glimmer DSL for LibUI 0.2.9](#-glimmer-dsl-for-libui-029)
201
201
  - [Glimmer GUI DSL Concepts](#glimmer-gui-dsl-concepts)
202
202
  - [Usage](#usage)
203
203
  - [Girb (Glimmer IRB)](#girb-glimmer-irb)
@@ -334,7 +334,7 @@ gem install glimmer-dsl-libui
334
334
  Or install via Bundler `Gemfile`:
335
335
 
336
336
  ```ruby
337
- gem 'glimmer-dsl-libui', '~> 0.2.8'
337
+ gem 'glimmer-dsl-libui', '~> 0.2.9'
338
338
  ```
339
339
 
340
340
  Add `require 'glimmer-dsl-libui'` at the top, and then `include Glimmer` into the top-level main object for testing or into an actual class for serious usage.
@@ -3056,7 +3056,7 @@ window('Task Progress', 300, 200) {
3056
3056
 
3057
3057
  on_clicked do
3058
3058
  data.each_with_index do |row_data, row|
3059
- data[row] = [row_data[0], 100] # automatically updates table due to implicit data-binding
3059
+ data[row][1] = 100 # automatically updates table due to implicit data-binding
3060
3060
  end
3061
3061
  end
3062
3062
  }
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.8
1
+ 0.2.9
@@ -26,7 +26,7 @@ window('Task Progress', 300, 200) {
26
26
 
27
27
  on_clicked do
28
28
  data.each_with_index do |row_data, row|
29
- data[row] = [row_data[0], 100] # automatically updates table due to implicit data-binding
29
+ data[row][1] = 100 # automatically updates table due to implicit data-binding
30
30
  end
31
31
  end
32
32
  }
Binary file
@@ -83,7 +83,7 @@ module Glimmer
83
83
  else
84
84
  @cell_rows = rows
85
85
  @cell_rows.tap do
86
- @last_cell_rows = @cell_rows.clone
86
+ @last_cell_rows = array_deep_clone(@cell_rows)
87
87
  Glimmer::DataBinding::Observer.proc do
88
88
  if @cell_rows.size < @last_cell_rows.size && @last_cell_rows.include_all?(*@cell_rows)
89
89
  @last_cell_rows.array_diff_indexes(@cell_rows).reverse.each do |row|
@@ -103,7 +103,7 @@ module Glimmer
103
103
  end
104
104
  end
105
105
  end
106
- @last_cell_rows = @cell_rows.clone
106
+ @last_cell_rows = array_deep_clone(@cell_rows)
107
107
  end.observe(self, :cell_rows)
108
108
  end
109
109
  end
@@ -205,6 +205,16 @@ module Glimmer
205
205
  @next_column_index ||= -1
206
206
  @next_column_index += 1
207
207
  end
208
+
209
+ def array_deep_clone(array_or_object)
210
+ if array_or_object.is_a?(Array)
211
+ array_or_object.map do |element|
212
+ array_deep_clone(element)
213
+ end
214
+ else
215
+ array_or_object.clone
216
+ end
217
+ end
208
218
  end
209
219
  end
210
220
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-libui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.2
19
+ version: 2.3.0
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: 2.2.2
26
+ version: 2.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: os
29
29
  requirement: !ruby/object:Gem::Requirement