Skip to content
Open

test #279

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
866fd1a
Allow for drag handle(s) to be specified as child element -- Allow ng…
clocklear Dec 9, 2014
f973841
- removed dependency on jQuery
sh3rndon Dec 22, 2014
fd48114
Merge pull request #55 from sh3rndon/master
fatlinesofcode Jan 4, 2015
61ad429
version bump
fatlinesofcode Jan 4, 2015
1b86e98
removed jquery dep from bower
fatlinesofcode Jan 4, 2015
6ac20e9
updated examples to angular 1.3
fatlinesofcode Jan 4, 2015
04729c8
updated readme
fatlinesofcode Jan 4, 2015
14f3d7e
updated touch detection
fatlinesofcode Jan 4, 2015
193f11f
Added 'ngDraggable' service, fixed pageX/Y detection
Jan 9, 2015
40f677c
Merge pull request #62 from janeklb/feature-ngDraggable-service
fatlinesofcode Jan 13, 2015
5b6225d
version bump
fatlinesofcode Jan 13, 2015
3bec9d8
Fixed issue #73: Problems with matrix3d transform on parent elements
janober Jan 20, 2015
38fbebc
Forgot to update one test variable
janober Jan 20, 2015
59bb0a7
Fixed clone
janober Jan 20, 2015
f0ad85f
version bump
fatlinesofcode Jan 21, 2015
bf9cbd2
Merge pull request #74 from janober/master
fatlinesofcode Jan 21, 2015
2d896d8
Merge pull request #1 from fatlinesofcode/master
bobber205 Feb 9, 2015
1f1c638
Adding ng-drag-start and ng-drag-move events.
bobber205 Oct 24, 2014
fe46aa4
Adding missing semicolons.
bobber205 Oct 24, 2014
c037c57
Updating readme.
bobber205 Oct 24, 2014
7fc6366
Adding callback that's called when dragging stops and not just when w…
bobber205 Oct 24, 2014
3d4126c
Updated readme to include ng-drag-stop
bobber205 Oct 24, 2014
64685f3
Merge pull request #40 from bobber205/adding_start_and_move_events
fatlinesofcode Feb 10, 2015
2a5df3b
Added functionality to scroll the page when dragging.
jamesbrauman Feb 16, 2015
00d3de4
Added -webkit-transform to css transform operations.
gregvis Feb 19, 2015
69ec8e8
Merge pull request #1 from gregvis/gregvis-patch-webkit-transform
gregvis Feb 19, 2015
b5bc602
Update ngDraggable.js
jtrotoux Feb 23, 2015
3960596
Update README.md with mention of events. Closes #94
Feb 23, 2015
388faa6
fix issue #78
learning Feb 27, 2015
73239b3
Merge pull request #96 from learning/learning-patch-78
fatlinesofcode Mar 4, 2015
dee249b
Merge pull request #95 from jkarttunen/master
fatlinesofcode Mar 4, 2015
250eaaf
Merge pull request #91 from gregvis/master
fatlinesofcode Mar 4, 2015
89e7043
version bump
fatlinesofcode Mar 4, 2015
f3b3888
update styles on drop if drag and drop elements are the same
Mar 9, 2015
33d2898
added IE9 CSS support
Mar 9, 2015
e527a19
Merge pull request #99 from iblank/master
fatlinesofcode Mar 12, 2015
e15594b
Merge pull request #86 from JamesBrauman/master
fatlinesofcode Mar 12, 2015
33de6ef
removed privoffset, old browser support is dropped
fatlinesofcode Mar 12, 2015
8818977
Merge pull request #52 from clocklear/master
fatlinesofcode Mar 12, 2015
a661e02
Merge branch 'master' of github.com:fatlinesofcode/ngDraggable
fatlinesofcode Mar 12, 2015
e4f6a21
remove get event prop
fatlinesofcode Mar 12, 2015
2a17a40
bower rename
fatlinesofcode Mar 12, 2015
29aab85
added isTouching scope variable
fatlinesofcode Mar 12, 2015
13ee5b3
fixed bug #83
fatlinesofcode Mar 12, 2015
f0dd7c8
only remove drag-enter from active drop area
fatlinesofcode Mar 12, 2015
737d965
updated readme
fatlinesofcode Mar 12, 2015
064858a
added option to use fixed positoning instead of transform matrix
fatlinesofcode Mar 12, 2015
14750f8
renamed package back to ngDraggable
fatlinesofcode Mar 12, 2015
27ebf4d
Update README.md
fatlinesofcode Mar 13, 2015
b8b5635
Add missing semicolons and remove console.logs
Mar 16, 2015
9d1da34
Remove jQuery dependency in ngDragScroll
Mar 16, 2015
4171393
Merge pull request #101 from Be-ngt-oH/master
fatlinesofcode Mar 17, 2015
ccabdaf
version bump
fatlinesofcode Mar 17, 2015
d401b30
fixes fatlinesofcode/ngDraggable#108
ensign-rbaker Mar 20, 2015
0979448
added some documentation
sebhofmann Mar 23, 2015
87c2414
Avoiding digest cycles for undefined callbacks
cdauth Mar 29, 2015
d44c8d6
Update ngDraggable.js
Cinetik Mar 30, 2015
f97d9fe
Update ngDraggable.js
Cinetik Mar 30, 2015
cd7bce1
Used $window angular warper instead
Mar 30, 2015
d757428
Merge pull request #120 from Cinetik/master
fatlinesofcode Mar 31, 2015
bb0b719
Merge pull request #118 from cdauth/avoid-digest-undefined-callbacks
fatlinesofcode Mar 31, 2015
51fd11f
Merge pull request #110 from ryantehbaker/master
fatlinesofcode Mar 31, 2015
b444c77
version bump
fatlinesofcode Mar 31, 2015
7169078
fix scrolled drop target problem
Remigius2011 Apr 1, 2015
3963afb
add $ for angular document placeholder
Remigius2011 Apr 1, 2015
d25ff17
bounds is read-only, so modifying it does not make sense
Remigius2011 Apr 1, 2015
859851a
brought back the 'isClickableElement' check on drag to make ng-cancel…
Apr 16, 2015
768cd51
Merge pull request #132 from makeitdoit/master
fatlinesofcode Apr 17, 2015
29f494c
Update ngDraggable.js
fatlinesofcode Apr 17, 2015
8634fef
Update bower.json
fatlinesofcode Apr 17, 2015
b378053
Merge pull request #124 from Remigius2011/master
fatlinesofcode Apr 17, 2015
46df17e
Merge pull request #114 from paschty/master
fatlinesofcode Apr 17, 2015
446535d
Update bower.json
fatlinesofcode Apr 17, 2015
cee91d9
invalid $document reference and ussage
schonert Apr 18, 2015
eefd5ce
Avoid digest cycles by not watching ng-drag-data
cdauth Apr 19, 2015
76c2173
Do not start dragging on right click
cdauth Apr 19, 2015
0feb8d4
Use $watch instead of $observe for ng-drop
cdauth Apr 19, 2015
080ecc5
Merge pull request #135 from schonert/patch-1
fatlinesofcode Apr 19, 2015
468ea9b
Merge pull request #139 from beatboxjs/right_click
fatlinesofcode Apr 19, 2015
0352b1f
Merge pull request #140 from beatboxjs/drop_watch
fatlinesofcode Apr 19, 2015
e22002f
version bump
fatlinesofcode Apr 19, 2015
66982f4
Note a about PRs
fatlinesofcode Apr 19, 2015
66a223c
Update README.md
fatlinesofcode Apr 19, 2015
3cb1745
Merge pull request #138 from beatboxjs/no-data-watch
fatlinesofcode Apr 20, 2015
d1ef32b
version bump
fatlinesofcode Apr 20, 2015
d38ee54
makes ng-drag-handle work without jQuery
Apr 28, 2015
f4c93c2
Added a check for event.originalEvent.touches in scope.inputEvent to …
justinmorant May 20, 2015
a337460
Fix a Bug on Chrome where when you scroll the dragging element scroll…
jaisonerick May 22, 2015
5eb69ad
Replace setInterval by requestAnimationFrame, stopping the flickering…
jaisonerick May 22, 2015
57dec58
Improved performance, using the requestAnimationFrame default framerate
jaisonerick May 22, 2015
2d2850f
Merge pull request #153 from justinmorant/master
fatlinesofcode May 30, 2015
b4bbf57
Merge pull request #154 from socialbase/dragScroll
fatlinesofcode May 30, 2015
840dd1c
Merge pull request #145 from benib/ng-drag-handle-without-jquery
fatlinesofcode May 30, 2015
fa00c77
Making 3 examples work again. The cancel function is still not working?
Jun 19, 2015
31bb08b
Merge pull request #165 from cytsunny/master
fatlinesofcode Jun 19, 2015
bb2130a
Fix ngDragClone when the page scrolls
Jun 22, 2015
d31a7a3
Merge pull request #166 from rustico/rustico_fix_ngdragclone_scrolling
fatlinesofcode Aug 12, 2015
92bacff
added drag start + stop for ng-drag
fatlinesofcode Aug 25, 2015
5f5487f
Update README.md
fatlinesofcode Jul 14, 2016
bf1c064
added npm package. bumped version
fatlinesofcode Jul 14, 2016
41f7063
check which touch event is trigger. Attempt to allow devices with bot…
fatlinesofcode Sep 14, 2016
a7d83ca
version bump
fatlinesofcode Sep 28, 2016
d55490c
fire onmove as soon as touch begins
fatlinesofcode Mar 1, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
ngDraggable
===========

