summaryrefslogtreecommitdiffstats
path: root/webapp/components/backstage/add_outgoing_webhook.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2016-04-11 09:04:56 -0400
committerChristopher Speller <crspeller@gmail.com>2016-04-11 09:04:56 -0400
commit29e1a853601514284c2af3f3302f30ad0d3c6d54 (patch)
treef06e39d3fc31684359888657512b13e2b7719277 /webapp/components/backstage/add_outgoing_webhook.jsx
parent81e7e853697263f25ca505cc9b2cd50c6e2fe739 (diff)
downloadchat-29e1a853601514284c2af3f3302f30ad0d3c6d54.tar.gz
chat-29e1a853601514284c2af3f3302f30ad0d3c6d54.tar.bz2
chat-29e1a853601514284c2af3f3302f30ad0d3c6d54.zip
PLT-2553 Additional backstage UI Improvements (#2673)
* Renamed Commands to Slash Commands in backstage UI * Updated displayed info for listed commands and outgoing webhooks * Disallowed empty outgoing webhook trigger words and improved client-side validation for them
Diffstat (limited to 'webapp/components/backstage/add_outgoing_webhook.jsx')
-rw-r--r--webapp/components/backstage/add_outgoing_webhook.jsx28
1 files changed, 24 insertions, 4 deletions
diff --git a/webapp/components/backstage/add_outgoing_webhook.jsx b/webapp/components/backstage/add_outgoing_webhook.jsx
index acdd98ba8..ff5e90e07 100644
--- a/webapp/components/backstage/add_outgoing_webhook.jsx
+++ b/webapp/components/backstage/add_outgoing_webhook.jsx
@@ -50,7 +50,18 @@ export default class AddOutgoingWebhook extends React.Component {
clientError: ''
});
- if (!this.state.channelId && !this.state.triggerWords) {
+ const triggerWords = [];
+ if (this.state.triggerWords) {
+ for (let triggerWord of this.state.triggerWords.split('\n')) {
+ triggerWord = triggerWord.trim();
+
+ if (triggerWord.length > 0) {
+ triggerWords.push(triggerWord);
+ }
+ }
+ }
+
+ if (!this.state.channelId && triggerWords.length === 0) {
this.setState({
saving: false,
clientError: (
@@ -64,7 +75,16 @@ export default class AddOutgoingWebhook extends React.Component {
return;
}
- if (!this.state.callbackUrls) {
+ const callbackUrls = [];
+ for (let callbackUrl of this.state.callbackUrls.split('\n')) {
+ callbackUrl = callbackUrl.trim();
+
+ if (callbackUrl.length > 0) {
+ callbackUrls.push(callbackUrl);
+ }
+ }
+
+ if (callbackUrls.length === 0) {
this.setState({
saving: false,
clientError: (
@@ -80,8 +100,8 @@ export default class AddOutgoingWebhook extends React.Component {
const hook = {
channel_id: this.state.channelId,
- trigger_words: this.state.triggerWords.split('\n').map((word) => word.trim()),
- callback_urls: this.state.callbackUrls.split('\n').map((url) => url.trim()),
+ trigger_words: triggerWords,
+ callback_urls: callbackUrls,
display_name: this.state.displayName,
description: this.state.description
};