the_sortable_tree 1.2.0 → 1.4.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  ### TheSortableTree
2
2
 
3
+ **Dev status: GEM is FINISHED! **
4
+
3
5
  Engine Based GUI for awesome_nested_set gem. Rails 3+
4
6
 
5
7
  ![TheSortableTree](https://github.com/the-teacher/the_sortable_tree/raw/master/pic.jpg)
@@ -8,6 +10,14 @@ Engine Based GUI for awesome_nested_set gem. Rails 3+
8
10
 
9
11
  **sortable_tree** uses partials for rendering, that's why it is **so easy to customize**!
10
12
 
13
+ ### Is it fast?
14
+
15
+ Hmmmm...
16
+ Development env, 584 elements, 3 levels deep - rendered by 50 sec.
17
+ I think it is good result.
18
+
19
+ Do you can makes it fester? Welcome!
20
+
11
21
  ### Install
12
22
 
13
23
  gem 'the_sortable_tree'
@@ -26,7 +36,6 @@ bundle
26
36
 
27
37
  ``` ruby
28
38
  class Page < ActiveRecord::Base
29
- # SCOPES FOR SORTABLE NESTED SET
30
39
  include TheSortableTree::Scopes
31
40
  # any code here
32
41
  end
@@ -102,10 +111,45 @@ end
102
111
  - content_for :js do
103
112
  = javascript_include_tag 'jquery.ui.nestedSortable'
104
113
 
105
- = sortable_tree @pages, :klass => :page, :rebuild_url => rebuild_pages_path
114
+ = sortable_tree @pages, :new_url => new_page_path, :max_levels => 4
115
+ ```
116
+
117
+ or (without administrator controls and drag&drop)
118
+
119
+ ``` ruby
120
+ - content_for :css do
121
+ = stylesheet_link_tag 'the_sortable_tree_min', :media => :screen
122
+
123
+ = sortable_tree @pages, :new_url => new_page_path, :path => 'the_sortable_tree_min'
124
+ ```
125
+
126
+ ### Customize tree for User (min version)
127
+
128
+ **Use sortable_tree as view helper for simple rendering of nested_set tree**
129
+
130
+ ``` ruby
131
+ rails g the_sortable_tree:views pages min
132
+ ```
133
+
134
+ It's will generate minimal set of view partials for **sortable_tree** helper
135
+
136
+ ``` ruby
137
+ create app/views/pages/the_sortable_tree_min
138
+ create app/views/pages/the_sortable_tree_min/_children.html.haml
139
+ create app/views/pages/the_sortable_tree_min/_node.html.haml
140
+ create app/views/pages/the_sortable_tree_min/_link.html.haml
141
+ create app/views/pages/the_sortable_tree_min/_tree.html.haml
142
+ ```
143
+
144
+ Just use it or Customize and use it!
145
+
146
+ ``` ruby
147
+ - content_for :css do
148
+ = stylesheet_link_tag 'the_sortable_tree_min', :media => :screen
149
+ = sortable_tree @pages, :new_url => new_page_path, :path => 'pages/the_sortable_tree_min'
106
150
  ```
107
151
 
108
- ### Customize
152
+ ### Customize tree for Administrator (full version)
109
153
 
110
154
  ``` ruby
111
155
  rails g the_sortable_tree:views pages
@@ -116,27 +160,40 @@ It's will generate view partials for **sortable_tree** helper
116
160
  ``` ruby
117
161
  create app/views/pages/the_sortable_tree
118
162
  create app/views/pages/the_sortable_tree/_controls.html.haml
119
- create app/views/pages/the_sortable_tree/_item.html.haml
163
+ create app/views/pages/the_sortable_tree/_node.html.haml
120
164
  create app/views/pages/the_sortable_tree/_js_init_sortable_tree.html.haml
121
165
  create app/views/pages/the_sortable_tree/_js_on_update_tree.html.haml
122
166
  create app/views/pages/the_sortable_tree/_js_rebuild_ajax.html.haml
123
167
  create app/views/pages/the_sortable_tree/_link.html.haml
124
- create app/views/pages/the_sortable_tree/_nested_set.html.haml
168
+ create app/views/pages/the_sortable_tree/_children.html.haml
125
169
  create app/views/pages/the_sortable_tree/_new.html.haml
126
170
  create app/views/pages/the_sortable_tree/_tree.html.haml
127
171
  ```
128
172
 
173
+ Customize and use it!
174
+
175
+ ``` ruby
176
+ - content_for :css do
177
+ = stylesheet_link_tag 'the_sortable_tree', :media => :screen
178
+ - content_for :js do
179
+ = javascript_include_tag 'jquery.ui.nestedSortable'
180
+
181
+ = sortable_tree @pages, :new_url => new_page_path, :path => 'pages/the_sortable_tree', :max_levels => 2
182
+ ```
183
+
184
+ ### Partials
185
+
129
186
  **_tree** - root container for nested set elements
130
187
 
131
- **_item** - element of tree (link to current element and childs)
188
+ **_node** - element of tree (link to current node and nested set of children)
132
189
 
133
190
  **_link** - decoration of link to current element of tree
134
191
 
135
- **_nested_set** - decoration of childs
192
+ **_children** - decoration of children
136
193
 
137
194
  **_new** - create new element link
138
195
 
139
- **_controls** - control elements for current tree element
196
+ **_controls** - control elements for current node
140
197
 
141
198
 
142
199
  **_js_init_sortable_tree** - JS for sortable tree
@@ -145,12 +202,6 @@ create app/views/pages/the_sortable_tree/_tree.html.haml
145
202
 
146
203
  **_js_rebuild_ajax**- JS for sortable tree
147
204
 
148
- Customize and use it!
149
-
150
- ``` ruby
151
- = sortable_tree @pages, :klass => :page, :rebuild_url => rebuild_pages_path, :path => 'pages/the_sortable_tree'
152
- ```
153
-
154
205
  ### Acknowledgments
155
206
 
156
207
  * https://github.com/mjsarfatti/nestedSortable
@@ -54,14 +54,14 @@
54
54
  margin:0 0 0 3px;
55
55
  cursor:pointer;
56
56
  }
57
- .root_create_image{
57
+ .nested_set_new_image{
58
58
  vertical-align:middle;
59
59
  border:none;
60
60
  }
61
- .root_create_link{
61
+ .nested_set_new{
62
62
  margin:25px 0;
63
63
  }
64
- .root_create_link a{
64
+ .nested_set_new a{
65
65
  font-size:14pt;
66
66
  }
67
67
  .nested_set .handle{
@@ -0,0 +1,16 @@
1
+ ol.nested_set_min li{
2
+ font-size: 1.4em;
3
+ line-height: 130%;
4
+ margin-bottom: 5px;
5
+ font-weight: bold;
6
+ }
7
+ ol.nested_set_min ol{
8
+ border-left: 1px dashed #AAA;
9
+ padding-left: 10px;
10
+ margin-left: 15px;
11
+ margin-top: 5px;
12
+ }
13
+ ol.nested_set_min ol li{ font-weight: normal; }
14
+
15
+ .nested_set_min a:hover { color: #003A89 !important; }
16
+ .nested_set_min a:visited { color: #809dc4; }
@@ -1,107 +1,56 @@
1
1
  module TheSortableTreeHelper
2
2
  # Publicated by MIT
3
3
  # Nested Set View Helper
4
- # Ilya Zykin, zykin-ilya@ya.ru, Russia, Ivanovo 2009-2011
4
+ # Ilya Zykin, zykin-ilya@ya.ru, Russia, Ivanovo 2009-2012
5
5
  # github.com/the-teacher
6
6
  #-------------------------------------------------------------------------------------------------------
7
-
8
- # = sortable_tree(@pages)
9
- # = sortable_tree @products, :klass => :product, :path => 'products/the_sortable_tree', :rebuild_url => rebuild_products_path
10
7
 
11
- def create_root_element_link(options= {})
12
- opts= {:top_root => false}.merge!(options)
13
- render :partial => "#{opts[:path]}/new", :locals => { :opts => opts }
14
- end
8
+ # = sortable_tree @pages, :new_url => new_page_url, :max_levels => 5
9
+ # = sortable_tree @products, :new_url => new_product_url, :path => 'products/the_sortable_tree'
15
10
 
16
- def ans_controls(node, options= {})
17
- opts= {
18
- :id_field => 'id', # id field name, id by default
19
- :first => false, # first element flag
20
- :last => false, # last element flag
21
- :has_childs => false # has childs?
22
- }.merge!(options)
23
- render :partial => "#{opts[:path]}/controls", :locals => { :node => node, :opts => opts }
11
+ def define_class_of_elements_of tree
12
+ return nil if tree.empty?
13
+ tree.first.class.to_s.downcase
24
14
  end
25
15
 
26
- def sortable_tree(tree, options= {})
27
- path = 'the_sortable_tree'
28
- path = options[:path] if options[:path] && File.directory?([Rails.root, :app, :views, options[:path]].join '/')
29
- klass = options[:klass].to_s
30
- tree = sortable_tree_bilder(tree, options.merge!({:path => path, :klass => klass}))
31
- render :partial => "#{path}/tree", :locals => { :tree => tree, :opts => options }
16
+ def sortable_tree(tree, opts= {})
17
+ opts.merge!({
18
+ :path => opts[:path] || :the_sortable_tree,
19
+ :klass => define_class_of_elements_of(tree),
20
+ :title => opts[:title] || :title,
21
+ :max_levels => opts[:max_levels] || 3
22
+ })
23
+ render :partial => "#{opts[:path]}/tree", :locals => { :tree => sortable_tree_builder(tree, opts), :opts => opts }
32
24
  end
33
25
 
34
- def sortable_tree_bilder(tree, options= {})
35
- result= ''
36
- opts= {
26
+ def sortable_tree_builder(tree, options= {})
27
+ result = ''
28
+ opts = {
29
+ :id => :id, # node id field
37
30
  :node => nil, # node
38
- :admin => true, # render admin tree?
39
- :root => false, # is it root node?
40
- :id_field => 'id', # id field name, id by default
41
- :first => false, # first element flag
42
- :last => false, # last element flag
43
- :level => 0, # recursion level
44
- :clean => true # delete element from tree after rendering. ~25% time economy when rendering tree once on a page
31
+ :root => false, # is it root node?
32
+ :level => 0 # recursion level
45
33
  }.merge!(options)
46
34
 
47
- node = opts[:node]
48
35
  root = opts[:root]
49
-
50
- # must be string
51
- opts[:id_field] = opts[:id_field].to_s
36
+ node = opts[:node]
52
37
 
53
38
  unless node
54
- roots= tree.select{|elem| elem.parent_id.nil?}
55
- # find ids of first and last root node
56
- roots_first_id= roots.empty? ? nil : roots.first.id
57
- roots_last_id= roots.empty? ? nil : roots.last.id
58
-
59
- # render roots
39
+ roots = tree.select{|elem| elem.parent_id.nil?}
60
40
  roots.each do |root|
61
- is_first= (root.id==roots_first_id)
62
- is_last= (root.id==roots_last_id)
63
- _opts = opts.merge({:node => root, :root => true, :level => opts[:level].next, :first => is_first, :last => is_last})
64
- result<< sortable_tree_bilder(tree, _opts)
41
+ _opts = opts.merge({:node => root, :root => true, :level => opts[:level].next})
42
+ result << sortable_tree_builder(tree, _opts)
65
43
  end
66
44
  else
67
- res= ''
68
- controls= ''
69
- childs_res= ''
70
-
71
- # select childs
72
- childs= tree.select{|elem| elem.parent_id == node.id}
73
- opts.merge!({:has_childs => childs.blank?})
74
-
75
- # admin controls
76
- if opts[:admin]
77
- c = ans_controls(node, opts)
78
- controls= content_tag(:span, c, :class => :controls)
45
+ children_res = ''
46
+ children = tree.select{|elem| elem.parent_id == node.id}
47
+ opts.merge!({:has_children => children.blank?})
48
+ children.each do |elem|
49
+ _opts = opts.merge({:node => elem, :root => false, :level => opts[:level].next})
50
+ children_res << sortable_tree_builder(tree, _opts)
79
51
  end
80
-
81
- # find id of first and last node
82
- childs_first_id= childs.empty? ? nil : childs.first.id
83
- childs_last_id= childs.empty? ? nil : childs.last.id
84
-
85
- # render childs
86
- childs.each do |elem|
87
- is_first= (elem.id==childs_first_id)
88
- is_last= (elem.id==childs_last_id)
89
- _opts = opts.merge({:node => elem, :root => false, :level => opts[:level].next, :first => is_first, :last => is_last})
90
- childs_res << sortable_tree_bilder(tree, _opts)
91
- end
92
-
93
- # build views
94
- childs_res= childs_res.blank? ? '' : render(:partial => "#{opts[:path]}/nested_set", :locals => {:opts => opts, :parent => node, :childs => childs_res})
95
- link= render(:partial => "#{opts[:path]}/link", :locals => {:opts => opts, :node => node, :root => root, :controls => controls})
96
- res= render(:partial => "#{opts[:path]}/item", :locals => {:opts => opts, :node => node, :link => link, :childs => childs_res})
97
-
98
- # delete current node from tree if you want
99
- # recursively moving by tree is 25%+ faster on 500 elems
100
- # remove from Array, not from DB! ;) ?! Array#pull?!
101
- # tree.delete(node) if opts[:clean]
102
-
103
- result << res
52
+ result << render(:partial => "#{opts[:path]}/node", :locals => {:opts => opts, :root => root, :node => node, :children => children_res})
104
53
  end
105
54
  raw result
106
- end#sortable_tree_bilder
107
- end# module
55
+ end# sortable_tree_builder
56
+ end# module
@@ -0,0 +1 @@
1
+ = content_tag :ol, raw(children)
@@ -1,16 +1,16 @@
1
1
  -# EDIT
2
- - edit= link_to "", polymorphic_url(node, :action => :edit), :title => t("#{opts[:klass].pluralize}.edit_this"), :class => "button edit"
2
+ - edit = link_to '', polymorphic_url(node, :action => :edit), :title => t('.edit_this'), :class => 'button edit'
3
3
  -# DELETE
4
- - if opts[:has_childs]
5
- - delete= link_to("", url_for(node),
6
- :title => t("#{opts[:klass].pluralize}.delete"),
4
+ - if opts[:has_children]
5
+ - delete = link_to('', url_for(node),
6
+ :title => t('.delete'),
7
7
  :method => :delete,
8
- :confirm => t("#{opts[:klass].pluralize}.delete_confirm"),
9
- :class => "button delete")
8
+ :confirm => t('.delete_confirm'),
9
+ :class => 'button delete')
10
10
  - else
11
- - delete= link_to("", "#",
12
- :title => t("#{opts[:klass].pluralize}.cant_be_deleted"),
13
- :onclick => t("#{opts[:klass].pluralize}.delete_nested_elements"),
14
- :class => "button undeleted")
11
+ - delete = link_to('', '#',
12
+ :title => t('.cant_be_deleted'),
13
+ :onclick => "alert('#{t('.delete_nested_elements')}')",
14
+ :class => 'button undeleted')
15
15
  -# OUTPUT
16
16
  = edit + delete
@@ -1,12 +1,12 @@
1
1
  :javascript
2
- $(document).ready(function(){
2
+ $(function(){
3
3
  $('ol.sortable').nestedSortable({
4
4
  disableNesting: 'no-nest',
5
5
  forcePlaceholderSize: true,
6
- handle: 'div.handle',
6
+ handle: 'i.handle',
7
7
  helper: 'clone',
8
8
  items: 'li',
9
- maxLevels: 3,
9
+ maxLevels: #{opts[:max_levels]},
10
10
  opacity: .6,
11
11
  placeholder: 'placeholder',
12
12
  revert: 250,
@@ -1,5 +1,5 @@
1
1
  :javascript
2
- $(document).ready(function(){
2
+ $(function(){
3
3
  $('ol.sortable').sortable({
4
4
  update: function(event, ui){
5
5
  parent_id = ui.item.parent().parent().attr('id');
@@ -1,21 +1,13 @@
1
1
  :javascript
2
2
  function sortable_tree(item_id, parent_id, prev_id, next_id){
3
3
  jQuery.ajax({
4
- type: 'POST',
5
- url: '#{opts[:rebuild_url]}',
6
- data: { id: item_id,
7
- parent_id: parent_id,
8
- prev_id: prev_id,
9
- next_id: next_id },
10
- dataType: 'script',
11
- beforeSend: function(xhr){
12
- //$('##{opts[:klass]}_nested_set .handle').hide();
13
- },
14
- success: function(data, status, xhr){
15
- //$('##{opts[:klass]}_nested_set .handle').show();
16
- },
17
- error: function(xhr, status, error){
18
- alert(error);
19
- }
4
+ type: 'POST',
5
+ dataType: 'script',
6
+ url: '#{url_for(:controller => opts[:klass].pluralize, :action => :rebuild)}',
7
+ data: { id: item_id, parent_id: parent_id, prev_id: prev_id, next_id: next_id },
8
+
9
+ beforeSend: function(xhr){ $('.nested_set i.handle').hide() },
10
+ success: function(data, status, xhr){ $('.nested_set i.handle').show() },
11
+ error: function(xhr, status, error){ alert(error) }
20
12
  });
21
13
  }
@@ -1,10 +1,7 @@
1
- - if opts[:admin]
2
- - handle= content_tag :div, raw("&nbsp;"), :class => :handle
3
- - link= link_to(node.title, url_for(node), :title => node.title)
4
- - content= raw(handle.to_s) + controls + link
5
- %div{ :class => "link#{' root' if root}" }
6
- = content
7
- - else
8
- %div{:class => "link #{"root" if root}"}
9
- = link_to(node.title, polymorphic_path(node), :title => node.title)
10
-
1
+ - title = node.send opts[:title]
2
+ - handle = content_tag :i, '', :class => :handle
3
+ - link = link_to(title, url_for(node), :title => title)
4
+ - controls = render(:partial => "#{opts[:path]}/controls", :locals => { :node => node, :opts => opts })
5
+ - controls = content_tag(:b, controls, :class => :controls)
6
+ - element = handle + controls + link
7
+ %div{ :class => "link#{' root' if root}" }= element
@@ -1,3 +1,3 @@
1
- - image= image_tag('iconza/blue/add.png', :class => :root_create_image) + raw('&nbsp;')
2
- - link= link_to(image + raw(t("#{opts[:klass].pluralize}.new.create")), url_for(:controller => opts[:klass].pluralize, :action => :new))
3
- .root_create_link= link
1
+ - image = image_tag('iconza/blue/add.png', :class => :nested_set_new_image) + ' '
2
+ - link = link_to(image + t('.create'), opts[:new_url])
3
+ .nested_set_new= link
@@ -0,0 +1,3 @@
1
+ %li{ :id => "#{node.send(opts[:id])}_#{opts[:klass]}" }
2
+ = raw render(:partial => "#{opts[:path]}/link", :locals => {:opts => opts, :root => root, :node => node})
3
+ = render(:partial => "#{opts[:path]}/children", :locals => {:opts => opts, :parent => node, :children => children}) unless children.blank?
@@ -1,6 +1,6 @@
1
- = render :partial => "#{opts[:path]}/js_init_sortable_tree"
2
- = render :partial => "#{opts[:path]}/js_on_update_tree"
3
- = render :partial => "#{opts[:path]}/js_rebuild_ajax", :locals => { :opts => opts }
4
- %ol.sortable.ui-sortable.nested_set{ :id => "#{opts[:klass]}_nested_set" }
5
- = raw tree
6
- = render :partial => "#{opts[:path]}/new", :locals => { :opts => opts }
1
+ = render :partial => "#{opts[:path]}/new", :locals => { :opts => opts }
2
+ - unless tree.empty?
3
+ = render :partial => "#{opts[:path]}/js_init_sortable_tree", :locals => { :opts => opts }
4
+ = render :partial => "#{opts[:path]}/js_on_update_tree"
5
+ = render :partial => "#{opts[:path]}/js_rebuild_ajax", :locals => { :opts => opts }
6
+ %ol.ui-sortable.sortable.nested_set{ :id => "#{opts[:klass]}_nested_set" }= raw tree
@@ -0,0 +1 @@
1
+ = content_tag :ol, raw(children)
@@ -0,0 +1 @@
1
+ = link_to node.send(opts[:title]), url_for(node), :title => node.send(opts[:title])
@@ -0,0 +1,3 @@
1
+ %li
2
+ = raw render(:partial => "#{opts[:path]}/link", :locals => {:opts => opts, :root => root, :node => node})
3
+ = render(:partial => "#{opts[:path]}/children", :locals => {:opts => opts, :parent => node, :children => children}) unless children.blank?
@@ -0,0 +1,2 @@
1
+ - unless tree.empty?
2
+ %ol.nested_set_min= raw tree
@@ -0,0 +1,10 @@
1
+ en:
2
+ the_sortable_tree:
3
+ new:
4
+ create: Add element
5
+ controls:
6
+ edit_this: Edit element
7
+ delete: Delete element
8
+ delete_confirm: Do you want to delete element?
9
+ cant_be_deleted: Cant be deleted. Has nested elements
10
+ delete_nested_elements: Delete all nested elements
@@ -0,0 +1,10 @@
1
+ ru:
2
+ the_sortable_tree:
3
+ new:
4
+ create: Добавить элемент
5
+ controls:
6
+ edit_this: Редактировать элемент
7
+ delete: Удалить элемент
8
+ delete_confirm: Удалить элемент безвозвратно?
9
+ cant_be_deleted: Не может быть удалено. Есть дочерние элементы
10
+ delete_nested_elements: Сперва удалите все дочерние элементы
@@ -5,15 +5,19 @@ module TheSortableTree
5
5
 
6
6
  def self.banner
7
7
  <<-BANNER.chomp
8
- rails g the_sortable_tree:views MODEL
8
+ rails g the_sortable_tree:views MODEL [min]
9
9
  Copies files for rendering sortable nested set
10
10
  BANNER
11
11
  end
12
12
 
13
13
  def copy_sortable_tree_files
14
- directory "the_sortable_tree", "app/views/#{folder}/the_sortable_tree"
14
+ if ARGV[1] == 'min'
15
+ directory "the_sortable_tree_min", "app/views/#{folder}/the_sortable_tree_min"
16
+ else
17
+ directory "the_sortable_tree", "app/views/#{folder}/the_sortable_tree"
18
+ end
15
19
  end
16
-
20
+
17
21
  private
18
22
 
19
23
  def folder
@@ -1,3 +1,3 @@
1
1
  module TheSortableTree
2
- VERSION = "1.2.0"
2
+ VERSION = "1.4.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_sortable_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-07 00:00:00.000000000Z
12
+ date: 2012-01-16 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: haml
16
- requirement: &68015970 !ruby/object:Gem::Requirement
16
+ requirement: &84551760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *68015970
24
+ version_requirements: *84551760
25
25
  description: Drug&Drop GUI for awesome_nested_set gem. Sortable tree view helper
26
26
  email:
27
27
  - zykin-ilya@ya.ru
@@ -58,17 +58,24 @@ files:
58
58
  - app/assets/images/iconza/red/zoom.png
59
59
  - app/assets/javascripts/jquery.ui.nestedSortable.js
60
60
  - app/assets/stylesheets/the_sortable_tree.css
61
+ - app/assets/stylesheets/the_sortable_tree_min.css
61
62
  - app/controllers/the_sortable_tree_controller.rb
62
63
  - app/helpers/the_sortable_tree_helper.rb
64
+ - app/views/the_sortable_tree/_children.html.haml
63
65
  - app/views/the_sortable_tree/_controls.html.haml
64
- - app/views/the_sortable_tree/_item.html.haml
65
66
  - app/views/the_sortable_tree/_js_init_sortable_tree.html.haml
66
67
  - app/views/the_sortable_tree/_js_on_update_tree.html.haml
67
68
  - app/views/the_sortable_tree/_js_rebuild_ajax.html.haml
68
69
  - app/views/the_sortable_tree/_link.html.haml
69
- - app/views/the_sortable_tree/_nested_set.html.haml
70
70
  - app/views/the_sortable_tree/_new.html.haml
71
+ - app/views/the_sortable_tree/_node.html.haml
71
72
  - app/views/the_sortable_tree/_tree.html.haml
73
+ - app/views/the_sortable_tree_min/_children.html.haml
74
+ - app/views/the_sortable_tree_min/_link.html.haml
75
+ - app/views/the_sortable_tree_min/_node.html.haml
76
+ - app/views/the_sortable_tree_min/_tree.html.haml
77
+ - config/locales/en.yml
78
+ - config/locales/ru.yml
72
79
  - lib/generators/the_sortable_tree/views_generator.rb
73
80
  - lib/the_sortable_tree.rb
74
81
  - lib/the_sortable_tree/engine.rb
@@ -1,3 +0,0 @@
1
- %li{ :id => "#{node.id}_#{opts[:klass]}" }
2
- = raw link
3
- = childs
@@ -1 +0,0 @@
1
- = content_tag(:ol, raw(childs), :id=>"#{parent.id}_page_childs")