(function() { "use strict"; angular .module('shared') .component('resourceMenuSelector', { templateUrl: '/shared/js/angular/file-cabinet/resource-menu-selector.html', controller: 'ResourceMenuSelector', bindings: { resource: '<', folder: '<', isGridView: '<' } }) .controller('ResourceMenuSelector', ['currentSubFolders', 'folderService', function ResourceMenuSelectorCtrl(currentSubFolders, folderService) { var ctrl = this; ctrl.pending = false; ctrl.setPopover = function (popoverCtrl) { ctrl.popoverCtrl = popoverCtrl; }; ctrl.getPopover = function () { return ctrl.popoverCtrl; }; ctrl.getResource = function () { return ctrl.resource; }; ctrl.closePopover = function () { if (ctrl.popoverCtrl) { ctrl.popoverCtrl.close(); } }; ctrl.getAriaExpanded = function() { return ctrl.popoverCtrl.is_open ? 'true' : 'false'; }; ctrl.keyDown = function(event) { var keyboardKeys = { enter: 13, space: 32, down: 40 }; if (event.keyCode != keyboardKeys.enter && event.keyCode != keyboardKeys.space && event.keyCode != keyboardKeys.down) { return; } event.preventDefault(); if (ctrl.popoverCtrl) { ctrl.popoverCtrl.open(); } var element = $j(event.currentTarget); element.attr('aria-expanded','true'); }; ctrl.hamburgerMenuClassName = function() { return 'js-hamburger-menu-r-' + ctrl.resource.id; } }]); }());