dom-rb 0.1.3 → 0.1.4

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
  SHA1:
3
- metadata.gz: a45ec1b37800175c10637af2132159e857134034
4
- data.tar.gz: 686553f3bb65c377133c71f81a81f9934f8625ae
3
+ metadata.gz: 9cae4bc31b6b58eba444410662c49f6fc38956b8
4
+ data.tar.gz: 7d6094522646022477e1e18822ec3dbf01ec37f2
5
5
  SHA512:
6
- metadata.gz: 1b2f054907109c9a38fd298a89df5c5678ce7cedac4fb280446bd7df3187dd0eba7f3f827efd264c0ac8cca76e1fa40786bccf8a9b7cb41a382cdc8fa9c18739
7
- data.tar.gz: 8e6acd49fec6b390b79fbc8c2d7e62e90f8a0a59d2ee8730881a8f56729d061373b8e616060411169e65db37890abd0a4b0017f3278fc0be95ba735b277b9a79
6
+ metadata.gz: 4a6e6c87150dd87203d089ddb08357ecc6a72bf46f26f1f7395198b77a9986985d49aa2c5a210e18caf08a227d84ad980bce334c20a767afdc99dedd567be8bc
7
+ data.tar.gz: bd12f013b96489a59961d0cebb0f8c6a312ed93e8f2a3eeb4e832dff06f83e26b692e81b28ef2c88d1239e97608db154c845d94c5b6cacb6119dbc144087dcb1
@@ -66,15 +66,15 @@ class Browser
66
66
  trigger: 'hover focus',
67
67
  }
68
68
  end
69
- debug 0, ->{[__FILE__, __LINE__, __method__, "arg=#{arg}"]}
69
+ debug 2, ->{[__FILE__, __LINE__, __method__, "arg=#{arg}"]}
70
70
  check_bootstrap
71
- debug 0, ->{[__FILE__, __LINE__, __method__, "@native=#{@native}"]}
71
+ debug 2, ->{[__FILE__, __LINE__, __method__, "@native=#{@native}"]}
72
72
  `$(#@native).tooltip(#{arg.to_n})`
73
- debug 0, ->{[__FILE__, __LINE__, __method__]}
73
+ debug 2, ->{[__FILE__, __LINE__, __method__]}
74
74
  end
75
75
 
76
76
  def popover(arg=nil)
77
- debug 0, ->{[__FILE__, __LINE__, __method__]}
77
+ debug 2, ->{[__FILE__, __LINE__, __method__]}
78
78
  if String === arg
79
79
  arg = {
80
80
  title: arg,
@@ -83,7 +83,7 @@ class Browser
83
83
  end
84
84
  check_bootstrap
85
85
  `$(#@native).popover(#{arg.to_n})`
86
- debug 0, ->{[__FILE__, __LINE__, __method__]}
86
+ debug 2, ->{[__FILE__, __LINE__, __method__]}
87
87
  end
88
88
 
89
89
  def bindings=(bindings)
@@ -19,7 +19,7 @@ module CSR
19
19
  end
20
20
 
21
21
  def div(attributes: nil, content: nil)
22
- debug 0, ->{[ __FILE__, __LINE__, __method__]}
22
+ debug 3, ->{[ __FILE__, __LINE__, __method__]}
23
23
  tag(:div, attributes: attributes, content: content)
24
24
  end
25
25
 
@@ -10,7 +10,7 @@ module CSR
10
10
  include CSR::DOM::Debug
11
11
 
12
12
  def icon(name, callback: nil, attributes: nil, tooltip: nil, popover: nil)
13
- debug 0, ->{[ __FILE__, __LINE__, __method__, "name=#{name} callback=#{callback} attributes=#{attributes} tooltip=#{tooltip}" ]}
13
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "name=#{name} callback=#{callback} attributes=#{attributes} tooltip=#{tooltip}" ]}
14
14
  style = {
15
15
  text_align: 'center',
16
16
  color: 'inherit',
@@ -33,18 +33,18 @@ module CSR
33
33
  }.merge(
34
34
  callback ? { onclick: callback } : {}
35
35
  )
