diff --git a/test/spec/controllers/inventoryCtrlSpec.js b/test/spec/controllers/inventoryCtrlSpec.js index d41a8708f6..3b2fd4a96c 100644 --- a/test/spec/controllers/inventoryCtrlSpec.js +++ b/test/spec/controllers/inventoryCtrlSpec.js @@ -89,4 +89,27 @@ describe('Inventory Controller', function() { expect(user.balance).to.eql(3.25); expect(user.items.eggs).to.eql({Cactus: 1, Wolf: 1}) })); + + describe('Deselecting Items', function() { + + it('deselects a food', function(){ + scope.chooseFood('Meat'); + scope.deselectItem(); + expect(scope.selectedFood).to.eql(null); + }); + + it('deselects a potion', function(){ + scope.choosePotion('Base'); + scope.deselectItem(); + expect(scope.selectedPotion).to.eql(null); + }); + + it('deselects a egg', function(){ + scope.chooseEgg('Cactus'); + scope.deselectItem(); + expect(scope.selectedEgg).to.eql(null); + }); + + }); + }); diff --git a/website/public/js/controllers/inventoryCtrl.js b/website/public/js/controllers/inventoryCtrl.js index 4bc97cbc42..5c9a320910 100644 --- a/website/public/js/controllers/inventoryCtrl.js +++ b/website/public/js/controllers/inventoryCtrl.js @@ -211,5 +211,25 @@ habitrpg.controller("InventoryCtrl", break; } }; + + $scope.$on("habit:keyup", function (e, keyEvent) { + if (keyEvent.keyCode == "27") { + $scope.deselectItem(); + } + }); + //$scope.listen(keyEvent) + + $scope.deselectItem = function() { + if ($scope.selectedFood) { + $scope.selectedFood = null; + } + if ($scope.selectedPotion) { + $scope.selectedPotion = null + } + if ($scope.selectedEgg) { + $scope.selectedEgg = null; + } + } + } ]); diff --git a/website/views/index.jade b/website/views/index.jade index aea8510fa8..01cd15751b 100644 --- a/website/views/index.jade +++ b/website/views/index.jade @@ -1,6 +1,6 @@ doctype html //html(ng-app="habitrpg", ng-controller="RootCtrl", ng-class='{"applying-action":applyingAction}', ui-keypress="{27:'castCancel()'}") -html(ng-app="habitrpg", ng-controller="RootCtrl", ng-class='{"applying-action":applyingAction}', ui-keyup="{27:'castCancel()'}") +html(ng-app="habitrpg", ng-controller="RootCtrl", ng-class='{"applying-action":applyingAction}', ui-keyup="{27:'castCancel()'}", ng-keydown="$broadcast('habit:keyup', $event)") head title=env.t('titleIndex') // ?v=1 needed to force refresh