rails_admin_nested_set 0.1.1 → 0.2.1
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 +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/README.md +7 -2
- data/lib/rails_admin_nested_set/action.rb +72 -72
- data/lib/rails_admin_nested_set/configuration.rb +2 -4
- data/lib/rails_admin_nested_set/version.rb +1 -1
- data/rails_admin_nested_set.gemspec +1 -1
- metadata +17 -24
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f0feae93269c86e6462c285dfe8b2f5198d2f0cb
|
4
|
+
data.tar.gz: 30fac956fb99dc37d0f4e61f215a7cc78281d5fc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b0012a9d59f41b5f361e606f7bd6a3c356c9a602a2375e94d63a8d8f06ffde2f0e7fb6d7dc9ff279d85bf56cde1730abec22955a8401776ff5921bda369b03dd
|
7
|
+
data.tar.gz: 2edff84d156c404508b343adc1a3b4282ba597b992c9d45c06dafd6e01f8509e36bee8a336bb84a34ec43a2bc8b7479d20d4beb520ec14c9876a9e61ad5c992e
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rails_admin_nested_set
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0-p195
|
data/README.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
# RailsAdminNestedSet
|
2
2
|
|
3
|
-
It looks and feels exactly like https://github.com/dalpo/rails_admin_nestable but uses jquery Nested Sortable and awesome_nested_set instead of Nestable and Ancestry.
|
3
|
+
It looks and feels exactly like https://github.com/dalpo/rails_admin_nestable but uses jquery Nested Sortable and awesome_nested_set or mongoid_nested_set instead of Nestable and Ancestry.
|
4
|
+
|
5
|
+
Designed and tested with https://github.com/55ideas/mongoid_nested_set but
|
6
|
+
should also work with awesome_nested_set (untested)
|
7
|
+
|
8
|
+
mongoid_nested_set users: use GIT version for new Mongoid!
|
4
9
|
|
5
10
|
## Installation
|
6
11
|
|
@@ -61,4 +66,4 @@ https://github.com/the-teacher/the_sortable_tree (MIT license)
|
|
61
66
|
|
62
67
|
(c) 2013 http://rocketscience.pro
|
63
68
|
|
64
|
-
MIT license
|
69
|
+
MIT license
|
@@ -1,72 +1,72 @@
|
|
1
|
-
module RailsAdmin
|
2
|
-
module Config
|
3
|
-
module Actions
|
4
|
-
class NestedSet < Base
|
5
|
-
RailsAdmin::Config::Actions.register(self)
|
6
|
-
|
7
|
-
# Is the action acting on the root level (Example: /admin/contact)
|
8
|
-
register_instance_option :root? do
|
9
|
-
false
|
10
|
-
end
|
11
|
-
|
12
|
-
register_instance_option :collection? do
|
13
|
-
true
|
14
|
-
end
|
15
|
-
|
16
|
-
# Is the action on an object scope (Example: /admin/team/1/edit)
|
17
|
-
register_instance_option :member? do
|
18
|
-
false
|
19
|
-
end
|
20
|
-
|
21
|
-
register_instance_option :controller do
|
22
|
-
Proc.new do |klass|
|
23
|
-
@nested_set_conf = ::RailsAdminNestedSet::Configuration.new @abstract_model
|
24
|
-
|
25
|
-
if params['id'].present?
|
26
|
-
begin
|
27
|
-
id = params[:id].to_s
|
28
|
-
parent_id = params[:parent_id].to_s
|
29
|
-
prev_id = params[:prev_id].to_s
|
30
|
-
next_id = params[:next_id].to_s
|
31
|
-
|
32
|
-
if id.empty?
|
33
|
-
return render text: 'Nested set UI error: node id not defined', status: 500
|
34
|
-
elsif parent_id.empty? && prev_id.empty? && next_id.empty?
|
35
|
-
return render text: 'Nested set UI error: not defined where to move node', status: 500
|
36
|
-
end
|
37
|
-
|
38
|
-
|
39
|
-
obj = @abstract_model.model.find(id)
|
40
|
-
if prev_id.empty? && next_id.empty?
|
41
|
-
obj.move_to_child_of @abstract_model.model.find(parent_id)
|
42
|
-
elsif !prev_id.empty?
|
43
|
-
obj.move_to_right_of @abstract_model.model.find(prev_id)
|
44
|
-
elsif !next_id.empty?
|
45
|
-
obj.move_to_left_of @abstract_model.model.find(next_id)
|
46
|
-
end
|
47
|
-
|
48
|
-
message = "<strong>#{I18n.t('admin.actions.nested_set.success')}!</strong>"
|
49
|
-
rescue Exception => e
|
50
|
-
@abstract_model.model.rebuild!
|
51
|
-
message = "<strong>#{I18n.t('admin.actions.nested_set.error')}</strong>: #{e}"
|
52
|
-
end
|
53
|
-
|
54
|
-
render text: message
|
55
|
-
else
|
56
|
-
@nodes = list_entries(@model_config, :index, nil, nil).sort { |a,b| a.lft <=> b.lft }
|
57
|
-
render action: @action.template_name
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
register_instance_option :link_icon do
|
63
|
-
'icon-move'
|
64
|
-
end
|
65
|
-
|
66
|
-
register_instance_option :http_methods do
|
67
|
-
[:get, :post]
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
1
|
+
module RailsAdmin
|
2
|
+
module Config
|
3
|
+
module Actions
|
4
|
+
class NestedSet < Base
|
5
|
+
RailsAdmin::Config::Actions.register(self)
|
6
|
+
|
7
|
+
# Is the action acting on the root level (Example: /admin/contact)
|
8
|
+
register_instance_option :root? do
|
9
|
+
false
|
10
|
+
end
|
11
|
+
|
12
|
+
register_instance_option :collection? do
|
13
|
+
true
|
14
|
+
end
|
15
|
+
|
16
|
+
# Is the action on an object scope (Example: /admin/team/1/edit)
|
17
|
+
register_instance_option :member? do
|
18
|
+
false
|
19
|
+
end
|
20
|
+
|
21
|
+
register_instance_option :controller do
|
22
|
+
Proc.new do |klass|
|
23
|
+
@nested_set_conf = ::RailsAdminNestedSet::Configuration.new @abstract_model
|
24
|
+
|
25
|
+
if params['id'].present?
|
26
|
+
begin
|
27
|
+
id = params[:id].to_s
|
28
|
+
parent_id = params[:parent_id].to_s
|
29
|
+
prev_id = params[:prev_id].to_s
|
30
|
+
next_id = params[:next_id].to_s
|
31
|
+
|
32
|
+
if id.empty?
|
33
|
+
return render text: 'Nested set UI error: node id not defined', status: 500
|
34
|
+
elsif parent_id.empty? && prev_id.empty? && next_id.empty?
|
35
|
+
return render text: 'Nested set UI error: not defined where to move node', status: 500
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
obj = @abstract_model.model.find(id)
|
40
|
+
if prev_id.empty? && next_id.empty?
|
41
|
+
obj.move_to_child_of @abstract_model.model.find(parent_id)
|
42
|
+
elsif !prev_id.empty?
|
43
|
+
obj.move_to_right_of @abstract_model.model.find(prev_id)
|
44
|
+
elsif !next_id.empty?
|
45
|
+
obj.move_to_left_of @abstract_model.model.find(next_id)
|
46
|
+
end
|
47
|
+
|
48
|
+
message = "<strong>#{I18n.t('admin.actions.nested_set.success')}!</strong>"
|
49
|
+
rescue Exception => e
|
50
|
+
@abstract_model.model.rebuild!
|
51
|
+
message = "<strong>#{I18n.t('admin.actions.nested_set.error')}</strong>: #{e}"
|
52
|
+
end
|
53
|
+
|
54
|
+
render text: message
|
55
|
+
else
|
56
|
+
@nodes = list_entries(@model_config, :index, nil, nil).sort { |a,b| a.lft <=> b.lft }
|
57
|
+
render action: @action.template_name
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
register_instance_option :link_icon do
|
63
|
+
'icon-move'
|
64
|
+
end
|
65
|
+
|
66
|
+
register_instance_option :http_methods do
|
67
|
+
[:get, :post]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -6,15 +6,13 @@ module RailsAdminNestedSet
|
|
6
6
|
|
7
7
|
def options
|
8
8
|
@options ||= {
|
9
|
-
max_depth:
|
9
|
+
max_depth: 3,
|
10
10
|
}.merge(config)
|
11
|
-
|
12
|
-
@options || {}
|
13
11
|
end
|
14
12
|
|
15
13
|
protected
|
16
14
|
def config
|
17
|
-
::RailsAdmin::Config.model(@abstract_model.model).nested_set
|
15
|
+
::RailsAdmin::Config.model(@abstract_model.model).nested_set || {}
|
18
16
|
end
|
19
17
|
end
|
20
18
|
end
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.summary = %q{Interface for editing a nested set for rails_admin}
|
13
13
|
gem.homepage = "https://github.com/rs-pro/rails_admin_nested_set"
|
14
14
|
|
15
|
-
gem.add_dependency "rails", "
|
15
|
+
gem.add_dependency "rails", "~> 4.0.0.rc2"
|
16
16
|
gem.add_dependency "jquery-rails"
|
17
17
|
gem.add_dependency "jquery-ui-rails"
|
18
18
|
|
metadata
CHANGED
@@ -1,62 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_nested_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Gleb Tv
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-06-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 4.0.0.rc2
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 4.0.0.rc2
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: jquery-rails
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: jquery-ui-rails
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
description: Rails admin nested set
|
@@ -67,6 +60,8 @@ extensions: []
|
|
67
60
|
extra_rdoc_files: []
|
68
61
|
files:
|
69
62
|
- .gitignore
|
63
|
+
- .ruby-gemset
|
64
|
+
- .ruby-version
|
70
65
|
- Gemfile
|
71
66
|
- LICENSE.txt
|
72
67
|
- README.md
|
@@ -87,27 +82,25 @@ files:
|
|
87
82
|
- rails_admin_nested_set.gemspec
|
88
83
|
homepage: https://github.com/rs-pro/rails_admin_nested_set
|
89
84
|
licenses: []
|
85
|
+
metadata: {}
|
90
86
|
post_install_message:
|
91
87
|
rdoc_options: []
|
92
88
|
require_paths:
|
93
89
|
- lib
|
94
90
|
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
91
|
requirements:
|
97
|
-
- -
|
92
|
+
- - '>='
|
98
93
|
- !ruby/object:Gem::Version
|
99
94
|
version: '0'
|
100
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
-
none: false
|
102
96
|
requirements:
|
103
|
-
- -
|
97
|
+
- - '>='
|
104
98
|
- !ruby/object:Gem::Version
|
105
99
|
version: '0'
|
106
100
|
requirements: []
|
107
101
|
rubyforge_project:
|
108
|
-
rubygems_version:
|
102
|
+
rubygems_version: 2.0.3
|
109
103
|
signing_key:
|
110
|
-
specification_version:
|
104
|
+
specification_version: 4
|
111
105
|
summary: Interface for editing a nested set for rails_admin
|
112
106
|
test_files: []
|
113
|
-
has_rdoc:
|