@subiz/widget-v4 4.0.92 → 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.
Files changed (169) hide show
  1. package/compiled_src/bot.js +0 -11
  2. package/compiled_src/call/call.js +0 -61
  3. package/compiled_src/call/css.js +0 -2
  4. package/compiled_src/chatbox/AgentsAvatar.js +0 -16
  5. package/compiled_src/chatbox/AudioAttachments.js +0 -14
  6. package/compiled_src/chatbox/ButtonAttachments.js +1 -14
  7. package/compiled_src/chatbox/Buttons.js +0 -13
  8. package/compiled_src/chatbox/ChatButton.js +1 -78
  9. package/compiled_src/chatbox/DropdownSelect.js +3 -44
  10. package/compiled_src/chatbox/Emoji.js +0 -7
  11. package/compiled_src/chatbox/Event.js +0 -59
  12. package/compiled_src/chatbox/Events.js +4 -44
  13. package/compiled_src/chatbox/FileAttachments.js +0 -14
  14. package/compiled_src/chatbox/FormAttachment.js +1 -52
  15. package/compiled_src/chatbox/FormAttachments.js +0 -14
  16. package/compiled_src/chatbox/FormSubmitAttachments.js +0 -11
  17. package/compiled_src/chatbox/GenericTemplateAttachments.js +1 -20
  18. package/compiled_src/chatbox/Header.js +1 -46
  19. package/compiled_src/chatbox/ImageAttachments.js +0 -16
  20. package/compiled_src/chatbox/InfoMessage.js +0 -13
  21. package/compiled_src/chatbox/ListField.js +0 -16
  22. package/compiled_src/chatbox/MessageInput.js +1 -47
  23. package/compiled_src/chatbox/Order.js +0 -35
  24. package/compiled_src/chatbox/OrderAttachments.js +1 -23
  25. package/compiled_src/chatbox/PoweredBy.js +0 -7
  26. package/compiled_src/chatbox/ProductAttachments.js +0 -19
  27. package/compiled_src/chatbox/QuickReplies.js +0 -18
  28. package/compiled_src/chatbox/Rating.js +0 -37
  29. package/compiled_src/chatbox/ShadowDomRoot.js +0 -9
  30. package/compiled_src/chatbox/TextMessage.js +0 -64
  31. package/compiled_src/chatbox/Typing.js +0 -15
  32. package/compiled_src/chatbox/VideoAttachments.js +0 -14
  33. package/compiled_src/chatbox/Widget.js +6 -167
  34. package/compiled_src/chatbox/css.js +0 -2
  35. package/compiled_src/chatbox/dragscroll.js +1 -5
  36. package/compiled_src/chatbox/main.js +1 -40
  37. package/compiled_src/chatbox/releaseAnimation.js +0 -11
  38. package/compiled_src/chatbox/spinner.js +0 -10
  39. package/compiled_src/chatbox/time.js +0 -22
  40. package/compiled_src/chatbox/touchscroll.js +0 -7
  41. package/compiled_src/common.js +0 -22
  42. package/compiled_src/contact/contact.js +2 -52
  43. package/compiled_src/contact/css.js +0 -2
  44. package/compiled_src/lib.js +19 -46
  45. package/compiled_src/notif/css.js +0 -2
  46. package/compiled_src/notif/notif.js +0 -63
  47. package/compiled_src/order/address_picker.js +4 -38
  48. package/compiled_src/order/icon.js +0 -16
  49. package/compiled_src/order/index.js +1 -34
  50. package/compiled_src/order/order.js +2 -156
  51. package/compiled_src/plugin.js +1 -77
  52. package/compiled_src/popup/countdown.js +2 -33
  53. package/compiled_src/popup/css.js +0 -2
  54. package/compiled_src/popup/popup.js +2 -165
  55. package/compiled_src/popup/tick.core.commonjs.js +72 -222
  56. package/compiled_src/popup/tick.view.flip.commonjs.js +23 -31
  57. package/compiled_src/store/api.js +99 -65
  58. package/compiled_src/store/api_fake.js +3 -39
  59. package/compiled_src/store/realtime_fake.js +0 -6
  60. package/compiled_src/store/store.js +42 -248
  61. package/compiled_src/util/campaign.js +0 -13
  62. package/compiled_src/util/common.js +15 -185
  63. package/compiled_src/util/common.test.js +0 -4
  64. package/compiled_src/util/extractor.js +1 -21
  65. package/compiled_src/util/extractor.test.js +0 -3
  66. package/compiled_src/util/gate.js +0 -7
  67. package/compiled_src/util/gate.test.js +1 -2
  68. package/compiled_src/util/index.js +1 -7
  69. package/compiled_src/util/mutex.js +31 -0
  70. package/compiled_src/util/op.js +1 -14
  71. package/compiled_src/util/pubsub.js +0 -6
  72. package/compiled_src/util/pubsub.test.js +0 -2
  73. package/package.json +11 -11
  74. package/src/lib.js +24 -2
  75. package/src/store/api.js +110 -21
  76. package/src/store/api_fake.js +5 -6
  77. package/src/store/store.js +31 -5
  78. package/src/util/index.js +1 -0
  79. package/src/util/mutex.js +27 -0
  80. package/dist/132.js +0 -7092
  81. package/dist/178.js +0 -406
  82. package/dist/18364d15f37.132.js +0 -1
  83. package/dist/18364d15f37.178.js +0 -1
  84. package/dist/18364d15f37.213.js +0 -1
  85. package/dist/18364d15f37.335.js +0 -1
  86. package/dist/18364d15f37.362.js +0 -1
  87. package/dist/18364d15f37.441.js +0 -1
  88. package/dist/18364d15f37.605.js +0 -1
  89. package/dist/18364d15f37.678.js +0 -1
  90. package/dist/18364d15f37.782.js +0 -1
  91. package/dist/18364d15f37.app.js +0 -1
  92. package/dist/18364d15f37.index.html +0 -26
  93. package/dist/18364d15f37.library.html +0 -26
  94. package/dist/18364d15f37.library.js +0 -1
  95. package/dist/18364d15f37.preview.html +0 -759
  96. package/dist/18364d15f37.preview.js +0 -1
  97. package/dist/18364d15f37.screenshoot.js +0 -1
  98. package/dist/213.js +0 -3215
  99. package/dist/335.js +0 -411
  100. package/dist/362.js +0 -107
  101. package/dist/441.js +0 -2834
  102. package/dist/605.js +0 -328
  103. package/dist/678.js +0 -107
  104. package/dist/782.js +0 -107
  105. package/dist/HASH +0 -1
  106. package/dist/assets/img/Facebook.64607ec.png +0 -0
  107. package/dist/assets/img/Zalo.6845707.png +0 -0
  108. package/dist/assets/img/award1a.1a58e10.png +0 -0
  109. package/dist/assets/img/award3a.3b74423.png +0 -0
  110. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  111. package/dist/assets/img/award5.39eb7ae.png +0 -0
  112. package/dist/assets/img/bubble_default.7d5e4ab.svg +0 -20
  113. package/dist/assets/img/caret.998eb8f.svg +0 -1
  114. package/dist/assets/img/convos_empty.2353007.svg +0 -72
  115. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  116. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  117. package/dist/assets/img/done_gray.d7e8203.svg +0 -4
  118. package/dist/assets/img/done_green.b817fd4.svg +0 -4
  119. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  120. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  121. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  122. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  123. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  124. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  125. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  126. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  127. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  128. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  129. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  130. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  131. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  132. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  133. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  134. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  135. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  136. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  137. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  138. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  139. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  140. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  141. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  142. package/dist/assets/img/empty.29bed2d.svg +0 -23
  143. package/dist/assets/img/empty_1.0b98af0.svg +0 -11
  144. package/dist/assets/img/examplte_logo.f86535f.svg +0 -1
  145. package/dist/assets/img/external-link.90577cc.svg +0 -1
  146. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  147. package/dist/assets/img/ghn.070f8e3.svg +0 -17
  148. package/dist/assets/img/ghtk.326eac1.svg +0 -18
  149. package/dist/assets/img/image_default.be0698b.png +0 -0
  150. package/dist/assets/img/info.ebce7ea.svg +0 -1
  151. package/dist/assets/img/loader.37000a7.svg +0 -1
  152. package/dist/assets/img/loading_static.8f403ae.svg +0 -10
  153. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  154. package/dist/assets/img/main-service2.9b99549.png +0 -0
  155. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  156. package/dist/assets/img/package.8d37d0f.svg +0 -5
  157. package/dist/assets/img/package_fade.763c001.svg +0 -1
  158. package/dist/assets/img/rating--average.1ea492c.svg +0 -12
  159. package/dist/assets/img/rating--great.e3d712e.svg +0 -16
  160. package/dist/assets/img/rating--poor.2938a25.svg +0 -12
  161. package/dist/assets/img/search.f9705ff.svg +0 -1
  162. package/dist/assets/img/send.6db52a9.svg +0 -3
  163. package/dist/assets/img/shop.f7dc7d8.svg +0 -1
  164. package/dist/assets/img/shop_faded.df7845a.svg +0 -1
  165. package/dist/assets/img/subiz-mono.877e9f5.svg +0 -3
  166. package/dist/assets/img/x.26fdfa3.svg +0 -5
  167. package/dist/malicious-app.js +0 -13
  168. package/dist/screenshoot.html +0 -7
  169. package/dist/screenshoot.js +0 -5953
@@ -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
- return type === 'message_sent' || type === 'conversation_state_updated';
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;