@subiz/widget-v4 4.0.91 → 4.0.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiled_src/bot.js +0 -11
- package/compiled_src/call/call.js +0 -61
- package/compiled_src/call/css.js +0 -2
- package/compiled_src/chatbox/AgentsAvatar.js +0 -16
- package/compiled_src/chatbox/AudioAttachments.js +0 -14
- package/compiled_src/chatbox/ButtonAttachments.js +1 -14
- package/compiled_src/chatbox/Buttons.js +0 -13
- package/compiled_src/chatbox/ChatButton.js +1 -78
- package/compiled_src/chatbox/DropdownSelect.js +3 -44
- package/compiled_src/chatbox/Emoji.js +0 -7
- package/compiled_src/chatbox/Event.js +0 -59
- package/compiled_src/chatbox/Events.js +4 -44
- package/compiled_src/chatbox/FileAttachments.js +0 -14
- package/compiled_src/chatbox/FormAttachment.js +1 -52
- package/compiled_src/chatbox/FormAttachments.js +0 -14
- package/compiled_src/chatbox/FormSubmitAttachments.js +0 -11
- package/compiled_src/chatbox/GenericTemplateAttachments.js +1 -20
- package/compiled_src/chatbox/Header.js +1 -46
- package/compiled_src/chatbox/ImageAttachments.js +0 -16
- package/compiled_src/chatbox/InfoMessage.js +0 -13
- package/compiled_src/chatbox/ListField.js +0 -16
- package/compiled_src/chatbox/MessageInput.js +1 -47
- package/compiled_src/chatbox/Order.js +0 -35
- package/compiled_src/chatbox/OrderAttachments.js +1 -23
- package/compiled_src/chatbox/PoweredBy.js +0 -7
- package/compiled_src/chatbox/ProductAttachments.js +0 -19
- package/compiled_src/chatbox/QuickReplies.js +0 -18
- package/compiled_src/chatbox/Rating.js +0 -37
- package/compiled_src/chatbox/ShadowDomRoot.js +0 -9
- package/compiled_src/chatbox/TextMessage.js +0 -64
- package/compiled_src/chatbox/Typing.js +0 -15
- package/compiled_src/chatbox/VideoAttachments.js +0 -14
- package/compiled_src/chatbox/Widget.js +6 -167
- package/compiled_src/chatbox/css.js +0 -2
- package/compiled_src/chatbox/dragscroll.js +1 -5
- package/compiled_src/chatbox/main.js +3 -43
- package/compiled_src/chatbox/releaseAnimation.js +0 -11
- package/compiled_src/chatbox/spinner.js +0 -10
- package/compiled_src/chatbox/time.js +0 -22
- package/compiled_src/chatbox/touchscroll.js +0 -7
- package/compiled_src/common.js +0 -22
- package/compiled_src/contact/contact.js +2 -52
- package/compiled_src/contact/css.js +0 -2
- package/compiled_src/lib.js +19 -46
- package/compiled_src/notif/css.js +0 -2
- package/compiled_src/notif/notif.js +0 -63
- package/compiled_src/order/address_picker.js +4 -38
- package/compiled_src/order/icon.js +0 -16
- package/compiled_src/order/index.js +1 -34
- package/compiled_src/order/order.js +2 -156
- package/compiled_src/plugin.js +1 -77
- package/compiled_src/popup/countdown.js +2 -33
- package/compiled_src/popup/css.js +0 -2
- package/compiled_src/popup/popup.js +2 -165
- package/compiled_src/popup/tick.core.commonjs.js +72 -222
- package/compiled_src/popup/tick.view.flip.commonjs.js +23 -31
- package/compiled_src/store/api.js +103 -66
- package/compiled_src/store/api_fake.js +3 -39
- package/compiled_src/store/realtime_fake.js +0 -6
- package/compiled_src/store/store.js +46 -257
- package/compiled_src/util/campaign.js +0 -13
- package/compiled_src/util/common.js +15 -190
- package/compiled_src/util/common.test.js +0 -4
- package/compiled_src/util/extractor.js +1 -21
- package/compiled_src/util/extractor.test.js +0 -3
- package/compiled_src/util/gate.js +0 -7
- package/compiled_src/util/gate.test.js +1 -2
- package/compiled_src/util/index.js +1 -7
- package/compiled_src/util/mutex.js +31 -0
- package/compiled_src/util/op.js +1 -14
- package/compiled_src/util/pubsub.js +0 -6
- package/compiled_src/util/pubsub.test.js +0 -2
- package/package.json +12 -12
- package/src/chatbox/main.js +3 -3
- package/src/lib.js +24 -2
- package/src/store/api.js +111 -22
- package/src/store/api_fake.js +5 -6
- package/src/store/store.js +38 -14
- package/src/util/common.js +0 -4
- package/src/util/index.js +1 -0
- package/src/util/mutex.js +27 -0
- package/dist/0b82fa7e5c3b07b40a44.png +0 -1
- package/dist/0f4af006e38ee8b93633.png +0 -1
- package/dist/132.js +0 -6777
- package/dist/178.js +0 -573
- package/dist/17f00e48d38.132.js +0 -1
- package/dist/17f00e48d38.178.js +0 -1
- package/dist/17f00e48d38.213.js +0 -1
- package/dist/17f00e48d38.335.js +0 -1
- package/dist/17f00e48d38.362.js +0 -1
- package/dist/17f00e48d38.441.js +0 -1
- package/dist/17f00e48d38.605.js +0 -1
- package/dist/17f00e48d38.678.js +0 -1
- package/dist/17f00e48d38.782.js +0 -1
- package/dist/17f00e48d38.app.js +0 -1
- package/dist/17f00e48d38.index.html +0 -22
- package/dist/17f00e48d38.library.html +0 -22
- package/dist/17f00e48d38.library.js +0 -1
- package/dist/17f00e48d38.preview.html +0 -759
- package/dist/17f00e48d38.preview.js +0 -1
- package/dist/17f00e48d38.screenshoot.js +0 -1
- package/dist/1ea1c6cd21d25176810c.png +0 -1
- package/dist/213.js +0 -3188
- package/dist/292d42404e1b03398f61.png +0 -1
- package/dist/312d376370831b7bea83.png +0 -1
- package/dist/313d1bfc1cf776d1aefe.png +0 -1
- package/dist/335.js +0 -411
- package/dist/362.js +0 -157
- package/dist/441.js +0 -2732
- package/dist/4aa58bb7a66bb44975aa.png +0 -1
- package/dist/56ce063bc6c81adb7322.png +0 -1
- package/dist/605.js +0 -328
- package/dist/678.js +0 -157
- package/dist/6a411166ef5cc79e0714.png +0 -1
- package/dist/6faf403782fefacc1649.png +0 -1
- package/dist/782.js +0 -204
- package/dist/79dca33c68fab79c067f.png +0 -1
- package/dist/82da1578fa84f9debaeb.png +0 -1
- package/dist/8b8e0f0824743974b282.png +0 -1
- package/dist/8d551390d81e39130a3c.png +0 -1
- package/dist/9fc61b9479877ebdb6c7.png +0 -1
- package/dist/HASH +0 -1
- package/dist/a165d31dcb3dc90f1057.png +0 -1
- package/dist/a98d4a5698812c4426b3.png +0 -1
- package/dist/assets/img/Facebook.64607ec.png +0 -0
- package/dist/assets/img/Zalo.6845707.png +0 -0
- package/dist/assets/img/award1a.1a58e10.png +0 -0
- package/dist/assets/img/award3a.3b74423.png +0 -0
- package/dist/assets/img/award4a.ed6ccd4.png +0 -0
- package/dist/assets/img/award5.39eb7ae.png +0 -0
- package/dist/assets/img/bubble_default.7d5e4ab.svg +0 -20
- package/dist/assets/img/caret.998eb8f.svg +0 -1
- package/dist/assets/img/convos_empty.2353007.svg +0 -72
- package/dist/assets/img/default.06e6ee0.jpg +0 -0
- package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
- package/dist/assets/img/done_gray.d7e8203.svg +0 -4
- package/dist/assets/img/done_green.b817fd4.svg +0 -4
- package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
- package/dist/assets/img/empty.29bed2d.svg +0 -23
- package/dist/assets/img/empty_1.0b98af0.svg +0 -11
- package/dist/assets/img/examplte_logo.f86535f.svg +0 -1
- package/dist/assets/img/external-link.90577cc.svg +0 -1
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +0 -17
- package/dist/assets/img/ghtk.326eac1.svg +0 -18
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +0 -1
- package/dist/assets/img/loader.37000a7.svg +0 -1
- package/dist/assets/img/loading_static.8f403ae.svg +0 -10
- package/dist/assets/img/main-service1.d536cc2.png +0 -0
- package/dist/assets/img/main-service2.9b99549.png +0 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +0 -5
- package/dist/assets/img/package_fade.763c001.svg +0 -1
- package/dist/assets/img/rating--average.1ea492c.svg +0 -12
- package/dist/assets/img/rating--great.e3d712e.svg +0 -16
- package/dist/assets/img/rating--poor.2938a25.svg +0 -12
- package/dist/assets/img/search.f9705ff.svg +0 -1
- package/dist/assets/img/send.6db52a9.svg +0 -3
- package/dist/assets/img/shop.f7dc7d8.svg +0 -1
- package/dist/assets/img/shop_faded.df7845a.svg +0 -1
- package/dist/assets/img/subiz-mono.877e9f5.svg +0 -3
- package/dist/assets/img/x.26fdfa3.svg +0 -5
- package/dist/c41606bf9d1b604e46d5.png +0 -1
- package/dist/ce1f7450ce6c1aacd330.png +0 -1
- package/dist/cf8c01e88f4770a6e3e5.png +0 -1
- package/dist/dfbcfeab1d5622a737e2.png +0 -1
- package/dist/e4893ed8c2f7b8329919.png +0 -1
- package/dist/ec2ab4eb4ef73d186186.png +0 -1
- package/dist/malicious-app.js +0 -13
- package/dist/screenshoot.html +0 -7
- package/dist/screenshoot.js +0 -5919
|
@@ -4,41 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _ImageAttachments = _interopRequireDefault(require("./ImageAttachments.js"));
|
|
9
|
-
|
|
10
8
|
var _AudioAttachments = _interopRequireDefault(require("./AudioAttachments.js"));
|
|
11
|
-
|
|
12
9
|
var _FileAttachments = _interopRequireDefault(require("./FileAttachments.js"));
|
|
13
|
-
|
|
14
10
|
var _ButtonAttachments = _interopRequireDefault(require("./ButtonAttachments.js"));
|
|
15
|
-
|
|
16
11
|
var _QuickReplies = _interopRequireDefault(require("./QuickReplies.js"));
|
|
17
|
-
|
|
18
12
|
var _FormAttachments = _interopRequireDefault(require("./FormAttachments.js"));
|
|
19
|
-
|
|
20
13
|
var _FormSubmitAttachments = _interopRequireDefault(require("./FormSubmitAttachments.js"));
|
|
21
|
-
|
|
22
14
|
var _GenericTemplateAttachments = _interopRequireDefault(require("./GenericTemplateAttachments.js"));
|
|
23
|
-
|
|
24
15
|
var _ProductAttachments = _interopRequireDefault(require("./ProductAttachments.js"));
|
|
25
|
-
|
|
26
16
|
var _OrderAttachments = _interopRequireDefault(require("./OrderAttachments.js"));
|
|
27
|
-
|
|
28
17
|
var _VideoAttachments = _interopRequireDefault(require("./VideoAttachments.js"));
|
|
29
|
-
|
|
30
18
|
var _TextMessage = _interopRequireDefault(require("./TextMessage.js"));
|
|
31
|
-
|
|
32
19
|
var _InfoMessage = _interopRequireDefault(require("./InfoMessage.js"));
|
|
33
|
-
|
|
34
20
|
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
35
|
-
|
|
36
21
|
var _time = _interopRequireDefault(require("./time.js"));
|
|
37
|
-
|
|
38
22
|
var _common = require("../common.js");
|
|
39
|
-
|
|
40
23
|
var _preact = require("preact");
|
|
41
|
-
|
|
42
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
25
|
|
|
44
26
|
class Event extends _common.Com {
|
|
@@ -46,17 +28,13 @@ class Event extends _common.Com {
|
|
|
46
28
|
super(props);
|
|
47
29
|
this.refForm = (0, _preact.createRef)();
|
|
48
30
|
}
|
|
49
|
-
|
|
50
31
|
render() {
|
|
51
32
|
var ev = _index.default.get(this.props.event, 'ev', {});
|
|
52
|
-
|
|
53
33
|
switch (ev.type) {
|
|
54
34
|
case 'conversation_joined':
|
|
55
35
|
break;
|
|
56
|
-
|
|
57
36
|
case 'message_sent':
|
|
58
37
|
return this.renderMessageSent();
|
|
59
|
-
|
|
60
38
|
case 'conversation_state_updated':
|
|
61
39
|
case 'conversation_rating_requested':
|
|
62
40
|
case 'conversation_rated':
|
|
@@ -67,22 +45,17 @@ class Event extends _common.Com {
|
|
|
67
45
|
ev: this.props.event
|
|
68
46
|
});
|
|
69
47
|
}
|
|
70
|
-
|
|
71
48
|
return null;
|
|
72
49
|
}
|
|
73
|
-
|
|
74
50
|
focus() {
|
|
75
51
|
this.refForm.current && this.refForm.current.focus();
|
|
76
52
|
}
|
|
77
|
-
|
|
78
53
|
chooseQuickReply(reply) {
|
|
79
54
|
let ev = _index.default.get(this.props.event, 'ev', {});
|
|
80
|
-
|
|
81
55
|
let message = {
|
|
82
56
|
text: reply.title,
|
|
83
57
|
format: 'plaintext'
|
|
84
58
|
};
|
|
85
|
-
|
|
86
59
|
if (reply.payload) {
|
|
87
60
|
message.attachments = [{
|
|
88
61
|
type: 'postback',
|
|
@@ -92,18 +65,14 @@ class Event extends _common.Com {
|
|
|
92
65
|
}
|
|
93
66
|
}];
|
|
94
67
|
}
|
|
95
|
-
|
|
96
68
|
this.props.onSend(message);
|
|
97
69
|
}
|
|
98
|
-
|
|
99
70
|
choosePostbackBtn(button) {
|
|
100
71
|
let ev = _index.default.get(this.props.event, 'ev', {});
|
|
101
|
-
|
|
102
72
|
let message = {
|
|
103
73
|
text: button.title,
|
|
104
74
|
format: 'plaintext'
|
|
105
75
|
};
|
|
106
|
-
|
|
107
76
|
if (button.payload) {
|
|
108
77
|
message.attachments = [{
|
|
109
78
|
type: 'postback',
|
|
@@ -113,21 +82,15 @@ class Event extends _common.Com {
|
|
|
113
82
|
}
|
|
114
83
|
}];
|
|
115
84
|
}
|
|
116
|
-
|
|
117
85
|
this.props.onSend(message);
|
|
118
86
|
}
|
|
119
|
-
|
|
120
87
|
renderAgentAvatar(ev) {
|
|
121
88
|
let bytype = _index.default.get(ev, 'by.type');
|
|
122
|
-
|
|
123
89
|
let byid = _index.default.get(ev, 'by.display_id', _index.default.get(ev, 'by.id'));
|
|
124
|
-
|
|
125
90
|
if (bytype === 'user') return null;
|
|
126
91
|
var senderName = this.getSenderName(ev);
|
|
127
92
|
let acc = this.props.store.matchAccount();
|
|
128
|
-
|
|
129
93
|
var uri = acc.logo_url || require('../../assets/img/image_default.png');
|
|
130
|
-
|
|
131
94
|
if (_index.default.get(this.props, 'chatbox.hide_agent_profile')) {
|
|
132
95
|
return (0, _preact.h)("div", {
|
|
133
96
|
class: "message-sender"
|
|
@@ -139,13 +102,10 @@ class Event extends _common.Com {
|
|
|
139
102
|
class: "message-sender-name"
|
|
140
103
|
}, acc.name));
|
|
141
104
|
}
|
|
142
|
-
|
|
143
105
|
let agentM = this.props.store.matchAgent('*');
|
|
144
|
-
|
|
145
106
|
if (byid !== 'system' && bytype !== 'dummy' && bytype !== 'workflow') {
|
|
146
107
|
uri = _index.default.get(agentM[byid], 'avatar_url') || acc.logo_url || require('../../assets/img/default_avatar.png');
|
|
147
108
|
}
|
|
148
|
-
|
|
149
109
|
return (0, _preact.h)("div", {
|
|
150
110
|
class: "message-sender"
|
|
151
111
|
}, (0, _preact.h)("img", {
|
|
@@ -156,11 +116,9 @@ class Event extends _common.Com {
|
|
|
156
116
|
class: "message-sender-name"
|
|
157
117
|
}, senderName));
|
|
158
118
|
}
|
|
159
|
-
|
|
160
119
|
renderMessageSent() {
|
|
161
120
|
let ev = this.props.event.ev;
|
|
162
121
|
var $time = null;
|
|
163
|
-
|
|
164
122
|
if (this.props.event.show_time) {
|
|
165
123
|
$time = (0, _preact.h)("div", {
|
|
166
124
|
class: "convo-event-time"
|
|
@@ -168,9 +126,7 @@ class Event extends _common.Com {
|
|
|
168
126
|
time: ev.created
|
|
169
127
|
}));
|
|
170
128
|
}
|
|
171
|
-
|
|
172
129
|
let t = new _index.default.Date(ev.created).toLocaleString();
|
|
173
|
-
|
|
174
130
|
if (_index.default.get(ev, 'by.type') !== 'user') {
|
|
175
131
|
let $sender = null;
|
|
176
132
|
if (this.props.event.mode === 'lead') $sender = this.renderAgentAvatar(ev);
|
|
@@ -227,7 +183,6 @@ class Event extends _common.Com {
|
|
|
227
183
|
onSelect: e => this.chooseQuickReply(e)
|
|
228
184
|
}));
|
|
229
185
|
}
|
|
230
|
-
|
|
231
186
|
if (_index.default.getMsgField(ev, 'idempotency') === ev.id && this.props.store.now() - ev.created < 900) {
|
|
232
187
|
setTimeout(() => this.setState({
|
|
233
188
|
refresh: this.state.refresh
|
|
@@ -237,19 +192,16 @@ class Event extends _common.Com {
|
|
|
237
192
|
let $dot = (0, _preact.h)("div", {
|
|
238
193
|
class: "sending_dot"
|
|
239
194
|
});
|
|
240
|
-
|
|
241
195
|
if (this.props.store.now() - ev.created < 900 || _index.default.getMsgField(ev, 'idempotency') !== ev.id) {
|
|
242
196
|
$dot = (0, _preact.h)("div", {
|
|
243
197
|
class: "sending_dot sending_dot__hide"
|
|
244
198
|
});
|
|
245
199
|
}
|
|
246
|
-
|
|
247
200
|
let $sender = null;
|
|
248
201
|
if (this.props.event.mode === 'lead') $sender = (0, _preact.h)("div", {
|
|
249
202
|
class: "pt-3"
|
|
250
203
|
});
|
|
251
204
|
let $error = null;
|
|
252
|
-
|
|
253
205
|
if (ev._error && ev.type === 'message_sent') {
|
|
254
206
|
$error = (0, _preact.h)("a", {
|
|
255
207
|
class: "message_error",
|
|
@@ -261,7 +213,6 @@ class Event extends _common.Com {
|
|
|
261
213
|
class: "message_error__icon"
|
|
262
214
|
}));
|
|
263
215
|
}
|
|
264
|
-
|
|
265
216
|
return (0, _preact.h)("div", {
|
|
266
217
|
class: "convo-event user-message",
|
|
267
218
|
title: t
|
|
@@ -302,10 +253,8 @@ class Event extends _common.Com {
|
|
|
302
253
|
ev: ev
|
|
303
254
|
})), $error);
|
|
304
255
|
}
|
|
305
|
-
|
|
306
256
|
renderUpdateConvo(ev) {
|
|
307
257
|
var state = _index.default.get(ev, 'data.conversation.state');
|
|
308
|
-
|
|
309
258
|
if (state === 'active') return null;
|
|
310
259
|
if (state === 'pending') return null;
|
|
311
260
|
return (0, _preact.h)("div", {
|
|
@@ -314,29 +263,21 @@ class Event extends _common.Com {
|
|
|
314
263
|
state
|
|
315
264
|
}));
|
|
316
265
|
}
|
|
317
|
-
|
|
318
266
|
resendMessage() {
|
|
319
267
|
let cid = _index.default.convoOfEv(this.props.event.ev);
|
|
320
|
-
|
|
321
268
|
const message = _index.default.get(this.props.event, 'ev.data.message');
|
|
322
|
-
|
|
323
269
|
this.props.store.sendConvoEvent(cid, 'message_sent', {
|
|
324
270
|
message
|
|
325
271
|
});
|
|
326
272
|
}
|
|
327
|
-
|
|
328
273
|
getSenderName(ev) {
|
|
329
274
|
let bytype = _index.default.get(ev, 'by.type');
|
|
330
|
-
|
|
331
275
|
let byid = _index.default.get(ev, 'by.display_id', _index.default.get(ev, 'by.id'));
|
|
332
|
-
|
|
333
276
|
if (bytype === 'user') return _index.default.getUserDisplayName(this.props.store.matchUser());
|
|
334
277
|
let acc = this.props.store.matchAccount();
|
|
335
278
|
if (bytype === 'agent') return _index.default.getAgentDisplayName(acc, this.props.store.matchAgent(byid));
|
|
336
279
|
if (byid === 'system' || bytype === 'dummy' || bytype === 'workflow') return acc.name || 'system';
|
|
337
280
|
return '';
|
|
338
281
|
}
|
|
339
|
-
|
|
340
282
|
}
|
|
341
|
-
|
|
342
283
|
exports.default = Event;
|
|
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _Event = _interopRequireDefault(require("./Event.js"));
|
|
9
|
-
|
|
10
8
|
var _PoweredBy = _interopRequireDefault(require("./PoweredBy.js"));
|
|
11
|
-
|
|
12
9
|
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
13
|
-
|
|
14
10
|
var _spinner = _interopRequireDefault(require("./spinner.js"));
|
|
15
|
-
|
|
16
11
|
var _common = require("../common.js");
|
|
17
|
-
|
|
18
12
|
var _preact = require("preact");
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
14
|
const convoemptyimg = require('../../assets/img/convos_empty.svg');
|
|
23
|
-
|
|
24
15
|
class Events extends _common.Com {
|
|
25
16
|
constructor(props) {
|
|
26
17
|
super(props);
|
|
@@ -35,16 +26,12 @@ class Events extends _common.Com {
|
|
|
35
26
|
}, 500);
|
|
36
27
|
this.checkAndSeen();
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
componentDidUpdate(prevProps) {
|
|
40
30
|
if (prevProps.cid !== this.props.cid) this.loadConvo();
|
|
41
31
|
}
|
|
42
|
-
|
|
43
32
|
render() {
|
|
44
33
|
if (this.state.error) return this.renderError();
|
|
45
|
-
|
|
46
34
|
let events = _index.default.map(this.props.store.listEvents(this.props.cid));
|
|
47
|
-
|
|
48
35
|
if (!this.state.loading && _index.default.size(events) === 0) {
|
|
49
36
|
return (0, _preact.h)("div", {
|
|
50
37
|
ref: ref => this.refBody = ref,
|
|
@@ -59,14 +46,12 @@ class Events extends _common.Com {
|
|
|
59
46
|
store: this.props.store
|
|
60
47
|
}));
|
|
61
48
|
}
|
|
62
|
-
|
|
63
49
|
events = _index.default.orderBy(events, 'created', 'asc');
|
|
64
50
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
65
51
|
events = _index.default.map(events, ev => ({
|
|
66
52
|
ev: ev
|
|
67
53
|
}));
|
|
68
54
|
processEvents(convo, events);
|
|
69
|
-
|
|
70
55
|
let $events = _index.default.map(events, ev => (0, _preact.h)(_Event.default, {
|
|
71
56
|
chatbox: this.props.chatbox,
|
|
72
57
|
onLink: this.props.onLink,
|
|
@@ -78,10 +63,8 @@ class Events extends _common.Com {
|
|
|
78
63
|
t: this.props.t,
|
|
79
64
|
key: ev.ev.id
|
|
80
65
|
}));
|
|
81
|
-
|
|
82
66
|
let $loading = null;
|
|
83
67
|
let style = 'opacity: 1 !important';
|
|
84
|
-
|
|
85
68
|
if (this.state.loading || this.props.creating) {
|
|
86
69
|
$loading = (0, _preact.h)(_spinner.default, {
|
|
87
70
|
static: true,
|
|
@@ -91,7 +74,6 @@ class Events extends _common.Com {
|
|
|
91
74
|
});
|
|
92
75
|
style = 'opacity: 0 !important';
|
|
93
76
|
}
|
|
94
|
-
|
|
95
77
|
return (0, _preact.h)(_preact.Fragment, null, $loading, (0, _preact.h)("div", {
|
|
96
78
|
style: style,
|
|
97
79
|
ref: ref => this.refBody = ref,
|
|
@@ -103,7 +85,6 @@ class Events extends _common.Com {
|
|
|
103
85
|
store: this.props.store
|
|
104
86
|
})));
|
|
105
87
|
}
|
|
106
|
-
|
|
107
88
|
renderError() {
|
|
108
89
|
let $tryAgainBtn = (0, _preact.h)("a", {
|
|
109
90
|
href: "#",
|
|
@@ -124,25 +105,19 @@ class Events extends _common.Com {
|
|
|
124
105
|
class: "widget_body__events__error_retry"
|
|
125
106
|
}, $tryAgainBtn));
|
|
126
107
|
}
|
|
127
|
-
|
|
128
108
|
focus() {
|
|
129
109
|
let events = this.props.store.listEvents(this.props.cid);
|
|
130
110
|
events = _index.default.orderBy(_index.default.map(events), 'created', 'desc');
|
|
131
111
|
var last_agent_sent;
|
|
132
|
-
|
|
133
112
|
for (let ev of events) {
|
|
134
113
|
if (_index.default.get(ev, 'type') !== 'message_sent') continue;
|
|
135
114
|
if (_index.default.get(ev, 'by.type') === 'user') continue;
|
|
136
115
|
last_agent_sent = ev;
|
|
137
116
|
break;
|
|
138
117
|
}
|
|
139
|
-
|
|
140
118
|
if (_index.default.get(last_agent_sent, 'by.type') === 'user') last_agent_sent = null;
|
|
141
|
-
|
|
142
119
|
let attachments = _index.default.get(last_agent_sent, 'data.message.attachments', []);
|
|
143
|
-
|
|
144
120
|
let convo = this.props.store.matchConvo(this.props.cid);
|
|
145
|
-
|
|
146
121
|
let pendingForms = _index.default.filter(attachments, att => {
|
|
147
122
|
if (!att) return false;
|
|
148
123
|
if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
|
|
@@ -154,6 +129,7 @@ class Events extends _common.Com {
|
|
|
154
129
|
if (convo.state === 'ended') return false;
|
|
155
130
|
return true;
|
|
156
131
|
});
|
|
132
|
+
|
|
157
133
|
}
|
|
158
134
|
|
|
159
135
|
onEvent(newev) {
|
|
@@ -163,7 +139,6 @@ class Events extends _common.Com {
|
|
|
163
139
|
if (_index.default.get(newev, 'type') === 'message_sent' && newev.id === _index.default.getMsgField(newev, 'idempotency')) byme = true;
|
|
164
140
|
if (byme || isBottom) this.scrollToBottom();
|
|
165
141
|
}
|
|
166
|
-
|
|
167
142
|
async loadConvo() {
|
|
168
143
|
if (!this.props.cid) return;
|
|
169
144
|
this.lastContentOffsetY = 0;
|
|
@@ -171,7 +146,6 @@ class Events extends _common.Com {
|
|
|
171
146
|
loading: true
|
|
172
147
|
});
|
|
173
148
|
let events = this.props.store.listEvents(this.props.cid);
|
|
174
|
-
|
|
175
149
|
if (_index.default.size(events) === 0) {
|
|
176
150
|
let cid = this.props.cid;
|
|
177
151
|
let {
|
|
@@ -181,7 +155,6 @@ class Events extends _common.Com {
|
|
|
181
155
|
loading: false
|
|
182
156
|
});
|
|
183
157
|
if (cid !== this.props.cid) return;
|
|
184
|
-
|
|
185
158
|
if (error) {
|
|
186
159
|
this.setState({
|
|
187
160
|
error: true
|
|
@@ -189,7 +162,6 @@ class Events extends _common.Com {
|
|
|
189
162
|
return;
|
|
190
163
|
}
|
|
191
164
|
}
|
|
192
|
-
|
|
193
165
|
this.setState({
|
|
194
166
|
loading: true
|
|
195
167
|
});
|
|
@@ -202,13 +174,11 @@ class Events extends _common.Com {
|
|
|
202
174
|
loading: false
|
|
203
175
|
}), 50);
|
|
204
176
|
}
|
|
205
|
-
|
|
206
177
|
isBottom() {
|
|
207
178
|
let $container = this.refBody;
|
|
208
179
|
if (!$container) return false;
|
|
209
180
|
return $container.scrollHeight < $container.scrollTop + $container.offsetHeight + 50;
|
|
210
181
|
}
|
|
211
|
-
|
|
212
182
|
scrollToBottom() {
|
|
213
183
|
setTimeout(() => {
|
|
214
184
|
const $div = this.refBody;
|
|
@@ -218,18 +188,15 @@ class Events extends _common.Com {
|
|
|
218
188
|
const $div = this.refBody;
|
|
219
189
|
if ($div) $div.scrollTop = $div.scrollHeight;
|
|
220
190
|
}, 200);
|
|
221
|
-
|
|
222
191
|
if (this.props.isShow) {
|
|
223
192
|
if (this.props.store.browserVisibility === 'visible' && document.hasFocus()) {
|
|
224
193
|
this.props.store.seenConvo(this.props.cid);
|
|
225
194
|
}
|
|
226
195
|
}
|
|
227
196
|
}
|
|
228
|
-
|
|
229
197
|
}
|
|
230
198
|
|
|
231
199
|
exports.default = Events;
|
|
232
|
-
|
|
233
200
|
function processEvents(convo, events) {
|
|
234
201
|
events = events.filter(event => visibleEvent(event.ev));
|
|
235
202
|
if (events.length < 1) return;
|
|
@@ -237,17 +204,14 @@ function processEvents(convo, events) {
|
|
|
237
204
|
for (var i = 1; i < events.length; i++) {
|
|
238
205
|
let curEvent = events[i];
|
|
239
206
|
let lastEvent = events[i - 1];
|
|
240
|
-
|
|
241
207
|
if (visibleEvent(curEvent.ev)) {
|
|
242
208
|
let elapsedSec = _index.default.unixSec(curEvent.ev.created) - _index.default.unixSec(lastEvent.ev.created);
|
|
243
|
-
|
|
244
209
|
if (elapsedSec > 120) curEvent.show_time = true;
|
|
245
210
|
}
|
|
246
211
|
}
|
|
247
212
|
|
|
248
213
|
for (var i = 0; i < events.length; i++) {
|
|
249
214
|
let curEvent = events[i];
|
|
250
|
-
|
|
251
215
|
if (_index.default.get(curEvent, 'ev.type') === 'message_sent') {
|
|
252
216
|
curEvent.show_time = true;
|
|
253
217
|
break;
|
|
@@ -257,25 +221,21 @@ function processEvents(convo, events) {
|
|
|
257
221
|
for (var i = 0; i < events.length; i++) {
|
|
258
222
|
let curEvent = events[i];
|
|
259
223
|
let prevEvent = events[i - 1];
|
|
260
|
-
|
|
261
224
|
if (curEvent.ev.type === 'message_sent') {
|
|
262
225
|
curEvent.mode = 'lead';
|
|
263
|
-
|
|
264
226
|
if (_index.default.get(prevEvent, 'ev.type') === 'message_sent' && _index.default.get(prevEvent, 'ev.by.id') === _index.default.get(curEvent, 'ev.by.id')) {
|
|
265
227
|
curEvent.mode = 'follow';
|
|
266
228
|
}
|
|
267
|
-
|
|
268
229
|
continue;
|
|
269
230
|
}
|
|
270
231
|
}
|
|
271
232
|
}
|
|
272
|
-
|
|
273
233
|
function visibleEvent(ev) {
|
|
274
234
|
let type = _index.default.get(ev, 'type');
|
|
275
|
-
|
|
276
|
-
|
|
235
|
+
return (
|
|
236
|
+
type === 'message_sent' || type === 'conversation_state_updated'
|
|
237
|
+
);
|
|
277
238
|
}
|
|
278
|
-
|
|
279
239
|
function isSummited(form) {
|
|
280
240
|
let fields = _index.default.get(form, 'fields') || [];
|
|
281
241
|
return _index.default.find(fields, field => !!field.answered);
|
|
@@ -4,34 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
9
|
-
|
|
10
8
|
var _common = require("../common.js");
|
|
11
|
-
|
|
12
9
|
var _preact = require("preact");
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
class FileAttachments extends _common.Com {
|
|
17
12
|
render() {
|
|
18
13
|
var byType = _index.default.get(this.props.ev, 'by.type', 'agent');
|
|
19
|
-
|
|
20
14
|
var attachments = _index.default.get(this.props.ev, 'data.message.attachments', []);
|
|
21
|
-
|
|
22
15
|
var files = [];
|
|
23
|
-
|
|
24
16
|
_index.default.each(attachments, att => {
|
|
25
17
|
if (!att) return;
|
|
26
18
|
if (!att.url && !att._file) return;
|
|
27
|
-
|
|
28
19
|
if (!_index.default.includes(att.mimetype, 'video') && !_index.default.includes(att.mimetype, 'audio') && !_index.default.includes(att.mimetype, 'image') && att.type !== 'button' && att.type !== 'quick_replies' && att.type !== 'form' && att.type !== 'form_submit') {
|
|
29
20
|
files.push(att);
|
|
30
21
|
}
|
|
31
22
|
});
|
|
32
|
-
|
|
33
23
|
if (files.length === 0) return null;
|
|
34
|
-
|
|
35
24
|
var $files = _index.default.map(files, (file, index) => {
|
|
36
25
|
return (0, _preact.h)("div", {
|
|
37
26
|
key: index,
|
|
@@ -46,12 +35,9 @@ class FileAttachments extends _common.Com {
|
|
|
46
35
|
class: "file-attachment--filename"
|
|
47
36
|
}, file.name)));
|
|
48
37
|
});
|
|
49
|
-
|
|
50
38
|
return (0, _preact.h)("div", {
|
|
51
39
|
class: `message-${byType}`
|
|
52
40
|
}, $files);
|
|
53
41
|
}
|
|
54
|
-
|
|
55
42
|
}
|
|
56
|
-
|
|
57
43
|
exports.default = FileAttachments;
|