var app = angular.module('plunker', []);


<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>Angular DND QuickStart</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.0/angular.js" data-semver="1.4.0"></script>
    <script src="https://rawgit.com/Tuch/angular-dnd/master/dist/angular-dnd.min.js"></script>
     <style type='text/css' > 


.handle {
    cursor: pointer;
}

.dropzone {
    margin:10px;
    padding:10px;
    width: 200px;
    height: 200px;
    display:block;
    border:1px solid #7565BB;
    text-align: center;
    border-radius: 10px;
    overflow:hidden;
    color:white;
    background:#7565AA;
  
    
}
.dropzone > div{
 border : 1px solid white;
}
.dropzone.active {
  
    box-shadow: inset  0 0 10px rgba(0,0,0,0.5);
    background-color: #6BC56B;
}

.dropzone.dropped {
      background: #ddffdd;
}

.dnd-container {
    padding: 10px;
    margin:0;
   background: rgb(96,108,136);
background: -moz-linear-gradient(top,  rgba(96,108,136,1) 0%, rgba(63,76,107,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(96,108,136,1)), color-stop(100%,rgba(63,76,107,1)));
background: -webkit-linear-gradient(top,  rgba(96,108,136,1) 0%,rgba(63,76,107,1) 100%);
background: -o-linear-gradient(top,  rgba(96,108,136,1) 0%,rgba(63,76,107,1) 100%);
background: -ms-linear-gradient(top,  rgba(96,108,136,1) 0%,rgba(63,76,107,1) 100%);
background: linear-gradient(to bottom,  rgba(96,108,136,1) 0%,rgba(63,76,107,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#606c88', endColorstr='#3f4c6b',GradientType=0 );

    position: relative;
    
}

input {
    border-radius: 10px;
    margin:10px;
    padding:7px;
    display: block;
    width: 200px;
    border:1px solid #aaa;
}







</style>
 <script type="text/javascript">
    var app = angular.module('plunker', ['dnd']);
   
    app.controller('MainCtrl', function($scope){
        $scope.objid = 1;
        this.dragenter = function(dropmodel){
            console.log('dragenter', arguments);
            this.active = dropmodel;
        };
        this.dragover = function(){
            console.log('dragover', arguments);
        };
        this.dragleave = function(){
            console.log('dragleave', arguments);
            this.active = undefined;
        };
        this.drop = function(dragmodel, model){
            console.log('drop', arguments);
                        dragmodel.catchedObjects.push(model);
          
            this.dropped = model;
            this.active = undefined;
            $scope.objid ++;
              this.dragmodel = 'I am obj id:'+ $scope.objid ;
           
        };
        this.isDropped = function(model){
            return this.dropped === model;
        };
        this.isActive = function(model){
            return this.active === model;
        };
      
       
          this.dragmodel = 'I am obj id:'+ $scope.objid ;
          var Container1  = [];
          Container1.title = 'Container1';
          Container1.catchedObjects = [];
            var Container2  = [];
          Container2.title = 'Container2';
          Container2.catchedObjects = [];
          
            var Container3  = [];
          Container3.title = 'Container3';
          Container3.catchedObjects = [];
        this.dropmodels = [ Container1, Container2, Container3 ];
    });
</script>
  </head>

 <body ng-controller="MainCtrl as main">
   <div style="overflow:auto">
    <div >
      <div style="height:120px;">ANGULAR-DND</div>
      <div class = "dnd-container" style="overflow:auto">
              

               <input  class = "draggable handle" 
                 ng-model='main.dragmodel' type='text' dnd-draggable = "true"
                 dnd-draggable-opts = "{layer: 'layer1', helper : 'clone'}"
                 dnd-containment = "'.dnd-container'"
                 dnd-rect = "main.rect4"
                 dnd-model = "main.dragmodel"></input>
           

            <div
                ng-repeat = "dropmodel in main.dropmodels"
                class = "dropzone"
                ng-class = "{dropped: main.isDropped(dropmodel), active: main.isActive(dropmodel)}"
                dnd-droppable = "true"
                dnd-droppable-opts = "{layer: 'layer1'}"
                dnd-on-drop = "main.drop($dropmodel, $dragmodel)"
                dnd-on-dragenter = "main.dragenter($dropmodel, $dragmodel)"
                dnd-on-dragleave = "main.dragleave($dropmodel, $dragmodel)"
                dnd-on-dragover = "main.dragover($dropmodel, $dragmodel)"
                dnd-model = "dropmodel" >
                 {{dropmodel.title}}
                 
                <div ng-if='main.isActive(dropmodel)'>
                    Drop it...I am Ready.
                </div>
                <div   ng-repeat = "catched in dropmodel.catchedObjects  track by $index">{{catched}}</div>
             
            </div>

          
        </div>

    </div>
    </div>
</body>

</html>
/* Put your css in here */