@subiz/widget-v4 4.0.92 → 4.0.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/less/chatbox.less +8 -0
- package/assets/less/message.less +8 -3
- package/assets/less/order.less +10 -0
- 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 +98 -39
- 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 +1 -40
- 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 +99 -65
- 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 -249
- package/compiled_src/util/campaign.js +0 -13
- package/compiled_src/util/common.js +15 -185
- 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 +3 -7
- package/compiled_src/util/mutex.js +31 -0
- package/compiled_src/util/op.js +1 -14
- package/compiled_src/util/order.js +118 -0
- package/compiled_src/util/pubsub.js +0 -6
- package/compiled_src/util/pubsub.test.js +0 -2
- package/package.json +12 -13
- package/src/chatbox/OrderAttachments.js +111 -18
- package/src/lib.js +24 -2
- package/src/store/api.js +110 -21
- package/src/store/api_fake.js +5 -6
- package/src/store/store.js +47 -17
- package/src/util/index.js +4 -0
- package/src/util/mutex.js +27 -0
- package/src/util/order.js +120 -0
- package/dist/132.js +0 -7092
- package/dist/178.js +0 -406
- package/dist/18364d15f37.132.js +0 -1
- package/dist/18364d15f37.178.js +0 -1
- package/dist/18364d15f37.213.js +0 -1
- package/dist/18364d15f37.335.js +0 -1
- package/dist/18364d15f37.362.js +0 -1
- package/dist/18364d15f37.441.js +0 -1
- package/dist/18364d15f37.605.js +0 -1
- package/dist/18364d15f37.678.js +0 -1
- package/dist/18364d15f37.782.js +0 -1
- package/dist/18364d15f37.app.js +0 -1
- package/dist/18364d15f37.index.html +0 -26
- package/dist/18364d15f37.library.html +0 -26
- package/dist/18364d15f37.library.js +0 -1
- package/dist/18364d15f37.preview.html +0 -759
- package/dist/18364d15f37.preview.js +0 -1
- package/dist/18364d15f37.screenshoot.js +0 -1
- package/dist/213.js +0 -3215
- package/dist/335.js +0 -411
- package/dist/362.js +0 -107
- package/dist/441.js +0 -2834
- package/dist/605.js +0 -328
- package/dist/678.js +0 -107
- package/dist/782.js +0 -107
- package/dist/HASH +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/malicious-app.js +0 -13
- package/dist/screenshoot.html +0 -7
- package/dist/screenshoot.js +0 -5953
package/assets/less/chatbox.less
CHANGED
|
@@ -229,6 +229,14 @@ body div#sbz92 {
|
|
|
229
229
|
flex-shrink: 0;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
+
.justify-content-between {
|
|
233
|
+
justify-content: space-between;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.no-shrink {
|
|
237
|
+
flex-shrink: 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
232
240
|
@import 'avatar.less';
|
|
233
241
|
@import 'widget_header.less';
|
|
234
242
|
@import 'message_input.less';
|
package/assets/less/message.less
CHANGED
|
@@ -613,10 +613,11 @@ a.message_error {
|
|
|
613
613
|
.order_attachment__footer {
|
|
614
614
|
margin-top: 10px;
|
|
615
615
|
padding-top: 10px;
|
|
616
|
-
display: flex;
|
|
617
|
-
justify-content: space-between;
|
|
618
616
|
border-top: 1px solid #ccc;
|
|
619
|
-
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
.order_attachment__total {
|
|
620
|
+
font-size: 16px;
|
|
620
621
|
}
|
|
621
622
|
|
|
622
623
|
.order_attachment__label {
|
|
@@ -625,6 +626,10 @@ a.message_error {
|
|
|
625
626
|
margin-top: 10px;
|
|
626
627
|
}
|
|
627
628
|
|
|
629
|
+
.order_attachment__label.no_margin {
|
|
630
|
+
margin-top: 0;
|
|
631
|
+
}
|
|
632
|
+
|
|
628
633
|
.order_attachment.order_attachment__user {
|
|
629
634
|
margin-right: 50px;
|
|
630
635
|
|
package/assets/less/order.less
CHANGED
|
@@ -482,3 +482,13 @@ div.order__card.order__card__active {
|
|
|
482
482
|
height: 100%;
|
|
483
483
|
width: 100%;
|
|
484
484
|
}
|
|
485
|
+
|
|
486
|
+
.order_attachment__note {
|
|
487
|
+
font-size: 14px;
|
|
488
|
+
white-space: pre-wrap;
|
|
489
|
+
overflow: hidden;
|
|
490
|
+
text-overflow: ellipsis;
|
|
491
|
+
display: -webkit-box;
|
|
492
|
+
-webkit-line-clamp: 3;
|
|
493
|
+
-webkit-box-orient: vertical;
|
|
494
|
+
}
|
package/compiled_src/bot.js
CHANGED
|
@@ -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)];
|
package/compiled_src/call/css.js
CHANGED
|
@@ -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;
|