Click here to Skip to main content
15,919,245 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
<!DOCTYPE html>
<html data-ng-app="dd">
<head>
<title>Drag & Drop with AngularJS</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<script>
var myapp = angular.module("demo").controller("SimpleDemoController", function($scope) {

$scope.models = {
selected: null,
lists: {"A": [{"label": "Item A2"}], "B": [
{
"label": "Item B1"
},
{
"label": "Item B2"
},
{
"label": "Item A1"
},
{
"label": "Item A3"
},
{
"label": "Item B3"
}
]}
};
$scope.model=models;

// Generate initial model
for (var i = 1; i <= 3; ++i) {
$scope.models.lists.A.push({label: "Item A" + i});
$scope.models.lists.B.push({label: "Item B" + i});
}

// Model to JSON for demo purpose
$scope.$watch('models', function(model) {
$scope.modelAsJson = angular.toJson(model, true);
}, true);

});
</script>
<style lang="css">
.simpleDemo ul[dnd-list],
.simpleDemo ul[dnd-list] > li {
position: relative;
}

/**
* The dnd-list should always have a min-height,
* otherwise you can't drop to it once it's empty
*/
.simpleDemo ul[dnd-list] {
min-height: 42px;
padding-left: 0px;
}

/**
* The dndDraggingSource class will be applied to
* the source element of a drag operation. It makes
* sense to hide it to give the user the feeling
* that he's actually moving it.
*/
.simpleDemo ul[dnd-list] .dndDraggingSource {
display: none;
}

/**
* An element with .dndPlaceholder class will be
* added to the dnd-list while the user is dragging
* over it.
*/
.simpleDemo ul[dnd-list] .dndPlaceholder {
display: block;
background-color: #ddd;
min-height: 42px;
}

/**
* The dnd-lists's child elements currently MUST have
* position: relative. Otherwise we can not determine
* whether the mouse pointer is in the upper or lower
* half of the element we are dragging over. In other
* browsers we can use event.offsetY for this.
*/
.simpleDemo ul[dnd-list] li {
background-color: #fff;
border: 1px solid #ddd;
border-top-right-radius: 4px;
border-top-left-radius: 4px;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
}

/**
* Show selected elements in green
*/
.simpleDemo ul[dnd-list] li.selected {
background-color: #dff0d8;
color: #3c763d;
}</style>
</head>
<body ng-app="demo">


    <!-- The dnd-draggable directive makes an element draggable and will
    transfer the object that was assigned to it. If an element was
    dragged away, you have to remove it from the original list
    yourself using the dnd-moved attribute -->
  • dnd-draggable="item"
    dnd-moved="list.splice($index, 1)"
    dnd-effect-allowed="move"
    dnd-selected="models.selected = item"
    ng-class="{'selected': models.selected === item}"
    >
    {{item.label}}



</body></html>

What I have tried:

I am trying to implement drag and drop text in angularjs but I am getting above given error.
Posted
Updated 6-Mar-16 23:42pm

1 solution

A module should be declared before using it.

Try this

JavaScript
var myapp = angular.module("demo", []).controller("SimpleDemoController", function($scope) {


Also change
HTML
<html data-ng-app="dd">

to
HTML
<html data-ng-app="demo">
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900