41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
import ModalFunctionality from 'discourse/mixins/modal-functionality';
|
|
import { ajax } from 'discourse/lib/ajax';
|
|
import { popupAjaxError } from 'discourse/lib/ajax-error';
|
|
import { default as computed, on } from "ember-addons/ember-computed-decorators";
|
|
|
|
export default Ember.Controller.extend(ModalFunctionality, {
|
|
@on('init')
|
|
setupKeydown() {
|
|
Ember.run.schedule('afterRender', () => {
|
|
$('#chat_integration_test_modal').keydown(e => {
|
|
if (e.keyCode === 13) {
|
|
this.send('send');
|
|
}
|
|
});
|
|
});
|
|
},
|
|
|
|
@computed('model.topic_id')
|
|
sendDisabled(topicId) {
|
|
return !topicId;
|
|
},
|
|
|
|
actions: {
|
|
send() {
|
|
if (this.get('sendDisabled')) return;
|
|
this.set('loading', true);
|
|
|
|
ajax("/admin/plugins/chat/test", {
|
|
data: {
|
|
channel_id: this.get('model.channel.id'),
|
|
topic_id: this.get('model.topic_id')
|
|
},
|
|
type: 'POST'
|
|
}).then(() => {
|
|
this.set('loading', false);
|
|
this.flash(I18n.t('chat_integration.test_modal.success'), 'success');
|
|
}).catch(popupAjaxError);
|
|
}
|
|
}
|
|
});
|