36
- debug 0, ->{[ __FILE__, __LINE__, __method__, "attributes=#{attributes}" ]}
36
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "attributes=#{attributes}" ]}
37
37
  icon = tag(
38
38
  :span,
39
39
  attributes: attributes
40
40
  )
41
- debug 0, ->{[ __FILE__, __LINE__, __method__, "icon=#{icon}" ]}
41
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "icon=#{icon}" ]}
42
42
  if tooltip
43
43
  icon.tooltip(tooltip)
44
44
  elsif popover
45
45
  icon.popover(popover)
46
46
  end
47
- debug 0, ->{[ __FILE__, __LINE__, __method__, "icon=#{icon}" ]}
47
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "icon=#{icon}" ]}
48
48
  icon
49
49
  end
50
50
 
@@ -61,6 +61,14 @@ module CSR
61
61
  debug 2, ->{[ __FILE__, __LINE__, __method__]}
62
62
  end
63
63
 
64
+ def new_column(*args)
65
+ CSR::DOM::Table::Column.new(*args)
66
+ end
67
+
68
+ def new_content(*args)
69
+ CSR::DOM::Content.new(*args)
70
+ end
71
+
64
72
  def columns
65
73
  unless @columns
66
74
  @columns = if Proc === @raw_columns
@@ -91,6 +99,13 @@ module CSR
91
99
  @root
92
100
  end
93
101
 
102
+ def update_root
103
+ if @root
104
+ @root.clear
105
+ @root << content
106
+ end
107
+ end
108
+
94
109
  def attributes
95
110
  debug 2, ->{[ __FILE__, __LINE__, __method__ ]}
96
111
  result = {
@@ -130,7 +145,7 @@ module CSR
130
145
  end
131
146
 
132
147
  def section(id)
133
- @sections ? @sections.detect {|e| e.id == id} : nil
148
+ sections.detect {|e| e.id == id}
134
149
  end
135
150
 
136
151
  def head
@@ -186,27 +201,24 @@ module CSR
186
201
  end
187
202
 
188
203
  def update
189
- # debug 2, ->{[ __FILE__, __LINE__, __method__ ]}
190
- @root = nil
204
+ debug 2, ->{[ __FILE__, __LINE__, __method__ ]}
191
205
  init_sorting
192
- update_caption
193
- update_sections
206
+ update_root
194
207
  end
195
208
 
196
209
  def update_caption
197
210
  @caption.update if @caption
198
211
  end
199
212
 
200
- def update_sections(ids = nil)
201
- ids = ids || section_ids
202
- ids.each do |id|
203
- # debug 2, ->{[ __FILE__, __LINE__, __method__, "id=#{id} " ]}
204
- update_section(id)
205
- end
213
+ def update_sections
214
+ @sections = nil
215
+ update_root
206
216
  end
207
217
 
208
218
  def update_section(id)
219
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "id=#{id} " ]}
209
220
  section = section(id)
221
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "section=#{section} " ]}
210
222
  if section
211
223
  section.update
212
224
  end
@@ -14,7 +14,7 @@ module CSR
14
14
  attr_reader :table, :id
15
15
 
16
16
  def initialize(table, id)
17
- # self.debug_level = 1
17
+ # self.debug_level = 2
18
18
  @table, @id = table, id
19
19
  end
20
20
 
@@ -32,17 +32,21 @@ module CSR
32
32
 
33
33
  def update
34
34
  if @root
35
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @root=#{@root}" ]}
35
36
  animate do
36
- # debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @root=#{@root}" ]}
37
- @row_sources = @row_indexes = @rows = nil
38
- @root.clear
39
- @root << content
37
+ clear_rows
38
+ update_root
40
39
  end
41
40
  else
42
- # debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @root=nil" ]}
41
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @root=nil" ]}
43
42
  end
44
43
  end
45
44
 
45
+ def update_root
46
+ @root.clear
47
+ @root << content
48
+ end
49
+
46
50
  def row_attributes(index)
