hw-server
Version:
Home automation system
179 lines (153 loc) • 5.46 kB
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>