active_admin-sortable_tree 1.0.0 → 2.0.0
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 +5 -5
- data/Changelog.md +22 -0
- data/README.md +38 -11
- data/app/assets/javascripts/active_admin/sortable.js.coffee +71 -1
- data/app/assets/stylesheets/active_admin/sortable.sass +1 -1
- data/lib/active_admin/sortable_tree/engine.rb +8 -20
- data/lib/active_admin/sortable_tree/version.rb +1 -1
- metadata +26 -14
- data/app/assets/javascripts/active_admin/sortable_core.js.coffee +0 -71
- data/app/assets/javascripts/active_admin/sortable_ui5.js.coffee +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e0e22264b733cb656adcdd397fe186a6e4de1fbfe06e55d7e45f361f66022cf3
|
4
|
+
data.tar.gz: f83027613f9891cbabe4e9ba39e52380811f753a51b0f787750a36459d82b386
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8d5e6495c061de3bbde7dccc1252bb6df52d7a2179f24b26dfd7383f150d04b64dec6b8effe4b74fb546986566c33bb80d1903f1eb1925354f3a923e0819d2e
|
7
|
+
data.tar.gz: f0057f2bbbc9e978c043f4ee815f1b8de90006d0d8f29b9ee5789168ab282f32b7fa08c1c99e244df7082861c3895145698b0a3d55cb8184ffc0bbef084988c5
|
data/Changelog.md
CHANGED
@@ -2,6 +2,27 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [2.0.0] - 2018-01-22
|
6
|
+
|
7
|
+
### Changed
|
8
|
+
|
9
|
+
- Depend on same version of `jquery-ui-rails` as ActiveAdmin
|
10
|
+
- Update dependencies to only support ActiveAdmin `< 1.1.0` because `v1.1.0`
|
11
|
+
[dropped its dependency on `jquery-ui-rails`](https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md).
|
12
|
+
- Remove usage of bourbon mixin; instead rely on ActiveAdmin's utilities mixin
|
13
|
+
(fixes #73)
|
14
|
+
|
15
|
+
### Removed
|
16
|
+
|
17
|
+
- Remove support for Rails 3.2
|
18
|
+
- Remove support for ActiveAdmin 0.6.6
|
19
|
+
|
20
|
+
### Upgrading from 1.0.0
|
21
|
+
|
22
|
+
It is suggested (but not required) to manually include the JavaScript and
|
23
|
+
stylesheet to your manifest files in preparation for ActiveAdmin v2.0. See the
|
24
|
+
Installation section of the [README.md](README.md#installation) for instructions.
|
25
|
+
|
5
26
|
## [1.0.0] - 2017-06-01
|
6
27
|
|
7
28
|
### Added
|
@@ -51,3 +72,4 @@ All notable changes to this project will be documented in this file.
|
|
51
72
|
[0.2.1]: https://github.com/zorab47/active_admin-sortable_tree/compare/v0.2.0...v0.2.1
|
52
73
|
[0.3.0]: https://github.com/zorab47/active_admin-sortable_tree/compare/v0.2.1...v0.3.0
|
53
74
|
[1.0.0]: https://github.com/zorab47/active_admin-sortable_tree/compare/v0.3.0...v1.0.0
|
75
|
+
[1.1.0]: https://github.com/zorab47/active_admin-sortable_tree/compare/v1.0.0...v1.1.0
|
data/README.md
CHANGED
@@ -10,17 +10,22 @@ sortable via drag'n'drop.
|
|
10
10
|
|
11
11
|
## Installation
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
gem "active_admin-sortable_tree"
|
16
|
-
```
|
13
|
+
1. Add SortableTree to your Gemfile; then `bundle install`
|
14
|
+
```ruby
|
15
|
+
gem "active_admin-sortable_tree", "~> 2.0.0"
|
16
|
+
```
|
17
17
|
|
18
|
-
|
18
|
+
2. Add a require to your JavaScript manifest `app/assets/javascripts/active_admin.js`
|
19
19
|
|
20
|
-
```
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
```javascript
|
21
|
+
//= require active_admin/sortable
|
22
|
+
```
|
23
|
+
|
24
|
+
3. Add an import in your stylesheet manifest `app/assets/javascripts/active_admin.js`
|
25
|
+
|
26
|
+
```sass
|
27
|
+
@import "active_admin/sortable";
|
28
|
+
```
|
24
29
|
|
25
30
|
## Usage (Tree)
|
26
31
|
|
@@ -152,12 +157,11 @@ In `IndexAsSortable` you can add custom actions (with or without the defaults):
|
|
152
157
|
```ruby
|
153
158
|
index :as => :sortable do
|
154
159
|
actions defaults: false do |page|
|
155
|
-
link_to "Custom action",
|
160
|
+
link_to "Custom action", my_custom_path(page)
|
156
161
|
end
|
157
162
|
end
|
158
163
|
```
|
159
164
|
|
160
|
-
|
161
165
|
### Ajax Callback Config
|
162
166
|
|
163
167
|
It exposes three Ajax Events: ajaxDone, ajaxFail and ajaxAlways, which
|
@@ -171,6 +175,29 @@ ActiveAdminSortableEvent.add('ajaxDone', function (){
|
|
171
175
|
})
|
172
176
|
```
|
173
177
|
|
178
|
+
### Upgrading to SortableTree 2.0 from 1.0
|
179
|
+
|
180
|
+
Upgrading from SortableTree 1.x requires manually specifying assets in your
|
181
|
+
`app/assets/javascripts/active_admin.js` and `app/assets/stylesheets/active_admin.scss`
|
182
|
+
files.
|
183
|
+
|
184
|
+
|
185
|
+
### Dependencies
|
186
|
+
|
187
|
+
ActiveAdmin::SortableTree 2.0 supports ActiveAdmin 1.0.0+. For previous versions
|
188
|
+
of ActiveAdmin use older SortableTree versions from the 1.x branch.
|
189
|
+
|
190
|
+
Note: If you experience issues with drag and drop capability, you may need to
|
191
|
+
specify the version for your ActiveAdmin installation. It is reported working
|
192
|
+
using v0.6.6, or if you are using v1.0.0.pre, it is reported working on this
|
193
|
+
commit [b3a9f4b](https://github.com/activeadmin/activeadmin/commit/b3a9f4b3e4051447d011c59649a73f876989a199)
|
194
|
+
or later.
|
195
|
+
|
196
|
+
```ruby
|
197
|
+
# Gemfile
|
198
|
+
gem 'activeadmin', github: 'activeadmin', ref: 'b3a9f4b'
|
199
|
+
```
|
200
|
+
|
174
201
|
## Semantic Versioning
|
175
202
|
|
176
203
|
ActiveAdmin::SortableTree follows [semantic versioning](http://semver.org).
|
@@ -1,2 +1,72 @@
|
|
1
1
|
#= require jquery-ui/widgets/sortable
|
2
|
-
#= require
|
2
|
+
#= require jquery.mjs.nestedSortable
|
3
|
+
|
4
|
+
window.ActiveAdminSortableEvent = do ->
|
5
|
+
eventToListeners = {}
|
6
|
+
|
7
|
+
return {
|
8
|
+
add: (event, callback) ->
|
9
|
+
if not eventToListeners.hasOwnProperty(event)
|
10
|
+
eventToListeners[event] = []
|
11
|
+
eventToListeners[event].push(callback)
|
12
|
+
|
13
|
+
trigger: (event, args) ->
|
14
|
+
if eventToListeners.hasOwnProperty(event)
|
15
|
+
for callback in eventToListeners[event]
|
16
|
+
try
|
17
|
+
callback.call(null, args)
|
18
|
+
catch e
|
19
|
+
console.error(e) if console and console.error
|
20
|
+
}
|
21
|
+
|
22
|
+
$ ->
|
23
|
+
$('.disclose').bind 'click', (event) ->
|
24
|
+
$(this).closest('li').toggleClass('mjs-nestedSortable-collapsed').toggleClass('mjs-nestedSortable-expanded')
|
25
|
+
|
26
|
+
$(".index_as_sortable [data-sortable-type]").each ->
|
27
|
+
$this = $(@)
|
28
|
+
|
29
|
+
if $this.data('sortable-type') == "tree"
|
30
|
+
max_levels = $this.data('max-levels')
|
31
|
+
tab_hack = 20 # nestedSortable default
|
32
|
+
else
|
33
|
+
max_levels = 1
|
34
|
+
tab_hack = 99999
|
35
|
+
|
36
|
+
$this.nestedSortable
|
37
|
+
forcePlaceholderSize: true
|
38
|
+
forceHelperSizeType: true
|
39
|
+
errorClass: 'cantdoit'
|
40
|
+
disableNesting: 'cantdoit'
|
41
|
+
handle: '> .item'
|
42
|
+
listType: 'ol'
|
43
|
+
items: 'li'
|
44
|
+
opacity: .6
|
45
|
+
placeholder: 'placeholder'
|
46
|
+
revert: 250
|
47
|
+
maxLevels: max_levels,
|
48
|
+
tabSize: tab_hack
|
49
|
+
protectRoot: $this.data('protect-root')
|
50
|
+
# prevent drag flickers
|
51
|
+
tolerance: 'pointer'
|
52
|
+
toleranceElement: '> div'
|
53
|
+
isTree: true
|
54
|
+
startCollapsed: $this.data("start-collapsed")
|
55
|
+
update: ->
|
56
|
+
$this.nestedSortable("disable")
|
57
|
+
$.ajax
|
58
|
+
url: $this.data("sortable-url")
|
59
|
+
type: "post"
|
60
|
+
data: $this.nestedSortable("serialize")
|
61
|
+
.always ->
|
62
|
+
$this.find('.item').each (index) ->
|
63
|
+
if index % 2
|
64
|
+
$(this).removeClass('odd').addClass('even')
|
65
|
+
else
|
66
|
+
$(this).removeClass('even').addClass('odd')
|
67
|
+
$this.nestedSortable("enable")
|
68
|
+
ActiveAdminSortableEvent.trigger('ajaxAlways')
|
69
|
+
.done ->
|
70
|
+
ActiveAdminSortableEvent.trigger('ajaxDone')
|
71
|
+
.fail ->
|
72
|
+
ActiveAdminSortableEvent.trigger('ajaxFail')
|
@@ -1,32 +1,20 @@
|
|
1
|
-
require
|
2
|
-
require "rubygems"
|
1
|
+
require "activeadmin"
|
3
2
|
|
4
3
|
module ActiveAdmin
|
5
4
|
module SortableTree
|
6
5
|
class Engine < ::Rails::Engine
|
7
|
-
engine_name
|
6
|
+
engine_name "active_admin-sortable_tree"
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
def sortable_js
|
15
|
-
if jquery_ui_six?
|
8
|
+
initializer "active_admin-sortable_tree.precompile", group: :all do |app|
|
9
|
+
app.config.assets.precompile += [
|
10
|
+
"active_admin/sortable.css",
|
16
11
|
"active_admin/sortable.js"
|
17
|
-
|
18
|
-
"active_admin/sortable_ui5.js"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
initializer "Rails precompile hook", group: :all do |app|
|
23
|
-
app.config.assets.precompile += [ "active_admin/sortable.css",
|
24
|
-
sortable_js ]
|
12
|
+
]
|
25
13
|
end
|
26
14
|
|
27
|
-
initializer "
|
15
|
+
initializer "active_admin-sortable_tree.register_assets" do
|
28
16
|
ActiveAdmin.application.register_stylesheet "active_admin/sortable.css"
|
29
|
-
ActiveAdmin.application.register_javascript
|
17
|
+
ActiveAdmin.application.register_javascript "active_admin/sortable.js"
|
30
18
|
end
|
31
19
|
end
|
32
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_admin-sortable_tree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francesco Disperati
|
@@ -9,50 +9,64 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-01-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: activeadmin
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '1.1'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '1.1'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: coffee-rails
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '0
|
34
|
+
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0
|
41
|
+
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name: jquery-
|
43
|
+
name: jquery-rails
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
48
|
+
version: '0'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: sass
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '3.1'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.1'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: capybara
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,8 +150,6 @@ files:
|
|
136
150
|
- MIT-LICENSE
|
137
151
|
- README.md
|
138
152
|
- app/assets/javascripts/active_admin/sortable.js.coffee
|
139
|
-
- app/assets/javascripts/active_admin/sortable_core.js.coffee
|
140
|
-
- app/assets/javascripts/active_admin/sortable_ui5.js.coffee
|
141
153
|
- app/assets/stylesheets/active_admin/sortable.sass
|
142
154
|
- lib/active_admin/sortable_tree.rb
|
143
155
|
- lib/active_admin/sortable_tree/compatibility.rb
|
@@ -168,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
180
|
version: '0'
|
169
181
|
requirements: []
|
170
182
|
rubyforge_project:
|
171
|
-
rubygems_version: 2.
|
183
|
+
rubygems_version: 2.7.3
|
172
184
|
signing_key:
|
173
185
|
specification_version: 4
|
174
186
|
summary: Add drag and drop sorting to ActiveAdmin resources
|
@@ -1,71 +0,0 @@
|
|
1
|
-
#= require jquery.mjs.nestedSortable
|
2
|
-
|
3
|
-
window.ActiveAdminSortableEvent = do ->
|
4
|
-
eventToListeners = {}
|
5
|
-
|
6
|
-
return {
|
7
|
-
add: (event, callback) ->
|
8
|
-
if not eventToListeners.hasOwnProperty(event)
|
9
|
-
eventToListeners[event] = []
|
10
|
-
eventToListeners[event].push(callback)
|
11
|
-
|
12
|
-
trigger: (event, args) ->
|
13
|
-
if eventToListeners.hasOwnProperty(event)
|
14
|
-
for callback in eventToListeners[event]
|
15
|
-
try
|
16
|
-
callback.call(null, args)
|
17
|
-
catch e
|
18
|
-
console.error(e) if console and console.error
|
19
|
-
}
|
20
|
-
|
21
|
-
$ ->
|
22
|
-
$('.disclose').bind 'click', (event) ->
|
23
|
-
$(this).closest('li').toggleClass('mjs-nestedSortable-collapsed').toggleClass('mjs-nestedSortable-expanded')
|
24
|
-
|
25
|
-
$(".index_as_sortable [data-sortable-type]").each ->
|
26
|
-
$this = $(@)
|
27
|
-
|
28
|
-
if $this.data('sortable-type') == "tree"
|
29
|
-
max_levels = $this.data('max-levels')
|
30
|
-
tab_hack = 20 # nestedSortable default
|
31
|
-
else
|
32
|
-
max_levels = 1
|
33
|
-
tab_hack = 99999
|
34
|
-
|
35
|
-
$this.nestedSortable
|
36
|
-
forcePlaceholderSize: true
|
37
|
-
forceHelperSizeType: true
|
38
|
-
errorClass: 'cantdoit'
|
39
|
-
disableNesting: 'cantdoit'
|
40
|
-
handle: '> .item'
|
41
|
-
listType: 'ol'
|
42
|
-
items: 'li'
|
43
|
-
opacity: .6
|
44
|
-
placeholder: 'placeholder'
|
45
|
-
revert: 250
|
46
|
-
maxLevels: max_levels,
|
47
|
-
tabSize: tab_hack
|
48
|
-
protectRoot: $this.data('protect-root')
|
49
|
-
# prevent drag flickers
|
50
|
-
tolerance: 'pointer'
|
51
|
-
toleranceElement: '> div'
|
52
|
-
isTree: true
|
53
|
-
startCollapsed: $this.data("start-collapsed")
|
54
|
-
update: ->
|
55
|
-
$this.nestedSortable("disable")
|
56
|
-
$.ajax
|
57
|
-
url: $this.data("sortable-url")
|
58
|
-
type: "post"
|
59
|
-
data: $this.nestedSortable("serialize")
|
60
|
-
.always ->
|
61
|
-
$this.find('.item').each (index) ->
|
62
|
-
if index % 2
|
63
|
-
$(this).removeClass('odd').addClass('even')
|
64
|
-
else
|
65
|
-
$(this).removeClass('even').addClass('odd')
|
66
|
-
$this.nestedSortable("enable")
|
67
|
-
ActiveAdminSortableEvent.trigger('ajaxAlways')
|
68
|
-
.done ->
|
69
|
-
ActiveAdminSortableEvent.trigger('ajaxDone')
|
70
|
-
.fail ->
|
71
|
-
ActiveAdminSortableEvent.trigger('ajaxFail')
|