diff --git a/website/client-old/js/controllers/chatCtrl.js b/website/client-old/js/controllers/chatCtrl.js index 2b00db23dc..f065566c62 100644 --- a/website/client-old/js/controllers/chatCtrl.js +++ b/website/client-old/js/controllers/chatCtrl.js @@ -60,6 +60,12 @@ habitrpg.controller('ChatCtrl', ['$scope', 'Groups', 'Chat', 'User', '$http', 'A }); } + $scope.keyDownListener = function (e) { + if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) { + $scope.postChat($scope.group, $scope.message.content); + } + }; + $scope.deleteChatMessage = function(group, message){ if(message.uuid === User.user.id || (User.user.backer && User.user.contributor.admin)){ var previousMsg = (group.chat && group.chat[0]) ? group.chat[0].id : false; diff --git a/website/client-old/js/controllers/memberModalCtrl.js b/website/client-old/js/controllers/memberModalCtrl.js index 9196b4b895..33ac854ba1 100644 --- a/website/client-old/js/controllers/memberModalCtrl.js +++ b/website/client-old/js/controllers/memberModalCtrl.js @@ -20,6 +20,12 @@ habitrpg } }); + $scope.keyDownListener = function (e) { + if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) { + $scope.sendPrivateMessage($scope.profile._id, $scope._message); + } + }; + $scope.sendPrivateMessage = function(uuid, message){ if (!message) return; diff --git a/website/views/options/social/chat-box.jade b/website/views/options/social/chat-box.jade index bea30edbca..4b79a0ad55 100644 --- a/website/views/options/social/chat-box.jade +++ b/website/views/options/social/chat-box.jade @@ -8,7 +8,7 @@ div.chat-form.guidelines-not-accepted(ng-if='!user.flags.communityGuidelinesAcce form.chat-form(ng-if='user.flags.communityGuidelinesAccepted' ng-submit='postChat(group,message.content)') div(ng-controller='AutocompleteCtrl') - textarea.form-control(rows=4, ui-keydown='{"meta-enter":"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == TAVERN_ID ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}", ng-disabled='_sending == true') + textarea.form-control(rows=4, ng-keydown='keyDownListener($event)', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete placeholder="{{group._id == TAVERN_ID ? env.t('tavernCommunityGuidelinesPlaceholder') : ''}}", ng-disabled='_sending == true') span.user-list ul.list-at-user(ng-show="query") li(ng-repeat='msg in response | filter:filterUser | limitTo: 5', ng-click='performCompletion(msg)') diff --git a/website/views/shared/modals/members.jade b/website/views/shared/modals/members.jade index b10aae3bd1..4fee430bd4 100644 --- a/website/views/shared/modals/members.jade +++ b/website/views/shared/modals/members.jade @@ -47,7 +47,7 @@ script(type='text/ng-template', id='modals/private-message.html') .modal-header h4=env.t('pmHeading', {name: "{{profile.profile.name}}"}) .modal-body - textarea.form-control(type='text',rows='5',ui-keydown='{"meta-enter":"sendPrivateMessage(profile._id, _message)"}',placeholder=env.t('needsTextPlaceholder'),ng-model='_message', focus-element='true') + textarea.form-control(type='text',rows='5',ng-keydown='keyDownListener($event)',placeholder=env.t('needsTextPlaceholder'),ng-model='_message', focus-element='true') include ../formatting-help .modal-footer //- Due to a quirk in Bootstrap UI, we need to wrap this so the tooltip can