@subiz/widget-v4 4.1.51 → 4.1.52
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/VideoAttachments.js +1 -2
- package/dist/{841.js → 132.js} +628 -637
- package/dist/178.js +1 -1
- package/dist/18a02a9c54e.132.js +1 -0
- package/dist/18a02a9c54e.178.js +1 -0
- package/dist/18a02a9c54e.213.js +1 -0
- package/dist/18a02a9c54e.335.js +1 -0
- package/dist/{18c1a2c5a7f.362.js → 18a02a9c54e.362.js} +1 -1
- package/dist/18a02a9c54e.441.js +1 -0
- package/dist/18a02a9c54e.605.js +1 -0
- package/dist/{18c1a2c5a7f.782.js → 18a02a9c54e.782.js} +1 -1
- package/dist/18a02a9c54e.app.js +1 -0
- package/dist/{18c1a2c5a7f.index.html → 18a02a9c54e.index.html} +4 -4
- package/dist/{18c1a2c5a7f.library.html → 18a02a9c54e.library.html} +4 -4
- package/dist/18a02a9c54e.library.js +1 -0
- package/dist/{18c1a2c5a7f.preview.html → 18a02a9c54e.preview.html} +1 -1
- package/dist/18a02a9c54e.preview.js +1 -0
- package/dist/18a02a9c54e.screenshoot.js +1 -0
- package/dist/18a02a9c54e.webview.js +1 -0
- package/dist/213.js +102 -118
- package/dist/335.js +25 -25
- package/dist/362.js +1 -1
- package/dist/441.js +2855 -0
- package/dist/605.js +50 -50
- package/dist/782.js +1 -1
- package/dist/HASH +1 -1
- package/dist/malicious-app.js +3 -8
- package/dist/screenshoot.html +1 -1
- package/dist/screenshoot.js +430 -452
- package/package.json +1 -1
- package/src/chatbox/VideoAttachments.js +11 -9
- package/dist/18c1a2c5a7f.178.js +0 -1
- package/dist/18c1a2c5a7f.213.js +0 -1
- package/dist/18c1a2c5a7f.335.js +0 -1
- package/dist/18c1a2c5a7f.605.js +0 -1
- package/dist/18c1a2c5a7f.841.js +0 -1
- package/dist/18c1a2c5a7f.app.js +0 -1
- package/dist/18c1a2c5a7f.library.js +0 -1
- package/dist/18c1a2c5a7f.preview.js +0 -1
- package/dist/18c1a2c5a7f.screenshoot.js +0 -1
- package/dist/18c1a2c5a7f.webview.js +0 -1
- /package/dist/{18c1a2c5a7f.678.js → 18a02a9c54e.678.js} +0 -0
package/dist/{841.js → 132.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(self["webpackChunk_subiz_widget_v4"] = self["webpackChunk_subiz_widget_v4"] || []).push([[
|
|
1
|
+
(self["webpackChunk_subiz_widget_v4"] = self["webpackChunk_subiz_widget_v4"] || []).push([[132],{
|
|
2
2
|
|
|
3
|
-
/***/
|
|
3
|
+
/***/ 8132:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
@@ -25,7 +25,7 @@ var preact_module = __webpack_require__(6400);
|
|
|
25
25
|
class Emoji extends common/* Com */.up {
|
|
26
26
|
render() {
|
|
27
27
|
var emojiCode = this.props.emojiCode;
|
|
28
|
-
if (util/* default */.Z.size(emojiCode) < 3) return null;
|
|
28
|
+
if (util/* default.size */.Z.size(emojiCode) < 3) return null;
|
|
29
29
|
var emojiText = emojiCode.replace(/:/g, '');
|
|
30
30
|
return (0,preact_module.h)("i", {
|
|
31
31
|
"data-tooltip": emojiCode,
|
|
@@ -51,11 +51,11 @@ class ChatButton extends common/* Com */.up {
|
|
|
51
51
|
this.loadGreeting();
|
|
52
52
|
this.props.store.onUpdate(this, _ => this.forceUpdate());
|
|
53
53
|
this.props.store.onConvoEvent(this, ev => {
|
|
54
|
-
if (util/* default */.Z.get(ev, 'type') !== 'message_sent') return;
|
|
55
|
-
let bytype = util/* default */.Z.get(ev, 'by.type');
|
|
54
|
+
if (util/* default.get */.Z.get(ev, 'type') !== 'message_sent') return;
|
|
55
|
+
let bytype = util/* default.get */.Z.get(ev, 'by.type');
|
|
56
56
|
if (bytype !== 'system' && bytype !== 'agent') return;
|
|
57
57
|
let isquickreplies = false;
|
|
58
|
-
util/* default */.Z.map(util/* default */.Z.get(ev, 'data.message.attachments', []), att => {
|
|
58
|
+
util/* default.map */.Z.map(util/* default.get */.Z.get(ev, 'data.message.attachments', []), att => {
|
|
59
59
|
if (!att) return;
|
|
60
60
|
if (att.type === 'quick_replies') {
|
|
61
61
|
isquickreplies = true;
|
|
@@ -69,30 +69,30 @@ class ChatButton extends common/* Com */.up {
|
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
fixMissingSetting(chatbox) {
|
|
72
|
-
chatbox = util/* default */.Z.cloneDeep(chatbox);
|
|
73
|
-
if (util/* default */.Z.get(chatbox, 'desktop_button.background_image_url')) {
|
|
72
|
+
chatbox = util/* default.cloneDeep */.Z.cloneDeep(chatbox);
|
|
73
|
+
if (util/* default.get */.Z.get(chatbox, 'desktop_button.background_image_url')) {
|
|
74
74
|
chatbox.desktop_button.background_image_url = this.props.store.replaceFileUrl(chatbox.desktop_button.background_image_url);
|
|
75
75
|
}
|
|
76
|
-
if (util/* default */.Z.get(chatbox, 'desktop_button.background_mask_url')) {
|
|
76
|
+
if (util/* default.get */.Z.get(chatbox, 'desktop_button.background_mask_url')) {
|
|
77
77
|
chatbox.desktop_button.background_mask_url = this.props.store.replaceFileUrl(chatbox.desktop_button.background_mask_url);
|
|
78
78
|
}
|
|
79
|
-
if (util/* default */.Z.get(chatbox, 'mobile_button.background_image_url')) {
|
|
79
|
+
if (util/* default.get */.Z.get(chatbox, 'mobile_button.background_image_url')) {
|
|
80
80
|
chatbox.mobile_button.background_image_url = this.props.store.replaceFileUrl(chatbox.mobile_button.background_image_url);
|
|
81
81
|
}
|
|
82
|
-
if (util/* default */.Z.get(chatbox, 'mobile_button.background_mask_url')) {
|
|
82
|
+
if (util/* default.get */.Z.get(chatbox, 'mobile_button.background_mask_url')) {
|
|
83
83
|
chatbox.mobile_button.background_mask_url = this.props.store.replaceFileUrl(chatbox.mobile_button.background_mask_url);
|
|
84
84
|
}
|
|
85
85
|
return chatbox;
|
|
86
86
|
}
|
|
87
87
|
render() {
|
|
88
88
|
let accountSetting = this.props.plugin.chatbox;
|
|
89
|
-
let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
89
|
+
let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
90
90
|
if (this.props.store.isMobile()) {
|
|
91
|
-
position = util/* default */.Z.get(accountSetting, 'mobile_button.position') || position;
|
|
92
|
-
let hiddenButtonMobile = util/* default */.Z.get(accountSetting, 'mobile_button.hidden');
|
|
91
|
+
position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position') || position;
|
|
92
|
+
let hiddenButtonMobile = util/* default.get */.Z.get(accountSetting, 'mobile_button.hidden');
|
|
93
93
|
if (hiddenButtonMobile) return null;
|
|
94
94
|
}
|
|
95
|
-
let hiddenButtonDesktop = util/* default */.Z.get(accountSetting, 'desktop_button.hidden');
|
|
95
|
+
let hiddenButtonDesktop = util/* default.get */.Z.get(accountSetting, 'desktop_button.hidden');
|
|
96
96
|
if (hiddenButtonDesktop) return null;
|
|
97
97
|
let cls = 'widget-layout widget-layout--' + position;
|
|
98
98
|
let opacity = this.state.opacity;
|
|
@@ -111,11 +111,11 @@ class ChatButton extends common/* Com */.up {
|
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
ShowGreeting() {
|
|
114
|
-
let greeting = util/* default */.Z.get(this.props.plugin, 'chatbox.greeting', {});
|
|
114
|
+
let greeting = util/* default.get */.Z.get(this.props.plugin, 'chatbox.greeting', {});
|
|
115
115
|
let agentM = this.props.store.matchAgent('*');
|
|
116
116
|
let byid = greeting.agent_id;
|
|
117
117
|
if (!byid) byid = randomAgent(agentM).id;
|
|
118
|
-
let text = this.props.t.i18n(util/* default */.Z.get(greeting, 'greeting', {})) || greeting.message;
|
|
118
|
+
let text = this.props.t.i18n(util/* default.get */.Z.get(greeting, 'greeting', {})) || greeting.message;
|
|
119
119
|
this.setState({
|
|
120
120
|
previewEvent: {
|
|
121
121
|
by: {
|
|
@@ -139,9 +139,9 @@ class ChatButton extends common/* Com */.up {
|
|
|
139
139
|
}
|
|
140
140
|
loadGreeting() {
|
|
141
141
|
let accountSetting = this.props.plugin.chatbox;
|
|
142
|
-
if (new util/* default */.Z.Date().getTime() - this.props.store.matchClosePreviewAt() < Ms30Mins) return;
|
|
143
|
-
let greeting = util/* default */.Z.get(accountSetting, 'greeting', {});
|
|
144
|
-
let text = this.props.t.i18n(util/* default */.Z.get(greeting, 'greeting', {})) || greeting.message;
|
|
142
|
+
if (new util/* default.Date */.Z.Date().getTime() - this.props.store.matchClosePreviewAt() < Ms30Mins) return;
|
|
143
|
+
let greeting = util/* default.get */.Z.get(accountSetting, 'greeting', {});
|
|
144
|
+
let text = this.props.t.i18n(util/* default.get */.Z.get(greeting, 'greeting', {})) || greeting.message;
|
|
145
145
|
if (!text || !greeting.enabled) {
|
|
146
146
|
this.setState({
|
|
147
147
|
previewEvent: {}
|
|
@@ -152,8 +152,8 @@ class ChatButton extends common/* Com */.up {
|
|
|
152
152
|
}
|
|
153
153
|
onClick() {
|
|
154
154
|
let lastview = this.props.store.matchLastview();
|
|
155
|
-
if (util/* default */.Z.get(lastview, 'view')) {
|
|
156
|
-
if (lastview.view !== 'list' || util/* default */.Z.size(this.props.store.matchConvo('*')) > 0) {
|
|
155
|
+
if (util/* default.get */.Z.get(lastview, 'view')) {
|
|
156
|
+
if (lastview.view !== 'list' || util/* default.size */.Z.size(this.props.store.matchConvo('*')) > 0) {
|
|
157
157
|
return this.props.onClick && this.props.onClick(Object.assign({}, lastview.opts, {
|
|
158
158
|
view: lastview.view
|
|
159
159
|
}));
|
|
@@ -162,10 +162,10 @@ class ChatButton extends common/* Com */.up {
|
|
|
162
162
|
return this.onPreviewClick();
|
|
163
163
|
}
|
|
164
164
|
onPreviewClick(e) {
|
|
165
|
-
let cid = util/* default */.Z.convoOfEv(this.state.previewEvent);
|
|
165
|
+
let cid = util/* default.convoOfEv */.Z.convoOfEv(this.state.previewEvent);
|
|
166
166
|
if (!cid) {
|
|
167
|
-
let convos = util/* default */.Z.map(this.props.store.matchConvo('*'));
|
|
168
|
-
let convo = util/* default */.Z.find(convos, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
167
|
+
let convos = util/* default.map */.Z.map(this.props.store.matchConvo('*'));
|
|
168
|
+
let convo = util/* default.find */.Z.find(convos, convo => !util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
169
169
|
if (!convo) convo = convos[0] || {};
|
|
170
170
|
cid = convo.id;
|
|
171
171
|
}
|
|
@@ -185,13 +185,13 @@ class ChatButton extends common/* Com */.up {
|
|
|
185
185
|
renderPreview() {
|
|
186
186
|
let account = this.props.store.matchAccount();
|
|
187
187
|
let accountSetting = this.props.plugin.chatbox;
|
|
188
|
-
let byid = util/* default */.Z.get(this.state.previewEvent, 'by.display_id', util/* default */.Z.get(this.state.previewEvent, 'by.id'));
|
|
189
|
-
let agent = util/* default */.Z.cloneDeep(this.props.store.matchAgent(byid)) || {};
|
|
190
|
-
agent.fullname = agent.fullname || util/* default */.Z.get(account, 'name') || this.props.t('agent');
|
|
188
|
+
let byid = util/* default.get */.Z.get(this.state.previewEvent, 'by.display_id', util/* default.get */.Z.get(this.state.previewEvent, 'by.id'));
|
|
189
|
+
let agent = util/* default.cloneDeep */.Z.cloneDeep(this.props.store.matchAgent(byid)) || {};
|
|
190
|
+
agent.fullname = agent.fullname || util/* default.get */.Z.get(account, 'name') || this.props.t('agent');
|
|
191
191
|
agent.avatar_url = agent.avatar_url || defaultAvatar;
|
|
192
|
-
let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
192
|
+
let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
193
193
|
if (this.props.store.isMobile()) {
|
|
194
|
-
position = util/* default */.Z.get(accountSetting, 'mobile_button.position') || position;
|
|
194
|
+
position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position') || position;
|
|
195
195
|
}
|
|
196
196
|
if (accountSetting && accountSetting.hide_agent_profile) {
|
|
197
197
|
agent = Object.assign({}, account, {
|
|
@@ -202,7 +202,7 @@ class ChatButton extends common/* Com */.up {
|
|
|
202
202
|
let cls = 'widget-preview widget-preview--' + position;
|
|
203
203
|
if (!this.state.displayPreview) cls += ' widget-preview--hidden';
|
|
204
204
|
var tags = this.renderMessagePreview(this.state.previewEvent, this.props.t('sent_you_a_message'));
|
|
205
|
-
if (util/* default */.Z.size(tags) === 0) cls += ' widget-preview--hidden';
|
|
205
|
+
if (util/* default.size */.Z.size(tags) === 0) cls += ' widget-preview--hidden';
|
|
206
206
|
return (0,preact_module.h)("div", {
|
|
207
207
|
class: cls
|
|
208
208
|
}, (0,preact_module.h)("div", {
|
|
@@ -245,16 +245,16 @@ class ChatButton extends common/* Com */.up {
|
|
|
245
245
|
renderButton() {
|
|
246
246
|
let accountSetting = this.props.plugin.chatbox;
|
|
247
247
|
accountSetting = this.fixMissingSetting(accountSetting);
|
|
248
|
-
let imgsrc = util/* default */.Z.get(accountSetting, 'desktop_button.background_image_url') || util/* default */.Z.get(accountSetting, 'desktop_button.background_mask_url') || defaultBubble;
|
|
249
|
-
let background = util/* default */.Z.get(accountSetting, 'background') || DEF_BG;
|
|
250
|
-
let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
251
|
-
let imgurl = util/* default */.Z.get(accountSetting, 'desktop_button.background_image_url');
|
|
252
|
-
let maskurl = util/* default */.Z.get(accountSetting, 'desktop_button.background_mask_url');
|
|
248
|
+
let imgsrc = util/* default.get */.Z.get(accountSetting, 'desktop_button.background_image_url') || util/* default.get */.Z.get(accountSetting, 'desktop_button.background_mask_url') || defaultBubble;
|
|
249
|
+
let background = util/* default.get */.Z.get(accountSetting, 'background') || DEF_BG;
|
|
250
|
+
let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
251
|
+
let imgurl = util/* default.get */.Z.get(accountSetting, 'desktop_button.background_image_url');
|
|
252
|
+
let maskurl = util/* default.get */.Z.get(accountSetting, 'desktop_button.background_mask_url');
|
|
253
253
|
if (this.props.store.isMobile()) {
|
|
254
|
-
imgsrc = util/* default */.Z.get(accountSetting, 'mobile_button.background_image_url') || util/* default */.Z.get(accountSetting, 'mobile_button.background_mask_url') || imgsrc;
|
|
255
|
-
position = util/* default */.Z.get(accountSetting, 'mobile_button.position') || position;
|
|
256
|
-
let mobileimgurl = util/* default */.Z.get(accountSetting, 'mobile_button.background_image_url');
|
|
257
|
-
let mobilemaskurl = util/* default */.Z.get(accountSetting, 'mobile_button.background_mask_url');
|
|
254
|
+
imgsrc = util/* default.get */.Z.get(accountSetting, 'mobile_button.background_image_url') || util/* default.get */.Z.get(accountSetting, 'mobile_button.background_mask_url') || imgsrc;
|
|
255
|
+
position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position') || position;
|
|
256
|
+
let mobileimgurl = util/* default.get */.Z.get(accountSetting, 'mobile_button.background_image_url');
|
|
257
|
+
let mobilemaskurl = util/* default.get */.Z.get(accountSetting, 'mobile_button.background_mask_url');
|
|
258
258
|
if (mobileimgurl || mobilemaskurl) {
|
|
259
259
|
imgurl = mobileimgurl;
|
|
260
260
|
maskurl = mobilemaskurl;
|
|
@@ -350,14 +350,14 @@ class ChatButton extends common/* Com */.up {
|
|
|
350
350
|
}
|
|
351
351
|
renderMessagePreview(ev, defmsg) {
|
|
352
352
|
defmsg = defmsg || 'Sent you a message';
|
|
353
|
-
let message = util/* default */.Z.get(ev, 'data.message.text');
|
|
354
|
-
var format = util/* default */.Z.get(ev, 'data.message.format');
|
|
353
|
+
let message = util/* default.get */.Z.get(ev, 'data.message.text');
|
|
354
|
+
var format = util/* default.get */.Z.get(ev, 'data.message.format');
|
|
355
355
|
if (format === 'delta') return this.renderDeltaMessagePreview(ev, defmsg);
|
|
356
356
|
if (format && format !== 'plaintext') message = defmsg;
|
|
357
|
-
if (!message && util/* default */.Z.size(util/* default */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
|
|
357
|
+
if (!message && util/* default.size */.Z.size(util/* default.get */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
|
|
358
358
|
if (!message) return null;
|
|
359
|
-
let byType = util/* default */.Z.get(ev, 'by.type');
|
|
360
|
-
var tags = util/* default */.Z.extractText(message).map(tag => {
|
|
359
|
+
let byType = util/* default.get */.Z.get(ev, 'by.type');
|
|
360
|
+
var tags = util/* default.extractText */.Z.extractText(message).map(tag => {
|
|
361
361
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
362
362
|
emojiCode: tag.text,
|
|
363
363
|
byType: byType
|
|
@@ -368,17 +368,17 @@ class ChatButton extends common/* Com */.up {
|
|
|
368
368
|
}
|
|
369
369
|
renderDeltaMessagePreview(ev, defmsg) {
|
|
370
370
|
defmsg = defmsg || 'Sent you a message';
|
|
371
|
-
let message = util/* default */.Z.get(ev, 'data.message.quill_delta');
|
|
372
|
-
if (!message && util/* default */.Z.size(util/* default */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
|
|
371
|
+
let message = util/* default.get */.Z.get(ev, 'data.message.quill_delta');
|
|
372
|
+
if (!message && util/* default.size */.Z.size(util/* default.get */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
|
|
373
373
|
if (!message) return;
|
|
374
|
-
let quilldeltas = util/* default */.Z.parseJSON(message) || {};
|
|
375
|
-
if (!quilldeltas || util/* default */.Z.size(quilldeltas.ops) === 0) return null;
|
|
376
|
-
let $deltas = util/* default */.Z.map(quilldeltas.ops, delta => {
|
|
374
|
+
let quilldeltas = util/* default.parseJSON */.Z.parseJSON(message) || {};
|
|
375
|
+
if (!quilldeltas || util/* default.size */.Z.size(quilldeltas.ops) === 0) return null;
|
|
376
|
+
let $deltas = util/* default.map */.Z.map(quilldeltas.ops, delta => {
|
|
377
377
|
let html = '';
|
|
378
378
|
let insert = delta.insert;
|
|
379
379
|
let attributes = delta.attributes;
|
|
380
380
|
if (insert.dynamicField) {
|
|
381
|
-
return util/* default */.Z.get(insert, 'dynamicField.text', '');
|
|
381
|
+
return util/* default.get */.Z.get(insert, 'dynamicField.text', '');
|
|
382
382
|
}
|
|
383
383
|
if (insert.emoji) return (0,preact_module.h)(Emoji, {
|
|
384
384
|
emojiCode: `:${insert.emoji}:`
|
|
@@ -403,8 +403,8 @@ class ChatButton extends common/* Com */.up {
|
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
405
|
function randomAgent(agentM) {
|
|
406
|
-
var agents = util/* default */.Z.filter(agentM, ag => ag.type === 'agent');
|
|
407
|
-
return agents[Math.floor(Math.random() * util/* default */.Z.size(agents))] || {};
|
|
406
|
+
var agents = util/* default.filter */.Z.filter(agentM, ag => ag.type === 'agent');
|
|
407
|
+
return agents[Math.floor(Math.random() * util/* default.size */.Z.size(agents))] || {};
|
|
408
408
|
}
|
|
409
409
|
const Ms30Mins = 30 * 60 * 1000;
|
|
410
410
|
const DEF_BG_URL = 'https://vcdn.subiz-cdn.com/file/bubble_11.svg?v=5';
|
|
@@ -420,20 +420,20 @@ class PoweredBy extends common/* Com */.up {
|
|
|
420
420
|
render() {
|
|
421
421
|
if (this.props.store.isMobile()) return null;
|
|
422
422
|
let user = this.props.store.matchUser() || {};
|
|
423
|
-
var link = `https://subiz.com.vn/?utm_source
|
|
423
|
+
var link = `https://subiz.com.vn/?utm_source=id-${user.account_id}&utm_medium=widget&utm_campaign=widget_referral`;
|
|
424
424
|
return (0,preact_module.h)("div", {
|
|
425
425
|
class: "poweredby"
|
|
426
426
|
}, (0,preact_module.h)("a", {
|
|
427
427
|
href: link,
|
|
428
428
|
class: "poweredby--text",
|
|
429
429
|
target: "_blank",
|
|
430
|
-
|
|
430
|
+
rel: "noreferrer"
|
|
431
431
|
}, (0,preact_module.h)("img", {
|
|
432
432
|
width: "14",
|
|
433
433
|
height: "10",
|
|
434
434
|
class: "poweredby--subiz-logo",
|
|
435
435
|
src: logo,
|
|
436
|
-
alt: "power by
|
|
436
|
+
alt: "power by"
|
|
437
437
|
}), " Subiz"));
|
|
438
438
|
}
|
|
439
439
|
}
|
|
@@ -466,17 +466,17 @@ class AgentsAvatar extends common/* Com */.up {
|
|
|
466
466
|
})));
|
|
467
467
|
}
|
|
468
468
|
let agentM = this.props.store.matchAgent('*');
|
|
469
|
-
var agents = util/* default */.Z.map(this.props.agent_ids, id => agentM[id]);
|
|
470
|
-
if (this.props.agent_ids === undefined || util/* default */.Z.size(this.props.agent_ids) === 0) {
|
|
471
|
-
var agids = util/* default */.Z.get(accountSetting, 'header.agent_ids', []);
|
|
472
|
-
agids = util/* default */.Z.filter(agids, id => !!agentM[id]);
|
|
469
|
+
var agents = util/* default.map */.Z.map(this.props.agent_ids, id => agentM[id]);
|
|
470
|
+
if (this.props.agent_ids === undefined || util/* default.size */.Z.size(this.props.agent_ids) === 0) {
|
|
471
|
+
var agids = util/* default.get */.Z.get(accountSetting, 'header.agent_ids', []);
|
|
472
|
+
agids = util/* default.filter */.Z.filter(agids, id => !!agentM[id]);
|
|
473
473
|
if (agids.length !== 0) {
|
|
474
|
-
agents = util/* default */.Z.map(agids, id => agentM[id]);
|
|
474
|
+
agents = util/* default.map */.Z.map(agids, id => agentM[id]);
|
|
475
475
|
} else {
|
|
476
|
-
agents = util/* default */.Z.filter(agentM, agent => agent.type === 'agent');
|
|
476
|
+
agents = util/* default.filter */.Z.filter(agentM, agent => agent.type === 'agent');
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
|
-
agents = util/* default */.Z.filter(agents, ag => !!ag);
|
|
479
|
+
agents = util/* default.filter */.Z.filter(agents, ag => !!ag);
|
|
480
480
|
if (agents.length === 0) {
|
|
481
481
|
return (0,preact_module.h)("div", {
|
|
482
482
|
class: `group-avatar group-avatar--${mode}`
|
|
@@ -590,7 +590,7 @@ class Header extends common/* Com */.up {
|
|
|
590
590
|
let renderSocial = false;
|
|
591
591
|
let renderTeam = false;
|
|
592
592
|
let accSetting = this.props.plugin.chatbox || {};
|
|
593
|
-
let layout = util/* default */.Z.get(accSetting, 'header.layout');
|
|
593
|
+
let layout = util/* default.get */.Z.get(accSetting, 'header.layout');
|
|
594
594
|
let renderCollapsed = this.props.view !== 'list' && headerMode === 'collapsed';
|
|
595
595
|
let renderClassic = !renderCollapsed && layout === 'classic';
|
|
596
596
|
if (renderCollapsed || layout == 'classic') {
|
|
@@ -608,9 +608,9 @@ class Header extends common/* Com */.up {
|
|
|
608
608
|
let accSetting = this.props.plugin.chatbox || {};
|
|
609
609
|
let acc = this.props.store.matchAccount() || {};
|
|
610
610
|
let state = acc.is_online ? this.props.t('agent_online') : this.props.t('agent_offline');
|
|
611
|
-
let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
|
|
611
|
+
let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
|
|
612
612
|
let desc = this.props.t.i18n(tagline) || accSetting.introduction || state;
|
|
613
|
-
let agentIdsJoined = util/* default */.Z.map(this.getAgentJoined(this.props.cid), agent => agent.id);
|
|
613
|
+
let agentIdsJoined = util/* default.map */.Z.map(this.getAgentJoined(this.props.cid), agent => agent.id);
|
|
614
614
|
let cls = 'widget-header--inner widget-header--inner--collapsed';
|
|
615
615
|
if (!show) cls += ' widget-header--inner--hidden';
|
|
616
616
|
let $back = null;
|
|
@@ -636,8 +636,8 @@ class Header extends common/* Com */.up {
|
|
|
636
636
|
renderSocial(show) {
|
|
637
637
|
let accSetting = this.props.plugin.chatbox || {};
|
|
638
638
|
let acc = this.props.store.matchAccount() || {};
|
|
639
|
-
let links = util/* default */.Z.get(accSetting, 'header.links') || [];
|
|
640
|
-
let $links = util/* default */.Z.map(links, link => {
|
|
639
|
+
let links = util/* default.get */.Z.get(accSetting, 'header.links') || [];
|
|
640
|
+
let $links = util/* default.map */.Z.map(links, link => {
|
|
641
641
|
if (!link.url || !link.type || link.type === 'subiz') return null;
|
|
642
642
|
if (link.type === 'email') {
|
|
643
643
|
return (0,preact_module.h)("div", null, (0,preact_module.h)("a", {
|
|
@@ -650,16 +650,17 @@ class Header extends common/* Com */.up {
|
|
|
650
650
|
return (0,preact_module.h)("div", null, (0,preact_module.h)("a", {
|
|
651
651
|
href: link.url,
|
|
652
652
|
target: "_blank",
|
|
653
|
-
title: link.url
|
|
653
|
+
title: link.url,
|
|
654
|
+
rel: "noreferrer"
|
|
654
655
|
}, (0,preact_module.h)("i", {
|
|
655
656
|
class: `social__links-logo social__links-logo--${link.type}`
|
|
656
657
|
})));
|
|
657
658
|
});
|
|
658
659
|
const DEFTEAMINTO = `Chúng tôi sẵn sàng trợ giúp :wave:.
|
|
659
660
|
Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn`;
|
|
660
|
-
let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
|
|
661
|
+
let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
|
|
661
662
|
var teamintro = this.props.t.i18n(tagline) || accSetting.introduction || this.props.t('team_intro') || DEFTEAMINTO;
|
|
662
|
-
var tags = util/* default */.Z.extractText(teamintro).map(tag => {
|
|
663
|
+
var tags = util/* default.extractText */.Z.extractText(teamintro).map(tag => {
|
|
663
664
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
664
665
|
emojiCode: tag.text
|
|
665
666
|
});
|
|
@@ -680,7 +681,7 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
680
681
|
}, (0,preact_module.h)("img", {
|
|
681
682
|
alt: "logo",
|
|
682
683
|
class: "social__account_logo",
|
|
683
|
-
src: this.props.store.replaceFileUrl(util/* default */.Z.get(acc, 'logo_url'))
|
|
684
|
+
src: this.props.store.replaceFileUrl(util/* default.get */.Z.get(acc, 'logo_url'))
|
|
684
685
|
}), (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
685
686
|
class: "social__introduction"
|
|
686
687
|
}, tags), (0,preact_module.h)("div", {
|
|
@@ -691,9 +692,9 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
691
692
|
let accSetting = this.props.plugin.chatbox || {};
|
|
692
693
|
const DEFTEAMINTO = `Chúng tôi sẵn sàng trợ giúp :wave:.
|
|
693
694
|
Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn`;
|
|
694
|
-
let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
|
|
695
|
+
let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
|
|
695
696
|
var teamintro = this.props.t.i18n(tagline) || accSetting.introduction || this.props.t('team_intro') || DEFTEAMINTO;
|
|
696
|
-
var tags = util/* default */.Z.extractText(teamintro).map(tag => {
|
|
697
|
+
var tags = util/* default.extractText */.Z.extractText(teamintro).map(tag => {
|
|
697
698
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
698
699
|
emojiCode: tag.text
|
|
699
700
|
});
|
|
@@ -727,19 +728,19 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
727
728
|
let accSetting = this.props.plugin.chatbox || {};
|
|
728
729
|
let acc = this.props.store.matchAccount() || {};
|
|
729
730
|
let agentsJoined = this.getAgentJoined(this.props.cid);
|
|
730
|
-
let caption = util/* default */.Z.get(this.props.plugin, 'chatbox.caption', {});
|
|
731
|
+
let caption = util/* default.get */.Z.get(this.props.plugin, 'chatbox.caption', {});
|
|
731
732
|
let title = this.props.t.i18n(caption) || accSetting.title;
|
|
732
733
|
return getJoinedNameMember(agentsJoined) || title || acc.name || this.props.t('widget_title');
|
|
733
734
|
}
|
|
734
735
|
renderBackButton() {
|
|
735
736
|
let allconvos = this.props.store.matchConvo('*');
|
|
736
|
-
if (util/* default */.Z.size(allconvos) === 0) return null;
|
|
737
|
+
if (util/* default.size */.Z.size(allconvos) === 0) return null;
|
|
737
738
|
var $unreadcount = null;
|
|
738
739
|
let user = this.props.store.matchUser();
|
|
739
740
|
let unreadcount = 0;
|
|
740
|
-
util/* default */.Z.map(allconvos, convo => {
|
|
741
|
+
util/* default.map */.Z.map(allconvos, convo => {
|
|
741
742
|
if (convo.id == this.props.cid) return;
|
|
742
|
-
if (!util/* default */.Z.isConvoSeen(convo, user.id)) unreadcount++;
|
|
743
|
+
if (!util/* default.isConvoSeen */.Z.isConvoSeen(convo, user.id)) unreadcount++;
|
|
743
744
|
});
|
|
744
745
|
if (unreadcount !== 0) {
|
|
745
746
|
$unreadcount = (0,preact_module.h)("span", {
|
|
@@ -778,14 +779,14 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
778
779
|
}
|
|
779
780
|
getAgentJoined(cid) {
|
|
780
781
|
var convo = this.props.store.matchConvo(cid) || {};
|
|
781
|
-
let joined = util/* default */.Z.filter(convo.members, mem => mem.type === 'agent' && mem.membership === 'active');
|
|
782
|
+
let joined = util/* default.filter */.Z.filter(convo.members, mem => mem.type === 'agent' && mem.membership === 'active');
|
|
782
783
|
return joined;
|
|
783
784
|
}
|
|
784
785
|
}
|
|
785
786
|
let getJoinedNameMember = agents => {
|
|
786
|
-
agents = util/* default */.Z.filter(agents, agent => util/* default */.Z.trim(agent.fullname));
|
|
787
|
+
agents = util/* default.filter */.Z.filter(agents, agent => util/* default.trim */.Z.trim(agent.fullname));
|
|
787
788
|
if (!agents.length) return null;
|
|
788
|
-
return util/* default */.Z.map(agents, agent => agent.fullname).join(', ');
|
|
789
|
+
return util/* default.map */.Z.map(agents, agent => agent.fullname).join(', ');
|
|
789
790
|
};
|
|
790
791
|
;// CONCATENATED MODULE: ./src/chatbox/MessageInput.js
|
|
791
792
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -798,22 +799,22 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
798
799
|
class MessageInput extends common/* Com */.up {
|
|
799
800
|
constructor(props) {
|
|
800
801
|
super(props);
|
|
801
|
-
_defineProperty(this, "onEnter", util/* default */.Z.throttle(function () {
|
|
802
|
+
_defineProperty(this, "onEnter", util/* default.throttle */.Z.throttle(function () {
|
|
802
803
|
this.submitMessage();
|
|
803
804
|
}, 50));
|
|
804
805
|
this.refFileInput = (0,preact_module/* createRef */.Vf)();
|
|
805
806
|
this.refMessageInput = (0,preact_module/* createRef */.Vf)();
|
|
806
807
|
this.props.store.onUpdate(this, _ => this.forceUpdate());
|
|
807
808
|
this.props.store.onConvoEvent(this, ev => {
|
|
808
|
-
var evcid = util/* default */.Z.convoOfEv(ev);
|
|
809
|
+
var evcid = util/* default.convoOfEv */.Z.convoOfEv(ev);
|
|
809
810
|
if (evcid !== this.props.cid) return;
|
|
810
811
|
this.forceUpdate();
|
|
811
812
|
});
|
|
812
813
|
this.focus();
|
|
813
|
-
this._forceUpdate = util/* default */.Z.throttle(() => {
|
|
814
|
+
this._forceUpdate = util/* default.throttle */.Z.throttle(() => {
|
|
814
815
|
this.forceUpdate();
|
|
815
816
|
}, 500);
|
|
816
|
-
this.resizeInput = util/* default */.Z.throttle(function () {
|
|
817
|
+
this.resizeInput = util/* default.throttle */.Z.throttle(function () {
|
|
817
818
|
const input = this.refMessageInput.current;
|
|
818
819
|
input.style.setProperty('height', '1em', 'important');
|
|
819
820
|
const height = Math.min(200, input.scrollHeight);
|
|
@@ -833,7 +834,7 @@ class MessageInput extends common/* Com */.up {
|
|
|
833
834
|
class: "message-input--button message-input--attachment-button",
|
|
834
835
|
onClick: e => this.selectFile(e)
|
|
835
836
|
}));
|
|
836
|
-
var msg = util/* default */.Z.trim(this.refMessageInput.current && this.refMessageInput.current.value);
|
|
837
|
+
var msg = util/* default.trim */.Z.trim(this.refMessageInput.current && this.refMessageInput.current.value);
|
|
837
838
|
if (msg.length > 0) {
|
|
838
839
|
buttons = (0,preact_module.h)("div", {
|
|
839
840
|
class: "d-flex flex-row align-self-end"
|
|
@@ -872,30 +873,30 @@ class MessageInput extends common/* Com */.up {
|
|
|
872
873
|
}
|
|
873
874
|
hasUnfinishRequiredFormOrLock() {
|
|
874
875
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
875
|
-
if (util/* default */.Z.get(convo, 'state') === 'ended') return false;
|
|
876
|
+
if (util/* default.get */.Z.get(convo, 'state') === 'ended') return false;
|
|
876
877
|
let events = this.props.store.listEvents(this.props.cid);
|
|
877
|
-
events = util/* default */.Z.orderBy(events, 'created', 'desc').filter(ev => ev.type === 'message_sent');
|
|
878
|
-
let attachments = util/* default */.Z.get(events[0], 'data.message.attachments', []);
|
|
879
|
-
let lock = util/* default */.Z.find(attachments, att => util/* default */.Z.get(att, 'lock_input'));
|
|
878
|
+
events = util/* default.orderBy */.Z.orderBy(events, 'created', 'desc').filter(ev => ev.type === 'message_sent');
|
|
879
|
+
let attachments = util/* default.get */.Z.get(events[0], 'data.message.attachments', []);
|
|
880
|
+
let lock = util/* default.find */.Z.find(attachments, att => util/* default.get */.Z.get(att, 'lock_input'));
|
|
880
881
|
if (lock) return true;
|
|
881
882
|
var last_agent_sent;
|
|
882
883
|
for (let ev of events) {
|
|
883
|
-
if (util/* default */.Z.get(ev, 'by.type') === 'user') continue;
|
|
884
|
+
if (util/* default.get */.Z.get(ev, 'by.type') === 'user') continue;
|
|
884
885
|
last_agent_sent = ev;
|
|
885
886
|
break;
|
|
886
887
|
}
|
|
887
|
-
attachments = util/* default */.Z.get(last_agent_sent, 'data.message.attachments', []);
|
|
888
|
-
let pendingForms = util/* default */.Z.filter(attachments, att => {
|
|
888
|
+
attachments = util/* default.get */.Z.get(last_agent_sent, 'data.message.attachments', []);
|
|
889
|
+
let pendingForms = util/* default.filter */.Z.filter(attachments, att => {
|
|
889
890
|
if (!att) return false;
|
|
890
891
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
|
|
891
892
|
var form = att.form;
|
|
892
893
|
if (!form) return false;
|
|
893
|
-
var state = util/* default */.Z.parseJSON(form.state) || {};
|
|
894
|
+
var state = util/* default.parseJSON */.Z.parseJSON(form.state) || {};
|
|
894
895
|
if (!state.require_finished && att.type !== 'ask_info_form') return false;
|
|
895
896
|
if (isSummited(att.form)) return false;
|
|
896
897
|
return true;
|
|
897
898
|
});
|
|
898
|
-
return util/* default */.Z.size(pendingForms) > 0;
|
|
899
|
+
return util/* default.size */.Z.size(pendingForms) > 0;
|
|
899
900
|
}
|
|
900
901
|
renderEmojiPopup() {
|
|
901
902
|
if (!this.state.openEmoji) return null;
|
|
@@ -999,10 +1000,10 @@ class MessageInput extends common/* Com */.up {
|
|
|
999
1000
|
focus() {
|
|
1000
1001
|
if (this.props.disabled) return;
|
|
1001
1002
|
this.refMessageInput.current && this.refMessageInput.current.focus();
|
|
1002
|
-
util/* default */.Z.setTimeout(() => {
|
|
1003
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
1003
1004
|
this.refMessageInput.current && this.refMessageInput.current.focus();
|
|
1004
1005
|
});
|
|
1005
|
-
util/* default */.Z.setTimeout(() => {
|
|
1006
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
1006
1007
|
this.refMessageInput.current && this.refMessageInput.current.focus();
|
|
1007
1008
|
}, 100);
|
|
1008
1009
|
}
|
|
@@ -1052,9 +1053,9 @@ class MessageInput extends common/* Com */.up {
|
|
|
1052
1053
|
$input.value = '';
|
|
1053
1054
|
}
|
|
1054
1055
|
_sendFile(files) {
|
|
1055
|
-
if (util/* default */.Z.size(files) === 0) return;
|
|
1056
|
+
if (util/* default.size */.Z.size(files) === 0) return;
|
|
1056
1057
|
if (this.props.disabled) return;
|
|
1057
|
-
let attachments = util/* default */.Z.map(files, file => {
|
|
1058
|
+
let attachments = util/* default.map */.Z.map(files, file => {
|
|
1058
1059
|
return {
|
|
1059
1060
|
type: 'file',
|
|
1060
1061
|
mimetype: file.type,
|
|
@@ -1068,7 +1069,7 @@ class MessageInput extends common/* Com */.up {
|
|
|
1068
1069
|
});
|
|
1069
1070
|
}
|
|
1070
1071
|
async submitMessage(msg) {
|
|
1071
|
-
msg = msg || util/* default */.Z.trim(this.refMessageInput.current.value) || '';
|
|
1072
|
+
msg = msg || util/* default.trim */.Z.trim(this.refMessageInput.current.value) || '';
|
|
1072
1073
|
if (!msg) return;
|
|
1073
1074
|
if (this.props.disabled) return;
|
|
1074
1075
|
this.refMessageInput.current.value = '';
|
|
@@ -1087,7 +1088,7 @@ class MessageInput extends common/* Com */.up {
|
|
|
1087
1088
|
}
|
|
1088
1089
|
pasteImage(event) {
|
|
1089
1090
|
if (!window.File || !window.FileReader || !window.FileList || !window.Blob) return;
|
|
1090
|
-
let now = new util/* default */.Z.Date();
|
|
1091
|
+
let now = new util/* default.Date */.Z.Date();
|
|
1091
1092
|
let year = now.getFullYear();
|
|
1092
1093
|
let month = now.getMonth() + 1;
|
|
1093
1094
|
let date = now.getDate();
|
|
@@ -1109,124 +1110,24 @@ class MessageInput extends common/* Com */.up {
|
|
|
1109
1110
|
}
|
|
1110
1111
|
}
|
|
1111
1112
|
function isSummited(form) {
|
|
1112
|
-
let fields = util/* default */.Z.get(form, 'fields') || [];
|
|
1113
|
-
return util/* default */.Z.find(fields, field => !!field.answered);
|
|
1113
|
+
let fields = util/* default.get */.Z.get(form, 'fields') || [];
|
|
1114
|
+
return util/* default.find */.Z.find(fields, field => !!field.answered);
|
|
1114
1115
|
}
|
|
1115
1116
|
;// CONCATENATED MODULE: ./src/chatbox/ImageAttachments.js
|
|
1116
|
-
function ImageAttachments_defineProperty(obj, key, value) { key = ImageAttachments_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
1117
|
-
function ImageAttachments_toPropertyKey(arg) { var key = ImageAttachments_toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
1118
|
-
function ImageAttachments_toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
1119
1117
|
|
|
1120
1118
|
|
|
1121
1119
|
|
|
1122
1120
|
class ImageAttachment extends common/* Com */.up {
|
|
1123
1121
|
constructor(props) {
|
|
1124
1122
|
super(props);
|
|
1125
|
-
ImageAttachments_defineProperty(this, "containerRef", (0,preact_module/* createRef */.Vf)());
|
|
1126
|
-
this.setState({
|
|
1127
|
-
ready: false,
|
|
1128
|
-
errorIndecies: []
|
|
1129
|
-
});
|
|
1130
|
-
}
|
|
1131
|
-
componentDidMount() {
|
|
1132
|
-
this.setImageFrameDimension();
|
|
1133
|
-
}
|
|
1134
|
-
setImageFrameDimension() {
|
|
1135
|
-
const MAX_HEIGHT = 240;
|
|
1136
|
-
const DEFAULT_MAX_WIDTH = 267;
|
|
1137
|
-
let $container = this.containerRef.current;
|
|
1138
|
-
this.frameWidth = $container ? $container.offsetWidth : DEFAULT_MAX_WIDTH;
|
|
1139
|
-
this.frameHeight = MAX_HEIGHT;
|
|
1140
|
-
this.setState({
|
|
1141
|
-
ready: true
|
|
1142
|
-
});
|
|
1143
|
-
}
|
|
1144
|
-
onErrorImage(index) {
|
|
1145
|
-
let indecies = this.state.errorIndecies || [];
|
|
1146
|
-
indecies.push(index);
|
|
1147
|
-
indecies = [...indecies];
|
|
1148
|
-
this.setState({
|
|
1149
|
-
errorIndecies: indecies
|
|
1150
|
-
});
|
|
1151
|
-
}
|
|
1152
|
-
calculateImageDimension(image) {
|
|
1153
|
-
if (!image.width || !image.height) return {
|
|
1154
|
-
width: this.frameWidth,
|
|
1155
|
-
height: this.frameHeight
|
|
1156
|
-
};
|
|
1157
|
-
let ratio = image.width / image.height - this.frameWidth / this.frameHeight;
|
|
1158
|
-
if (ratio >= 0) {
|
|
1159
|
-
let width = this.frameWidth;
|
|
1160
|
-
let height = image.height * this.frameWidth / image.width;
|
|
1161
|
-
height = Math.round(height);
|
|
1162
|
-
return {
|
|
1163
|
-
width,
|
|
1164
|
-
height
|
|
1165
|
-
};
|
|
1166
|
-
} else {
|
|
1167
|
-
let height = this.frameHeight;
|
|
1168
|
-
let width = image.width * this.frameHeight / image.height;
|
|
1169
|
-
width = Math.round(width);
|
|
1170
|
-
return {
|
|
1171
|
-
width,
|
|
1172
|
-
height
|
|
1173
|
-
};
|
|
1174
|
-
}
|
|
1175
|
-
}
|
|
1176
|
-
renderImage(image, index) {
|
|
1177
|
-
if (!this.state.ready) {
|
|
1178
|
-
return;
|
|
1179
|
-
}
|
|
1180
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1181
|
-
if (!image.width || !image.height) {
|
|
1182
|
-
return (0,preact_module.h)("div", {
|
|
1183
|
-
class: `image-attachment image-attachment--${byType}`
|
|
1184
|
-
}, (0,preact_module.h)("a", {
|
|
1185
|
-
href: this.props.store.replaceFileUrl(image.url),
|
|
1186
|
-
target: "_blank"
|
|
1187
|
-
}, (0,preact_module.h)("img", {
|
|
1188
|
-
alt: true,
|
|
1189
|
-
class: "image-attachment__img",
|
|
1190
|
-
src: this.props.store.replaceFileUrl(image.thumbnail_url || image.url),
|
|
1191
|
-
onload: e => this.props.onLoad && this.props.onLoad()
|
|
1192
|
-
})));
|
|
1193
|
-
}
|
|
1194
|
-
let {
|
|
1195
|
-
width,
|
|
1196
|
-
height
|
|
1197
|
-
} = this.calculateImageDimension(image);
|
|
1198
|
-
let url = this.props.store.replaceFileUrl(image.thumbnail_url || image.url);
|
|
1199
|
-
let trueUrl = this.props.store.replaceFileUrl(image.url);
|
|
1200
|
-
if (this.state.errorIndecies.includes(index)) {
|
|
1201
|
-
url = __webpack_require__(9270);
|
|
1202
|
-
trueUrl = url;
|
|
1203
|
-
}
|
|
1204
|
-
return (0,preact_module.h)("div", {
|
|
1205
|
-
class: `image-attachment image-attachment--${byType}`
|
|
1206
|
-
}, (0,preact_module.h)("a", {
|
|
1207
|
-
href: trueUrl,
|
|
1208
|
-
target: "_blank"
|
|
1209
|
-
}, (0,preact_module.h)("img", {
|
|
1210
|
-
alt: true,
|
|
1211
|
-
ref: el => {
|
|
1212
|
-
if (el) {
|
|
1213
|
-
el.style.setProperty('width', `${width}px`, 'important');
|
|
1214
|
-
el.style.setProperty('height', `${height}px`, 'important');
|
|
1215
|
-
}
|
|
1216
|
-
},
|
|
1217
|
-
class: "image-attachment__img",
|
|
1218
|
-
src: url,
|
|
1219
|
-
onload: e => this.props.onLoad && this.props.onLoad(),
|
|
1220
|
-
onerror: e => this.onErrorImage(index)
|
|
1221
|
-
})));
|
|
1222
1123
|
}
|
|
1223
1124
|
render() {
|
|
1224
|
-
var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1125
|
+
var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1225
1126
|
var images = [];
|
|
1226
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1227
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
1127
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1128
|
+
util/* default.each */.Z.each(attachments, (att, i) => {
|
|
1228
1129
|
if (!att) return;
|
|
1229
|
-
if (!util/* default */.Z.includes(att.mimetype, 'image')) return;
|
|
1130
|
+
if (!util/* default.includes */.Z.includes(att.mimetype, 'image')) return;
|
|
1230
1131
|
if (!att.url) return;
|
|
1231
1132
|
var uri = att.url;
|
|
1232
1133
|
if (!uri.startsWith('https://') && !uri.startsWith('http://') && !uri.startsWith('content://') && !uri.startsWith('data:')) {
|
|
@@ -1235,16 +1136,24 @@ class ImageAttachment extends common/* Com */.up {
|
|
|
1235
1136
|
images.push(att);
|
|
1236
1137
|
});
|
|
1237
1138
|
if (images.length === 0) return null;
|
|
1238
|
-
|
|
1139
|
+
var $images = util/* default.map */.Z.map(images, (image, index) => (0,preact_module.h)("div", {
|
|
1140
|
+
class: `image-attachment image-attachment--${byType}`
|
|
1141
|
+
}, (0,preact_module.h)("a", {
|
|
1142
|
+
href: this.props.store.replaceFileUrl(image.thumbnail_url || image.url),
|
|
1143
|
+
target: "_blank"
|
|
1144
|
+
}, (0,preact_module.h)("img", {
|
|
1145
|
+
alt: true,
|
|
1146
|
+
class: "image-attachment__img",
|
|
1147
|
+
src: this.props.store.replaceFileUrl(image.thumbnail_url || image.url),
|
|
1148
|
+
onload: e => this.props.onLoad && this.props.onLoad()
|
|
1149
|
+
}))));
|
|
1239
1150
|
if (byType === 'agent') {
|
|
1240
1151
|
return (0,preact_module.h)("div", {
|
|
1241
|
-
class: "message-agent"
|
|
1242
|
-
ref: this.containerRef
|
|
1152
|
+
class: "message-agent"
|
|
1243
1153
|
}, $images);
|
|
1244
1154
|
} else {
|
|
1245
1155
|
return (0,preact_module.h)("div", {
|
|
1246
|
-
class: "message-user
|
|
1247
|
-
ref: this.containerRef
|
|
1156
|
+
class: "message-user"
|
|
1248
1157
|
}, $images);
|
|
1249
1158
|
}
|
|
1250
1159
|
}
|
|
@@ -1258,15 +1167,15 @@ class AudioAttachments extends common/* Com */.up {
|
|
|
1258
1167
|
super(props);
|
|
1259
1168
|
}
|
|
1260
1169
|
render() {
|
|
1261
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1262
|
-
var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1170
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1171
|
+
var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1263
1172
|
var audios = [];
|
|
1264
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
1173
|
+
util/* default.each */.Z.each(attachments, (att, i) => {
|
|
1265
1174
|
if (!att) return;
|
|
1266
|
-
if (util/* default */.Z.includes(att.mimetype, 'audio')) audios.push(att);
|
|
1175
|
+
if (util/* default.includes */.Z.includes(att.mimetype, 'audio')) audios.push(att);
|
|
1267
1176
|
});
|
|
1268
1177
|
if (audios.length === 0) return null;
|
|
1269
|
-
var $audios = util/* default */.Z.map(audios, (audio, index) => {
|
|
1178
|
+
var $audios = util/* default.map */.Z.map(audios, (audio, index) => {
|
|
1270
1179
|
return (0,preact_module.h)("div", {
|
|
1271
1180
|
key: index,
|
|
1272
1181
|
class: `audio-attachment audio-attachment--${byType}`
|
|
@@ -1289,18 +1198,18 @@ class AudioAttachments extends common/* Com */.up {
|
|
|
1289
1198
|
|
|
1290
1199
|
class FileAttachments extends common/* Com */.up {
|
|
1291
1200
|
render() {
|
|
1292
|
-
var byType = util/* default */.Z.get(this.props.ev, 'by.type', 'agent');
|
|
1293
|
-
var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1201
|
+
var byType = util/* default.get */.Z.get(this.props.ev, 'by.type', 'agent');
|
|
1202
|
+
var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1294
1203
|
var files = [];
|
|
1295
|
-
util/* default */.Z.each(attachments, att => {
|
|
1204
|
+
util/* default.each */.Z.each(attachments, att => {
|
|
1296
1205
|
if (!att) return;
|
|
1297
1206
|
if (!att.url && !att._file) return;
|
|
1298
|
-
if (!util/* default */.Z.includes(att.mimetype, 'video') && !util/* default */.Z.includes(att.mimetype, 'audio') && !util/* default */.Z.includes(att.mimetype, 'image') && att.type !== 'button' && att.type !== 'quick_replies' && att.type !== 'form' && att.type !== 'form_submit') {
|
|
1207
|
+
if (!util/* default.includes */.Z.includes(att.mimetype, 'video') && !util/* default.includes */.Z.includes(att.mimetype, 'audio') && !util/* default.includes */.Z.includes(att.mimetype, 'image') && att.type !== 'button' && att.type !== 'quick_replies' && att.type !== 'form' && att.type !== 'form_submit') {
|
|
1299
1208
|
files.push(att);
|
|
1300
1209
|
}
|
|
1301
1210
|
});
|
|
1302
1211
|
if (files.length === 0) return null;
|
|
1303
|
-
var $files = util/* default */.Z.map(files, (file, index) => {
|
|
1212
|
+
var $files = util/* default.map */.Z.map(files, (file, index) => {
|
|
1304
1213
|
return (0,preact_module.h)("div", {
|
|
1305
1214
|
key: index,
|
|
1306
1215
|
class: `file-attachment file-attachment--${byType}`
|
|
@@ -1328,8 +1237,8 @@ class Buttons extends common/* Com */.up {
|
|
|
1328
1237
|
super(props);
|
|
1329
1238
|
}
|
|
1330
1239
|
render() {
|
|
1331
|
-
if (util/* default */.Z.size(this.props.buttons) === 0) return null;
|
|
1332
|
-
var $buttons = util/* default */.Z.map(this.props.buttons, (button, index) => {
|
|
1240
|
+
if (util/* default.size */.Z.size(this.props.buttons) === 0) return null;
|
|
1241
|
+
var $buttons = util/* default.map */.Z.map(this.props.buttons, (button, index) => {
|
|
1333
1242
|
if (button.type === 'call_button') {
|
|
1334
1243
|
return (0,preact_module.h)("a", {
|
|
1335
1244
|
class: "url-button-attachment",
|
|
@@ -1373,13 +1282,13 @@ class ButtonAttachments extends common/* Com */.up {
|
|
|
1373
1282
|
super(props);
|
|
1374
1283
|
}
|
|
1375
1284
|
render() {
|
|
1376
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1285
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1377
1286
|
if (byType === 'user') return null;
|
|
1378
1287
|
let buttons = [];
|
|
1379
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1380
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
1381
|
-
if (!att || util/* default */.Z.get(att, 'type') !== 'button') return;
|
|
1382
|
-
util/* default */.Z.each(util/* default */.Z.get(att, 'buttons') || [], btn => buttons.push(btn));
|
|
1288
|
+
let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1289
|
+
util/* default.each */.Z.each(attachments, (att, i) => {
|
|
1290
|
+
if (!att || util/* default.get */.Z.get(att, 'type') !== 'button') return;
|
|
1291
|
+
util/* default.each */.Z.each(util/* default.get */.Z.get(att, 'buttons') || [], btn => buttons.push(btn));
|
|
1383
1292
|
});
|
|
1384
1293
|
return (0,preact_module.h)(Buttons, {
|
|
1385
1294
|
store: this.props.store,
|
|
@@ -1397,21 +1306,21 @@ class QuickReplies extends common/* Com */.up {
|
|
|
1397
1306
|
super(props);
|
|
1398
1307
|
}
|
|
1399
1308
|
render() {
|
|
1400
|
-
if (util/* default */.Z.get(this.props.ev, 'by.type') === 'user') return null;
|
|
1309
|
+
if (util/* default.get */.Z.get(this.props.ev, 'by.type') === 'user') return null;
|
|
1401
1310
|
let quickreplies = [];
|
|
1402
|
-
util/* default */.Z.map(util/* default */.Z.get(this.props.ev, 'data.message.attachments', []), att => {
|
|
1311
|
+
util/* default.map */.Z.map(util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []), att => {
|
|
1403
1312
|
if (!att) return;
|
|
1404
1313
|
if (att.type === 'quick_replies') {
|
|
1405
|
-
quickreplies = util/* default */.Z.get(att, 'quick_replies', []);
|
|
1314
|
+
quickreplies = util/* default.get */.Z.get(att, 'quick_replies', []);
|
|
1406
1315
|
}
|
|
1407
1316
|
});
|
|
1408
|
-
quickreplies = util/* default */.Z.filter(quickreplies, r => r.title);
|
|
1317
|
+
quickreplies = util/* default.filter */.Z.filter(quickreplies, r => r.title);
|
|
1409
1318
|
if (quickreplies.length === 0) return null;
|
|
1410
|
-
let cid = util/* default */.Z.convoOfEv(this.props.ev);
|
|
1319
|
+
let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.ev);
|
|
1411
1320
|
let convo = this.props.store.matchConvo(cid);
|
|
1412
|
-
if (util/* default */.Z.get(convo, 'state') === 'ended') return null;
|
|
1413
|
-
let events = util/* default */.Z.map(this.props.store.listEvents(cid));
|
|
1414
|
-
events = util/* default */.Z.orderBy(events, 'created', 'asc').filter(ev => ev.type === 'message_sent');
|
|
1321
|
+
if (util/* default.get */.Z.get(convo, 'state') === 'ended') return null;
|
|
1322
|
+
let events = util/* default.map */.Z.map(this.props.store.listEvents(cid));
|
|
1323
|
+
events = util/* default.orderBy */.Z.orderBy(events, 'created', 'asc').filter(ev => ev.type === 'message_sent');
|
|
1415
1324
|
let evindex = 0;
|
|
1416
1325
|
for (var i = 0; i < events.length; i++) {
|
|
1417
1326
|
if (events[i].id === this.props.ev.id) {
|
|
@@ -1420,9 +1329,9 @@ class QuickReplies extends common/* Com */.up {
|
|
|
1420
1329
|
}
|
|
1421
1330
|
}
|
|
1422
1331
|
for (var i = evindex + 1; i < events.length; i++) {
|
|
1423
|
-
if (util/* default */.Z.get(events[i], 'by.type') === 'user') return null;
|
|
1332
|
+
if (util/* default.get */.Z.get(events[i], 'by.type') === 'user') return null;
|
|
1424
1333
|
}
|
|
1425
|
-
let $replies = util/* default */.Z.map(quickreplies, r => (0,preact_module.h)("div", {
|
|
1334
|
+
let $replies = util/* default.map */.Z.map(quickreplies, r => (0,preact_module.h)("div", {
|
|
1426
1335
|
class: "message_quick_reply",
|
|
1427
1336
|
onClick: e => this.props.onSelect(r)
|
|
1428
1337
|
}, r.title));
|
|
@@ -1444,18 +1353,18 @@ class ListField extends common/* Com */.up {
|
|
|
1444
1353
|
});
|
|
1445
1354
|
}
|
|
1446
1355
|
render() {
|
|
1447
|
-
let fields = util/* default */.Z.filter(this.props.items, item => {
|
|
1356
|
+
let fields = util/* default.filter */.Z.filter(this.props.items, item => {
|
|
1448
1357
|
let search = this.state.search.toLowerCase();
|
|
1449
1358
|
let name = item || '';
|
|
1450
1359
|
return name.toLowerCase().indexOf(search) > -1;
|
|
1451
1360
|
});
|
|
1452
|
-
let $fields = util/* default */.Z.map(fields, field => {
|
|
1361
|
+
let $fields = util/* default.map */.Z.map(fields, field => {
|
|
1453
1362
|
return (0,preact_module.h)("li", {
|
|
1454
1363
|
class: "custom-select--item-options",
|
|
1455
1364
|
onClick: () => this.add(field)
|
|
1456
1365
|
}, field);
|
|
1457
1366
|
});
|
|
1458
|
-
let $selected = util/* default */.Z.map(this.props.selected, (item, i) => {
|
|
1367
|
+
let $selected = util/* default.map */.Z.map(this.props.selected, (item, i) => {
|
|
1459
1368
|
return (0,preact_module.h)("div", {
|
|
1460
1369
|
class: "custom-select--selected-item",
|
|
1461
1370
|
onClick: e => this.remove(e, i)
|
|
@@ -1536,16 +1445,16 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1536
1445
|
super(props);
|
|
1537
1446
|
this.props.store.onUpdate(this, _ => this.forceUpdate());
|
|
1538
1447
|
let user = this.props.store.matchUser();
|
|
1539
|
-
let fields = util/* default */.Z.get(this.props.form, 'fields') || [];
|
|
1540
|
-
let formData = util/* default */.Z.map(fields, field => {
|
|
1448
|
+
let fields = util/* default.get */.Z.get(this.props.form, 'fields') || [];
|
|
1449
|
+
let formData = util/* default.map */.Z.map(fields, field => {
|
|
1541
1450
|
let is_required = field.is_required || false;
|
|
1542
|
-
var state = util/* default */.Z.parseJSON(field.state) || {};
|
|
1451
|
+
var state = util/* default.parseJSON */.Z.parseJSON(field.state) || {};
|
|
1543
1452
|
if (!is_required) is_required = state.require || false;
|
|
1544
|
-
var userattr = util/* default */.Z.getUserAttr(user, field.name, state.type || 'text');
|
|
1453
|
+
var userattr = util/* default.getUserAttr */.Z.getUserAttr(user, field.name, state.type || 'text');
|
|
1545
1454
|
return {
|
|
1546
1455
|
name: field.name,
|
|
1547
1456
|
items: field.items,
|
|
1548
|
-
value: util/* default */.Z.parseJSON(field.answer) || util/* default */.Z.parseJSON(field.default_answer) || userattr,
|
|
1457
|
+
value: util/* default.parseJSON */.Z.parseJSON(field.answer) || util/* default.parseJSON */.Z.parseJSON(field.default_answer) || userattr,
|
|
1549
1458
|
is_required,
|
|
1550
1459
|
label: field.title,
|
|
1551
1460
|
type: field.input_type
|
|
@@ -1556,13 +1465,13 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1556
1465
|
});
|
|
1557
1466
|
}
|
|
1558
1467
|
isSummited() {
|
|
1559
|
-
let found = util/* default */.Z.find(this.state.formData, field => !!field.answered);
|
|
1468
|
+
let found = util/* default.find */.Z.find(this.state.formData, field => !!field.answered);
|
|
1560
1469
|
if (found) return true;
|
|
1561
|
-
let convo = this.props.store.matchConvo(util/* default */.Z.convoOfEv(this.props.ev));
|
|
1470
|
+
let convo = this.props.store.matchConvo(util/* default.convoOfEv */.Z.convoOfEv(this.props.ev));
|
|
1562
1471
|
return convo.state === 'ended';
|
|
1563
1472
|
}
|
|
1564
1473
|
render() {
|
|
1565
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return null;
|
|
1474
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
|
|
1566
1475
|
let $fields = this.renderFields();
|
|
1567
1476
|
let $submitbutton = null;
|
|
1568
1477
|
if (!this.isSummited()) {
|
|
@@ -1581,11 +1490,11 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1581
1490
|
}
|
|
1582
1491
|
focus() {
|
|
1583
1492
|
if (this.props.store.isPreview) return;
|
|
1584
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return;
|
|
1493
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return;
|
|
1585
1494
|
let $field;
|
|
1586
1495
|
if (this.isFormFilled()) {
|
|
1587
1496
|
var keys = Object.keys(this.state.formData);
|
|
1588
|
-
var lastkey = keys[util/* default */.Z.size(keys) - 1];
|
|
1497
|
+
var lastkey = keys[util/* default.size */.Z.size(keys) - 1];
|
|
1589
1498
|
var lastfield = this.state.formData[lastkey];
|
|
1590
1499
|
$field = this['field.' + encode(lastfield.name)];
|
|
1591
1500
|
} else {
|
|
@@ -1596,20 +1505,20 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1596
1505
|
if ($field) $field.focus();
|
|
1597
1506
|
}
|
|
1598
1507
|
firstUnfilledField() {
|
|
1599
|
-
return util/* default */.Z.find(this.state.formData, field => field.value == null || field.value === '');
|
|
1508
|
+
return util/* default.find */.Z.find(this.state.formData, field => field.value == null || field.value === '');
|
|
1600
1509
|
}
|
|
1601
1510
|
isFormFilled() {
|
|
1602
|
-
return !util/* default */.Z.find(this.state.formData, field => field.value == null || field.value === '');
|
|
1511
|
+
return !util/* default.find */.Z.find(this.state.formData, field => field.value == null || field.value === '');
|
|
1603
1512
|
}
|
|
1604
1513
|
onInputChange(index, val) {
|
|
1605
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1514
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1606
1515
|
formData[index].value = val;
|
|
1607
1516
|
this.setState({
|
|
1608
1517
|
formData
|
|
1609
1518
|
});
|
|
1610
1519
|
}
|
|
1611
1520
|
onListAddItem(index, val) {
|
|
1612
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1521
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1613
1522
|
let field = formData[index];
|
|
1614
1523
|
field.value = field.value || [];
|
|
1615
1524
|
field.value.push(val);
|
|
@@ -1618,7 +1527,7 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1618
1527
|
});
|
|
1619
1528
|
}
|
|
1620
1529
|
onListRemoveItem(index, vindex) {
|
|
1621
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1530
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1622
1531
|
let field = formData[index];
|
|
1623
1532
|
field.value = field.value || [];
|
|
1624
1533
|
field.value.splice(vindex, 1);
|
|
@@ -1627,9 +1536,9 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1627
1536
|
});
|
|
1628
1537
|
}
|
|
1629
1538
|
renderFields() {
|
|
1630
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return null;
|
|
1539
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
|
|
1631
1540
|
let $fields = null;
|
|
1632
|
-
$fields = util/* default */.Z.map(this.state.formData, (field, index) => {
|
|
1541
|
+
$fields = util/* default.map */.Z.map(this.state.formData, (field, index) => {
|
|
1633
1542
|
let $field = null;
|
|
1634
1543
|
var errclass = field.error ? 'input--error' : '';
|
|
1635
1544
|
if (field.type === 'text') {
|
|
@@ -1705,7 +1614,7 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1705
1614
|
}, (0,preact_module.h)("div", null)));
|
|
1706
1615
|
} else if (field.type === 'list') {
|
|
1707
1616
|
let selected = field.value || [];
|
|
1708
|
-
let items = util/* default */.Z.filter(util/* default */.Z.get(field, 'items', []), item => !selected.includes(item));
|
|
1617
|
+
let items = util/* default.filter */.Z.filter(util/* default.get */.Z.get(field, 'items', []), item => !selected.includes(item));
|
|
1709
1618
|
$field = (0,preact_module.h)(ListField, {
|
|
1710
1619
|
selected: selected,
|
|
1711
1620
|
items: items,
|
|
@@ -1743,15 +1652,15 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1743
1652
|
}
|
|
1744
1653
|
async submit() {
|
|
1745
1654
|
var hasError = false;
|
|
1746
|
-
util/* default */.Z.map(this.state.formData, field => {
|
|
1747
|
-
if (field.is_required && (field.value === undefined || field.value === '' || util/* default */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
|
|
1655
|
+
util/* default.map */.Z.map(this.state.formData, field => {
|
|
1656
|
+
if (field.is_required && (field.value === undefined || field.value === '' || util/* default.size */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
|
|
1748
1657
|
field.error = this.props.t('error_empty');
|
|
1749
1658
|
hasError = true;
|
|
1750
1659
|
} else {
|
|
1751
1660
|
field.error = '';
|
|
1752
1661
|
}
|
|
1753
1662
|
if (field.name === 'emails' && field.value) {
|
|
1754
|
-
if (!util/* default */.Z.isEmail(field.value)) {
|
|
1663
|
+
if (!util/* default.isEmail */.Z.isEmail(field.value)) {
|
|
1755
1664
|
field.error = this.props.t('error_email_invalid');
|
|
1756
1665
|
hasError = true;
|
|
1757
1666
|
}
|
|
@@ -1760,32 +1669,32 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1760
1669
|
this.forceUpdate();
|
|
1761
1670
|
if (hasError) return;
|
|
1762
1671
|
let user = {};
|
|
1763
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1764
|
-
util/* default */.Z.map(formData, field => {
|
|
1672
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1673
|
+
util/* default.map */.Z.map(formData, field => {
|
|
1765
1674
|
var attr = {
|
|
1766
1675
|
key: field.name
|
|
1767
1676
|
};
|
|
1768
|
-
field.answered = new util/* default */.Z.Date().getTime();
|
|
1677
|
+
field.answered = new util/* default.Date */.Z.Date().getTime();
|
|
1769
1678
|
if (field.type === 'number') {
|
|
1770
1679
|
attr.number = parseInt(field.value);
|
|
1771
|
-
field.answer = util/* default */.Z.stringify(attr.number);
|
|
1680
|
+
field.answer = util/* default.stringify */.Z.stringify(attr.number);
|
|
1772
1681
|
}
|
|
1773
1682
|
if (field.type === 'datetime') {
|
|
1774
|
-
attr.datetime = new util/* default */.Z.Date(field.value).toISOString();
|
|
1775
|
-
field.answer = util/* default */.Z.stringify(attr.datetime);
|
|
1683
|
+
attr.datetime = new util/* default.Date */.Z.Date(field.value).toISOString();
|
|
1684
|
+
field.answer = util/* default.stringify */.Z.stringify(attr.datetime);
|
|
1776
1685
|
}
|
|
1777
1686
|
if (field.type === 'list') {
|
|
1778
1687
|
attr.list = field.value;
|
|
1779
|
-
field.answer = util/* default */.Z.stringify(attr.list);
|
|
1688
|
+
field.answer = util/* default.stringify */.Z.stringify(attr.list);
|
|
1780
1689
|
}
|
|
1781
1690
|
if (field.type === 'text' || field.type === 'boolean') {
|
|
1782
1691
|
attr[field.type] = field.value;
|
|
1783
|
-
field.answer = util/* default */.Z.stringify(field.value);
|
|
1692
|
+
field.answer = util/* default.stringify */.Z.stringify(field.value);
|
|
1784
1693
|
}
|
|
1785
|
-
util/* default */.Z.setUserAttr(user, attr);
|
|
1694
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, attr);
|
|
1786
1695
|
});
|
|
1787
|
-
util/* default */.Z.map(formData, field => {
|
|
1788
|
-
let ffield = util/* default */.Z.find(this.props.form.fields, ffield => ffield.name === field.name);
|
|
1696
|
+
util/* default.map */.Z.map(formData, field => {
|
|
1697
|
+
let ffield = util/* default.find */.Z.find(this.props.form.fields, ffield => ffield.name === field.name);
|
|
1789
1698
|
if (!ffield) return;
|
|
1790
1699
|
ffield.answered = field.answered;
|
|
1791
1700
|
});
|
|
@@ -1798,12 +1707,12 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1798
1707
|
type: 'form_submit',
|
|
1799
1708
|
form_submit: {
|
|
1800
1709
|
state: '{"user_id":"' + this.props.store.matchUser().id + '"}',
|
|
1801
|
-
form_message_id: util/* default */.Z.get(this.props.ev, 'id'),
|
|
1710
|
+
form_message_id: util/* default.get */.Z.get(this.props.ev, 'id'),
|
|
1802
1711
|
fields: formData
|
|
1803
1712
|
}
|
|
1804
1713
|
}]
|
|
1805
1714
|
};
|
|
1806
|
-
let cid = util/* default */.Z.convoOfEv(this.props.ev);
|
|
1715
|
+
let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.ev);
|
|
1807
1716
|
this.props.store.sendConvoEvent(cid, 'message_sent', {
|
|
1808
1717
|
message
|
|
1809
1718
|
});
|
|
@@ -1823,17 +1732,17 @@ class FormAttachments extends common/* Com */.up {
|
|
|
1823
1732
|
super(props);
|
|
1824
1733
|
}
|
|
1825
1734
|
render() {
|
|
1826
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1735
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1827
1736
|
if (byType === 'user') return;
|
|
1828
1737
|
let forms = [];
|
|
1829
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments') || [];
|
|
1830
|
-
util/* default */.Z.each(attachments, att => {
|
|
1738
|
+
let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments') || [];
|
|
1739
|
+
util/* default.each */.Z.each(attachments, att => {
|
|
1831
1740
|
if (!att) return;
|
|
1832
1741
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return;
|
|
1833
1742
|
att.form._type = att.type;
|
|
1834
1743
|
forms.push(att.form);
|
|
1835
1744
|
});
|
|
1836
|
-
let $forms = util/* default */.Z.map(forms, (form, formIndex) => {
|
|
1745
|
+
let $forms = util/* default.map */.Z.map(forms, (form, formIndex) => {
|
|
1837
1746
|
return (0,preact_module.h)(FormAttachment, {
|
|
1838
1747
|
store: this.props.store,
|
|
1839
1748
|
onSubmit: this.props.onSubmit,
|
|
@@ -1867,14 +1776,14 @@ class FormSubmitAttachments extends common/* Com */.up {
|
|
|
1867
1776
|
render() {
|
|
1868
1777
|
return null;
|
|
1869
1778
|
let submits = [];
|
|
1870
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments') || [];
|
|
1871
|
-
util/* default */.Z.each(attachments, att => {
|
|
1779
|
+
let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments') || [];
|
|
1780
|
+
util/* default.each */.Z.each(attachments, att => {
|
|
1872
1781
|
if (!att) return;
|
|
1873
1782
|
if (att.type !== 'form_submit') return;
|
|
1874
1783
|
if (!att.form_submit) return;
|
|
1875
1784
|
submits.push(att.form_submit);
|
|
1876
1785
|
});
|
|
1877
|
-
let $submits = util/* default */.Z.map(submits, (submit, index) => (0,preact_module.h)("div", {
|
|
1786
|
+
let $submits = util/* default.map */.Z.map(submits, (submit, index) => (0,preact_module.h)("div", {
|
|
1878
1787
|
class: "info-message"
|
|
1879
1788
|
}, (0,preact_module.h)("span", null, this.props.tt('prechat_form_thanks'))));
|
|
1880
1789
|
return (0,preact_module.h)("div", null, $submits);
|
|
@@ -1946,13 +1855,13 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
1946
1855
|
});
|
|
1947
1856
|
}
|
|
1948
1857
|
render() {
|
|
1949
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1858
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1950
1859
|
if (byType === 'user') return null;
|
|
1951
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1952
|
-
let generics = util/* default */.Z.filter(attachments, att => util/* default */.Z.get(att, 'type') === 'generic');
|
|
1860
|
+
let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1861
|
+
let generics = util/* default.filter */.Z.filter(attachments, att => util/* default.get */.Z.get(att, 'type') === 'generic');
|
|
1953
1862
|
if (generics.length === 0) return null;
|
|
1954
|
-
var $generics = util/* default */.Z.map(generics, (gen, index) => {
|
|
1955
|
-
var $eles = util/* default */.Z.map(gen.elements, ele => {
|
|
1863
|
+
var $generics = util/* default.map */.Z.map(generics, (gen, index) => {
|
|
1864
|
+
var $eles = util/* default.map */.Z.map(gen.elements, ele => {
|
|
1956
1865
|
let title = this.props.t.i18n(ele.i18n_title) || ele.title;
|
|
1957
1866
|
let subtitle = this.props.t.i18n(ele.i18n_subtitle) || ele.subtitle;
|
|
1958
1867
|
let $title = title ? (0,preact_module.h)("div", {
|
|
@@ -1979,7 +1888,7 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
1979
1888
|
t: this.props.t
|
|
1980
1889
|
}));
|
|
1981
1890
|
});
|
|
1982
|
-
let elements = util/* default */.Z.get(attachments, '0.elements', []);
|
|
1891
|
+
let elements = util/* default.get */.Z.get(attachments, '0.elements', []);
|
|
1983
1892
|
let leftNavigatorCls = 'generic-attachment-navigator generic-attachment-navigator--left';
|
|
1984
1893
|
let rightNavigatorCls = 'generic-attachment-navigator generic-attachment-navigator--right';
|
|
1985
1894
|
if (this.state.focusing === 0) leftNavigatorCls += ' generic-attachment-navigator--disabled';
|
|
@@ -2006,7 +1915,7 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
2006
1915
|
bindDrag() {
|
|
2007
1916
|
if (!this.props.store.isMobile()) return;
|
|
2008
1917
|
let eles = document.getElementsByClassName('generic-attachment');
|
|
2009
|
-
util/* default */.Z.map(eles, ele => bind(ele, () => {}));
|
|
1918
|
+
util/* default.map */.Z.map(eles, ele => bind(ele, () => {}));
|
|
2010
1919
|
}
|
|
2011
1920
|
}
|
|
2012
1921
|
;// CONCATENATED MODULE: ./src/chatbox/ProductAttachments.js
|
|
@@ -2015,19 +1924,19 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
2015
1924
|
|
|
2016
1925
|
class ProductAttachments extends common/* Com */.up {
|
|
2017
1926
|
render() {
|
|
2018
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1927
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
2019
1928
|
if (byType === 'user') return null;
|
|
2020
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
2021
|
-
let products = util/* default */.Z.filter(attachments, att => util/* default */.Z.get(att, 'type') === 'product' || util/* default */.Z.get(att, 'type') === 'product_preview');
|
|
1929
|
+
let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1930
|
+
let products = util/* default.filter */.Z.filter(attachments, att => util/* default.get */.Z.get(att, 'type') === 'product' || util/* default.get */.Z.get(att, 'type') === 'product_preview');
|
|
2022
1931
|
products = products.filter(product => product.product && product.product.name);
|
|
2023
1932
|
if (products.length === 0) return null;
|
|
2024
1933
|
let acc = this.props.store.matchAccount();
|
|
2025
|
-
let $products = util/* default */.Z.map(products, (att, index) => {
|
|
1934
|
+
let $products = util/* default.map */.Z.map(products, (att, index) => {
|
|
2026
1935
|
let product = att.product;
|
|
2027
1936
|
let $detailbtns = [];
|
|
2028
1937
|
let url = product.url || product.mobile_url;
|
|
2029
1938
|
if (this.props.store.isMobile()) url = product.mobile_url || product.url;
|
|
2030
|
-
if (url && util/* default */.Z.size(product.buttons) == 0) $detailbtns.push((0,preact_module.h)("a", {
|
|
1939
|
+
if (url && util/* default.size */.Z.size(product.buttons) == 0) $detailbtns.push((0,preact_module.h)("a", {
|
|
2031
1940
|
class: "product_attachment__btn",
|
|
2032
1941
|
href: url,
|
|
2033
1942
|
target: "_blank"
|
|
@@ -2036,8 +1945,8 @@ class ProductAttachments extends common/* Com */.up {
|
|
|
2036
1945
|
class: "product_attachment__btn_external_link"
|
|
2037
1946
|
})));
|
|
2038
1947
|
console.log('P', product);
|
|
2039
|
-
if (util/* default */.Z.size(product.buttons) > 0) {
|
|
2040
|
-
$detailbtns = $detailbtns.concat(util/* default */.Z.map(product.buttons, (button, index) => {
|
|
1948
|
+
if (util/* default.size */.Z.size(product.buttons) > 0) {
|
|
1949
|
+
$detailbtns = $detailbtns.concat(util/* default.map */.Z.map(product.buttons, (button, index) => {
|
|
2041
1950
|
if (button.type === 'call_button') {
|
|
2042
1951
|
return (0,preact_module.h)("a", {
|
|
2043
1952
|
class: "product_attachment__btn",
|
|
@@ -2077,12 +1986,12 @@ class ProductAttachments extends common/* Com */.up {
|
|
|
2077
1986
|
if (desc) $subtitle = (0,preact_module.h)("div", {
|
|
2078
1987
|
class: "product_attachment__subtitle"
|
|
2079
1988
|
}, desc);
|
|
2080
|
-
let currency = product.currency || util/* default */.Z.get(acc, 'currency', 'VND');
|
|
1989
|
+
let currency = product.currency || util/* default.get */.Z.get(acc, 'currency', 'VND');
|
|
2081
1990
|
let $price = null;
|
|
2082
1991
|
if (product.price) {
|
|
2083
1992
|
$price = (0,preact_module.h)("div", {
|
|
2084
1993
|
class: "product_attachment__price"
|
|
2085
|
-
}, util/* default */.Z.formatCurrency(product.price, currency));
|
|
1994
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(product.price, currency));
|
|
2086
1995
|
}
|
|
2087
1996
|
let imgsrc = this.props.store.replaceFileUrl(product.image);
|
|
2088
1997
|
if (!product.image) {
|
|
@@ -2109,14 +2018,14 @@ class ProductAttachments extends common/* Com */.up {
|
|
|
2109
2018
|
|
|
2110
2019
|
class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
2111
2020
|
render() {
|
|
2112
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
2021
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
2113
2022
|
if (byType === 'user') return null;
|
|
2114
2023
|
let acc = this.props.store.matchAccount();
|
|
2115
|
-
var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
2116
|
-
let orders = util/* default */.Z.filter(attachments, att => att.type === 'order' && att.order).map(att => att.order);
|
|
2024
|
+
var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
2025
|
+
let orders = util/* default.filter */.Z.filter(attachments, att => att.type === 'order' && att.order).map(att => att.order);
|
|
2117
2026
|
if (orders.length === 0) return null;
|
|
2118
|
-
let $orders = util/* default */.Z.map(orders, (order, index) => {
|
|
2119
|
-
util/* default */.Z.calcOrderTotal(order);
|
|
2027
|
+
let $orders = util/* default.map */.Z.map(orders, (order, index) => {
|
|
2028
|
+
util/* default.calcOrderTotal */.Z.calcOrderTotal(order);
|
|
2120
2029
|
let $note = null;
|
|
2121
2030
|
if (order.note) {
|
|
2122
2031
|
$note = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
@@ -2127,17 +2036,17 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2127
2036
|
}, order.note));
|
|
2128
2037
|
}
|
|
2129
2038
|
let $products = null;
|
|
2130
|
-
if (util/* default */.Z.size(order.items) > 0) {
|
|
2039
|
+
if (util/* default.size */.Z.size(order.items) > 0) {
|
|
2131
2040
|
$products = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
2132
2041
|
class: "order_attachment__label"
|
|
2133
|
-
}, this.props.t('product')), util/* default */.Z.map(order.items, item => {
|
|
2042
|
+
}, this.props.t('product')), util/* default.map */.Z.map(order.items, item => {
|
|
2134
2043
|
let product = item.product || {};
|
|
2135
2044
|
return (0,preact_module.h)("div", {
|
|
2136
2045
|
class: "order_attachment__product"
|
|
2137
2046
|
}, (0,preact_module.h)("img", {
|
|
2138
2047
|
class: "order_attachment__product_img",
|
|
2139
|
-
alt: '' + util/* default */.Z.get(product, 'id'),
|
|
2140
|
-
src: util/* default */.Z.get(product, 'image', __webpack_require__(9270))
|
|
2048
|
+
alt: '' + util/* default.get */.Z.get(product, 'id'),
|
|
2049
|
+
src: util/* default.get */.Z.get(product, 'image', __webpack_require__(9270))
|
|
2141
2050
|
}), (0,preact_module.h)("div", {
|
|
2142
2051
|
style: "overflow: hidden !important;"
|
|
2143
2052
|
}, (0,preact_module.h)("div", {
|
|
@@ -2145,9 +2054,9 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2145
2054
|
title: this.props.t.i18n(product.i18n_name) || product.name
|
|
2146
2055
|
}, this.props.t.i18n(product.i18n_name) || product.name), (0,preact_module.h)("div", {
|
|
2147
2056
|
class: "order_attachment__product_desc"
|
|
2148
|
-
}, util/* default */.Z.getProductPropName(product, ' / ')), (0,preact_module.h)("div", {
|
|
2057
|
+
}, util/* default.getProductPropName */.Z.getProductPropName(product, ' / ')), (0,preact_module.h)("div", {
|
|
2149
2058
|
class: "order_attachment__product_desc"
|
|
2150
|
-
}, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default */.Z.formatCurrency(product.price))));
|
|
2059
|
+
}, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default.formatCurrency */.Z.formatCurrency(product.price))));
|
|
2151
2060
|
}));
|
|
2152
2061
|
}
|
|
2153
2062
|
let $total = (0,preact_module.h)("div", {
|
|
@@ -2156,19 +2065,19 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2156
2065
|
class: "d-flex align-items-center justify-content-between"
|
|
2157
2066
|
}, (0,preact_module.h)("div", null, this.props.t('total')), ' ', (0,preact_module.h)("div", null, (0,preact_module.h)("b", {
|
|
2158
2067
|
class: "order_attachment__total"
|
|
2159
|
-
}, util/* default */.Z.formatCurrency(order.total)))));
|
|
2160
|
-
let phoneattr = util/* default */.Z.find(util/* default */.Z.get(order, 'user.attributes', []), attr => attr.key === 'phones') || {
|
|
2068
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.total)))));
|
|
2069
|
+
let phoneattr = util/* default.find */.Z.find(util/* default.get */.Z.get(order, 'user.attributes', []), attr => attr.key === 'phones') || {
|
|
2161
2070
|
key: 'phones',
|
|
2162
2071
|
text: ''
|
|
2163
2072
|
};
|
|
2164
|
-
let phone = util/* default */.Z.get(order, 'shipping.address.phone', '').trim();
|
|
2165
|
-
phone = phone || util/* default */.Z.trim(phoneattr.text);
|
|
2073
|
+
let phone = util/* default.get */.Z.get(order, 'shipping.address.phone', '').trim();
|
|
2074
|
+
phone = phone || util/* default.trim */.Z.trim(phoneattr.text);
|
|
2166
2075
|
if (phone) phone = this.props.t('phn') + ': ' + phone;
|
|
2167
2076
|
let $shipto = null;
|
|
2168
|
-
if (util/* default */.Z.displayOrderShippingAddress(order) || phone) {
|
|
2077
|
+
if (util/* default.displayOrderShippingAddress */.Z.displayOrderShippingAddress(order) || phone) {
|
|
2169
2078
|
$shipto = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
2170
2079
|
class: "order_attachment__label"
|
|
2171
|
-
}, this.props.t('ship_to')), (0,preact_module.h)("div", null, util/* default */.Z.displayOrderShippingAddress(order)), (0,preact_module.h)("div", {
|
|
2080
|
+
}, this.props.t('ship_to')), (0,preact_module.h)("div", null, util/* default.displayOrderShippingAddress */.Z.displayOrderShippingAddress(order)), (0,preact_module.h)("div", {
|
|
2172
2081
|
class: "order_attachment__text_truncate"
|
|
2173
2082
|
}, phone));
|
|
2174
2083
|
}
|
|
@@ -2180,11 +2089,11 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2180
2089
|
class: "d-flex align-items-center justify-content-between"
|
|
2181
2090
|
}, (0,preact_module.h)("div", {
|
|
2182
2091
|
class: "order_attachment__label no_margin"
|
|
2183
|
-
}, this.props.t('subtotal_before_tax')), ' ', (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order._order_value))), (0,preact_module.h)("div", {
|
|
2092
|
+
}, this.props.t('subtotal_before_tax')), ' ', (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order._order_value))), (0,preact_module.h)("div", {
|
|
2184
2093
|
class: "d-flex align-items-center justify-content-between"
|
|
2185
2094
|
}, (0,preact_module.h)("div", {
|
|
2186
2095
|
class: "order_attachment__label no_margin"
|
|
2187
|
-
}, this.props.t('discount_before_tax')), ' ', (0,preact_module.h)("div", null, "-", util/* default */.Z.formatCurrency(order._discount_before_tax))));
|
|
2096
|
+
}, this.props.t('discount_before_tax')), ' ', (0,preact_module.h)("div", null, "-", util/* default.formatCurrency */.Z.formatCurrency(order._discount_before_tax))));
|
|
2188
2097
|
}
|
|
2189
2098
|
let $subtotal = (0,preact_module.h)("div", {
|
|
2190
2099
|
class: "d-flex align-items-center justify-content-between"
|
|
@@ -2192,12 +2101,12 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2192
2101
|
class: "order_attachment__label no_margin"
|
|
2193
2102
|
}, this.props.t('subtotal')), ' ', (0,preact_module.h)("div", {
|
|
2194
2103
|
style: ""
|
|
2195
|
-
}, util/* default */.Z.formatCurrency(order.subtotal)));
|
|
2104
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.subtotal)));
|
|
2196
2105
|
let $tax = null;
|
|
2197
2106
|
if (order.total_tax) {
|
|
2198
2107
|
let taxname = '';
|
|
2199
|
-
if (util/* default */.Z.size(order._taxM) === 1) {
|
|
2200
|
-
let tax = util/* default */.Z.get(order._taxM, '0.tax', {});
|
|
2108
|
+
if (util/* default.size */.Z.size(order._taxM) === 1) {
|
|
2109
|
+
let tax = util/* default.get */.Z.get(order._taxM, '0.tax', {});
|
|
2201
2110
|
if (tax.name && tax.percentage) taxname = `(${tax.name} ${Math.round(tax.percentage || 0) / 100}%)`;
|
|
2202
2111
|
}
|
|
2203
2112
|
$tax = (0,preact_module.h)("div", {
|
|
@@ -2206,7 +2115,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2206
2115
|
class: "order_attachment__label no_margin"
|
|
2207
2116
|
}, this.props.t('tax'), " ", taxname), (0,preact_module.h)("div", {
|
|
2208
2117
|
style: ""
|
|
2209
|
-
}, util/* default */.Z.formatCurrency(order.total_tax)));
|
|
2118
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.total_tax)));
|
|
2210
2119
|
}
|
|
2211
2120
|
let $discount = null;
|
|
2212
2121
|
if (order.discount_type === 'percentage' && order.discount_percentage) {
|
|
@@ -2216,7 +2125,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2216
2125
|
class: "order_attachment__label no_margin"
|
|
2217
2126
|
}, this.props.t('discount_after_tax'), " (", Math.round(order.discount_percentage / 100), "%)"), ' ', (0,preact_module.h)("div", {
|
|
2218
2127
|
style: ""
|
|
2219
|
-
}, "-", util/* default */.Z.formatCurrency(order._computed_discount)));
|
|
2128
|
+
}, "-", util/* default.formatCurrency */.Z.formatCurrency(order._computed_discount)));
|
|
2220
2129
|
}
|
|
2221
2130
|
if (order.discount_type === 'amount' && order.discount_amount) {
|
|
2222
2131
|
$discount = (0,preact_module.h)("div", {
|
|
@@ -2225,17 +2134,17 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2225
2134
|
class: "order_attachment__label no_margin"
|
|
2226
2135
|
}, this.props.t('discount_after_tax')), ' ', (0,preact_module.h)("div", {
|
|
2227
2136
|
class: "no-shrink"
|
|
2228
|
-
}, "-", util/* default */.Z.formatCurrency(order._computed_discount)));
|
|
2137
|
+
}, "-", util/* default.formatCurrency */.Z.formatCurrency(order._computed_discount)));
|
|
2229
2138
|
}
|
|
2230
2139
|
let $shipping = null;
|
|
2231
|
-
if (util/* default */.Z.get(order, 'shipping.nominal_fee')) {
|
|
2140
|
+
if (util/* default.get */.Z.get(order, 'shipping.nominal_fee')) {
|
|
2232
2141
|
$shipping = (0,preact_module.h)("div", {
|
|
2233
2142
|
class: "d-flex align-items-center justify-content-between"
|
|
2234
2143
|
}, (0,preact_module.h)("div", {
|
|
2235
2144
|
class: "order_attachment__label no_margin"
|
|
2236
2145
|
}, this.props.t('shipping_fee')), ' ', (0,preact_module.h)("div", {
|
|
2237
2146
|
style: ""
|
|
2238
|
-
}, util/* default */.Z.formatCurrency(util/* default */.Z.get(order, 'shipping.nominal_fee', 0))));
|
|
2147
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(util/* default.get */.Z.get(order, 'shipping.nominal_fee', 0))));
|
|
2239
2148
|
}
|
|
2240
2149
|
let $adjustment = null;
|
|
2241
2150
|
if (order.adjustment) {
|
|
@@ -2245,7 +2154,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2245
2154
|
class: "order_attachment__label no_margin"
|
|
2246
2155
|
}, order.adjustment_description), ' ', (0,preact_module.h)("div", {
|
|
2247
2156
|
class: "no-shrink"
|
|
2248
|
-
}, util/* default */.Z.formatCurrency(order.adjustment)));
|
|
2157
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.adjustment)));
|
|
2249
2158
|
}
|
|
2250
2159
|
$subtotal = (0,preact_module.h)("div", {
|
|
2251
2160
|
class: "order_attachment__footer"
|
|
@@ -2259,7 +2168,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2259
2168
|
class: "order_attachment__header"
|
|
2260
2169
|
}, this.props.t('order'), (0,preact_module.h)("span", {
|
|
2261
2170
|
class: "order_attachment__text_muted order_attachment__text_sm"
|
|
2262
|
-
}, util/* default */.Z.getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
|
|
2171
|
+
}, util/* default.getOrderDisplayName */.Z.getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
|
|
2263
2172
|
});
|
|
2264
2173
|
return $orders;
|
|
2265
2174
|
}
|
|
@@ -2273,15 +2182,15 @@ class VideoAttachments extends common/* Com */.up {
|
|
|
2273
2182
|
super(props);
|
|
2274
2183
|
}
|
|
2275
2184
|
render() {
|
|
2276
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
2277
|
-
var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
2185
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
2186
|
+
var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
2278
2187
|
var videos = [];
|
|
2279
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
2188
|
+
util/* default.each */.Z.each(attachments, (att, i) => {
|
|
2280
2189
|
if (!att) return;
|
|
2281
|
-
if (util/* default */.Z.includes(att.mimetype, 'video')) videos.push(att);
|
|
2190
|
+
if (util/* default.includes */.Z.includes(att.mimetype, 'video')) videos.push(att);
|
|
2282
2191
|
});
|
|
2283
2192
|
if (videos.length === 0) return null;
|
|
2284
|
-
var $videos = util/* default */.Z.map(videos, (video, index) => {
|
|
2193
|
+
var $videos = util/* default.map */.Z.map(videos, (video, index) => {
|
|
2285
2194
|
return (0,preact_module.h)("div", {
|
|
2286
2195
|
class: `video-attachment video-attachment--${byType}`
|
|
2287
2196
|
}, (0,preact_module.h)("video", {
|
|
@@ -2300,23 +2209,73 @@ class VideoAttachments extends common/* Com */.up {
|
|
|
2300
2209
|
}, $videos);
|
|
2301
2210
|
}
|
|
2302
2211
|
}
|
|
2212
|
+
;// CONCATENATED MODULE: ./src/chatbox/ShadowDomRoot.js
|
|
2213
|
+
|
|
2214
|
+
|
|
2215
|
+
class ShadowDomRoot extends common/* Com */.up {
|
|
2216
|
+
constructor(props) {
|
|
2217
|
+
super(props);
|
|
2218
|
+
this.ref = (0,preact_module/* createRef */.Vf)();
|
|
2219
|
+
}
|
|
2220
|
+
componentDidMount() {
|
|
2221
|
+
this.shadowRoot = this.ref.current.attachShadow({
|
|
2222
|
+
mode: 'open'
|
|
2223
|
+
});
|
|
2224
|
+
this.update(this.props.html);
|
|
2225
|
+
}
|
|
2226
|
+
update(html) {
|
|
2227
|
+
this.shadowRoot.innerHTML = `<style type="text/css">
|
|
2228
|
+
body { font-family: 'Inter', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }
|
|
2229
|
+
h{ font-size: 14/18px!important; }
|
|
2230
|
+
a { text-decoration: none;}
|
|
2231
|
+
img { max-width: 100%; display: block; margin: 10px auto; }
|
|
2232
|
+
* { white-space: normal }
|
|
2233
|
+
ul > li { margin-bottom: 5px }
|
|
2234
|
+
ul:last-child { margin-bottom: 0 }
|
|
2235
|
+
p { margin-bottom: 0; margin-top: 0;}
|
|
2236
|
+
</style>
|
|
2237
|
+
<div>${html}</div>`;
|
|
2238
|
+
let links = this.shadowRoot.querySelectorAll('a');
|
|
2239
|
+
for (var i = 0; i < links.length; i++) links[i].target = '_blank';
|
|
2240
|
+
}
|
|
2241
|
+
render() {
|
|
2242
|
+
return (0,preact_module.h)("div", {
|
|
2243
|
+
ref: this.ref,
|
|
2244
|
+
style: "white-space: normal !important"
|
|
2245
|
+
});
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2303
2248
|
;// CONCATENATED MODULE: ./src/chatbox/TextMessage.js
|
|
2304
2249
|
|
|
2250
|
+
let mustrerender = [];
|
|
2251
|
+
let marked = (obj, text) => {
|
|
2252
|
+
mustrerender.push(obj);
|
|
2253
|
+
return '';
|
|
2254
|
+
};
|
|
2255
|
+
const loadMarked = () => __webpack_require__.e(/* import() */ 441).then(__webpack_require__.bind(__webpack_require__, 7441));
|
|
2256
|
+
(async () => {
|
|
2257
|
+
let markedf = (await loadMarked()).marked;
|
|
2258
|
+
marked = (obj, text) => markedf(text);
|
|
2259
|
+
util/* default.map */.Z.map(mustrerender, obj => obj.forceUpdate());
|
|
2260
|
+
mustrerender = [];
|
|
2261
|
+
})();
|
|
2262
|
+
|
|
2305
2263
|
|
|
2306
2264
|
|
|
2307
2265
|
|
|
2308
2266
|
class TextMessage extends common/* Com */.up {
|
|
2309
2267
|
render() {
|
|
2310
|
-
var format = util/* default */.Z.get(this.props.ev, 'data.message.format', 'plaintext');
|
|
2268
|
+
var format = util/* default.get */.Z.get(this.props.ev, 'data.message.format', 'plaintext');
|
|
2269
|
+
if (format === 'markdown') return this.renderMarkdown();
|
|
2311
2270
|
if (format === 'delta') return this.renderDelta();
|
|
2312
2271
|
return this.renderPlainText();
|
|
2313
2272
|
}
|
|
2314
2273
|
renderPlainText() {
|
|
2315
|
-
var text = util/* default */.Z.get(this.props.ev, 'data.message.text');
|
|
2316
|
-
text = util/* default */.Z.trim(text);
|
|
2317
|
-
if (util/* default */.Z.size(text) === 0) return null;
|
|
2318
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
2319
|
-
var tags = util/* default */.Z.extractText(text).map(tag => {
|
|
2274
|
+
var text = util/* default.get */.Z.get(this.props.ev, 'data.message.text');
|
|
2275
|
+
text = util/* default.trim */.Z.trim(text);
|
|
2276
|
+
if (util/* default.size */.Z.size(text) === 0) return null;
|
|
2277
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
2278
|
+
var tags = util/* default.extractText */.Z.extractText(text).map(tag => {
|
|
2320
2279
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
2321
2280
|
emojiCode: tag.text,
|
|
2322
2281
|
byType: byType
|
|
@@ -2340,7 +2299,7 @@ class TextMessage extends common/* Com */.up {
|
|
|
2340
2299
|
}, tag.text);
|
|
2341
2300
|
return tag.text;
|
|
2342
2301
|
});
|
|
2343
|
-
if (util/* default */.Z.size(tags) === 0) return null;
|
|
2302
|
+
if (util/* default.size */.Z.size(tags) === 0) return null;
|
|
2344
2303
|
if (byType === 'agent') {
|
|
2345
2304
|
return (0,preact_module.h)("div", {
|
|
2346
2305
|
class: "message-agent message-text--agent"
|
|
@@ -2351,16 +2310,16 @@ class TextMessage extends common/* Com */.up {
|
|
|
2351
2310
|
}, tags);
|
|
2352
2311
|
}
|
|
2353
2312
|
renderDelta() {
|
|
2354
|
-
let deltas = util/* default */.Z.get(this.props.ev, 'data.message.quill_delta') || util/* default */.Z.get(this.props.ev, 'data.message.text');
|
|
2355
|
-
let quilldeltas = util/* default */.Z.parseJSON(deltas) || {};
|
|
2313
|
+
let deltas = util/* default.get */.Z.get(this.props.ev, 'data.message.quill_delta') || util/* default.get */.Z.get(this.props.ev, 'data.message.text');
|
|
2314
|
+
let quilldeltas = util/* default.parseJSON */.Z.parseJSON(deltas) || {};
|
|
2356
2315
|
quilldeltas = trimQuillDelta(quilldeltas);
|
|
2357
|
-
if (!quilldeltas || util/* default */.Z.size(quilldeltas.ops) === 0) return null;
|
|
2358
|
-
let $deltas = util/* default */.Z.map(quilldeltas.ops, delta => {
|
|
2316
|
+
if (!quilldeltas || util/* default.size */.Z.size(quilldeltas.ops) === 0) return null;
|
|
2317
|
+
let $deltas = util/* default.map */.Z.map(quilldeltas.ops, delta => {
|
|
2359
2318
|
let html = '';
|
|
2360
2319
|
let insert = delta.insert;
|
|
2361
2320
|
let attributes = delta.attributes;
|
|
2362
2321
|
if (insert.dynamicField) {
|
|
2363
|
-
return util/* default */.Z.get(insert, 'dynamicField.text', '');
|
|
2322
|
+
return util/* default.get */.Z.get(insert, 'dynamicField.text', '');
|
|
2364
2323
|
}
|
|
2365
2324
|
if (insert.mention) {
|
|
2366
2325
|
if (insert.mention.id == '*' || insert.mention.id == 'all') {
|
|
@@ -2369,7 +2328,7 @@ class TextMessage extends common/* Com */.up {
|
|
|
2369
2328
|
}, "@", this.$t('all'));
|
|
2370
2329
|
}
|
|
2371
2330
|
let ag = store.matchAgent(insert.mention.id);
|
|
2372
|
-
let name = util/* default */.Z.getAgentDisplayName(ag, insert.mention.fullname);
|
|
2331
|
+
let name = util/* default.getAgentDisplayName */.Z.getAgentDisplayName(ag, insert.mention.fullname);
|
|
2373
2332
|
return (0,preact_module.h)("span", {
|
|
2374
2333
|
class: "mention",
|
|
2375
2334
|
"data-agent-id": ag.id,
|
|
@@ -2380,7 +2339,7 @@ class TextMessage extends common/* Com */.up {
|
|
|
2380
2339
|
emojiCode: `:${insert.emoji}:`
|
|
2381
2340
|
});
|
|
2382
2341
|
if (typeof insert === 'string') {
|
|
2383
|
-
let $tags = util/* default */.Z.extractText(insert).map((tag, i) => {
|
|
2342
|
+
let $tags = util/* default.extractText */.Z.extractText(insert).map((tag, i) => {
|
|
2384
2343
|
if (tag.type === 'link') {
|
|
2385
2344
|
return (0,preact_module.h)("a", {
|
|
2386
2345
|
href: absLink(tag.text),
|
|
@@ -2404,9 +2363,9 @@ class TextMessage extends common/* Com */.up {
|
|
|
2404
2363
|
}
|
|
2405
2364
|
return null;
|
|
2406
2365
|
});
|
|
2407
|
-
let byType = util/* default */.Z.get(this.ev, 'by.type');
|
|
2366
|
+
let byType = util/* default.get */.Z.get(this.ev, 'by.type');
|
|
2408
2367
|
if (byType !== 'user') byType = 'agent';
|
|
2409
|
-
if (util/* default */.Z.size($deltas) === 0) return null;
|
|
2368
|
+
if (util/* default.size */.Z.size($deltas) === 0) return null;
|
|
2410
2369
|
if (byType === 'agent') {
|
|
2411
2370
|
return (0,preact_module.h)("div", {
|
|
2412
2371
|
class: "message-agent message-text--agent"
|
|
@@ -2416,6 +2375,46 @@ class TextMessage extends common/* Com */.up {
|
|
|
2416
2375
|
class: "message-user message-text--user"
|
|
2417
2376
|
}, $deltas);
|
|
2418
2377
|
}
|
|
2378
|
+
renderMarkdown(text) {
|
|
2379
|
+
if (!text) text = util/* default.get */.Z.get(this.props.ev, 'data.message.text');
|
|
2380
|
+
if (util/* default.size */.Z.size(text) === 0) return null;
|
|
2381
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
2382
|
+
text = util/* default.trim */.Z.trim(text);
|
|
2383
|
+
if (util/* default.size */.Z.size(text) === 0) return null;
|
|
2384
|
+
if (byType === 'agent') {
|
|
2385
|
+
return (0,preact_module.h)("div", {
|
|
2386
|
+
class: "markdown-message message-agent message-text--agent"
|
|
2387
|
+
}, (0,preact_module.h)(ShadowDomRoot, {
|
|
2388
|
+
html: marked(this, text)
|
|
2389
|
+
}));
|
|
2390
|
+
}
|
|
2391
|
+
return (0,preact_module.h)("div", {
|
|
2392
|
+
class: "d-flex flex-column align-items-end"
|
|
2393
|
+
}, (0,preact_module.h)("div", {
|
|
2394
|
+
class: "markdown-message message-user message-text--user"
|
|
2395
|
+
}, (0,preact_module.h)(ShadowDomRoot, {
|
|
2396
|
+
html: marked(this, text)
|
|
2397
|
+
})));
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2400
|
+
function deltaToMarkdown(deltas) {
|
|
2401
|
+
let output = '';
|
|
2402
|
+
sb.each(deltas, (delta, idx) => {
|
|
2403
|
+
let text = '';
|
|
2404
|
+
let insert = delta.insert;
|
|
2405
|
+
let attributes = delta.attributes;
|
|
2406
|
+
if (insert.emoji) text = emojiCodes[insert.emoji] || '';
|
|
2407
|
+
if (attributes) {
|
|
2408
|
+
if (attributes.italic && attributes.bold) text = `*__${insert}__*`;else if (attributes.italic) text = `*${insert}*`;else if (attributes.bold) text = `**${insert}**`;else text = insert;
|
|
2409
|
+
}
|
|
2410
|
+
if (insert.dynamicField) text = `${sb.get(insert, 'dynamicField.text', '')}`;
|
|
2411
|
+
if (!insert.emoji && !attributes && !insert.dynamicField) {
|
|
2412
|
+
text = insert || '';
|
|
2413
|
+
text = text.replace(/\n/g, '<br/>');
|
|
2414
|
+
}
|
|
2415
|
+
output += text;
|
|
2416
|
+
});
|
|
2417
|
+
return output;
|
|
2419
2418
|
}
|
|
2420
2419
|
const emojiCodes = {
|
|
2421
2420
|
like: '👍',
|
|
@@ -2464,8 +2463,8 @@ function absLink(url) {
|
|
|
2464
2463
|
}
|
|
2465
2464
|
;// CONCATENATED MODULE: ./src/chatbox/time.js
|
|
2466
2465
|
|
|
2467
|
-
var g_pub = new util/* default */.Z.Pubsub();
|
|
2468
|
-
util/* default */.Z.setInterval(() => g_pub.publish('time'), 20 * 1000);
|
|
2466
|
+
var g_pub = new util/* default.Pubsub */.Z.Pubsub();
|
|
2467
|
+
util/* default.setInterval */.Z.setInterval(() => g_pub.publish('time'), 20 * 1000);
|
|
2469
2468
|
|
|
2470
2469
|
|
|
2471
2470
|
class Time extends common/* Com */.up {
|
|
@@ -2480,10 +2479,10 @@ class Time extends common/* Com */.up {
|
|
|
2480
2479
|
var t = '';
|
|
2481
2480
|
if (this.props.ago) {
|
|
2482
2481
|
if (this.props.short) {
|
|
2483
|
-
if (Math.abs(this.props.time - new util/* default */.Z.Date().getTime()) > 86400000 * 10) {
|
|
2484
|
-
let tim = new util/* default */.Z.Date(this.props.time);
|
|
2482
|
+
if (Math.abs(this.props.time - new util/* default.Date */.Z.Date().getTime()) > 86400000 * 10) {
|
|
2483
|
+
let tim = new util/* default.Date */.Z.Date(this.props.time);
|
|
2485
2484
|
let tzyear = tim.getFullYear();
|
|
2486
|
-
let locale = util/* default */.Z.get(navigator, 'languages.0', 'en-US');
|
|
2485
|
+
let locale = util/* default.get */.Z.get(navigator, 'languages.0', 'en-US');
|
|
2487
2486
|
let tzmonthname = tim.toLocaleDateString(locale, {
|
|
2488
2487
|
month: 'short'
|
|
2489
2488
|
});
|
|
@@ -2491,8 +2490,8 @@ class Time extends common/* Com */.up {
|
|
|
2491
2490
|
t = tzdate + ' ' + tzmonthname + ' ' + tzyear;
|
|
2492
2491
|
}
|
|
2493
2492
|
}
|
|
2494
|
-
if (!t && this.props.time > 0) t = ago(this.props.time, new util/* default */.Z.Date().getTime());
|
|
2495
|
-
} else t = util/* default */.Z.shortTime(this.props.time, this.props.tzoffset);
|
|
2493
|
+
if (!t && this.props.time > 0) t = ago(this.props.time, new util/* default.Date */.Z.Date().getTime());
|
|
2494
|
+
} else t = util/* default.shortTime */.Z.shortTime(this.props.time, this.props.tzoffset);
|
|
2496
2495
|
if (this.props.uppercase) t = t.toUpperCase();
|
|
2497
2496
|
if (t === this.state.t) return;
|
|
2498
2497
|
this.setState({
|
|
@@ -2603,7 +2602,7 @@ class InfoMessage extends common/* Com */.up {
|
|
|
2603
2602
|
}));
|
|
2604
2603
|
}
|
|
2605
2604
|
if (ev.type === 'conversation_rated') {
|
|
2606
|
-
var rating = util/* default */.Z.get(ev, 'data.conversation.ratings.0', {
|
|
2605
|
+
var rating = util/* default.get */.Z.get(ev, 'data.conversation.ratings.0', {
|
|
2607
2606
|
no_rating: true,
|
|
2608
2607
|
rating: 0
|
|
2609
2608
|
});
|
|
@@ -2614,7 +2613,7 @@ class InfoMessage extends common/* Com */.up {
|
|
|
2614
2613
|
class: "info-message"
|
|
2615
2614
|
}, this.props.t('rated_as') + ' ' + this.props.t(getRateLang(rating.rating)).toLowerCase()));
|
|
2616
2615
|
}
|
|
2617
|
-
if (ev.type === 'conversation_state_updated' && util/* default */.Z.get(ev, 'data.conversation.state') === 'ended') {
|
|
2616
|
+
if (ev.type === 'conversation_state_updated' && util/* default.get */.Z.get(ev, 'data.conversation.state') === 'ended') {
|
|
2618
2617
|
return (0,preact_module.h)("div", {
|
|
2619
2618
|
class: "convo-event"
|
|
2620
2619
|
}, $time, (0,preact_module.h)("div", {
|
|
@@ -2648,7 +2647,7 @@ class Event extends common/* Com */.up {
|
|
|
2648
2647
|
this.refForm = (0,preact_module/* createRef */.Vf)();
|
|
2649
2648
|
}
|
|
2650
2649
|
render() {
|
|
2651
|
-
var ev = util/* default */.Z.get(this.props.event, 'ev', {});
|
|
2650
|
+
var ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
|
|
2652
2651
|
switch (ev.type) {
|
|
2653
2652
|
case 'conversation_joined':
|
|
2654
2653
|
break;
|
|
@@ -2657,7 +2656,7 @@ class Event extends common/* Com */.up {
|
|
|
2657
2656
|
case 'conversation_state_updated':
|
|
2658
2657
|
case 'conversation_rating_requested':
|
|
2659
2658
|
case 'conversation_rated':
|
|
2660
|
-
if (!util/* default */.Z.startsWith(ev.id, 'ev')) return null;
|
|
2659
|
+
if (!util/* default.startsWith */.Z.startsWith(ev.id, 'ev')) return null;
|
|
2661
2660
|
return (0,preact_module.h)(InfoMessage, {
|
|
2662
2661
|
t: this.props.t,
|
|
2663
2662
|
store: this.props.store,
|
|
@@ -2670,7 +2669,7 @@ class Event extends common/* Com */.up {
|
|
|
2670
2669
|
this.refForm.current && this.refForm.current.focus();
|
|
2671
2670
|
}
|
|
2672
2671
|
chooseQuickReply(reply) {
|
|
2673
|
-
let ev = util/* default */.Z.get(this.props.event, 'ev', {});
|
|
2672
|
+
let ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
|
|
2674
2673
|
let message = {
|
|
2675
2674
|
text: reply.title,
|
|
2676
2675
|
format: 'plaintext'
|
|
@@ -2687,7 +2686,7 @@ class Event extends common/* Com */.up {
|
|
|
2687
2686
|
this.props.onSend(message);
|
|
2688
2687
|
}
|
|
2689
2688
|
choosePostbackBtn(button) {
|
|
2690
|
-
let ev = util/* default */.Z.get(this.props.event, 'ev', {});
|
|
2689
|
+
let ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
|
|
2691
2690
|
let message = {
|
|
2692
2691
|
text: button.title,
|
|
2693
2692
|
format: 'plaintext'
|
|
@@ -2704,13 +2703,13 @@ class Event extends common/* Com */.up {
|
|
|
2704
2703
|
this.props.onSend(message);
|
|
2705
2704
|
}
|
|
2706
2705
|
renderAgentAvatar(ev) {
|
|
2707
|
-
let bytype = util/* default */.Z.get(ev, 'by.type');
|
|
2708
|
-
let byid = util/* default */.Z.get(ev, 'by.display_id', util/* default */.Z.get(ev, 'by.id'));
|
|
2706
|
+
let bytype = util/* default.get */.Z.get(ev, 'by.type');
|
|
2707
|
+
let byid = util/* default.get */.Z.get(ev, 'by.display_id', util/* default.get */.Z.get(ev, 'by.id'));
|
|
2709
2708
|
if (bytype === 'user') return null;
|
|
2710
2709
|
var senderName = this.getSenderName(ev);
|
|
2711
2710
|
let acc = this.props.store.matchAccount();
|
|
2712
2711
|
var uri = acc.logo_url || __webpack_require__(9895);
|
|
2713
|
-
if (util/* default */.Z.get(this.props, 'chatbox.hide_agent_profile')) {
|
|
2712
|
+
if (util/* default.get */.Z.get(this.props, 'chatbox.hide_agent_profile')) {
|
|
2714
2713
|
return (0,preact_module.h)("div", {
|
|
2715
2714
|
class: "message-sender"
|
|
2716
2715
|
}, (0,preact_module.h)("img", {
|
|
@@ -2723,7 +2722,7 @@ class Event extends common/* Com */.up {
|
|
|
2723
2722
|
}
|
|
2724
2723
|
let agentM = this.props.store.matchAgent('*');
|
|
2725
2724
|
if (byid !== 'system' && bytype !== 'dummy' && bytype !== 'workflow') {
|
|
2726
|
-
uri = util/* default */.Z.get(agentM[byid], 'avatar_url') || acc.logo_url || __webpack_require__(4761);
|
|
2725
|
+
uri = util/* default.get */.Z.get(agentM[byid], 'avatar_url') || acc.logo_url || __webpack_require__(4761);
|
|
2727
2726
|
}
|
|
2728
2727
|
return (0,preact_module.h)("div", {
|
|
2729
2728
|
class: "message-sender"
|
|
@@ -2745,8 +2744,8 @@ class Event extends common/* Com */.up {
|
|
|
2745
2744
|
time: ev.created
|
|
2746
2745
|
}));
|
|
2747
2746
|
}
|
|
2748
|
-
let t = new util/* default */.Z.Date(ev.created).toLocaleString();
|
|
2749
|
-
if (util/* default */.Z.get(ev, 'by.type') !== 'user') {
|
|
2747
|
+
let t = new util/* default.Date */.Z.Date(ev.created).toLocaleString();
|
|
2748
|
+
if (util/* default.get */.Z.get(ev, 'by.type') !== 'user') {
|
|
2750
2749
|
let $sender = null;
|
|
2751
2750
|
if (this.props.event.mode === 'lead') $sender = this.renderAgentAvatar(ev);
|
|
2752
2751
|
return (0,preact_module.h)("div", {
|
|
@@ -2802,15 +2801,15 @@ class Event extends common/* Com */.up {
|
|
|
2802
2801
|
onSelect: e => this.chooseQuickReply(e)
|
|
2803
2802
|
}));
|
|
2804
2803
|
}
|
|
2805
|
-
if (util/* default */.Z.getMsgField(ev, 'idempotency') === ev.id && this.props.store.now() - ev.created < 900) {
|
|
2806
|
-
util/* default */.Z.setTimeout(() => this.setState({
|
|
2804
|
+
if (util/* default.getMsgField */.Z.getMsgField(ev, 'idempotency') === ev.id && this.props.store.now() - ev.created < 900) {
|
|
2805
|
+
util/* default.setTimeout */.Z.setTimeout(() => this.setState({
|
|
2807
2806
|
refresh: this.state.refresh
|
|
2808
2807
|
}), 1000);
|
|
2809
2808
|
}
|
|
2810
2809
|
let $dot = (0,preact_module.h)("div", {
|
|
2811
2810
|
class: "sending_dot"
|
|
2812
2811
|
});
|
|
2813
|
-
if (this.props.store.now() - ev.created < 900 || util/* default */.Z.getMsgField(ev, 'idempotency') !== ev.id) {
|
|
2812
|
+
if (this.props.store.now() - ev.created < 900 || util/* default.getMsgField */.Z.getMsgField(ev, 'idempotency') !== ev.id) {
|
|
2814
2813
|
$dot = (0,preact_module.h)("div", {
|
|
2815
2814
|
class: "sending_dot sending_dot__hide"
|
|
2816
2815
|
});
|
|
@@ -2874,7 +2873,7 @@ class Event extends common/* Com */.up {
|
|
|
2874
2873
|
})), $error);
|
|
2875
2874
|
}
|
|
2876
2875
|
renderUpdateConvo(ev) {
|
|
2877
|
-
var state = util/* default */.Z.get(ev, 'data.conversation.state');
|
|
2876
|
+
var state = util/* default.get */.Z.get(ev, 'data.conversation.state');
|
|
2878
2877
|
if (state === 'active') return null;
|
|
2879
2878
|
if (state === 'pending') return null;
|
|
2880
2879
|
return (0,preact_module.h)("div", {
|
|
@@ -2884,18 +2883,18 @@ class Event extends common/* Com */.up {
|
|
|
2884
2883
|
}));
|
|
2885
2884
|
}
|
|
2886
2885
|
resendMessage() {
|
|
2887
|
-
let cid = util/* default */.Z.convoOfEv(this.props.event.ev);
|
|
2888
|
-
const message = util/* default */.Z.get(this.props.event, 'ev.data.message');
|
|
2886
|
+
let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.event.ev);
|
|
2887
|
+
const message = util/* default.get */.Z.get(this.props.event, 'ev.data.message');
|
|
2889
2888
|
this.props.store.sendConvoEvent(cid, 'message_sent', {
|
|
2890
2889
|
message
|
|
2891
2890
|
});
|
|
2892
2891
|
}
|
|
2893
2892
|
getSenderName(ev) {
|
|
2894
|
-
let bytype = util/* default */.Z.get(ev, 'by.type');
|
|
2895
|
-
let byid = util/* default */.Z.get(ev, 'by.display_id', util/* default */.Z.get(ev, 'by.id'));
|
|
2896
|
-
if (bytype === 'user') return util/* default */.Z.getUserDisplayName(this.props.store.matchUser());
|
|
2893
|
+
let bytype = util/* default.get */.Z.get(ev, 'by.type');
|
|
2894
|
+
let byid = util/* default.get */.Z.get(ev, 'by.display_id', util/* default.get */.Z.get(ev, 'by.id'));
|
|
2895
|
+
if (bytype === 'user') return util/* default.getUserDisplayName */.Z.getUserDisplayName(this.props.store.matchUser());
|
|
2897
2896
|
let acc = this.props.store.matchAccount();
|
|
2898
|
-
if (bytype === 'agent') return util/* default */.Z.getAgentDisplayName(acc, this.props.store.matchAgent(byid));
|
|
2897
|
+
if (bytype === 'agent') return util/* default.getAgentDisplayName */.Z.getAgentDisplayName(acc, this.props.store.matchAgent(byid));
|
|
2899
2898
|
if (byid === 'system' || bytype === 'dummy' || bytype === 'workflow') return acc.name || 'system';
|
|
2900
2899
|
return '';
|
|
2901
2900
|
}
|
|
@@ -2942,7 +2941,7 @@ class Events extends common/* Com */.up {
|
|
|
2942
2941
|
this.props.store.onConvoEvent(this, ev => this.onEvent(ev));
|
|
2943
2942
|
this.loadConvo();
|
|
2944
2943
|
this.refBody = null;
|
|
2945
|
-
this.checkAndSeen = util/* default */.Z.throttle(() => {
|
|
2944
|
+
this.checkAndSeen = util/* default.throttle */.Z.throttle(() => {
|
|
2946
2945
|
if (this.props.isShow && this.isBottom() && this.props.store.browserVisibility === 'visible' && document.hasFocus()) {
|
|
2947
2946
|
this.props.store.seenConvo(this.props.cid);
|
|
2948
2947
|
}
|
|
@@ -2954,8 +2953,8 @@ class Events extends common/* Com */.up {
|
|
|
2954
2953
|
}
|
|
2955
2954
|
render() {
|
|
2956
2955
|
if (this.state.error) return this.renderError();
|
|
2957
|
-
let events = util/* default */.Z.map(this.props.store.listEvents(this.props.cid));
|
|
2958
|
-
if (!this.state.loading && util/* default */.Z.size(events) === 0) {
|
|
2956
|
+
let events = util/* default.map */.Z.map(this.props.store.listEvents(this.props.cid));
|
|
2957
|
+
if (!this.state.loading && util/* default.size */.Z.size(events) === 0) {
|
|
2959
2958
|
return (0,preact_module.h)("div", {
|
|
2960
2959
|
ref: ref => this.refBody = ref,
|
|
2961
2960
|
class: "widget-body--events-container"
|
|
@@ -2969,13 +2968,13 @@ class Events extends common/* Com */.up {
|
|
|
2969
2968
|
store: this.props.store
|
|
2970
2969
|
}));
|
|
2971
2970
|
}
|
|
2972
|
-
events = util/* default */.Z.orderBy(events, 'created', 'asc');
|
|
2971
|
+
events = util/* default.orderBy */.Z.orderBy(events, 'created', 'asc');
|
|
2973
2972
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
2974
|
-
events = util/* default */.Z.map(events, ev => ({
|
|
2973
|
+
events = util/* default.map */.Z.map(events, ev => ({
|
|
2975
2974
|
ev: ev
|
|
2976
2975
|
}));
|
|
2977
2976
|
processEvents(convo, events);
|
|
2978
|
-
let $events = util/* default */.Z.map(events, ev => (0,preact_module.h)(Event, {
|
|
2977
|
+
let $events = util/* default.map */.Z.map(events, ev => (0,preact_module.h)(Event, {
|
|
2979
2978
|
chatbox: this.props.chatbox,
|
|
2980
2979
|
onLink: this.props.onLink,
|
|
2981
2980
|
store: this.props.store,
|
|
@@ -2991,7 +2990,7 @@ class Events extends common/* Com */.up {
|
|
|
2991
2990
|
if (this.state.loading || this.props.creating) {
|
|
2992
2991
|
$loading = (0,preact_module.h)(Spinner, {
|
|
2993
2992
|
static: true,
|
|
2994
|
-
mode: util/* default */.Z.get(this.props.chatbox, 'primary_color', 'dark'),
|
|
2993
|
+
mode: util/* default.get */.Z.get(this.props.chatbox, 'primary_color', 'dark'),
|
|
2995
2994
|
size: "120",
|
|
2996
2995
|
center: true
|
|
2997
2996
|
});
|
|
@@ -3030,23 +3029,23 @@ class Events extends common/* Com */.up {
|
|
|
3030
3029
|
}
|
|
3031
3030
|
focus() {
|
|
3032
3031
|
let events = this.props.store.listEvents(this.props.cid);
|
|
3033
|
-
events = util/* default */.Z.orderBy(util/* default */.Z.map(events), 'created', 'desc');
|
|
3032
|
+
events = util/* default.orderBy */.Z.orderBy(util/* default.map */.Z.map(events), 'created', 'desc');
|
|
3034
3033
|
var last_agent_sent;
|
|
3035
3034
|
for (let ev of events) {
|
|
3036
|
-
if (util/* default */.Z.get(ev, 'type') !== 'message_sent') continue;
|
|
3037
|
-
if (util/* default */.Z.get(ev, 'by.type') === 'user') continue;
|
|
3035
|
+
if (util/* default.get */.Z.get(ev, 'type') !== 'message_sent') continue;
|
|
3036
|
+
if (util/* default.get */.Z.get(ev, 'by.type') === 'user') continue;
|
|
3038
3037
|
last_agent_sent = ev;
|
|
3039
3038
|
break;
|
|
3040
3039
|
}
|
|
3041
|
-
if (util/* default */.Z.get(last_agent_sent, 'by.type') === 'user') last_agent_sent = null;
|
|
3042
|
-
let attachments = util/* default */.Z.get(last_agent_sent, 'data.message.attachments', []);
|
|
3040
|
+
if (util/* default.get */.Z.get(last_agent_sent, 'by.type') === 'user') last_agent_sent = null;
|
|
3041
|
+
let attachments = util/* default.get */.Z.get(last_agent_sent, 'data.message.attachments', []);
|
|
3043
3042
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
3044
|
-
let pendingForms = util/* default */.Z.filter(attachments, att => {
|
|
3043
|
+
let pendingForms = util/* default.filter */.Z.filter(attachments, att => {
|
|
3045
3044
|
if (!att) return false;
|
|
3046
3045
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
|
|
3047
3046
|
var form = att.form;
|
|
3048
3047
|
if (!form) return false;
|
|
3049
|
-
var state = util/* default */.Z.parseJSON(form.state) || {};
|
|
3048
|
+
var state = util/* default.parseJSON */.Z.parseJSON(form.state) || {};
|
|
3050
3049
|
if (!state.require_finished && att.type !== 'ask_info_form') return false;
|
|
3051
3050
|
if (Events_isSummited(att.form)) return false;
|
|
3052
3051
|
if (convo.state === 'ended') return false;
|
|
@@ -3054,10 +3053,10 @@ class Events extends common/* Com */.up {
|
|
|
3054
3053
|
});
|
|
3055
3054
|
}
|
|
3056
3055
|
onEvent(newev) {
|
|
3057
|
-
if (util/* default */.Z.convoOfEv(newev) !== this.props.cid) return;
|
|
3056
|
+
if (util/* default.convoOfEv */.Z.convoOfEv(newev) !== this.props.cid) return;
|
|
3058
3057
|
let isBottom = this.isBottom();
|
|
3059
3058
|
var byme = false;
|
|
3060
|
-
if (util/* default */.Z.get(newev, 'type') === 'message_sent' && newev.id === util/* default */.Z.getMsgField(newev, 'idempotency')) byme = true;
|
|
3059
|
+
if (util/* default.get */.Z.get(newev, 'type') === 'message_sent' && newev.id === util/* default.getMsgField */.Z.getMsgField(newev, 'idempotency')) byme = true;
|
|
3061
3060
|
if (byme || isBottom) this.scrollToBottom();
|
|
3062
3061
|
}
|
|
3063
3062
|
async loadConvo() {
|
|
@@ -3067,7 +3066,7 @@ class Events extends common/* Com */.up {
|
|
|
3067
3066
|
loading: true
|
|
3068
3067
|
});
|
|
3069
3068
|
let events = this.props.store.listEvents(this.props.cid);
|
|
3070
|
-
if (util/* default */.Z.size(events) === 0) {
|
|
3069
|
+
if (util/* default.size */.Z.size(events) === 0) {
|
|
3071
3070
|
let cid = this.props.cid;
|
|
3072
3071
|
let {
|
|
3073
3072
|
error
|
|
@@ -3091,7 +3090,7 @@ class Events extends common/* Com */.up {
|
|
|
3091
3090
|
error: false
|
|
3092
3091
|
});
|
|
3093
3092
|
this.scrollToBottom();
|
|
3094
|
-
util/* default */.Z.setTimeout(() => this.setState({
|
|
3093
|
+
util/* default.setTimeout */.Z.setTimeout(() => this.setState({
|
|
3095
3094
|
loading: false
|
|
3096
3095
|
}), 50);
|
|
3097
3096
|
}
|
|
@@ -3101,11 +3100,11 @@ class Events extends common/* Com */.up {
|
|
|
3101
3100
|
return $container.scrollHeight < $container.scrollTop + $container.offsetHeight + 50;
|
|
3102
3101
|
}
|
|
3103
3102
|
scrollToBottom() {
|
|
3104
|
-
util/* default */.Z.setTimeout(() => {
|
|
3103
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3105
3104
|
const $div = this.refBody;
|
|
3106
3105
|
if ($div) $div.scrollTop = $div.scrollHeight;
|
|
3107
3106
|
});
|
|
3108
|
-
util/* default */.Z.setTimeout(() => {
|
|
3107
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3109
3108
|
const $div = this.refBody;
|
|
3110
3109
|
if ($div) $div.scrollTop = $div.scrollHeight;
|
|
3111
3110
|
}, 200);
|
|
@@ -3123,13 +3122,13 @@ function processEvents(convo, events) {
|
|
|
3123
3122
|
let curEvent = events[i];
|
|
3124
3123
|
let lastEvent = events[i - 1];
|
|
3125
3124
|
if (visibleEvent(curEvent.ev)) {
|
|
3126
|
-
let elapsedSec = util/* default */.Z.unixSec(curEvent.ev.created) - util/* default */.Z.unixSec(lastEvent.ev.created);
|
|
3125
|
+
let elapsedSec = util/* default.unixSec */.Z.unixSec(curEvent.ev.created) - util/* default.unixSec */.Z.unixSec(lastEvent.ev.created);
|
|
3127
3126
|
if (elapsedSec > 120) curEvent.show_time = true;
|
|
3128
3127
|
}
|
|
3129
3128
|
}
|
|
3130
3129
|
for (var i = 0; i < events.length; i++) {
|
|
3131
3130
|
let curEvent = events[i];
|
|
3132
|
-
if (util/* default */.Z.get(curEvent, 'ev.type') === 'message_sent') {
|
|
3131
|
+
if (util/* default.get */.Z.get(curEvent, 'ev.type') === 'message_sent') {
|
|
3133
3132
|
curEvent.show_time = true;
|
|
3134
3133
|
break;
|
|
3135
3134
|
}
|
|
@@ -3139,7 +3138,7 @@ function processEvents(convo, events) {
|
|
|
3139
3138
|
let prevEvent = events[i - 1];
|
|
3140
3139
|
if (curEvent.ev.type === 'message_sent') {
|
|
3141
3140
|
curEvent.mode = 'lead';
|
|
3142
|
-
if (util/* default */.Z.get(prevEvent, 'ev.type') === 'message_sent' && util/* default */.Z.get(prevEvent, 'ev.by.id') === util/* default */.Z.get(curEvent, 'ev.by.id')) {
|
|
3141
|
+
if (util/* default.get */.Z.get(prevEvent, 'ev.type') === 'message_sent' && util/* default.get */.Z.get(prevEvent, 'ev.by.id') === util/* default.get */.Z.get(curEvent, 'ev.by.id')) {
|
|
3143
3142
|
curEvent.mode = 'follow';
|
|
3144
3143
|
}
|
|
3145
3144
|
continue;
|
|
@@ -3147,12 +3146,12 @@ function processEvents(convo, events) {
|
|
|
3147
3146
|
}
|
|
3148
3147
|
}
|
|
3149
3148
|
function visibleEvent(ev) {
|
|
3150
|
-
let type = util/* default */.Z.get(ev, 'type');
|
|
3149
|
+
let type = util/* default.get */.Z.get(ev, 'type');
|
|
3151
3150
|
return type === 'message_sent' || type === 'conversation_state_updated';
|
|
3152
3151
|
}
|
|
3153
3152
|
function Events_isSummited(form) {
|
|
3154
|
-
let fields = util/* default */.Z.get(form, 'fields') || [];
|
|
3155
|
-
return util/* default */.Z.find(fields, field => !!field.answered);
|
|
3153
|
+
let fields = util/* default.get */.Z.get(form, 'fields') || [];
|
|
3154
|
+
return util/* default.find */.Z.find(fields, field => !!field.answered);
|
|
3156
3155
|
}
|
|
3157
3156
|
;// CONCATENATED MODULE: ./src/chatbox/Typing.js
|
|
3158
3157
|
|
|
@@ -3168,29 +3167,29 @@ class Typing extends common/* Com */.up {
|
|
|
3168
3167
|
ev: {}
|
|
3169
3168
|
});
|
|
3170
3169
|
this.props.store.onConvoEvent(this, ev => {
|
|
3171
|
-
if (util/* default */.Z.convoOfEv(ev) !== this.props.cid) return;
|
|
3170
|
+
if (util/* default.convoOfEv */.Z.convoOfEv(ev) !== this.props.cid) return;
|
|
3172
3171
|
let user = this.props.store.matchUser();
|
|
3173
|
-
if (util/* default */.Z.get(ev, 'by.id') === user.id) return;
|
|
3174
|
-
let oldby = util/* default */.Z.get(this.state.ev, 'by.id');
|
|
3175
|
-
if (oldby && util/* default */.Z.get(ev, 'by.id') !== oldby) return;
|
|
3176
|
-
if (util/* default */.Z.get(ev, 'type') === 'message_sent') {
|
|
3177
|
-
if (this.timer) util/* default */.Z.clearTimeout(this.timer);
|
|
3172
|
+
if (util/* default.get */.Z.get(ev, 'by.id') === user.id) return;
|
|
3173
|
+
let oldby = util/* default.get */.Z.get(this.state.ev, 'by.id');
|
|
3174
|
+
if (oldby && util/* default.get */.Z.get(ev, 'by.id') !== oldby) return;
|
|
3175
|
+
if (util/* default.get */.Z.get(ev, 'type') === 'message_sent') {
|
|
3176
|
+
if (this.timer) util/* default.clearTimeout */.Z.clearTimeout(this.timer);
|
|
3178
3177
|
this.timer = null;
|
|
3179
3178
|
this.setState({
|
|
3180
3179
|
isShow: false
|
|
3181
3180
|
});
|
|
3182
3181
|
return;
|
|
3183
3182
|
}
|
|
3184
|
-
|
|
3185
|
-
let ag = this.props.store.matchAgent(util/* default */.Z.get(ev, 'by.id')) || {};
|
|
3183
|
+
let ag = this.props.store.matchAgent(ev.by.id) || {};
|
|
3186
3184
|
if (ag.type == 'agent') return;
|
|
3185
|
+
if (util/* default.get */.Z.get(ev, 'type') !== 'conversation_typing') return;
|
|
3187
3186
|
this.setState({
|
|
3188
3187
|
ev: ev,
|
|
3189
3188
|
isShow: true
|
|
3190
3189
|
});
|
|
3191
|
-
if (this.timer) util/* default */.Z.clearTimeout(this.timer);
|
|
3192
|
-
this.timer = util/* default */.Z.setTimeout(() => {
|
|
3193
|
-
if (util/* default */.Z.convoOfEv(ev) !== this.props.cid) return;
|
|
3190
|
+
if (this.timer) util/* default.clearTimeout */.Z.clearTimeout(this.timer);
|
|
3191
|
+
this.timer = util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3192
|
+
if (util/* default.convoOfEv */.Z.convoOfEv(ev) !== this.props.cid) return;
|
|
3194
3193
|
this.timer = null;
|
|
3195
3194
|
this.setState({
|
|
3196
3195
|
isShow: false
|
|
@@ -3201,8 +3200,8 @@ class Typing extends common/* Com */.up {
|
|
|
3201
3200
|
render() {
|
|
3202
3201
|
let account = this.props.store.matchAccount();
|
|
3203
3202
|
var cls = this.state.isShow ? '' : 'typing--hidden';
|
|
3204
|
-
let byid = util/* default */.Z.get(this.state.ev, 'by.display_id', util/* default */.Z.get(this.state.ev, 'by.id'));
|
|
3205
|
-
let agentName = util/* default */.Z.getAgentDisplayName(account, this.props.store.matchAgent(byid));
|
|
3203
|
+
let byid = util/* default.get */.Z.get(this.state.ev, 'by.display_id', util/* default.get */.Z.get(this.state.ev, 'by.id'));
|
|
3204
|
+
let agentName = util/* default.getAgentDisplayName */.Z.getAgentDisplayName(account, this.props.store.matchAgent(byid));
|
|
3206
3205
|
return (0,preact_module.h)("div", {
|
|
3207
3206
|
class: `typing ${cls}`
|
|
3208
3207
|
}, agentName, " ", this.props.t('typing'));
|
|
@@ -3221,7 +3220,7 @@ class Typing extends common/* Com */.up {
|
|
|
3221
3220
|
this.stop();
|
|
3222
3221
|
var t0;
|
|
3223
3222
|
var run = t => {
|
|
3224
|
-
if (!t) t = new util/* default */.Z.Date().getTime();
|
|
3223
|
+
if (!t) t = new util/* default.Date */.Z.Date().getTime();
|
|
3225
3224
|
var deltaT = t - t0;
|
|
3226
3225
|
var [newy, done] = this.calcY(v, y0, deltaT);
|
|
3227
3226
|
cb(newy);
|
|
@@ -3229,7 +3228,7 @@ class Typing extends common/* Com */.up {
|
|
|
3229
3228
|
this.animationframe = window.requestAnimationFrame(run);
|
|
3230
3229
|
};
|
|
3231
3230
|
this.animationframe = window.requestAnimationFrame(t => {
|
|
3232
|
-
t0 = t || new util/* default */.Z.Date().getTime();
|
|
3231
|
+
t0 = t || new util/* default.Date */.Z.Date().getTime();
|
|
3233
3232
|
run(t0);
|
|
3234
3233
|
});
|
|
3235
3234
|
}
|
|
@@ -3291,7 +3290,7 @@ class Rating extends common/* Com */.up {
|
|
|
3291
3290
|
if (this.shoudDisplay()) this.open();
|
|
3292
3291
|
});
|
|
3293
3292
|
this.props.store.onConvoEvent(this, ev => {
|
|
3294
|
-
var cid = util/* default */.Z.convoOfEv(ev);
|
|
3293
|
+
var cid = util/* default.convoOfEv */.Z.convoOfEv(ev);
|
|
3295
3294
|
if (cid !== this.props.cid) return;
|
|
3296
3295
|
if (this.shoudDisplay()) this.open();
|
|
3297
3296
|
});
|
|
@@ -3400,12 +3399,12 @@ class Rating extends common/* Com */.up {
|
|
|
3400
3399
|
var rated;
|
|
3401
3400
|
var ended;
|
|
3402
3401
|
let user = this.props.store.matchUser();
|
|
3403
|
-
util/* default */.Z.map(this.props.store.listEvents(this.props.cid), ev => {
|
|
3404
|
-
if (util/* default */.Z.get(ev, 'type') === 'conversation_state_updated' && util/* default */.Z.get(ev, 'data.conversation.state') === 'ended') {
|
|
3402
|
+
util/* default.map */.Z.map(this.props.store.listEvents(this.props.cid), ev => {
|
|
3403
|
+
if (util/* default.get */.Z.get(ev, 'type') === 'conversation_state_updated' && util/* default.get */.Z.get(ev, 'data.conversation.state') === 'ended') {
|
|
3405
3404
|
ended = ev;
|
|
3406
3405
|
}
|
|
3407
|
-
if (util/* default */.Z.get(ev, 'type') === 'conversation_rating_requested') requested = ev;
|
|
3408
|
-
if (util/* default */.Z.get(ev, 'type') === 'conversation_rated' && util/* default */.Z.get(ev, 'by.id') === user.id) rated = ev;
|
|
3406
|
+
if (util/* default.get */.Z.get(ev, 'type') === 'conversation_rating_requested') requested = ev;
|
|
3407
|
+
if (util/* default.get */.Z.get(ev, 'type') === 'conversation_rated' && util/* default.get */.Z.get(ev, 'by.id') === user.id) rated = ev;
|
|
3409
3408
|
});
|
|
3410
3409
|
if (rated) return false;
|
|
3411
3410
|
let accountSetting = this.props.plugin.chatbox;
|
|
@@ -3446,7 +3445,7 @@ class Rating extends common/* Com */.up {
|
|
|
3446
3445
|
hide: false
|
|
3447
3446
|
});
|
|
3448
3447
|
if (!this.refRating.current) return;
|
|
3449
|
-
util/* default */.Z.setTimeout(() => {
|
|
3448
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3450
3449
|
if (this.refComment.current) this.refComment.current.focus();
|
|
3451
3450
|
}, 400);
|
|
3452
3451
|
this.refComment.current.value = '';
|
|
@@ -3568,15 +3567,15 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3568
3567
|
});
|
|
3569
3568
|
DropdownSelect_defineProperty(this, "hasSearch", () => {
|
|
3570
3569
|
if (this.props.has_search) return true;
|
|
3571
|
-
return util/* default */.Z.size(this.props.items) >= 10;
|
|
3570
|
+
return util/* default.size */.Z.size(this.props.items) >= 10;
|
|
3572
3571
|
});
|
|
3573
3572
|
DropdownSelect_defineProperty(this, "getFilteredOptions", () => {
|
|
3574
3573
|
let items = this.props.items;
|
|
3575
3574
|
if (this.state.searchValue && this.hasSearch()) {
|
|
3576
|
-
items = util/* default */.Z.filter(items, item => {
|
|
3577
|
-
let optionName = util/* default */.Z.unicodeToAscii(item.name).toLowerCase().replace(/ /g, '');
|
|
3578
|
-
let optionDesc = util/* default */.Z.unicodeToAscii(item.desc).toLowerCase().replace(/ /g, '');
|
|
3579
|
-
let searchValue = util/* default */.Z.unicodeToAscii(this.state.searchValue).toLowerCase().replace(/ /g, '');
|
|
3575
|
+
items = util/* default.filter */.Z.filter(items, item => {
|
|
3576
|
+
let optionName = util/* default.unicodeToAscii */.Z.unicodeToAscii(item.name).toLowerCase().replace(/ /g, '');
|
|
3577
|
+
let optionDesc = util/* default.unicodeToAscii */.Z.unicodeToAscii(item.desc).toLowerCase().replace(/ /g, '');
|
|
3578
|
+
let searchValue = util/* default.unicodeToAscii */.Z.unicodeToAscii(this.state.searchValue).toLowerCase().replace(/ /g, '');
|
|
3580
3579
|
return optionName.indexOf(searchValue) != -1 || optionDesc.indexOf(searchValue) != -1;
|
|
3581
3580
|
});
|
|
3582
3581
|
}
|
|
@@ -3635,7 +3634,7 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3635
3634
|
focusFilter() {
|
|
3636
3635
|
if (!this.filterRef.current) return;
|
|
3637
3636
|
this.filterRef.current.focus();
|
|
3638
|
-
util/* default */.Z.setTimeout(() => {
|
|
3637
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3639
3638
|
if (!this.filterRef.current) return;
|
|
3640
3639
|
this.filterRef.current.focus();
|
|
3641
3640
|
}, 100);
|
|
@@ -3643,7 +3642,7 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3643
3642
|
renderDropdown() {
|
|
3644
3643
|
if (!this.state.show) return null;
|
|
3645
3644
|
let items = this.getFilteredOptions();
|
|
3646
|
-
let $items = util/* default */.Z.map(items, item => {
|
|
3645
|
+
let $items = util/* default.map */.Z.map(items, item => {
|
|
3647
3646
|
return (0,preact_module.h)("div", {
|
|
3648
3647
|
class: "dropdown_select__item",
|
|
3649
3648
|
onClick: _ => this.onSelect(item)
|
|
@@ -3704,10 +3703,10 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3704
3703
|
class: "muted text-truncate",
|
|
3705
3704
|
style: "flex: 1 !important;"
|
|
3706
3705
|
}, "Ch\u1ECDn m\u1ED9t ph\u1EA7n t\u1EED");
|
|
3707
|
-
if (util/* default */.Z.get(this.props, 'selected.name')) $name = (0,preact_module.h)("div", {
|
|
3706
|
+
if (util/* default.get */.Z.get(this.props, 'selected.name')) $name = (0,preact_module.h)("div", {
|
|
3708
3707
|
class: "text-truncate",
|
|
3709
3708
|
style: "flex: 1 !important;"
|
|
3710
|
-
}, util/* default */.Z.get(this.props, 'selected.name'));
|
|
3709
|
+
}, util/* default.get */.Z.get(this.props, 'selected.name'));
|
|
3711
3710
|
let style = 'position: relative !important;';
|
|
3712
3711
|
if (this.props.full) {
|
|
3713
3712
|
style = '';
|
|
@@ -3767,13 +3766,13 @@ class AddressPicker extends common/* Com */.up {
|
|
|
3767
3766
|
}
|
|
3768
3767
|
if (e.key == 'Enter') {}
|
|
3769
3768
|
});
|
|
3770
|
-
address_picker_defineProperty(this, "doSearch", util/* default */.Z.throttle(async () => {
|
|
3769
|
+
address_picker_defineProperty(this, "doSearch", util/* default.throttle */.Z.throttle(async () => {
|
|
3771
3770
|
let requestId = Date.now();
|
|
3772
3771
|
this.requestId = requestId;
|
|
3773
3772
|
let res = await this.props.store.suggest_addresses(this.state.searchValue);
|
|
3774
3773
|
if (this.requestId !== requestId) return;
|
|
3775
3774
|
this.setState({
|
|
3776
|
-
addresses: util/* default */.Z.get(res, 'body.addresses', [])
|
|
3775
|
+
addresses: util/* default.get */.Z.get(res, 'body.addresses', [])
|
|
3777
3776
|
});
|
|
3778
3777
|
}, 100));
|
|
3779
3778
|
address_picker_defineProperty(this, "onChangeSearchValue", e => {
|
|
@@ -3830,14 +3829,14 @@ class AddressPicker extends common/* Com */.up {
|
|
|
3830
3829
|
focusFilter() {
|
|
3831
3830
|
if (!this.filterRef.current) return;
|
|
3832
3831
|
this.filterRef.current.focus();
|
|
3833
|
-
util/* default */.Z.setTimeout(() => {
|
|
3832
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3834
3833
|
if (!this.filterRef.current) return;
|
|
3835
3834
|
this.filterRef.current.focus();
|
|
3836
3835
|
}, 100);
|
|
3837
3836
|
}
|
|
3838
3837
|
renderDropdown() {
|
|
3839
3838
|
if (!this.state.show) return null;
|
|
3840
|
-
let $items = util/* default */.Z.map(this.state.addresses, (addr, i) => {
|
|
3839
|
+
let $items = util/* default.map */.Z.map(this.state.addresses, (addr, i) => {
|
|
3841
3840
|
let label = [((addr.address || '') + ' ' + normalize(addr.street)).trim()].join(', ');
|
|
3842
3841
|
let desc = [normalize(addr.ward), normalize(addr.district), normalize(addr.province)].join(', ');
|
|
3843
3842
|
return (0,preact_module.h)("div", {
|
|
@@ -3939,7 +3938,7 @@ var $link = document.createElement('link');
|
|
|
3939
3938
|
$link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
|
|
3940
3939
|
$link.rel = 'stylesheet';
|
|
3941
3940
|
document.head.append($link);
|
|
3942
|
-
util/* default */.Z.preloadWebfonts(['Roboto'], [400, 500]);
|
|
3941
|
+
util/* default.preloadWebfonts */.Z.preloadWebfonts(['Roboto'], [400, 500]);
|
|
3943
3942
|
|
|
3944
3943
|
let icon_defaultAvatar = __webpack_require__(4761);
|
|
3945
3944
|
|
|
@@ -4046,7 +4045,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4046
4045
|
loadDistrict: false
|
|
4047
4046
|
});
|
|
4048
4047
|
if (!out.error) this.setState({
|
|
4049
|
-
districts: util/* default */.Z.get(out, 'body.addresses')
|
|
4048
|
+
districts: util/* default.get */.Z.get(out, 'body.addresses')
|
|
4050
4049
|
});
|
|
4051
4050
|
});
|
|
4052
4051
|
order_defineProperty(this, "onSelectDistrict", async item => {
|
|
@@ -4065,7 +4064,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4065
4064
|
loadWard: false
|
|
4066
4065
|
});
|
|
4067
4066
|
if (!out.error) this.setState({
|
|
4068
|
-
wards: util/* default */.Z.get(out, 'body.addresses')
|
|
4067
|
+
wards: util/* default.get */.Z.get(out, 'body.addresses')
|
|
4069
4068
|
});
|
|
4070
4069
|
});
|
|
4071
4070
|
order_defineProperty(this, "onSelectWard", item => this.setState({
|
|
@@ -4086,7 +4085,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4086
4085
|
order_defineProperty(this, "onSelectAddress", addr => {
|
|
4087
4086
|
if (!addr) return;
|
|
4088
4087
|
this.setState({
|
|
4089
|
-
address: [util/* default */.Z.trim(addr.address), util/* default */.Z.trim(addr.street)].join(' ').trim(),
|
|
4088
|
+
address: [util/* default.trim */.Z.trim(addr.address), util/* default.trim */.Z.trim(addr.street)].join(' ').trim(),
|
|
4090
4089
|
street: addr.street,
|
|
4091
4090
|
err: {},
|
|
4092
4091
|
g_err: ''
|
|
@@ -4133,36 +4132,36 @@ class order_Order extends common/* Com */.up {
|
|
|
4133
4132
|
});
|
|
4134
4133
|
}
|
|
4135
4134
|
if (this.state.shipping === 'shop') {
|
|
4136
|
-
if (!util/* default */.Z.isPhone(this.state.phone)) {
|
|
4135
|
+
if (!util/* default.isPhone */.Z.isPhone(this.state.phone)) {
|
|
4137
4136
|
err.phone = true;
|
|
4138
4137
|
}
|
|
4139
|
-
if (!util/* default */.Z.trim(this.state.fullname)) {
|
|
4138
|
+
if (!util/* default.trim */.Z.trim(this.state.fullname)) {
|
|
4140
4139
|
err.name = true;
|
|
4141
4140
|
}
|
|
4142
|
-
if (!util/* default */.Z.trim(this.state.email)) {
|
|
4141
|
+
if (!util/* default.trim */.Z.trim(this.state.email)) {
|
|
4143
4142
|
err.email = true;
|
|
4144
4143
|
}
|
|
4145
4144
|
} else if (this.state.shipping_address == 'new') {
|
|
4146
|
-
if (!util/* default */.Z.isPhone(this.state.phone)) {
|
|
4145
|
+
if (!util/* default.isPhone */.Z.isPhone(this.state.phone)) {
|
|
4147
4146
|
err.phone = true;
|
|
4148
4147
|
}
|
|
4149
|
-
if (!util/* default */.Z.trim(this.state.fullname)) {
|
|
4148
|
+
if (!util/* default.trim */.Z.trim(this.state.fullname)) {
|
|
4150
4149
|
err.name = true;
|
|
4151
4150
|
}
|
|
4152
|
-
if (!util/* default */.Z.trim(this.state.address)) {
|
|
4151
|
+
if (!util/* default.trim */.Z.trim(this.state.address)) {
|
|
4153
4152
|
err.address = true;
|
|
4154
4153
|
}
|
|
4155
|
-
if (util/* default */.Z.size(this.state.selectedWard) == 0) {
|
|
4154
|
+
if (util/* default.size */.Z.size(this.state.selectedWard) == 0) {
|
|
4156
4155
|
err.ward = true;
|
|
4157
4156
|
}
|
|
4158
|
-
if (util/* default */.Z.size(this.state.selectedDistrict) == 0) {
|
|
4157
|
+
if (util/* default.size */.Z.size(this.state.selectedDistrict) == 0) {
|
|
4159
4158
|
err.district = true;
|
|
4160
4159
|
}
|
|
4161
|
-
if (util/* default */.Z.size(this.state.selectedProvince) == 0) {
|
|
4160
|
+
if (util/* default.size */.Z.size(this.state.selectedProvince) == 0) {
|
|
4162
4161
|
err.province = true;
|
|
4163
4162
|
}
|
|
4164
4163
|
}
|
|
4165
|
-
if (util/* default */.Z.size(err) > 0) {
|
|
4164
|
+
if (util/* default.size */.Z.size(err) > 0) {
|
|
4166
4165
|
this.setState({
|
|
4167
4166
|
err,
|
|
4168
4167
|
g_err: this.props.t('input_shipping_info_err')
|
|
@@ -4170,15 +4169,15 @@ class order_Order extends common/* Com */.up {
|
|
|
4170
4169
|
return;
|
|
4171
4170
|
}
|
|
4172
4171
|
let user = this.props.store.matchUser();
|
|
4173
|
-
let ufullname = util/* default */.Z.getUserAttr(user, 'fullname', 'text');
|
|
4174
|
-
let uemail = util/* default */.Z.getUserAttr(user, 'emails', 'text');
|
|
4175
|
-
let uphone = util/* default */.Z.getUserAttr(user, 'phones', 'text');
|
|
4176
|
-
let order = util/* default */.Z.cloneDeep(this.state.order);
|
|
4172
|
+
let ufullname = util/* default.getUserAttr */.Z.getUserAttr(user, 'fullname', 'text');
|
|
4173
|
+
let uemail = util/* default.getUserAttr */.Z.getUserAttr(user, 'emails', 'text');
|
|
4174
|
+
let uphone = util/* default.getUserAttr */.Z.getUserAttr(user, 'phones', 'text');
|
|
4175
|
+
let order = util/* default.cloneDeep */.Z.cloneDeep(this.state.order);
|
|
4177
4176
|
if (this.state.shipping === 'shop') {
|
|
4178
|
-
util/* default */.Z.set(order, 'shipping.pickup_at_shop', true);
|
|
4179
|
-
util/* default */.Z.set(order, 'shipping.address.phone', this.state.phone);
|
|
4180
|
-
util/* default */.Z.set(order, 'shipping.address.fullname', this.state.fullname);
|
|
4181
|
-
util/* default */.Z.set(order, 'shipping.address.email', this.state.email);
|
|
4177
|
+
util/* default.set */.Z.set(order, 'shipping.pickup_at_shop', true);
|
|
4178
|
+
util/* default.set */.Z.set(order, 'shipping.address.phone', this.state.phone);
|
|
4179
|
+
util/* default.set */.Z.set(order, 'shipping.address.fullname', this.state.fullname);
|
|
4180
|
+
util/* default.set */.Z.set(order, 'shipping.address.email', this.state.email);
|
|
4182
4181
|
} else {
|
|
4183
4182
|
if (this.state.shipping_address == 'new') {
|
|
4184
4183
|
let out = await this.props.store.createShippingAddress({
|
|
@@ -4198,37 +4197,37 @@ class order_Order extends common/* Com */.up {
|
|
|
4198
4197
|
if (out.error) return this.setState({
|
|
4199
4198
|
g_err: this.props.t('update_failed')
|
|
4200
4199
|
});
|
|
4201
|
-
util/* default */.Z.set(order, 'shipping.address', out.body);
|
|
4200
|
+
util/* default.set */.Z.set(order, 'shipping.address', out.body);
|
|
4202
4201
|
} else {
|
|
4203
4202
|
let addresses = this.props.store.matchShippingAddresses();
|
|
4204
|
-
let sa = util/* default */.Z.find(addresses, addr => addr.id === this.state.shipping_address);
|
|
4203
|
+
let sa = util/* default.find */.Z.find(addresses, addr => addr.id === this.state.shipping_address);
|
|
4205
4204
|
if (!sa) {
|
|
4206
4205
|
return this.setState({
|
|
4207
4206
|
err,
|
|
4208
4207
|
g_err: this.props.t('input_shipping_info_err')
|
|
4209
4208
|
});
|
|
4210
4209
|
}
|
|
4211
|
-
util/* default */.Z.set(order, 'shipping.address', sa);
|
|
4210
|
+
util/* default.set */.Z.set(order, 'shipping.address', sa);
|
|
4212
4211
|
}
|
|
4213
4212
|
}
|
|
4214
4213
|
let changeduser = false;
|
|
4215
4214
|
if (!ufullname && this.state.fullname) {
|
|
4216
4215
|
changeduser = true;
|
|
4217
|
-
util/* default */.Z.setUserAttr(user, {
|
|
4216
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
4218
4217
|
key: 'fullname',
|
|
4219
4218
|
text: this.state.fullname
|
|
4220
4219
|
});
|
|
4221
4220
|
}
|
|
4222
4221
|
if (!uemail && this.state.email) {
|
|
4223
4222
|
changeduser = true;
|
|
4224
|
-
util/* default */.Z.setUserAttr(user, {
|
|
4223
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
4225
4224
|
key: 'emails',
|
|
4226
4225
|
text: this.state.email
|
|
4227
4226
|
});
|
|
4228
4227
|
}
|
|
4229
4228
|
if (!uphone && this.state.phone) {
|
|
4230
4229
|
changeduser = true;
|
|
4231
|
-
util/* default */.Z.setUserAttr(user, {
|
|
4230
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
4232
4231
|
key: 'phones',
|
|
4233
4232
|
text: this.state.phone
|
|
4234
4233
|
});
|
|
@@ -4255,7 +4254,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4255
4254
|
order_defineProperty(this, "onCancel", () => {
|
|
4256
4255
|
if (this.props.onResponse) this.props.onResponse('rejected');
|
|
4257
4256
|
if (this.props.cid && !this.state.order.user_confirmation) {
|
|
4258
|
-
let order = util/* default */.Z.cloneDeep(this.state.order);
|
|
4257
|
+
let order = util/* default.cloneDeep */.Z.cloneDeep(this.state.order);
|
|
4259
4258
|
order.user_confirmation = 'rejected';
|
|
4260
4259
|
this.props.store.updateOrder(order);
|
|
4261
4260
|
}
|
|
@@ -4282,10 +4281,10 @@ class order_Order extends common/* Com */.up {
|
|
|
4282
4281
|
});
|
|
4283
4282
|
}
|
|
4284
4283
|
let user = this.props.store.matchUser();
|
|
4285
|
-
let attributes = util/* default */.Z.get(this.props.store.matchUser(), 'attributes', []);
|
|
4286
|
-
let fullname = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'fullname'), 'text');
|
|
4287
|
-
let email = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'emails'), 'text');
|
|
4288
|
-
let phone = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'phones'), 'text');
|
|
4284
|
+
let attributes = util/* default.get */.Z.get(this.props.store.matchUser(), 'attributes', []);
|
|
4285
|
+
let fullname = util/* default.get */.Z.get(util/* default.find */.Z.find(attributes, att => att.key === 'fullname'), 'text');
|
|
4286
|
+
let email = util/* default.get */.Z.get(util/* default.find */.Z.find(attributes, att => att.key === 'emails'), 'text');
|
|
4287
|
+
let phone = util/* default.get */.Z.get(util/* default.find */.Z.find(attributes, att => att.key === 'phones'), 'text');
|
|
4289
4288
|
this.setState({
|
|
4290
4289
|
fullname,
|
|
4291
4290
|
email,
|
|
@@ -4297,7 +4296,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4297
4296
|
loadProvince: false
|
|
4298
4297
|
});
|
|
4299
4298
|
if (!out.error) this.setState({
|
|
4300
|
-
provinces: util/* default */.Z.get(out, 'body.addresses')
|
|
4299
|
+
provinces: util/* default.get */.Z.get(out, 'body.addresses')
|
|
4301
4300
|
});
|
|
4302
4301
|
}
|
|
4303
4302
|
isMobile() {
|
|
@@ -4327,7 +4326,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4327
4326
|
}
|
|
4328
4327
|
if (editmode) {
|
|
4329
4328
|
let pms = this.props.store.matchPaymentMethods();
|
|
4330
|
-
let $pms = util/* default */.Z.map(pms, pm => {
|
|
4329
|
+
let $pms = util/* default.map */.Z.map(pms, pm => {
|
|
4331
4330
|
let $name = pm.description;
|
|
4332
4331
|
if (pm.method == 'bank_transfer') {
|
|
4333
4332
|
$name = pm.description + ' ' + pm.bank_name + ' ' + pm.bank_branch;
|
|
@@ -4408,15 +4407,15 @@ class order_Order extends common/* Com */.up {
|
|
|
4408
4407
|
let user = this.props.store.matchUser();
|
|
4409
4408
|
if (editmode) {
|
|
4410
4409
|
let addresses = this.props.store.matchShippingAddresses();
|
|
4411
|
-
let provinces = util/* default */.Z.map(this.state.provinces, province => ({
|
|
4410
|
+
let provinces = util/* default.map */.Z.map(this.state.provinces, province => ({
|
|
4412
4411
|
id: province.id,
|
|
4413
4412
|
name: province.province
|
|
4414
4413
|
}));
|
|
4415
|
-
let districts = util/* default */.Z.map(this.state.districts, district => ({
|
|
4414
|
+
let districts = util/* default.map */.Z.map(this.state.districts, district => ({
|
|
4416
4415
|
id: district.id,
|
|
4417
4416
|
name: district.district
|
|
4418
4417
|
}));
|
|
4419
|
-
let wards = util/* default */.Z.map(this.state.wards, ward => ({
|
|
4418
|
+
let wards = util/* default.map */.Z.map(this.state.wards, ward => ({
|
|
4420
4419
|
id: ward.id,
|
|
4421
4420
|
name: ward.ward
|
|
4422
4421
|
}));
|
|
@@ -4425,7 +4424,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4425
4424
|
let ship_icon_active = false;
|
|
4426
4425
|
if (this.state.shipping === 'ship') {
|
|
4427
4426
|
ship_icon_active = true;
|
|
4428
|
-
let $preaddrs = util/* default */.Z.map(addresses, addr => {
|
|
4427
|
+
let $preaddrs = util/* default.map */.Z.map(addresses, addr => {
|
|
4429
4428
|
let fulladdr = [addr.street, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
|
|
4430
4429
|
let $phone = null;
|
|
4431
4430
|
if (addr.phone) {
|
|
@@ -4557,7 +4556,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4557
4556
|
style: "flex: 1 !important; margin-left: 7px !important;"
|
|
4558
4557
|
})));
|
|
4559
4558
|
cls += ' ship_card__active';
|
|
4560
|
-
if (util/* default */.Z.size(addresses) == 0) {
|
|
4559
|
+
if (util/* default.size */.Z.size(addresses) == 0) {
|
|
4561
4560
|
$body = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
4562
4561
|
class: 'mt-3 mb-2 '
|
|
4563
4562
|
}, this.props.t('input_shipping_info')), $new);
|
|
@@ -4635,13 +4634,13 @@ class order_Order extends common/* Com */.up {
|
|
|
4635
4634
|
class: "ml-2"
|
|
4636
4635
|
}, "Giao h\xE0ng cho t\xF4i"))), $body));
|
|
4637
4636
|
}
|
|
4638
|
-
let addr = util/* default */.Z.get(order, 'shipping.address') || {};
|
|
4637
|
+
let addr = util/* default.get */.Z.get(order, 'shipping.address') || {};
|
|
4639
4638
|
let fulladdr = [addr.address, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
|
|
4640
4639
|
let $phone = null;
|
|
4641
4640
|
if (addr.phone) $phone = (0,preact_module.h)("div", {
|
|
4642
4641
|
class: "mt-1 muted"
|
|
4643
4642
|
}, this.props.t('phn'), ":\xA0", addr.phone);
|
|
4644
|
-
if (util/* default */.Z.get(order, 'shipping.pickup_at_shop')) {
|
|
4643
|
+
if (util/* default.get */.Z.get(order, 'shipping.pickup_at_shop')) {
|
|
4645
4644
|
fulladdr = 'Nhận hàng tại cửa hàng';
|
|
4646
4645
|
}
|
|
4647
4646
|
let $addr = fulladdr ? (0,preact_module.h)("div", null, fulladdr) : (0,preact_module.h)("i", {
|
|
@@ -4660,28 +4659,28 @@ class order_Order extends common/* Com */.up {
|
|
|
4660
4659
|
if (order.deposit > 0) {
|
|
4661
4660
|
$deposit = (0,preact_module.h)("span", {
|
|
4662
4661
|
class: "muted"
|
|
4663
|
-
}, "(c\u1ECDc ", util/* default */.Z.formatCurrency(order.deposit), ")");
|
|
4662
|
+
}, "(c\u1ECDc ", util/* default.formatCurrency */.Z.formatCurrency(order.deposit), ")");
|
|
4664
4663
|
}
|
|
4665
4664
|
let $discount = null;
|
|
4666
4665
|
if (order.total_discount > 0) {
|
|
4667
4666
|
$discount = (0,preact_module.h)("div", {
|
|
4668
4667
|
class: "order_summary_line"
|
|
4669
|
-
}, (0,preact_module.h)("div", null, "Gi\u1EA3m gi\xE1"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order.total_discount)));
|
|
4668
|
+
}, (0,preact_module.h)("div", null, "Gi\u1EA3m gi\xE1"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order.total_discount)));
|
|
4670
4669
|
}
|
|
4671
4670
|
let $pay = null;
|
|
4672
4671
|
if ($deposit || order.payment_made) {
|
|
4673
4672
|
$pay = (0,preact_module.h)(preact_module/* Fragment */.HY, null, (0,preact_module.h)("div", {
|
|
4674
4673
|
class: "order_summary_line"
|
|
4675
|
-
}, (0,preact_module.h)("div", null, "B\u1EA1n \u0111\xE3 tr\u1EA3"), (0,preact_module.h)("div", null, $deposit, " ", util/* default */.Z.formatCurrency(order.payment_made))), (0,preact_module.h)("div", {
|
|
4674
|
+
}, (0,preact_module.h)("div", null, "B\u1EA1n \u0111\xE3 tr\u1EA3"), (0,preact_module.h)("div", null, $deposit, " ", util/* default.formatCurrency */.Z.formatCurrency(order.payment_made))), (0,preact_module.h)("div", {
|
|
4676
4675
|
class: "order_summary_line"
|
|
4677
|
-
}, (0,preact_module.h)("div", null, "B\u1EA1n ch\u01B0a tr\u1EA3"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency((order.total || 0) - (order.payment_made || 0)))));
|
|
4676
|
+
}, (0,preact_module.h)("div", null, "B\u1EA1n ch\u01B0a tr\u1EA3"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency((order.total || 0) - (order.payment_made || 0)))));
|
|
4678
4677
|
}
|
|
4679
4678
|
let $tax = (0,preact_module.h)("div", {
|
|
4680
4679
|
class: "order_summary_line"
|
|
4681
|
-
}, (0,preact_module.h)("div", null, "Ti\u1EC1n thu\u1EBF"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order.total_tax)));
|
|
4680
|
+
}, (0,preact_module.h)("div", null, "Ti\u1EC1n thu\u1EBF"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order.total_tax)));
|
|
4682
4681
|
let $ship = (0,preact_module.h)("div", {
|
|
4683
4682
|
class: "order_summary_line"
|
|
4684
|
-
}, (0,preact_module.h)("div", null, "Ph\xED v\u1EADn chuy\u1EC3n"), (0,preact_module.h)("div", null, util/* default */.Z.get(order, 'shipping.fee', 0), " d"));
|
|
4683
|
+
}, (0,preact_module.h)("div", null, "Ph\xED v\u1EADn chuy\u1EC3n"), (0,preact_module.h)("div", null, util/* default.get */.Z.get(order, 'shipping.fee', 0), " d"));
|
|
4685
4684
|
let editmode = false;
|
|
4686
4685
|
if (!order.status || order.status == 'open') {
|
|
4687
4686
|
editmode = !order.user_confirmation;
|
|
@@ -4707,12 +4706,12 @@ class order_Order extends common/* Com */.up {
|
|
|
4707
4706
|
class: "order_label"
|
|
4708
4707
|
}, "T\xF3m t\u1EAFt"), (0,preact_module.h)("div", {
|
|
4709
4708
|
class: "order_summary_line"
|
|
4710
|
-
}, (0,preact_module.h)("div", null, "T\u1ED5ng ti\u1EC1n h\xE0ng"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order.subtotal))), $tax, $discount, $ship, $note, (0,preact_module.h)("div", {
|
|
4709
|
+
}, (0,preact_module.h)("div", null, "T\u1ED5ng ti\u1EC1n h\xE0ng"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order.subtotal))), $tax, $discount, $ship, $note, (0,preact_module.h)("div", {
|
|
4711
4710
|
class: "order_summary_line",
|
|
4712
4711
|
style: "margin-top: 10px !important; padding-top: 15px !important; border-top: 1px solid #eee !important"
|
|
4713
4712
|
}, (0,preact_module.h)("div", null, "B\u1EA1n ph\u1EA3i tr\u1EA3"), (0,preact_module.h)("div", {
|
|
4714
4713
|
class: "order__total"
|
|
4715
|
-
}, util/* default */.Z.formatCurrency(order.total))), $pay));
|
|
4714
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.total))), $pay));
|
|
4716
4715
|
}
|
|
4717
4716
|
renderStatusBadge(order) {
|
|
4718
4717
|
let status = order.status || 'open';
|
|
@@ -4723,9 +4722,9 @@ class order_Order extends common/* Com */.up {
|
|
|
4723
4722
|
}
|
|
4724
4723
|
renderShippingInfo(order) {
|
|
4725
4724
|
if (order.status != 'open' || order.user_confirmation) {}
|
|
4726
|
-
let shipping_provider = util/* default */.Z.get(order, 'shipping.shipping_provider');
|
|
4725
|
+
let shipping_provider = util/* default.get */.Z.get(order, 'shipping.shipping_provider');
|
|
4727
4726
|
if (!shipping_provider) return null;
|
|
4728
|
-
let shipping_code = util/* default */.Z.get(order, 'shipping.shipping_code');
|
|
4727
|
+
let shipping_code = util/* default.get */.Z.get(order, 'shipping.shipping_code');
|
|
4729
4728
|
let $tracking_code = null;
|
|
4730
4729
|
if (shipping_code) $tracking_code = (0,preact_module.h)("div", {
|
|
4731
4730
|
class: "muted",
|
|
@@ -4753,9 +4752,9 @@ class order_Order extends common/* Com */.up {
|
|
|
4753
4752
|
return null;
|
|
4754
4753
|
}
|
|
4755
4754
|
renderDesktopShippingInfo(order) {
|
|
4756
|
-
let shipping_provider = util/* default */.Z.get(order, 'shipping.shipping_provider');
|
|
4755
|
+
let shipping_provider = util/* default.get */.Z.get(order, 'shipping.shipping_provider');
|
|
4757
4756
|
if (!shipping_provider) return null;
|
|
4758
|
-
let shipping_code = util/* default */.Z.get(order, 'shipping.shipping_code');
|
|
4757
|
+
let shipping_code = util/* default.get */.Z.get(order, 'shipping.shipping_code');
|
|
4759
4758
|
let $tracking_code = null;
|
|
4760
4759
|
if (shipping_code) $tracking_code = (0,preact_module.h)("div", {
|
|
4761
4760
|
class: "muted",
|
|
@@ -4782,7 +4781,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4782
4781
|
}
|
|
4783
4782
|
renderProducts(order) {
|
|
4784
4783
|
let $products = null;
|
|
4785
|
-
$products = util/* default */.Z.map(order.items, item => {
|
|
4784
|
+
$products = util/* default.map */.Z.map(order.items, item => {
|
|
4786
4785
|
if (!item || !item.product) return null;
|
|
4787
4786
|
let product = item.product;
|
|
4788
4787
|
return (0,preact_module.h)("div", {
|
|
@@ -4790,7 +4789,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4790
4789
|
}, (0,preact_module.h)("img", {
|
|
4791
4790
|
class: "order_attachment__product_img",
|
|
4792
4791
|
alt: '' + product.id,
|
|
4793
|
-
src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4792
|
+
src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4794
4793
|
}), (0,preact_module.h)("div", {
|
|
4795
4794
|
style: "overflow: hidden !important;"
|
|
4796
4795
|
}, (0,preact_module.h)("div", {
|
|
@@ -4799,7 +4798,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4799
4798
|
class: "order_attachment__product_desc"
|
|
4800
4799
|
}, product.description || product.long_description), (0,preact_module.h)("div", {
|
|
4801
4800
|
class: "order_attachment__product_desc"
|
|
4802
|
-
}, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default */.Z.formatCurrency(product.price))));
|
|
4801
|
+
}, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default.formatCurrency */.Z.formatCurrency(product.price))));
|
|
4803
4802
|
});
|
|
4804
4803
|
if (!this.isMobile()) return (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
4805
4804
|
class: "order_label"
|
|
@@ -4817,7 +4816,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4817
4816
|
editmode = !order.user_confirmation;
|
|
4818
4817
|
}
|
|
4819
4818
|
if (editmode) {
|
|
4820
|
-
$products = util/* default */.Z.map(order.items, item => {
|
|
4819
|
+
$products = util/* default.map */.Z.map(order.items, item => {
|
|
4821
4820
|
if (!item || !item.product) return null;
|
|
4822
4821
|
let product = item.product;
|
|
4823
4822
|
return (0,preact_module.h)("div", {
|
|
@@ -4825,7 +4824,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4825
4824
|
}, (0,preact_module.h)("img", {
|
|
4826
4825
|
class: "order_attachment__product_img",
|
|
4827
4826
|
alt: '' + product.id,
|
|
4828
|
-
src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4827
|
+
src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4829
4828
|
}), (0,preact_module.h)("div", {
|
|
4830
4829
|
style: "overflow: hidden !important; flex: 1 !important"
|
|
4831
4830
|
}, (0,preact_module.h)("div", {
|
|
@@ -4834,7 +4833,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4834
4833
|
class: "order_attachment__product_desc"
|
|
4835
4834
|
}, product.description || product.long_description), (0,preact_module.h)("div", {
|
|
4836
4835
|
class: "order_attachment__product_desc"
|
|
4837
|
-
}, util/* default */.Z.formatCurrency(product.price))), (0,preact_module.h)("input", {
|
|
4836
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(product.price))), (0,preact_module.h)("input", {
|
|
4838
4837
|
class: "form-control",
|
|
4839
4838
|
style: "text-align: center !important; font-weight: 400 !important; width: 50px !important",
|
|
4840
4839
|
value: item.quantity,
|
|
@@ -4842,10 +4841,10 @@ class order_Order extends common/* Com */.up {
|
|
|
4842
4841
|
type: "text"
|
|
4843
4842
|
}), (0,preact_module.h)("div", {
|
|
4844
4843
|
style: "width: 80px !important; text-align: right !important; "
|
|
4845
|
-
}, (0,preact_module.h)("b", null, util/* default */.Z.formatCurrency(item.quantity * product.price))));
|
|
4844
|
+
}, (0,preact_module.h)("b", null, util/* default.formatCurrency */.Z.formatCurrency(item.quantity * product.price))));
|
|
4846
4845
|
});
|
|
4847
4846
|
} else {
|
|
4848
|
-
$products = util/* default */.Z.map(order.items, item => {
|
|
4847
|
+
$products = util/* default.map */.Z.map(order.items, item => {
|
|
4849
4848
|
if (!item || !item.product) return null;
|
|
4850
4849
|
let product = item.product;
|
|
4851
4850
|
return (0,preact_module.h)("div", {
|
|
@@ -4853,7 +4852,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4853
4852
|
}, (0,preact_module.h)("img", {
|
|
4854
4853
|
class: "order_attachment__product_img",
|
|
4855
4854
|
alt: '' + product.id,
|
|
4856
|
-
src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4855
|
+
src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4857
4856
|
}), (0,preact_module.h)("div", {
|
|
4858
4857
|
style: "overflow: hidden !important; flex: 1 !important"
|
|
4859
4858
|
}, (0,preact_module.h)("div", {
|
|
@@ -4862,11 +4861,11 @@ class order_Order extends common/* Com */.up {
|
|
|
4862
4861
|
class: "order_attachment__product_desc"
|
|
4863
4862
|
}, product.description || product.long_description), (0,preact_module.h)("div", {
|
|
4864
4863
|
class: "order_attachment__product_desc"
|
|
4865
|
-
}, util/* default */.Z.formatCurrency(product.price))), (0,preact_module.h)("div", {
|
|
4864
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(product.price))), (0,preact_module.h)("div", {
|
|
4866
4865
|
style: "text-align: center !important; font-weight: 400 !important; width: 50px !important"
|
|
4867
4866
|
}, item.quantity), (0,preact_module.h)("div", {
|
|
4868
4867
|
style: "width: 80px !important; text-align: right !important; "
|
|
4869
|
-
}, (0,preact_module.h)("b", null, util/* default */.Z.formatCurrency(item.total))));
|
|
4868
|
+
}, (0,preact_module.h)("b", null, util/* default.formatCurrency */.Z.formatCurrency(item.total))));
|
|
4870
4869
|
});
|
|
4871
4870
|
}
|
|
4872
4871
|
return (0,preact_module.h)("div", {
|
|
@@ -5084,7 +5083,7 @@ class Order extends common/* Com */.up {
|
|
|
5084
5083
|
});
|
|
5085
5084
|
});
|
|
5086
5085
|
Order_defineProperty(this, "close", async () => {
|
|
5087
|
-
await util/* default */.Z.sleep(100);
|
|
5086
|
+
await util/* default.sleep */.Z.sleep(100);
|
|
5088
5087
|
if (this.state.response === 'confirmed') {
|
|
5089
5088
|
this.props.store.sendConvoEvent(this.props.cid, 'message_sent', {
|
|
5090
5089
|
message: {
|
|
@@ -5185,7 +5184,7 @@ class Order extends common/* Com */.up {
|
|
|
5185
5184
|
render() {
|
|
5186
5185
|
if (this._show != this.props.show) {
|
|
5187
5186
|
this._show = this.props.show;
|
|
5188
|
-
util/* default */.Z.setTimeout(() => {
|
|
5187
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
5189
5188
|
if (!this._show) this.close();else this.open();
|
|
5190
5189
|
});
|
|
5191
5190
|
}
|
|
@@ -5312,7 +5311,7 @@ class Widget extends common/* Com */.up {
|
|
|
5312
5311
|
super(props);
|
|
5313
5312
|
Widget_defineProperty(this, "msgInput", (0,preact_module/* createRef */.Vf)());
|
|
5314
5313
|
Widget_defineProperty(this, "sendMessage", async message => {
|
|
5315
|
-
let hasPostback = util/* default */.Z.find(message.attachments, att => att.type === 'postback');
|
|
5314
|
+
let hasPostback = util/* default.find */.Z.find(message.attachments, att => att.type === 'postback');
|
|
5316
5315
|
if (this.isFormRequired() && hasPostback) {
|
|
5317
5316
|
this.onStartConvoClick();
|
|
5318
5317
|
this.fillQuickReplyToQuestion(message);
|
|
@@ -5391,7 +5390,7 @@ class Widget extends common/* Com */.up {
|
|
|
5391
5390
|
clickedJoin: false,
|
|
5392
5391
|
quickReplyMessage: {}
|
|
5393
5392
|
});
|
|
5394
|
-
util/* default */.Z.setTimeout(() => {
|
|
5393
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
5395
5394
|
this.events && this.events.focus();
|
|
5396
5395
|
if (!this.props.store.isMobile()) this.focusInput();
|
|
5397
5396
|
}, 100);
|
|
@@ -5402,10 +5401,10 @@ class Widget extends common/* Com */.up {
|
|
|
5402
5401
|
let form;
|
|
5403
5402
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
5404
5403
|
let acc = this.props.store.matchAccount() || {};
|
|
5405
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5406
|
-
let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
|
|
5404
|
+
if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5405
|
+
let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
|
|
5407
5406
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) form = accountSetting.offline_form;
|
|
5408
|
-
if (!this.hasSentMessage(this.props.cid) && form && (util/* default */.Z.size(form.groups) || form.group_required)) return true;
|
|
5407
|
+
if (!this.hasSentMessage(this.props.cid) && form && (util/* default.size */.Z.size(form.groups) || form.group_required)) return true;
|
|
5409
5408
|
let formRequired = this.isFormRequired();
|
|
5410
5409
|
return formRequired && !this.props.cid || formRequired && this.props.cid && this.state.clickedJoin;
|
|
5411
5410
|
}
|
|
@@ -5415,8 +5414,8 @@ class Widget extends common/* Com */.up {
|
|
|
5415
5414
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
5416
5415
|
let acc = this.props.store.matchAccount() || {};
|
|
5417
5416
|
let submitLabel = this.props.t('prechat_form_btn');
|
|
5418
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5419
|
-
let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
|
|
5417
|
+
if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5418
|
+
let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
|
|
5420
5419
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) {
|
|
5421
5420
|
form = accountSetting.offline_form;
|
|
5422
5421
|
submitLabel = this.props.t('offline_form_btn');
|
|
@@ -5433,8 +5432,8 @@ class Widget extends common/* Com */.up {
|
|
|
5433
5432
|
}
|
|
5434
5433
|
let $body = null;
|
|
5435
5434
|
if (this.props.view === 'list') $body = this.renderConvoList();else if (showform) $body = this.renderForm(form, submitLabel);else $body = this.renderChat();
|
|
5436
|
-
let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
5437
|
-
if (this.props.store.isMobile()) position = util/* default */.Z.get(accountSetting, 'mobile_button.position', position);
|
|
5435
|
+
let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
5436
|
+
if (this.props.store.isMobile()) position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position', position);
|
|
5438
5437
|
let cls = 'widget-container widget-container--' + position;
|
|
5439
5438
|
if (!this.props.isShow) cls += ' widget-container--hide';
|
|
5440
5439
|
return (0,preact_module.h)("div", {
|
|
@@ -5453,42 +5452,42 @@ class Widget extends common/* Com */.up {
|
|
|
5453
5452
|
}
|
|
5454
5453
|
async submitPrechatForm(form) {
|
|
5455
5454
|
var hasError = false;
|
|
5456
|
-
util/* default */.Z.map(this.state.formData, (field, key) => {
|
|
5457
|
-
if (field.is_required && (field.value === undefined || field.value === '' || util/* default */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
|
|
5455
|
+
util/* default.map */.Z.map(this.state.formData, (field, key) => {
|
|
5456
|
+
if (field.is_required && (field.value === undefined || field.value === '' || util/* default.size */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
|
|
5458
5457
|
field.error = this.props.t('error_empty');
|
|
5459
5458
|
hasError = true;
|
|
5460
5459
|
} else field.error = '';
|
|
5461
|
-
if (key.substr(5) === 'emails' && !util/* default */.Z.isEmail(field.value) && field.is_required) {
|
|
5460
|
+
if (key.substr(5) === 'emails' && !util/* default.isEmail */.Z.isEmail(field.value) && field.is_required) {
|
|
5462
5461
|
field.error = this.props.t('error_email_invalid');
|
|
5463
5462
|
hasError = true;
|
|
5464
5463
|
}
|
|
5465
|
-
if (key.substr(5) === 'phones' && !util/* default */.Z.isPhone(field.value) && field.is_required) {
|
|
5464
|
+
if (key.substr(5) === 'phones' && !util/* default.isPhone */.Z.isPhone(field.value) && field.is_required) {
|
|
5466
5465
|
field.error = this.props.t('error_phone_invalid');
|
|
5467
5466
|
hasError = true;
|
|
5468
5467
|
}
|
|
5469
5468
|
});
|
|
5470
5469
|
if (hasError) return this.forceUpdate();
|
|
5471
|
-
let data = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5472
|
-
let user = util/* default */.Z.cloneDeep(this.props.store.matchUser());
|
|
5470
|
+
let data = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5471
|
+
let user = util/* default.cloneDeep */.Z.cloneDeep(this.props.store.matchUser());
|
|
5473
5472
|
let is_lead = false;
|
|
5474
|
-
util/* default */.Z.map(data, (field, key) => {
|
|
5473
|
+
util/* default.map */.Z.map(data, (field, key) => {
|
|
5475
5474
|
if (!key.startsWith('attr:')) return;
|
|
5476
5475
|
var attr = {
|
|
5477
5476
|
key: key.substr(5)
|
|
5478
5477
|
};
|
|
5479
5478
|
is_lead = is_lead || key == 'emails' || key == 'phones';
|
|
5480
5479
|
if (field.type === 'number') attr.number = parseInt(field.value);
|
|
5481
|
-
if (field.type === 'datetime') attr.datetime = new util/* default */.Z.Date(field.value).toISOString();
|
|
5480
|
+
if (field.type === 'datetime') attr.datetime = new util/* default.Date */.Z.Date(field.value).toISOString();
|
|
5482
5481
|
if (field.type === 'list') attr.text = field.value;
|
|
5483
5482
|
if (field.type === 'text' || field.type === 'boolean') attr[field.type] = field.value;
|
|
5484
|
-
util/* default */.Z.setUserAttr(user, attr);
|
|
5483
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, attr);
|
|
5485
5484
|
});
|
|
5486
|
-
if (is_lead) util/* default */.Z.setUserAttr(user, {
|
|
5485
|
+
if (is_lead) util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
5487
5486
|
key: 'lead_source',
|
|
5488
5487
|
text: 'widget'
|
|
5489
5488
|
});
|
|
5490
|
-
let firstmsg = util/* default */.Z.get(data, 'question.value');
|
|
5491
|
-
let groupid = util/* default */.Z.get(data, 'group.value', '');
|
|
5489
|
+
let firstmsg = util/* default.get */.Z.get(data, 'question.value');
|
|
5490
|
+
let groupid = util/* default.get */.Z.get(data, 'group.value', '');
|
|
5492
5491
|
if (this.props.cid) {
|
|
5493
5492
|
this.props.store.setUser(user);
|
|
5494
5493
|
this.setState({
|
|
@@ -5500,7 +5499,7 @@ class Widget extends common/* Com */.up {
|
|
|
5500
5499
|
format: 'plaintext',
|
|
5501
5500
|
fields: [{
|
|
5502
5501
|
key: 'to_agent_group',
|
|
5503
|
-
value: util/* default */.Z.stringify(groupid)
|
|
5502
|
+
value: util/* default.stringify */.Z.stringify(groupid)
|
|
5504
5503
|
}],
|
|
5505
5504
|
attachments: this.state.quickReplyMessage.attachments
|
|
5506
5505
|
}
|
|
@@ -5560,7 +5559,7 @@ class Widget extends common/* Com */.up {
|
|
|
5560
5559
|
formData['question'] = {
|
|
5561
5560
|
key: 'question',
|
|
5562
5561
|
is_required: true,
|
|
5563
|
-
label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
|
|
5562
|
+
label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
|
|
5564
5563
|
type: 'text',
|
|
5565
5564
|
value: this.state.quickReplyMessage.text
|
|
5566
5565
|
};
|
|
@@ -5571,8 +5570,8 @@ class Widget extends common/* Com */.up {
|
|
|
5571
5570
|
}
|
|
5572
5571
|
onBooleanChange(key, e) {
|
|
5573
5572
|
this.wasFormInputed = true;
|
|
5574
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5575
|
-
let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5573
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5574
|
+
let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5576
5575
|
if (!field) return;
|
|
5577
5576
|
field.value = e.target.checked;
|
|
5578
5577
|
this.setState({
|
|
@@ -5581,8 +5580,8 @@ class Widget extends common/* Com */.up {
|
|
|
5581
5580
|
}
|
|
5582
5581
|
onInputChange(key, val) {
|
|
5583
5582
|
this.wasFormInputed = true;
|
|
5584
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5585
|
-
let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5583
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5584
|
+
let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5586
5585
|
if (!field) return;
|
|
5587
5586
|
field.value = val;
|
|
5588
5587
|
this.setState({
|
|
@@ -5591,8 +5590,8 @@ class Widget extends common/* Com */.up {
|
|
|
5591
5590
|
}
|
|
5592
5591
|
onListAddItem(key, val) {
|
|
5593
5592
|
this.wasFormInputed = true;
|
|
5594
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5595
|
-
let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5593
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5594
|
+
let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5596
5595
|
if (!field) return;
|
|
5597
5596
|
field.value = field.value || [];
|
|
5598
5597
|
field.value.push(val);
|
|
@@ -5602,8 +5601,8 @@ class Widget extends common/* Com */.up {
|
|
|
5602
5601
|
}
|
|
5603
5602
|
onListRemoveItem(key, index) {
|
|
5604
5603
|
this.wasFormInputed = true;
|
|
5605
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5606
|
-
let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5604
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5605
|
+
let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
|
|
5607
5606
|
if (!field) return;
|
|
5608
5607
|
field.value = field.value || [];
|
|
5609
5608
|
field.value.splice(index, 1);
|
|
@@ -5612,11 +5611,11 @@ class Widget extends common/* Com */.up {
|
|
|
5612
5611
|
});
|
|
5613
5612
|
}
|
|
5614
5613
|
renderCheckboxField(field) {
|
|
5615
|
-
let items = util/* default */.Z.get(field, 'def.items', []);
|
|
5614
|
+
let items = util/* default.get */.Z.get(field, 'def.items', []);
|
|
5616
5615
|
let values = [];
|
|
5617
5616
|
let value = field.value || '';
|
|
5618
5617
|
if (value) values = value.split(',');
|
|
5619
|
-
return (0,preact_module.h)("div", null, util/* default */.Z.map(items, item => {
|
|
5618
|
+
return (0,preact_module.h)("div", null, util/* default.map */.Z.map(items, item => {
|
|
5620
5619
|
return (0,preact_module.h)("div", {
|
|
5621
5620
|
class: "checkbox"
|
|
5622
5621
|
}, (0,preact_module.h)("input", {
|
|
@@ -5634,14 +5633,14 @@ class Widget extends common/* Com */.up {
|
|
|
5634
5633
|
}
|
|
5635
5634
|
toggleCheckboxField(key, v) {
|
|
5636
5635
|
this.wasFormInputed = true;
|
|
5637
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5638
|
-
let field = util/* default */.Z.find(formData, (f, fkkey) => f.key === key);
|
|
5636
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5637
|
+
let field = util/* default.find */.Z.find(formData, (f, fkkey) => f.key === key);
|
|
5639
5638
|
if (!field) return;
|
|
5640
5639
|
let value = field.value || '';
|
|
5641
5640
|
let values = [];
|
|
5642
5641
|
if (value) values = value.split(',');
|
|
5643
5642
|
if (values.includes(v)) {
|
|
5644
|
-
values = util/* default */.Z.filter(values, value => value !== v);
|
|
5643
|
+
values = util/* default.filter */.Z.filter(values, value => value !== v);
|
|
5645
5644
|
} else {
|
|
5646
5645
|
values.push(v);
|
|
5647
5646
|
}
|
|
@@ -5651,9 +5650,9 @@ class Widget extends common/* Com */.up {
|
|
|
5651
5650
|
});
|
|
5652
5651
|
}
|
|
5653
5652
|
renderRadioField(field) {
|
|
5654
|
-
let items = util/* default */.Z.get(field, 'def.items', []);
|
|
5653
|
+
let items = util/* default.get */.Z.get(field, 'def.items', []);
|
|
5655
5654
|
let value = field.value || '';
|
|
5656
|
-
return (0,preact_module.h)("div", null, util/* default */.Z.map(items, item => {
|
|
5655
|
+
return (0,preact_module.h)("div", null, util/* default.map */.Z.map(items, item => {
|
|
5657
5656
|
return (0,preact_module.h)("div", {
|
|
5658
5657
|
class: "radio"
|
|
5659
5658
|
}, (0,preact_module.h)("input", {
|
|
@@ -5672,8 +5671,8 @@ class Widget extends common/* Com */.up {
|
|
|
5672
5671
|
}
|
|
5673
5672
|
toggleRadioField(key, v) {
|
|
5674
5673
|
this.wasFormInputed = true;
|
|
5675
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5676
|
-
let field = util/* default */.Z.find(formData, (f, fkkey) => f.key === key);
|
|
5674
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5675
|
+
let field = util/* default.find */.Z.find(formData, (f, fkkey) => f.key === key);
|
|
5677
5676
|
if (!field) return;
|
|
5678
5677
|
field.value = v;
|
|
5679
5678
|
this.setState({
|
|
@@ -5682,8 +5681,8 @@ class Widget extends common/* Com */.up {
|
|
|
5682
5681
|
}
|
|
5683
5682
|
selectDropdownField(key, v) {
|
|
5684
5683
|
this.wasFormInputed = true;
|
|
5685
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5686
|
-
let field = util/* default */.Z.find(formData, (f, fkkey) => f.key === key);
|
|
5684
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
5685
|
+
let field = util/* default.find */.Z.find(formData, (f, fkkey) => f.key === key);
|
|
5687
5686
|
if (!field) return;
|
|
5688
5687
|
field.value = v;
|
|
5689
5688
|
this.setState({
|
|
@@ -5691,20 +5690,20 @@ class Widget extends common/* Com */.up {
|
|
|
5691
5690
|
});
|
|
5692
5691
|
}
|
|
5693
5692
|
renderDropdownField(field) {
|
|
5694
|
-
let items = util/* default */.Z.get(field, 'def.items', []);
|
|
5693
|
+
let items = util/* default.get */.Z.get(field, 'def.items', []);
|
|
5695
5694
|
return (0,preact_module.h)("select", {
|
|
5696
5695
|
class: "form-control",
|
|
5697
5696
|
value: field.value,
|
|
5698
5697
|
onChange: e => this.selectDropdownField(field.key, e.target.value)
|
|
5699
5698
|
}, (0,preact_module.h)("option", {
|
|
5700
5699
|
value: ""
|
|
5701
|
-
}, "-- ", this.props.t('no_select'), " --"), util/* default */.Z.map(items, item => (0,preact_module.h)("option", {
|
|
5700
|
+
}, "-- ", this.props.t('no_select'), " --"), util/* default.map */.Z.map(items, item => (0,preact_module.h)("option", {
|
|
5702
5701
|
value: item.value
|
|
5703
5702
|
}, this.props.t.i18n(item.i18n_label) || item.label || item.value)));
|
|
5704
5703
|
}
|
|
5705
5704
|
renderFields() {
|
|
5706
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return null;
|
|
5707
|
-
let $fields = util/* default */.Z.map(this.state.formData, (field, key) => {
|
|
5705
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
|
|
5706
|
+
let $fields = util/* default.map */.Z.map(this.state.formData, (field, key) => {
|
|
5708
5707
|
if (this.state.quickReplyMessage.text && key === 'question') return null;
|
|
5709
5708
|
let $field = null;
|
|
5710
5709
|
var errclass = field.error ? 'input--error' : '';
|
|
@@ -5720,13 +5719,13 @@ class Widget extends common/* Com */.up {
|
|
|
5720
5719
|
row: "4",
|
|
5721
5720
|
class: "form-control"
|
|
5722
5721
|
});
|
|
5723
|
-
} else if (util/* default */.Z.get(field, 'def.select') === 'checkbox') {
|
|
5722
|
+
} else if (util/* default.get */.Z.get(field, 'def.select') === 'checkbox') {
|
|
5724
5723
|
$field = this.renderCheckboxField(field);
|
|
5725
|
-
} else if (util/* default */.Z.get(field, 'def.select') === 'radio') {
|
|
5724
|
+
} else if (util/* default.get */.Z.get(field, 'def.select') === 'radio') {
|
|
5726
5725
|
$field = this.renderRadioField(field);
|
|
5727
|
-
} else if (util/* default */.Z.get(field, 'def.select') === 'dropdown') {
|
|
5726
|
+
} else if (util/* default.get */.Z.get(field, 'def.select') === 'dropdown') {
|
|
5728
5727
|
$field = this.renderDropdownField(field);
|
|
5729
|
-
} else if (util/* default */.Z.get(field, 'def.multiple_line')) {
|
|
5728
|
+
} else if (util/* default.get */.Z.get(field, 'def.multiple_line')) {
|
|
5730
5729
|
$field = (0,preact_module.h)("textarea", {
|
|
5731
5730
|
class: "form-control",
|
|
5732
5731
|
ref: ref => {
|
|
@@ -5773,7 +5772,7 @@ class Widget extends common/* Com */.up {
|
|
|
5773
5772
|
class: "checkbox--check"
|
|
5774
5773
|
}, (0,preact_module.h)("div", null)));
|
|
5775
5774
|
} else if (field.type === 'group') {
|
|
5776
|
-
$field = util/* default */.Z.map(field.list, item => (0,preact_module.h)("div", {
|
|
5775
|
+
$field = util/* default.map */.Z.map(field.list, item => (0,preact_module.h)("div", {
|
|
5777
5776
|
class: "radio"
|
|
5778
5777
|
}, (0,preact_module.h)("input", {
|
|
5779
5778
|
type: "radio",
|
|
@@ -5790,8 +5789,8 @@ class Widget extends common/* Com */.up {
|
|
|
5790
5789
|
}))));
|
|
5791
5790
|
} else if (field.type === 'list') {
|
|
5792
5791
|
let selected = this.state.formData[key].value || [];
|
|
5793
|
-
let items = util/* default */.Z.filter(util/* default */.Z.get(field, 'list', []), item => {
|
|
5794
|
-
return !util/* default */.Z.includes(selected, item);
|
|
5792
|
+
let items = util/* default.filter */.Z.filter(util/* default.get */.Z.get(field, 'list', []), item => {
|
|
5793
|
+
return !util/* default.includes */.Z.includes(selected, item);
|
|
5795
5794
|
});
|
|
5796
5795
|
$field = (0,preact_module.h)(ListField, {
|
|
5797
5796
|
selected: selected,
|
|
@@ -5839,8 +5838,8 @@ class Widget extends common/* Com */.up {
|
|
|
5839
5838
|
size: "16",
|
|
5840
5839
|
mode: "white"
|
|
5841
5840
|
}));
|
|
5842
|
-
let title = this.props.t.i18n(util/* default */.Z.get(form, `i18n_title`, {}));
|
|
5843
|
-
if (!title) title = util/* default */.Z.get(form, 'title', this.props.t('capture_lead_title'));
|
|
5841
|
+
let title = this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_title`, {}));
|
|
5842
|
+
if (!title) title = util/* default.get */.Z.get(form, 'title', this.props.t('capture_lead_title'));
|
|
5844
5843
|
title = title.replace('↵', '');
|
|
5845
5844
|
return (0,preact_module.h)("div", {
|
|
5846
5845
|
class: "widget-body"
|
|
@@ -5871,15 +5870,15 @@ class Widget extends common/* Com */.up {
|
|
|
5871
5870
|
}
|
|
5872
5871
|
renderConvoList() {
|
|
5873
5872
|
let convoM = this.props.store.matchConvo('*');
|
|
5874
|
-
var convos = util/* default */.Z.map(convoM, convo => this.props.store.matchConvo(convo.id));
|
|
5875
|
-
convos = util/* default */.Z.filter(convos, convo => !!convo);
|
|
5876
|
-
convos = util/* default */.Z.orderByF(convos, convo => util/* default */.Z.get(convo, 'last_message_sent.created', convo.actived), 'desc');
|
|
5877
|
-
var $convos = util/* default */.Z.map(convos, convo => {
|
|
5878
|
-
let ags = util/* default */.Z.filter(convo.members, m => {
|
|
5873
|
+
var convos = util/* default.map */.Z.map(convoM, convo => this.props.store.matchConvo(convo.id));
|
|
5874
|
+
convos = util/* default.filter */.Z.filter(convos, convo => !!convo);
|
|
5875
|
+
convos = util/* default.orderByF */.Z.orderByF(convos, convo => util/* default.get */.Z.get(convo, 'last_message_sent.created', convo.actived), 'desc');
|
|
5876
|
+
var $convos = util/* default.map */.Z.map(convos, convo => {
|
|
5877
|
+
let ags = util/* default.filter */.Z.filter(convo.members, m => {
|
|
5879
5878
|
return (m.type === 'agent' || m.type === 'bot') && m.membership === 'active';
|
|
5880
5879
|
});
|
|
5881
|
-
let agentids = util/* default */.Z.map(ags, m => m.id);
|
|
5882
|
-
agentids = agentids || util/* default */.Z.agentsOfConvo(convo)[0];
|
|
5880
|
+
let agentids = util/* default.map */.Z.map(ags, m => m.id);
|
|
5881
|
+
agentids = agentids || util/* default.agentsOfConvo */.Z.agentsOfConvo(convo)[0];
|
|
5883
5882
|
return (0,preact_module.h)("div", {
|
|
5884
5883
|
class: "convo-list--item",
|
|
5885
5884
|
onClick: () => this.goToConvo(convo.id),
|
|
@@ -5896,7 +5895,7 @@ class Widget extends common/* Com */.up {
|
|
|
5896
5895
|
let $body = (0,preact_module.h)("div", {
|
|
5897
5896
|
class: "convo-list--list"
|
|
5898
5897
|
}, $convos);
|
|
5899
|
-
if (util/* default */.Z.size(convos) === 0) {
|
|
5898
|
+
if (util/* default.size */.Z.size(convos) === 0) {
|
|
5900
5899
|
$body = (0,preact_module.h)("div", {
|
|
5901
5900
|
class: "convo-list--list"
|
|
5902
5901
|
}, (0,preact_module.h)("div", {
|
|
@@ -5932,19 +5931,19 @@ class Widget extends common/* Com */.up {
|
|
|
5932
5931
|
if (this.props.store.isPreview) return;
|
|
5933
5932
|
var $input = this.msgInput.current;
|
|
5934
5933
|
if (!$input) return;
|
|
5935
|
-
util/* default */.Z.setTimeout(() => $input && $input.blur());
|
|
5936
|
-
util/* default */.Z.setTimeout(() => $input && $input.blur(), 300);
|
|
5934
|
+
util/* default.setTimeout */.Z.setTimeout(() => $input && $input.blur());
|
|
5935
|
+
util/* default.setTimeout */.Z.setTimeout(() => $input && $input.blur(), 300);
|
|
5937
5936
|
}
|
|
5938
5937
|
focusInput() {
|
|
5939
5938
|
if (this.props.store.isPreview) return;
|
|
5940
5939
|
if (this.shouldShowForm()) {
|
|
5941
5940
|
let firstemptykey = '';
|
|
5942
|
-
util/* default */.Z.map(this.state.formData, (field, key) => {
|
|
5941
|
+
util/* default.map */.Z.map(this.state.formData, (field, key) => {
|
|
5943
5942
|
if (field.type !== 'text') return;
|
|
5944
5943
|
if (firstemptykey) return;
|
|
5945
5944
|
if (!field.value) firstemptykey = key;
|
|
5946
5945
|
});
|
|
5947
|
-
util/* default */.Z.setTimeout(() => {
|
|
5946
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
5948
5947
|
var $input = this['form_' + Widget_encode(firstemptykey)];
|
|
5949
5948
|
if (!$input) return;
|
|
5950
5949
|
$input.focus();
|
|
@@ -5953,8 +5952,8 @@ class Widget extends common/* Com */.up {
|
|
|
5953
5952
|
}
|
|
5954
5953
|
var $input = this.msgInput.current;
|
|
5955
5954
|
if (!$input) return;
|
|
5956
|
-
util/* default */.Z.setTimeout(() => $input.focus());
|
|
5957
|
-
util/* default */.Z.setTimeout(() => $input.focus(), 300);
|
|
5955
|
+
util/* default.setTimeout */.Z.setTimeout(() => $input.focus());
|
|
5956
|
+
util/* default.setTimeout */.Z.setTimeout(() => $input.focus(), 300);
|
|
5958
5957
|
}
|
|
5959
5958
|
onRate(rating) {
|
|
5960
5959
|
if (!this.props.cid) return;
|
|
@@ -5968,7 +5967,7 @@ class Widget extends common/* Com */.up {
|
|
|
5968
5967
|
fillQuickReplyToQuestion(message) {
|
|
5969
5968
|
let formData = this.state.formData;
|
|
5970
5969
|
if (formData) {
|
|
5971
|
-
util/* default */.Z.set(formData, 'question.value', message.text);
|
|
5970
|
+
util/* default.set */.Z.set(formData, 'question.value', message.text);
|
|
5972
5971
|
}
|
|
5973
5972
|
this.setState({
|
|
5974
5973
|
formData,
|
|
@@ -6061,8 +6060,8 @@ class Widget extends common/* Com */.up {
|
|
|
6061
6060
|
let form;
|
|
6062
6061
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
6063
6062
|
let acc = this.props.store.matchAccount() || {};
|
|
6064
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
6065
|
-
let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
|
|
6063
|
+
if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
6064
|
+
let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
|
|
6066
6065
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) form = accountSetting.offline_form;
|
|
6067
6066
|
if (!form) return false;
|
|
6068
6067
|
let formData = this.fillForm(form);
|
|
@@ -6070,34 +6069,34 @@ class Widget extends common/* Com */.up {
|
|
|
6070
6069
|
if (convo.state === 'ended') return true;
|
|
6071
6070
|
if (convo.state && convo.state !== 'pending') delete formData.group;
|
|
6072
6071
|
let isAllFiledEmpty = true;
|
|
6073
|
-
util/* default */.Z.each(formData, field => {
|
|
6072
|
+
util/* default.each */.Z.each(formData, field => {
|
|
6074
6073
|
if (field.value) isAllFiledEmpty = false;
|
|
6075
6074
|
});
|
|
6076
6075
|
if (isAllFiledEmpty && !this.userHasSent(this.props.cid)) return true;
|
|
6077
|
-
return !!util/* default */.Z.find(formData, field => field.is_required && (field.value == null || field.value === ''));
|
|
6076
|
+
return !!util/* default.find */.Z.find(formData, field => field.is_required && (field.value == null || field.value === ''));
|
|
6078
6077
|
}
|
|
6079
6078
|
renderConvoSummary(convo) {
|
|
6080
6079
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
6081
6080
|
let agentM = this.props.store.matchAgent('*');
|
|
6082
|
-
let ags = util/* default */.Z.filter(convo.members, m => {
|
|
6081
|
+
let ags = util/* default.filter */.Z.filter(convo.members, m => {
|
|
6083
6082
|
return (m.type === 'agent' || m.type === 'bot') && m.membership === 'active';
|
|
6084
6083
|
});
|
|
6085
|
-
let agentids = util/* default */.Z.map(ags, m => m.id);
|
|
6086
|
-
agentids = agentids || util/* default */.Z.agentsOfConvo(convo)[0];
|
|
6087
|
-
let agents = util/* default */.Z.map(agentids, id => agentM[id] || {
|
|
6084
|
+
let agentids = util/* default.map */.Z.map(ags, m => m.id);
|
|
6085
|
+
agentids = agentids || util/* default.agentsOfConvo */.Z.agentsOfConvo(convo)[0];
|
|
6086
|
+
let agents = util/* default.map */.Z.map(agentids, id => agentM[id] || {
|
|
6088
6087
|
avatar_url: Widget_defaultAvatar,
|
|
6089
6088
|
fullname: 'Offline Agent'
|
|
6090
6089
|
});
|
|
6091
|
-
var name = util/* default */.Z.each(agents, ag => ag.fullname).join(', ');
|
|
6090
|
+
var name = util/* default.each */.Z.each(agents, ag => ag.fullname).join(', ');
|
|
6092
6091
|
if (accountSetting.hide_agent_profile || !name) name = this.props.store.matchAccount().name;
|
|
6093
6092
|
if (!name) name = this.props.t('agent');
|
|
6094
6093
|
var $you = null;
|
|
6095
6094
|
if (convo.lastSenderType === 'user') {
|
|
6096
6095
|
$you = (0,preact_module.h)("span", null, this.props.t('you'), ":");
|
|
6097
6096
|
}
|
|
6098
|
-
let seen = util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id);
|
|
6097
|
+
let seen = util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id);
|
|
6099
6098
|
var lastmsg = this.renderMessagePreview(convo.last_message_sent);
|
|
6100
|
-
var time = util/* default */.Z.getMs(util/* default */.Z.get(convo, 'last_message_sent.created')) || util/* default */.Z.getMs(convo.created);
|
|
6099
|
+
var time = util/* default.getMs */.Z.getMs(util/* default.get */.Z.get(convo, 'last_message_sent.created')) || util/* default.getMs */.Z.getMs(convo.created);
|
|
6101
6100
|
let $unread = seen ? null : (0,preact_module.h)("div", {
|
|
6102
6101
|
class: "convo-list--item-unread"
|
|
6103
6102
|
});
|
|
@@ -6130,23 +6129,23 @@ class Widget extends common/* Com */.up {
|
|
|
6130
6129
|
}
|
|
6131
6130
|
agentsOfConvo(convo) {
|
|
6132
6131
|
let agentM = this.props.store.matchAgent('*');
|
|
6133
|
-
var agentids = util/* default */.Z.agentsOfConvo(convo, true);
|
|
6134
|
-
return util/* default */.Z.map(agentids, id => agentM[id] || {
|
|
6132
|
+
var agentids = util/* default.agentsOfConvo */.Z.agentsOfConvo(convo, true);
|
|
6133
|
+
return util/* default.map */.Z.map(agentids, id => agentM[id] || {
|
|
6135
6134
|
avatar_url: Widget_defaultAvatar,
|
|
6136
6135
|
fullname: 'Offline Agent'
|
|
6137
6136
|
});
|
|
6138
6137
|
}
|
|
6139
6138
|
renderMessagePreview(ev) {
|
|
6140
6139
|
let defmsg = this.props.t('sent_you_a_message');
|
|
6141
|
-
let message = util/* default */.Z.get(ev, 'data.message.text');
|
|
6142
|
-
var format = util/* default */.Z.get(ev, 'data.message.format');
|
|
6140
|
+
let message = util/* default.get */.Z.get(ev, 'data.message.text');
|
|
6141
|
+
var format = util/* default.get */.Z.get(ev, 'data.message.format');
|
|
6143
6142
|
if (format !== 'plaintext') message = defmsg;
|
|
6144
|
-
if (!message && util/* default */.Z.size(util/* default */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
|
|
6143
|
+
if (!message && util/* default.size */.Z.size(util/* default.get */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
|
|
6145
6144
|
if (!message) return null;
|
|
6146
|
-
let byType = util/* default */.Z.get(ev, 'by.type');
|
|
6145
|
+
let byType = util/* default.get */.Z.get(ev, 'by.type');
|
|
6147
6146
|
return (0,preact_module.h)("div", {
|
|
6148
6147
|
class: "convo-list--convo-last-mes"
|
|
6149
|
-
}, util/* default */.Z.map(util/* default */.Z.extractText(message), tag => {
|
|
6148
|
+
}, util/* default.map */.Z.map(util/* default.extractText */.Z.extractText(message), tag => {
|
|
6150
6149
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
6151
6150
|
emojiCode: tag.text,
|
|
6152
6151
|
byType: byType
|
|
@@ -6158,19 +6157,19 @@ class Widget extends common/* Com */.up {
|
|
|
6158
6157
|
var convo = this.props.store.matchConvo(cid) || {};
|
|
6159
6158
|
let user = this.props.store.matchUser();
|
|
6160
6159
|
if (this.userSent[cid]) return true;
|
|
6161
|
-
let joined = util/* default */.Z.find(convo.members, mem => mem.id === user.id && (mem.membership === 'active' || mem.last_sent > 0));
|
|
6160
|
+
let joined = util/* default.find */.Z.find(convo.members, mem => mem.id === user.id && (mem.membership === 'active' || mem.last_sent > 0));
|
|
6162
6161
|
return joined;
|
|
6163
6162
|
}
|
|
6164
6163
|
hasSentMessage(cid) {
|
|
6165
6164
|
let convo = this.props.store.matchConvo(cid) || {};
|
|
6166
|
-
let joined = util/* default */.Z.find(convo.members, mem => {
|
|
6165
|
+
let joined = util/* default.find */.Z.find(convo.members, mem => {
|
|
6167
6166
|
if (mem.type === 'bot') return true;
|
|
6168
6167
|
return mem.last_sent;
|
|
6169
6168
|
});
|
|
6170
6169
|
return joined;
|
|
6171
6170
|
}
|
|
6172
6171
|
isOffline(acc, accSetting) {
|
|
6173
|
-
let enableWhen = util/* default */.Z.get(accSetting, 'offline_form.enable_when');
|
|
6172
|
+
let enableWhen = util/* default.get */.Z.get(accSetting, 'offline_form.enable_when');
|
|
6174
6173
|
let isonline = true;
|
|
6175
6174
|
if (enableWhen === 'all_agents_offline') isonline = acc.is_online;
|
|
6176
6175
|
if (enableWhen === 'out_of_bussiness_hour') isonline = acc.is_in_business_hour;
|
|
@@ -6180,8 +6179,8 @@ class Widget extends common/* Com */.up {
|
|
|
6180
6179
|
let form;
|
|
6181
6180
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
6182
6181
|
let acc = this.props.store.matchAccount() || {};
|
|
6183
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
6184
|
-
let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
|
|
6182
|
+
if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
6183
|
+
let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
|
|
6185
6184
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) {
|
|
6186
6185
|
form = accountSetting.offline_form;
|
|
6187
6186
|
}
|
|
@@ -6191,23 +6190,23 @@ class Widget extends common/* Com */.up {
|
|
|
6191
6190
|
if (this.props.view === 'prechat_form') {
|
|
6192
6191
|
form = accountSetting.prechat_form;
|
|
6193
6192
|
}
|
|
6194
|
-
if (util/* default */.Z.size(form) === 0) return [];
|
|
6193
|
+
if (util/* default.size */.Z.size(form) === 0) return [];
|
|
6195
6194
|
var data = {};
|
|
6196
|
-
util/* default */.Z.each(form.fields, f => {
|
|
6195
|
+
util/* default.each */.Z.each(form.fields, f => {
|
|
6197
6196
|
var newf = Object.assign({}, f);
|
|
6198
6197
|
if (f.type === 'list') {
|
|
6199
6198
|
newf.list = f.list;
|
|
6200
6199
|
}
|
|
6201
|
-
newf.label = this.props.t.i18n(util/* default */.Z.get(f, `i18n_label`, {})) || f.label;
|
|
6200
|
+
newf.label = this.props.t.i18n(util/* default.get */.Z.get(f, `i18n_label`, {})) || f.label;
|
|
6202
6201
|
data['attr:' + f.key] = newf;
|
|
6203
6202
|
});
|
|
6204
|
-
if (form.group_required && util/* default */.Z.size(form.groups) > 0) {
|
|
6203
|
+
if (form.group_required && util/* default.size */.Z.size(form.groups) > 0) {
|
|
6205
6204
|
data['group'] = {
|
|
6206
6205
|
key: 'group',
|
|
6207
6206
|
is_required: !!form.group_required,
|
|
6208
|
-
label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
|
|
6207
|
+
label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
|
|
6209
6208
|
type: 'group',
|
|
6210
|
-
list: util/* default */.Z.map(form.groups, group => ({
|
|
6209
|
+
list: util/* default.map */.Z.map(form.groups, group => ({
|
|
6211
6210
|
value: group.id,
|
|
6212
6211
|
label: group.name
|
|
6213
6212
|
}))
|
|
@@ -6216,7 +6215,7 @@ class Widget extends common/* Com */.up {
|
|
|
6216
6215
|
data['question'] = {
|
|
6217
6216
|
key: 'question',
|
|
6218
6217
|
is_required: true,
|
|
6219
|
-
label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
|
|
6218
|
+
label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
|
|
6220
6219
|
type: 'text'
|
|
6221
6220
|
};
|
|
6222
6221
|
if (this.isFormChanged(this.state.formData, data)) {
|
|
@@ -6230,44 +6229,38 @@ class Widget extends common/* Com */.up {
|
|
|
6230
6229
|
let newKeys = Object.keys(newForm);
|
|
6231
6230
|
if (oldKeys.length !== newKeys.length) return true;
|
|
6232
6231
|
for (let i = 0; i < oldKeys.length; i++) {
|
|
6233
|
-
if (util/* default */.Z.get(oldForm, `${oldKeys[i]}.label`) !== util/* default */.Z.get(newForm, `${newKeys[i]}.label`)) return true;
|
|
6234
|
-
if (util/* default */.Z.get(oldForm, `${oldKeys[i]}.is_required`) !== util/* default */.Z.get(newForm, `${newKeys[i]}.is_required`)) return true;
|
|
6235
|
-
if (util/* default */.Z.stringify(util/* default */.Z.get(oldForm, `${oldKeys[i]}.list`)) !== util/* default */.Z.stringify(util/* default */.Z.get(newForm, `${newKeys[i]}.list`))) {
|
|
6232
|
+
if (util/* default.get */.Z.get(oldForm, `${oldKeys[i]}.label`) !== util/* default.get */.Z.get(newForm, `${newKeys[i]}.label`)) return true;
|
|
6233
|
+
if (util/* default.get */.Z.get(oldForm, `${oldKeys[i]}.is_required`) !== util/* default.get */.Z.get(newForm, `${newKeys[i]}.is_required`)) return true;
|
|
6234
|
+
if (util/* default.stringify */.Z.stringify(util/* default.get */.Z.get(oldForm, `${oldKeys[i]}.list`)) !== util/* default.stringify */.Z.stringify(util/* default.get */.Z.get(newForm, `${newKeys[i]}.list`))) {
|
|
6236
6235
|
return true;
|
|
6237
6236
|
}
|
|
6238
6237
|
}
|
|
6239
6238
|
return false;
|
|
6240
6239
|
}
|
|
6241
6240
|
fillForm(form) {
|
|
6242
|
-
if (util/* default */.Z.size(form) === 0) return [];
|
|
6241
|
+
if (util/* default.size */.Z.size(form) === 0) return [];
|
|
6243
6242
|
var data = {};
|
|
6244
6243
|
let user = this.props.store.matchUser();
|
|
6245
|
-
util/* default */.Z.each(form.fields, f => {
|
|
6244
|
+
util/* default.each */.Z.each(form.fields, f => {
|
|
6246
6245
|
var newf = Object.assign({}, f);
|
|
6247
|
-
newf.value = util/* default */.Z.getUserAttr(user, f.key, f.type);
|
|
6248
|
-
if (newf.key == 'emails' && !newf.value) {
|
|
6249
|
-
newf.value = util/* default */.Z.getUserAttr(user, 'related_email', 'text');
|
|
6250
|
-
}
|
|
6251
|
-
if (newf.key == 'phones' && !newf.value) {
|
|
6252
|
-
newf.value = util/* default */.Z.getUserAttr(user, 'related_phone', 'text');
|
|
6253
|
-
}
|
|
6246
|
+
newf.value = util/* default.getUserAttr */.Z.getUserAttr(user, f.key, f.type);
|
|
6254
6247
|
if (f.type === 'boolean' && !newf.value) newf.value = false;
|
|
6255
6248
|
if (f.type === 'datetime' && newf.value) {
|
|
6256
|
-
newf.value = new util/* default */.Z.Date(data.value).toLocaleDateString('en-CA');
|
|
6249
|
+
newf.value = new util/* default.Date */.Z.Date(data.value).toLocaleDateString('en-CA');
|
|
6257
6250
|
}
|
|
6258
6251
|
if (f.type === 'list') {
|
|
6259
6252
|
newf.list = f.list;
|
|
6260
6253
|
}
|
|
6261
|
-
newf.label = this.props.t.i18n(util/* default */.Z.get(f, `i18n_label`, {})) || f.label;
|
|
6254
|
+
newf.label = this.props.t.i18n(util/* default.get */.Z.get(f, `i18n_label`, {})) || f.label;
|
|
6262
6255
|
data['attr:' + f.key] = newf;
|
|
6263
6256
|
});
|
|
6264
|
-
if (form.group_required && util/* default */.Z.size(form.groups) > 0) {
|
|
6257
|
+
if (form.group_required && util/* default.size */.Z.size(form.groups) > 0) {
|
|
6265
6258
|
data['group'] = {
|
|
6266
6259
|
key: 'group',
|
|
6267
6260
|
is_required: !!form.group_required,
|
|
6268
|
-
label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
|
|
6261
|
+
label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
|
|
6269
6262
|
type: 'group',
|
|
6270
|
-
list: util/* default */.Z.map(form.groups, group => ({
|
|
6263
|
+
list: util/* default.map */.Z.map(form.groups, group => ({
|
|
6271
6264
|
value: group.id,
|
|
6272
6265
|
label: group.name
|
|
6273
6266
|
}))
|
|
@@ -6299,14 +6292,14 @@ class Main extends common/* Com */.up {
|
|
|
6299
6292
|
}
|
|
6300
6293
|
async refreshCSS() {
|
|
6301
6294
|
let plugins = this.props.store.matchPlugin();
|
|
6302
|
-
let found = util/* default */.Z.find(plugins, plugin => plugin.id === this.props.plugin.id);
|
|
6295
|
+
let found = util/* default.find */.Z.find(plugins, plugin => plugin.id === this.props.plugin.id);
|
|
6303
6296
|
if (!found) return;
|
|
6304
6297
|
let css = (await main_promiseMainCSS).default.default.toString();
|
|
6305
|
-
var outcss = util/* default */.Z.replaceCssVariable(css, found.chatbox);
|
|
6306
|
-
util/* default */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, outcss);
|
|
6298
|
+
var outcss = util/* default.replaceCssVariable */.Z.replaceCssVariable(css, found.chatbox);
|
|
6299
|
+
util/* default.setCss */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, outcss);
|
|
6307
6300
|
}
|
|
6308
6301
|
componentWillUnmount() {
|
|
6309
|
-
util/* default */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
|
|
6302
|
+
util/* default.setCss */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
|
|
6310
6303
|
}
|
|
6311
6304
|
async componentDidMount() {
|
|
6312
6305
|
this.$cssStyleDiv = document.getElementById('subiz-style-for-' + this.props.plugin.id);
|
|
@@ -6342,7 +6335,7 @@ class Main extends common/* Com */.up {
|
|
|
6342
6335
|
}
|
|
6343
6336
|
render() {
|
|
6344
6337
|
if (!this.state.cssready) return null;
|
|
6345
|
-
if (util/* default */.Z.isUserBanned(this.props.store.matchUser())) return null;
|
|
6338
|
+
if (util/* default.isUserBanned */.Z.isUserBanned(this.props.store.matchUser())) return null;
|
|
6346
6339
|
if (!this.props.t) return null;
|
|
6347
6340
|
return (0,preact_module.h)("div", {
|
|
6348
6341
|
class: this.props.store.isMobile() ? 'mobile' : 'desktop'
|
|
@@ -6376,10 +6369,10 @@ class Main extends common/* Com */.up {
|
|
|
6376
6369
|
if ($widget.wasFormInputed) return;
|
|
6377
6370
|
if (ev.type !== 'message_sent') return;
|
|
6378
6371
|
if (!this.state.isShowWidget) return;
|
|
6379
|
-
let byType = util/* default */.Z.get(ev, 'by.type');
|
|
6380
|
-
let byid = util/* default */.Z.get(ev, 'by.id') || '';
|
|
6372
|
+
let byType = util/* default.get */.Z.get(ev, 'by.type');
|
|
6373
|
+
let byid = util/* default.get */.Z.get(ev, 'by.id') || '';
|
|
6381
6374
|
if (!byid.startsWith('bb') || byType !== 'agent') return;
|
|
6382
|
-
let cid = util/* default */.Z.get(ev, 'data.message.conversation_id');
|
|
6375
|
+
let cid = util/* default.get */.Z.get(ev, 'data.message.conversation_id');
|
|
6383
6376
|
if (!cid) return;
|
|
6384
6377
|
this.showWidget({
|
|
6385
6378
|
cid,
|
|
@@ -6391,7 +6384,7 @@ class Main extends common/* Com */.up {
|
|
|
6391
6384
|
if (this.props.plugin._no_auto_expand) return;
|
|
6392
6385
|
if (this.props.store.matchHasManuallyClosed()) return;
|
|
6393
6386
|
let convoM = this.props.store.matchConvo('*');
|
|
6394
|
-
let redconvo = util/* default */.Z.find(convoM, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
6387
|
+
let redconvo = util/* default.find */.Z.find(convoM, convo => !util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
6395
6388
|
if (!redconvo || !redconvo.id) return;
|
|
6396
6389
|
if (!this.state.isShowWidget) this.showWidget({
|
|
6397
6390
|
view: 'chat',
|
|
@@ -6409,14 +6402,14 @@ class Main extends common/* Com */.up {
|
|
|
6409
6402
|
this.refButton.current && this.refButton.current.ClearPreview();
|
|
6410
6403
|
if (!p.view) {
|
|
6411
6404
|
let lastview = this.props.store.matchLastview() || {};
|
|
6412
|
-
p.view = util/* default */.Z.get(lastview, 'view');
|
|
6413
|
-
p.cid = util/* default */.Z.get(lastview, 'opts.cid');
|
|
6405
|
+
p.view = util/* default.get */.Z.get(lastview, 'view');
|
|
6406
|
+
p.cid = util/* default.get */.Z.get(lastview, 'opts.cid');
|
|
6414
6407
|
}
|
|
6415
6408
|
p = p || {};
|
|
6416
6409
|
if (!p.view && !p.cid) {
|
|
6417
6410
|
let convoM = this.props.store.matchConvo('*');
|
|
6418
|
-
let redconvo = util/* default */.Z.find(convoM, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
6419
|
-
p.cid = util/* default */.Z.get(redconvo, 'id', util/* default */.Z.get(convoM, '0.id'));
|
|
6411
|
+
let redconvo = util/* default.find */.Z.find(convoM, convo => !util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
6412
|
+
p.cid = util/* default.get */.Z.get(redconvo, 'id', util/* default.get */.Z.get(convoM, '0.id'));
|
|
6420
6413
|
p.view = 'chat';
|
|
6421
6414
|
}
|
|
6422
6415
|
if (this.props.store.isMobile()) modifyViewport();
|
|
@@ -6454,13 +6447,11 @@ class Main extends common/* Com */.up {
|
|
|
6454
6447
|
}
|
|
6455
6448
|
function restoreViewport() {
|
|
6456
6449
|
if (document.body && document.body.classList) document.body.classList.remove('sbz_no_scroll');
|
|
6457
|
-
if (document.documentElement && document.documentElement.classList) document.documentElement.classList.remove('sbz_no_scroll');
|
|
6458
6450
|
let metatag = document.getElementById('subiz-meta-viewport');
|
|
6459
6451
|
if (metatag) metatag.remove();
|
|
6460
6452
|
}
|
|
6461
6453
|
function modifyViewport() {
|
|
6462
6454
|
if (document.body && document.body.classList) document.body.classList.add('sbz_no_scroll');
|
|
6463
|
-
if (document.documentElement && document.documentElement.classList) document.documentElement.classList.add('sbz_no_scroll');
|
|
6464
6455
|
let metatag = document.createElement('meta');
|
|
6465
6456
|
metatag.httpEquiv = 'X-UA-Compatible';
|
|
6466
6457
|
metatag.name = 'viewport';
|