index.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <!DOCTYPE html>
  2. <html ng-app="app">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Angular DragDrop (Demo)</title>
  6. <script>document.write('<base href="' + document.location + '" />');</script>
  7. <link rel="stylesheet" href="css/styles.css" />
  8. <script data-require="angular.js@1.4.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js" data-semver="1.4.3"></script>
  9. <script src="http://pc035860.github.io/angular-highlightjs/angular-highlightjs.min.js"></script>
  10. <script src="js/app.js"></script>
  11. <script src="../draganddrop.js"></script>
  12. <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
  13. </head>
  14. <body >
  15. <div class="container">
  16. <div class="row topRow">
  17. <h4 class="heading">
  18. Drag and drop between the two lists.
  19. </h4>
  20. </div>
  21. <h3>Beasts</h3>
  22. <p>Left column of beasts is not draggable and accepts both beasts and priests</p>
  23. <hr>
  24. <div class="row" ng-controller="MainCtrl">
  25. <div class="col-xs-6">
  26. <ul ui-on-drop="onDrop($event,$data,men)" drag-enter-class="on-drag-enter-custom"
  27. drop-channel="beasts,priests"
  28. drop-validate="dropValidateHandler($drop, $event, $data)">
  29. <li ui-draggable="false" drag="man" drag-channel="beasts"
  30. on-drop-success="dropSuccessHandler($event,$index,men)"
  31. ng-repeat="man in men track by $index">
  32. {{man}}
  33. </li>
  34. </ul>
  35. </div>
  36. <div class="col-xs-6">
  37. <ul ui-on-drop="onDrop($event,$data,women)"
  38. drop-channel="beasts"
  39. drop-validate="dropValidateHandler($drop, $event, $data)">
  40. <li ui-draggable="true" drag="woman" drag-channel="beasts"
  41. on-drop-success="dropSuccessHandler($event,$index,women)"
  42. on-drop-failure="dropFailureHandler($event,$index,women)"
  43. ng-repeat="woman in women track by $index">
  44. {{woman}}
  45. </li>
  46. </ul>
  47. </div>
  48. </div>
  49. <hr>
  50. <h3>Priests</h3>
  51. <hr>
  52. <div class="row" ng-controller="MainCtrl">
  53. <div class="col-xs-6">
  54. <ul ui-on-drop="onDrop($event,$data,men)"
  55. drop-channel="priests"
  56. drop-validate="dropValidateHandler($drop, $event, $data)">
  57. <li ui-draggable="true" drag="man"
  58. drag-channel="priests"
  59. on-drop-success="dropSuccessHandler($event,$index,men)"
  60. ng-repeat="man in men track by $index">
  61. {{man}}
  62. </li>
  63. </ul>
  64. </div>
  65. <div class="col-xs-6">
  66. <ul ui-on-drop="onDrop($event,$data,women)"
  67. drop-channel="priests"
  68. drop-validate="dropValidateHandler($drop, $event, $data)">
  69. <li ui-draggable="true" drag="woman"
  70. drag-channel="priests"
  71. on-drop-success="dropSuccessHandler($event,$index,women)"
  72. ng-repeat="woman in women track by $index">
  73. {{woman}}
  74. </li>
  75. </ul>
  76. </div>
  77. </div>
  78. <hr>
  79. <h3>Terrorists</h3>
  80. <p>Each terrorist list item accepts a new terrorist. Shows inserting into a particular
  81. position in an array.</p>
  82. <hr>
  83. <div class="row" ng-controller="MainCtrl">
  84. <div class="col-xs-6">
  85. <ul>
  86. <li ui-draggable="true" drag="man"
  87. drag-channel="terrorists2"
  88. drop-validate="dropValidateHandler($drop, $event, $data)"
  89. drag-hover-class="on-drag-hover-custom"
  90. on-drop-success="dropSuccessHandler($event,$index,men)"
  91. ui-on-drop="onDrop($event,$data,men,$index)" drop-channel="terrorists1"
  92. ng-repeat="man in men track by $index">
  93. {{man}}
  94. </li>
  95. </ul>
  96. </div>
  97. <div class="col-xs-6">
  98. <ul>
  99. <li ui-draggable="true" drag="woman"
  100. drag-channel="terrorists1"
  101. drop-validate="dropValidateHandler($drop, $event, $data)"
  102. drag-hover-class="on-drag-hover-custom"
  103. ui-on-drop="onDrop($event,$data,women,$index)" drop-channel="terrorists2"
  104. on-drop-success="dropSuccessHandler($event,$index,women)"
  105. ng-repeat="woman in women track by $index">
  106. {{woman}}
  107. </li>
  108. </ul>
  109. </div>
  110. </div>
  111. <hr>
  112. <h3>Custom Drag Image</h3>
  113. <p>You may specify a drag-image-element-id to use as the drag image. You can use the
  114. <a href="http://www.kryogenix.org/code/browser/custom-drag-image.html" target="_blank">ghost image</a>
  115. technique for the custom drag image.</p>
  116. <hr>
  117. <div class="row" ng-controller="MainCtrl">
  118. <div class="col-xs-6">
  119. <ul>
  120. <li ui-draggable="true" drag="man"
  121. drag-channel="customImage2"
  122. drop-validate="dropValidateHandler($drop, $event, $data)"
  123. drag-hover-class="on-drag-hover-custom"
  124. drag-image-element-id="getCustomDragElementId($index)"
  125. on-drop-success="dropSuccessHandler($event,$index,men)"
  126. ui-on-drop="onDrop($event,$data,men,$index)"
  127. drop-channel="customImage1"
  128. ng-repeat="man in men track by $index">
  129. {{man}}
  130. </li>
  131. </ul>
  132. </div>
  133. <div class="col-xs-6">
  134. <ul>
  135. <li ui-draggable="true" drag="woman"
  136. drag-channel="customImage1"
  137. drop-validate="dropValidateHandler($drop, $event, $data)"
  138. drag-hover-class="on-drag-hover-custom"
  139. drag-image-element-id="getCustomDragElementId($index)"
  140. ui-on-drop="onDrop($event,$data,women,$index)"
  141. drop-channel="customImage2"
  142. on-drop-success="dropSuccessHandler($event,$index,women)"
  143. ng-repeat="woman in women track by $index">
  144. {{woman}}
  145. </li>
  146. </ul>
  147. </div>
  148. </div>
  149. <div id="customDrag0" class="alert alert-info" style="max-width: 200px">Custom drag image #1</div>
  150. <div id="customDrag1" class="alert alert-danger" style="position: absolute; top: 0; right: 0; z-index: -2; max-width: 200px">Custom drag image #2</div>
  151. <div id="coverUp" style="position: absolute; top: 0; right: 0; z-index: -1; background-color: white; width: 200px; height: 60px"></div>
  152. </div>
  153. </body>
  154. </html>