jquery-plugins-rails 0.1.1 → 0.2
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/.gitignore +49 -0
- data/Gemfile.lock +32 -47
- data/README.md +1 -5
- data/jquery-plugins-rails.gemspec +2 -3
- data/lib/jquery-plugins/rails.rb +0 -1
- data/vendor/assets/javascripts/jquery/event/drag.js +88 -74
- data/vendor/assets/javascripts/jquery/event/drop.js +14 -53
- metadata +19 -16
- data/.rvmrc +0 -1
- data/lib/jquery-plugins/rails/version.rb +0 -5
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
NWViYTAwMjM3NTEzODc1NmJhOTI3ZDg3YWZkZGEwOTJiMGEzZDE2Zg==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
OTVkNDQ0NjI0NmFmNGRkZjZjMjM5ZGZjMDIzMmYzZWI0ZWEzMjU3OA==
|
|
7
|
+
!binary "U0hBNTEy":
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
ZDJkNzM5OTI0ZWFjMzQzY2U3NzgxZTkxYTYxYjUxZWFjODhjOWExZjg0ZjU2
|
|
10
|
+
ZmNkYzE5NmQ3NzAyY2E2YTA0MTk1NGQyOTk2MzE2NGJhNjk3YTU2NWFjOTg3
|
|
11
|
+
MWJkM2Q4ZmVkZDk5NmNlZDA5YzFiODc4NDJhMDU4ZmVmMjZmZTQ=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
OTg2NjVkODFlOTcyMjViYjUzYmI5ZTdlZDdlNzJhZDA4ZWU0N2U5MjU3MGYz
|
|
14
|
+
ZTVmNmUzZTEzOWJhZjZiYjA4NTcyNzEwZDZkNGY1MTQ2YzVjMTZhOGIxNDBl
|
|
15
|
+
ZWI1NDMzZjVmNmMxOGY5NmNmNzc3NTQ4N2U4MjM2NzhiZDEyNTY=
|
data/.gitignore
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# rcov generated
|
|
2
|
+
coverage
|
|
3
|
+
|
|
4
|
+
# rdoc generated
|
|
5
|
+
rdoc
|
|
6
|
+
|
|
7
|
+
# yard generated
|
|
8
|
+
doc
|
|
9
|
+
.yardoc
|
|
10
|
+
|
|
11
|
+
# bundler
|
|
12
|
+
.bundle
|
|
13
|
+
|
|
14
|
+
# jeweler generated
|
|
15
|
+
pkg
|
|
16
|
+
|
|
17
|
+
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
|
18
|
+
#
|
|
19
|
+
# * Create a file at ~/.gitignore
|
|
20
|
+
# * Include files you want ignored
|
|
21
|
+
# * Run: git config --global core.excludesfile ~/.gitignore
|
|
22
|
+
#
|
|
23
|
+
# After doing this, these files will be ignored in all your git projects,
|
|
24
|
+
# saving you from having to 'pollute' every project you touch with them
|
|
25
|
+
#
|
|
26
|
+
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
|
27
|
+
#
|
|
28
|
+
# For MacOS:
|
|
29
|
+
#
|
|
30
|
+
#.DS_Store
|
|
31
|
+
|
|
32
|
+
# For TextMate
|
|
33
|
+
#*.tmproj
|
|
34
|
+
#tmtags
|
|
35
|
+
|
|
36
|
+
# For emacs:
|
|
37
|
+
#*~
|
|
38
|
+
#\#*
|
|
39
|
+
#.\#*
|
|
40
|
+
|
|
41
|
+
# For vim:
|
|
42
|
+
#*.swp
|
|
43
|
+
|
|
44
|
+
# For redcar:
|
|
45
|
+
#.redcar
|
|
46
|
+
|
|
47
|
+
# For rubinius:
|
|
48
|
+
#*.rbc
|
|
49
|
+
.idea/
|
data/Gemfile.lock
CHANGED
|
@@ -1,62 +1,47 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
jquery-plugins-rails (0.
|
|
4
|
+
jquery-plugins-rails (0.2)
|
|
5
5
|
jquery-rails
|
|
6
|
-
railties (
|
|
6
|
+
railties (> 3.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
actionpack (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
builder (~> 3.0.0)
|
|
11
|
+
actionpack (4.0.1)
|
|
12
|
+
activesupport (= 4.0.1)
|
|
13
|
+
builder (~> 3.1.0)
|
|
15
14
|
erubis (~> 2.7.0)
|
|
16
|
-
|
|
17
|
-
rack (~>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
multi_json (~> 1.0)
|
|
27
|
-
builder (3.0.0)
|
|
15
|
+
rack (~> 1.5.2)
|
|
16
|
+
rack-test (~> 0.6.2)
|
|
17
|
+
activesupport (4.0.1)
|
|
18
|
+
i18n (~> 0.6, >= 0.6.4)
|
|
19
|
+
minitest (~> 4.2)
|
|
20
|
+
multi_json (~> 1.3)
|
|
21
|
+
thread_safe (~> 0.1)
|
|
22
|
+
tzinfo (~> 0.3.37)
|
|
23
|
+
atomic (1.1.14)
|
|
24
|
+
builder (3.1.4)
|
|
28
25
|
erubis (2.7.0)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
rack (1.4.1)
|
|
38
|
-
rack-cache (1.1)
|
|
39
|
-
rack (>= 0.4)
|
|
40
|
-
rack-ssl (1.3.2)
|
|
41
|
-
rack
|
|
42
|
-
rack-test (0.6.1)
|
|
26
|
+
i18n (0.6.5)
|
|
27
|
+
jquery-rails (3.0.4)
|
|
28
|
+
railties (>= 3.0, < 5.0)
|
|
29
|
+
thor (>= 0.14, < 2.0)
|
|
30
|
+
minitest (4.7.5)
|
|
31
|
+
multi_json (1.8.2)
|
|
32
|
+
rack (1.5.2)
|
|
33
|
+
rack-test (0.6.2)
|
|
43
34
|
rack (>= 1.0)
|
|
44
|
-
railties (
|
|
45
|
-
actionpack (=
|
|
46
|
-
activesupport (=
|
|
47
|
-
rack-ssl (~> 1.3.2)
|
|
35
|
+
railties (4.0.1)
|
|
36
|
+
actionpack (= 4.0.1)
|
|
37
|
+
activesupport (= 4.0.1)
|
|
48
38
|
rake (>= 0.8.7)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
hike (~> 1.2)
|
|
56
|
-
rack (~> 1.0)
|
|
57
|
-
tilt (~> 1.1, != 1.3.0)
|
|
58
|
-
thor (0.14.6)
|
|
59
|
-
tilt (1.3.3)
|
|
39
|
+
thor (>= 0.18.1, < 2.0)
|
|
40
|
+
rake (10.1.0)
|
|
41
|
+
thor (0.18.1)
|
|
42
|
+
thread_safe (0.1.3)
|
|
43
|
+
atomic
|
|
44
|
+
tzinfo (0.3.38)
|
|
60
45
|
|
|
61
46
|
PLATFORMS
|
|
62
47
|
ruby
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# JqueryPlugins::Rails
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This gem includes some jquery plugins so that they can be used with the rails asset pipeline.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -16,10 +16,6 @@ Or install it yourself as:
|
|
|
16
16
|
|
|
17
17
|
$ gem install jquery-plugins-rails
|
|
18
18
|
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
TODO: Write usage instructions here
|
|
22
|
-
|
|
23
19
|
## Contributing
|
|
24
20
|
|
|
25
21
|
1. Fork it
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
require File.expand_path('../lib/jquery-plugins/rails/version', __FILE__)
|
|
3
2
|
|
|
4
3
|
Gem::Specification.new do |gem|
|
|
5
4
|
gem.name = "jquery-plugins-rails"
|
|
6
|
-
gem.version =
|
|
5
|
+
gem.version = "0.2"
|
|
7
6
|
gem.authors = ["Benedikt Böhm"]
|
|
8
7
|
gem.email = ["bb@xnull.de"]
|
|
9
8
|
gem.description = %q{jQuery plugins for Rails 3.x asset pipeline}
|
|
10
9
|
gem.summary = %q{jQuery plugins for Rails 3.x asset pipeline}
|
|
11
10
|
gem.homepage = "https://github.com/zenops/jquery-plugins-rails"
|
|
12
11
|
|
|
13
|
-
gem.add_dependency "railties", "
|
|
12
|
+
gem.add_dependency "railties", "> 3.0"
|
|
14
13
|
gem.add_dependency "jquery-rails"
|
|
15
14
|
|
|
16
15
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
data/lib/jquery-plugins/rails.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* jquery.event.drag - v 2.
|
|
2
|
+
* jquery.event.drag - v 2.2
|
|
3
3
|
* Copyright (c) 2010 Three Dub Media - http://threedubmedia.com
|
|
4
4
|
* Open Source MIT License - http://threedubmedia.com/code/license
|
|
5
5
|
*/
|
|
6
6
|
// Created: 2008-06-04
|
|
7
|
-
// Updated:
|
|
8
|
-
// REQUIRES: jquery 1.
|
|
7
|
+
// Updated: 2012-05-21
|
|
8
|
+
// REQUIRES: jquery 1.7.x
|
|
9
9
|
|
|
10
10
|
;(function( $ ){
|
|
11
11
|
|
|
@@ -44,8 +44,8 @@ drag = $special.drag = {
|
|
|
44
44
|
// the key name for stored drag data
|
|
45
45
|
datakey: "dragdata",
|
|
46
46
|
|
|
47
|
-
//
|
|
48
|
-
|
|
47
|
+
// prevent bubbling for better performance
|
|
48
|
+
noBubble: true,
|
|
49
49
|
|
|
50
50
|
// count bound related events
|
|
51
51
|
add: function( obj ){
|
|
@@ -55,11 +55,6 @@ drag = $special.drag = {
|
|
|
55
55
|
opts = obj.data || {};
|
|
56
56
|
// count another realted event
|
|
57
57
|
data.related += 1;
|
|
58
|
-
// bind the live "draginit" delegator
|
|
59
|
-
if ( !data.live && obj.selector ){
|
|
60
|
-
data.live = true;
|
|
61
|
-
$event.add( this, "draginit."+ drag.livekey, drag.delegate );
|
|
62
|
-
}
|
|
63
58
|
// extend data options bound with this event
|
|
64
59
|
// don't iterate "opts" in case it is a node
|
|
65
60
|
$.each( drag.defaults, function( key, def ){
|
|
@@ -83,7 +78,7 @@ drag = $special.drag = {
|
|
|
83
78
|
// store the interaction data
|
|
84
79
|
$.data( this, drag.datakey, data );
|
|
85
80
|
// bind the mousedown event, which starts drag interactions
|
|
86
|
-
$event.add( this, "mousedown", drag.init, data );
|
|
81
|
+
$event.add( this, "touchstart mousedown", drag.init, data );
|
|
87
82
|
// prevent image dragging in IE...
|
|
88
83
|
if ( this.attachEvent )
|
|
89
84
|
this.attachEvent("ondragstart", drag.dontstart );
|
|
@@ -91,15 +86,14 @@ drag = $special.drag = {
|
|
|
91
86
|
|
|
92
87
|
// destroy configured interaction
|
|
93
88
|
teardown: function(){
|
|
89
|
+
var data = $.data( this, drag.datakey ) || {};
|
|
94
90
|
// check for related events
|
|
95
|
-
if (
|
|
91
|
+
if ( data.related )
|
|
96
92
|
return;
|
|
97
93
|
// remove the stored data
|
|
98
94
|
$.removeData( this, drag.datakey );
|
|
99
95
|
// remove the mousedown event
|
|
100
|
-
$event.remove( this, "mousedown", drag.init );
|
|
101
|
-
// remove the "live" delegation
|
|
102
|
-
$event.remove( this, "draginit", drag.delegate );
|
|
96
|
+
$event.remove( this, "touchstart mousedown", drag.init );
|
|
103
97
|
// enable text selection
|
|
104
98
|
drag.textselect( true );
|
|
105
99
|
// un-prevent image dragging in IE...
|
|
@@ -108,11 +102,14 @@ drag = $special.drag = {
|
|
|
108
102
|
},
|
|
109
103
|
|
|
110
104
|
// initialize the interaction
|
|
111
|
-
init: function( event ){
|
|
105
|
+
init: function( event ){
|
|
106
|
+
// sorry, only one touch at a time
|
|
107
|
+
if ( drag.touched )
|
|
108
|
+
return;
|
|
112
109
|
// the drag/drop interaction data
|
|
113
110
|
var dd = event.data, results;
|
|
114
111
|
// check the which directive
|
|
115
|
-
if ( dd.which > 0 && event.which != dd.which )
|
|
112
|
+
if ( event.which != 0 && dd.which > 0 && event.which != dd.which )
|
|
116
113
|
return;
|
|
117
114
|
// check for suppressed selector
|
|
118
115
|
if ( $( event.target ).is( dd.not ) )
|
|
@@ -120,8 +117,10 @@ drag = $special.drag = {
|
|
|
120
117
|
// check for handle selector
|
|
121
118
|
if ( dd.handle && !$( event.target ).closest( dd.handle, event.currentTarget ).length )
|
|
122
119
|
return;
|
|
123
|
-
|
|
120
|
+
|
|
121
|
+
drag.touched = event.type == 'touchstart' ? this : null;
|
|
124
122
|
dd.propagates = 1;
|
|
123
|
+
dd.mousedown = this;
|
|
125
124
|
dd.interactions = [ drag.interaction( this, dd ) ];
|
|
126
125
|
dd.target = event.target;
|
|
127
126
|
dd.pageX = event.pageX;
|
|
@@ -149,27 +148,36 @@ drag = $special.drag = {
|
|
|
149
148
|
// disable text selection
|
|
150
149
|
drag.textselect( false );
|
|
151
150
|
// bind additional events...
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
151
|
+
if ( drag.touched )
|
|
152
|
+
$event.add( drag.touched, "touchmove touchend", drag.handler, dd );
|
|
153
|
+
else
|
|
154
|
+
$event.add( document, "mousemove mouseup", drag.handler, dd );
|
|
155
|
+
// helps prevent text selection or scrolling
|
|
156
|
+
if ( !drag.touched || dd.live )
|
|
157
|
+
return false;
|
|
155
158
|
},
|
|
159
|
+
|
|
156
160
|
// returns an interaction object
|
|
157
161
|
interaction: function( elem, dd ){
|
|
162
|
+
var offset = $( elem )[ dd.relative ? "position" : "offset" ]() || { top:0, left:0 };
|
|
158
163
|
return {
|
|
159
164
|
drag: elem,
|
|
160
165
|
callback: new drag.callback(),
|
|
161
166
|
droppable: [],
|
|
162
|
-
offset:
|
|
167
|
+
offset: offset
|
|
163
168
|
};
|
|
164
169
|
},
|
|
170
|
+
|
|
165
171
|
// handle drag-releatd DOM events
|
|
166
172
|
handler: function( event ){
|
|
167
173
|
// read the data before hijacking anything
|
|
168
|
-
var dd = event.data;
|
|
174
|
+
var dd = event.data;
|
|
169
175
|
// handle various events
|
|
170
176
|
switch ( event.type ){
|
|
171
177
|
// mousemove, check distance, start dragging
|
|
172
|
-
case !dd.dragging && '
|
|
178
|
+
case !dd.dragging && 'touchmove':
|
|
179
|
+
event.preventDefault();
|
|
180
|
+
case !dd.dragging && 'mousemove':
|
|
173
181
|
// drag tolerance, x² + y² = distance²
|
|
174
182
|
if ( Math.pow( event.pageX-dd.pageX, 2 ) + Math.pow( event.pageY-dd.pageY, 2 ) < Math.pow( dd.distance, 2 ) )
|
|
175
183
|
break; // distance tolerance not reached
|
|
@@ -178,78 +186,49 @@ drag = $special.drag = {
|
|
|
178
186
|
if ( dd.propagates ) // "dragstart" not rejected
|
|
179
187
|
dd.dragging = true; // activate interaction
|
|
180
188
|
// mousemove, dragging
|
|
181
|
-
case '
|
|
189
|
+
case 'touchmove':
|
|
190
|
+
event.preventDefault();
|
|
191
|
+
case 'mousemove':
|
|
182
192
|
if ( dd.dragging ){
|
|
183
193
|
// trigger "drag"
|
|
184
194
|
drag.hijack( event, "drag", dd );
|
|
185
195
|
if ( dd.propagates ){
|
|
186
196
|
// manage drop events
|
|
187
197
|
if ( dd.drop !== false && $special.drop )
|
|
188
|
-
$special.drop.handler( event, dd ); // "dropstart", "dropend"
|
|
198
|
+
$special.drop.handler( event, dd ); // "dropstart", "dropend"
|
|
189
199
|
break; // "drag" not rejected, stop
|
|
190
200
|
}
|
|
191
201
|
event.type = "mouseup"; // helps "drop" handler behave
|
|
192
202
|
}
|
|
193
203
|
// mouseup, stop dragging
|
|
204
|
+
case 'touchend':
|
|
194
205
|
case 'mouseup':
|
|
195
|
-
|
|
206
|
+
default:
|
|
207
|
+
if ( drag.touched )
|
|
208
|
+
$event.remove( drag.touched, "touchmove touchend", drag.handler ); // remove touch events
|
|
209
|
+
else
|
|
210
|
+
$event.remove( document, "mousemove mouseup", drag.handler ); // remove page events
|
|
196
211
|
if ( dd.dragging ){
|
|
197
|
-
if ( dd.drop !== false && $special.drop )
|
|
212
|
+
if ( dd.drop !== false && $special.drop )
|
|
198
213
|
$special.drop.handler( event, dd ); // "drop"
|
|
199
214
|
drag.hijack( event, "dragend", dd ); // trigger "dragend"
|
|
200
|
-
|
|
215
|
+
}
|
|
201
216
|
drag.textselect( true ); // enable text selection
|
|
202
|
-
|
|
203
217
|
// if suppressing click events...
|
|
204
|
-
if ( dd.click === false && dd.dragging )
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
jQuery.event.triggered = false;
|
|
208
|
-
}, 20 );
|
|
209
|
-
dd.dragging = false; // deactivate element
|
|
210
|
-
}
|
|
218
|
+
if ( dd.click === false && dd.dragging )
|
|
219
|
+
$.data( dd.mousedown, "suppress.click", new Date().getTime() + 5 );
|
|
220
|
+
dd.dragging = drag.touched = false; // deactivate element
|
|
211
221
|
break;
|
|
212
222
|
}
|
|
213
223
|
},
|
|
214
|
-
|
|
215
|
-
// identify potential delegate elements
|
|
216
|
-
delegate: function( event ){
|
|
217
|
-
// local refs
|
|
218
|
-
var elems = [], target,
|
|
219
|
-
// element event structure
|
|
220
|
-
events = $.data( this, "events" ) || {};
|
|
221
|
-
// query live events
|
|
222
|
-
$.each( events.live || [], function( i, obj ){
|
|
223
|
-
// no event type matches
|
|
224
|
-
if ( obj.preType.indexOf("drag") !== 0 )
|
|
225
|
-
return;
|
|
226
|
-
// locate the element to delegate
|
|
227
|
-
target = $( event.target ).closest( obj.selector, event.currentTarget )[0];
|
|
228
|
-
// no element found
|
|
229
|
-
if ( !target )
|
|
230
|
-
return;
|
|
231
|
-
// add an event handler
|
|
232
|
-
$event.add( target, obj.origType+'.'+drag.livekey, obj.origHandler, obj.data );
|
|
233
|
-
// remember new elements
|
|
234
|
-
if ( $.inArray( target, elems ) < 0 )
|
|
235
|
-
elems.push( target );
|
|
236
|
-
});
|
|
237
|
-
// if there are no elements, break
|
|
238
|
-
if ( !elems.length )
|
|
239
|
-
return false;
|
|
240
|
-
// return the matched results, and clenup when complete
|
|
241
|
-
return $( elems ).bind("dragend."+ drag.livekey, function(){
|
|
242
|
-
$event.remove( this, "."+ drag.livekey ); // cleanup delegation
|
|
243
|
-
});
|
|
244
|
-
},
|
|
245
|
-
|
|
224
|
+
|
|
246
225
|
// re-use event object for custom events
|
|
247
226
|
hijack: function( event, type, dd, x, elem ){
|
|
248
227
|
// not configured
|
|
249
228
|
if ( !dd )
|
|
250
229
|
return;
|
|
251
230
|
// remember the original event and type
|
|
252
|
-
var orig = { event:event.originalEvent, type:
|
|
231
|
+
var orig = { event:event.originalEvent, type:event.type },
|
|
253
232
|
// is the event drag related or drog related?
|
|
254
233
|
mode = type.indexOf("drop") ? "drag" : "drop",
|
|
255
234
|
// iteration vars
|
|
@@ -274,8 +253,10 @@ drag = $special.drag = {
|
|
|
274
253
|
$( elem || ia[ mode ] || dd.droppable ).each(function( p, subject ){
|
|
275
254
|
// identify drag or drop targets individually
|
|
276
255
|
callback.target = subject;
|
|
256
|
+
// force propagtion of the custom event
|
|
257
|
+
event.isPropagationStopped = function(){ return false; };
|
|
277
258
|
// handle the event
|
|
278
|
-
result = subject ? $event.
|
|
259
|
+
result = subject ? $event.dispatch.call( subject, event, callback ) : null;
|
|
279
260
|
// stop the drag interaction for this element
|
|
280
261
|
if ( result === false ){
|
|
281
262
|
if ( mode == "drag" ){
|
|
@@ -333,8 +314,8 @@ drag = $special.drag = {
|
|
|
333
314
|
obj.originalX = ia.offset.left;
|
|
334
315
|
obj.originalY = ia.offset.top;
|
|
335
316
|
// adjusted element position
|
|
336
|
-
obj.offsetX =
|
|
337
|
-
obj.offsetY =
|
|
317
|
+
obj.offsetX = obj.originalX + obj.deltaX;
|
|
318
|
+
obj.offsetY = obj.originalY + obj.deltaY;
|
|
338
319
|
// assign the drop targets information
|
|
339
320
|
obj.drop = drag.flatten( ( ia.drop || [] ).slice() );
|
|
340
321
|
obj.available = drag.flatten( ( ia.droppable || [] ).slice() );
|
|
@@ -358,8 +339,9 @@ drag = $special.drag = {
|
|
|
358
339
|
// toggles text selection attributes ON (true) or OFF (false)
|
|
359
340
|
textselect: function( bool ){
|
|
360
341
|
$( document )[ bool ? "unbind" : "bind" ]("selectstart", drag.dontstart )
|
|
361
|
-
.attr("unselectable", bool ? "off" : "on" )
|
|
362
342
|
.css("MozUserSelect", bool ? "" : "none" );
|
|
343
|
+
// .attr("unselectable", bool ? "off" : "on" )
|
|
344
|
+
document.unselectable = bool ? "off" : "on";
|
|
363
345
|
},
|
|
364
346
|
|
|
365
347
|
// suppress "selectstart" and "ondragstart" events
|
|
@@ -382,6 +364,38 @@ drag.callback.prototype = {
|
|
|
382
364
|
}
|
|
383
365
|
};
|
|
384
366
|
|
|
367
|
+
// patch $.event.$dispatch to allow suppressing clicks
|
|
368
|
+
var $dispatch = $event.dispatch;
|
|
369
|
+
$event.dispatch = function( event ){
|
|
370
|
+
if ( $.data( this, "suppress."+ event.type ) - new Date().getTime() > 0 ){
|
|
371
|
+
$.removeData( this, "suppress."+ event.type );
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
return $dispatch.apply( this, arguments );
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
// event fix hooks for touch events...
|
|
378
|
+
var touchHooks =
|
|
379
|
+
$event.fixHooks.touchstart =
|
|
380
|
+
$event.fixHooks.touchmove =
|
|
381
|
+
$event.fixHooks.touchend =
|
|
382
|
+
$event.fixHooks.touchcancel = {
|
|
383
|
+
props: "clientX clientY pageX pageY screenX screenY".split( " " ),
|
|
384
|
+
filter: function( event, orig ) {
|
|
385
|
+
if ( orig ){
|
|
386
|
+
var touched = ( orig.touches && orig.touches[0] )
|
|
387
|
+
|| ( orig.changedTouches && orig.changedTouches[0] )
|
|
388
|
+
|| null;
|
|
389
|
+
// iOS webkit: touchstart, touchmove, touchend
|
|
390
|
+
if ( touched )
|
|
391
|
+
$.each( touchHooks.props, function( i, prop ){
|
|
392
|
+
event[ prop ] = touched[ prop ];
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
return event;
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
|
|
385
399
|
// share the same special event configuration with related events...
|
|
386
400
|
$special.draginit = $special.dragstart = $special.dragend = drag;
|
|
387
401
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* jquery.event.drop - v 2.
|
|
2
|
+
* jquery.event.drop - v 2.2
|
|
3
3
|
* Copyright (c) 2010 Three Dub Media - http://threedubmedia.com
|
|
4
4
|
* Open Source MIT License - http://threedubmedia.com/code/license
|
|
5
5
|
*/
|
|
6
6
|
// Created: 2008-06-04
|
|
7
|
-
// Updated:
|
|
8
|
-
// REQUIRES: jquery 1.
|
|
7
|
+
// Updated: 2012-05-21
|
|
8
|
+
// REQUIRES: jquery 1.7.x, event.drag 2.2
|
|
9
9
|
|
|
10
10
|
;(function($){ // secure $ jQuery alias
|
|
11
11
|
|
|
12
|
-
// Events: drop,
|
|
12
|
+
// Events: drop, dropstart, dropend
|
|
13
13
|
|
|
14
14
|
// add the jquery instance method
|
|
15
15
|
$.fn.drop = function( str, arg, opts ){
|
|
@@ -55,9 +55,9 @@ drop = $.event.special.drop = {
|
|
|
55
55
|
|
|
56
56
|
// the key name for stored drop data
|
|
57
57
|
datakey: "dropdata",
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
|
|
58
|
+
|
|
59
|
+
// prevent bubbling for better performance
|
|
60
|
+
noBubble: true,
|
|
61
61
|
|
|
62
62
|
// count bound related events
|
|
63
63
|
add: function( obj ){
|
|
@@ -65,11 +65,6 @@ drop = $.event.special.drop = {
|
|
|
65
65
|
var data = $.data( this, drop.datakey );
|
|
66
66
|
// count another realted event
|
|
67
67
|
data.related += 1;
|
|
68
|
-
// bind the live "dropinit" delegator
|
|
69
|
-
if ( !data.live && obj.selector ){
|
|
70
|
-
data.live = true;
|
|
71
|
-
$event.add( this, "dropinit."+ drop.livekey, drop.delegate );
|
|
72
|
-
}
|
|
73
68
|
},
|
|
74
69
|
|
|
75
70
|
// forget unbound related events
|
|
@@ -98,13 +93,12 @@ drop = $.event.special.drop = {
|
|
|
98
93
|
|
|
99
94
|
// destroy the configure interaction
|
|
100
95
|
teardown: function(){
|
|
96
|
+
var data = $.data( this, drop.datakey ) || {};
|
|
101
97
|
// check for related events
|
|
102
|
-
if (
|
|
98
|
+
if ( data.related )
|
|
103
99
|
return;
|
|
104
100
|
// remove the stored data
|
|
105
101
|
$.removeData( this, drop.datakey );
|
|
106
|
-
// remove the "live" delegation
|
|
107
|
-
$event.remove( this, "dropinit", drop.delegate );
|
|
108
102
|
// reference the targeted element
|
|
109
103
|
var element = this;
|
|
110
104
|
// remove from the internal cache
|
|
@@ -124,6 +118,7 @@ drop = $.event.special.drop = {
|
|
|
124
118
|
switch ( event.type ){
|
|
125
119
|
// draginit, from $.event.special.drag
|
|
126
120
|
case 'mousedown': // DROPINIT >>
|
|
121
|
+
case 'touchstart': // DROPINIT >>
|
|
127
122
|
// collect and assign the drop targets
|
|
128
123
|
$targets = $( drop.targets );
|
|
129
124
|
if ( typeof dd.drop == "string" )
|
|
@@ -137,15 +132,12 @@ drop = $.event.special.drop = {
|
|
|
137
132
|
});
|
|
138
133
|
// set available target elements
|
|
139
134
|
dd.droppable = $targets;
|
|
140
|
-
// hold any live elements
|
|
141
|
-
drop.delegates = [];
|
|
142
135
|
// activate drop targets for the initial element being dragged
|
|
143
136
|
$special.drag.hijack( event, "dropinit", dd );
|
|
144
|
-
// flatten all the live elements
|
|
145
|
-
drop.delegates = $.unique( $special.drag.flatten( drop.delegates ) );
|
|
146
137
|
break;
|
|
147
138
|
// drag, from $.event.special.drag
|
|
148
139
|
case 'mousemove': // TOLERATE >>
|
|
140
|
+
case 'touchmove': // TOLERATE >>
|
|
149
141
|
drop.event = event; // store the mousemove event
|
|
150
142
|
if ( !drop.timer )
|
|
151
143
|
// monitor drop targets
|
|
@@ -153,48 +145,17 @@ drop = $.event.special.drop = {
|
|
|
153
145
|
break;
|
|
154
146
|
// dragend, from $.event.special.drag
|
|
155
147
|
case 'mouseup': // DROP >> DROPEND >>
|
|
148
|
+
case 'touchend': // DROP >> DROPEND >>
|
|
156
149
|
drop.timer = clearTimeout( drop.timer ); // delete timer
|
|
157
150
|
if ( dd.propagates ){
|
|
158
151
|
$special.drag.hijack( event, "drop", dd );
|
|
159
152
|
$special.drag.hijack( event, "dropend", dd );
|
|
160
|
-
// cleanout live events...
|
|
161
|
-
$.each( drop.delegates || [], function(){
|
|
162
|
-
$event.remove( this, '.'+ drop.livekey );
|
|
163
|
-
});
|
|
164
153
|
}
|
|
165
154
|
break;
|
|
155
|
+
|
|
166
156
|
}
|
|
167
157
|
},
|
|
168
|
-
|
|
169
|
-
// identify potential delegate elements
|
|
170
|
-
delegate: function( event ){
|
|
171
|
-
// local refs
|
|
172
|
-
var elems = [], $targets,
|
|
173
|
-
// element event structure
|
|
174
|
-
events = $.data( this, "events" ) || {};
|
|
175
|
-
// query live events
|
|
176
|
-
$.each( events.live || [], function( i, obj ){
|
|
177
|
-
// no event type matches
|
|
178
|
-
if ( obj.preType.indexOf("drop") !== 0 )
|
|
179
|
-
return;
|
|
180
|
-
// locate the elements to delegate
|
|
181
|
-
$targets = $( event.currentTarget ).find( obj.selector );
|
|
182
|
-
// no element found
|
|
183
|
-
if ( !$targets.length )
|
|
184
|
-
return;
|
|
185
|
-
// take each target...
|
|
186
|
-
$targets.each(function(){
|
|
187
|
-
// add an event handler
|
|
188
|
-
$event.add( this, obj.origType +'.'+ drop.livekey, obj.origHandler, obj.data );
|
|
189
|
-
// remember new elements
|
|
190
|
-
if ( $.inArray( this, elems ) < 0 )
|
|
191
|
-
elems.push( this );
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
drop.delegates.push( elems );
|
|
195
|
-
return elems.length ? $( elems ) : false;
|
|
196
|
-
},
|
|
197
|
-
|
|
158
|
+
|
|
198
159
|
// returns the location positions of an element
|
|
199
160
|
locate: function( elem, index ){
|
|
200
161
|
var data = $.data( elem, drop.datakey ),
|
metadata
CHANGED
|
@@ -1,38 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jquery-plugins-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: '0.2'
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Benedikt Böhm
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2013-11-13 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: railties
|
|
16
|
-
requirement:
|
|
17
|
-
none: false
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - ! '>'
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '3.0'
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
|
-
version_requirements:
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ! '>'
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '3.0'
|
|
25
27
|
- !ruby/object:Gem::Dependency
|
|
26
28
|
name: jquery-rails
|
|
27
|
-
requirement:
|
|
28
|
-
none: false
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
30
|
requirements:
|
|
30
31
|
- - ! '>='
|
|
31
32
|
- !ruby/object:Gem::Version
|
|
32
33
|
version: '0'
|
|
33
34
|
type: :runtime
|
|
34
35
|
prerelease: false
|
|
35
|
-
version_requirements:
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ! '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
36
41
|
description: jQuery plugins for Rails 3.x asset pipeline
|
|
37
42
|
email:
|
|
38
43
|
- bb@xnull.de
|
|
@@ -40,7 +45,7 @@ executables: []
|
|
|
40
45
|
extensions: []
|
|
41
46
|
extra_rdoc_files: []
|
|
42
47
|
files:
|
|
43
|
-
- .
|
|
48
|
+
- .gitignore
|
|
44
49
|
- Gemfile
|
|
45
50
|
- Gemfile.lock
|
|
46
51
|
- LICENSE
|
|
@@ -50,7 +55,6 @@ files:
|
|
|
50
55
|
- lib/jquery-plugins-rails.rb
|
|
51
56
|
- lib/jquery-plugins/rails.rb
|
|
52
57
|
- lib/jquery-plugins/rails/engine.rb
|
|
53
|
-
- lib/jquery-plugins/rails/version.rb
|
|
54
58
|
- vendor/assets/javascripts/jquery/event/drag.js
|
|
55
59
|
- vendor/assets/javascripts/jquery/event/drop.js
|
|
56
60
|
- vendor/assets/javascripts/jquery/fuzzymatch.js
|
|
@@ -58,26 +62,25 @@ files:
|
|
|
58
62
|
- vendor/assets/javascripts/jquery/metadata.js
|
|
59
63
|
homepage: https://github.com/zenops/jquery-plugins-rails
|
|
60
64
|
licenses: []
|
|
65
|
+
metadata: {}
|
|
61
66
|
post_install_message:
|
|
62
67
|
rdoc_options: []
|
|
63
68
|
require_paths:
|
|
64
69
|
- lib
|
|
65
70
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
66
|
-
none: false
|
|
67
71
|
requirements:
|
|
68
72
|
- - ! '>='
|
|
69
73
|
- !ruby/object:Gem::Version
|
|
70
74
|
version: '0'
|
|
71
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
|
-
none: false
|
|
73
76
|
requirements:
|
|
74
77
|
- - ! '>='
|
|
75
78
|
- !ruby/object:Gem::Version
|
|
76
79
|
version: '0'
|
|
77
80
|
requirements: []
|
|
78
81
|
rubyforge_project:
|
|
79
|
-
rubygems_version:
|
|
82
|
+
rubygems_version: 2.0.6
|
|
80
83
|
signing_key:
|
|
81
|
-
specification_version:
|
|
84
|
+
specification_version: 4
|
|
82
85
|
summary: jQuery plugins for Rails 3.x asset pipeline
|
|
83
86
|
test_files: []
|
data/.rvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
rvm --create ruby-1.9.3-p125@jquery-plugins-rails
|