angular.module('ionic.ui', []) .controller('SideMenuCtrl', function($scope) { var _this = this; angular.extend(this, SideMenuController.prototype); SideMenuController.call(this, { }); }) .directive('sideMenuController', function() { return { restrict: 'E', controller: 'SideMenuCtrl', replace: true, transclude: true, template: '
', } }) .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', require: '^sideMenuController', replace: true, transclude: true, scope: true, template: '', compile: function(element, attr, transclude, sideMenuCtrl) { return function($scope, $element, $attr) { $scope.side = attr.side; }; } } })