@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,29 +4,21 @@ 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 _time = _interopRequireDefault(require("./time.js"));
11
-
12
9
  var _common = require("../common.js");
13
-
14
10
  var _preact = require("preact");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  function getRateLang(rating) {
19
13
  if (!rating) return 'poor';
20
14
  if (rating < 2) return 'poor';
21
15
  if (rating < 4) return 'average';
22
16
  return 'great';
23
17
  }
24
-
25
18
  class InfoMessage extends _common.Com {
26
19
  render() {
27
20
  let ev = this.props.ev.ev;
28
21
  var $time = null;
29
-
30
22
  if (this.props.ev.show_time) {
31
23
  $time = (0, _preact.h)("div", {
32
24
  class: "convo-event-time"
@@ -40,7 +32,6 @@ class InfoMessage extends _common.Com {
40
32
  no_rating: true,
41
33
  rating: 0
42
34
  });
43
-
44
35
  if (rating.no_rating) return null;
45
36
  return (0, _preact.h)("div", {
46
37
  class: "convo-event"
@@ -48,7 +39,6 @@ class InfoMessage extends _common.Com {
48
39
  class: "info-message"
49
40
  }, this.props.t('rated_as') + ' ' + this.props.t(getRateLang(rating.rating)).toLowerCase()));
50
41
  }
51
-
52
42
  if (ev.type === 'conversation_state_updated' && _index.default.get(ev, 'data.conversation.state') === 'ended') {
53
43
  return (0, _preact.h)("div", {
54
44
  class: "convo-event"
@@ -56,10 +46,7 @@ class InfoMessage extends _common.Com {
56
46
  class: "info-message"
57
47
  }, this.props.t('conversation_ended')));
58
48
  }
59
-
60
49
  return null;
61
50
  }
62
-
63
51
  }
64
-
65
52
  exports.default = InfoMessage;
@@ -4,15 +4,10 @@ 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 ListField extends _common.Com {
17
12
  constructor(props) {
18
13
  super(props);
@@ -21,21 +16,18 @@ class ListField extends _common.Com {
21
16
  isShow: false
22
17
  });
23
18
  }
24
-
25
19
  render() {
26
20
  let fields = _index.default.filter(this.props.items, item => {
27
21
  let search = this.state.search.toLowerCase();
28
22
  let name = item || '';
29
23
  return name.toLowerCase().indexOf(search) > -1;
30
24
  });
31
-
32
25
  let $fields = _index.default.map(fields, field => {
33
26
  return (0, _preact.h)("li", {
34
27
  class: "custom-select--item-options",
35
28
  onClick: () => this.add(field)
36
29
  }, field);
37
30
  });
38
-
39
31
  let $selected = _index.default.map(this.props.selected, (item, i) => {
40
32
  return (0, _preact.h)("div", {
41
33
  class: "custom-select--selected-item",
@@ -44,7 +36,6 @@ class ListField extends _common.Com {
44
36
  class: "icn-delete delete-tag"
45
37
  }));
46
38
  });
47
-
48
39
  let $dropdown = (0, _preact.h)("div", {
49
40
  class: "custom-select--wrap-options"
50
41
  }, (0, _preact.h)("input", {
@@ -65,11 +56,9 @@ class ListField extends _common.Com {
65
56
  }), (0, _preact.h)("ul", {
66
57
  class: "custom-select--items-options"
67
58
  }, $fields));
68
-
69
59
  if (!this.state.isShow) {
70
60
  $dropdown = null;
71
61
  }
72
-
73
62
  return (0, _preact.h)("div", {
74
63
  class: "form-control custom-select"
75
64
  }, (0, _preact.h)(_common.Clickaway, {
@@ -96,23 +85,18 @@ class ListField extends _common.Com {
96
85
  fill: "black"
97
86
  })))))));
98
87
  }
99
-
100
88
  clickaway() {
101
89
  this.setState({
102
90
  isShow: false
103
91
  });
104
92
  }
