From 11c8817ebdfc9be927dd137e11ef77952a4c2e8d Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 28 Jul 2017 15:09:04 +0100 Subject: [PATCH] Allow enter key to submit admin modal forms --- .../modals/admin-plugins-chat-edit-channel.js.es6 | 11 +++++++++++ .../modals/admin-plugins-chat-test.js.es6 | 13 ++++++++++++- .../modal/admin-plugins-chat-edit-channel.hbs | 2 +- .../templates/modal/admin-plugins-chat-test.hbs | 6 +----- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-channel.js.es6 b/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-channel.js.es6 index ca11b66..3098a6e 100644 --- a/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-channel.js.es6 +++ b/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-channel.js.es6 @@ -6,6 +6,16 @@ import InputValidation from 'discourse/models/input-validation'; export default Ember.Controller.extend(ModalFunctionality, { + setupKeydown: function() { + Ember.run.schedule('afterRender', () => { + $('#chat_integration_edit_channel_modal').keydown(e => { + if (e.keyCode === 13) { + this.send('save'); + } + }); + }); + }.on('init'), + // The validation property must be defined at runtime since the possible parameters vary by provider setupValidations: function(){ if(this.get('model.provider')){ @@ -79,6 +89,7 @@ export default Ember.Controller.extend(ModalFunctionality, { }, save: function(){ + if(this.get('saveDisabled')){return}; const self = this; diff --git a/assets/javascripts/admin/controllers/modals/admin-plugins-chat-test.js.es6 b/assets/javascripts/admin/controllers/modals/admin-plugins-chat-test.js.es6 index b6a5ba5..3dba135 100644 --- a/assets/javascripts/admin/controllers/modals/admin-plugins-chat-test.js.es6 +++ b/assets/javascripts/admin/controllers/modals/admin-plugins-chat-test.js.es6 @@ -2,7 +2,17 @@ import ModalFunctionality from 'discourse/mixins/modal-functionality'; import { ajax } from 'discourse/lib/ajax'; export default Ember.Controller.extend(ModalFunctionality, { - sendDisabled: function(){ + setupKeydown: function() { + Ember.run.schedule('afterRender', () => { + $('#chat_integration_test_modal').keydown(e => { + if (e.keyCode === 13) { + this.send('send'); + } + }); + }); + }.on('init'), + + sendDisabled: function(){ if(this.get('model').topic_id){ return false } @@ -12,6 +22,7 @@ export default Ember.Controller.extend(ModalFunctionality, { actions: { send: function(){ + if(this.get('sendDisabled')){return}; self = this; this.set('loading', true); ajax("/admin/plugins/chat/test", { diff --git a/assets/javascripts/admin/templates/modal/admin-plugins-chat-edit-channel.hbs b/assets/javascripts/admin/templates/modal/admin-plugins-chat-edit-channel.hbs index 579d071..bc6562b 100644 --- a/assets/javascripts/admin/templates/modal/admin-plugins-chat-edit-channel.hbs +++ b/assets/javascripts/admin/templates/modal/admin-plugins-chat-edit-channel.hbs @@ -1,6 +1,6 @@ {{#d-modal-body id="chat_integration_edit_channel_modal" title="chat_integration.edit_channel_modal.title"}}
-
+ diff --git a/assets/javascripts/admin/templates/modal/admin-plugins-chat-test.hbs b/assets/javascripts/admin/templates/modal/admin-plugins-chat-test.hbs index c4bc8e6..d0727f9 100644 --- a/assets/javascripts/admin/templates/modal/admin-plugins-chat-test.hbs +++ b/assets/javascripts/admin/templates/modal/admin-plugins-chat-test.hbs @@ -1,17 +1,13 @@ {{#d-modal-body id="chat_integration_test_modal" title="chat_integration.test_modal.title"}}
- +
- - - -
{{choose-topic selectedTopicId=model.topic_id}}