> *NOTE:*
> I'm not actively maintaining this project any more. If any anyone would like to take on that responsible please get in touch


Drag and drop module for Angular JS with support for touch devices. [`demo`](http://htmlpreview.github.io/?https://github.com/fatlinesofcode/ngDraggable/blob/master/example.html).

### Usage:

- Install: `bower install ngDraggable`
- Add `jquery`, `angular` and `ngDraggable` to your code:
- Add `angular` and `ngDraggable` to your code:

```html
<script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="ngDraggable.js"></script>
```

Expand All @@ -29,7 +32,16 @@ Draggable usage:
Draggable div
</div>
```
Note: ng-center-anchor is optional. If not specified, it defaults to false.

* `ng-center-anchor` is optional. If not specified, it defaults to false.
* If the draggable is also clickable (ng-click, ng-dblclick) the script wont react.
* You can define a drag-button as child with the attribute `ng-drag-handle`.

```ng-drag-start``` and ```ng-drag-move``` is also available. Add to the ng-drop element.
``ng-drag-stop`` can be used when you want to react to the user dragging an item and it wasn't dropped into the target container.

```draggable:start```, ```draggable:move``` and ```draggable:end``` events are broadcast on drag actions.


Drop area usage:
```html
Expand Down Expand Up @@ -59,3 +71,6 @@ app.controller('MainCtrl', function ($scope) {
[`Cloning`](http://htmlpreview.github.io/?https://github.com/fatlinesofcode/ngDraggable/blob/master/example-clone.html).

[`Canceling`](http://htmlpreview.github.io/?https://github.com/fatlinesofcode/ngDraggable/blob/master/example-cancel.html).

## Pull requests
We welcome pull requests but please check that all the examples still work if you modified the source base. There have been serveral PRs recently that broke core functionality. If you are feeling really keen you could include some protractor test cases in your PR.
3 changes: 1 addition & 2 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ngDraggable",
"main": "ngDraggable.js",
"version": "0.0.2",
"version": "0.1.10",
"homepage": "https://github.com/fatlinesofcode/ngDraggable",
"ignore": [
"**/.*",
Expand All @@ -11,7 +11,6 @@
"tests"
],
"dependencies": {
"jquery": "latest",
"angular": "latest"
}
}
7 changes: 3 additions & 4 deletions example-cancel.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<title>ngDraggable</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<style>

*{
Expand Down Expand Up @@ -120,8 +120,7 @@ <h2>Cancel drag from child element.</h2>
</div>
<footer style="margin-top:2000px;">footer</footer>

<script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="ngDraggable.js"></script>
<script>
angular.module('ExampleApp', ['ngDraggable']).
Expand Down Expand Up @@ -161,4 +160,4 @@ <h2>Cancel drag from child element.</h2>
});
</script>
</body>
</html>
</html>
18 changes: 4 additions & 14 deletions example-clone.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<title>ngDraggable</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<style>

*{
Expand Down Expand Up @@ -88,7 +88,7 @@ <h1>ngDraggable Clone Example</h1>
{{obj.name}}
<div ng-drag="true" ng-drag-data="obj"></div>
</div>
<div class="drag-object" style="background-color: transparent">
<div class="drag-object" style="background-color: transparent; overflow: visible">
<div ng-drag="true" class="drag-object" ng-drag-data="draggableObjects[3]">{{draggableObjects[3].name}}</div>
</div>
<hr/>
Expand All @@ -100,13 +100,7 @@ <h1>ngDraggable Clone Example</h1>
</div>

</div>



<hr>



</div>


Expand All @@ -116,11 +110,7 @@ <h1>ngDraggable Clone Example</h1>

<footer style="margin-top:2000px;">footer</footer>




<script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
<script src='//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js'></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="ngDraggable.js"></script>
<script>
angular.module('ExampleApp', ['ngDraggable']).
Expand Down Expand Up @@ -157,4 +147,4 @@ <h1>ngDraggable Clone Example</h1>
});
</script>
</body>
</html>
</html>
8 changes: 3 additions & 5 deletions example-reorder.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<title>ngDraggable</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<style>

* {
Expand Down Expand Up @@ -109,9 +109,7 @@ <h1>ngDraggable Ordering Example</h1>

<hr/>


<script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
<script src='//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js'></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="ngDraggable.js"></script>
<script>
angular.module('ExampleApp', ['ngDraggable']).
Expand All @@ -130,4 +128,4 @@ <h1>ngDraggable Ordering Example</h1>
});
</script>
</body>
</html>
</html>
9 changes: 4 additions & 5 deletions example.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html>
<head>
<title>ngDraggable</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<style>

*{
Expand Down Expand Up @@ -83,7 +83,7 @@ <h1>ngDraggable Example</h1>

<ul class="draggable-objects">
<li ng-repeat="obj in draggableObjects" >
<div ng-drag="true" ng-drag-data="obj"> {{obj.name}} </div>
<div ng-drag="true" ng-drag-data="obj" data-allow-transform="true"> {{obj.name}} </div>
</li>
</ul>

Expand Down Expand Up @@ -113,8 +113,7 @@ <h1>ngDraggable Example</h1>
</div>
<footer style="margin-top:2000px;">footer</footer>

<script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="ngDraggable.js"></script>
<script>
angular.module('ExampleApp', ['ngDraggable']).
Expand Down Expand Up @@ -154,4 +153,4 @@ <h1>ngDraggable Example</h1>
});
</script>
</body>
</html>
</html>
179 changes: 179 additions & 0 deletions examples-simle.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
<!DOCTYPE html>
<html>
<head>
<title>ngDraggable</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
<style>

* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

[ng-drag] {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}

[ng-drag] {
width: 100px;
height: 100px;
background: rgba(255, 0, 0, 0.5);
color: white;
text-align: center;
padding-top: 40px;
display: inline-block;
margin: 0 10px;
cursor: move;
}

ul.draggable-objects:after {
display: block;
content: "";
clear: both;
}

.draggable-objects li {
float: left;
display: block;
width: 120px;
height: 100px;
}

[ng-drag].drag-over {
border: solid 1px red;
}

[ng-drag].dragging {
opacity: 0.5;
}

[ng-drop] {
background: rgba(0, 255, 0, 0.5);
text-align: center;
width: 600px;
height: 200px;
padding-top: 90px;
display: block;
margin: 20px auto;
position: relative;
}

[ng-drop].drag-enter {
border: solid 5px red;
}

[ng-drop] span.title {
display: block;
position: absolute;
top: 50%;
left: 50%;
width: 200px;
height: 20px;
margin-left: -100px;
margin-top: -10px;
}

[ng-drop] div {
position: relative;
z-index: 2;
}

</style>
</head>
<body ng-app="ExampleApp">

<div class="container" ng-controller="MainCtrl">

<div class="row">
<h1>ngDraggable Example</h1>
</div>

<ul class="draggable-objects">
<li ng-if="true">
<div ng-drag="true" ng-drag-data="{name:'test'}" data-allow-transform="true">TEST</div>
</li>
</ul>

