Skip to content

Commit 5a89df4

Browse files
committed
feat(sideMenu): Added directive for simple toggling
1 parent 1dd7675 commit 5a89df4

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

js/ext/angular/src/directive/ionicSideMenu.js

+38
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,44 @@ angular.module('ionic.ui.sideMenu', ['ionic.service.gesture', 'ionic.service.vie
355355
};
356356
})
357357

358+
/**
359+
* @ngdoc directive
360+
* @name menuToggle
361+
* @module ionic
362+
* @restrict AC
363+
*
364+
* @description
365+
* Toggle a side menu on the given side
366+
*
367+
* @usage
368+
* Below is an example of a link within a nav bar. Tapping this link would
369+
* automatically open the given side menu
370+
*
371+
* ```html
372+
* <ion-view>
373+
* <ion-nav-buttons side="left">
374+
* <button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
375+
* </ion-nav-buttons>
376+
* ...
377+
* </ion-view>
378+
* ```
379+
*/
380+
.directive('menuToggle', ['$ionicViewService', function($ionicViewService) {
381+
return {
382+
restrict: 'AC',
383+
require: '^ionSideMenus',
384+
link: function($scope, $element, $attr, sideMenuCtrl) {
385+
var side = $scope.$eval($attr.menuToggle) || 'left';
386+
$element.bind('click', function(){
387+
if(side === 'left') {
388+
sideMenuCtrl.toggleLeft();
389+
} else if(side === 'right') {
390+
sideMenuCtrl.toggleRight();
391+
}
392+
});
393+
}
394+
};
395+
}])
358396

359397
/**
360398
* @ngdoc directive

0 commit comments

Comments
 (0)