Added action sheet thing back

This commit is contained in:
Max Lynch
2013-11-13 10:18:34 -06:00
parent 3ba92d12b7
commit 12d461a65e
2 changed files with 62 additions and 22 deletions

View File

@ -416,26 +416,46 @@ angular.module('ionic.service.templateLoad', [])
angular.module('ionic.ui.actionSheet', []) angular.module('ionic.ui.actionSheet', [])
.directive('actionSheet', function() { .directive('actionSheet', function($document) {
return { return {
restrict: 'E', restrict: 'E',
scope: true, scope: true,
replace: true, replace: true,
link: function($scope, $element){ link: function($scope, $element){
var keyUp = function(e) {
if(e.which == 27) {
$scope.cancel();
$scope.$apply();
}
};
var backdropClick = function(e) {
if(e.target == $element[0]) {
$scope.cancel();
$scope.$apply();
}
};
$scope.$on('$destroy', function() { $scope.$on('$destroy', function() {
$element.remove(); $element.remove();
$document.unbind('keyup', keyUp);
$element.unbind('click', backdropClick);
}); });
$document.bind('keyup', keyUp);
$element.bind('click', backdropClick);
}, },
template: '<div class="action-sheet slide-in-up">' + template: '<div class="action-sheet-backdrop">' +
'<div class="action-sheet-group">' + '<div class="action-sheet action-sheet-up">' +
'<div class="action-sheet-title" ng-if="titleText">{{titleText}}</div>' + '<div class="action-sheet-group">' +
'<button class="button" ng-click="buttonClicked($index)" ng-repeat="button in buttons">{{button.text}}</button>' + '<div class="action-sheet-title" ng-if="titleText">{{titleText}}</div>' +
'</div>' + '<button class="button" ng-click="buttonClicked($index)" ng-repeat="button in buttons">{{button.text}}</button>' +
'<div class="action-sheet-group" ng-if="destructiveText">' + '</div>' +
'<button class="button destructive" ng-click="destructiveButtonClicked()">{{destructiveText}}</button>' + '<div class="action-sheet-group" ng-if="destructiveText">' +
'</div>' + '<button class="button destructive" ng-click="destructiveButtonClicked()">{{destructiveText}}</button>' +
'<div class="action-sheet-group" ng-if="cancelText">' + '</div>' +
'<button class="button" ng-click="cancel()">{{cancelText}}</button>' + '<div class="action-sheet-group" ng-if="cancelText">' +
'<button class="button" ng-click="cancel()">{{cancelText}}</button>' +
'</div>' +
'</div>' + '</div>' +
'</div>' '</div>'
}; };

View File

@ -3,26 +3,46 @@
angular.module('ionic.ui.actionSheet', []) angular.module('ionic.ui.actionSheet', [])
.directive('actionSheet', function() { .directive('actionSheet', function($document) {
return { return {
restrict: 'E', restrict: 'E',
scope: true, scope: true,
replace: true, replace: true,
link: function($scope, $element){ link: function($scope, $element){
var keyUp = function(e) {
if(e.which == 27) {
$scope.cancel();
$scope.$apply();
}
};
var backdropClick = function(e) {
if(e.target == $element[0]) {
$scope.cancel();
$scope.$apply();
}
};
$scope.$on('$destroy', function() { $scope.$on('$destroy', function() {
$element.remove(); $element.remove();
$document.unbind('keyup', keyUp);
$element.unbind('click', backdropClick);
}); });
$document.bind('keyup', keyUp);
$element.bind('click', backdropClick);
}, },
template: '<div class="action-sheet slide-in-up">' + template: '<div class="action-sheet-backdrop">' +
'<div class="action-sheet-group">' + '<div class="action-sheet action-sheet-up">' +
'<div class="action-sheet-title" ng-if="titleText">{{titleText}}</div>' + '<div class="action-sheet-group">' +
'<button class="button" ng-click="buttonClicked($index)" ng-repeat="button in buttons">{{button.text}}</button>' + '<div class="action-sheet-title" ng-if="titleText">{{titleText}}</div>' +
'</div>' + '<button class="button" ng-click="buttonClicked($index)" ng-repeat="button in buttons">{{button.text}}</button>' +
'<div class="action-sheet-group" ng-if="destructiveText">' + '</div>' +
'<button class="button destructive" ng-click="destructiveButtonClicked()">{{destructiveText}}</button>' + '<div class="action-sheet-group" ng-if="destructiveText">' +
'</div>' + '<button class="button destructive" ng-click="destructiveButtonClicked()">{{destructiveText}}</button>' +
'<div class="action-sheet-group" ng-if="cancelText">' + '</div>' +
'<button class="button" ng-click="cancel()">{{cancelText}}</button>' + '<div class="action-sheet-group" ng-if="cancelText">' +
'<button class="button" ng-click="cancel()">{{cancelText}}</button>' +
'</div>' +
'</div>' + '</div>' +
'</div>' '</div>'
}; };