the_sortable_tree 1.8.0 → 1.8.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -33,6 +33,11 @@ Copy and Paste rebuild function from TheSortableTreeController.
33
33
 
34
34
  Perhaps, you may have to slightly change the function of the controller.
35
35
 
36
+ ### Changelog
37
+
38
+ 1.8.5 - helper can rendering a part tree
39
+ 1.8.0 - stable release
40
+
36
41
  ### Is it fast?
37
42
 
38
43
  Hmmmm...
@@ -232,6 +237,18 @@ Customize and use it!
232
237
  = sortable_tree @pages, :new_url => new_page_path, :path => 'pages/the_sortable_tree', :max_levels => 2
233
238
  ```
234
239
 
240
+ ### Rendering a part of tree
241
+
242
+ ``` ruby
243
+ @root = Page.root
244
+ @pages = @root.descendants.nested_set.all
245
+ ```
246
+
247
+ ``` ruby
248
+ = @root.inspect
249
+ = sortable_tree @pages, :new_url => new_page_path
250
+ ```
251
+
235
252
  ### LiveDemo
236
253
 
237
254
  https://github.com/the-teacher/the_sortable_tree_test_app
@@ -41,9 +41,17 @@ module TheSortableTreeHelper
41
41
  node = opts[:node]
42
42
 
43
43
  unless node
44
- roots = tree.select{|elem| elem.parent_id.nil?}
44
+ roots = tree.select{ |elem| elem.parent_id.nil? }
45
+
46
+ # TODO: try to remove compact
47
+ # children rendering
48
+ if roots.empty? && !tree.empty?
49
+ min_parent_id = tree.map(&:parent_id).compact.min
50
+ roots = tree.select{ |elem| elem.parent_id == min_parent_id }
51
+ end
52
+
45
53
  roots.each do |root|
46
- _opts = opts.merge({:node => root, :root => true, :level => opts[:level].next})
54
+ _opts = opts.merge({:node => root, :root => true, :level => opts[:level].next})
47
55
  result << sortable_tree_builder(tree, _opts)
48
56
  end
49
57
  else
@@ -51,11 +59,11 @@ module TheSortableTreeHelper
51
59
  children = tree.select{|elem| elem.parent_id == node.id}
52
60
  opts.merge!({:has_children => children.blank?})
53
61
  children.each do |elem|
54
- _opts = opts.merge({:node => elem, :root => false, :level => opts[:level].next})
62
+ _opts = opts.merge({:node => elem, :root => false, :level => opts[:level].next})
55
63
  children_res << sortable_tree_builder(tree, _opts)
56
64
  end
57
65
  result << render(:partial => "#{opts[:path]}/node", :locals => {:opts => opts, :root => root, :node => node, :children => children_res})
58
66
  end
59
67
  raw result
60
- end# sortable_tree_builder
61
- end# module
68
+ end
69
+ end
@@ -1,3 +1,3 @@
1
1
  module TheSortableTree
2
- VERSION = "1.8.0"
2
+ VERSION = "1.8.5"
3
3
  end
metadata CHANGED
@@ -1,89 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: the_sortable_tree
3
- version: !ruby/object:Gem::Version
4
- hash: 55
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.8.5
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 8
9
- - 0
10
- version: 1.8.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ilya N. Zykin, Matthew Clark, Mikhail Dieterle
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-02-11 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-04-03 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rails
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &80466760 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 5
29
- segments:
30
- - 3
31
- - 1
32
- version: "3.1"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '3.1'
33
22
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: sqlite3
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *80466760
25
+ - !ruby/object:Gem::Dependency
26
+ name: sqlite3
27
+ requirement: &80466550 !ruby/object:Gem::Requirement
39
28
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
47
33
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: rspec
51
34
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *80466550
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &80466320 !ruby/object:Gem::Requirement
53
39
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
61
44
  type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: rspec-rails
65
45
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *80466320
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec-rails
49
+ requirement: &80466110 !ruby/object:Gem::Requirement
67
50
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
75
55
  type: :development
76
- version_requirements: *id004
56
+ prerelease: false
57
+ version_requirements: *80466110
77
58
  description: Drag&Drop GUI helper for awesome_nested_set gem. Sortable tree view helper
78
- email:
59
+ email:
79
60
  - zykin-ilya@ya.ru
80
61
  executables: []
81
-
82
62
  extensions: []
83
-
84
- extra_rdoc_files:
63
+ extra_rdoc_files:
85
64
  - README.md
86
- files:
65
+ files:
87
66
  - app/controllers/the_sortable_tree_controller.rb
88
67
  - app/assets/images/iconza/red/edit.png
89
68
  - app/assets/images/iconza/red/down.png
@@ -169,38 +148,29 @@ files:
169
148
  - spec/dummy/script/rails
170
149
  homepage: https://github.com/the-teacher/the_sortable_tree
171
150
  licenses: []
172
-
173
151
  post_install_message:
174
152
  rdoc_options: []
175
-
176
- require_paths:
153
+ require_paths:
177
154
  - lib
178
- required_ruby_version: !ruby/object:Gem::Requirement
155
+ required_ruby_version: !ruby/object:Gem::Requirement
179
156
  none: false
180
- requirements:
181
- - - ">="
182
- - !ruby/object:Gem::Version
183
- hash: 3
184
- segments:
185
- - 0
186
- version: "0"
187
- required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ required_rubygems_version: !ruby/object:Gem::Requirement
188
162
  none: false
189
- requirements:
190
- - - ">="
191
- - !ruby/object:Gem::Version
192
- hash: 3
193
- segments:
194
- - 0
195
- version: "0"
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
196
167
  requirements: []
197
-
198
168
  rubyforge_project: the_sortable_tree
199
169
  rubygems_version: 1.8.15
200
170
  signing_key:
201
171
  specification_version: 3
202
172
  summary: Drag&Drop GUI helper for awesome_nested_set gem. Sortable tree view helper
203
- test_files:
173
+ test_files:
204
174
  - spec/controlllers/controller_mixin_spec.rb
205
175
  - spec/spec_helper.rb
206
176
  - spec/dummy/README.rdoc