From 5a89df43363b1ea88bff25c73f019462c964fa7d Mon Sep 17 00:00:00 2001 From: Max Lynch Date: Mon, 24 Mar 2014 18:30:10 -0500 Subject: [PATCH] feat(sideMenu): Added directive for simple toggling --- js/ext/angular/src/directive/ionicSideMenu.js | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/js/ext/angular/src/directive/ionicSideMenu.js b/js/ext/angular/src/directive/ionicSideMenu.js index e1c51b62d3..0c09761586 100644 --- a/js/ext/angular/src/directive/ionicSideMenu.js +++ b/js/ext/angular/src/directive/ionicSideMenu.js @@ -355,6 +355,44 @@ angular.module('ionic.ui.sideMenu', ['ionic.service.gesture', 'ionic.service.vie }; }) +/** + * @ngdoc directive + * @name menuToggle + * @module ionic + * @restrict AC + * + * @description + * Toggle a side menu on the given side + * + * @usage + * Below is an example of a link within a nav bar. Tapping this link would + * automatically open the given side menu + * + * ```html + * + * + * + * + * ... + * + * ``` + */ +.directive('menuToggle', ['$ionicViewService', function($ionicViewService) { + return { + restrict: 'AC', + require: '^ionSideMenus', + link: function($scope, $element, $attr, sideMenuCtrl) { + var side = $scope.$eval($attr.menuToggle) || 'left'; + $element.bind('click', function(){ + if(side === 'left') { + sideMenuCtrl.toggleLeft(); + } else if(side === 'right') { + sideMenuCtrl.toggleRight(); + } + }); + } + }; +}]) /** * @ngdoc directive