@subiz/widget-v4 4.1.44 → 4.1.46
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/assets/less/message.less +6 -0
- package/compiled_src/call/css.js +2 -1
- package/compiled_src/chatbox/ImageAttachments.js +89 -13
- package/compiled_src/chatbox/css.js +2 -1
- package/compiled_src/common.js +2 -1
- package/compiled_src/contact/contact.js +3 -2
- package/compiled_src/contact/css.js +2 -1
- package/compiled_src/lib.js +2 -1
- package/compiled_src/notif/css.js +2 -1
- package/compiled_src/popup/css.js +2 -1
- package/compiled_src/popup/popup.js +5 -7
- package/compiled_src/popup/tick.core.commonjs.js +2 -1
- package/compiled_src/store/api.js +1 -1
- package/compiled_src/store/store.js +18 -2
- package/compiled_src/util/campaign.js +6 -2
- package/compiled_src/util/common.js +26 -12
- package/compiled_src/util/index.js +2 -1
- package/compiled_src/util/order.js +4 -2
- package/compiled_src/util/pubsub.js +6 -3
- package/dist/{841.js → 132.js} +612 -528
- package/dist/18a02a9c54e.132.js +1 -0
- package/dist/18a02a9c54e.213.js +1 -0
- package/dist/18a02a9c54e.335.js +1 -0
- package/dist/{18b1ceaf2e0.362.js → 18a02a9c54e.362.js} +1 -1
- package/dist/18a02a9c54e.441.js +1 -0
- package/dist/18a02a9c54e.605.js +1 -0
- package/dist/{18b1ceaf2e0.782.js → 18a02a9c54e.782.js} +1 -1
- package/dist/18a02a9c54e.app.js +1 -0
- package/dist/{18b1ceaf2e0.index.html → 18a02a9c54e.index.html} +4 -4
- package/dist/{18b1ceaf2e0.library.html → 18a02a9c54e.library.html} +4 -4
- package/dist/18a02a9c54e.library.js +1 -0
- package/dist/{18b1ceaf2e0.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 +100 -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/screenshoot.html +1 -1
- package/dist/screenshoot.js +426 -430
- package/package.json +1 -1
- package/src/chatbox/ImageAttachments.js +93 -15
- package/src/popup/popup.js +8 -7
- package/src/store/api.js +1 -1
- package/src/store/store.js +15 -2
- package/dist/18b1ceaf2e0.213.js +0 -1
- package/dist/18b1ceaf2e0.335.js +0 -1
- package/dist/18b1ceaf2e0.605.js +0 -1
- package/dist/18b1ceaf2e0.841.js +0 -1
- package/dist/18b1ceaf2e0.app.js +0 -1
- package/dist/18b1ceaf2e0.library.js +0 -1
- package/dist/18b1ceaf2e0.preview.js +0 -1
- package/dist/18b1ceaf2e0.screenshoot.js +0 -1
- package/dist/18b1ceaf2e0.webview.js +0 -1
- /package/dist/{18b1ceaf2e0.178.js → 18a02a9c54e.178.js} +0 -0
- /package/dist/{18b1ceaf2e0.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,7 +420,7 @@ 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", {
|
|
@@ -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", {
|
|
@@ -658,9 +658,9 @@ class Header extends common/* Com */.up {
|
|
|
658
658
|
});
|
|
659
659
|
const DEFTEAMINTO = `Chúng tôi sẵn sàng trợ giúp :wave:.
|
|
660
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`;
|
|
661
|
-
let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
|
|
661
|
+
let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
|
|
662
662
|
var teamintro = this.props.t.i18n(tagline) || accSetting.introduction || this.props.t('team_intro') || DEFTEAMINTO;
|
|
663
|
-
var tags = util/* default */.Z.extractText(teamintro).map(tag => {
|
|
663
|
+
var tags = util/* default.extractText */.Z.extractText(teamintro).map(tag => {
|
|
664
664
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
665
665
|
emojiCode: tag.text
|
|
666
666
|
});
|
|
@@ -681,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
|
|
|
681
681
|
}, (0,preact_module.h)("img", {
|
|
682
682
|
alt: "logo",
|
|
683
683
|
class: "social__account_logo",
|
|
684
|
-
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'))
|
|
685
685
|
}), (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
686
686
|
class: "social__introduction"
|
|
687
687
|
}, tags), (0,preact_module.h)("div", {
|
|
@@ -692,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
|
|
|
692
692
|
let accSetting = this.props.plugin.chatbox || {};
|
|
693
693
|
const DEFTEAMINTO = `Chúng tôi sẵn sàng trợ giúp :wave:.
|
|
694
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`;
|
|
695
|
-
let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
|
|
695
|
+
let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
|
|
696
696
|
var teamintro = this.props.t.i18n(tagline) || accSetting.introduction || this.props.t('team_intro') || DEFTEAMINTO;
|
|
697
|
-
var tags = util/* default */.Z.extractText(teamintro).map(tag => {
|
|
697
|
+
var tags = util/* default.extractText */.Z.extractText(teamintro).map(tag => {
|
|
698
698
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
699
699
|
emojiCode: tag.text
|
|
700
700
|
});
|
|
@@ -728,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
|
|
|
728
728
|
let accSetting = this.props.plugin.chatbox || {};
|
|
729
729
|
let acc = this.props.store.matchAccount() || {};
|
|
730
730
|
let agentsJoined = this.getAgentJoined(this.props.cid);
|
|
731
|
-
let caption = util/* default */.Z.get(this.props.plugin, 'chatbox.caption', {});
|
|
731
|
+
let caption = util/* default.get */.Z.get(this.props.plugin, 'chatbox.caption', {});
|
|
732
732
|
let title = this.props.t.i18n(caption) || accSetting.title;
|
|
733
733
|
return getJoinedNameMember(agentsJoined) || title || acc.name || this.props.t('widget_title');
|
|
734
734
|
}
|
|
735
735
|
renderBackButton() {
|
|
736
736
|
let allconvos = this.props.store.matchConvo('*');
|
|
737
|
-
if (util/* default */.Z.size(allconvos) === 0) return null;
|
|
737
|
+
if (util/* default.size */.Z.size(allconvos) === 0) return null;
|
|
738
738
|
var $unreadcount = null;
|
|
739
739
|
let user = this.props.store.matchUser();
|
|
740
740
|
let unreadcount = 0;
|
|
741
|
-
util/* default */.Z.map(allconvos, convo => {
|
|
741
|
+
util/* default.map */.Z.map(allconvos, convo => {
|
|
742
742
|
if (convo.id == this.props.cid) return;
|
|
743
|
-
if (!util/* default */.Z.isConvoSeen(convo, user.id)) unreadcount++;
|
|
743
|
+
if (!util/* default.isConvoSeen */.Z.isConvoSeen(convo, user.id)) unreadcount++;
|
|
744
744
|
});
|
|
745
745
|
if (unreadcount !== 0) {
|
|
746
746
|
$unreadcount = (0,preact_module.h)("span", {
|
|
@@ -779,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
|
|
|
779
779
|
}
|
|
780
780
|
getAgentJoined(cid) {
|
|
781
781
|
var convo = this.props.store.matchConvo(cid) || {};
|
|
782
|
-
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');
|
|
783
783
|
return joined;
|
|
784
784
|
}
|
|
785
785
|
}
|
|
786
786
|
let getJoinedNameMember = agents => {
|
|
787
|
-
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));
|
|
788
788
|
if (!agents.length) return null;
|
|
789
|
-
return util/* default */.Z.map(agents, agent => agent.fullname).join(', ');
|
|
789
|
+
return util/* default.map */.Z.map(agents, agent => agent.fullname).join(', ');
|
|
790
790
|
};
|
|
791
791
|
;// CONCATENATED MODULE: ./src/chatbox/MessageInput.js
|
|
792
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; }
|
|
@@ -799,22 +799,22 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
799
799
|
class MessageInput extends common/* Com */.up {
|
|
800
800
|
constructor(props) {
|
|
801
801
|
super(props);
|
|
802
|
-
_defineProperty(this, "onEnter", util/* default */.Z.throttle(function () {
|
|
802
|
+
_defineProperty(this, "onEnter", util/* default.throttle */.Z.throttle(function () {
|
|
803
803
|
this.submitMessage();
|
|
804
804
|
}, 50));
|
|
805
805
|
this.refFileInput = (0,preact_module/* createRef */.Vf)();
|
|
806
806
|
this.refMessageInput = (0,preact_module/* createRef */.Vf)();
|
|
807
807
|
this.props.store.onUpdate(this, _ => this.forceUpdate());
|
|
808
808
|
this.props.store.onConvoEvent(this, ev => {
|
|
809
|
-
var evcid = util/* default */.Z.convoOfEv(ev);
|
|
809
|
+
var evcid = util/* default.convoOfEv */.Z.convoOfEv(ev);
|
|
810
810
|
if (evcid !== this.props.cid) return;
|
|
811
811
|
this.forceUpdate();
|
|
812
812
|
});
|
|
813
813
|
this.focus();
|
|
814
|
-
this._forceUpdate = util/* default */.Z.throttle(() => {
|
|
814
|
+
this._forceUpdate = util/* default.throttle */.Z.throttle(() => {
|
|
815
815
|
this.forceUpdate();
|
|
816
816
|
}, 500);
|
|
817
|
-
this.resizeInput = util/* default */.Z.throttle(function () {
|
|
817
|
+
this.resizeInput = util/* default.throttle */.Z.throttle(function () {
|
|
818
818
|
const input = this.refMessageInput.current;
|
|
819
819
|
input.style.setProperty('height', '1em', 'important');
|
|
820
820
|
const height = Math.min(200, input.scrollHeight);
|
|
@@ -834,7 +834,7 @@ class MessageInput extends common/* Com */.up {
|
|
|
834
834
|
class: "message-input--button message-input--attachment-button",
|
|
835
835
|
onClick: e => this.selectFile(e)
|
|
836
836
|
}));
|
|
837
|
-
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);
|
|
838
838
|
if (msg.length > 0) {
|
|
839
839
|
buttons = (0,preact_module.h)("div", {
|
|
840
840
|
class: "d-flex flex-row align-self-end"
|
|
@@ -873,30 +873,30 @@ class MessageInput extends common/* Com */.up {
|
|
|
873
873
|
}
|
|
874
874
|
hasUnfinishRequiredFormOrLock() {
|
|
875
875
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
876
|
-
if (util/* default */.Z.get(convo, 'state') === 'ended') return false;
|
|
876
|
+
if (util/* default.get */.Z.get(convo, 'state') === 'ended') return false;
|
|
877
877
|
let events = this.props.store.listEvents(this.props.cid);
|
|
878
|
-
events = util/* default */.Z.orderBy(events, 'created', 'desc').filter(ev => ev.type === 'message_sent');
|
|
879
|
-
let attachments = util/* default */.Z.get(events[0], 'data.message.attachments', []);
|
|
880
|
-
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'));
|
|
881
881
|
if (lock) return true;
|
|
882
882
|
var last_agent_sent;
|
|
883
883
|
for (let ev of events) {
|
|
884
|
-
if (util/* default */.Z.get(ev, 'by.type') === 'user') continue;
|
|
884
|
+
if (util/* default.get */.Z.get(ev, 'by.type') === 'user') continue;
|
|
885
885
|
last_agent_sent = ev;
|
|
886
886
|
break;
|
|
887
887
|
}
|
|
888
|
-
attachments = util/* default */.Z.get(last_agent_sent, 'data.message.attachments', []);
|
|
889
|
-
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 => {
|
|
890
890
|
if (!att) return false;
|
|
891
891
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
|
|
892
892
|
var form = att.form;
|
|
893
893
|
if (!form) return false;
|
|
894
|
-
var state = util/* default */.Z.parseJSON(form.state) || {};
|
|
894
|
+
var state = util/* default.parseJSON */.Z.parseJSON(form.state) || {};
|
|
895
895
|
if (!state.require_finished && att.type !== 'ask_info_form') return false;
|
|
896
896
|
if (isSummited(att.form)) return false;
|
|
897
897
|
return true;
|
|
898
898
|
});
|
|
899
|
-
return util/* default */.Z.size(pendingForms) > 0;
|
|
899
|
+
return util/* default.size */.Z.size(pendingForms) > 0;
|
|
900
900
|
}
|
|
901
901
|
renderEmojiPopup() {
|
|
902
902
|
if (!this.state.openEmoji) return null;
|
|
@@ -1000,10 +1000,10 @@ class MessageInput extends common/* Com */.up {
|
|
|
1000
1000
|
focus() {
|
|
1001
1001
|
if (this.props.disabled) return;
|
|
1002
1002
|
this.refMessageInput.current && this.refMessageInput.current.focus();
|
|
1003
|
-
util/* default */.Z.setTimeout(() => {
|
|
1003
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
1004
1004
|
this.refMessageInput.current && this.refMessageInput.current.focus();
|
|
1005
1005
|
});
|
|
1006
|
-
util/* default */.Z.setTimeout(() => {
|
|
1006
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
1007
1007
|
this.refMessageInput.current && this.refMessageInput.current.focus();
|
|
1008
1008
|
}, 100);
|
|
1009
1009
|
}
|
|
@@ -1053,9 +1053,9 @@ class MessageInput extends common/* Com */.up {
|
|
|
1053
1053
|
$input.value = '';
|
|
1054
1054
|
}
|
|
1055
1055
|
_sendFile(files) {
|
|
1056
|
-
if (util/* default */.Z.size(files) === 0) return;
|
|
1056
|
+
if (util/* default.size */.Z.size(files) === 0) return;
|
|
1057
1057
|
if (this.props.disabled) return;
|
|
1058
|
-
let attachments = util/* default */.Z.map(files, file => {
|
|
1058
|
+
let attachments = util/* default.map */.Z.map(files, file => {
|
|
1059
1059
|
return {
|
|
1060
1060
|
type: 'file',
|
|
1061
1061
|
mimetype: file.type,
|
|
@@ -1069,7 +1069,7 @@ class MessageInput extends common/* Com */.up {
|
|
|
1069
1069
|
});
|
|
1070
1070
|
}
|
|
1071
1071
|
async submitMessage(msg) {
|
|
1072
|
-
msg = msg || util/* default */.Z.trim(this.refMessageInput.current.value) || '';
|
|
1072
|
+
msg = msg || util/* default.trim */.Z.trim(this.refMessageInput.current.value) || '';
|
|
1073
1073
|
if (!msg) return;
|
|
1074
1074
|
if (this.props.disabled) return;
|
|
1075
1075
|
this.refMessageInput.current.value = '';
|
|
@@ -1088,7 +1088,7 @@ class MessageInput extends common/* Com */.up {
|
|
|
1088
1088
|
}
|
|
1089
1089
|
pasteImage(event) {
|
|
1090
1090
|
if (!window.File || !window.FileReader || !window.FileList || !window.Blob) return;
|
|
1091
|
-
let now = new util/* default */.Z.Date();
|
|
1091
|
+
let now = new util/* default.Date */.Z.Date();
|
|
1092
1092
|
let year = now.getFullYear();
|
|
1093
1093
|
let month = now.getMonth() + 1;
|
|
1094
1094
|
let date = now.getDate();
|
|
@@ -1110,8 +1110,8 @@ class MessageInput extends common/* Com */.up {
|
|
|
1110
1110
|
}
|
|
1111
1111
|
}
|
|
1112
1112
|
function isSummited(form) {
|
|
1113
|
-
let fields = util/* default */.Z.get(form, 'fields') || [];
|
|
1114
|
-
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);
|
|
1115
1115
|
}
|
|
1116
1116
|
;// CONCATENATED MODULE: ./src/chatbox/ImageAttachments.js
|
|
1117
1117
|
|
|
@@ -1122,12 +1122,12 @@ class ImageAttachment extends common/* Com */.up {
|
|
|
1122
1122
|
super(props);
|
|
1123
1123
|
}
|
|
1124
1124
|
render() {
|
|
1125
|
-
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', []);
|
|
1126
1126
|
var images = [];
|
|
1127
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1128
|
-
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) => {
|
|
1129
1129
|
if (!att) return;
|
|
1130
|
-
if (!util/* default */.Z.includes(att.mimetype, 'image')) return;
|
|
1130
|
+
if (!util/* default.includes */.Z.includes(att.mimetype, 'image')) return;
|
|
1131
1131
|
if (!att.url) return;
|
|
1132
1132
|
var uri = att.url;
|
|
1133
1133
|
if (!uri.startsWith('https://') && !uri.startsWith('http://') && !uri.startsWith('content://') && !uri.startsWith('data:')) {
|
|
@@ -1136,7 +1136,7 @@ class ImageAttachment extends common/* Com */.up {
|
|
|
1136
1136
|
images.push(att);
|
|
1137
1137
|
});
|
|
1138
1138
|
if (images.length === 0) return null;
|
|
1139
|
-
var $images = util/* default */.Z.map(images, (image, index) => (0,preact_module.h)("div", {
|
|
1139
|
+
var $images = util/* default.map */.Z.map(images, (image, index) => (0,preact_module.h)("div", {
|
|
1140
1140
|
class: `image-attachment image-attachment--${byType}`
|
|
1141
1141
|
}, (0,preact_module.h)("a", {
|
|
1142
1142
|
href: this.props.store.replaceFileUrl(image.thumbnail_url || image.url),
|
|
@@ -1167,15 +1167,15 @@ class AudioAttachments extends common/* Com */.up {
|
|
|
1167
1167
|
super(props);
|
|
1168
1168
|
}
|
|
1169
1169
|
render() {
|
|
1170
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1171
|
-
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', []);
|
|
1172
1172
|
var audios = [];
|
|
1173
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
1173
|
+
util/* default.each */.Z.each(attachments, (att, i) => {
|
|
1174
1174
|
if (!att) return;
|
|
1175
|
-
if (util/* default */.Z.includes(att.mimetype, 'audio')) audios.push(att);
|
|
1175
|
+
if (util/* default.includes */.Z.includes(att.mimetype, 'audio')) audios.push(att);
|
|
1176
1176
|
});
|
|
1177
1177
|
if (audios.length === 0) return null;
|
|
1178
|
-
var $audios = util/* default */.Z.map(audios, (audio, index) => {
|
|
1178
|
+
var $audios = util/* default.map */.Z.map(audios, (audio, index) => {
|
|
1179
1179
|
return (0,preact_module.h)("div", {
|
|
1180
1180
|
key: index,
|
|
1181
1181
|
class: `audio-attachment audio-attachment--${byType}`
|
|
@@ -1198,18 +1198,18 @@ class AudioAttachments extends common/* Com */.up {
|
|
|
1198
1198
|
|
|
1199
1199
|
class FileAttachments extends common/* Com */.up {
|
|
1200
1200
|
render() {
|
|
1201
|
-
var byType = util/* default */.Z.get(this.props.ev, 'by.type', 'agent');
|
|
1202
|
-
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', []);
|
|
1203
1203
|
var files = [];
|
|
1204
|
-
util/* default */.Z.each(attachments, att => {
|
|
1204
|
+
util/* default.each */.Z.each(attachments, att => {
|
|
1205
1205
|
if (!att) return;
|
|
1206
1206
|
if (!att.url && !att._file) return;
|
|
1207
|
-
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') {
|
|
1208
1208
|
files.push(att);
|
|
1209
1209
|
}
|
|
1210
1210
|
});
|
|
1211
1211
|
if (files.length === 0) return null;
|
|
1212
|
-
var $files = util/* default */.Z.map(files, (file, index) => {
|
|
1212
|
+
var $files = util/* default.map */.Z.map(files, (file, index) => {
|
|
1213
1213
|
return (0,preact_module.h)("div", {
|
|
1214
1214
|
key: index,
|
|
1215
1215
|
class: `file-attachment file-attachment--${byType}`
|
|
@@ -1237,8 +1237,8 @@ class Buttons extends common/* Com */.up {
|
|
|
1237
1237
|
super(props);
|
|
1238
1238
|
}
|
|
1239
1239
|
render() {
|
|
1240
|
-
if (util/* default */.Z.size(this.props.buttons) === 0) return null;
|
|
1241
|
-
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) => {
|
|
1242
1242
|
if (button.type === 'call_button') {
|
|
1243
1243
|
return (0,preact_module.h)("a", {
|
|
1244
1244
|
class: "url-button-attachment",
|
|
@@ -1282,13 +1282,13 @@ class ButtonAttachments extends common/* Com */.up {
|
|
|
1282
1282
|
super(props);
|
|
1283
1283
|
}
|
|
1284
1284
|
render() {
|
|
1285
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1285
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1286
1286
|
if (byType === 'user') return null;
|
|
1287
1287
|
let buttons = [];
|
|
1288
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1289
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
1290
|
-
if (!att || util/* default */.Z.get(att, 'type') !== 'button') return;
|
|
1291
|
-
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));
|
|
1292
1292
|
});
|
|
1293
1293
|
return (0,preact_module.h)(Buttons, {
|
|
1294
1294
|
store: this.props.store,
|
|
@@ -1306,21 +1306,21 @@ class QuickReplies extends common/* Com */.up {
|
|
|
1306
1306
|
super(props);
|
|
1307
1307
|
}
|
|
1308
1308
|
render() {
|
|
1309
|
-
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;
|
|
1310
1310
|
let quickreplies = [];
|
|
1311
|
-
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 => {
|
|
1312
1312
|
if (!att) return;
|
|
1313
1313
|
if (att.type === 'quick_replies') {
|
|
1314
|
-
quickreplies = util/* default */.Z.get(att, 'quick_replies', []);
|
|
1314
|
+
quickreplies = util/* default.get */.Z.get(att, 'quick_replies', []);
|
|
1315
1315
|
}
|
|
1316
1316
|
});
|
|
1317
|
-
quickreplies = util/* default */.Z.filter(quickreplies, r => r.title);
|
|
1317
|
+
quickreplies = util/* default.filter */.Z.filter(quickreplies, r => r.title);
|
|
1318
1318
|
if (quickreplies.length === 0) return null;
|
|
1319
|
-
let cid = util/* default */.Z.convoOfEv(this.props.ev);
|
|
1319
|
+
let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.ev);
|
|
1320
1320
|
let convo = this.props.store.matchConvo(cid);
|
|
1321
|
-
if (util/* default */.Z.get(convo, 'state') === 'ended') return null;
|
|
1322
|
-
let events = util/* default */.Z.map(this.props.store.listEvents(cid));
|
|
1323
|
-
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');
|
|
1324
1324
|
let evindex = 0;
|
|
1325
1325
|
for (var i = 0; i < events.length; i++) {
|
|
1326
1326
|
if (events[i].id === this.props.ev.id) {
|
|
@@ -1329,9 +1329,9 @@ class QuickReplies extends common/* Com */.up {
|
|
|
1329
1329
|
}
|
|
1330
1330
|
}
|
|
1331
1331
|
for (var i = evindex + 1; i < events.length; i++) {
|
|
1332
|
-
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;
|
|
1333
1333
|
}
|
|
1334
|
-
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", {
|
|
1335
1335
|
class: "message_quick_reply",
|
|
1336
1336
|
onClick: e => this.props.onSelect(r)
|
|
1337
1337
|
}, r.title));
|
|
@@ -1353,18 +1353,18 @@ class ListField extends common/* Com */.up {
|
|
|
1353
1353
|
});
|
|
1354
1354
|
}
|
|
1355
1355
|
render() {
|
|
1356
|
-
let fields = util/* default */.Z.filter(this.props.items, item => {
|
|
1356
|
+
let fields = util/* default.filter */.Z.filter(this.props.items, item => {
|
|
1357
1357
|
let search = this.state.search.toLowerCase();
|
|
1358
1358
|
let name = item || '';
|
|
1359
1359
|
return name.toLowerCase().indexOf(search) > -1;
|
|
1360
1360
|
});
|
|
1361
|
-
let $fields = util/* default */.Z.map(fields, field => {
|
|
1361
|
+
let $fields = util/* default.map */.Z.map(fields, field => {
|
|
1362
1362
|
return (0,preact_module.h)("li", {
|
|
1363
1363
|
class: "custom-select--item-options",
|
|
1364
1364
|
onClick: () => this.add(field)
|
|
1365
1365
|
}, field);
|
|
1366
1366
|
});
|
|
1367
|
-
let $selected = util/* default */.Z.map(this.props.selected, (item, i) => {
|
|
1367
|
+
let $selected = util/* default.map */.Z.map(this.props.selected, (item, i) => {
|
|
1368
1368
|
return (0,preact_module.h)("div", {
|
|
1369
1369
|
class: "custom-select--selected-item",
|
|
1370
1370
|
onClick: e => this.remove(e, i)
|
|
@@ -1445,16 +1445,16 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1445
1445
|
super(props);
|
|
1446
1446
|
this.props.store.onUpdate(this, _ => this.forceUpdate());
|
|
1447
1447
|
let user = this.props.store.matchUser();
|
|
1448
|
-
let fields = util/* default */.Z.get(this.props.form, 'fields') || [];
|
|
1449
|
-
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 => {
|
|
1450
1450
|
let is_required = field.is_required || false;
|
|
1451
|
-
var state = util/* default */.Z.parseJSON(field.state) || {};
|
|
1451
|
+
var state = util/* default.parseJSON */.Z.parseJSON(field.state) || {};
|
|
1452
1452
|
if (!is_required) is_required = state.require || false;
|
|
1453
|
-
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');
|
|
1454
1454
|
return {
|
|
1455
1455
|
name: field.name,
|
|
1456
1456
|
items: field.items,
|
|
1457
|
-
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,
|
|
1458
1458
|
is_required,
|
|
1459
1459
|
label: field.title,
|
|
1460
1460
|
type: field.input_type
|
|
@@ -1465,13 +1465,13 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1465
1465
|
});
|
|
1466
1466
|
}
|
|
1467
1467
|
isSummited() {
|
|
1468
|
-
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);
|
|
1469
1469
|
if (found) return true;
|
|
1470
|
-
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));
|
|
1471
1471
|
return convo.state === 'ended';
|
|
1472
1472
|
}
|
|
1473
1473
|
render() {
|
|
1474
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return null;
|
|
1474
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
|
|
1475
1475
|
let $fields = this.renderFields();
|
|
1476
1476
|
let $submitbutton = null;
|
|
1477
1477
|
if (!this.isSummited()) {
|
|
@@ -1490,11 +1490,11 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1490
1490
|
}
|
|
1491
1491
|
focus() {
|
|
1492
1492
|
if (this.props.store.isPreview) return;
|
|
1493
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return;
|
|
1493
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return;
|
|
1494
1494
|
let $field;
|
|
1495
1495
|
if (this.isFormFilled()) {
|
|
1496
1496
|
var keys = Object.keys(this.state.formData);
|
|
1497
|
-
var lastkey = keys[util/* default */.Z.size(keys) - 1];
|
|
1497
|
+
var lastkey = keys[util/* default.size */.Z.size(keys) - 1];
|
|
1498
1498
|
var lastfield = this.state.formData[lastkey];
|
|
1499
1499
|
$field = this['field.' + encode(lastfield.name)];
|
|
1500
1500
|
} else {
|
|
@@ -1505,20 +1505,20 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1505
1505
|
if ($field) $field.focus();
|
|
1506
1506
|
}
|
|
1507
1507
|
firstUnfilledField() {
|
|
1508
|
-
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 === '');
|
|
1509
1509
|
}
|
|
1510
1510
|
isFormFilled() {
|
|
1511
|
-
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 === '');
|
|
1512
1512
|
}
|
|
1513
1513
|
onInputChange(index, val) {
|
|
1514
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1514
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1515
1515
|
formData[index].value = val;
|
|
1516
1516
|
this.setState({
|
|
1517
1517
|
formData
|
|
1518
1518
|
});
|
|
1519
1519
|
}
|
|
1520
1520
|
onListAddItem(index, val) {
|
|
1521
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1521
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1522
1522
|
let field = formData[index];
|
|
1523
1523
|
field.value = field.value || [];
|
|
1524
1524
|
field.value.push(val);
|
|
@@ -1527,7 +1527,7 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1527
1527
|
});
|
|
1528
1528
|
}
|
|
1529
1529
|
onListRemoveItem(index, vindex) {
|
|
1530
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1530
|
+
let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
|
|
1531
1531
|
let field = formData[index];
|
|
1532
1532
|
field.value = field.value || [];
|
|
1533
1533
|
field.value.splice(vindex, 1);
|
|
@@ -1536,9 +1536,9 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1536
1536
|
});
|
|
1537
1537
|
}
|
|
1538
1538
|
renderFields() {
|
|
1539
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return null;
|
|
1539
|
+
if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
|
|
1540
1540
|
let $fields = null;
|
|
1541
|
-
$fields = util/* default */.Z.map(this.state.formData, (field, index) => {
|
|
1541
|
+
$fields = util/* default.map */.Z.map(this.state.formData, (field, index) => {
|
|
1542
1542
|
let $field = null;
|
|
1543
1543
|
var errclass = field.error ? 'input--error' : '';
|
|
1544
1544
|
if (field.type === 'text') {
|
|
@@ -1614,7 +1614,7 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1614
1614
|
}, (0,preact_module.h)("div", null)));
|
|
1615
1615
|
} else if (field.type === 'list') {
|
|
1616
1616
|
let selected = field.value || [];
|
|
1617
|
-
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));
|
|
1618
1618
|
$field = (0,preact_module.h)(ListField, {
|
|
1619
1619
|
selected: selected,
|
|
1620
1620
|
items: items,
|
|
@@ -1652,15 +1652,15 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1652
1652
|
}
|
|
1653
1653
|
async submit() {
|
|
1654
1654
|
var hasError = false;
|
|
1655
|
-
util/* default */.Z.map(this.state.formData, field => {
|
|
1656
|
-
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))) {
|
|
1657
1657
|
field.error = this.props.t('error_empty');
|
|
1658
1658
|
hasError = true;
|
|
1659
1659
|
} else {
|
|
1660
1660
|
field.error = '';
|
|
1661
1661
|
}
|
|
1662
1662
|
if (field.name === 'emails' && field.value) {
|
|
1663
|
-
if (!util/* default */.Z.isEmail(field.value)) {
|
|
1663
|
+
if (!util/* default.isEmail */.Z.isEmail(field.value)) {
|
|
1664
1664
|
field.error = this.props.t('error_email_invalid');
|
|
1665
1665
|
hasError = true;
|
|
1666
1666
|
}
|
|
@@ -1669,32 +1669,32 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1669
1669
|
this.forceUpdate();
|
|
1670
1670
|
if (hasError) return;
|
|
1671
1671
|
let user = {};
|
|
1672
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
1673
|
-
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 => {
|
|
1674
1674
|
var attr = {
|
|
1675
1675
|
key: field.name
|
|
1676
1676
|
};
|
|
1677
|
-
field.answered = new util/* default */.Z.Date().getTime();
|
|
1677
|
+
field.answered = new util/* default.Date */.Z.Date().getTime();
|
|
1678
1678
|
if (field.type === 'number') {
|
|
1679
1679
|
attr.number = parseInt(field.value);
|
|
1680
|
-
field.answer = util/* default */.Z.stringify(attr.number);
|
|
1680
|
+
field.answer = util/* default.stringify */.Z.stringify(attr.number);
|
|
1681
1681
|
}
|
|
1682
1682
|
if (field.type === 'datetime') {
|
|
1683
|
-
attr.datetime = new util/* default */.Z.Date(field.value).toISOString();
|
|
1684
|
-
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);
|
|
1685
1685
|
}
|
|
1686
1686
|
if (field.type === 'list') {
|
|
1687
1687
|
attr.list = field.value;
|
|
1688
|
-
field.answer = util/* default */.Z.stringify(attr.list);
|
|
1688
|
+
field.answer = util/* default.stringify */.Z.stringify(attr.list);
|
|
1689
1689
|
}
|
|
1690
1690
|
if (field.type === 'text' || field.type === 'boolean') {
|
|
1691
1691
|
attr[field.type] = field.value;
|
|
1692
|
-
field.answer = util/* default */.Z.stringify(field.value);
|
|
1692
|
+
field.answer = util/* default.stringify */.Z.stringify(field.value);
|
|
1693
1693
|
}
|
|
1694
|
-
util/* default */.Z.setUserAttr(user, attr);
|
|
1694
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, attr);
|
|
1695
1695
|
});
|
|
1696
|
-
util/* default */.Z.map(formData, field => {
|
|
1697
|
-
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);
|
|
1698
1698
|
if (!ffield) return;
|
|
1699
1699
|
ffield.answered = field.answered;
|
|
1700
1700
|
});
|
|
@@ -1707,12 +1707,12 @@ class FormAttachment extends common/* Com */.up {
|
|
|
1707
1707
|
type: 'form_submit',
|
|
1708
1708
|
form_submit: {
|
|
1709
1709
|
state: '{"user_id":"' + this.props.store.matchUser().id + '"}',
|
|
1710
|
-
form_message_id: util/* default */.Z.get(this.props.ev, 'id'),
|
|
1710
|
+
form_message_id: util/* default.get */.Z.get(this.props.ev, 'id'),
|
|
1711
1711
|
fields: formData
|
|
1712
1712
|
}
|
|
1713
1713
|
}]
|
|
1714
1714
|
};
|
|
1715
|
-
let cid = util/* default */.Z.convoOfEv(this.props.ev);
|
|
1715
|
+
let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.ev);
|
|
1716
1716
|
this.props.store.sendConvoEvent(cid, 'message_sent', {
|
|
1717
1717
|
message
|
|
1718
1718
|
});
|
|
@@ -1732,17 +1732,17 @@ class FormAttachments extends common/* Com */.up {
|
|
|
1732
1732
|
super(props);
|
|
1733
1733
|
}
|
|
1734
1734
|
render() {
|
|
1735
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1735
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1736
1736
|
if (byType === 'user') return;
|
|
1737
1737
|
let forms = [];
|
|
1738
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments') || [];
|
|
1739
|
-
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 => {
|
|
1740
1740
|
if (!att) return;
|
|
1741
1741
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return;
|
|
1742
1742
|
att.form._type = att.type;
|
|
1743
1743
|
forms.push(att.form);
|
|
1744
1744
|
});
|
|
1745
|
-
let $forms = util/* default */.Z.map(forms, (form, formIndex) => {
|
|
1745
|
+
let $forms = util/* default.map */.Z.map(forms, (form, formIndex) => {
|
|
1746
1746
|
return (0,preact_module.h)(FormAttachment, {
|
|
1747
1747
|
store: this.props.store,
|
|
1748
1748
|
onSubmit: this.props.onSubmit,
|
|
@@ -1776,14 +1776,14 @@ class FormSubmitAttachments extends common/* Com */.up {
|
|
|
1776
1776
|
render() {
|
|
1777
1777
|
return null;
|
|
1778
1778
|
let submits = [];
|
|
1779
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments') || [];
|
|
1780
|
-
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 => {
|
|
1781
1781
|
if (!att) return;
|
|
1782
1782
|
if (att.type !== 'form_submit') return;
|
|
1783
1783
|
if (!att.form_submit) return;
|
|
1784
1784
|
submits.push(att.form_submit);
|
|
1785
1785
|
});
|
|
1786
|
-
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", {
|
|
1787
1787
|
class: "info-message"
|
|
1788
1788
|
}, (0,preact_module.h)("span", null, this.props.tt('prechat_form_thanks'))));
|
|
1789
1789
|
return (0,preact_module.h)("div", null, $submits);
|
|
@@ -1855,13 +1855,13 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
1855
1855
|
});
|
|
1856
1856
|
}
|
|
1857
1857
|
render() {
|
|
1858
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1858
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1859
1859
|
if (byType === 'user') return null;
|
|
1860
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1861
|
-
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');
|
|
1862
1862
|
if (generics.length === 0) return null;
|
|
1863
|
-
var $generics = util/* default */.Z.map(generics, (gen, index) => {
|
|
1864
|
-
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 => {
|
|
1865
1865
|
let title = this.props.t.i18n(ele.i18n_title) || ele.title;
|
|
1866
1866
|
let subtitle = this.props.t.i18n(ele.i18n_subtitle) || ele.subtitle;
|
|
1867
1867
|
let $title = title ? (0,preact_module.h)("div", {
|
|
@@ -1888,7 +1888,7 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
1888
1888
|
t: this.props.t
|
|
1889
1889
|
}));
|
|
1890
1890
|
});
|
|
1891
|
-
let elements = util/* default */.Z.get(attachments, '0.elements', []);
|
|
1891
|
+
let elements = util/* default.get */.Z.get(attachments, '0.elements', []);
|
|
1892
1892
|
let leftNavigatorCls = 'generic-attachment-navigator generic-attachment-navigator--left';
|
|
1893
1893
|
let rightNavigatorCls = 'generic-attachment-navigator generic-attachment-navigator--right';
|
|
1894
1894
|
if (this.state.focusing === 0) leftNavigatorCls += ' generic-attachment-navigator--disabled';
|
|
@@ -1915,7 +1915,7 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
1915
1915
|
bindDrag() {
|
|
1916
1916
|
if (!this.props.store.isMobile()) return;
|
|
1917
1917
|
let eles = document.getElementsByClassName('generic-attachment');
|
|
1918
|
-
util/* default */.Z.map(eles, ele => bind(ele, () => {}));
|
|
1918
|
+
util/* default.map */.Z.map(eles, ele => bind(ele, () => {}));
|
|
1919
1919
|
}
|
|
1920
1920
|
}
|
|
1921
1921
|
;// CONCATENATED MODULE: ./src/chatbox/ProductAttachments.js
|
|
@@ -1924,19 +1924,19 @@ class GenericTemplateAttachments extends common/* Com */.up {
|
|
|
1924
1924
|
|
|
1925
1925
|
class ProductAttachments extends common/* Com */.up {
|
|
1926
1926
|
render() {
|
|
1927
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
1927
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
1928
1928
|
if (byType === 'user') return null;
|
|
1929
|
-
let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
1930
|
-
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');
|
|
1931
1931
|
products = products.filter(product => product.product && product.product.name);
|
|
1932
1932
|
if (products.length === 0) return null;
|
|
1933
1933
|
let acc = this.props.store.matchAccount();
|
|
1934
|
-
let $products = util/* default */.Z.map(products, (att, index) => {
|
|
1934
|
+
let $products = util/* default.map */.Z.map(products, (att, index) => {
|
|
1935
1935
|
let product = att.product;
|
|
1936
1936
|
let $detailbtns = [];
|
|
1937
1937
|
let url = product.url || product.mobile_url;
|
|
1938
1938
|
if (this.props.store.isMobile()) url = product.mobile_url || product.url;
|
|
1939
|
-
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", {
|
|
1940
1940
|
class: "product_attachment__btn",
|
|
1941
1941
|
href: url,
|
|
1942
1942
|
target: "_blank"
|
|
@@ -1945,8 +1945,8 @@ class ProductAttachments extends common/* Com */.up {
|
|
|
1945
1945
|
class: "product_attachment__btn_external_link"
|
|
1946
1946
|
})));
|
|
1947
1947
|
console.log('P', product);
|
|
1948
|
-
if (util/* default */.Z.size(product.buttons) > 0) {
|
|
1949
|
-
$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) => {
|
|
1950
1950
|
if (button.type === 'call_button') {
|
|
1951
1951
|
return (0,preact_module.h)("a", {
|
|
1952
1952
|
class: "product_attachment__btn",
|
|
@@ -1986,12 +1986,12 @@ class ProductAttachments extends common/* Com */.up {
|
|
|
1986
1986
|
if (desc) $subtitle = (0,preact_module.h)("div", {
|
|
1987
1987
|
class: "product_attachment__subtitle"
|
|
1988
1988
|
}, desc);
|
|
1989
|
-
let currency = product.currency || util/* default */.Z.get(acc, 'currency', 'VND');
|
|
1989
|
+
let currency = product.currency || util/* default.get */.Z.get(acc, 'currency', 'VND');
|
|
1990
1990
|
let $price = null;
|
|
1991
1991
|
if (product.price) {
|
|
1992
1992
|
$price = (0,preact_module.h)("div", {
|
|
1993
1993
|
class: "product_attachment__price"
|
|
1994
|
-
}, util/* default */.Z.formatCurrency(product.price, currency));
|
|
1994
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(product.price, currency));
|
|
1995
1995
|
}
|
|
1996
1996
|
let imgsrc = this.props.store.replaceFileUrl(product.image);
|
|
1997
1997
|
if (!product.image) {
|
|
@@ -2018,14 +2018,14 @@ class ProductAttachments extends common/* Com */.up {
|
|
|
2018
2018
|
|
|
2019
2019
|
class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
2020
2020
|
render() {
|
|
2021
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
2021
|
+
let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
|
|
2022
2022
|
if (byType === 'user') return null;
|
|
2023
2023
|
let acc = this.props.store.matchAccount();
|
|
2024
|
-
var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
|
|
2025
|
-
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);
|
|
2026
2026
|
if (orders.length === 0) return null;
|
|
2027
|
-
let $orders = util/* default */.Z.map(orders, (order, index) => {
|
|
2028
|
-
util/* default */.Z.calcOrderTotal(order);
|
|
2027
|
+
let $orders = util/* default.map */.Z.map(orders, (order, index) => {
|
|
2028
|
+
util/* default.calcOrderTotal */.Z.calcOrderTotal(order);
|
|
2029
2029
|
let $note = null;
|
|
2030
2030
|
if (order.note) {
|
|
2031
2031
|
$note = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
@@ -2036,17 +2036,17 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2036
2036
|
}, order.note));
|
|
2037
2037
|
}
|
|
2038
2038
|
let $products = null;
|
|
2039
|
-
if (util/* default */.Z.size(order.items) > 0) {
|
|
2039
|
+
if (util/* default.size */.Z.size(order.items) > 0) {
|
|
2040
2040
|
$products = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
2041
2041
|
class: "order_attachment__label"
|
|
2042
|
-
}, this.props.t('product')), util/* default */.Z.map(order.items, item => {
|
|
2042
|
+
}, this.props.t('product')), util/* default.map */.Z.map(order.items, item => {
|
|
2043
2043
|
let product = item.product || {};
|
|
2044
2044
|
return (0,preact_module.h)("div", {
|
|
2045
2045
|
class: "order_attachment__product"
|
|
2046
2046
|
}, (0,preact_module.h)("img", {
|
|
2047
2047
|
class: "order_attachment__product_img",
|
|
2048
|
-
alt: '' + util/* default */.Z.get(product, 'id'),
|
|
2049
|
-
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))
|
|
2050
2050
|
}), (0,preact_module.h)("div", {
|
|
2051
2051
|
style: "overflow: hidden !important;"
|
|
2052
2052
|
}, (0,preact_module.h)("div", {
|
|
@@ -2054,9 +2054,9 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2054
2054
|
title: this.props.t.i18n(product.i18n_name) || product.name
|
|
2055
2055
|
}, this.props.t.i18n(product.i18n_name) || product.name), (0,preact_module.h)("div", {
|
|
2056
2056
|
class: "order_attachment__product_desc"
|
|
2057
|
-
}, util/* default */.Z.getProductPropName(product, ' / ')), (0,preact_module.h)("div", {
|
|
2057
|
+
}, util/* default.getProductPropName */.Z.getProductPropName(product, ' / ')), (0,preact_module.h)("div", {
|
|
2058
2058
|
class: "order_attachment__product_desc"
|
|
2059
|
-
}, 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))));
|
|
2060
2060
|
}));
|
|
2061
2061
|
}
|
|
2062
2062
|
let $total = (0,preact_module.h)("div", {
|
|
@@ -2065,19 +2065,19 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2065
2065
|
class: "d-flex align-items-center justify-content-between"
|
|
2066
2066
|
}, (0,preact_module.h)("div", null, this.props.t('total')), ' ', (0,preact_module.h)("div", null, (0,preact_module.h)("b", {
|
|
2067
2067
|
class: "order_attachment__total"
|
|
2068
|
-
}, util/* default */.Z.formatCurrency(order.total)))));
|
|
2069
|
-
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') || {
|
|
2070
2070
|
key: 'phones',
|
|
2071
2071
|
text: ''
|
|
2072
2072
|
};
|
|
2073
|
-
let phone = util/* default */.Z.get(order, 'shipping.address.phone', '').trim();
|
|
2074
|
-
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);
|
|
2075
2075
|
if (phone) phone = this.props.t('phn') + ': ' + phone;
|
|
2076
2076
|
let $shipto = null;
|
|
2077
|
-
if (util/* default */.Z.displayOrderShippingAddress(order) || phone) {
|
|
2077
|
+
if (util/* default.displayOrderShippingAddress */.Z.displayOrderShippingAddress(order) || phone) {
|
|
2078
2078
|
$shipto = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
2079
2079
|
class: "order_attachment__label"
|
|
2080
|
-
}, 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", {
|
|
2081
2081
|
class: "order_attachment__text_truncate"
|
|
2082
2082
|
}, phone));
|
|
2083
2083
|
}
|
|
@@ -2089,11 +2089,11 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2089
2089
|
class: "d-flex align-items-center justify-content-between"
|
|
2090
2090
|
}, (0,preact_module.h)("div", {
|
|
2091
2091
|
class: "order_attachment__label no_margin"
|
|
2092
|
-
}, 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", {
|
|
2093
2093
|
class: "d-flex align-items-center justify-content-between"
|
|
2094
2094
|
}, (0,preact_module.h)("div", {
|
|
2095
2095
|
class: "order_attachment__label no_margin"
|
|
2096
|
-
}, 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))));
|
|
2097
2097
|
}
|
|
2098
2098
|
let $subtotal = (0,preact_module.h)("div", {
|
|
2099
2099
|
class: "d-flex align-items-center justify-content-between"
|
|
@@ -2101,12 +2101,12 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2101
2101
|
class: "order_attachment__label no_margin"
|
|
2102
2102
|
}, this.props.t('subtotal')), ' ', (0,preact_module.h)("div", {
|
|
2103
2103
|
style: ""
|
|
2104
|
-
}, util/* default */.Z.formatCurrency(order.subtotal)));
|
|
2104
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.subtotal)));
|
|
2105
2105
|
let $tax = null;
|
|
2106
2106
|
if (order.total_tax) {
|
|
2107
2107
|
let taxname = '';
|
|
2108
|
-
if (util/* default */.Z.size(order._taxM) === 1) {
|
|
2109
|
-
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', {});
|
|
2110
2110
|
if (tax.name && tax.percentage) taxname = `(${tax.name} ${Math.round(tax.percentage || 0) / 100}%)`;
|
|
2111
2111
|
}
|
|
2112
2112
|
$tax = (0,preact_module.h)("div", {
|
|
@@ -2115,7 +2115,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2115
2115
|
class: "order_attachment__label no_margin"
|
|
2116
2116
|
}, this.props.t('tax'), " ", taxname), (0,preact_module.h)("div", {
|
|
2117
2117
|
style: ""
|
|
2118
|
-
}, util/* default */.Z.formatCurrency(order.total_tax)));
|
|
2118
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.total_tax)));
|
|
2119
2119
|
}
|
|
2120
2120
|
let $discount = null;
|
|
2121
2121
|
if (order.discount_type === 'percentage' && order.discount_percentage) {
|
|
@@ -2125,7 +2125,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2125
2125
|
class: "order_attachment__label no_margin"
|
|
2126
2126
|
}, this.props.t('discount_after_tax'), " (", Math.round(order.discount_percentage / 100), "%)"), ' ', (0,preact_module.h)("div", {
|
|
2127
2127
|
style: ""
|
|
2128
|
-
}, "-", util/* default */.Z.formatCurrency(order._computed_discount)));
|
|
2128
|
+
}, "-", util/* default.formatCurrency */.Z.formatCurrency(order._computed_discount)));
|
|
2129
2129
|
}
|
|
2130
2130
|
if (order.discount_type === 'amount' && order.discount_amount) {
|
|
2131
2131
|
$discount = (0,preact_module.h)("div", {
|
|
@@ -2134,17 +2134,17 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2134
2134
|
class: "order_attachment__label no_margin"
|
|
2135
2135
|
}, this.props.t('discount_after_tax')), ' ', (0,preact_module.h)("div", {
|
|
2136
2136
|
class: "no-shrink"
|
|
2137
|
-
}, "-", util/* default */.Z.formatCurrency(order._computed_discount)));
|
|
2137
|
+
}, "-", util/* default.formatCurrency */.Z.formatCurrency(order._computed_discount)));
|
|
2138
2138
|
}
|
|
2139
2139
|
let $shipping = null;
|
|
2140
|
-
if (util/* default */.Z.get(order, 'shipping.nominal_fee')) {
|
|
2140
|
+
if (util/* default.get */.Z.get(order, 'shipping.nominal_fee')) {
|
|
2141
2141
|
$shipping = (0,preact_module.h)("div", {
|
|
2142
2142
|
class: "d-flex align-items-center justify-content-between"
|
|
2143
2143
|
}, (0,preact_module.h)("div", {
|
|
2144
2144
|
class: "order_attachment__label no_margin"
|
|
2145
2145
|
}, this.props.t('shipping_fee')), ' ', (0,preact_module.h)("div", {
|
|
2146
2146
|
style: ""
|
|
2147
|
-
}, 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))));
|
|
2148
2148
|
}
|
|
2149
2149
|
let $adjustment = null;
|
|
2150
2150
|
if (order.adjustment) {
|
|
@@ -2154,7 +2154,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2154
2154
|
class: "order_attachment__label no_margin"
|
|
2155
2155
|
}, order.adjustment_description), ' ', (0,preact_module.h)("div", {
|
|
2156
2156
|
class: "no-shrink"
|
|
2157
|
-
}, util/* default */.Z.formatCurrency(order.adjustment)));
|
|
2157
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.adjustment)));
|
|
2158
2158
|
}
|
|
2159
2159
|
$subtotal = (0,preact_module.h)("div", {
|
|
2160
2160
|
class: "order_attachment__footer"
|
|
@@ -2168,7 +2168,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
|
|
|
2168
2168
|
class: "order_attachment__header"
|
|
2169
2169
|
}, this.props.t('order'), (0,preact_module.h)("span", {
|
|
2170
2170
|
class: "order_attachment__text_muted order_attachment__text_sm"
|
|
2171
|
-
}, util/* default */.Z.getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
|
|
2171
|
+
}, util/* default.getOrderDisplayName */.Z.getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
|
|
2172
2172
|
});
|
|
2173
2173
|
return $orders;
|
|
2174
2174
|
}
|
|
@@ -2182,15 +2182,15 @@ class VideoAttachments extends common/* Com */.up {
|
|
|
2182
2182
|
super(props);
|
|
2183
2183
|
}
|
|
2184
2184
|
render() {
|
|
2185
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
2186
|
-
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', []);
|
|
2187
2187
|
var videos = [];
|
|
2188
|
-
util/* default */.Z.each(attachments, (att, i) => {
|
|
2188
|
+
util/* default.each */.Z.each(attachments, (att, i) => {
|
|
2189
2189
|
if (!att) return;
|
|
2190
|
-
if (util/* default */.Z.includes(att.mimetype, 'video')) videos.push(att);
|
|
2190
|
+
if (util/* default.includes */.Z.includes(att.mimetype, 'video')) videos.push(att);
|
|
2191
2191
|
});
|
|
2192
2192
|
if (videos.length === 0) return null;
|
|
2193
|
-
var $videos = util/* default */.Z.map(videos, (video, index) => {
|
|
2193
|
+
var $videos = util/* default.map */.Z.map(videos, (video, index) => {
|
|
2194
2194
|
return (0,preact_module.h)("div", {
|
|
2195
2195
|
class: `video-attachment video-attachment--${byType}`
|
|
2196
2196
|
}, (0,preact_module.h)("video", {
|
|
@@ -2209,23 +2209,73 @@ class VideoAttachments extends common/* Com */.up {
|
|
|
2209
2209
|
}, $videos);
|
|
2210
2210
|
}
|
|
2211
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
|
+
}
|
|
2212
2248
|
;// CONCATENATED MODULE: ./src/chatbox/TextMessage.js
|
|
2213
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
|
+
|
|
2214
2263
|
|
|
2215
2264
|
|
|
2216
2265
|
|
|
2217
2266
|
class TextMessage extends common/* Com */.up {
|
|
2218
2267
|
render() {
|
|
2219
|
-
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();
|
|
2220
2270
|
if (format === 'delta') return this.renderDelta();
|
|
2221
2271
|
return this.renderPlainText();
|
|
2222
2272
|
}
|
|
2223
2273
|
renderPlainText() {
|
|
2224
|
-
var text = util/* default */.Z.get(this.props.ev, 'data.message.text');
|
|
2225
|
-
text = util/* default */.Z.trim(text);
|
|
2226
|
-
if (util/* default */.Z.size(text) === 0) return null;
|
|
2227
|
-
let byType = util/* default */.Z.get(this.props.ev, 'by.type');
|
|
2228
|
-
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 => {
|
|
2229
2279
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
2230
2280
|
emojiCode: tag.text,
|
|
2231
2281
|
byType: byType
|
|
@@ -2249,7 +2299,7 @@ class TextMessage extends common/* Com */.up {
|
|
|
2249
2299
|
}, tag.text);
|
|
2250
2300
|
return tag.text;
|
|
2251
2301
|
});
|
|
2252
|
-
if (util/* default */.Z.size(tags) === 0) return null;
|
|
2302
|
+
if (util/* default.size */.Z.size(tags) === 0) return null;
|
|
2253
2303
|
if (byType === 'agent') {
|
|
2254
2304
|
return (0,preact_module.h)("div", {
|
|
2255
2305
|
class: "message-agent message-text--agent"
|
|
@@ -2260,16 +2310,16 @@ class TextMessage extends common/* Com */.up {
|
|
|
2260
2310
|
}, tags);
|
|
2261
2311
|
}
|
|
2262
2312
|
renderDelta() {
|
|
2263
|
-
let deltas = util/* default */.Z.get(this.props.ev, 'data.message.quill_delta') || util/* default */.Z.get(this.props.ev, 'data.message.text');
|
|
2264
|
-
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) || {};
|
|
2265
2315
|
quilldeltas = trimQuillDelta(quilldeltas);
|
|
2266
|
-
if (!quilldeltas || util/* default */.Z.size(quilldeltas.ops) === 0) return null;
|
|
2267
|
-
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 => {
|
|
2268
2318
|
let html = '';
|
|
2269
2319
|
let insert = delta.insert;
|
|
2270
2320
|
let attributes = delta.attributes;
|
|
2271
2321
|
if (insert.dynamicField) {
|
|
2272
|
-
return util/* default */.Z.get(insert, 'dynamicField.text', '');
|
|
2322
|
+
return util/* default.get */.Z.get(insert, 'dynamicField.text', '');
|
|
2273
2323
|
}
|
|
2274
2324
|
if (insert.mention) {
|
|
2275
2325
|
if (insert.mention.id == '*' || insert.mention.id == 'all') {
|
|
@@ -2278,7 +2328,7 @@ class TextMessage extends common/* Com */.up {
|
|
|
2278
2328
|
}, "@", this.$t('all'));
|
|
2279
2329
|
}
|
|
2280
2330
|
let ag = store.matchAgent(insert.mention.id);
|
|
2281
|
-
let name = util/* default */.Z.getAgentDisplayName(ag, insert.mention.fullname);
|
|
2331
|
+
let name = util/* default.getAgentDisplayName */.Z.getAgentDisplayName(ag, insert.mention.fullname);
|
|
2282
2332
|
return (0,preact_module.h)("span", {
|
|
2283
2333
|
class: "mention",
|
|
2284
2334
|
"data-agent-id": ag.id,
|
|
@@ -2289,7 +2339,7 @@ class TextMessage extends common/* Com */.up {
|
|
|
2289
2339
|
emojiCode: `:${insert.emoji}:`
|
|
2290
2340
|
});
|
|
2291
2341
|
if (typeof insert === 'string') {
|
|
2292
|
-
let $tags = util/* default */.Z.extractText(insert).map((tag, i) => {
|
|
2342
|
+
let $tags = util/* default.extractText */.Z.extractText(insert).map((tag, i) => {
|
|
2293
2343
|
if (tag.type === 'link') {
|
|
2294
2344
|
return (0,preact_module.h)("a", {
|
|
2295
2345
|
href: absLink(tag.text),
|
|
@@ -2313,9 +2363,9 @@ class TextMessage extends common/* Com */.up {
|
|
|
2313
2363
|
}
|
|
2314
2364
|
return null;
|
|
2315
2365
|
});
|
|
2316
|
-
let byType = util/* default */.Z.get(this.ev, 'by.type');
|
|
2366
|
+
let byType = util/* default.get */.Z.get(this.ev, 'by.type');
|
|
2317
2367
|
if (byType !== 'user') byType = 'agent';
|
|
2318
|
-
if (util/* default */.Z.size($deltas) === 0) return null;
|
|
2368
|
+
if (util/* default.size */.Z.size($deltas) === 0) return null;
|
|
2319
2369
|
if (byType === 'agent') {
|
|
2320
2370
|
return (0,preact_module.h)("div", {
|
|
2321
2371
|
class: "message-agent message-text--agent"
|
|
@@ -2325,6 +2375,46 @@ class TextMessage extends common/* Com */.up {
|
|
|
2325
2375
|
class: "message-user message-text--user"
|
|
2326
2376
|
}, $deltas);
|
|
2327
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;
|
|
2328
2418
|
}
|
|
2329
2419
|
const emojiCodes = {
|
|
2330
2420
|
like: '👍',
|
|
@@ -2373,8 +2463,8 @@ function absLink(url) {
|
|
|
2373
2463
|
}
|
|
2374
2464
|
;// CONCATENATED MODULE: ./src/chatbox/time.js
|
|
2375
2465
|
|
|
2376
|
-
var g_pub = new util/* default */.Z.Pubsub();
|
|
2377
|
-
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);
|
|
2378
2468
|
|
|
2379
2469
|
|
|
2380
2470
|
class Time extends common/* Com */.up {
|
|
@@ -2389,10 +2479,10 @@ class Time extends common/* Com */.up {
|
|
|
2389
2479
|
var t = '';
|
|
2390
2480
|
if (this.props.ago) {
|
|
2391
2481
|
if (this.props.short) {
|
|
2392
|
-
if (Math.abs(this.props.time - new util/* default */.Z.Date().getTime()) > 86400000 * 10) {
|
|
2393
|
-
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);
|
|
2394
2484
|
let tzyear = tim.getFullYear();
|
|
2395
|
-
let locale = util/* default */.Z.get(navigator, 'languages.0', 'en-US');
|
|
2485
|
+
let locale = util/* default.get */.Z.get(navigator, 'languages.0', 'en-US');
|
|
2396
2486
|
let tzmonthname = tim.toLocaleDateString(locale, {
|
|
2397
2487
|
month: 'short'
|
|
2398
2488
|
});
|
|
@@ -2400,8 +2490,8 @@ class Time extends common/* Com */.up {
|
|
|
2400
2490
|
t = tzdate + ' ' + tzmonthname + ' ' + tzyear;
|
|
2401
2491
|
}
|
|
2402
2492
|
}
|
|
2403
|
-
if (!t && this.props.time > 0) t = ago(this.props.time, new util/* default */.Z.Date().getTime());
|
|
2404
|
-
} 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);
|
|
2405
2495
|
if (this.props.uppercase) t = t.toUpperCase();
|
|
2406
2496
|
if (t === this.state.t) return;
|
|
2407
2497
|
this.setState({
|
|
@@ -2512,7 +2602,7 @@ class InfoMessage extends common/* Com */.up {
|
|
|
2512
2602
|
}));
|
|
2513
2603
|
}
|
|
2514
2604
|
if (ev.type === 'conversation_rated') {
|
|
2515
|
-
var rating = util/* default */.Z.get(ev, 'data.conversation.ratings.0', {
|
|
2605
|
+
var rating = util/* default.get */.Z.get(ev, 'data.conversation.ratings.0', {
|
|
2516
2606
|
no_rating: true,
|
|
2517
2607
|
rating: 0
|
|
2518
2608
|
});
|
|
@@ -2523,7 +2613,7 @@ class InfoMessage extends common/* Com */.up {
|
|
|
2523
2613
|
class: "info-message"
|
|
2524
2614
|
}, this.props.t('rated_as') + ' ' + this.props.t(getRateLang(rating.rating)).toLowerCase()));
|
|
2525
2615
|
}
|
|
2526
|
-
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') {
|
|
2527
2617
|
return (0,preact_module.h)("div", {
|
|
2528
2618
|
class: "convo-event"
|
|
2529
2619
|
}, $time, (0,preact_module.h)("div", {
|
|
@@ -2557,7 +2647,7 @@ class Event extends common/* Com */.up {
|
|
|
2557
2647
|
this.refForm = (0,preact_module/* createRef */.Vf)();
|
|
2558
2648
|
}
|
|
2559
2649
|
render() {
|
|
2560
|
-
var ev = util/* default */.Z.get(this.props.event, 'ev', {});
|
|
2650
|
+
var ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
|
|
2561
2651
|
switch (ev.type) {
|
|
2562
2652
|
case 'conversation_joined':
|
|
2563
2653
|
break;
|
|
@@ -2566,7 +2656,7 @@ class Event extends common/* Com */.up {
|
|
|
2566
2656
|
case 'conversation_state_updated':
|
|
2567
2657
|
case 'conversation_rating_requested':
|
|
2568
2658
|
case 'conversation_rated':
|
|
2569
|
-
if (!util/* default */.Z.startsWith(ev.id, 'ev')) return null;
|
|
2659
|
+
if (!util/* default.startsWith */.Z.startsWith(ev.id, 'ev')) return null;
|
|
2570
2660
|
return (0,preact_module.h)(InfoMessage, {
|
|
2571
2661
|
t: this.props.t,
|
|
2572
2662
|
store: this.props.store,
|
|
@@ -2579,7 +2669,7 @@ class Event extends common/* Com */.up {
|
|
|
2579
2669
|
this.refForm.current && this.refForm.current.focus();
|
|
2580
2670
|
}
|
|
2581
2671
|
chooseQuickReply(reply) {
|
|
2582
|
-
let ev = util/* default */.Z.get(this.props.event, 'ev', {});
|
|
2672
|
+
let ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
|
|
2583
2673
|
let message = {
|
|
2584
2674
|
text: reply.title,
|
|
2585
2675
|
format: 'plaintext'
|
|
@@ -2596,7 +2686,7 @@ class Event extends common/* Com */.up {
|
|
|
2596
2686
|
this.props.onSend(message);
|
|
2597
2687
|
}
|
|
2598
2688
|
choosePostbackBtn(button) {
|
|
2599
|
-
let ev = util/* default */.Z.get(this.props.event, 'ev', {});
|
|
2689
|
+
let ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
|
|
2600
2690
|
let message = {
|
|
2601
2691
|
text: button.title,
|
|
2602
2692
|
format: 'plaintext'
|
|
@@ -2613,13 +2703,13 @@ class Event extends common/* Com */.up {
|
|
|
2613
2703
|
this.props.onSend(message);
|
|
2614
2704
|
}
|
|
2615
2705
|
renderAgentAvatar(ev) {
|
|
2616
|
-
let bytype = util/* default */.Z.get(ev, 'by.type');
|
|
2617
|
-
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'));
|
|
2618
2708
|
if (bytype === 'user') return null;
|
|
2619
2709
|
var senderName = this.getSenderName(ev);
|
|
2620
2710
|
let acc = this.props.store.matchAccount();
|
|
2621
2711
|
var uri = acc.logo_url || __webpack_require__(9895);
|
|
2622
|
-
if (util/* default */.Z.get(this.props, 'chatbox.hide_agent_profile')) {
|
|
2712
|
+
if (util/* default.get */.Z.get(this.props, 'chatbox.hide_agent_profile')) {
|
|
2623
2713
|
return (0,preact_module.h)("div", {
|
|
2624
2714
|
class: "message-sender"
|
|
2625
2715
|
}, (0,preact_module.h)("img", {
|
|
@@ -2632,7 +2722,7 @@ class Event extends common/* Com */.up {
|
|
|
2632
2722
|
}
|
|
2633
2723
|
let agentM = this.props.store.matchAgent('*');
|
|
2634
2724
|
if (byid !== 'system' && bytype !== 'dummy' && bytype !== 'workflow') {
|
|
2635
|
-
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);
|
|
2636
2726
|
}
|
|
2637
2727
|
return (0,preact_module.h)("div", {
|
|
2638
2728
|
class: "message-sender"
|
|
@@ -2654,8 +2744,8 @@ class Event extends common/* Com */.up {
|
|
|
2654
2744
|
time: ev.created
|
|
2655
2745
|
}));
|
|
2656
2746
|
}
|
|
2657
|
-
let t = new util/* default */.Z.Date(ev.created).toLocaleString();
|
|
2658
|
-
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') {
|
|
2659
2749
|
let $sender = null;
|
|
2660
2750
|
if (this.props.event.mode === 'lead') $sender = this.renderAgentAvatar(ev);
|
|
2661
2751
|
return (0,preact_module.h)("div", {
|
|
@@ -2711,15 +2801,15 @@ class Event extends common/* Com */.up {
|
|
|
2711
2801
|
onSelect: e => this.chooseQuickReply(e)
|
|
2712
2802
|
}));
|
|
2713
2803
|
}
|
|
2714
|
-
if (util/* default */.Z.getMsgField(ev, 'idempotency') === ev.id && this.props.store.now() - ev.created < 900) {
|
|
2715
|
-
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({
|
|
2716
2806
|
refresh: this.state.refresh
|
|
2717
2807
|
}), 1000);
|
|
2718
2808
|
}
|
|
2719
2809
|
let $dot = (0,preact_module.h)("div", {
|
|
2720
2810
|
class: "sending_dot"
|
|
2721
2811
|
});
|
|
2722
|
-
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) {
|
|
2723
2813
|
$dot = (0,preact_module.h)("div", {
|
|
2724
2814
|
class: "sending_dot sending_dot__hide"
|
|
2725
2815
|
});
|
|
@@ -2783,7 +2873,7 @@ class Event extends common/* Com */.up {
|
|
|
2783
2873
|
})), $error);
|
|
2784
2874
|
}
|
|
2785
2875
|
renderUpdateConvo(ev) {
|
|
2786
|
-
var state = util/* default */.Z.get(ev, 'data.conversation.state');
|
|
2876
|
+
var state = util/* default.get */.Z.get(ev, 'data.conversation.state');
|
|
2787
2877
|
if (state === 'active') return null;
|
|
2788
2878
|
if (state === 'pending') return null;
|
|
2789
2879
|
return (0,preact_module.h)("div", {
|
|
@@ -2793,18 +2883,18 @@ class Event extends common/* Com */.up {
|
|
|
2793
2883
|
}));
|
|
2794
2884
|
}
|
|
2795
2885
|
resendMessage() {
|
|
2796
|
-
let cid = util/* default */.Z.convoOfEv(this.props.event.ev);
|
|
2797
|
-
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');
|
|
2798
2888
|
this.props.store.sendConvoEvent(cid, 'message_sent', {
|
|
2799
2889
|
message
|
|
2800
2890
|
});
|
|
2801
2891
|
}
|
|
2802
2892
|
getSenderName(ev) {
|
|
2803
|
-
let bytype = util/* default */.Z.get(ev, 'by.type');
|
|
2804
|
-
let byid = util/* default */.Z.get(ev, 'by.display_id', util/* default */.Z.get(ev, 'by.id'));
|
|
2805
|
-
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());
|
|
2806
2896
|
let acc = this.props.store.matchAccount();
|
|
2807
|
-
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));
|
|
2808
2898
|
if (byid === 'system' || bytype === 'dummy' || bytype === 'workflow') return acc.name || 'system';
|
|
2809
2899
|
return '';
|
|
2810
2900
|
}
|
|
@@ -2851,7 +2941,7 @@ class Events extends common/* Com */.up {
|
|
|
2851
2941
|
this.props.store.onConvoEvent(this, ev => this.onEvent(ev));
|
|
2852
2942
|
this.loadConvo();
|
|
2853
2943
|
this.refBody = null;
|
|
2854
|
-
this.checkAndSeen = util/* default */.Z.throttle(() => {
|
|
2944
|
+
this.checkAndSeen = util/* default.throttle */.Z.throttle(() => {
|
|
2855
2945
|
if (this.props.isShow && this.isBottom() && this.props.store.browserVisibility === 'visible' && document.hasFocus()) {
|
|
2856
2946
|
this.props.store.seenConvo(this.props.cid);
|
|
2857
2947
|
}
|
|
@@ -2863,8 +2953,8 @@ class Events extends common/* Com */.up {
|
|
|
2863
2953
|
}
|
|
2864
2954
|
render() {
|
|
2865
2955
|
if (this.state.error) return this.renderError();
|
|
2866
|
-
let events = util/* default */.Z.map(this.props.store.listEvents(this.props.cid));
|
|
2867
|
-
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) {
|
|
2868
2958
|
return (0,preact_module.h)("div", {
|
|
2869
2959
|
ref: ref => this.refBody = ref,
|
|
2870
2960
|
class: "widget-body--events-container"
|
|
@@ -2878,13 +2968,13 @@ class Events extends common/* Com */.up {
|
|
|
2878
2968
|
store: this.props.store
|
|
2879
2969
|
}));
|
|
2880
2970
|
}
|
|
2881
|
-
events = util/* default */.Z.orderBy(events, 'created', 'asc');
|
|
2971
|
+
events = util/* default.orderBy */.Z.orderBy(events, 'created', 'asc');
|
|
2882
2972
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
2883
|
-
events = util/* default */.Z.map(events, ev => ({
|
|
2973
|
+
events = util/* default.map */.Z.map(events, ev => ({
|
|
2884
2974
|
ev: ev
|
|
2885
2975
|
}));
|
|
2886
2976
|
processEvents(convo, events);
|
|
2887
|
-
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, {
|
|
2888
2978
|
chatbox: this.props.chatbox,
|
|
2889
2979
|
onLink: this.props.onLink,
|
|
2890
2980
|
store: this.props.store,
|
|
@@ -2900,7 +2990,7 @@ class Events extends common/* Com */.up {
|
|
|
2900
2990
|
if (this.state.loading || this.props.creating) {
|
|
2901
2991
|
$loading = (0,preact_module.h)(Spinner, {
|
|
2902
2992
|
static: true,
|
|
2903
|
-
mode: util/* default */.Z.get(this.props.chatbox, 'primary_color', 'dark'),
|
|
2993
|
+
mode: util/* default.get */.Z.get(this.props.chatbox, 'primary_color', 'dark'),
|
|
2904
2994
|
size: "120",
|
|
2905
2995
|
center: true
|
|
2906
2996
|
});
|
|
@@ -2939,23 +3029,23 @@ class Events extends common/* Com */.up {
|
|
|
2939
3029
|
}
|
|
2940
3030
|
focus() {
|
|
2941
3031
|
let events = this.props.store.listEvents(this.props.cid);
|
|
2942
|
-
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');
|
|
2943
3033
|
var last_agent_sent;
|
|
2944
3034
|
for (let ev of events) {
|
|
2945
|
-
if (util/* default */.Z.get(ev, 'type') !== 'message_sent') continue;
|
|
2946
|
-
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;
|
|
2947
3037
|
last_agent_sent = ev;
|
|
2948
3038
|
break;
|
|
2949
3039
|
}
|
|
2950
|
-
if (util/* default */.Z.get(last_agent_sent, 'by.type') === 'user') last_agent_sent = null;
|
|
2951
|
-
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', []);
|
|
2952
3042
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
2953
|
-
let pendingForms = util/* default */.Z.filter(attachments, att => {
|
|
3043
|
+
let pendingForms = util/* default.filter */.Z.filter(attachments, att => {
|
|
2954
3044
|
if (!att) return false;
|
|
2955
3045
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
|
|
2956
3046
|
var form = att.form;
|
|
2957
3047
|
if (!form) return false;
|
|
2958
|
-
var state = util/* default */.Z.parseJSON(form.state) || {};
|
|
3048
|
+
var state = util/* default.parseJSON */.Z.parseJSON(form.state) || {};
|
|
2959
3049
|
if (!state.require_finished && att.type !== 'ask_info_form') return false;
|
|
2960
3050
|
if (Events_isSummited(att.form)) return false;
|
|
2961
3051
|
if (convo.state === 'ended') return false;
|
|
@@ -2963,10 +3053,10 @@ class Events extends common/* Com */.up {
|
|
|
2963
3053
|
});
|
|
2964
3054
|
}
|
|
2965
3055
|
onEvent(newev) {
|
|
2966
|
-
if (util/* default */.Z.convoOfEv(newev) !== this.props.cid) return;
|
|
3056
|
+
if (util/* default.convoOfEv */.Z.convoOfEv(newev) !== this.props.cid) return;
|
|
2967
3057
|
let isBottom = this.isBottom();
|
|
2968
3058
|
var byme = false;
|
|
2969
|
-
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;
|
|
2970
3060
|
if (byme || isBottom) this.scrollToBottom();
|
|
2971
3061
|
}
|
|
2972
3062
|
async loadConvo() {
|
|
@@ -2976,7 +3066,7 @@ class Events extends common/* Com */.up {
|
|
|
2976
3066
|
loading: true
|
|
2977
3067
|
});
|
|
2978
3068
|
let events = this.props.store.listEvents(this.props.cid);
|
|
2979
|
-
if (util/* default */.Z.size(events) === 0) {
|
|
3069
|
+
if (util/* default.size */.Z.size(events) === 0) {
|
|
2980
3070
|
let cid = this.props.cid;
|
|
2981
3071
|
let {
|
|
2982
3072
|
error
|
|
@@ -3000,7 +3090,7 @@ class Events extends common/* Com */.up {
|
|
|
3000
3090
|
error: false
|
|
3001
3091
|
});
|
|
3002
3092
|
this.scrollToBottom();
|
|
3003
|
-
util/* default */.Z.setTimeout(() => this.setState({
|
|
3093
|
+
util/* default.setTimeout */.Z.setTimeout(() => this.setState({
|
|
3004
3094
|
loading: false
|
|
3005
3095
|
}), 50);
|
|
3006
3096
|
}
|
|
@@ -3010,11 +3100,11 @@ class Events extends common/* Com */.up {
|
|
|
3010
3100
|
return $container.scrollHeight < $container.scrollTop + $container.offsetHeight + 50;
|
|
3011
3101
|
}
|
|
3012
3102
|
scrollToBottom() {
|
|
3013
|
-
util/* default */.Z.setTimeout(() => {
|
|
3103
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3014
3104
|
const $div = this.refBody;
|
|
3015
3105
|
if ($div) $div.scrollTop = $div.scrollHeight;
|
|
3016
3106
|
});
|
|
3017
|
-
util/* default */.Z.setTimeout(() => {
|
|
3107
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3018
3108
|
const $div = this.refBody;
|
|
3019
3109
|
if ($div) $div.scrollTop = $div.scrollHeight;
|
|
3020
3110
|
}, 200);
|
|
@@ -3032,13 +3122,13 @@ function processEvents(convo, events) {
|
|
|
3032
3122
|
let curEvent = events[i];
|
|
3033
3123
|
let lastEvent = events[i - 1];
|
|
3034
3124
|
if (visibleEvent(curEvent.ev)) {
|
|
3035
|
-
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);
|
|
3036
3126
|
if (elapsedSec > 120) curEvent.show_time = true;
|
|
3037
3127
|
}
|
|
3038
3128
|
}
|
|
3039
3129
|
for (var i = 0; i < events.length; i++) {
|
|
3040
3130
|
let curEvent = events[i];
|
|
3041
|
-
if (util/* default */.Z.get(curEvent, 'ev.type') === 'message_sent') {
|
|
3131
|
+
if (util/* default.get */.Z.get(curEvent, 'ev.type') === 'message_sent') {
|
|
3042
3132
|
curEvent.show_time = true;
|
|
3043
3133
|
break;
|
|
3044
3134
|
}
|
|
@@ -3048,7 +3138,7 @@ function processEvents(convo, events) {
|
|
|
3048
3138
|
let prevEvent = events[i - 1];
|
|
3049
3139
|
if (curEvent.ev.type === 'message_sent') {
|
|
3050
3140
|
curEvent.mode = 'lead';
|
|
3051
|
-
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')) {
|
|
3052
3142
|
curEvent.mode = 'follow';
|
|
3053
3143
|
}
|
|
3054
3144
|
continue;
|
|
@@ -3056,12 +3146,12 @@ function processEvents(convo, events) {
|
|
|
3056
3146
|
}
|
|
3057
3147
|
}
|
|
3058
3148
|
function visibleEvent(ev) {
|
|
3059
|
-
let type = util/* default */.Z.get(ev, 'type');
|
|
3149
|
+
let type = util/* default.get */.Z.get(ev, 'type');
|
|
3060
3150
|
return type === 'message_sent' || type === 'conversation_state_updated';
|
|
3061
3151
|
}
|
|
3062
3152
|
function Events_isSummited(form) {
|
|
3063
|
-
let fields = util/* default */.Z.get(form, 'fields') || [];
|
|
3064
|
-
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);
|
|
3065
3155
|
}
|
|
3066
3156
|
;// CONCATENATED MODULE: ./src/chatbox/Typing.js
|
|
3067
3157
|
|
|
@@ -3077,29 +3167,29 @@ class Typing extends common/* Com */.up {
|
|
|
3077
3167
|
ev: {}
|
|
3078
3168
|
});
|
|
3079
3169
|
this.props.store.onConvoEvent(this, ev => {
|
|
3080
|
-
if (util/* default */.Z.convoOfEv(ev) !== this.props.cid) return;
|
|
3170
|
+
if (util/* default.convoOfEv */.Z.convoOfEv(ev) !== this.props.cid) return;
|
|
3081
3171
|
let user = this.props.store.matchUser();
|
|
3082
|
-
if (util/* default */.Z.get(ev, 'by.id') === user.id) return;
|
|
3083
|
-
let oldby = util/* default */.Z.get(this.state.ev, 'by.id');
|
|
3084
|
-
if (oldby && util/* default */.Z.get(ev, 'by.id') !== oldby) return;
|
|
3085
|
-
if (util/* default */.Z.get(ev, 'type') === 'message_sent') {
|
|
3086
|
-
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);
|
|
3087
3177
|
this.timer = null;
|
|
3088
3178
|
this.setState({
|
|
3089
3179
|
isShow: false
|
|
3090
3180
|
});
|
|
3091
3181
|
return;
|
|
3092
3182
|
}
|
|
3093
|
-
|
|
3094
|
-
let ag = this.props.store.matchAgent(util/* default */.Z.get(ev, 'by.id')) || {};
|
|
3183
|
+
let ag = this.props.store.matchAgent(ev.by.id) || {};
|
|
3095
3184
|
if (ag.type == 'agent') return;
|
|
3185
|
+
if (util/* default.get */.Z.get(ev, 'type') !== 'conversation_typing') return;
|
|
3096
3186
|
this.setState({
|
|
3097
3187
|
ev: ev,
|
|
3098
3188
|
isShow: true
|
|
3099
3189
|
});
|
|
3100
|
-
if (this.timer) util/* default */.Z.clearTimeout(this.timer);
|
|
3101
|
-
this.timer = util/* default */.Z.setTimeout(() => {
|
|
3102
|
-
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;
|
|
3103
3193
|
this.timer = null;
|
|
3104
3194
|
this.setState({
|
|
3105
3195
|
isShow: false
|
|
@@ -3110,8 +3200,8 @@ class Typing extends common/* Com */.up {
|
|
|
3110
3200
|
render() {
|
|
3111
3201
|
let account = this.props.store.matchAccount();
|
|
3112
3202
|
var cls = this.state.isShow ? '' : 'typing--hidden';
|
|
3113
|
-
let byid = util/* default */.Z.get(this.state.ev, 'by.display_id', util/* default */.Z.get(this.state.ev, 'by.id'));
|
|
3114
|
-
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));
|
|
3115
3205
|
return (0,preact_module.h)("div", {
|
|
3116
3206
|
class: `typing ${cls}`
|
|
3117
3207
|
}, agentName, " ", this.props.t('typing'));
|
|
@@ -3130,7 +3220,7 @@ class Typing extends common/* Com */.up {
|
|
|
3130
3220
|
this.stop();
|
|
3131
3221
|
var t0;
|
|
3132
3222
|
var run = t => {
|
|
3133
|
-
if (!t) t = new util/* default */.Z.Date().getTime();
|
|
3223
|
+
if (!t) t = new util/* default.Date */.Z.Date().getTime();
|
|
3134
3224
|
var deltaT = t - t0;
|
|
3135
3225
|
var [newy, done] = this.calcY(v, y0, deltaT);
|
|
3136
3226
|
cb(newy);
|
|
@@ -3138,7 +3228,7 @@ class Typing extends common/* Com */.up {
|
|
|
3138
3228
|
this.animationframe = window.requestAnimationFrame(run);
|
|
3139
3229
|
};
|
|
3140
3230
|
this.animationframe = window.requestAnimationFrame(t => {
|
|
3141
|
-
t0 = t || new util/* default */.Z.Date().getTime();
|
|
3231
|
+
t0 = t || new util/* default.Date */.Z.Date().getTime();
|
|
3142
3232
|
run(t0);
|
|
3143
3233
|
});
|
|
3144
3234
|
}
|
|
@@ -3200,7 +3290,7 @@ class Rating extends common/* Com */.up {
|
|
|
3200
3290
|
if (this.shoudDisplay()) this.open();
|
|
3201
3291
|
});
|
|
3202
3292
|
this.props.store.onConvoEvent(this, ev => {
|
|
3203
|
-
var cid = util/* default */.Z.convoOfEv(ev);
|
|
3293
|
+
var cid = util/* default.convoOfEv */.Z.convoOfEv(ev);
|
|
3204
3294
|
if (cid !== this.props.cid) return;
|
|
3205
3295
|
if (this.shoudDisplay()) this.open();
|
|
3206
3296
|
});
|
|
@@ -3309,12 +3399,12 @@ class Rating extends common/* Com */.up {
|
|
|
3309
3399
|
var rated;
|
|
3310
3400
|
var ended;
|
|
3311
3401
|
let user = this.props.store.matchUser();
|
|
3312
|
-
util/* default */.Z.map(this.props.store.listEvents(this.props.cid), ev => {
|
|
3313
|
-
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') {
|
|
3314
3404
|
ended = ev;
|
|
3315
3405
|
}
|
|
3316
|
-
if (util/* default */.Z.get(ev, 'type') === 'conversation_rating_requested') requested = ev;
|
|
3317
|
-
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;
|
|
3318
3408
|
});
|
|
3319
3409
|
if (rated) return false;
|
|
3320
3410
|
let accountSetting = this.props.plugin.chatbox;
|
|
@@ -3355,7 +3445,7 @@ class Rating extends common/* Com */.up {
|
|
|
3355
3445
|
hide: false
|
|
3356
3446
|
});
|
|
3357
3447
|
if (!this.refRating.current) return;
|
|
3358
|
-
util/* default */.Z.setTimeout(() => {
|
|
3448
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3359
3449
|
if (this.refComment.current) this.refComment.current.focus();
|
|
3360
3450
|
}, 400);
|
|
3361
3451
|
this.refComment.current.value = '';
|
|
@@ -3477,15 +3567,15 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3477
3567
|
});
|
|
3478
3568
|
DropdownSelect_defineProperty(this, "hasSearch", () => {
|
|
3479
3569
|
if (this.props.has_search) return true;
|
|
3480
|
-
return util/* default */.Z.size(this.props.items) >= 10;
|
|
3570
|
+
return util/* default.size */.Z.size(this.props.items) >= 10;
|
|
3481
3571
|
});
|
|
3482
3572
|
DropdownSelect_defineProperty(this, "getFilteredOptions", () => {
|
|
3483
3573
|
let items = this.props.items;
|
|
3484
3574
|
if (this.state.searchValue && this.hasSearch()) {
|
|
3485
|
-
items = util/* default */.Z.filter(items, item => {
|
|
3486
|
-
let optionName = util/* default */.Z.unicodeToAscii(item.name).toLowerCase().replace(/ /g, '');
|
|
3487
|
-
let optionDesc = util/* default */.Z.unicodeToAscii(item.desc).toLowerCase().replace(/ /g, '');
|
|
3488
|
-
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, '');
|
|
3489
3579
|
return optionName.indexOf(searchValue) != -1 || optionDesc.indexOf(searchValue) != -1;
|
|
3490
3580
|
});
|
|
3491
3581
|
}
|
|
@@ -3544,7 +3634,7 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3544
3634
|
focusFilter() {
|
|
3545
3635
|
if (!this.filterRef.current) return;
|
|
3546
3636
|
this.filterRef.current.focus();
|
|
3547
|
-
util/* default */.Z.setTimeout(() => {
|
|
3637
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3548
3638
|
if (!this.filterRef.current) return;
|
|
3549
3639
|
this.filterRef.current.focus();
|
|
3550
3640
|
}, 100);
|
|
@@ -3552,7 +3642,7 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3552
3642
|
renderDropdown() {
|
|
3553
3643
|
if (!this.state.show) return null;
|
|
3554
3644
|
let items = this.getFilteredOptions();
|
|
3555
|
-
let $items = util/* default */.Z.map(items, item => {
|
|
3645
|
+
let $items = util/* default.map */.Z.map(items, item => {
|
|
3556
3646
|
return (0,preact_module.h)("div", {
|
|
3557
3647
|
class: "dropdown_select__item",
|
|
3558
3648
|
onClick: _ => this.onSelect(item)
|
|
@@ -3613,10 +3703,10 @@ class DropdownSelect extends common/* Com */.up {
|
|
|
3613
3703
|
class: "muted text-truncate",
|
|
3614
3704
|
style: "flex: 1 !important;"
|
|
3615
3705
|
}, "Ch\u1ECDn m\u1ED9t ph\u1EA7n t\u1EED");
|
|
3616
|
-
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", {
|
|
3617
3707
|
class: "text-truncate",
|
|
3618
3708
|
style: "flex: 1 !important;"
|
|
3619
|
-
}, util/* default */.Z.get(this.props, 'selected.name'));
|
|
3709
|
+
}, util/* default.get */.Z.get(this.props, 'selected.name'));
|
|
3620
3710
|
let style = 'position: relative !important;';
|
|
3621
3711
|
if (this.props.full) {
|
|
3622
3712
|
style = '';
|
|
@@ -3676,13 +3766,13 @@ class AddressPicker extends common/* Com */.up {
|
|
|
3676
3766
|
}
|
|
3677
3767
|
if (e.key == 'Enter') {}
|
|
3678
3768
|
});
|
|
3679
|
-
address_picker_defineProperty(this, "doSearch", util/* default */.Z.throttle(async () => {
|
|
3769
|
+
address_picker_defineProperty(this, "doSearch", util/* default.throttle */.Z.throttle(async () => {
|
|
3680
3770
|
let requestId = Date.now();
|
|
3681
3771
|
this.requestId = requestId;
|
|
3682
3772
|
let res = await this.props.store.suggest_addresses(this.state.searchValue);
|
|
3683
3773
|
if (this.requestId !== requestId) return;
|
|
3684
3774
|
this.setState({
|
|
3685
|
-
addresses: util/* default */.Z.get(res, 'body.addresses', [])
|
|
3775
|
+
addresses: util/* default.get */.Z.get(res, 'body.addresses', [])
|
|
3686
3776
|
});
|
|
3687
3777
|
}, 100));
|
|
3688
3778
|
address_picker_defineProperty(this, "onChangeSearchValue", e => {
|
|
@@ -3739,14 +3829,14 @@ class AddressPicker extends common/* Com */.up {
|
|
|
3739
3829
|
focusFilter() {
|
|
3740
3830
|
if (!this.filterRef.current) return;
|
|
3741
3831
|
this.filterRef.current.focus();
|
|
3742
|
-
util/* default */.Z.setTimeout(() => {
|
|
3832
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
3743
3833
|
if (!this.filterRef.current) return;
|
|
3744
3834
|
this.filterRef.current.focus();
|
|
3745
3835
|
}, 100);
|
|
3746
3836
|
}
|
|
3747
3837
|
renderDropdown() {
|
|
3748
3838
|
if (!this.state.show) return null;
|
|
3749
|
-
let $items = util/* default */.Z.map(this.state.addresses, (addr, i) => {
|
|
3839
|
+
let $items = util/* default.map */.Z.map(this.state.addresses, (addr, i) => {
|
|
3750
3840
|
let label = [((addr.address || '') + ' ' + normalize(addr.street)).trim()].join(', ');
|
|
3751
3841
|
let desc = [normalize(addr.ward), normalize(addr.district), normalize(addr.province)].join(', ');
|
|
3752
3842
|
return (0,preact_module.h)("div", {
|
|
@@ -3848,7 +3938,7 @@ var $link = document.createElement('link');
|
|
|
3848
3938
|
$link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
|
|
3849
3939
|
$link.rel = 'stylesheet';
|
|
3850
3940
|
document.head.append($link);
|
|
3851
|
-
util/* default */.Z.preloadWebfonts(['Roboto'], [400, 500]);
|
|
3941
|
+
util/* default.preloadWebfonts */.Z.preloadWebfonts(['Roboto'], [400, 500]);
|
|
3852
3942
|
|
|
3853
3943
|
let icon_defaultAvatar = __webpack_require__(4761);
|
|
3854
3944
|
|
|
@@ -3955,7 +4045,7 @@ class order_Order extends common/* Com */.up {
|
|
|
3955
4045
|
loadDistrict: false
|
|
3956
4046
|
});
|
|
3957
4047
|
if (!out.error) this.setState({
|
|
3958
|
-
districts: util/* default */.Z.get(out, 'body.addresses')
|
|
4048
|
+
districts: util/* default.get */.Z.get(out, 'body.addresses')
|
|
3959
4049
|
});
|
|
3960
4050
|
});
|
|
3961
4051
|
order_defineProperty(this, "onSelectDistrict", async item => {
|
|
@@ -3974,7 +4064,7 @@ class order_Order extends common/* Com */.up {
|
|
|
3974
4064
|
loadWard: false
|
|
3975
4065
|
});
|
|
3976
4066
|
if (!out.error) this.setState({
|
|
3977
|
-
wards: util/* default */.Z.get(out, 'body.addresses')
|
|
4067
|
+
wards: util/* default.get */.Z.get(out, 'body.addresses')
|
|
3978
4068
|
});
|
|
3979
4069
|
});
|
|
3980
4070
|
order_defineProperty(this, "onSelectWard", item => this.setState({
|
|
@@ -3995,7 +4085,7 @@ class order_Order extends common/* Com */.up {
|
|
|
3995
4085
|
order_defineProperty(this, "onSelectAddress", addr => {
|
|
3996
4086
|
if (!addr) return;
|
|
3997
4087
|
this.setState({
|
|
3998
|
-
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(),
|
|
3999
4089
|
street: addr.street,
|
|
4000
4090
|
err: {},
|
|
4001
4091
|
g_err: ''
|
|
@@ -4042,36 +4132,36 @@ class order_Order extends common/* Com */.up {
|
|
|
4042
4132
|
});
|
|
4043
4133
|
}
|
|
4044
4134
|
if (this.state.shipping === 'shop') {
|
|
4045
|
-
if (!util/* default */.Z.isPhone(this.state.phone)) {
|
|
4135
|
+
if (!util/* default.isPhone */.Z.isPhone(this.state.phone)) {
|
|
4046
4136
|
err.phone = true;
|
|
4047
4137
|
}
|
|
4048
|
-
if (!util/* default */.Z.trim(this.state.fullname)) {
|
|
4138
|
+
if (!util/* default.trim */.Z.trim(this.state.fullname)) {
|
|
4049
4139
|
err.name = true;
|
|
4050
4140
|
}
|
|
4051
|
-
if (!util/* default */.Z.trim(this.state.email)) {
|
|
4141
|
+
if (!util/* default.trim */.Z.trim(this.state.email)) {
|
|
4052
4142
|
err.email = true;
|
|
4053
4143
|
}
|
|
4054
4144
|
} else if (this.state.shipping_address == 'new') {
|
|
4055
|
-
if (!util/* default */.Z.isPhone(this.state.phone)) {
|
|
4145
|
+
if (!util/* default.isPhone */.Z.isPhone(this.state.phone)) {
|
|
4056
4146
|
err.phone = true;
|
|
4057
4147
|
}
|
|
4058
|
-
if (!util/* default */.Z.trim(this.state.fullname)) {
|
|
4148
|
+
if (!util/* default.trim */.Z.trim(this.state.fullname)) {
|
|
4059
4149
|
err.name = true;
|
|
4060
4150
|
}
|
|
4061
|
-
if (!util/* default */.Z.trim(this.state.address)) {
|
|
4151
|
+
if (!util/* default.trim */.Z.trim(this.state.address)) {
|
|
4062
4152
|
err.address = true;
|
|
4063
4153
|
}
|
|
4064
|
-
if (util/* default */.Z.size(this.state.selectedWard) == 0) {
|
|
4154
|
+
if (util/* default.size */.Z.size(this.state.selectedWard) == 0) {
|
|
4065
4155
|
err.ward = true;
|
|
4066
4156
|
}
|
|
4067
|
-
if (util/* default */.Z.size(this.state.selectedDistrict) == 0) {
|
|
4157
|
+
if (util/* default.size */.Z.size(this.state.selectedDistrict) == 0) {
|
|
4068
4158
|
err.district = true;
|
|
4069
4159
|
}
|
|
4070
|
-
if (util/* default */.Z.size(this.state.selectedProvince) == 0) {
|
|
4160
|
+
if (util/* default.size */.Z.size(this.state.selectedProvince) == 0) {
|
|
4071
4161
|
err.province = true;
|
|
4072
4162
|
}
|
|
4073
4163
|
}
|
|
4074
|
-
if (util/* default */.Z.size(err) > 0) {
|
|
4164
|
+
if (util/* default.size */.Z.size(err) > 0) {
|
|
4075
4165
|
this.setState({
|
|
4076
4166
|
err,
|
|
4077
4167
|
g_err: this.props.t('input_shipping_info_err')
|
|
@@ -4079,15 +4169,15 @@ class order_Order extends common/* Com */.up {
|
|
|
4079
4169
|
return;
|
|
4080
4170
|
}
|
|
4081
4171
|
let user = this.props.store.matchUser();
|
|
4082
|
-
let ufullname = util/* default */.Z.getUserAttr(user, 'fullname', 'text');
|
|
4083
|
-
let uemail = util/* default */.Z.getUserAttr(user, 'emails', 'text');
|
|
4084
|
-
let uphone = util/* default */.Z.getUserAttr(user, 'phones', 'text');
|
|
4085
|
-
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);
|
|
4086
4176
|
if (this.state.shipping === 'shop') {
|
|
4087
|
-
util/* default */.Z.set(order, 'shipping.pickup_at_shop', true);
|
|
4088
|
-
util/* default */.Z.set(order, 'shipping.address.phone', this.state.phone);
|
|
4089
|
-
util/* default */.Z.set(order, 'shipping.address.fullname', this.state.fullname);
|
|
4090
|
-
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);
|
|
4091
4181
|
} else {
|
|
4092
4182
|
if (this.state.shipping_address == 'new') {
|
|
4093
4183
|
let out = await this.props.store.createShippingAddress({
|
|
@@ -4107,37 +4197,37 @@ class order_Order extends common/* Com */.up {
|
|
|
4107
4197
|
if (out.error) return this.setState({
|
|
4108
4198
|
g_err: this.props.t('update_failed')
|
|
4109
4199
|
});
|
|
4110
|
-
util/* default */.Z.set(order, 'shipping.address', out.body);
|
|
4200
|
+
util/* default.set */.Z.set(order, 'shipping.address', out.body);
|
|
4111
4201
|
} else {
|
|
4112
4202
|
let addresses = this.props.store.matchShippingAddresses();
|
|
4113
|
-
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);
|
|
4114
4204
|
if (!sa) {
|
|
4115
4205
|
return this.setState({
|
|
4116
4206
|
err,
|
|
4117
4207
|
g_err: this.props.t('input_shipping_info_err')
|
|
4118
4208
|
});
|
|
4119
4209
|
}
|
|
4120
|
-
util/* default */.Z.set(order, 'shipping.address', sa);
|
|
4210
|
+
util/* default.set */.Z.set(order, 'shipping.address', sa);
|
|
4121
4211
|
}
|
|
4122
4212
|
}
|
|
4123
4213
|
let changeduser = false;
|
|
4124
4214
|
if (!ufullname && this.state.fullname) {
|
|
4125
4215
|
changeduser = true;
|
|
4126
|
-
util/* default */.Z.setUserAttr(user, {
|
|
4216
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
4127
4217
|
key: 'fullname',
|
|
4128
4218
|
text: this.state.fullname
|
|
4129
4219
|
});
|
|
4130
4220
|
}
|
|
4131
4221
|
if (!uemail && this.state.email) {
|
|
4132
4222
|
changeduser = true;
|
|
4133
|
-
util/* default */.Z.setUserAttr(user, {
|
|
4223
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
4134
4224
|
key: 'emails',
|
|
4135
4225
|
text: this.state.email
|
|
4136
4226
|
});
|
|
4137
4227
|
}
|
|
4138
4228
|
if (!uphone && this.state.phone) {
|
|
4139
4229
|
changeduser = true;
|
|
4140
|
-
util/* default */.Z.setUserAttr(user, {
|
|
4230
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
4141
4231
|
key: 'phones',
|
|
4142
4232
|
text: this.state.phone
|
|
4143
4233
|
});
|
|
@@ -4164,7 +4254,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4164
4254
|
order_defineProperty(this, "onCancel", () => {
|
|
4165
4255
|
if (this.props.onResponse) this.props.onResponse('rejected');
|
|
4166
4256
|
if (this.props.cid && !this.state.order.user_confirmation) {
|
|
4167
|
-
let order = util/* default */.Z.cloneDeep(this.state.order);
|
|
4257
|
+
let order = util/* default.cloneDeep */.Z.cloneDeep(this.state.order);
|
|
4168
4258
|
order.user_confirmation = 'rejected';
|
|
4169
4259
|
this.props.store.updateOrder(order);
|
|
4170
4260
|
}
|
|
@@ -4191,10 +4281,10 @@ class order_Order extends common/* Com */.up {
|
|
|
4191
4281
|
});
|
|
4192
4282
|
}
|
|
4193
4283
|
let user = this.props.store.matchUser();
|
|
4194
|
-
let attributes = util/* default */.Z.get(this.props.store.matchUser(), 'attributes', []);
|
|
4195
|
-
let fullname = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'fullname'), 'text');
|
|
4196
|
-
let email = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'emails'), 'text');
|
|
4197
|
-
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');
|
|
4198
4288
|
this.setState({
|
|
4199
4289
|
fullname,
|
|
4200
4290
|
email,
|
|
@@ -4206,7 +4296,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4206
4296
|
loadProvince: false
|
|
4207
4297
|
});
|
|
4208
4298
|
if (!out.error) this.setState({
|
|
4209
|
-
provinces: util/* default */.Z.get(out, 'body.addresses')
|
|
4299
|
+
provinces: util/* default.get */.Z.get(out, 'body.addresses')
|
|
4210
4300
|
});
|
|
4211
4301
|
}
|
|
4212
4302
|
isMobile() {
|
|
@@ -4236,7 +4326,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4236
4326
|
}
|
|
4237
4327
|
if (editmode) {
|
|
4238
4328
|
let pms = this.props.store.matchPaymentMethods();
|
|
4239
|
-
let $pms = util/* default */.Z.map(pms, pm => {
|
|
4329
|
+
let $pms = util/* default.map */.Z.map(pms, pm => {
|
|
4240
4330
|
let $name = pm.description;
|
|
4241
4331
|
if (pm.method == 'bank_transfer') {
|
|
4242
4332
|
$name = pm.description + ' ' + pm.bank_name + ' ' + pm.bank_branch;
|
|
@@ -4317,15 +4407,15 @@ class order_Order extends common/* Com */.up {
|
|
|
4317
4407
|
let user = this.props.store.matchUser();
|
|
4318
4408
|
if (editmode) {
|
|
4319
4409
|
let addresses = this.props.store.matchShippingAddresses();
|
|
4320
|
-
let provinces = util/* default */.Z.map(this.state.provinces, province => ({
|
|
4410
|
+
let provinces = util/* default.map */.Z.map(this.state.provinces, province => ({
|
|
4321
4411
|
id: province.id,
|
|
4322
4412
|
name: province.province
|
|
4323
4413
|
}));
|
|
4324
|
-
let districts = util/* default */.Z.map(this.state.districts, district => ({
|
|
4414
|
+
let districts = util/* default.map */.Z.map(this.state.districts, district => ({
|
|
4325
4415
|
id: district.id,
|
|
4326
4416
|
name: district.district
|
|
4327
4417
|
}));
|
|
4328
|
-
let wards = util/* default */.Z.map(this.state.wards, ward => ({
|
|
4418
|
+
let wards = util/* default.map */.Z.map(this.state.wards, ward => ({
|
|
4329
4419
|
id: ward.id,
|
|
4330
4420
|
name: ward.ward
|
|
4331
4421
|
}));
|
|
@@ -4334,7 +4424,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4334
4424
|
let ship_icon_active = false;
|
|
4335
4425
|
if (this.state.shipping === 'ship') {
|
|
4336
4426
|
ship_icon_active = true;
|
|
4337
|
-
let $preaddrs = util/* default */.Z.map(addresses, addr => {
|
|
4427
|
+
let $preaddrs = util/* default.map */.Z.map(addresses, addr => {
|
|
4338
4428
|
let fulladdr = [addr.street, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
|
|
4339
4429
|
let $phone = null;
|
|
4340
4430
|
if (addr.phone) {
|
|
@@ -4466,7 +4556,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4466
4556
|
style: "flex: 1 !important; margin-left: 7px !important;"
|
|
4467
4557
|
})));
|
|
4468
4558
|
cls += ' ship_card__active';
|
|
4469
|
-
if (util/* default */.Z.size(addresses) == 0) {
|
|
4559
|
+
if (util/* default.size */.Z.size(addresses) == 0) {
|
|
4470
4560
|
$body = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
4471
4561
|
class: 'mt-3 mb-2 '
|
|
4472
4562
|
}, this.props.t('input_shipping_info')), $new);
|
|
@@ -4544,13 +4634,13 @@ class order_Order extends common/* Com */.up {
|
|
|
4544
4634
|
class: "ml-2"
|
|
4545
4635
|
}, "Giao h\xE0ng cho t\xF4i"))), $body));
|
|
4546
4636
|
}
|
|
4547
|
-
let addr = util/* default */.Z.get(order, 'shipping.address') || {};
|
|
4637
|
+
let addr = util/* default.get */.Z.get(order, 'shipping.address') || {};
|
|
4548
4638
|
let fulladdr = [addr.address, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
|
|
4549
4639
|
let $phone = null;
|
|
4550
4640
|
if (addr.phone) $phone = (0,preact_module.h)("div", {
|
|
4551
4641
|
class: "mt-1 muted"
|
|
4552
4642
|
}, this.props.t('phn'), ":\xA0", addr.phone);
|
|
4553
|
-
if (util/* default */.Z.get(order, 'shipping.pickup_at_shop')) {
|
|
4643
|
+
if (util/* default.get */.Z.get(order, 'shipping.pickup_at_shop')) {
|
|
4554
4644
|
fulladdr = 'Nhận hàng tại cửa hàng';
|
|
4555
4645
|
}
|
|
4556
4646
|
let $addr = fulladdr ? (0,preact_module.h)("div", null, fulladdr) : (0,preact_module.h)("i", {
|
|
@@ -4569,28 +4659,28 @@ class order_Order extends common/* Com */.up {
|
|
|
4569
4659
|
if (order.deposit > 0) {
|
|
4570
4660
|
$deposit = (0,preact_module.h)("span", {
|
|
4571
4661
|
class: "muted"
|
|
4572
|
-
}, "(c\u1ECDc ", util/* default */.Z.formatCurrency(order.deposit), ")");
|
|
4662
|
+
}, "(c\u1ECDc ", util/* default.formatCurrency */.Z.formatCurrency(order.deposit), ")");
|
|
4573
4663
|
}
|
|
4574
4664
|
let $discount = null;
|
|
4575
4665
|
if (order.total_discount > 0) {
|
|
4576
4666
|
$discount = (0,preact_module.h)("div", {
|
|
4577
4667
|
class: "order_summary_line"
|
|
4578
|
-
}, (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)));
|
|
4579
4669
|
}
|
|
4580
4670
|
let $pay = null;
|
|
4581
4671
|
if ($deposit || order.payment_made) {
|
|
4582
4672
|
$pay = (0,preact_module.h)(preact_module/* Fragment */.HY, null, (0,preact_module.h)("div", {
|
|
4583
4673
|
class: "order_summary_line"
|
|
4584
|
-
}, (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", {
|
|
4585
4675
|
class: "order_summary_line"
|
|
4586
|
-
}, (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)))));
|
|
4587
4677
|
}
|
|
4588
4678
|
let $tax = (0,preact_module.h)("div", {
|
|
4589
4679
|
class: "order_summary_line"
|
|
4590
|
-
}, (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)));
|
|
4591
4681
|
let $ship = (0,preact_module.h)("div", {
|
|
4592
4682
|
class: "order_summary_line"
|
|
4593
|
-
}, (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"));
|
|
4594
4684
|
let editmode = false;
|
|
4595
4685
|
if (!order.status || order.status == 'open') {
|
|
4596
4686
|
editmode = !order.user_confirmation;
|
|
@@ -4616,12 +4706,12 @@ class order_Order extends common/* Com */.up {
|
|
|
4616
4706
|
class: "order_label"
|
|
4617
4707
|
}, "T\xF3m t\u1EAFt"), (0,preact_module.h)("div", {
|
|
4618
4708
|
class: "order_summary_line"
|
|
4619
|
-
}, (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", {
|
|
4620
4710
|
class: "order_summary_line",
|
|
4621
4711
|
style: "margin-top: 10px !important; padding-top: 15px !important; border-top: 1px solid #eee !important"
|
|
4622
4712
|
}, (0,preact_module.h)("div", null, "B\u1EA1n ph\u1EA3i tr\u1EA3"), (0,preact_module.h)("div", {
|
|
4623
4713
|
class: "order__total"
|
|
4624
|
-
}, util/* default */.Z.formatCurrency(order.total))), $pay));
|
|
4714
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(order.total))), $pay));
|
|
4625
4715
|
}
|
|
4626
4716
|
renderStatusBadge(order) {
|
|
4627
4717
|
let status = order.status || 'open';
|
|
@@ -4632,9 +4722,9 @@ class order_Order extends common/* Com */.up {
|
|
|
4632
4722
|
}
|
|
4633
4723
|
renderShippingInfo(order) {
|
|
4634
4724
|
if (order.status != 'open' || order.user_confirmation) {}
|
|
4635
|
-
let shipping_provider = util/* default */.Z.get(order, 'shipping.shipping_provider');
|
|
4725
|
+
let shipping_provider = util/* default.get */.Z.get(order, 'shipping.shipping_provider');
|
|
4636
4726
|
if (!shipping_provider) return null;
|
|
4637
|
-
let shipping_code = util/* default */.Z.get(order, 'shipping.shipping_code');
|
|
4727
|
+
let shipping_code = util/* default.get */.Z.get(order, 'shipping.shipping_code');
|
|
4638
4728
|
let $tracking_code = null;
|
|
4639
4729
|
if (shipping_code) $tracking_code = (0,preact_module.h)("div", {
|
|
4640
4730
|
class: "muted",
|
|
@@ -4662,9 +4752,9 @@ class order_Order extends common/* Com */.up {
|
|
|
4662
4752
|
return null;
|
|
4663
4753
|
}
|
|
4664
4754
|
renderDesktopShippingInfo(order) {
|
|
4665
|
-
let shipping_provider = util/* default */.Z.get(order, 'shipping.shipping_provider');
|
|
4755
|
+
let shipping_provider = util/* default.get */.Z.get(order, 'shipping.shipping_provider');
|
|
4666
4756
|
if (!shipping_provider) return null;
|
|
4667
|
-
let shipping_code = util/* default */.Z.get(order, 'shipping.shipping_code');
|
|
4757
|
+
let shipping_code = util/* default.get */.Z.get(order, 'shipping.shipping_code');
|
|
4668
4758
|
let $tracking_code = null;
|
|
4669
4759
|
if (shipping_code) $tracking_code = (0,preact_module.h)("div", {
|
|
4670
4760
|
class: "muted",
|
|
@@ -4691,7 +4781,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4691
4781
|
}
|
|
4692
4782
|
renderProducts(order) {
|
|
4693
4783
|
let $products = null;
|
|
4694
|
-
$products = util/* default */.Z.map(order.items, item => {
|
|
4784
|
+
$products = util/* default.map */.Z.map(order.items, item => {
|
|
4695
4785
|
if (!item || !item.product) return null;
|
|
4696
4786
|
let product = item.product;
|
|
4697
4787
|
return (0,preact_module.h)("div", {
|
|
@@ -4699,7 +4789,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4699
4789
|
}, (0,preact_module.h)("img", {
|
|
4700
4790
|
class: "order_attachment__product_img",
|
|
4701
4791
|
alt: '' + product.id,
|
|
4702
|
-
src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4792
|
+
src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4703
4793
|
}), (0,preact_module.h)("div", {
|
|
4704
4794
|
style: "overflow: hidden !important;"
|
|
4705
4795
|
}, (0,preact_module.h)("div", {
|
|
@@ -4708,7 +4798,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4708
4798
|
class: "order_attachment__product_desc"
|
|
4709
4799
|
}, product.description || product.long_description), (0,preact_module.h)("div", {
|
|
4710
4800
|
class: "order_attachment__product_desc"
|
|
4711
|
-
}, 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))));
|
|
4712
4802
|
});
|
|
4713
4803
|
if (!this.isMobile()) return (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
|
|
4714
4804
|
class: "order_label"
|
|
@@ -4726,7 +4816,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4726
4816
|
editmode = !order.user_confirmation;
|
|
4727
4817
|
}
|
|
4728
4818
|
if (editmode) {
|
|
4729
|
-
$products = util/* default */.Z.map(order.items, item => {
|
|
4819
|
+
$products = util/* default.map */.Z.map(order.items, item => {
|
|
4730
4820
|
if (!item || !item.product) return null;
|
|
4731
4821
|
let product = item.product;
|
|
4732
4822
|
return (0,preact_module.h)("div", {
|
|
@@ -4734,7 +4824,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4734
4824
|
}, (0,preact_module.h)("img", {
|
|
4735
4825
|
class: "order_attachment__product_img",
|
|
4736
4826
|
alt: '' + product.id,
|
|
4737
|
-
src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4827
|
+
src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4738
4828
|
}), (0,preact_module.h)("div", {
|
|
4739
4829
|
style: "overflow: hidden !important; flex: 1 !important"
|
|
4740
4830
|
}, (0,preact_module.h)("div", {
|
|
@@ -4743,7 +4833,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4743
4833
|
class: "order_attachment__product_desc"
|
|
4744
4834
|
}, product.description || product.long_description), (0,preact_module.h)("div", {
|
|
4745
4835
|
class: "order_attachment__product_desc"
|
|
4746
|
-
}, util/* default */.Z.formatCurrency(product.price))), (0,preact_module.h)("input", {
|
|
4836
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(product.price))), (0,preact_module.h)("input", {
|
|
4747
4837
|
class: "form-control",
|
|
4748
4838
|
style: "text-align: center !important; font-weight: 400 !important; width: 50px !important",
|
|
4749
4839
|
value: item.quantity,
|
|
@@ -4751,10 +4841,10 @@ class order_Order extends common/* Com */.up {
|
|
|
4751
4841
|
type: "text"
|
|
4752
4842
|
}), (0,preact_module.h)("div", {
|
|
4753
4843
|
style: "width: 80px !important; text-align: right !important; "
|
|
4754
|
-
}, (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))));
|
|
4755
4845
|
});
|
|
4756
4846
|
} else {
|
|
4757
|
-
$products = util/* default */.Z.map(order.items, item => {
|
|
4847
|
+
$products = util/* default.map */.Z.map(order.items, item => {
|
|
4758
4848
|
if (!item || !item.product) return null;
|
|
4759
4849
|
let product = item.product;
|
|
4760
4850
|
return (0,preact_module.h)("div", {
|
|
@@ -4762,7 +4852,7 @@ class order_Order extends common/* Com */.up {
|
|
|
4762
4852
|
}, (0,preact_module.h)("img", {
|
|
4763
4853
|
class: "order_attachment__product_img",
|
|
4764
4854
|
alt: '' + product.id,
|
|
4765
|
-
src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4855
|
+
src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
|
|
4766
4856
|
}), (0,preact_module.h)("div", {
|
|
4767
4857
|
style: "overflow: hidden !important; flex: 1 !important"
|
|
4768
4858
|
}, (0,preact_module.h)("div", {
|
|
@@ -4771,11 +4861,11 @@ class order_Order extends common/* Com */.up {
|
|
|
4771
4861
|
class: "order_attachment__product_desc"
|
|
4772
4862
|
}, product.description || product.long_description), (0,preact_module.h)("div", {
|
|
4773
4863
|
class: "order_attachment__product_desc"
|
|
4774
|
-
}, util/* default */.Z.formatCurrency(product.price))), (0,preact_module.h)("div", {
|
|
4864
|
+
}, util/* default.formatCurrency */.Z.formatCurrency(product.price))), (0,preact_module.h)("div", {
|
|
4775
4865
|
style: "text-align: center !important; font-weight: 400 !important; width: 50px !important"
|
|
4776
4866
|
}, item.quantity), (0,preact_module.h)("div", {
|
|
4777
4867
|
style: "width: 80px !important; text-align: right !important; "
|
|
4778
|
-
}, (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))));
|
|
4779
4869
|
});
|
|
4780
4870
|
}
|
|
4781
4871
|
return (0,preact_module.h)("div", {
|
|
@@ -4993,7 +5083,7 @@ class Order extends common/* Com */.up {
|
|
|
4993
5083
|
});
|
|
4994
5084
|
});
|
|
4995
5085
|
Order_defineProperty(this, "close", async () => {
|
|
4996
|
-
await util/* default */.Z.sleep(100);
|
|
5086
|
+
await util/* default.sleep */.Z.sleep(100);
|
|
4997
5087
|
if (this.state.response === 'confirmed') {
|
|
4998
5088
|
this.props.store.sendConvoEvent(this.props.cid, 'message_sent', {
|
|
4999
5089
|
message: {
|
|
@@ -5094,7 +5184,7 @@ class Order extends common/* Com */.up {
|
|
|
5094
5184
|
render() {
|
|
5095
5185
|
if (this._show != this.props.show) {
|
|
5096
5186
|
this._show = this.props.show;
|
|
5097
|
-
util/* default */.Z.setTimeout(() => {
|
|
5187
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
5098
5188
|
if (!this._show) this.close();else this.open();
|
|
5099
5189
|
});
|
|
5100
5190
|
}
|
|
@@ -5221,7 +5311,7 @@ class Widget extends common/* Com */.up {
|
|
|
5221
5311
|
super(props);
|
|
5222
5312
|
Widget_defineProperty(this, "msgInput", (0,preact_module/* createRef */.Vf)());
|
|
5223
5313
|
Widget_defineProperty(this, "sendMessage", async message => {
|
|
5224
|
-
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');
|
|
5225
5315
|
if (this.isFormRequired() && hasPostback) {
|
|
5226
5316
|
this.onStartConvoClick();
|
|
5227
5317
|
this.fillQuickReplyToQuestion(message);
|
|
@@ -5300,7 +5390,7 @@ class Widget extends common/* Com */.up {
|
|
|
5300
5390
|
clickedJoin: false,
|
|
5301
5391
|
quickReplyMessage: {}
|
|
5302
5392
|
});
|
|
5303
|
-
util/* default */.Z.setTimeout(() => {
|
|
5393
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
5304
5394
|
this.events && this.events.focus();
|
|
5305
5395
|
if (!this.props.store.isMobile()) this.focusInput();
|
|
5306
5396
|
}, 100);
|
|
@@ -5311,10 +5401,10 @@ class Widget extends common/* Com */.up {
|
|
|
5311
5401
|
let form;
|
|
5312
5402
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
5313
5403
|
let acc = this.props.store.matchAccount() || {};
|
|
5314
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5315
|
-
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');
|
|
5316
5406
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) form = accountSetting.offline_form;
|
|
5317
|
-
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;
|
|
5318
5408
|
let formRequired = this.isFormRequired();
|
|
5319
5409
|
return formRequired && !this.props.cid || formRequired && this.props.cid && this.state.clickedJoin;
|
|
5320
5410
|
}
|
|
@@ -5324,8 +5414,8 @@ class Widget extends common/* Com */.up {
|
|
|
5324
5414
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
5325
5415
|
let acc = this.props.store.matchAccount() || {};
|
|
5326
5416
|
let submitLabel = this.props.t('prechat_form_btn');
|
|
5327
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5328
|
-
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');
|
|
5329
5419
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) {
|
|
5330
5420
|
form = accountSetting.offline_form;
|
|
5331
5421
|
submitLabel = this.props.t('offline_form_btn');
|
|
@@ -5342,8 +5432,8 @@ class Widget extends common/* Com */.up {
|
|
|
5342
5432
|
}
|
|
5343
5433
|
let $body = null;
|
|
5344
5434
|
if (this.props.view === 'list') $body = this.renderConvoList();else if (showform) $body = this.renderForm(form, submitLabel);else $body = this.renderChat();
|
|
5345
|
-
let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
|
|
5346
|
-
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);
|
|
5347
5437
|
let cls = 'widget-container widget-container--' + position;
|
|
5348
5438
|
if (!this.props.isShow) cls += ' widget-container--hide';
|
|
5349
5439
|
return (0,preact_module.h)("div", {
|
|
@@ -5362,42 +5452,42 @@ class Widget extends common/* Com */.up {
|
|
|
5362
5452
|
}
|
|
5363
5453
|
async submitPrechatForm(form) {
|
|
5364
5454
|
var hasError = false;
|
|
5365
|
-
util/* default */.Z.map(this.state.formData, (field, key) => {
|
|
5366
|
-
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))) {
|
|
5367
5457
|
field.error = this.props.t('error_empty');
|
|
5368
5458
|
hasError = true;
|
|
5369
5459
|
} else field.error = '';
|
|
5370
|
-
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) {
|
|
5371
5461
|
field.error = this.props.t('error_email_invalid');
|
|
5372
5462
|
hasError = true;
|
|
5373
5463
|
}
|
|
5374
|
-
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) {
|
|
5375
5465
|
field.error = this.props.t('error_phone_invalid');
|
|
5376
5466
|
hasError = true;
|
|
5377
5467
|
}
|
|
5378
5468
|
});
|
|
5379
5469
|
if (hasError) return this.forceUpdate();
|
|
5380
|
-
let data = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5381
|
-
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());
|
|
5382
5472
|
let is_lead = false;
|
|
5383
|
-
util/* default */.Z.map(data, (field, key) => {
|
|
5473
|
+
util/* default.map */.Z.map(data, (field, key) => {
|
|
5384
5474
|
if (!key.startsWith('attr:')) return;
|
|
5385
5475
|
var attr = {
|
|
5386
5476
|
key: key.substr(5)
|
|
5387
5477
|
};
|
|
5388
5478
|
is_lead = is_lead || key == 'emails' || key == 'phones';
|
|
5389
5479
|
if (field.type === 'number') attr.number = parseInt(field.value);
|
|
5390
|
-
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();
|
|
5391
5481
|
if (field.type === 'list') attr.text = field.value;
|
|
5392
5482
|
if (field.type === 'text' || field.type === 'boolean') attr[field.type] = field.value;
|
|
5393
|
-
util/* default */.Z.setUserAttr(user, attr);
|
|
5483
|
+
util/* default.setUserAttr */.Z.setUserAttr(user, attr);
|
|
5394
5484
|
});
|
|
5395
|
-
if (is_lead) util/* default */.Z.setUserAttr(user, {
|
|
5485
|
+
if (is_lead) util/* default.setUserAttr */.Z.setUserAttr(user, {
|
|
5396
5486
|
key: 'lead_source',
|
|
5397
5487
|
text: 'widget'
|
|
5398
5488
|
});
|
|
5399
|
-
let firstmsg = util/* default */.Z.get(data, 'question.value');
|
|
5400
|
-
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', '');
|
|
5401
5491
|
if (this.props.cid) {
|
|
5402
5492
|
this.props.store.setUser(user);
|
|
5403
5493
|
this.setState({
|
|
@@ -5409,7 +5499,7 @@ class Widget extends common/* Com */.up {
|
|
|
5409
5499
|
format: 'plaintext',
|
|
5410
5500
|
fields: [{
|
|
5411
5501
|
key: 'to_agent_group',
|
|
5412
|
-
value: util/* default */.Z.stringify(groupid)
|
|
5502
|
+
value: util/* default.stringify */.Z.stringify(groupid)
|
|
5413
5503
|
}],
|
|
5414
5504
|
attachments: this.state.quickReplyMessage.attachments
|
|
5415
5505
|
}
|
|
@@ -5469,7 +5559,7 @@ class Widget extends common/* Com */.up {
|
|
|
5469
5559
|
formData['question'] = {
|
|
5470
5560
|
key: 'question',
|
|
5471
5561
|
is_required: true,
|
|
5472
|
-
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,
|
|
5473
5563
|
type: 'text',
|
|
5474
5564
|
value: this.state.quickReplyMessage.text
|
|
5475
5565
|
};
|
|
@@ -5480,8 +5570,8 @@ class Widget extends common/* Com */.up {
|
|
|
5480
5570
|
}
|
|
5481
5571
|
onBooleanChange(key, e) {
|
|
5482
5572
|
this.wasFormInputed = true;
|
|
5483
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5484
|
-
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);
|
|
5485
5575
|
if (!field) return;
|
|
5486
5576
|
field.value = e.target.checked;
|
|
5487
5577
|
this.setState({
|
|
@@ -5490,8 +5580,8 @@ class Widget extends common/* Com */.up {
|
|
|
5490
5580
|
}
|
|
5491
5581
|
onInputChange(key, val) {
|
|
5492
5582
|
this.wasFormInputed = true;
|
|
5493
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5494
|
-
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);
|
|
5495
5585
|
if (!field) return;
|
|
5496
5586
|
field.value = val;
|
|
5497
5587
|
this.setState({
|
|
@@ -5500,8 +5590,8 @@ class Widget extends common/* Com */.up {
|
|
|
5500
5590
|
}
|
|
5501
5591
|
onListAddItem(key, val) {
|
|
5502
5592
|
this.wasFormInputed = true;
|
|
5503
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5504
|
-
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);
|
|
5505
5595
|
if (!field) return;
|
|
5506
5596
|
field.value = field.value || [];
|
|
5507
5597
|
field.value.push(val);
|
|
@@ -5511,8 +5601,8 @@ class Widget extends common/* Com */.up {
|
|
|
5511
5601
|
}
|
|
5512
5602
|
onListRemoveItem(key, index) {
|
|
5513
5603
|
this.wasFormInputed = true;
|
|
5514
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5515
|
-
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);
|
|
5516
5606
|
if (!field) return;
|
|
5517
5607
|
field.value = field.value || [];
|
|
5518
5608
|
field.value.splice(index, 1);
|
|
@@ -5521,11 +5611,11 @@ class Widget extends common/* Com */.up {
|
|
|
5521
5611
|
});
|
|
5522
5612
|
}
|
|
5523
5613
|
renderCheckboxField(field) {
|
|
5524
|
-
let items = util/* default */.Z.get(field, 'def.items', []);
|
|
5614
|
+
let items = util/* default.get */.Z.get(field, 'def.items', []);
|
|
5525
5615
|
let values = [];
|
|
5526
5616
|
let value = field.value || '';
|
|
5527
5617
|
if (value) values = value.split(',');
|
|
5528
|
-
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 => {
|
|
5529
5619
|
return (0,preact_module.h)("div", {
|
|
5530
5620
|
class: "checkbox"
|
|
5531
5621
|
}, (0,preact_module.h)("input", {
|
|
@@ -5543,14 +5633,14 @@ class Widget extends common/* Com */.up {
|
|
|
5543
5633
|
}
|
|
5544
5634
|
toggleCheckboxField(key, v) {
|
|
5545
5635
|
this.wasFormInputed = true;
|
|
5546
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5547
|
-
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);
|
|
5548
5638
|
if (!field) return;
|
|
5549
5639
|
let value = field.value || '';
|
|
5550
5640
|
let values = [];
|
|
5551
5641
|
if (value) values = value.split(',');
|
|
5552
5642
|
if (values.includes(v)) {
|
|
5553
|
-
values = util/* default */.Z.filter(values, value => value !== v);
|
|
5643
|
+
values = util/* default.filter */.Z.filter(values, value => value !== v);
|
|
5554
5644
|
} else {
|
|
5555
5645
|
values.push(v);
|
|
5556
5646
|
}
|
|
@@ -5560,9 +5650,9 @@ class Widget extends common/* Com */.up {
|
|
|
5560
5650
|
});
|
|
5561
5651
|
}
|
|
5562
5652
|
renderRadioField(field) {
|
|
5563
|
-
let items = util/* default */.Z.get(field, 'def.items', []);
|
|
5653
|
+
let items = util/* default.get */.Z.get(field, 'def.items', []);
|
|
5564
5654
|
let value = field.value || '';
|
|
5565
|
-
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 => {
|
|
5566
5656
|
return (0,preact_module.h)("div", {
|
|
5567
5657
|
class: "radio"
|
|
5568
5658
|
}, (0,preact_module.h)("input", {
|
|
@@ -5581,8 +5671,8 @@ class Widget extends common/* Com */.up {
|
|
|
5581
5671
|
}
|
|
5582
5672
|
toggleRadioField(key, v) {
|
|
5583
5673
|
this.wasFormInputed = true;
|
|
5584
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5585
|
-
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);
|
|
5586
5676
|
if (!field) return;
|
|
5587
5677
|
field.value = v;
|
|
5588
5678
|
this.setState({
|
|
@@ -5591,8 +5681,8 @@ class Widget extends common/* Com */.up {
|
|
|
5591
5681
|
}
|
|
5592
5682
|
selectDropdownField(key, v) {
|
|
5593
5683
|
this.wasFormInputed = true;
|
|
5594
|
-
let formData = util/* default */.Z.cloneDeep(this.state.formData);
|
|
5595
|
-
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);
|
|
5596
5686
|
if (!field) return;
|
|
5597
5687
|
field.value = v;
|
|
5598
5688
|
this.setState({
|
|
@@ -5600,20 +5690,20 @@ class Widget extends common/* Com */.up {
|
|
|
5600
5690
|
});
|
|
5601
5691
|
}
|
|
5602
5692
|
renderDropdownField(field) {
|
|
5603
|
-
let items = util/* default */.Z.get(field, 'def.items', []);
|
|
5693
|
+
let items = util/* default.get */.Z.get(field, 'def.items', []);
|
|
5604
5694
|
return (0,preact_module.h)("select", {
|
|
5605
5695
|
class: "form-control",
|
|
5606
5696
|
value: field.value,
|
|
5607
5697
|
onChange: e => this.selectDropdownField(field.key, e.target.value)
|
|
5608
5698
|
}, (0,preact_module.h)("option", {
|
|
5609
5699
|
value: ""
|
|
5610
|
-
}, "-- ", 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", {
|
|
5611
5701
|
value: item.value
|
|
5612
5702
|
}, this.props.t.i18n(item.i18n_label) || item.label || item.value)));
|
|
5613
5703
|
}
|
|
5614
5704
|
renderFields() {
|
|
5615
|
-
if (util/* default */.Z.size(this.state.formData) === 0) return null;
|
|
5616
|
-
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) => {
|
|
5617
5707
|
if (this.state.quickReplyMessage.text && key === 'question') return null;
|
|
5618
5708
|
let $field = null;
|
|
5619
5709
|
var errclass = field.error ? 'input--error' : '';
|
|
@@ -5629,13 +5719,13 @@ class Widget extends common/* Com */.up {
|
|
|
5629
5719
|
row: "4",
|
|
5630
5720
|
class: "form-control"
|
|
5631
5721
|
});
|
|
5632
|
-
} else if (util/* default */.Z.get(field, 'def.select') === 'checkbox') {
|
|
5722
|
+
} else if (util/* default.get */.Z.get(field, 'def.select') === 'checkbox') {
|
|
5633
5723
|
$field = this.renderCheckboxField(field);
|
|
5634
|
-
} else if (util/* default */.Z.get(field, 'def.select') === 'radio') {
|
|
5724
|
+
} else if (util/* default.get */.Z.get(field, 'def.select') === 'radio') {
|
|
5635
5725
|
$field = this.renderRadioField(field);
|
|
5636
|
-
} else if (util/* default */.Z.get(field, 'def.select') === 'dropdown') {
|
|
5726
|
+
} else if (util/* default.get */.Z.get(field, 'def.select') === 'dropdown') {
|
|
5637
5727
|
$field = this.renderDropdownField(field);
|
|
5638
|
-
} else if (util/* default */.Z.get(field, 'def.multiple_line')) {
|
|
5728
|
+
} else if (util/* default.get */.Z.get(field, 'def.multiple_line')) {
|
|
5639
5729
|
$field = (0,preact_module.h)("textarea", {
|
|
5640
5730
|
class: "form-control",
|
|
5641
5731
|
ref: ref => {
|
|
@@ -5682,7 +5772,7 @@ class Widget extends common/* Com */.up {
|
|
|
5682
5772
|
class: "checkbox--check"
|
|
5683
5773
|
}, (0,preact_module.h)("div", null)));
|
|
5684
5774
|
} else if (field.type === 'group') {
|
|
5685
|
-
$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", {
|
|
5686
5776
|
class: "radio"
|
|
5687
5777
|
}, (0,preact_module.h)("input", {
|
|
5688
5778
|
type: "radio",
|
|
@@ -5699,8 +5789,8 @@ class Widget extends common/* Com */.up {
|
|
|
5699
5789
|
}))));
|
|
5700
5790
|
} else if (field.type === 'list') {
|
|
5701
5791
|
let selected = this.state.formData[key].value || [];
|
|
5702
|
-
let items = util/* default */.Z.filter(util/* default */.Z.get(field, 'list', []), item => {
|
|
5703
|
-
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);
|
|
5704
5794
|
});
|
|
5705
5795
|
$field = (0,preact_module.h)(ListField, {
|
|
5706
5796
|
selected: selected,
|
|
@@ -5748,8 +5838,8 @@ class Widget extends common/* Com */.up {
|
|
|
5748
5838
|
size: "16",
|
|
5749
5839
|
mode: "white"
|
|
5750
5840
|
}));
|
|
5751
|
-
let title = this.props.t.i18n(util/* default */.Z.get(form, `i18n_title`, {}));
|
|
5752
|
-
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'));
|
|
5753
5843
|
title = title.replace('↵', '');
|
|
5754
5844
|
return (0,preact_module.h)("div", {
|
|
5755
5845
|
class: "widget-body"
|
|
@@ -5780,15 +5870,15 @@ class Widget extends common/* Com */.up {
|
|
|
5780
5870
|
}
|
|
5781
5871
|
renderConvoList() {
|
|
5782
5872
|
let convoM = this.props.store.matchConvo('*');
|
|
5783
|
-
var convos = util/* default */.Z.map(convoM, convo => this.props.store.matchConvo(convo.id));
|
|
5784
|
-
convos = util/* default */.Z.filter(convos, convo => !!convo);
|
|
5785
|
-
convos = util/* default */.Z.orderByF(convos, convo => util/* default */.Z.get(convo, 'last_message_sent.created', convo.actived), 'desc');
|
|
5786
|
-
var $convos = util/* default */.Z.map(convos, convo => {
|
|
5787
|
-
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 => {
|
|
5788
5878
|
return (m.type === 'agent' || m.type === 'bot') && m.membership === 'active';
|
|
5789
5879
|
});
|
|
5790
|
-
let agentids = util/* default */.Z.map(ags, m => m.id);
|
|
5791
|
-
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];
|
|
5792
5882
|
return (0,preact_module.h)("div", {
|
|
5793
5883
|
class: "convo-list--item",
|
|
5794
5884
|
onClick: () => this.goToConvo(convo.id),
|
|
@@ -5805,7 +5895,7 @@ class Widget extends common/* Com */.up {
|
|
|
5805
5895
|
let $body = (0,preact_module.h)("div", {
|
|
5806
5896
|
class: "convo-list--list"
|
|
5807
5897
|
}, $convos);
|
|
5808
|
-
if (util/* default */.Z.size(convos) === 0) {
|
|
5898
|
+
if (util/* default.size */.Z.size(convos) === 0) {
|
|
5809
5899
|
$body = (0,preact_module.h)("div", {
|
|
5810
5900
|
class: "convo-list--list"
|
|
5811
5901
|
}, (0,preact_module.h)("div", {
|
|
@@ -5841,19 +5931,19 @@ class Widget extends common/* Com */.up {
|
|
|
5841
5931
|
if (this.props.store.isPreview) return;
|
|
5842
5932
|
var $input = this.msgInput.current;
|
|
5843
5933
|
if (!$input) return;
|
|
5844
|
-
util/* default */.Z.setTimeout(() => $input && $input.blur());
|
|
5845
|
-
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);
|
|
5846
5936
|
}
|
|
5847
5937
|
focusInput() {
|
|
5848
5938
|
if (this.props.store.isPreview) return;
|
|
5849
5939
|
if (this.shouldShowForm()) {
|
|
5850
5940
|
let firstemptykey = '';
|
|
5851
|
-
util/* default */.Z.map(this.state.formData, (field, key) => {
|
|
5941
|
+
util/* default.map */.Z.map(this.state.formData, (field, key) => {
|
|
5852
5942
|
if (field.type !== 'text') return;
|
|
5853
5943
|
if (firstemptykey) return;
|
|
5854
5944
|
if (!field.value) firstemptykey = key;
|
|
5855
5945
|
});
|
|
5856
|
-
util/* default */.Z.setTimeout(() => {
|
|
5946
|
+
util/* default.setTimeout */.Z.setTimeout(() => {
|
|
5857
5947
|
var $input = this['form_' + Widget_encode(firstemptykey)];
|
|
5858
5948
|
if (!$input) return;
|
|
5859
5949
|
$input.focus();
|
|
@@ -5862,8 +5952,8 @@ class Widget extends common/* Com */.up {
|
|
|
5862
5952
|
}
|
|
5863
5953
|
var $input = this.msgInput.current;
|
|
5864
5954
|
if (!$input) return;
|
|
5865
|
-
util/* default */.Z.setTimeout(() => $input.focus());
|
|
5866
|
-
util/* default */.Z.setTimeout(() => $input.focus(), 300);
|
|
5955
|
+
util/* default.setTimeout */.Z.setTimeout(() => $input.focus());
|
|
5956
|
+
util/* default.setTimeout */.Z.setTimeout(() => $input.focus(), 300);
|
|
5867
5957
|
}
|
|
5868
5958
|
onRate(rating) {
|
|
5869
5959
|
if (!this.props.cid) return;
|
|
@@ -5877,7 +5967,7 @@ class Widget extends common/* Com */.up {
|
|
|
5877
5967
|
fillQuickReplyToQuestion(message) {
|
|
5878
5968
|
let formData = this.state.formData;
|
|
5879
5969
|
if (formData) {
|
|
5880
|
-
util/* default */.Z.set(formData, 'question.value', message.text);
|
|
5970
|
+
util/* default.set */.Z.set(formData, 'question.value', message.text);
|
|
5881
5971
|
}
|
|
5882
5972
|
this.setState({
|
|
5883
5973
|
formData,
|
|
@@ -5970,8 +6060,8 @@ class Widget extends common/* Com */.up {
|
|
|
5970
6060
|
let form;
|
|
5971
6061
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
5972
6062
|
let acc = this.props.store.matchAccount() || {};
|
|
5973
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
5974
|
-
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');
|
|
5975
6065
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) form = accountSetting.offline_form;
|
|
5976
6066
|
if (!form) return false;
|
|
5977
6067
|
let formData = this.fillForm(form);
|
|
@@ -5979,34 +6069,34 @@ class Widget extends common/* Com */.up {
|
|
|
5979
6069
|
if (convo.state === 'ended') return true;
|
|
5980
6070
|
if (convo.state && convo.state !== 'pending') delete formData.group;
|
|
5981
6071
|
let isAllFiledEmpty = true;
|
|
5982
|
-
util/* default */.Z.each(formData, field => {
|
|
6072
|
+
util/* default.each */.Z.each(formData, field => {
|
|
5983
6073
|
if (field.value) isAllFiledEmpty = false;
|
|
5984
6074
|
});
|
|
5985
6075
|
if (isAllFiledEmpty && !this.userHasSent(this.props.cid)) return true;
|
|
5986
|
-
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 === ''));
|
|
5987
6077
|
}
|
|
5988
6078
|
renderConvoSummary(convo) {
|
|
5989
6079
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
5990
6080
|
let agentM = this.props.store.matchAgent('*');
|
|
5991
|
-
let ags = util/* default */.Z.filter(convo.members, m => {
|
|
6081
|
+
let ags = util/* default.filter */.Z.filter(convo.members, m => {
|
|
5992
6082
|
return (m.type === 'agent' || m.type === 'bot') && m.membership === 'active';
|
|
5993
6083
|
});
|
|
5994
|
-
let agentids = util/* default */.Z.map(ags, m => m.id);
|
|
5995
|
-
agentids = agentids || util/* default */.Z.agentsOfConvo(convo)[0];
|
|
5996
|
-
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] || {
|
|
5997
6087
|
avatar_url: Widget_defaultAvatar,
|
|
5998
6088
|
fullname: 'Offline Agent'
|
|
5999
6089
|
});
|
|
6000
|
-
var name = util/* default */.Z.each(agents, ag => ag.fullname).join(', ');
|
|
6090
|
+
var name = util/* default.each */.Z.each(agents, ag => ag.fullname).join(', ');
|
|
6001
6091
|
if (accountSetting.hide_agent_profile || !name) name = this.props.store.matchAccount().name;
|
|
6002
6092
|
if (!name) name = this.props.t('agent');
|
|
6003
6093
|
var $you = null;
|
|
6004
6094
|
if (convo.lastSenderType === 'user') {
|
|
6005
6095
|
$you = (0,preact_module.h)("span", null, this.props.t('you'), ":");
|
|
6006
6096
|
}
|
|
6007
|
-
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);
|
|
6008
6098
|
var lastmsg = this.renderMessagePreview(convo.last_message_sent);
|
|
6009
|
-
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);
|
|
6010
6100
|
let $unread = seen ? null : (0,preact_module.h)("div", {
|
|
6011
6101
|
class: "convo-list--item-unread"
|
|
6012
6102
|
});
|
|
@@ -6039,23 +6129,23 @@ class Widget extends common/* Com */.up {
|
|
|
6039
6129
|
}
|
|
6040
6130
|
agentsOfConvo(convo) {
|
|
6041
6131
|
let agentM = this.props.store.matchAgent('*');
|
|
6042
|
-
var agentids = util/* default */.Z.agentsOfConvo(convo, true);
|
|
6043
|
-
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] || {
|
|
6044
6134
|
avatar_url: Widget_defaultAvatar,
|
|
6045
6135
|
fullname: 'Offline Agent'
|
|
6046
6136
|
});
|
|
6047
6137
|
}
|
|
6048
6138
|
renderMessagePreview(ev) {
|
|
6049
6139
|
let defmsg = this.props.t('sent_you_a_message');
|
|
6050
|
-
let message = util/* default */.Z.get(ev, 'data.message.text');
|
|
6051
|
-
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');
|
|
6052
6142
|
if (format !== 'plaintext') message = defmsg;
|
|
6053
|
-
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;
|
|
6054
6144
|
if (!message) return null;
|
|
6055
|
-
let byType = util/* default */.Z.get(ev, 'by.type');
|
|
6145
|
+
let byType = util/* default.get */.Z.get(ev, 'by.type');
|
|
6056
6146
|
return (0,preact_module.h)("div", {
|
|
6057
6147
|
class: "convo-list--convo-last-mes"
|
|
6058
|
-
}, util/* default */.Z.map(util/* default */.Z.extractText(message), tag => {
|
|
6148
|
+
}, util/* default.map */.Z.map(util/* default.extractText */.Z.extractText(message), tag => {
|
|
6059
6149
|
if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
|
|
6060
6150
|
emojiCode: tag.text,
|
|
6061
6151
|
byType: byType
|
|
@@ -6067,19 +6157,19 @@ class Widget extends common/* Com */.up {
|
|
|
6067
6157
|
var convo = this.props.store.matchConvo(cid) || {};
|
|
6068
6158
|
let user = this.props.store.matchUser();
|
|
6069
6159
|
if (this.userSent[cid]) return true;
|
|
6070
|
-
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));
|
|
6071
6161
|
return joined;
|
|
6072
6162
|
}
|
|
6073
6163
|
hasSentMessage(cid) {
|
|
6074
6164
|
let convo = this.props.store.matchConvo(cid) || {};
|
|
6075
|
-
let joined = util/* default */.Z.find(convo.members, mem => {
|
|
6165
|
+
let joined = util/* default.find */.Z.find(convo.members, mem => {
|
|
6076
6166
|
if (mem.type === 'bot') return true;
|
|
6077
6167
|
return mem.last_sent;
|
|
6078
6168
|
});
|
|
6079
6169
|
return joined;
|
|
6080
6170
|
}
|
|
6081
6171
|
isOffline(acc, accSetting) {
|
|
6082
|
-
let enableWhen = util/* default */.Z.get(accSetting, 'offline_form.enable_when');
|
|
6172
|
+
let enableWhen = util/* default.get */.Z.get(accSetting, 'offline_form.enable_when');
|
|
6083
6173
|
let isonline = true;
|
|
6084
6174
|
if (enableWhen === 'all_agents_offline') isonline = acc.is_online;
|
|
6085
6175
|
if (enableWhen === 'out_of_bussiness_hour') isonline = acc.is_in_business_hour;
|
|
@@ -6089,8 +6179,8 @@ class Widget extends common/* Com */.up {
|
|
|
6089
6179
|
let form;
|
|
6090
6180
|
let accountSetting = this.props.plugin.chatbox || {};
|
|
6091
6181
|
let acc = this.props.store.matchAccount() || {};
|
|
6092
|
-
if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
|
|
6093
|
-
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');
|
|
6094
6184
|
if (this.isOffline(acc, accountSetting) && offlineEnabled) {
|
|
6095
6185
|
form = accountSetting.offline_form;
|
|
6096
6186
|
}
|
|
@@ -6100,23 +6190,23 @@ class Widget extends common/* Com */.up {
|
|
|
6100
6190
|
if (this.props.view === 'prechat_form') {
|
|
6101
6191
|
form = accountSetting.prechat_form;
|
|
6102
6192
|
}
|
|
6103
|
-
if (util/* default */.Z.size(form) === 0) return [];
|
|
6193
|
+
if (util/* default.size */.Z.size(form) === 0) return [];
|
|
6104
6194
|
var data = {};
|
|
6105
|
-
util/* default */.Z.each(form.fields, f => {
|
|
6195
|
+
util/* default.each */.Z.each(form.fields, f => {
|
|
6106
6196
|
var newf = Object.assign({}, f);
|
|
6107
6197
|
if (f.type === 'list') {
|
|
6108
6198
|
newf.list = f.list;
|
|
6109
6199
|
}
|
|
6110
|
-
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;
|
|
6111
6201
|
data['attr:' + f.key] = newf;
|
|
6112
6202
|
});
|
|
6113
|
-
if (form.group_required && util/* default */.Z.size(form.groups) > 0) {
|
|
6203
|
+
if (form.group_required && util/* default.size */.Z.size(form.groups) > 0) {
|
|
6114
6204
|
data['group'] = {
|
|
6115
6205
|
key: 'group',
|
|
6116
6206
|
is_required: !!form.group_required,
|
|
6117
|
-
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,
|
|
6118
6208
|
type: 'group',
|
|
6119
|
-
list: util/* default */.Z.map(form.groups, group => ({
|
|
6209
|
+
list: util/* default.map */.Z.map(form.groups, group => ({
|
|
6120
6210
|
value: group.id,
|
|
6121
6211
|
label: group.name
|
|
6122
6212
|
}))
|
|
@@ -6125,7 +6215,7 @@ class Widget extends common/* Com */.up {
|
|
|
6125
6215
|
data['question'] = {
|
|
6126
6216
|
key: 'question',
|
|
6127
6217
|
is_required: true,
|
|
6128
|
-
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,
|
|
6129
6219
|
type: 'text'
|
|
6130
6220
|
};
|
|
6131
6221
|
if (this.isFormChanged(this.state.formData, data)) {
|
|
@@ -6139,44 +6229,38 @@ class Widget extends common/* Com */.up {
|
|
|
6139
6229
|
let newKeys = Object.keys(newForm);
|
|
6140
6230
|
if (oldKeys.length !== newKeys.length) return true;
|
|
6141
6231
|
for (let i = 0; i < oldKeys.length; i++) {
|
|
6142
|
-
if (util/* default */.Z.get(oldForm, `${oldKeys[i]}.label`) !== util/* default */.Z.get(newForm, `${newKeys[i]}.label`)) return true;
|
|
6143
|
-
if (util/* default */.Z.get(oldForm, `${oldKeys[i]}.is_required`) !== util/* default */.Z.get(newForm, `${newKeys[i]}.is_required`)) return true;
|
|
6144
|
-
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`))) {
|
|
6145
6235
|
return true;
|
|
6146
6236
|
}
|
|
6147
6237
|
}
|
|
6148
6238
|
return false;
|
|
6149
6239
|
}
|
|
6150
6240
|
fillForm(form) {
|
|
6151
|
-
if (util/* default */.Z.size(form) === 0) return [];
|
|
6241
|
+
if (util/* default.size */.Z.size(form) === 0) return [];
|
|
6152
6242
|
var data = {};
|
|
6153
6243
|
let user = this.props.store.matchUser();
|
|
6154
|
-
util/* default */.Z.each(form.fields, f => {
|
|
6244
|
+
util/* default.each */.Z.each(form.fields, f => {
|
|
6155
6245
|
var newf = Object.assign({}, f);
|
|
6156
|
-
newf.value = util/* default */.Z.getUserAttr(user, f.key, f.type);
|
|
6157
|
-
if (newf.key == 'emails' && !newf.value) {
|
|
6158
|
-
newf.value = util/* default */.Z.getUserAttr(user, 'related_email', 'text');
|
|
6159
|
-
}
|
|
6160
|
-
if (newf.key == 'phones' && !newf.value) {
|
|
6161
|
-
newf.value = util/* default */.Z.getUserAttr(user, 'related_phone', 'text');
|
|
6162
|
-
}
|
|
6246
|
+
newf.value = util/* default.getUserAttr */.Z.getUserAttr(user, f.key, f.type);
|
|
6163
6247
|
if (f.type === 'boolean' && !newf.value) newf.value = false;
|
|
6164
6248
|
if (f.type === 'datetime' && newf.value) {
|
|
6165
|
-
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');
|
|
6166
6250
|
}
|
|
6167
6251
|
if (f.type === 'list') {
|
|
6168
6252
|
newf.list = f.list;
|
|
6169
6253
|
}
|
|
6170
|
-
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;
|
|
6171
6255
|
data['attr:' + f.key] = newf;
|
|
6172
6256
|
});
|
|
6173
|
-
if (form.group_required && util/* default */.Z.size(form.groups) > 0) {
|
|
6257
|
+
if (form.group_required && util/* default.size */.Z.size(form.groups) > 0) {
|
|
6174
6258
|
data['group'] = {
|
|
6175
6259
|
key: 'group',
|
|
6176
6260
|
is_required: !!form.group_required,
|
|
6177
|
-
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,
|
|
6178
6262
|
type: 'group',
|
|
6179
|
-
list: util/* default */.Z.map(form.groups, group => ({
|
|
6263
|
+
list: util/* default.map */.Z.map(form.groups, group => ({
|
|
6180
6264
|
value: group.id,
|
|
6181
6265
|
label: group.name
|
|
6182
6266
|
}))
|
|
@@ -6208,14 +6292,14 @@ class Main extends common/* Com */.up {
|
|
|
6208
6292
|
}
|
|
6209
6293
|
async refreshCSS() {
|
|
6210
6294
|
let plugins = this.props.store.matchPlugin();
|
|
6211
|
-
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);
|
|
6212
6296
|
if (!found) return;
|
|
6213
6297
|
let css = (await main_promiseMainCSS).default.default.toString();
|
|
6214
|
-
var outcss = util/* default */.Z.replaceCssVariable(css, found.chatbox);
|
|
6215
|
-
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);
|
|
6216
6300
|
}
|
|
6217
6301
|
componentWillUnmount() {
|
|
6218
|
-
util/* default */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
|
|
6302
|
+
util/* default.setCss */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
|
|
6219
6303
|
}
|
|
6220
6304
|
async componentDidMount() {
|
|
6221
6305
|
this.$cssStyleDiv = document.getElementById('subiz-style-for-' + this.props.plugin.id);
|
|
@@ -6251,7 +6335,7 @@ class Main extends common/* Com */.up {
|
|
|
6251
6335
|
}
|
|
6252
6336
|
render() {
|
|
6253
6337
|
if (!this.state.cssready) return null;
|
|
6254
|
-
if (util/* default */.Z.isUserBanned(this.props.store.matchUser())) return null;
|
|
6338
|
+
if (util/* default.isUserBanned */.Z.isUserBanned(this.props.store.matchUser())) return null;
|
|
6255
6339
|
if (!this.props.t) return null;
|
|
6256
6340
|
return (0,preact_module.h)("div", {
|
|
6257
6341
|
class: this.props.store.isMobile() ? 'mobile' : 'desktop'
|
|
@@ -6285,10 +6369,10 @@ class Main extends common/* Com */.up {
|
|
|
6285
6369
|
if ($widget.wasFormInputed) return;
|
|
6286
6370
|
if (ev.type !== 'message_sent') return;
|
|
6287
6371
|
if (!this.state.isShowWidget) return;
|
|
6288
|
-
let byType = util/* default */.Z.get(ev, 'by.type');
|
|
6289
|
-
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') || '';
|
|
6290
6374
|
if (!byid.startsWith('bb') || byType !== 'agent') return;
|
|
6291
|
-
let cid = util/* default */.Z.get(ev, 'data.message.conversation_id');
|
|
6375
|
+
let cid = util/* default.get */.Z.get(ev, 'data.message.conversation_id');
|
|
6292
6376
|
if (!cid) return;
|
|
6293
6377
|
this.showWidget({
|
|
6294
6378
|
cid,
|
|
@@ -6300,7 +6384,7 @@ class Main extends common/* Com */.up {
|
|
|
6300
6384
|
if (this.props.plugin._no_auto_expand) return;
|
|
6301
6385
|
if (this.props.store.matchHasManuallyClosed()) return;
|
|
6302
6386
|
let convoM = this.props.store.matchConvo('*');
|
|
6303
|
-
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));
|
|
6304
6388
|
if (!redconvo || !redconvo.id) return;
|
|
6305
6389
|
if (!this.state.isShowWidget) this.showWidget({
|
|
6306
6390
|
view: 'chat',
|
|
@@ -6318,14 +6402,14 @@ class Main extends common/* Com */.up {
|
|
|
6318
6402
|
this.refButton.current && this.refButton.current.ClearPreview();
|
|
6319
6403
|
if (!p.view) {
|
|
6320
6404
|
let lastview = this.props.store.matchLastview() || {};
|
|
6321
|
-
p.view = util/* default */.Z.get(lastview, 'view');
|
|
6322
|
-
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');
|
|
6323
6407
|
}
|
|
6324
6408
|
p = p || {};
|
|
6325
6409
|
if (!p.view && !p.cid) {
|
|
6326
6410
|
let convoM = this.props.store.matchConvo('*');
|
|
6327
|
-
let redconvo = util/* default */.Z.find(convoM, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
6328
|
-
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'));
|
|
6329
6413
|
p.view = 'chat';
|
|
6330
6414
|
}
|
|
6331
6415
|
if (this.props.store.isMobile()) modifyViewport();
|