@@ -43,12 +43,12 @@ var jqyoui = angular.module('ngDragDrop', []).service('ngDragDropService', ['$ti
43
43
callback = objExtract . callback ,
44
44
constructor = objExtract . constructor ,
45
45
args = [ event , ui ] . concat ( objExtract . args ) ;
46
-
46
+
47
47
// call either $scoped method i.e. $scope.dropCallback or constructor's method i.e. this.dropCallback.
48
48
// Removing scope.$apply call that was performance intensive (especially onDrag) and does not require it
49
49
// always. So call it within the callback if needed.
50
50
return ( scope [ callback ] || scope [ constructor ] [ callback ] ) . apply ( scope [ callback ] ? scope : scope [ constructor ] , args ) ;
51
-
51
+
52
52
function extract ( callbackName ) {
53
53
var atStartBracket = callbackName . indexOf ( '(' ) !== - 1 ? callbackName . indexOf ( '(' ) : callbackName . length ,
54
54
atEndBracket = callbackName . lastIndexOf ( ')' ) !== - 1 ? callbackName . lastIndexOf ( ')' ) : callbackName . length ,
@@ -195,7 +195,7 @@ var jqyoui = angular.module('ngDragDrop', []).service('ngDragDropService', ['$ti
195
195
toPos . top += $toEl . outerHeight ( true ) ;
196
196
}
197
197
} else {
198
- // Angular v1.2 uses ng-hide to hide an element
198
+ // Angular v1.2 uses ng-hide to hide an element
199
199
// so we've to remove it in order to grab its position
200
200
if ( hadNgHideCls ) $toEl . removeClass ( 'ng-hide' ) ;
201
201
if ( hadDNDHideCls ) $toEl . removeClass ( 'angular-dragdrop-hide' ) ;
@@ -328,12 +328,7 @@ var jqyoui = angular.module('ngDragDrop', []).service('ngDragDropService', ['$ti
328
328
}
329
329
} ) ;
330
330
} else {
331
- element . draggable ( { disabled : true } ) ;
332
- }
333
-
334
- if ( killWatcher && angular . isDefined ( newValue ) && ( angular . equals ( attrs . drag , 'true' ) || angular . equals ( attrs . drag , 'false' ) ) ) {
335
- killWatcher ( ) ;
336
- killWatcher = null ;
331
+ dragSettings = scope . $eval ( element . attr ( 'jqyoui-draggable' ) || element . attr ( 'data-jqyoui-draggable' ) ) || { } ; jqyouiOptions = scope . $eval ( attrs . jqyouiOptions ) || { } ; element . draggable ( { disabled : true } ) . draggable ( jqyouiOptions ) ;
337
332
}
338
333
} ;
339
334
@@ -392,18 +387,13 @@ var jqyoui = angular.module('ngDragDrop', []).service('ngDragDropService', ['$ti
392
387
}
393
388
} ) ;
394
389
} else {
395
- element . droppable ( { disabled : true } ) ;
396
- }
397
-
398
- if ( killWatcher && angular . isDefined ( newValue ) && ( angular . equals ( attrs . drop , 'true' ) || angular . equals ( attrs . drop , 'false' ) ) ) {
399
- killWatcher ( ) ;
400
- killWatcher = null ;
390
+ dropSettings = scope . $eval ( $ ( element ) . attr ( 'jqyoui-droppable' ) || $ ( element ) . attr ( 'data-jqyoui-droppable' ) ) || { } ; jqyouiOptions = scope . $eval ( attrs . jqyouiOptions ) || { } ; element . droppable ( { disabled : true } ) . droppable ( jqyouiOptions ) ;
401
391
}
402
392
} ;
403
393
404
394
killWatcher = scope . $watch ( function ( ) { return scope . $eval ( attrs . drop ) ; } , updateDroppable ) ;
405
395
updateDroppable ( ) ;
406
-
396
+
407
397
element . on ( '$destroy' , function ( ) {
408
398
element . droppable ( { disabled : true } ) . droppable ( 'destroy' ) ;
409
399
} ) ;
0 commit comments