diff --git a/dist/js/ionic-angular.js b/dist/js/ionic-angular.js index 89a6ba2e23..8b59cb3746 100644 --- a/dist/js/ionic-angular.js +++ b/dist/js/ionic-angular.js @@ -487,7 +487,7 @@ angular.module('ionic.ui.content', []) angular.module('ionic.ui.list', ['ngAnimate']) -.directive('listItem', function() { +.directive('listItem', ['$timeout', function($timeout) { return { restrict: 'E', require: ['?^list', '?^virtualList'], @@ -508,7 +508,7 @@ angular.module('ionic.ui.list', ['ngAnimate']) \
\
\ -
\ +
\ \
\ ', @@ -538,6 +538,7 @@ angular.module('ionic.ui.list', ['ngAnimate']) $scope.isEditing = false; $scope.deleteIcon = list.scope.deleteIcon; $scope.reorderIcon = list.scope.reorderIcon; + $scope.showOptions = true; $scope.buttonClicked = function(button) { button.onButtonClicked && button.onButtonClicked($scope.item, button); @@ -545,10 +546,20 @@ angular.module('ionic.ui.list', ['ngAnimate']) list.scope.$watch('isEditing', function(v) { $scope.isEditing = v; + + // Add a delay before we allow the options layer to show, to avoid any odd + // animation issues + if(!v) { + $timeout(function() { + $scope.showOptions = true; + }, 200); + } else { + $scope.showOptions = false; + } }); } }; -}) +}]) .directive('list', function() { return { diff --git a/js/ext/angular/src/directive/ionicList.js b/js/ext/angular/src/directive/ionicList.js index 0b5ebebfb8..89c804081f 100644 --- a/js/ext/angular/src/directive/ionicList.js +++ b/js/ext/angular/src/directive/ionicList.js @@ -3,7 +3,7 @@ angular.module('ionic.ui.list', ['ngAnimate']) -.directive('listItem', function() { +.directive('listItem', ['$timeout', function($timeout) { return { restrict: 'E', require: ['?^list', '?^virtualList'], @@ -24,7 +24,7 @@ angular.module('ionic.ui.list', ['ngAnimate'])
\
\
\ -
\ +
\ \
\ ', @@ -54,6 +54,7 @@ angular.module('ionic.ui.list', ['ngAnimate']) $scope.isEditing = false; $scope.deleteIcon = list.scope.deleteIcon; $scope.reorderIcon = list.scope.reorderIcon; + $scope.showOptions = true; $scope.buttonClicked = function(button) { button.onButtonClicked && button.onButtonClicked($scope.item, button); @@ -61,10 +62,20 @@ angular.module('ionic.ui.list', ['ngAnimate']) list.scope.$watch('isEditing', function(v) { $scope.isEditing = v; + + // Add a delay before we allow the options layer to show, to avoid any odd + // animation issues + if(!v) { + $timeout(function() { + $scope.showOptions = true; + }, 200); + } else { + $scope.showOptions = false; + } }); } }; -}) +}]) .directive('list', function() { return {