<hr/>
<div ng-drop="true" ng-drop-success="onDropComplete1($data,$event)">
<span class="title">Drop area #1</span>

<div ng-repeat="obj in droppedObjects1" ng-drag="true" ng-drag-data="obj"
ng-drag-success="onDragSuccess1($data,$event)" ng-center-anchor="{{centerAnchor}}">
{{obj.name}}
</div>

</div>

<div ng-drop="true" ng-drop-success="onDropComplete2($data,$event)">
<span class="title">Drop area #2</span>

<div ng-repeat="obj in droppedObjects2" ng-drag="true" ng-drag-data="obj"
ng-drag-success="onDragSuccess2($data,$event)" ng-center-anchor="{{centerAnchor}}">
{{obj.name}}
</div>

</div>

<hr>


</div>
<footer style="margin-top:2000px;">footer</footer>

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="ngDraggable.js"></script>
<script>
angular.module('ExampleApp', ['ngDraggable']).
controller('MainCtrl', function ($scope) {
$scope.centerAnchor = true;
$scope.toggleCenterAnchor = function () {
$scope.centerAnchor = !$scope.centerAnchor
}
//$scope.draggableObjects = [{name:'one'}, {name:'two'}, {name:'three'}];

var onDraggableEvent = function (evt, data) {
console.log("128", "onDraggableEvent", evt, data);
}
$scope.$on('draggable:start', onDraggableEvent);
// $scope.$on('draggable:move', onDraggableEvent);
$scope.$on('draggable:end', onDraggableEvent);
$scope.droppedObjects1 = [];
$scope.droppedObjects2 = [];
$scope.onDropComplete1 = function (data, evt) {
console.log("127", "$scope", "onDropComplete1", data, evt);
var index = $scope.droppedObjects1.indexOf(data);
if (index == -1)
$scope.droppedObjects1.push(data);
}
$scope.onDragSuccess1 = function (data, evt) {
console.log("133", "$scope", "onDragSuccess1", "", evt);
var index = $scope.droppedObjects1.indexOf(data);
if (index > -1) {
$scope.droppedObjects1.splice(index, 1);
}
}
$scope.onDragSuccess2 = function (data, evt) {
var index = $scope.droppedObjects2.indexOf(data);
if (index > -1) {
$scope.droppedObjects2.splice(index, 1);
}
}
$scope.onDropComplete2 = function (data, evt) {
var index = $scope.droppedObjects2.indexOf(data);
if (index == -1) {
$scope.droppedObjects2.push(data);
}
}
var inArray = function (array, obj) {
var index = array.indexOf(obj);
}
});
</script>
</body>
</html>
Loading