Guest User

Untitled

a guest
Oct 17th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. MR.TopicsLinkView = Em.View.extend({
  2. topic: null,
  3. tagName: 'li',
  4. classNames: 'topic link',
  5. templateName: 'ember/templates/topics/link',
  6. contextBinding: 'topic',
  7.  
  8. didInsertElement: function() {
  9. this._bindDrag();
  10. this._bindDrop();
  11. },
  12.  
  13. _bindDrag: function() {
  14. var $view = this.$();
  15.  
  16. $view.draggable({
  17. helper: function() {
  18. return $view.emberClone();
  19. },
  20. scope: 'reorder-topics'
  21. });
  22.  
  23. $view.bind('dragstart', $.callbackArgs(this._onDragStart, this));
  24. },
  25.  
  26. _bindDrop: function() {
  27. var $view = this.$();
  28.  
  29. $view.droppable({
  30. scope: 'reorder-topics',
  31. greedy: true,
  32. activeClass: 'drag-active',
  33. hoverClass: 'drag-hover'
  34. });
  35.  
  36. $view.bind('drop', $.callbackArgs(this._onDrop, this));
  37. },
  38.  
  39. _onDragStart: function(event, ui, view) {
  40. var controller, topic;
  41.  
  42. controller = view.get('controller');
  43. topic = view.get('topic');
  44.  
  45. controller.setDraggingTopic(topic);
  46. },
  47.  
  48. _onDrop: function(event, ui, view) {
  49. var controller, topicBefore;
  50.  
  51. controller = view.get('controller');
  52. topicBefore = view.get('topic');
  53.  
  54. controller.saveDraggingAfter(topicBefore);
  55. }
  56. });
Add Comment
Please, Sign In to add comment