Browse Source

Use isolated scope with two-way binding in ng-sortable

pull/364/head
ha-D 10 years ago
parent
commit
1ab661f10e
  1. 8
      ng-sortable.js

8
ng-sortable.js

@ -64,10 +64,10 @@
// Export // Export
return { return {
restrict: 'AC', restrict: 'AC',
scope: { ngSortable: "=?" },
link: function (scope, $el, attrs) { link: function (scope, $el, attrs) {
var el = $el[0], var el = $el[0],
ngSortable = attrs.ngSortable, options = scope.ngSortable || {},
options = scope.$eval(ngSortable) || {},
source = getSource(el), source = getSource(el),
watchers = [], watchers = [],
sortable sortable
@ -164,12 +164,11 @@
nextSibling = null; nextSibling = null;
}); });
if (ngSortable && !/{|}/.test(ngSortable)) { // todo: ugly
angular.forEach([ angular.forEach([
'sort', 'disabled', 'draggable', 'handle', 'animation', 'sort', 'disabled', 'draggable', 'handle', 'animation',
'onStart', 'onEnd', 'onAdd', 'onUpdate', 'onRemove', 'onSort' 'onStart', 'onEnd', 'onAdd', 'onUpdate', 'onRemove', 'onSort'
], function (name) { ], function (name) {
watchers.push(scope.$watch(ngSortable + '.' + name, function (value) { watchers.push(scope.$watch('ngSortable.' + name, function (value) {
if (value !== void 0) { if (value !== void 0) {
options[name] = value; options[name] = value;
@ -180,7 +179,6 @@
})); }));
}); });
} }
}
}; };
}]); }]);
}); });

Loading…
Cancel
Save