diff --git a/lex-web-ui/README.md b/lex-web-ui/README.md
index b1f0f639..c05ead33 100644
--- a/lex-web-ui/README.md
+++ b/lex-web-ui/README.md
@@ -682,7 +682,7 @@ For detailed explanation on how things work, checkout the
npm install
# serve with hot reload at localhost:8080
-npm run dev
+npm start
# build for production with minification
npm run build
diff --git a/lex-web-ui/src/components/Message.vue b/lex-web-ui/src/components/Message.vue
index 2ba17361..ef01d555 100644
--- a/lex-web-ui/src/components/Message.vue
+++ b/lex-web-ui/src/components/Message.vue
@@ -30,38 +30,62 @@
v-if="'text' in message && message.text !== null && message.text.length && !shouldDisplayInteractiveMessage"
>
+ v-if="shouldDisplayInteractiveMessage && interactiveMessage?.templateType == 'ListPicker'">
-
-
{{message.interactiveMessage.data.content.title}}
-
{{message.interactiveMessage.data.content.subtitle}}
+
+
{{interactiveMessage.data.content.title}}
+
{{interactiveMessage?.data.content.subtitle}}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
{{item.title}}
+
{{item.subtitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ v-if="shouldDisplayInteractiveMessage && interactiveMessage?.templateType == 'TimePicker'">
-
{{message.interactiveMessage.data.content.title}}
-
{{message.interactiveMessage.data.content.subtitle}}
+
{{interactiveMessage?.data.content.title}}
+
{{interactiveMessage?.data.content.subtitle}}
@@ -80,9 +104,9 @@
-
+
-
a.date.localeCompare(b.date));
+ if (this.interactiveMessage?.templateType == 'TimePicker') {
+ var sortedslots = this.interactiveMessage.data.content.timeslots.sort((a, b) => a.date.localeCompare(b.date));
const dateFormatOptions = { weekday: 'long', month: 'long', day: 'numeric' };
const timeFormatOptions = { hour: "numeric", minute: "numeric", timeZoneName: "short" };
const localeId = localStorage.getItem('selectedLocale') ? localStorage.getItem('selectedLocale') : this.$store.state.config.lex.v2BotLocaleId.split(',')[0];
@@ -367,12 +392,12 @@ export default {
}
},
quickReplyResponseCard() {
- if (this.message.interactiveMessage?.templateType == 'QuickReply') {
+ if (this.interactiveMessage?.templateType == 'QuickReply') {
//Create a response card format so we can leverage existing ResponseCard display template
var responseCard = {
buttons: []
};
- this.message.interactiveMessage.data.content.elements.forEach(function (button, index) {
+ this.interactiveMessage.data.content.elements.forEach(function (button, index) {
responseCard.buttons.push({
text: button.title,
value: button.title