@subiz/widget-v4 4.0.99 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiled_src/call/call.js +3 -3
- package/compiled_src/chatbox/AgentsAvatar.js +0 -3
- package/compiled_src/chatbox/ButtonAttachments.js +0 -1
- package/compiled_src/chatbox/ChatButton.js +0 -5
- package/compiled_src/chatbox/DropdownSelect.js +4 -5
- package/compiled_src/chatbox/Event.js +0 -2
- package/compiled_src/chatbox/Events.js +1 -9
- package/compiled_src/chatbox/FormAttachment.js +0 -1
- package/compiled_src/chatbox/GenericTemplateAttachments.js +0 -3
- package/compiled_src/chatbox/Header.js +5 -2
- package/compiled_src/chatbox/InfoMessage.js +0 -1
- package/compiled_src/chatbox/MessageInput.js +3 -3
- package/compiled_src/chatbox/Order.js +3 -1
- package/compiled_src/chatbox/OrderAttachments.js +0 -1
- package/compiled_src/chatbox/QuickReplies.js +0 -1
- package/compiled_src/chatbox/Rating.js +3 -1
- package/compiled_src/chatbox/TextMessage.js +0 -2
- package/compiled_src/chatbox/Typing.js +0 -1
- package/compiled_src/chatbox/Widget.js +4 -18
- package/compiled_src/chatbox/main.js +0 -1
- package/compiled_src/chatbox/releaseAnimation.js +0 -1
- package/compiled_src/contact/contact.js +3 -7
- package/compiled_src/lib.js +7 -18
- package/compiled_src/notif/notif.js +3 -3
- package/compiled_src/order/address_picker.js +4 -6
- package/compiled_src/order/index.js +0 -2
- package/compiled_src/order/order.js +4 -7
- package/compiled_src/plugin.js +0 -9
- package/compiled_src/popup/countdown.js +3 -5
- package/compiled_src/popup/popup.js +3 -8
- package/compiled_src/popup/tick.core.commonjs.js +16 -158
- package/compiled_src/popup/tick.view.flip.commonjs.js +0 -25
- package/compiled_src/store/api.js +3 -9
- package/compiled_src/store/api_fake.js +3 -3
- package/compiled_src/store/store.js +6 -49
- package/compiled_src/util/campaign.js +0 -5
- package/compiled_src/util/common.js +1 -28
- package/compiled_src/util/extractor.js +0 -1
- package/compiled_src/util/gate.test.js +0 -1
- package/compiled_src/util/index.js +0 -1
- package/compiled_src/util/op.js +0 -1
- package/compiled_src/util/order.js +0 -4
- package/package.json +4 -4
- package/src/chatbox/Header.js +9 -3
- package/src/lib.js +5 -15
- package/src/store/store.js +1 -1
- package/src/util/common.js +1 -1
- package/dist/132.js +0 -6645
- package/dist/178.js +0 -406
- package/dist/213.js +0 -2950
- package/dist/335.js +0 -376
- package/dist/362.js +0 -107
- package/dist/441.js +0 -2840
- package/dist/605.js +0 -297
- 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/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/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/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 -5689
|
@@ -83,7 +83,6 @@ exports.requestAnimationFrame = requestAnimationFrame;
|
|
|
83
83
|
var setTimeout = f.contentWindow.setTimeout;
|
|
84
84
|
exports.setTimeout = setTimeout;
|
|
85
85
|
var setInterval = f.contentWindow.setInterval;
|
|
86
|
-
|
|
87
86
|
exports.setInterval = setInterval;
|
|
88
87
|
function convoOfEv(ev) {
|
|
89
88
|
if (!ev) return '';
|
|
@@ -278,7 +277,6 @@ function trimStart(s, prefix) {
|
|
|
278
277
|
while (s.charAt(0) === prefix) s = s.substr(1);
|
|
279
278
|
return s;
|
|
280
279
|
}
|
|
281
|
-
|
|
282
280
|
function throttle(func, wait, options) {
|
|
283
281
|
var context, args, result;
|
|
284
282
|
var timeout = null;
|
|
@@ -343,7 +341,7 @@ function orderBy(a, k, d) {
|
|
|
343
341
|
return clone;
|
|
344
342
|
}
|
|
345
343
|
function isPhone(phone) {
|
|
346
|
-
var re = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im;
|
|
344
|
+
var re = /^[\+]?[(]?[0-9]{2,3}[)]?[-\s\.]?[0-9]{3,4}[-\s\.]?[0-9]{4,6}$/im;
|
|
347
345
|
return re.test(String(phone));
|
|
348
346
|
}
|
|
349
347
|
function isURL(url) {
|
|
@@ -427,7 +425,6 @@ function replaceCssVariablePlugin(css, setting) {
|
|
|
427
425
|
ret.push(item);
|
|
428
426
|
continue;
|
|
429
427
|
}
|
|
430
|
-
|
|
431
428
|
var path = item.type.substr(2, item.type.length - 3);
|
|
432
429
|
var val = op.get(setting, path) || op.get(DEFVAL, path) || '';
|
|
433
430
|
ret.push(val);
|
|
@@ -493,14 +490,12 @@ function replaceCssVariable(css, setting) {
|
|
|
493
490
|
ret.push(val + 5);
|
|
494
491
|
continue;
|
|
495
492
|
}
|
|
496
|
-
|
|
497
493
|
var path = item.type.substr(2, item.type.length - 3);
|
|
498
494
|
var val = op.get(setting, path) || op.get(DEFVAL, path) || '';
|
|
499
495
|
val = norm2(val);
|
|
500
496
|
if (['mobile_button.width', 'mobile_button.height', 'mobile_button.margin_x', 'mobile_button.margin_y', 'desktop_button.width', 'desktop_button.height', 'desktop_button.margin_x', 'desktop_button.margin_y', 'width', 'height'].includes(path)) {
|
|
501
497
|
val += 'px';
|
|
502
498
|
}
|
|
503
|
-
|
|
504
499
|
if (path === 'height' && op.get(setting, 'window_mode') === 'full') {
|
|
505
500
|
ret.push('100%');
|
|
506
501
|
continue;
|
|
@@ -509,7 +504,6 @@ function replaceCssVariable(css, setting) {
|
|
|
509
504
|
}
|
|
510
505
|
return ret.join('');
|
|
511
506
|
}
|
|
512
|
-
|
|
513
507
|
function tokenize(arr, token) {
|
|
514
508
|
if (!arr || !arr.length) return [];
|
|
515
509
|
var out = [];
|
|
@@ -573,23 +567,18 @@ function js2css(js, onlyprops, variables) {
|
|
|
573
567
|
var newjs = {};
|
|
574
568
|
for (var prop in js) {
|
|
575
569
|
if (!js.hasOwnProperty(prop)) continue;
|
|
576
|
-
|
|
577
570
|
if (onlyprops && onlyprops.length > 0 && onlyprops.indexOf(prop) === -1) continue;
|
|
578
|
-
|
|
579
571
|
if (typeof js[prop] === 'string') newjs[prop] = trim(js[prop]);else newjs[prop] = js[prop];
|
|
580
572
|
}
|
|
581
573
|
js = newjs;
|
|
582
574
|
let style = '';
|
|
583
575
|
for (var prop in js) {
|
|
584
576
|
if (!js.hasOwnProperty(prop)) continue;
|
|
585
|
-
|
|
586
577
|
var filter = '';
|
|
587
578
|
if (js.blur) filter += 'blur(' + js.blur + ') ';
|
|
588
579
|
if (js.grayscale) filter += 'grayscale(' + js + ') ';
|
|
589
580
|
if (filter) style += 'filter: ' + filter + '!important;';
|
|
590
|
-
|
|
591
581
|
if (js.rotate !== undefined) style += 'transform:rotate(' + js.rotate + ') !important;';
|
|
592
|
-
|
|
593
582
|
if (js[prop] !== undefined) {
|
|
594
583
|
let propval = js[prop] + '';
|
|
595
584
|
map(variables, (value, name) => {
|
|
@@ -603,22 +592,15 @@ function js2css(js, onlyprops, variables) {
|
|
|
603
592
|
}
|
|
604
593
|
function browserName() {
|
|
605
594
|
var isOpera = !!window.opr && !!opr.addons || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
|
|
606
|
-
|
|
607
595
|
var isFirefox = typeof InstallTrigger !== 'undefined';
|
|
608
|
-
|
|
609
596
|
var isSafari = /constructor/i.test(window.HTMLElement) || function (p) {
|
|
610
597
|
return p.toString() === '[object SafariRemoteNotification]';
|
|
611
598
|
}(!window['safari'] || typeof safari !== 'undefined' && window['safari'].pushNotification);
|
|
612
|
-
|
|
613
599
|
var isIE = false || !!document.documentMode;
|
|
614
|
-
|
|
615
600
|
var isEdge = !isIE && !!window.StyleMedia;
|
|
616
|
-
|
|
617
601
|
var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
|
|
618
602
|
if (!isChrome) isChrome = navigator.userAgent.indexOf('Chrome');
|
|
619
|
-
|
|
620
603
|
var isEdgeChromium = isChrome && navigator.userAgent.indexOf('Edg') != -1;
|
|
621
|
-
|
|
622
604
|
var isBlink = (isChrome || isOpera) && !!window.CSS;
|
|
623
605
|
if (isOpera) return 'opera';
|
|
624
606
|
if (isFirefox) return 'firefox';
|
|
@@ -642,7 +624,6 @@ function osName() {
|
|
|
642
624
|
if (window.navigator.userAgent.indexOf('Linux') != -1) OSName = 'Linux';
|
|
643
625
|
return OSName;
|
|
644
626
|
}
|
|
645
|
-
|
|
646
627
|
function check_frequently(freq, lastrun, store) {
|
|
647
628
|
if (!lastrun) return true;
|
|
648
629
|
if (op.get(freq, 'once_per_user')) return false;
|
|
@@ -658,7 +639,6 @@ function check_frequently(freq, lastrun, store) {
|
|
|
658
639
|
function checkRunConditions(freq, conds, lastrun, store) {
|
|
659
640
|
var acc = store.matchAccount() || {};
|
|
660
641
|
var location = store.matchLocation() || {};
|
|
661
|
-
|
|
662
642
|
if (!check_frequently(freq, lastrun, store)) return false;
|
|
663
643
|
for (var i = 0; i < size(conds); i++) {
|
|
664
644
|
var cond = conds[i];
|
|
@@ -671,7 +651,6 @@ function checkRunConditions(freq, conds, lastrun, store) {
|
|
|
671
651
|
});
|
|
672
652
|
if (found) return false;
|
|
673
653
|
}
|
|
674
|
-
|
|
675
654
|
let urls = filter(cond.urls, url => norm(url));
|
|
676
655
|
if (size(urls) > 0) {
|
|
677
656
|
let found = find(urls, url => {
|
|
@@ -905,7 +884,6 @@ function diffYear(a, b, tzoffset) {
|
|
|
905
884
|
function sameDay(a, b, tzoffset) {
|
|
906
885
|
return diffDay(a, b, tzoffset) === 0;
|
|
907
886
|
}
|
|
908
|
-
|
|
909
887
|
function shortTime(utcms, tzoffset, now) {
|
|
910
888
|
var machineoffsetmin = -new Date().getTimezoneOffset();
|
|
911
889
|
var offsetmin = machineoffsetmin;
|
|
@@ -928,13 +906,9 @@ function shortTime(utcms, tzoffset, now) {
|
|
|
928
906
|
let tzdate = tztime.getDate();
|
|
929
907
|
if (tzhour < 10) tzhour = '0' + tzhour;
|
|
930
908
|
if (tzmin < 10) tzmin = '0' + tzmin;
|
|
931
|
-
|
|
932
909
|
if (sameDay(time, now, tzoffset)) return tzhour + ':' + tzmin;
|
|
933
|
-
|
|
934
910
|
if (diffDay(time, now, tzoffset) <= 5) return tzdddd + ', ' + tzhour + ':' + tzmin;
|
|
935
|
-
|
|
936
911
|
if (diffYear(time, now, tzoffset) === 0) return tzmonthname + ' ' + tzdate + ', ' + tzhour + ':' + tzmin;
|
|
937
|
-
|
|
938
912
|
return tzyear + '/' + tzmonth + '/' + tzdate + ', ' + tzhour + ':' + tzmin;
|
|
939
913
|
}
|
|
940
914
|
function unixSec(t) {
|
|
@@ -953,7 +927,6 @@ function getMs(t) {
|
|
|
953
927
|
}
|
|
954
928
|
return t * 1e3;
|
|
955
929
|
}
|
|
956
|
-
|
|
957
930
|
function detectLang() {
|
|
958
931
|
let urllang = getUrlParameter('sbz_locale');
|
|
959
932
|
let doclang = document.getElementsByTagName('html')[0].getAttribute('xml:lang') || document.getElementsByTagName('html')[0].getAttribute('lang');
|
|
@@ -10,7 +10,6 @@ var campaign = _interopRequireWildcard(require("./campaign.js"));
|
|
|
10
10
|
var order = _interopRequireWildcard(require("./order.js"));
|
|
11
11
|
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); }
|
|
12
12
|
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; }
|
|
13
|
-
|
|
14
13
|
var sb = {};
|
|
15
14
|
sb = Object.assign(sb, common);
|
|
16
15
|
sb.Gate = require('./gate.js').default;
|
package/compiled_src/util/op.js
CHANGED
|
@@ -51,7 +51,6 @@ function calcOrderTotal(order) {
|
|
|
51
51
|
if (!item.product) return 0;
|
|
52
52
|
let price = op.get(item, 'product.price', 0) * (item.quantity || 0);
|
|
53
53
|
ordervalue += price;
|
|
54
|
-
|
|
55
54
|
if (item.discount_type == 'percentage') {
|
|
56
55
|
if (item.discount_percentage > 0) {
|
|
57
56
|
beforeTaxDiscount += price * item.discount_percentage / 10000;
|
|
@@ -67,7 +66,6 @@ function calcOrderTotal(order) {
|
|
|
67
66
|
item.total = price;
|
|
68
67
|
subtotal += price;
|
|
69
68
|
});
|
|
70
|
-
|
|
71
69
|
let taxM = {};
|
|
72
70
|
op.map(order.items, (item, i) => {
|
|
73
71
|
if (!item.product) return;
|
|
@@ -89,7 +87,6 @@ function calcOrderTotal(order) {
|
|
|
89
87
|
} else if (order.discount_type == 'amount') {
|
|
90
88
|
computed_discount = order.discount_amount || 0;
|
|
91
89
|
}
|
|
92
|
-
|
|
93
90
|
let shippingfee = op.get(order, 'shipping.nominal_fee', 0);
|
|
94
91
|
if (shippingfee > 0) {
|
|
95
92
|
if (op.get(order, 'shipping.tax.id')) {
|
|
@@ -105,7 +102,6 @@ function calcOrderTotal(order) {
|
|
|
105
102
|
totaltax = 0;
|
|
106
103
|
op.map(taxM, t => totaltax += t.taxprice);
|
|
107
104
|
let total = subtotal + totaltax - computed_discount + shippingfee;
|
|
108
|
-
|
|
109
105
|
total += order.adjustment || 0;
|
|
110
106
|
if (total < 0) total = 0;
|
|
111
107
|
order.subtotal = subtotal;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subiz/widget-v4",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.2",
|
|
4
4
|
"main": "./compiled_src/lib.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "npx webpack serve --config webpack.dev.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"file-loader": "^6.2.0",
|
|
20
20
|
"less": "^4.1.3",
|
|
21
21
|
"less-loader": "^11.1.0",
|
|
22
|
-
"marked": "^4.2.
|
|
22
|
+
"marked": "^4.2.4",
|
|
23
23
|
"preact": "^10.11.3"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"babel-loader": "^9.1.0",
|
|
32
32
|
"babel-plugin-syntax-jsx": "^6.18.0",
|
|
33
33
|
"html-webpack-plugin": "^5.5.0",
|
|
34
|
-
"puppeteer": "^19.
|
|
34
|
+
"puppeteer": "^19.4.0",
|
|
35
35
|
"webpack": "^5.75.0",
|
|
36
36
|
"webpack-bundle-analyzer": "^4.7.0",
|
|
37
|
-
"webpack-cli": "^5.0.
|
|
37
|
+
"webpack-cli": "^5.0.1",
|
|
38
38
|
"webpack-dev-server": "^4.11.1"
|
|
39
39
|
}
|
|
40
40
|
}
|
package/src/chatbox/Header.js
CHANGED
|
@@ -187,7 +187,8 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
187
187
|
return (
|
|
188
188
|
<div
|
|
189
189
|
class={`widget-header--wrap-button-back ${unreadcount ? 'widget-header--has-convo-unred' : ''}`}
|
|
190
|
-
onClick={(e) => this.onBackClick(e)}
|
|
190
|
+
onClick={(e) => this.onBackClick(e)}
|
|
191
|
+
>
|
|
191
192
|
<div class='widget-header--button-back' data-tooltip={this.props.t('menu_back')}></div>
|
|
192
193
|
{$unreadcount}
|
|
193
194
|
</div>
|
|
@@ -202,7 +203,8 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
202
203
|
class='widget-header--button widget-header--button-close'
|
|
203
204
|
data-tooltip={this.props.t('close')}
|
|
204
205
|
data-tooltip-position='bottom'
|
|
205
|
-
onClick={(e) => this.onCloseClick(e)}
|
|
206
|
+
onClick={(e) => this.onCloseClick(e)}
|
|
207
|
+
>
|
|
206
208
|
<span class='widget-header--button-close-icon'></span>
|
|
207
209
|
</div>
|
|
208
210
|
)
|
|
@@ -227,4 +229,8 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
|
|
|
227
229
|
}
|
|
228
230
|
}
|
|
229
231
|
|
|
230
|
-
let getJoinedNameMember = (agents) =>
|
|
232
|
+
let getJoinedNameMember = (agents) => {
|
|
233
|
+
agents = sb.filter(agents, (agent) => sb.trim(agent.fullname))
|
|
234
|
+
if (!agents.length) return null
|
|
235
|
+
return sb.map(agents, (agent) => agent.fullname).join(', ')
|
|
236
|
+
}
|
package/src/lib.js
CHANGED
|
@@ -20,18 +20,6 @@ class Widget {
|
|
|
20
20
|
this.store.onConvoEvent({_isMounted: true}, (ev) => sb.map(this.subs, (sub) => sub(ev)))
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
setLang(obj) {
|
|
24
|
-
var xhttp = new XMLHttpRequest()
|
|
25
|
-
xhttp.open('GET', 'https://api.sbz.vn/4.0/oldlang', true)
|
|
26
|
-
xhttp.send()
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
toggleLangDebugMode() {
|
|
30
|
-
var xhttp = new XMLHttpRequest()
|
|
31
|
-
xhttp.open('GET', 'https://api.sbz.vn/4.0/oldlangdebug', true)
|
|
32
|
-
xhttp.send()
|
|
33
|
-
}
|
|
34
|
-
|
|
35
23
|
async waitReady(cb) {
|
|
36
24
|
await this.store.readyGate.entry()
|
|
37
25
|
cb()
|
|
@@ -146,10 +134,7 @@ class Widget {
|
|
|
146
134
|
version = () => '4.5'
|
|
147
135
|
|
|
148
136
|
setSetting = (setting) => this.store.setSetting({account_setting: setting})
|
|
149
|
-
getSetting = (_) => ({account_setting: sb.cloneDeep(this.store.matchAccountSetting())})
|
|
150
|
-
|
|
151
137
|
getUser = () => sb.parseJSON(sb.stringify(this.store.matchUser()))
|
|
152
|
-
|
|
153
138
|
setViewingProduct = (p) => this.store.linkProduct(p)
|
|
154
139
|
getViewingProduct = () => this.store.getLinkedProduct()
|
|
155
140
|
|
|
@@ -160,6 +145,11 @@ class Widget {
|
|
|
160
145
|
return this.pluginMgr.setCurrentChatboxLocale(locale)
|
|
161
146
|
}
|
|
162
147
|
|
|
148
|
+
async setLanguage(locale) {
|
|
149
|
+
await this.domGate.entry()
|
|
150
|
+
return this.pluginMgr.setCurrentChatboxLocale(locale)
|
|
151
|
+
}
|
|
152
|
+
|
|
163
153
|
async setPluginLocale(id, locale) {
|
|
164
154
|
await this.domGate.entry()
|
|
165
155
|
return this.pluginMgr.setPluginLocale(id, locale)
|
package/src/store/store.js
CHANGED
|
@@ -469,7 +469,7 @@ export default class Store {
|
|
|
469
469
|
|
|
470
470
|
let convo = this.cache.match('convo_' + id) || {}
|
|
471
471
|
let mem = sb.find(convo.members, (m) => m.id === user.id)
|
|
472
|
-
mem.seen_at = Date.now()
|
|
472
|
+
if (mem) mem.seen_at = Date.now()
|
|
473
473
|
this._setConvo(convo)
|
|
474
474
|
this.g_haveSentSeenM[lastmsgsent.id] = true
|
|
475
475
|
})
|
package/src/util/common.js
CHANGED
|
@@ -312,7 +312,7 @@ export function orderBy(a, k, d) {
|
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
export function isPhone(phone) {
|
|
315
|
-
var re = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
|
|
315
|
+
var re = /^[\+]?[(]?[0-9]{2,3}[)]?[-\s\.]?[0-9]{3,4}[-\s\.]?[0-9]{4,6}$/im
|
|
316
316
|
return re.test(String(phone))
|
|
317
317
|
}
|
|
318
318
|
|