diff --git a/dist/js/ionic-angular.js b/dist/js/ionic-angular.js index 5d8f9255fd..8371da0510 100644 --- a/dist/js/ionic-angular.js +++ b/dist/js/ionic-angular.js @@ -234,10 +234,11 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate']) require: '^list', replace: true, transclude: true, + scope: true, scope: { + item: '=', onSelect: '&', onDelete: '&', - onButtonClicked: '&', canDelete: '@', canReorder: '@', canSwipe: '@', @@ -250,10 +251,10 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate'])
\
\
\ - \ + \
\
\ - \ + \
\ ', link: function($scope, $element, $attr, list) { @@ -261,6 +262,10 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate']) $scope.deleteIcon = list.scope.deleteIcon; $scope.reorderIcon = list.scope.reorderIcon; + $scope.buttonClicked = function(button) { + button.onButtonClicked && button.onButtonClicked($scope.item, button); + }; + list.scope.$watch('isEditing', function(v) { $scope.isEditing = v; }); diff --git a/js/ext/angular/src/directive/ionicList.js b/js/ext/angular/src/directive/ionicList.js index e6502deb33..df9e8ca77e 100644 --- a/js/ext/angular/src/directive/ionicList.js +++ b/js/ext/angular/src/directive/ionicList.js @@ -6,10 +6,11 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate']) require: '^list', replace: true, transclude: true, + scope: true, scope: { + item: '=', onSelect: '&', onDelete: '&', - onButtonClicked: '&', canDelete: '@', canReorder: '@', canSwipe: '@', @@ -22,10 +23,10 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate'])
\
\
\ - \ + \
\
\ - \ + \
\ ', link: function($scope, $element, $attr, list) { @@ -33,6 +34,10 @@ angular.module('ionic.ui.list', ['ionic.service', 'ngAnimate']) $scope.deleteIcon = list.scope.deleteIcon; $scope.reorderIcon = list.scope.reorderIcon; + $scope.buttonClicked = function(button) { + button.onButtonClicked && button.onButtonClicked($scope.item, button); + }; + list.scope.$watch('isEditing', function(v) { $scope.isEditing = v; }); diff --git a/js/ext/angular/test/tabs.html b/js/ext/angular/test/tabs.html index 32c301ee77..84779f0e6f 100644 --- a/js/ext/angular/test/tabs.html +++ b/js/ext/angular/test/tabs.html @@ -8,6 +8,44 @@ + @@ -18,14 +56,16 @@ - + + on-delete="deleteItem(item)" + ng-class="{completed: item.isCompleted}" + > {{item.title}} @@ -59,11 +99,37 @@ .controller('HomeCtrl', function($scope) { $scope.items = []; + + var removeItem = function(item, button) { + console.log('Removing item', item); + // Remove ourselves + $scope.items.splice($scope.items.indexOf(item), 1); + }; + var completeItem = function(item, button) { + // Remove ourselves + console.log('Completing item', item); + item.isCompleted = true; + }; + + $scope.removeItem = function(item) { + removeItem(item); + }; + for(var i = 0; i < 30; i++) { $scope.items.push({ - title: 'Task ' + (i + 1) + title: 'Task ' + (i + 1), + buttons: [{ + text: 'Done', + type: 'button-success', + onButtonClicked: completeItem, + }, { + text: 'Delete', + type: 'button-danger', + onButtonClicked: removeItem, + }] }); } + })