@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,27 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _default;
7
-
8
7
  var _index = _interopRequireDefault(require("./util/index.js"));
9
-
10
8
  var common = _interopRequireWildcard(require("./common.js"));
11
-
12
9
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
10
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  function _default(store) {
19
13
  let botM = store.matchBot();
20
14
  if (Object.keys(botM).length === 0) return;
21
-
22
15
  _index.default.each(botM, bot => {
23
16
  let run = async () => {
24
17
  run = () => true;
25
-
26
18
  let match = _index.default.checkRunConditions(bot.initiative_frequency, bot.conditions, store.matchLastBotRun(bot.id), store);
27
-
28
19
  if (!match) return;
29
20
  let {
30
21
  error
@@ -40,9 +31,7 @@ function _default(store) {
40
31
  if (error) return console.error(error);
41
32
  store.logBotRun(bot.id);
42
33
  };
43
-
44
34
  let triggers = _index.default.get(bot, 'triggers') || [];
45
-
46
35
  for (let tr of triggers) {
47
36
  if (!tr) continue;
48
37
  if (tr.disabled) continue;
@@ -4,27 +4,18 @@ 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 _preact = require("preact");
11
-
12
9
  var _common = require("../common.js");
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  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; }
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
14
  let notifCSS = (() => Promise.resolve().then(() => _interopRequireWildcard(require('./css.js'))))();
23
15
 
24
16
  class Notif extends _common.Com {
25
17
  constructor(props) {
26
18
  super(props);
27
-
28
19
  _defineProperty(this, "state", {
29
20
  close: true,
30
21
  cssready: false,
@@ -36,15 +27,12 @@ class Notif extends _common.Com {
36
27
  title: '',
37
28
  last_show: 0
38
29
  });
39
-
40
30
  setTimeout(async () => {
41
31
  let {
42
32
  body: impression
43
33
  } = await this.props.store.sendImpression(this.props.plugin.id);
44
34
  this.impressionToken = _index.default.get(impression, 'impression_token') || '';
45
-
46
35
  let image = _index.default.get(this.props, 'plugin.notification.background_url');
47
-
48
36
  _index.default.preloadImg(image, () => this.setState({
49
37
  imageReady: true
50
38
  }));
@@ -54,7 +42,6 @@ class Notif extends _common.Com {
54
42
  setOver(over) {
55
43
  if (!over) this.mouse_leave = _index.default.Date.now();else this.mouse_leave = 0;
56
44
  }
57
-
58
45
  randomTimestampt() {
59
46
  let random = Math.floor(Math.random() * 5);
60
47
  if (random == 0) return this.props.t('just_now');
@@ -63,29 +50,22 @@ class Notif extends _common.Com {
63
50
  if (random == 3) return '3 ' + this.props.t('minutes_ago');
64
51
  return '4 ' + this.props.t('minutes_ago');
65
52
  }
66
-
67
53
  onClick(e) {
68
54
  e.stopPropagation();
69
55
  if (this.props.plugin._dont_follow) return;
70
56
  this.props.store.sendConversion(this.props.plugin.id, null, this.impressionToken);
71
-
72
57
  let url = _index.default.get(this.props, 'plugin.notification.url');
73
-
74
58
  if (!url) return;
75
59
  if (!url.startsWith('http://') && !url.startsWith('https://')) url = '//' + url;
76
-
77
60
  let new_tab = _index.default.get(this.props, 'plugin.notification.new_tab', false);
78
-
79
61
  if (new_tab) return window.open(url);
80
62
  window.location.href = url;
81
63
  }
82
-
83
64
  onCloseButtonClick(e) {
84
65
  e.preventDefault();
85
66
  e.stopPropagation();
86
67
  this.setClose(true);
87
68
  }
88
-
89
69
  renderCloseButton() {
90
70
  return (0, _preact.h)("div", {
91
71
  class: "btn_close",
@@ -112,32 +92,25 @@ class Notif extends _common.Com {
112
92
  style: "stroke-width: 3 !important;"
113
93
  })));
114
94
  }
115
-
116
95
  async waitForT() {
117
96
  if (this.props.t) return;
118
97
  await _index.default.sleep(100);
119
98
  return this.waitForT();
120
99
  }
121
-
122
100
  async setClose(close) {
123
101
  await this.waitForT();
124
102
  if (!this.props.t) return;
125
-
126
103
  if (!close) {
127
104
  clearTimeout(this.lastCloseTimeout);
128
105
  this.setState({
129
106
  closeAnimation: false
130
107
  });
131
108
  let timestamp = this.randomTimestampt();
132
-
133
109
  let profiles = _index.default.get(this.props, 'plugin.notification.profiles', []);
134
-
135
110
  let user = profiles[Math.floor(Math.random() * _index.default.size(profiles))];
136
-
137
111
  if (user.avatar_url && user.avatar_url.startsWith('http')) {
138
112
  await _index.default.preloadImg(user.avatar_url);
139
113
  }
140
-
141
114
  _index.default.map(_index.default.get(this.props.plugin, 'notification.custom_avatar_urls'), url => {
142
115
  profiles.push({
143
116
  type: 'person',
@@ -149,13 +122,9 @@ class Notif extends _common.Com {
149
122
  age: randomAge()
150
123
  });
151
124
  });
152
-
153
125
  let i18n_messages = _index.default.get(this.props, 'plugin.notification.i18n_message_quill_deltas', []);
154
-
155
126
  let i18n_message = i18n_messages[Math.floor(Math.random() * _index.default.size(i18n_messages))];
156
-
157
127
  let i18n_title = _index.default.get(this.props, 'plugin.notification.i18n_title_quill_delta');
158
-
159
128
  return this.setState({
160
129
  close: false,
161
130
  last_show: _index.default.Date.now(),
@@ -165,7 +134,6 @@ class Notif extends _common.Com {
165
134
  message: this.props.t.i18n(i18n_message)
166
135
  });
167
136
  }
168
-
169
137
  this.setState({
170
138
  closeAnimation: true
171
139
  });
@@ -179,39 +147,29 @@ class Notif extends _common.Com {
179
147
  close: false
180
148
  }), 1000);
181
149
  }
182
-
183
150
  async refreshCSS() {
184
151
  let plugins = this.props.store.matchPlugin();
185
-
186
152
  let found = _index.default.find(plugins, plugin => plugin.id === this.props.plugin.id);
187
-
188
153
  if (!found) return;
189
154
  let css = (await notifCSS).default.default.toString();
190
-
191
155
  _index.default.setCss(this.props.plugin.id, this.$cssStyleDiv, css);
192
-
193
156
  this.setClose(this.state.close);
194
157
  }
195
-
196
158
  componentWillUnmount() {
197
159
  clearInterval(this.interval);
198
-
199
160
  _index.default.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
200
161
  }
201
-
202
162
  async componentDidMount() {
203
163
  this.setState({
204
164
  last_show: _index.default.Date.now()
205
165
  });
206
166
  this.$cssStyleDiv = document.getElementById('subiz-style-for-' + this.props.plugin.id);
207
-
208
167
  if (!this.$cssStyleDiv) {
209
168
  this.$cssStyleDiv = document.createElement('style');
210
169
  document.head.appendChild(this.$cssStyleDiv);
211
170
  this.$cssStyleDiv.type = 'text/css';
212
171
  this.$cssStyleDiv.id = 'subiz-style-for-' + this.props.plugin.id;
213
172
  }
214
-
215
173
  this.props.store.onResetCSS(this, () => this.refreshCSS());
216
174
  await this.refreshCSS();
217
175
  this.interval = setInterval(() => {
@@ -219,12 +177,10 @@ class Notif extends _common.Com {
219
177
  let mouseleave = this.mouse_leave;
220
178
  if (mouseleave === 0) mouseleave = _index.default.Date.now();
221
179
  if (_index.default.Date.now() - mouseleave < 1000) return;
222
-
223
180
  if (!this.state.close && !this.props.plugin._dont_close) {
224
181
  if (_index.default.Date.now() - this.state.last_show > 8000) return this.setClose(true);
225
182
  return;
226
183
  }
227
-
228
184
  if (_index.default.Date.now() - this.state.last_show > this.props.plugin.notification.interval_sec) {
229
185
  return this.setClose(false);
230
186
  }
@@ -236,45 +192,35 @@ class Notif extends _common.Com {
236
192
  this.setClose(false);
237
193
  }, 50);
238
194
  }
239
-
240
195
  renderTextFromQuillDelta(quilldelta, profile) {
241
196
  let qd = _index.default.parseJSON(quilldelta);
242
-
243
197
  if (!qd || !qd.ops) return null;
244
198
  return _index.default.map(qd.ops, op => {
245
199
  let out = null;
246
200
  if (!op.insert) return null;
247
201
  if (typeof op.insert == 'string') out = op.insert;
248
-
249
202
  if (_index.default.get(op, 'insert.dynamicField')) {
250
203
  let key = _index.default.get(op, 'insert.dynamicField.key');
251
-
252
204
  if (key === 'user.fullname') out = profile.fullname;
253
205
  if (key === 'user.email') out = profile.email;
254
206
  if (key === 'user.address') out = profile.address;
255
207
  if (key === 'user.phone') out = profile.phone;
256
208
  }
257
-
258
209
  if (_index.default.get(op, 'attributes.bold')) out = (0, _preact.h)("b", null, out);
259
210
  if (_index.default.get(op, 'attributes.italic')) out = (0, _preact.h)("b", null, out);
260
211
  return out;
261
212
  });
262
213
  }
263
-
264
214
  render() {
265
215
  if (!this.props.t) return null;
266
216
  if (!this.state.cssready) return null;
267
217
  if (!this.state.imageReady) return null;
268
218
  if (this.state.close) return null;
269
219
  if (!this.state.message) return null;
270
-
271
220
  let notif = _index.default.get(this.props.plugin, 'notification', {});
272
-
273
221
  if (!notif) return null;
274
222
  let animation = '';
275
-
276
223
  let pos = _index.default.get(notif, 'position', 'bottom-left');
277
-
278
224
  if (this.props.mobile) pos = _index.default.get(notif, 'mobile_position', pos);
279
225
  if (pos === 'top-left' || pos === 'top-right') animation = 'fadeInDown';else if (pos === 'top-center') animation = 'fadeInDownCenter';else if (pos === 'bottom-center') animation = 'fadeInUpCenter';else if (pos === 'bottom-right') {
280
226
  animation = 'fadeInUpBig';
@@ -319,28 +265,21 @@ class Notif extends _common.Com {
319
265
  style: _index.default.js2css(notif.subtext_style)
320
266
  }, this.state.timestamp))));
321
267
  }
322
-
323
268
  }
324
-
325
269
  exports.default = Notif;
326
-
327
270
  function randomName() {
328
271
  let db = ['Kiều Thanh', 'Phương Anh', 'Lê Thùy Linh', 'Trang Nguyễn', 'Thanh Hoa', 'Hoài Đức', 'Huơng Giang'];
329
272
  return db[Math.floor(Math.random() * db.length)];
330
273
  }
331
-
332
274
  function randomAge() {
333
275
  return 15 + Math.floor(Math.random() * 20);
334
276
  }
335
-
336
277
  function ramdomPhone() {
337
278
  return '+84' + Math.floor(Math.random() * 10) + Math.floor(Math.random() * 10) + Math.floor(Math.random() * 10) + Math.floor(Math.random() * 10) + Math.floor(Math.random() * 10) + Math.floor(Math.random() * 10) + 'xxxx';
338
279
  }
339
-
340
280
  function randomEmail() {
341
281
  return randomName().split(' ').join('.').toLowerCase() + '@gmail.com';
342
282
  }
343
-
344
283
  function randomAddress() {
345
284
  let db = ['Dịch Vọng Hậu, Cầu Giấy', 'Quận 1, TP Hồ Chí Minh', 'Ngõ 34 Tôn Thất Thuyết', '87 Phạm Hùng', 'Đống Đa, Hà Nội'];
346
285
  return db[Math.floor(Math.random() * db.length)];
@@ -4,7 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _default = require('css-loader!less-loader!../../assets/less/notif.less');
9
-
10
8
  exports.default = _default;
@@ -4,26 +4,19 @@ 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 AgentsAvatar extends _common.Com {
17
12
  constructor(props) {
18
13
  super(props);
19
14
  }
20
-
21
15
  render() {
22
16
  let accountSetting = this.props.plugin.chatbox;
23
17
  let acc = this.props.store.matchAccount();
24
18
  var tooltippos = this.props.tooltipPos || 'bottom';
25
19
  var mode = this.props.mode || 'primary';
26
-
27
20
  if (accountSetting && accountSetting.hide_agent_profile) {
28
21
  return (0, _preact.h)("div", {
29
22
  class: `group-avatar group-avatar--${mode}`
@@ -39,25 +32,18 @@ class AgentsAvatar extends _common.Com {
39
32
  src: this.props.store.replaceFileUrl(acc.logo_url) || require('../../assets/img/image_default.png')
40
33
  })));
41
34
  }
42
-
43
35
  let agentM = this.props.store.matchAgent('*');
44
-
45
36
  var agents = _index.default.map(this.props.agent_ids, id => agentM[id]);
46
-
47
37
  if (this.props.agent_ids === undefined || _index.default.size(this.props.agent_ids) === 0) {
48
38
  var agids = _index.default.get(accountSetting, 'header.agent_ids', []);
49
-
50
39
  agids = _index.default.filter(agids, id => !!agentM[id]);
51
-
52
40
  if (agids.length !== 0) {
53
41
  agents = _index.default.map(agids, id => agentM[id]);
54
42
  } else {
55
43
  agents = _index.default.filter(agentM, agent => agent.type === 'agent');
56
44
  }
57
45
  }
58
-
59
46
  agents = _index.default.filter(agents, ag => !!ag);
60
-
61
47
  if (agents.length === 0) {
62
48
  return (0, _preact.h)("div", {
63
49
  class: `group-avatar group-avatar--${mode}`
@@ -157,7 +143,5 @@ class AgentsAvatar extends _common.Com {
157
143
  src: this.props.store.replaceFileUrl(rightAgent.avatar_url) || require('../../assets/img/default_avatar.png')
158
144
  })));
159
145
  }
160
-
161
146
  }
162
-
163
147
  exports.default = AgentsAvatar;
@@ -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 AudioAttachments extends _common.Com {
17
12
  constructor(props) {
18
13
  super(props);
19
14
  }
20
-
21
15
  render() {
22
16
  let byType = _index.default.get(this.props.ev, 'by.type');
23
-
24
17
  var attachments = _index.default.get(this.props.ev, 'data.message.attachments', []);
25
-
26
18
  var audios = [];
27
-
28
19
  _index.default.each(attachments, (att, i) => {
29
20
  if (!att) return;
30
21
  if (_index.default.includes(att.mimetype, 'audio')) audios.push(att);
31
22
  });
32
-
33
23
  if (audios.length === 0) return null;
34
-
35
24
  var $audios = _index.default.map(audios, (audio, index) => {
36
25
  return (0, _preact.h)("div", {
37
26
  key: index,
@@ -44,12 +33,9 @@ class AudioAttachments extends _common.Com {
44
33
  type: audio.mimetype
45
34
  })));
46
35
  });
47
-
48
36
  return (0, _preact.h)("div", {
49
37
  class: `message-${byType}`
50
38
  }, $audios);
51
39
  }
52
-
53
40
  }
54
-
55
41
  exports.default = AudioAttachments;
@@ -4,43 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _Buttons = _interopRequireDefault(require("./Buttons.js"));
9
-
10
8
  var _index = _interopRequireDefault(require("../util/index.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
  class ButtonAttachments extends _common.Com {
19
13
  constructor(props) {
20
14
  super(props);
21
15
  }
22
-
23
16
  render() {
24
17
  let byType = _index.default.get(this.props.ev, 'by.type');
25
-
26
18
  if (byType === 'user') return null;
27
- let buttons = [];
28
19
 
20
+ let buttons = [];
29
21
  let attachments = _index.default.get(this.props.ev, 'data.message.attachments', []);
30
-
31
22
  _index.default.each(attachments, (att, i) => {
32
23
  if (!att || _index.default.get(att, 'type') !== 'button') return;
33
-
34
24
  _index.default.each(_index.default.get(att, 'buttons') || [], btn => buttons.push(btn));
35
25
  });
36
-
37
26
  return (0, _preact.h)(_Buttons.default, {
38
27
  store: this.props.store,
39
28
  buttons: buttons,
40
29
  t: this.props.t
41
30
  });
42
31
  }
43
-
44
32
  }
45
-
46
33
  exports.default = ButtonAttachments;
@@ -4,23 +4,16 @@ 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 Buttons extends _common.Com {
17
12
  constructor(props) {
18
13
  super(props);
19
14
  }
20
-
21
15
  render() {
22
16
  if (_index.default.size(this.props.buttons) === 0) return null;
23
-
24
17
  var $buttons = _index.default.map(this.props.buttons, (button, index) => {
25
18
  if (button.type === 'call_button') {
26
19
  return (0, _preact.h)("a", {
@@ -30,7 +23,6 @@ class Buttons extends _common.Com {
30
23
  title: button.title
31
24
  }, this.props.t.i18n(button.i18n_title) || button.title);
32
25
  }
33
-
34
26
  if (button.type === 'url_button') {
35
27
  return (0, _preact.h)("a", {
36
28
  class: "url-button-attachment",
@@ -40,7 +32,6 @@ class Buttons extends _common.Com {
40
32
  title: button.title
41
33
  }, this.props.t.i18n(button.i18n_title) || button.title || button.url);
42
34
  }
43
-
44
35
  if (button.type === 'postback_button') {
45
36
  return (0, _preact.h)("a", {
46
37
  class: "url-button-attachment",
@@ -48,17 +39,13 @@ class Buttons extends _common.Com {
48
39
  onClick: _ => this.props.onSelect(button)
49
40
  }, this.props.t.i18n(button.i18n_title) || button.title);
50
41
  }
51
-
52
42
  if (button.type === 'widget_ask_desktop_notify_button') return null;
53
43
  if (button.type === 'widget_ask_contact_info_button') return null;
54
44
  return null;
55
45
  });
56
-
57
46
  return (0, _preact.h)("div", {
58
47
  class: "button-attachments"
59
48
  }, $buttons);
60
49
  }
61
-
62
50
  }
63
-
64
51
  exports.default = Buttons;