105
-
106
93
  add(field) {
107
94
  this.props.onAddItem && this.props.onAddItem(field);
108
95
  }
109
-
110
96
  remove(e, index) {
111
97
  e.preventDefault();
112
98
  e.stopPropagation();
113
99
  this.props.onRemoveItem && this.props.onRemoveItem(index);
114
100
  }
115
-
116
101
  }
117
-
118
102
  exports.default = ListField;
@@ -4,33 +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
  var _Emoji = _interopRequireDefault(require("./Emoji.js"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
20
13
  class MessageInput extends _common.Com {
21
14
  constructor(props) {
22
15
  super(props);
23
-
24
16
  _defineProperty(this, "onEnter", _index.default.throttle(function () {
25
17
  this.submitMessage();
26
18
  }, 50));
27
-
28
19
  this.refFileInput = (0, _preact.createRef)();
29
20
  this.refMessageInput = (0, _preact.createRef)();
30
21
  this.props.store.onUpdate(this, _ => this.forceUpdate());
31
22
  this.props.store.onConvoEvent(this, ev => {
32
23
  var evcid = _index.default.convoOfEv(ev);
33
-
34
24
  if (evcid !== this.props.cid) return;
35
25
  this.forceUpdate();
36
26
  });
@@ -45,13 +35,11 @@ class MessageInput extends _common.Com {
45
35
  input.style.setProperty('height', `${height}px`, 'important');
46
36
  }, 5);
47
37
  }
48
-
49
38
  blur() {
50
39
  const $input = this.refMessageInput.current;
51
40
  if (!$input) return;
52
41
  $input.blur();
53
42
  }
54
-
55
43
  render() {
56
44
  var buttons = (0, _preact.h)("div", {
57
45
  class: "d-flex flex-row align-self-end"
@@ -60,9 +48,7 @@ class MessageInput extends _common.Com {
60
48
  class: "message-input--button message-input--attachment-button",
61
49
  onClick: e => this.selectFile(e)
62
50
  }));
63
-
64
51
  var msg = _index.default.trim(this.refMessageInput.current && this.refMessageInput.current.value);
65
-
66
52
  if (msg.length > 0) {
67
53
  buttons = (0, _preact.h)("div", {
68
54
  class: "d-flex flex-row align-self-end"
@@ -72,7 +58,6 @@ class MessageInput extends _common.Com {
72
58
  onClick: () => this.submitMessage()
73
59
  }));
74
60
  }
75
-
76
61
  var containercls = '';
77
62
  var disabled = this.hasUnfinishRequiredFormOrLock() || this.props.disabled;
78
63
  if (disabled) containercls = 'message-input--disabled';
@@ -100,28 +85,22 @@ class MessageInput extends _common.Com {
100
85
  onKeydown: e => this.onKeydown(e)
101
86
  }), buttons);
102
87
  }
103
-
104
88
  hasUnfinishRequiredFormOrLock() {
105
89
  let convo = this.props.store.matchConvo(this.props.cid);
106
90
  if (_index.default.get(convo, 'state') === 'ended') return false;
107
91
  let events = this.props.store.listEvents(this.props.cid);
108
92
  events = _index.default.orderBy(events, 'created', 'desc').filter(ev => ev.type === 'message_sent');
109
-
110
93
  let attachments = _index.default.get(events[0], 'data.message.attachments', []);
111
-
112
94
  let lock = _index.default.find(attachments, att => _index.default.get(att, 'lock_input'));
113
-
114
95
  if (lock) return true;
115
- var last_agent_sent;
116
96
 
97
+ var last_agent_sent;
117
98
  for (let ev of events) {
118
99
  if (_index.default.get(ev, 'by.type') === 'user') continue;
119
100
  last_agent_sent = ev;
120
101
  break;
121
102
  }
122
-
123
103
  attachments = _index.default.get(last_agent_sent, 'data.message.attachments', []);
124
-
125
104
  let pendingForms = _index.default.filter(attachments, att => {
126
105
  if (!att) return false;
127
106
  if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
@@ -132,10 +111,8 @@ class MessageInput extends _common.Com {
132
111
  if (isSummited(att.form)) return false;
133
112
  return true;
134
113
  });
135
-
136
114
  return _index.default.size(pendingForms) > 0;
137
115
  }
138
-
139
116
  renderEmojiPopup() {
140
117
  if (!this.state.openEmoji) return null;
141
118
  return (0, _preact.h)("div", {
@@ -235,7 +212,6 @@ class MessageInput extends _common.Com {
235
212
  class: "emoji-picker--item emoji--wink"
236
213
  })));
237
214
  }
