From df84cf835049ca1262fc62e9e85fba6cce73025d Mon Sep 17 00:00:00 2001 From: MLancaster Date: Tue, 22 Sep 2015 16:48:44 -0500 Subject: [PATCH] add shortcuts to lock, repeat, shuffle, Queue. closes #362 --- app/public/js/player/playerCtrl.js | 50 ++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/app/public/js/player/playerCtrl.js b/app/public/js/player/playerCtrl.js index 27e146b6..6baec249 100644 --- a/app/public/js/player/playerCtrl.js +++ b/app/public/js/player/playerCtrl.js @@ -61,19 +61,19 @@ app.controller('PlayerCtrl', function ($scope, $rootScope, playerService, hotkey }; $scope.lock = function($event) { - $event.currentTarget.classList.toggle('active'); + var elButton = document.querySelector('.player_lock'); + elButton.classList.toggle('active'); if ( $rootScope.lock ) { $rootScope.lock = false; } else { $rootScope.lock = true; } - - $log.log('lock end', $rootScope.lock); }; $scope.repeat = function($event) { - $event.currentTarget.classList.toggle('active'); + var elButton = document.querySelector('.player_repeat'); + elButton.classList.toggle('active'); if ( $rootScope.repeat ) { $rootScope.repeat = false; @@ -83,7 +83,8 @@ app.controller('PlayerCtrl', function ($scope, $rootScope, playerService, hotkey }; $scope.shuffle = function($event) { - $event.currentTarget.classList.toggle('active'); + var elButton = document.querySelector('.player_shuffle'); + elButton.classList.toggle('active'); if ( $rootScope.shuffle ) { $rootScope.shuffle = false; @@ -93,7 +94,8 @@ app.controller('PlayerCtrl', function ($scope, $rootScope, playerService, hotkey }; $scope.toggleQueue = function($event) { - $event.currentTarget.classList.toggle('active'); + var elButton = document.querySelector('.player_queueList'); + elButton.classList.toggle('active'); document.querySelector('.queueList').classList.toggle('active'); }; @@ -230,5 +232,41 @@ app.controller('PlayerCtrl', function ($scope, $rootScope, playerService, hotkey } }); + hotkeys.add({ + combo: ['shift+q'], + description: 'Toggle Queue', + callback: function(e) { + e.preventDefault(); + $scope.toggleQueue() + } + }); + + hotkeys.add({ + combo: ['shift+r'], + description: 'Toggle repeat on/off', + callback: function(e) { + e.preventDefault(); + $scope.repeat() + } + }); + + hotkeys.add({ + combo: ['shift+s'], + description: 'Toggle shuffle on/off', + callback: function(e) { + e.preventDefault(); + $scope.shuffle() + } + }); + + hotkeys.add({ + combo: ['shift+l'], + description: 'Toggle lock on/off', + callback: function(e) { + e.preventDefault(); + $scope.lock() + } + }); + });