mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
BREAKING CHANGE: All directives are now prefixed with `ion-`.
For any directive you use, add the ionic prefix.
For example, change this HTML:
```html
<tabs>
<tab title="home" href="/tab/home">
<content>Hello!</content>
</tab>
</tabs>
```
To this HTML:
```
<ion-tabs>
<ion-tab title="home" href="/tab/home">
<ion-content>Hello!</ion-content>
</ion-tab>
</ion-tabs>
```
53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
(function() {
|
|
'use strict';
|
|
|
|
angular.module('ionic.ui.actionSheet', [])
|
|
|
|
.directive('ionActionSheet', ['$document', function($document) {
|
|
return {
|
|
restrict: 'E',
|
|
scope: true,
|
|
replace: true,
|
|
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() {
|
|
$element.remove();
|
|
$document.unbind('keyup', keyUp);
|
|
});
|
|
|
|
$document.bind('keyup', keyUp);
|
|
$element.bind('click', backdropClick);
|
|
},
|
|
template: '<div class="action-sheet-backdrop">' +
|
|
'<div class="action-sheet-wrapper action-sheet-up">' +
|
|
'<div class="action-sheet">' +
|
|
'<div class="action-sheet-group">' +
|
|
'<div class="action-sheet-title" ng-if="titleText">{{titleText}}</div>' +
|
|
'<button class="button" ng-click="buttonClicked($index)" ng-repeat="button in buttons">{{button.text}}</button>' +
|
|
'</div>' +
|
|
'<div class="action-sheet-group" ng-if="destructiveText">' +
|
|
'<button class="button destructive" ng-click="destructiveButtonClicked()">{{destructiveText}}</button>' +
|
|
'</div>' +
|
|
'<div class="action-sheet-group" ng-if="cancelText">' +
|
|
'<button class="button" ng-click="cancel()">{{cancelText}}</button>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>'
|
|
};
|
|
}]);
|
|
|
|
})();
|