UNPKG

hw-server

Version:
179 lines (153 loc) 5.46 kB
<!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>