@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.
- 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 +1 -23
- 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 +42 -248
- 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 +1 -7
- package/compiled_src/util/mutex.js +31 -0
- package/compiled_src/util/op.js +1 -14
- package/compiled_src/util/pubsub.js +0 -6
- package/compiled_src/util/pubsub.test.js +0 -2
- package/package.json +11 -11
- 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 +31 -5
- package/src/util/index.js +1 -0
- package/src/util/mutex.js +27 -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
|
@@ -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;
|