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,
+ }]
});
}
+
})