-
-
In introduction, Alexa will help users to ask her the right questions about your business. For Example, she will say : "To ask us about our services, say : What do you do ? ". What do you do ? is defined in question field. Alexa will use first variation of question in intro.
-
-
-
-
-
-
Question variants
- {
- this.state.intent.questions.map((question, index)=>{
- return (
-
-
{this.deleteQuestion(question)}}> }
- onChange={(e)=>{this.handleQuestionEdit(e,index)}}
- value={question}/>
-
- );
- })
- }
-
- {
+ render () {
+ let answerBox;
+ switch (this.state.intent.answerType) {
+ case ANSWER_TYPE.PREDEFINED:
+ answerBox = (
+ value={this.state.intent.answer}
+ />
- }
-
-
-
-
-
-
+ );
+ break;
+ case ANSWER_TYPE.EXTERNAL_SOURCE_WP_JSON:
+ case ANSWER_TYPE.EXTERNAL_SOURCE_RSS:
+ answerBox = (
+
+
+
+ );
+ break;
+ }
+
+ return (
+
+
+
+ {' '}
+ In introduction, Alexa will help users to ask her the right questions about your business. For Example, she will say : "To ask us about our services, say : What do you do ? ". What do you do ? is defined in question field. Alexa will use first variation of question in intro.
+
+
+
+
+
+
Question variants
+ {this.state.intent.questions.map ((question, index) => {
+ return (
+
+
{
+ this.deleteQuestion (question);
+ }}
+ >
+ {' '}
+
+ {' '}
+
+ }
+ onChange={e => {
+ this.handleQuestionEdit (e, index);
+ }}
+ value={question}
+ />
+
+ );
+ })}
+
+
+ {answerBox}
+
+
+
);
}
- addQuestion(){
+ addQuestion () {
let newIntent = this.state.intent;
- newIntent.questions.push('');
- this.setState({intent: newIntent});
+ newIntent.questions.push ('');
+ this.setState ({intent: newIntent});
}
- deleteQuestion(question){
- let newIntent = this.state.intent;
- let removeId = newIntent.questions.indexOf(question);
- if (removeId !== -1)
- newIntent.questions.splice(removeId,1);
-
- this.setState({intent: newIntent});
+ deleteQuestion (question) {
+ if (this.state.intent.questions.length > 1) {
+ let newIntent = this.state.intent;
+ let removeId = newIntent.questions.indexOf (question);
+ if (removeId !== -1) newIntent.questions.splice (removeId, 1);
+
+ this.setState ({intent: newIntent});
+ }
}
- handleQuestionEdit(e,index){
- if (e.length === QUESTION_MAX_LENGTH || !(/^[a-z,.' ]*$/i.test(e))) return;
+ handleQuestionEdit (e, index) {
+ if (e.length === QUESTION_MAX_LENGTH || !/^[a-z,.' ]*$/i.test (e)) return;
let newIntent = this.state.intent;
newIntent.questions[index] = e;
- this.setState({intent: newIntent});
+ this.setState ({intent: newIntent});
}
- handleIntentExplanationEdit(e,index){
- if (e.length === INTENT_EXPLANATION_MAX_LENGTH || !(/^[a-z,.' ]*$/i.test(e))) return;
+ handleIntentExplanationEdit (e, index) {
+ if (e.length === INTENT_EXPLANATION_MAX_LENGTH || !/^[a-z,.' ]*$/i.test (e))
+ return;
let newIntent = this.state.intent;
newIntent.intentExplanation = e;
- this.setState({intent: newIntent});
+ this.setState ({intent: newIntent});
}
- handleAnswerEdit(e){
- if (e.length === ANSWER_MAX_LENGTH || !(/^[a-z,.' ]*$/i.test(e))) return;
+ handleAnswerEdit (e) {
+ if (e.length === ANSWER_MAX_LENGTH || !/^[a-z,.' ]*$/i.test (e)) return;
let newIntent = this.state.intent;
newIntent.answer = e;
- this.setState({intent: newIntent});
+ this.setState ({intent: newIntent});
}
- handleIntentNameEdit(e){
- if (e.length === INTENT_NAME_MAX_LENGTH || !(/^[a-z]*$/i.test(e))) return;
+ handleAnswerSourceEdit (e) {
+ if (e.length === ANSWER_MAX_LENGTH) return;
+ let newIntent = this.state.intent;
+ newIntent.externalAnswerSource = e;
+ this.setState ({intent: newIntent});
+ }
+
+ handleIntentNameEdit (e) {
+ if (e.length === INTENT_NAME_MAX_LENGTH || !/^[a-z]*$/i.test (e)) return;
let newIntent = this.state.intent;
newIntent.intentName = e;
- this.setState({intent: newIntent});
+ this.setState ({intent: newIntent});
+ }
+
+ handleExternalSourceSave (answerType) {
+ let newIntent = this.state.intent;
+ newIntent.answerType = answerType;
+ this.setState ({intent: newIntent});
}
}
diff --git a/web/src/components/LaunchRequest.js b/web/src/components/LaunchRequest.js
index 1c9def4..a5337ea 100644
--- a/web/src/components/LaunchRequest.js
+++ b/web/src/components/LaunchRequest.js
@@ -25,7 +25,7 @@ class LaunchRequest extends Component {