@subiz/widget-v4 4.1.81 → 4.1.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiled_src/chatbox/Typing.js +16 -1
- package/compiled_src/chatbox/Widget.js +35 -7
- package/compiled_src/chatbox/main.js +3 -0
- package/compiled_src/lib.js +4 -0
- package/compiled_src/plugin.js +4 -0
- package/dist/127.js +273 -0
- package/dist/132.js +2796 -0
- package/dist/185.js +1885 -0
- package/dist/19077b40b00.127.js +1 -0
- package/dist/19077b40b00.132.js +1 -0
- package/dist/19077b40b00.185.js +1 -0
- package/dist/19077b40b00.27.js +1 -0
- package/dist/19077b40b00.278.js +1 -0
- package/dist/19077b40b00.459.js +1 -0
- package/dist/19077b40b00.490.js +1 -0
- package/dist/19077b40b00.74.js +1 -0
- package/dist/19077b40b00.997.js +1 -0
- package/dist/19077b40b00.app.js +1 -0
- package/dist/19077b40b00.index.html +33 -0
- package/dist/19077b40b00.library.html +33 -0
- package/dist/19077b40b00.library.js +1 -0
- package/dist/19077b40b00.preview.html +759 -0
- package/dist/19077b40b00.preview.js +1 -0
- package/dist/19077b40b00.screenshoot.js +1 -0
- package/dist/19077b40b00.webview.js +1 -0
- package/dist/27.js +107 -0
- package/dist/278.js +406 -0
- package/dist/459.js +107 -0
- package/dist/490.js +304 -0
- package/dist/74.js +372 -0
- package/dist/997.js +107 -0
- package/dist/HASH +1 -0
- package/dist/assets/img/Facebook.64607ec.png +0 -0
- package/dist/assets/img/Zalo.6845707.png +0 -0
- package/dist/assets/img/award1a.1a58e10.png +0 -0
- package/dist/assets/img/award3a.3b74423.png +0 -0
- package/dist/assets/img/award4a.ed6ccd4.png +0 -0
- package/dist/assets/img/award5.39eb7ae.png +0 -0
- package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
- package/dist/assets/img/caret.998eb8f.svg +1 -0
- package/dist/assets/img/convos_empty.2353007.svg +72 -0
- package/dist/assets/img/default.06e6ee0.jpg +0 -0
- package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
- package/dist/assets/img/done_gray.d7e8203.svg +4 -0
- package/dist/assets/img/done_green.b817fd4.svg +4 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
- package/dist/assets/img/empty.29bed2d.svg +23 -0
- package/dist/assets/img/empty_1.0b98af0.svg +11 -0
- package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
- package/dist/assets/img/external-link.90577cc.svg +1 -0
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +17 -0
- package/dist/assets/img/ghtk.326eac1.svg +18 -0
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +1 -0
- package/dist/assets/img/loader.37000a7.svg +1 -0
- package/dist/assets/img/loading_static.a27f0ac.svg +10 -0
- package/dist/assets/img/main-service1.d536cc2.png +0 -0
- package/dist/assets/img/main-service2.9b99549.png +0 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +5 -0
- package/dist/assets/img/package_fade.763c001.svg +1 -0
- package/dist/assets/img/rating--average.1ea492c.svg +12 -0
- package/dist/assets/img/rating--great.e3d712e.svg +16 -0
- package/dist/assets/img/rating--poor.2938a25.svg +12 -0
- package/dist/assets/img/search.f9705ff.svg +1 -0
- package/dist/assets/img/send.6db52a9.svg +3 -0
- package/dist/assets/img/shop.f7dc7d8.svg +1 -0
- package/dist/assets/img/shop_faded.df7845a.svg +1 -0
- package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
- package/dist/assets/img/x.26fdfa3.svg +5 -0
- package/dist/malicious-app.js +15 -0
- package/dist/screenshoot.html +7 -0
- package/dist/screenshoot.js +10519 -0
- package/package.json +1 -1
- package/src/chatbox/Typing.js +13 -1
- package/src/chatbox/Widget.js +40 -7
- package/src/chatbox/main.js +4 -0
- package/src/lib.js +5 -0
- package/src/plugin.js +5 -0
package/package.json
CHANGED
package/src/chatbox/Typing.js
CHANGED
|
@@ -32,7 +32,7 @@ export default class Typing extends Com {
|
|
|
32
32
|
if (sb.get(ev, 'type') !== 'conversation_typing') return
|
|
33
33
|
// dont show typing of agent, some agent dont like this
|
|
34
34
|
let ag = this.props.store.matchAgent(sb.get(ev, 'by.id')) || {}
|
|
35
|
-
if (ag.type == 'agent') return
|
|
35
|
+
if (ag.type == 'agent' && !sb.get(this.props.plugin, 'chatbox.show_agent_typing')) return
|
|
36
36
|
this.setState({ev: ev, isShow: true})
|
|
37
37
|
if (this.timer) sb.clearTimeout(this.timer)
|
|
38
38
|
this.timer = sb.setTimeout(() => {
|
|
@@ -44,11 +44,23 @@ export default class Typing extends Com {
|
|
|
44
44
|
})
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
ShowTyping() {
|
|
48
|
+
this.setState({isShow: true})
|
|
49
|
+
if (this.timer) sb.clearTimeout(this.timer)
|
|
50
|
+
this.timer = sb.setTimeout(() => {
|
|
51
|
+
this.timer = null
|
|
52
|
+
this.setState({isShow: false})
|
|
53
|
+
}, 5000)
|
|
54
|
+
}
|
|
55
|
+
|
|
47
56
|
render() {
|
|
48
57
|
let account = this.props.store.matchAccount()
|
|
49
58
|
var cls = this.state.isShow ? '' : 'typing--hidden'
|
|
50
59
|
let byid = sb.get(this.state.ev, 'by.display_id', sb.get(this.state.ev, 'by.id'))
|
|
51
60
|
let agentName = sb.getAgentDisplayName(account, this.props.store.matchAgent(byid))
|
|
61
|
+
if (sb.get(this.props.plugin, 'chatbox.hide_agent_profile')) {
|
|
62
|
+
agentName = sb.get(account, 'name')
|
|
63
|
+
}
|
|
52
64
|
return (
|
|
53
65
|
<div class={`typing ${cls}`}>
|
|
54
66
|
{agentName} {this.props.t('typing')}
|
package/src/chatbox/Widget.js
CHANGED
|
@@ -40,6 +40,7 @@ export default class Widget extends Com {
|
|
|
40
40
|
})
|
|
41
41
|
|
|
42
42
|
this.props.store.onUpdate(this, (_) => this.forceUpdate())
|
|
43
|
+
this.refTyping = createRef()
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
msgInput = createRef()
|
|
@@ -71,6 +72,10 @@ export default class Widget extends Com {
|
|
|
71
72
|
// this.updateFormDataFields()
|
|
72
73
|
}
|
|
73
74
|
|
|
75
|
+
ShowTyping() {
|
|
76
|
+
this.refTyping.current && this.refTyping.current.ShowTyping()
|
|
77
|
+
}
|
|
78
|
+
|
|
74
79
|
shouldShowForm() {
|
|
75
80
|
// always show form when ask agentgroup
|
|
76
81
|
let form
|
|
@@ -158,14 +163,36 @@ export default class Widget extends Com {
|
|
|
158
163
|
hasError = true
|
|
159
164
|
} else field.error = ''
|
|
160
165
|
|
|
161
|
-
if (key.substr(5) === 'emails'
|
|
162
|
-
field.
|
|
163
|
-
|
|
166
|
+
if (key.substr(5) === 'emails') {
|
|
167
|
+
if (field.is_required) {
|
|
168
|
+
if (!sb.isEmail(field.value)) {
|
|
169
|
+
field.error = this.props.t('error_email_invalid') // 'The email is not valid'
|
|
170
|
+
hasError = true
|
|
171
|
+
}
|
|
172
|
+
} else {
|
|
173
|
+
let value = field.value || ''
|
|
174
|
+
if (typeof value !== 'string') value = value + '' // try to makesure use ''.trim doesnt errror
|
|
175
|
+
if (value.trim() && !sb.isEmail(field.value)) {
|
|
176
|
+
field.error = this.props.t('error_email_invalid') // 'The email is not valid'
|
|
177
|
+
hasError = true
|
|
178
|
+
}
|
|
179
|
+
}
|
|
164
180
|
}
|
|
165
181
|
|
|
166
|
-
if (key.substr(5) === 'phones'
|
|
167
|
-
field.
|
|
168
|
-
|
|
182
|
+
if (key.substr(5) === 'phones') {
|
|
183
|
+
if (field.is_required) {
|
|
184
|
+
if (!sb.isPhone(field.value)) {
|
|
185
|
+
field.error = this.props.t('error_phone_invalid') // 'The email is not valid'
|
|
186
|
+
hasError = true
|
|
187
|
+
}
|
|
188
|
+
} else {
|
|
189
|
+
let value = field.value || ''
|
|
190
|
+
if (typeof value !== 'string') value = value + '' // try to makesure use ''.trim doesnt errror
|
|
191
|
+
if (value.trim() && !sb.isPhone(field.value)) {
|
|
192
|
+
field.error = this.props.t('error_phone_invalid') // 'The email is not valid'
|
|
193
|
+
hasError = true
|
|
194
|
+
}
|
|
195
|
+
}
|
|
169
196
|
}
|
|
170
197
|
})
|
|
171
198
|
if (hasError) return this.forceUpdate()
|
|
@@ -786,7 +813,13 @@ export default class Widget extends Com {
|
|
|
786
813
|
onPostback={(e) => this.createPostback(e)}
|
|
787
814
|
t={this.props.t}
|
|
788
815
|
/>
|
|
789
|
-
<Typing
|
|
816
|
+
<Typing
|
|
817
|
+
store={this.props.store}
|
|
818
|
+
cid={this.props.cid}
|
|
819
|
+
t={this.props.t}
|
|
820
|
+
plugin={this.props.plugin}
|
|
821
|
+
ref={this.refTyping}
|
|
822
|
+
/>
|
|
790
823
|
</div>
|
|
791
824
|
<Rating
|
|
792
825
|
forceView={this.props.view}
|
package/src/chatbox/main.js
CHANGED
|
@@ -176,6 +176,10 @@ export default class Main extends Com {
|
|
|
176
176
|
this.refButton.current && this.refButton.current.HideGreeting()
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
+
showTyping() {
|
|
180
|
+
this.refWidget.current && this.refWidget.current.ShowTyping()
|
|
181
|
+
}
|
|
182
|
+
|
|
179
183
|
hideWidget() {
|
|
180
184
|
restoreViewport()
|
|
181
185
|
this.props.store.setIsOpen(false)
|
package/src/lib.js
CHANGED
|
@@ -202,6 +202,11 @@ class Widget {
|
|
|
202
202
|
this.pluginMgr.showCurrentChatbox({view, cid: cid})
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
async showTyping() {
|
|
206
|
+
await this.domGate.entry()
|
|
207
|
+
this.pluginMgr.showCurrentChatboxTyping()
|
|
208
|
+
}
|
|
209
|
+
|
|
205
210
|
async hideWidget() {
|
|
206
211
|
await this.domGate.entry()
|
|
207
212
|
this.pluginMgr.hideCurrentChatbox()
|
package/src/plugin.js
CHANGED
|
@@ -293,6 +293,11 @@ export default class PluginMgr {
|
|
|
293
293
|
if (chatbox) return chatbox.call('showWidget', p)
|
|
294
294
|
}
|
|
295
295
|
|
|
296
|
+
showCurrentChatboxTyping() {
|
|
297
|
+
let chatbox = this.findChatbox()
|
|
298
|
+
if (chatbox) return chatbox.call('showTyping')
|
|
299
|
+
}
|
|
300
|
+
|
|
296
301
|
showCurrentGreeting() {
|
|
297
302
|
let chatbox = this.findChatbox()
|
|
298
303
|
if (chatbox) return chatbox.call('showGreeting')
|