Merge branch 'chat_match_users' into autocomplete_unit_tests

This commit is contained in:
Joy Clark
2015-04-27 22:50:30 +02:00
3 changed files with 16 additions and 11 deletions

View File

@@ -137,23 +137,28 @@ describe("Autocomplete controller", function() {
}) })
describe("filterUser", function() { describe("filterUser", function() {
it('filters with undefined query (not loaded yet) and defaults to true', function() { it('filters with undefined query (not loaded yet) and returns false (so it will not be rendered)', function() {
expect(scope.filterUser({user: "boo"})).to.be.eq(true); expect(scope.filterUser({user: "boo"})).to.be.eq(false);
}) })
it('filters with null query (no typing yet) and defaults to true', function() { it('filters with null query (no typing yet) and returns false (so it will not be rendered)', function() {
scope.query = null scope.query = null
expect(scope.filterUser({user: "boo"})).to.be.ok expect(scope.filterUser({user: "boo"})).to.be.eq(false);
})
it('filters with empty prefix and returns true', function() {
scope.query = {text: ""}
expect(scope.filterUser({user: "prefix"})).to.be.eq(true);
}) })
it('filters with prefix element and returns true', function() { it('filters with prefix element and returns true', function() {
scope.query = {text: "pre"} scope.query = {text: "pre"}
expect(scope.filterUser({user: "prefix"})).to.be.ok expect(scope.filterUser({user: "prefix"})).to.be.eq(true);
}) })
it('filters with nonprefix element and returns false', function() { it('filters with nonprefix element and returns false', function() {
scope.query = {text: "noprefix"} scope.query = {text: "noprefix"}
expect(scope.filterUser({user: "prefix"})).to.not.be.ok expect(scope.filterUser({user: "prefix"})).to.be.eq(false);
}) })
}); });
}); });

View File

@@ -220,11 +220,11 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Shared', 'Groups', '
$scope.usernames = []; $scope.usernames = [];
} }
$scope.filterUser = function(userItem) { $scope.filterUser = function(msg) {
if ($scope.query === undefined || $scope.query === null) { if ($scope.query === undefined || $scope.query === null) {
return true; return false;
} }
return userItem.user.indexOf($scope.query.text) == 0; // query should be prefix of item.user return msg.user.indexOf($scope.query.text) == 0; // query should be prefix of item.user
} }
$scope.addNewUser = function(user) { $scope.addNewUser = function(user) {

View File

@@ -15,8 +15,8 @@ form.chat-form(ng-if='user.flags.communityGuidelinesAccepted' ng-submit='postCha
textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == 'habitrpg' ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}") textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == 'habitrpg' ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}")
span.user-list(ng-show='!isAtListHidden') span.user-list(ng-show='!isAtListHidden')
ul.list-at-user ul.list-at-user
li(ng-repeat='user in response | filter:filterUser | limitTo: 5', ng-click='autoComplete(user)') li(ng-repeat='msg in response | filter:filterUser | limitTo: 5', ng-click='autoComplete(msg)')
span.username.label.label-default(ng-class=':: userLevelStyle(user)') {{::user.user}} span.username.label.label-default(ng-class=':: userLevelStyle(msg)') {{::msg.user}}
.chat-controls .chat-controls
.chat-formatting .chat-formatting
include ../../shared/formatting-help include ../../shared/formatting-help