mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-06 22:29:44 +08:00
More side menu angular stuff
This commit is contained in:
@ -15,12 +15,15 @@
|
||||
<body>
|
||||
|
||||
<side-menu-controller>
|
||||
<content has-header="true">
|
||||
<div class="full-section" side-menu-content>
|
||||
<header class="bar bar-header bar-dark">
|
||||
<a href="#" class="button"><i class="icon-reorder"></i></a>
|
||||
<h1 class="title">Slide me</h1>
|
||||
</header>
|
||||
</content>
|
||||
<div class="content has-header">
|
||||
<h1>Slide me side to side!</h1>
|
||||
</div>
|
||||
</div>
|
||||
<menu side="left">
|
||||
<h2>Left</h2>
|
||||
</menu>
|
||||
@ -28,6 +31,8 @@
|
||||
<h2>Right</h2>
|
||||
</menu>
|
||||
</side-menu-controller>
|
||||
<script src="../../js/ionic-events.js"></script>
|
||||
<script src="../../js/ionic-gestures.js"></script>
|
||||
<script src="SideMenuController.js"></script>
|
||||
<script src="SideMenuAngular.js"></script>
|
||||
<script>
|
||||
|
||||
@ -1,21 +1,12 @@
|
||||
angular.module('ionic.ui', ['ngTouch'])
|
||||
|
||||
.directive('content', function() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
replace: true,
|
||||
transclude: true,
|
||||
scope: true,
|
||||
template: '<div class="full-section menu-animated" ng-class="{\'has-header\': hasHeader, \'has-tabs\': hasTabs}" ng-transclude></div>',
|
||||
compile: function(element, attr, transclude, navCtrl) {
|
||||
return function($scope, $element, $attr) {
|
||||
$scope.hasHeader = attr.hasHeader;
|
||||
};
|
||||
}
|
||||
}
|
||||
})
|
||||
angular.module('ionic.ui', [])
|
||||
|
||||
.controller('SideMenuCtrl', function($scope) {
|
||||
var _this = this;
|
||||
|
||||
angular.extend(this, SideMenuController.prototype);
|
||||
|
||||
SideMenuController.call(this, {
|
||||
});
|
||||
})
|
||||
|
||||
.directive('sideMenuController', function() {
|
||||
@ -28,6 +19,26 @@ angular.module('ionic.ui', ['ngTouch'])
|
||||
}
|
||||
})
|
||||
|
||||
.directive('sideMenuContent', function() {
|
||||
return {
|
||||
restrict: 'CA',
|
||||
require: '^sideMenuController',
|
||||
compile: function(element, attr, transclude, sideMenuCtrl) {
|
||||
return function($scope, $element, $attr) {
|
||||
window.ionic.onGesture('drag', function(e) {
|
||||
sideMenuCtrl._handleDrag(e);
|
||||
}, $element[0]);
|
||||
|
||||
window.ionic.onGesture('release', function(e) {
|
||||
sideMenuCtrl._endDrag(e);
|
||||
}, $element[0]);
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
.directive('menu', function() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
@ -36,7 +47,7 @@ angular.module('ionic.ui', ['ngTouch'])
|
||||
transclude: true,
|
||||
scope: true,
|
||||
template: '<div class="menu menu-{{side}}" ng-transclude></div>',
|
||||
compile: function(element, attr, transclude, navCtrl) {
|
||||
compile: function(element, attr, transclude, sideMenuCtrl) {
|
||||
return function($scope, $element, $attr) {
|
||||
$scope.side = attr.side;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user