Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 1d5392f

Browse files
authored
Merge pull request #121 from artificialsolutions/XTAI-711
* Check for expired button and Disable * Validate expired state on message types * Added expired state on CarouselMessage * Update Versions for new release
2 parents b4a1ffd + 3b08bed commit 1d5392f

File tree

9 files changed

+45
-21
lines changed

9 files changed

+45
-21
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#v3.7.6
2+
#13-01-2023
3+
* Fixed expired buttons bug.
14
# v3.7.5
25
## 17-11-2022
36
* Fixed bug SDSA-225.

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "teneo-web-chat",
3-
"version": "3.7.5",
3+
"version": "3.7.6",
44
"description": "Teneo Web Chat widget that can be embedded in websites.",
55
"scripts": {
66
"analyze": "NODE_ENV=production webpack --config webpack.prod.js --profile --json > stats-prod.json && webpack-bundle-analyzer stats-prod.json dist/",

src/components/messages/CardMessage.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ export default {
126126
isExpired() {
127127
const { messageList } = this.$teneoApi;
128128
const latestMessage = messageList[messageList.length - 1];
129-
130129
return latestMessage && latestMessage !== this.message;
131130
},
132131
sanitizedHtmlText() {
@@ -138,7 +137,7 @@ export default {
138137
await handleLinkButtonClick(linkbutton, event)
139138
},
140139
async onSelect(reply, idx) {
141-
if (!this.replySent) {
140+
if (!this.replySent && !this.isExpired) {
142141
await handleButtonClick(reply, idx, this.$teneoApi)
143142
}
144143
},

src/components/messages/CarouselMessage.vue

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,13 @@ export default {
123123
},
124124
}
125125
},
126+
data() {
127+
return {
128+
activeSlide: 0,
129+
isFirstSlide: true,
130+
isLastSlide: false
131+
};
132+
},
126133
computed: {
127134
carouselItems() {
128135
return this.message.data.carousel_items;
@@ -140,19 +147,12 @@ export default {
140147
return this.message.selected;
141148
},
142149
isExpired() {
143-
const {messageList} = this.$teneoApi;
150+
const { messageList } = this.$teneoApi;
144151
const latestMessage = messageList[messageList.length - 1];
145152
146153
return latestMessage && latestMessage !== this.message;
147154
}
148155
},
149-
data() {
150-
return {
151-
activeSlide: 0,
152-
isFirstSlide: true,
153-
isLastSlide: false
154-
};
155-
},
156156
methods: {
157157
moveSlideElements() {
158158
@@ -188,7 +188,7 @@ export default {
188188
await handleLinkButtonClick(linkbutton, event);
189189
},
190190
async onSelect(reply, idx) {
191-
if (!this.replySent) {
191+
if (!this.replySent && !this.isExpired) {
192192
await handleButtonClick(reply, idx, this.$teneoApi);
193193
}
194194
},

src/components/messages/ClickablelistMessage.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export default {
6161
},
6262
methods: {
6363
async onSelect(reply, idx) {
64-
if (!this.replySent) {
64+
if (!this.replySent && !this.isExpired ) {
6565
await handleButtonClick(reply, idx, this.$teneoApi)
6666
}
6767
},

src/components/messages/ComboMessage.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ export default {
297297
await handleLinkButtonClick(linkbutton, event)
298298
},
299299
async onSelect(reply, idx) {
300-
if (!this.replySent) {
300+
if (!this.replySent && !this.isExpired) {
301301
await handleButtonClick(reply, idx, this.$teneoApi)
302302
}
303303
},

src/utils/constants.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export const SESSION_ID_STORAGE_KEY = 'teneo-web-chat-session-id';
1010
export const FALLBACK_LOCALE = 'en-US';
1111

1212
// api version
13-
export const API_VERSION = "3.7.5";
13+
export const API_VERSION = "3.7.6";
1414

1515
// state object keys
1616
export const API_KEY_VISIBILITY = "visibility";

views/index.ejs

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,39 @@ div.scroll {
4040
4141
</style>
4242

43-
<script src="teneo-web-chat.js"></script> <!-- needed for Heroku -->
44-
<!--<% if(process.env.NODE_ENV === 'development') { %>-->
43+
<script src="teneo-web-chat.js"></script>
44+
<script>
45+
TeneoWebChat.on('ready', () => {
46+
47+
const x = TeneoWebChat.get('storage').getItem('twc_last_state');
48+
49+
if (x) {
50+
switch (x) {
51+
case 'maximized':
52+
TeneoWebChat.call('maximize');
53+
break;
54+
case 'minimized':
55+
TeneoWebChat.call('minimize');
56+
break;
57+
default:
58+
logger.warn('TeneoWebChat', 'unknown stored twc_last_state value', x);
59+
}
4560
61+
}
4662
47-
<!--<% } %>-->
63+
});
4864
49-
<script>
50-
/* <![CDATA[ */
5165
5266
67+
TeneoWebChat.on('visibility_changed', payload => TeneoWebChat.get('storage').setItem('twc_last_state', payload.visibility));
68+
TeneoWebChat.on('reset', () => TeneoWebChat.get('storage').removeItem('twc_last_state'));
69+
</script>
5370

71+
<!-- needed for Heroku -->
72+
<!--<% if(process.env.NODE_ENV === 'development') { %>-->
73+
<!--<% } %>-->
74+
<script>
75+
/* <![CDATA[ */
5476
window.addEventListener('load', () => {
5577
5678
const element = document.getElementById('teneo-web-chat');

0 commit comments

Comments
 (0)