rails_admin_nestable 0.1.5 → 0.1.6
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 +15 -0
- data/MIT-LICENSE +1 -1
- data/README.md +41 -1
- data/app/assets/javascripts/rails_admin/jquery.nestable.js +477 -473
- data/lib/rails_admin_nestable/configuration.rb +2 -2
- data/lib/rails_admin_nestable/nestable.rb +22 -6
- data/lib/rails_admin_nestable/version.rb +1 -1
- metadata +7 -18
@@ -1,8 +1,8 @@
|
|
1
1
|
module RailsAdminNestable
|
2
2
|
class Configuration
|
3
3
|
|
4
|
-
TREE_DEFAULT_OPTIONS = { enable_callback: false }
|
5
|
-
LIST_DEFAULT_OPTIONS = { position_field: :position, max_depth: 1, enable_callback: false }
|
4
|
+
TREE_DEFAULT_OPTIONS = { enable_callback: false, scope: nil }
|
5
|
+
LIST_DEFAULT_OPTIONS = { position_field: :position, max_depth: 1, enable_callback: false, scope: nil }
|
6
6
|
|
7
7
|
def initialize(abstract_model)
|
8
8
|
@abstract_model = abstract_model
|
@@ -24,9 +24,10 @@ module RailsAdmin
|
|
24
24
|
Proc.new do |klass|
|
25
25
|
@nestable_conf = ::RailsAdminNestable::Configuration.new @abstract_model
|
26
26
|
|
27
|
+
# Methods
|
27
28
|
def update_tree(tree_nodes, parent_node = nil)
|
28
29
|
tree_nodes.each do |key, value|
|
29
|
-
model = @abstract_model.model.find(value['id'])
|
30
|
+
model = @abstract_model.model.find(value['id'].to_i)
|
30
31
|
|
31
32
|
if parent_node.present?
|
32
33
|
model.parent = parent_node
|
@@ -48,13 +49,13 @@ module RailsAdmin
|
|
48
49
|
|
49
50
|
def update_list(model_list)
|
50
51
|
model_list.each do |key, value|
|
51
|
-
model = @abstract_model.model.find(value['id'])
|
52
|
+
model = @abstract_model.model.find(value['id'].to_i)
|
52
53
|
model.send("#{@nestable_conf.options[:position_field]}=".to_sym, (key.to_i + 1))
|
53
54
|
model.save!(validate: @nestable_conf.options[:enable_callback])
|
54
55
|
end
|
55
56
|
end
|
56
57
|
|
57
|
-
if params['tree_nodes'].present?
|
58
|
+
if request.post? && params['tree_nodes'].present?
|
58
59
|
begin
|
59
60
|
ActiveRecord::Base.transaction do
|
60
61
|
if @nestable_conf.tree?
|
@@ -71,13 +72,28 @@ module RailsAdmin
|
|
71
72
|
end
|
72
73
|
|
73
74
|
render text: message
|
74
|
-
|
75
|
+
end
|
76
|
+
|
77
|
+
if request.get?
|
78
|
+
scope = begin
|
79
|
+
case @nestable_conf.options[:scope].class.to_s
|
80
|
+
when 'Proc'
|
81
|
+
@nestable_conf.options[:scope].call
|
82
|
+
when 'Symbol'
|
83
|
+
@abstract_model.model.public_send(@nestable_conf.options[:scope])
|
84
|
+
else
|
85
|
+
nil
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
query = list_entries(@model_config, :nestable, false, false).reorder(nil).merge(scope)
|
90
|
+
|
75
91
|
if @nestable_conf.tree?
|
76
|
-
@tree_nodes =
|
92
|
+
@tree_nodes = query.arrange(order: @nestable_conf.options[:position_field])
|
77
93
|
end
|
78
94
|
|
79
95
|
if @nestable_conf.list?
|
80
|
-
@tree_nodes =
|
96
|
+
@tree_nodes = query.order(@nestable_conf.options[:position_field])
|
81
97
|
end
|
82
98
|
|
83
99
|
render action: @action.template_name
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_nestable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Andrea Dal Ponte
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-16 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
|
@@ -22,7 +20,6 @@ dependencies:
|
|
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
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rails_admin
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
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
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: haml-rails
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
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
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: coffee-rails
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ! '>='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ! '>='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: sass-rails
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ! '>='
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ! '>='
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -119,27 +108,27 @@ files:
|
|
119
108
|
- Rakefile
|
120
109
|
- README.md
|
121
110
|
homepage: https://github.com/dalpo/rails_admin_nestable
|
122
|
-
licenses:
|
111
|
+
licenses:
|
112
|
+
- MIT
|
113
|
+
metadata: {}
|
123
114
|
post_install_message:
|
124
115
|
rdoc_options: []
|
125
116
|
require_paths:
|
126
117
|
- lib
|
127
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
119
|
requirements:
|
130
120
|
- - ! '>='
|
131
121
|
- !ruby/object:Gem::Version
|
132
122
|
version: '0'
|
133
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
-
none: false
|
135
124
|
requirements:
|
136
125
|
- - ! '>='
|
137
126
|
- !ruby/object:Gem::Version
|
138
127
|
version: '0'
|
139
128
|
requirements: []
|
140
129
|
rubyforge_project:
|
141
|
-
rubygems_version: 1.
|
130
|
+
rubygems_version: 2.1.10
|
142
131
|
signing_key:
|
143
|
-
specification_version:
|
132
|
+
specification_version: 4
|
144
133
|
summary: Reorganise model data with a drag and drop tree/list structure
|
145
134
|
test_files: []
|