238
-
239
215
  focus() {
240
216
  if (this.props.disabled) return;
241
217
  this.refMessageInput.current && this.refMessageInput.current.focus();
@@ -246,14 +222,12 @@ class MessageInput extends _common.Com {
246
222
  this.refMessageInput.current && this.refMessageInput.current.focus();
247
223
  }, 100);
248
224
  }
249
-
250
225
  renderEmoji() {
251
226
  return (0, _preact.h)("div", null, this.renderEmojiPopup(), (0, _preact.h)("div", {
252
227
  class: "message-input--button message-input--emoji-button",
253
228
  onClick: e => this.toggleEmoji(e)
254
229
  }));
255
230
  }
256
-
257
231
  toggleEmoji(e) {
258
232
  e.stopPropagation();
259
233
  this.focus();
@@ -262,7 +236,6 @@ class MessageInput extends _common.Com {
262
236
  openEmoji: !this.state.openEmoji
263
237
  });
264
238
  }
265
-
266
239
  emojiPick(code) {
267
240
  const input = this.refMessageInput.current;
268
241
  const position = input.selectionStart;
@@ -274,39 +247,29 @@ class MessageInput extends _common.Com {
274
247
  this.resizeInput();
275
248
  input.focus();
276
249
  }
277
-
278
250
  onKeydown(e) {
279
251
  if (e.keyCode === 13 && e.shiftKey === false) {
280
252
  this.onEnter();
281
253
  return e.preventDefault();
282
254
  }
283
-
284
255
  this._forceUpdate();
285
-
286
256
  this.sendTyping();
287
257
  }
288
-
289
258
  onChange() {
290
259
  this.resizeInput();
291
260
  }
292
-
293
261
  selectFile() {
294
262
  if (this.props.disabled) return;
295
263
  this.refFileInput.current.click();
296
264
  }
297
-
298
265
  sendFile() {
299
266
  let $input = this.refFileInput.current;
300
-
301
267
  this._sendFile($input.files);
302
-
303
268
  $input.value = '';
304
269
  }
305
-
306
270
  _sendFile(files) {
307
271
  if (_index.default.size(files) === 0) return;
308
272
  if (this.props.disabled) return;
309
-
310
273
  let attachments = _index.default.map(files, file => {
311
274
  return {
312
275
  type: 'file',
@@ -316,7 +279,6 @@ class MessageInput extends _common.Com {
316
279
  size: file.size
317
280
  };
318
281
  });
319
-
320
282
  this.props.onSend && this.props.onSend({
321
283
  attachments
322
284
  });
@@ -336,12 +298,10 @@ class MessageInput extends _common.Com {
336
298
  format: 'plaintext'
337
299
  });
338
300
  }
339
-
340
301
  sendTyping() {
341
302
  if (!this.props.cid) return;
342
303
  return this.props.store.typing(this.props.cid);
343
304
  }
344
-
345
305
  pasteImage(event) {
346
306
  if (!window.File || !window.FileReader || !window.FileList || !window.Blob) return;
347
307
  let now = new _index.default.Date();
@@ -354,24 +314,18 @@ class MessageInput extends _common.Com {
354
314
  const name = `Paste-image-${year}-${month}-${date}-${hour}-${min}-${sec}`;
355
315
  let blob = null;
356
316
  const copiedData = event.clipboardData.items[0];
357
-
358
317
  if (copiedData.type.indexOf('image') === 0) {
359
318
  blob = copiedData.getAsFile();
360
319
  }
361
-
362
320
  if (!blob) return;
363
321
  const parts = [blob, new ArrayBuffer()];
364
322
  const file = new File(parts, `${name}.png`, {
365
323
  type: 'image/png'
366
324
  });
367
-
368
325
  this._sendFile([file]);
369
326
  }
370
-
371
327
  }
372
-
373
328
  exports.default = MessageInput;
374
-
375
329
  function isSummited(form) {
376
330
  let fields = _index.default.get(form, 'fields') || [];
377
331
  return _index.default.find(fields, field => !!field.answered);
@@ -4,45 +4,31 @@ 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 _releaseAnimation = _interopRequireDefault(require("./releaseAnimation.js"));
11
-
12
9
  var _time = _interopRequireDefault(require("./time.js"));
13
-
14
10
  var _common = require("../common.js");
15
-
16
11
  var _preact = require("preact");
17
-
18
12
  var _order = _interopRequireDefault(require("../order/order.js"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
-
24
15
  const POPUP_MAX_HEIGHT = 400;
25
16
  const POPUP_HARD_MAX_HEIGHT = 500;
26
17
  const POPUP_MIN_HEIGHT = 0;
27
-
28
18
  let defaultAvatar = require('../../assets/img/default_avatar.png');
29
-
30
19
  class Order extends _common.Com {
31
20
  constructor(props) {
32
21
  super(props);
33
-
34
22
  _defineProperty(this, "state", {
35
23
  hide: true,
36
24
  ratingHeight: 0,
37
25
  overlayOpacity: 0.3
38
26
  });
39
-
40
27
  _defineProperty(this, "onResponse", response => {
41
28
  this.setState({
42
29
  response
43
30
  });
44
31
  });
45
-
46
32
  _defineProperty(this, "confirm", () => {
47
33
  this.props.store.sendConvoEvent(this.props.cid, 'message_sent', {
48
34
  message: {
@@ -60,10 +46,8 @@ class Order extends _common.Com {
60
46
  }
61
47
  });
62
48
  });
63
-
64
49
  _defineProperty(this, "close", async () => {
65
50
  await _index.default.sleep(100);
66
-
67
51
  if (this.state.response === 'confirmed') {
68
52
  this.props.store.sendConvoEvent(this.props.cid, 'message_sent', {
69
53
  message: {
@@ -97,7 +81,6 @@ class Order extends _common.Com {
97
81
  }
98
82
  });
99
83
  } else {}
100
-
101
84
  this.setState({
102
85
  response: ''
103
86
  });
@@ -110,7 +93,6 @@ class Order extends _common.Com {
110
93
  ratingHeight: h,
111
94
  overlayOpacity: Math.min(1, (h - POPUP_MIN_HEIGHT) / (POPUP_HARD_MAX_HEIGHT - POPUP_MIN_HEIGHT))
112
95
  });
113
-
114
96
  if (h < POPUP_MIN_HEIGHT + 10) {
115
97
  if (!this.state.hide) {
116
98
  this.setState({
@@ -121,18 +103,13 @@ class Order extends _common.Com {
121
103
  });
122
104
  this.props.onClose();
123
105
  });
124
-
125
106
  this.refRating = (0, _preact.createRef)();
126
107
  this.refHandle = (0, _preact.createRef)();
127
108
  }
128
-
129
109
  componentDidMount() {
130
110
  this.mouseUp = e => this.onMouseUp(e);
131
-
132
111
  this.mouseMove = e => this.onMouseMove(e);
133
-
134
112
  this.mouseDown = e => this.onMouseDown(e);
135
-
136
113
  var $ratingHandle = this.refHandle.current;
137
114
  $ratingHandle.addEventListener('mousedown', this.mouseDown, {
138
115
  passive: true
@@ -159,7 +136,6 @@ class Order extends _common.Com {
159
136
  });
160
137
  this.close();
161
138
  }
162
-
163
139
  componentWillUnmount() {
164
140
  var $ratingHandle = this.refHandle.current;
165
141
  $ratingHandle.removeEventListener('mousedown', this.mouseDown, 0);
@@ -169,7 +145,6 @@ class Order extends _common.Com {
169
145
  window.removeEventListener('mousemove', this.mouseMove, 0);
170
146
  window.removeEventListener('touchmove', this.mouseMove, 0);
171
147
  }
172
-
173
148
  render() {
174
149
  if (this._show != this.props.show) {
175
150
  this._show = this.props.show;
@@ -177,7 +152,6 @@ class Order extends _common.Com {
177
152
  if (!this._show) this.close();else this.open();
178
153
  });
179
154
  }
180
-
181
155
  let cls = this.state.hide ? 'd-none' : '';
182
156
  return (0, _preact.h)("div", {
183
157
  class: cls
@@ -208,7 +182,6 @@ class Order extends _common.Com {
208
182
  cid: this.props.cid
209
183
  }))));
210
184
  }
211
-
212
185
  open() {
213
186
  if (!this.state.hide) return;
214
187
  if (!this.props.order_id) return;
@@ -225,7 +198,6 @@ class Order extends _common.Com {
225
198
  });
226
199
  });
227
200
  }
228
-
229
201
  onMouseDown(e) {
230
202
  this.mousePushed = true;
231
203
  this.animation.stop();
@@ -233,7 +205,6 @@ class Order extends _common.Com {
233
205
  if (e.touches && e.touches[0]) e = e.touches[0];
234
206
  this.mousePushedDy = e.pageY - window.pageYOffset - this.refRating.current.getBoundingClientRect().y;
235
207
  }
236
-
237
208
  onMouseUp(e) {
238
209
  if (!this.mousePushed) return;
239
210
  if (e.touches && e.touches[0]) e = e.touches[0];
@@ -245,7 +216,6 @@ class Order extends _common.Com {
245
216
  ratingHeight: h,
246
217
  overlayOpacity: Math.min(1, (h - POPUP_MIN_HEIGHT) / (POPUP_HARD_MAX_HEIGHT - POPUP_MIN_HEIGHT))
247
218
  });
248
-
249
219
  if (h < POPUP_MIN_HEIGHT + 10) {
250
220
  if (!this.state.hide) {
251
221
  this.setState({
@@ -258,7 +228,6 @@ class Order extends _common.Com {
258
228
  }
259
229
  });
260
230
  }
261
-
262
231
  onMouseMove(e) {
263
232
  if (!this.mousePushed) return;
264
233
  if (e.touches && e.touches[0]) e = e.touches[0];
@@ -268,18 +237,14 @@ class Order extends _common.Com {
268
237
  my = my - this.mousePushedDy;
269
238
  var K = 10000;
270
239
  var height = this.refRating.current.getBoundingClientRect().bottom - my;
271
-
272
240
  if (height > POPUP_MAX_HEIGHT) {
273
241
  var beta = K / (POPUP_HARD_MAX_HEIGHT - POPUP_MAX_HEIGHT) - POPUP_MAX_HEIGHT;
274
242
  height = POPUP_HARD_MAX_HEIGHT - K / (height + beta);
275
243
  }
276
-
277
244
  this.setState({
278
245
  ratingHeight: height,
279
246
  overlayOpacity: Math.min(1, (height - POPUP_MIN_HEIGHT) / (POPUP_HARD_MAX_HEIGHT - POPUP_MIN_HEIGHT))
280
247
  });
281
248
  }
282
-
283
249
  }
284
-
285
250
  exports.default = Order;
@@ -4,31 +4,21 @@ 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 ProductAttachments extends _common.Com {
17
12
  render() {
18
13
  let byType = _index.default.get(this.props.ev, 'by.type');
19
-
20
14
  if (byType === 'user') return null;
21
- let acc = this.props.store.matchAccount();
22
15
 
16
+ let acc = this.props.store.matchAccount();
23
17
  var attachments = _index.default.get(this.props.ev, 'data.message.attachments', []);
24
-
25
18
  let orders = _index.default.filter(attachments, att => att.type === 'order' && att.order).map(att => att.order);
26
-
27
19
  if (orders.length === 0) return null;
28
-
29
20
  let $orders = _index.default.map(orders, (order, index) => {
30
21
  let $note = null;
31
-
32
22
  if (order.note) {
33
23
  $note = (0, _preact.h)("div", null, (0, _preact.h)("div", {
34
24
  class: "order_attachment__label"
@@ -36,9 +26,7 @@ class ProductAttachments extends _common.Com {
36
26
  class: "order_attachment__text_truncate"
37
27
  }, order.note));
38
28
  }
39
-
40
29
  let $products = null;
41
-
42
30
  if (_index.default.size(order.items) > 0) {
43
31
  $products = (0, _preact.h)("div", null, (0, _preact.h)("div", {
44
32
  class: "order_attachment__label"
@@ -61,26 +49,20 @@ class ProductAttachments extends _common.Com {
61
49
  }, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", _index.default.formatCurrency(product.price))));
62
50
  }));
63
51
  }
64
-
65
52
  let $total = (0, _preact.h)("div", {
66
53
  class: "order_attachment__footer"
67
54
  }, (0, _preact.h)("div", null, this.props.t('total')), ' ', (0, _preact.h)("div", null, (0, _preact.h)("b", null, _index.default.formatCurrency(order.total))));
68
-
69
55
  let addr = _index.default.get(order, 'shipping.address', {});
70
-
71
56
  let fulladdr = [addr.street, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
72
57
  let address = fulladdr;
73
58
  let phoneattr = _index.default.find(_index.default.get(order, 'user.attributes', []), attr => attr.key === 'phones') || {
74
59
  key: 'phones',
75
60
  text: ''
76
61
  };
77
-
78
62
  let phone = _index.default.get(order, 'shipping.address.phone', '').trim();
79
-
80
63
  phone = phone || _index.default.trim(phoneattr.text);
81
64
  if (phone) phone = this.props.t('phn') + ': ' + phone;
82
65
  let $shipto = null;
83
-
84
66
  if (address || phone) {
85
67
  $shipto = (0, _preact.h)("div", null, (0, _preact.h)("div", {
86
68
  class: "order_attachment__label"
@@ -90,7 +72,6 @@ class ProductAttachments extends _common.Com {
90
72
  class: "order_attachment__text_truncate"
91
73
  }, phone));
92
74
  }
93
-
94
75
  return (0, _preact.h)("div", {
95
76
  class: `order_attachment order_attachment__${byType}`
96
77
  }, (0, _preact.h)("div", {
@@ -101,10 +82,7 @@ class ProductAttachments extends _common.Com {
101
82
  class: "order_attachment__label"
102
83
  }, this.props.t('payment')), (0, _preact.h)("div", null, "COD")), $note, $total);
103
84
  });
104
-
105
85
  return $orders;
106
86
  }
107
-
108
87
  }
109
-
110
88
  exports.default = ProductAttachments;
@@ -4,18 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _common = require("../common.js");
9
-
10
8
  var _preact = require("preact");
11
-
12
9
  var logo = require('../../assets/img/subiz-mono.svg');
13
-
14
10
  class PoweredBy extends _common.Com {
15
11
  constructor(props) {
16
12
  super(props);
17
13
  }
18
-
19
14
  render() {
20
15
  if (this.props.store.isMobile()) return null;
21
16
  let user = this.props.store.matchUser();
@@ -35,7 +30,5 @@ class PoweredBy extends _common.Com {
35
30
  alt: "power by"
36
31
  }), " Subiz"));
37
32
  }
38
-
39
33
  }
40
-
41
34
  exports.default = PoweredBy;