angular.module('app.yangman').controller('ParamsAdminCtrl', ParamsAdminCtrl);
- ParamsAdminCtrl.$inject = ['$mdDialog', '$scope', '$timeout', 'YangmanService', 'YMHandleFileService', 'parametersList'];
+ ParamsAdminCtrl.$inject = ['$mdMenu', '$mdDialog', '$scope', '$timeout', 'YangmanService', 'YMHandleFileService', 'parametersList'];
- function ParamsAdminCtrl($mdDialog, $scope, $timeout, YangmanService, YMHandleFileService, parametersList) {
- var vm = this;
+ function ParamsAdminCtrl($mdMenu, $mdDialog, $scope, $timeout, YangmanService, YMHandleFileService, parametersList) {
+ var openMenuListener,
+ vm = this;
vm.parametersList = parametersList;
vm.search = '';
function init(){
vm.parametersList.loadListFromStorage();
createEmptyParam();
+ openMenuListener = $scope.$on('$mdMenuOpen', function () {
+ closeOpenedMenu();
+ $timeout(registerClickOutside);
+ });
}
/**
init();
}
+ function registerClickOutside() {
+ $(document).click(function () {
+ closeOpenedMenu();
+ });
+ }
+
+ function unregisterClickOutside() {
+ $(document).off('click');
+ }
+
+ function openMenuDestroyListener() {
+ $scope.$on('$destroy', function () {
+ openMenuListener();
+ });
+ }
+
+ function closeOpenedMenu() {
+ unregisterClickOutside();
+ openMenuDestroyListener();
+ $mdMenu.hide();
+ }
+
+
}