From 5ee39058d2afc227247b452f92bf1b641dfbe240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elodie=20Pr=C3=A9v=C3=B4t?= Date: Tue, 7 Jun 2016 12:25:29 +0200 Subject: [PATCH] fixes #214 --- angular-drag-and-drop-lists.js | 15 +++++++++++++-- angular-drag-and-drop-lists.min.js | 4 ++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/angular-drag-and-drop-lists.js b/angular-drag-and-drop-lists.js index 4a1f2ec..19b7c36 100644 --- a/angular-drag-and-drop-lists.js +++ b/angular-drag-and-drop-lists.js @@ -562,12 +562,23 @@ angular.module('dndLists', []) * the CSS selector .dndDragging:not(.dndDraggingSource) [dnd-handle] for that. */ .directive('dndHandle', function() { + function findDraggableParent(element) { + parent = element.parent(); + if(parent.attr('dnd-draggable')) { + return parent; + } + return findDraggableParent(parent); + } + return function(scope, element, attr) { element.attr("draggable", "true"); element.on('dragstart dragend', function(event) { - event = event.originalEvent || event; - event._dndHandle = true; + parent = findDraggableParent(element); + if(parent.attr('draggable') == 'true') { + event = event.originalEvent || event; + event._dndHandle = true; + } }); }; }) diff --git a/angular-drag-and-drop-lists.min.js b/angular-drag-and-drop-lists.min.js index 3532582..3795f4c 100644 --- a/angular-drag-and-drop-lists.min.js +++ b/angular-drag-and-drop-lists.min.js @@ -19,7 +19,7 @@ return angular.forEach(d.children(),function(n){var r=angular.element(n) r.hasClass("dndPlaceholder")&&(e=r)}),e||angular.element("
  • ")}function l(){return Array.prototype.indexOf.call(D.children,v)}function g(e){if(!t.isDragging&&!y)return!1 if(!c(e.dataTransfer.types))return!1 if(o.dndAllowedTypes&&t.isDragging){var n=a.$eval(o.dndAllowedTypes) -if(angular.isArray(n)&&-1===n.indexOf(t.dragType))return!1}return o.dndDisableIf&&a.$eval(o.dndDisableIf)?!1:!0}function s(){return p.remove(),d.removeClass("dndDragover"),!0}function u(n,r,d,o){return e(n)(a,{event:r,index:d,item:o||void 0,external:!t.isDragging,type:t.isDragging?t.dragType:void 0})}function c(e){if(!e)return!0 +if(angular.isArray(n)&&-1===n.indexOf(t.dragType))return!1}return!o.dndDisableIf||!a.$eval(o.dndDisableIf)}function s(){return p.remove(),d.removeClass("dndDragover"),!0}function u(n,r,d,o){return e(n)(a,{event:r,index:d,item:o||void 0,external:!t.isDragging,type:t.isDragging?t.dragType:void 0})}function c(e){if(!e)return!0 for(var n=0;n