47
51
  # TODO: implement
48
52
  end
@@ -50,18 +54,18 @@ module CSR
50
54
  # source should be source (unsorted) index or row source (model)
51
55
  # columns may be column indexes or Column's
52
56
  def update_row(source, _columns = nil)
53
- debug 1, ->{[ __FILE__, __LINE__, __method__, "source=#{source} _columns=#{_columns} @rows.size=#{@rows ? @rows.size : 'nil'}" ]}
57
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "source=#{source} _columns=#{_columns} @rows.size=#{@rows ? @rows.size : 'nil'}" ]}
54
58
  if @rows
55
59
  columns = if _columns
56
60
  _columns.map { |c| Integer === c ? @table.columns[c] : c }
57
61
  end
58
- debug 1, ->{[ __FILE__, __LINE__, __method__, "source=#{source} columns=#{columns}" ]}
62
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "source=#{source} columns=#{columns}" ]}
59
63
  if @id == :body && (columns.nil? || (@table.sort_column && columns.include?(@table.sort_column)))
60
- debug 1, ->{[ __FILE__, __LINE__, __method__, "updating whole section" ]}
64
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "updating whole section" ]}
61
65
  update
62
66
  else
63
67
  row_index = Integer === source ? source : source_index(source)
64
- debug 1, ->{[ __FILE__, __LINE__, __method__, "calling @rows[#{row_index}].update(#{columns})" ]}
68
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "calling @rows[#{row_index}].update(#{columns})" ]}
65
69
  @rows[row_index].update(columns)
66
70
  end
67
71
  end
@@ -87,28 +91,28 @@ module CSR
87
91
  end
88
92
 
89
93
  def attributes
90
- debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
94
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
91
95
  result = table.section_attributes(@id)
92
- debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} result=#{result}" ]}
96
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} result=#{result}" ]}
93
97
  result
94
98
  end
95
99
 
96
100
  def content
97
- debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
101
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
98
102
  result = rows.map { |row| row.root }
99
- debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} result=#{result}" ]}
103
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} result=#{result}" ]}
100
104
  result
101
105
  end
102
106
 
103
107
  # Returns array of Table::Row's (in table sort order)
104
108
  def rows
105
109
  unless @rows
106
- # debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
110
+ # debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
107
111
  @rows = []
108
112
  row_indexes.each do |model_index|
109
113
  @rows << Row.new(@table, self, model_index)
110
114
  end
111
- # debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @rows=#{@rows.map(&:index)}}" ]}
115
+ # debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @rows=#{@rows.map(&:index)}}" ]}
112
116
  end
113
117
  @rows
114
118
  end
@@ -123,9 +127,10 @@ module CSR
123
127
 
124
128
  def row_sources
125
129
  unless @row_sources
126
- # debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
130
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id}" ]}
127
131
  source = @table.row_source(@id)
128
132
  source = source.call if Proc === source
133
+ debug 2, ->{[ __FILE__, __LINE__, __method__, "source=#{source}" ]}
129
134
  @row_sources = case source
130
135
  when Fixnum
131
136
  source.times.to_a
@@ -135,7 +140,7 @@ module CSR
135
140
  source
136
141
  end
137
142
  # if body?
138
- # debug 1, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @row_sources=#{@row_sources.map(&:code)}" ]}
143
+ # debug 2, ->{[ __FILE__, __LINE__, __method__, "@id=#{@id} @row_sources=#{@row_sources.map(&:code)}" ]}
139
144
  # end
140
145
  end
141
146
  @row_sources
@@ -178,6 +183,10 @@ module CSR
178
183
 
179
184
  private
180
185
 
186
+ def clear_rows
187
+ @row_sources = @row_indexes = @rows = nil
188
+ end
189
+
181
190
  def sort_value(column, row_source)
182
191
  content = column.section_content(@id)
183
192
  result = if Content === content
data/lib/dom/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module CSR
2
2
  module DOM
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dom-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Gunn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-04 00:00:00.000000000 Z
11
+ date: 2016-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal-browser