From 2f1111522c65c6ea892d559ba604cdffb31a61cd Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Fri, 12 Jun 2015 09:05:06 -0500 Subject: [PATCH] Adjust PR #5389 * Convert $watch to ng-change and re-wrote test * Removed unnecessary styles * Use .form-control instead of class='form-control' --- test/spec/filtersCtrlSpec.js | 42 ++++++++++---------- website/public/css/filters.styl | 10 +---- website/public/js/controllers/filtersCtrl.js | 8 ++-- website/views/main/filters.jade | 6 +-- 4 files changed, 29 insertions(+), 37 deletions(-) diff --git a/test/spec/filtersCtrlSpec.js b/test/spec/filtersCtrlSpec.js index b96764b0b4..bbebce3cfd 100644 --- a/test/spec/filtersCtrlSpec.js +++ b/test/spec/filtersCtrlSpec.js @@ -10,28 +10,30 @@ describe('Filters Controller', function() { $controller('FiltersCtrl', {$scope: scope, User: {user: user}}); })); - it('creates a tag', function(){ - scope._newTag = {name:'tagName'} - scope.createTag(); - expect(user.tags).to.have.length(1); - expect(user.tags[0].name).to.eql('tagName'); - expect(user.tags[0]).to.have.property('id'); + describe('tags', function(){ + it('creates a tag', function(){ + scope._newTag = {name:'tagName'} + scope.createTag(); + expect(user.tags).to.have.length(1); + expect(user.tags[0].name).to.eql('tagName'); + expect(user.tags[0]).to.have.property('id'); + }); + + it('toggles tag filtering', inject(function(Shared){ + var tag = {id: Shared.uuid(), name: 'myTag'}; + scope.toggleFilter(tag); + expect(user.filters[tag.id]).to.eql(true); + scope.toggleFilter(tag); + expect(user.filters[tag.id]).to.eql(false); + })); }); - it('toggles tag filtering', inject(function(Shared){ - var tag = {id: Shared.uuid(), name: 'myTag'}; - scope.toggleFilter(tag); - expect(user.filters[tag.id]).to.eql(true); - scope.toggleFilter(tag); - expect(user.filters[tag.id]).to.eql(false); - })); + describe('updateTaskFilter', function(){ + it('updatest user\'s filter query with the value of filterQuery', function () { + scope.filterQuery = 'task'; + scope.updateTaskFilter(); - it('updates user\'s filter query when filterQuery is changed', function () { - scope.$apply(); - - scope.filterQuery = 'foo'; - scope.$apply(); - - expect(user.filterQuery).to.eql('foo'); + expect(user.filterQuery).to.eql(scope.filterQuery); + }); }); }); diff --git a/website/public/css/filters.styl b/website/public/css/filters.styl index 96f55fb6fd..5ba86cd853 100644 --- a/website/public/css/filters.styl +++ b/website/public/css/filters.styl @@ -36,13 +36,5 @@ @extend $hrpg-button-with-input hrpg-button-color-mixin($color-options-submenu) .filters-search - float: left - margin-right: 5px margin-bottom: 0.618em - width: 180px - input - padding: 4.5px 6px !important - height: 29px !important - .input-group-addon - height: 29px !important - padding: 4.5px 10px !important + max-width: 180px diff --git a/website/public/js/controllers/filtersCtrl.js b/website/public/js/controllers/filtersCtrl.js index ccfa0bec04..3612f6b09d 100644 --- a/website/public/js/controllers/filtersCtrl.js +++ b/website/public/js/controllers/filtersCtrl.js @@ -31,11 +31,9 @@ habitrpg.controller("FiltersCtrl", ['$scope', '$rootScope', 'User', 'Shared', // User.save(); }; - $scope.$watch('filterQuery', function (newValue, oldValue) { - if (newValue !== oldValue) { - user.filterQuery = newValue; - } - }); + $scope.updateTaskFilter = function(){ + user.filterQuery = $scope.filterQuery; + }; $scope.createTag = function() { User.user.ops.addTag({body:{name:$scope._newTag.name, id:Shared.uuid()}}); diff --git a/website/views/main/filters.jade b/website/views/main/filters.jade index 74032c4966..b72d424364 100644 --- a/website/views/main/filters.jade +++ b/website/views/main/filters.jade @@ -2,9 +2,9 @@ .row .filters(ng-controller='FiltersCtrl') .input-group.input-group-sm.filters-search.pull-right - input(type='text', class='form-control', placeholder=env.t('search'), ng-model='filterQuery') - .input-group-addon - .glyphicon.glyphicon-search + input.form-control(type='text', placeholder=env.t('search'), ng-model='filterQuery', ng-change='updateTaskFilter()', ng-model-options='{ debounce: 250 }') + .input-group-addon + .glyphicon.glyphicon-search ul.filters-controls li=env.t('tags') //- Edit button