@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
|
@@ -4,79 +4,54 @@ 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
|
var _ShadowDomRoot = _interopRequireDefault(require("./ShadowDomRoot.js"));
|
|
17
|
-
|
|
18
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
13
|
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); }
|
|
21
|
-
|
|
22
14
|
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; }
|
|
23
|
-
|
|
24
15
|
let mustrerender = [];
|
|
25
|
-
|
|
26
16
|
let marked = (obj, text) => {
|
|
27
17
|
mustrerender.push(obj);
|
|
28
18
|
return '';
|
|
29
19
|
};
|
|
30
|
-
|
|
31
20
|
const loadMarked = () => Promise.resolve().then(() => _interopRequireWildcard(require('marked')));
|
|
32
|
-
|
|
33
21
|
(async () => {
|
|
34
22
|
let markedf = (await loadMarked()).marked;
|
|
35
|
-
|
|
36
23
|
marked = (obj, text) => markedf(text);
|
|
37
|
-
|
|
38
24
|
_index.default.map(mustrerender, obj => obj.forceUpdate());
|
|
39
|
-
|
|
40
25
|
mustrerender = [];
|
|
41
26
|
})();
|
|
42
|
-
|
|
43
27
|
class TextMessage extends _common.Com {
|
|
44
28
|
render() {
|
|
45
29
|
var format = _index.default.get(this.props.ev, 'data.message.format', 'plaintext');
|
|
46
|
-
|
|
47
30
|
if (format === 'markdown') return this.renderMarkdown();
|
|
48
31
|
if (format === 'delta') return this.renderDelta();
|
|
49
32
|
return this.renderPlainText();
|
|
50
33
|
}
|
|
51
|
-
|
|
52
34
|
renderPlainText() {
|
|
53
35
|
var text = _index.default.get(this.props.ev, 'data.message.text');
|
|
54
|
-
|
|
55
36
|
text = _index.default.trim(text);
|
|
56
37
|
if (_index.default.size(text) === 0) return null;
|
|
57
|
-
|
|
58
38
|
let byType = _index.default.get(this.props.ev, 'by.type');
|
|
59
|
-
|
|
60
39
|
var tags = _index.default.extractText(text).map(tag => {
|
|
61
40
|
if (tag.type === 'emoji') return (0, _preact.h)(_Emoji.default, {
|
|
62
41
|
emojiCode: tag.text,
|
|
63
42
|
byType: byType
|
|
64
43
|
});
|
|
65
|
-
|
|
66
44
|
if (tag.type === 'link') {
|
|
67
45
|
let url = tag.text || '';
|
|
68
|
-
|
|
69
46
|
if (!url.startsWith('//') && !url.startsWith('https://') && !url.startsWith('http://') && !url.startsWith('data:')) {
|
|
70
47
|
url = '//' + url;
|
|
71
48
|
}
|
|
72
|
-
|
|
73
49
|
return (0, _preact.h)("a", {
|
|
74
50
|
href: url,
|
|
75
51
|
target: "_blank",
|
|
76
52
|
onClick: e => this.props.onLink(e, url)
|
|
77
53
|
}, tag.text);
|
|
78
54
|
}
|
|
79
|
-
|
|
80
55
|
if (tag.type === 'phone') return (0, _preact.h)("a", {
|
|
81
56
|
href: 'tel:' + tag.text
|
|
82
57
|
}, tag.text);
|
|
@@ -85,58 +60,45 @@ class TextMessage extends _common.Com {
|
|
|
85
60
|
}, tag.text);
|
|
86
61
|
return tag.text;
|
|
87
62
|
});
|
|
88
|
-
|
|
89
63
|
if (_index.default.size(tags) === 0) return null;
|
|
90
|
-
|
|
91
64
|
if (byType === 'agent') {
|
|
92
65
|
return (0, _preact.h)("div", {
|
|
93
66
|
class: "message-agent message-text--agent"
|
|
94
67
|
}, tags);
|
|
95
68
|
}
|
|
96
|
-
|
|
97
69
|
return (0, _preact.h)("div", {
|
|
98
70
|
class: "message-user message-text--user"
|
|
99
71
|
}, tags);
|
|
100
72
|
}
|
|
101
|
-
|
|
102
73
|
renderDelta() {
|
|
103
74
|
let deltas = _index.default.get(this.props.ev, 'data.message.quill_delta') || _index.default.get(this.props.ev, 'data.message.text');
|
|
104
|
-
|
|
105
75
|
let quilldeltas = _index.default.parseJSON(deltas) || {};
|
|
106
76
|
quilldeltas = trimQuillDelta(quilldeltas);
|
|
107
77
|
if (!quilldeltas || _index.default.size(quilldeltas.ops) === 0) return null;
|
|
108
|
-
|
|
109
78
|
let $deltas = _index.default.map(quilldeltas.ops, delta => {
|
|
110
79
|
let html = '';
|
|
111
80
|
let insert = delta.insert;
|
|
112
81
|
let attributes = delta.attributes;
|
|
113
|
-
|
|
114
82
|
if (insert.dynamicField) {
|
|
115
83
|
return _index.default.get(insert, 'dynamicField.text', '');
|
|
116
84
|
}
|
|
117
|
-
|
|
118
85
|
if (insert.mention) {
|
|
119
86
|
if (insert.mention.id == '*' || insert.mention.id == 'all') {
|
|
120
87
|
return (0, _preact.h)("span", {
|
|
121
88
|
class: "mention"
|
|
122
89
|
}, "@", this.$t('all'));
|
|
123
90
|
}
|
|
124
|
-
|
|
125
91
|
let ag = store.matchAgent(insert.mention.id);
|
|
126
|
-
|
|
127
92
|
let name = _index.default.getAgentDisplayName(ag, insert.mention.fullname);
|
|
128
|
-
|
|
129
93
|
return (0, _preact.h)("span", {
|
|
130
94
|
class: "mention",
|
|
131
95
|
"data-agent-id": ag.id,
|
|
132
96
|
"data-agent-fullname": name
|
|
133
97
|
}, "@", name);
|
|
134
98
|
}
|
|
135
|
-
|
|
136
99
|
if (insert.emoji) return (0, _preact.h)(_Emoji.default, {
|
|
137
100
|
emojiCode: `:${insert.emoji}:`
|
|
138
101
|
});
|
|
139
|
-
|
|
140
102
|
if (typeof insert === 'string') {
|
|
141
103
|
let $tags = _index.default.extractText(insert).map((tag, i) => {
|
|
142
104
|
if (tag.type === 'link') {
|
|
@@ -145,10 +107,8 @@ class TextMessage extends _common.Com {
|
|
|
145
107
|
target: "_blank"
|
|
146
108
|
}, tag.text);
|
|
147
109
|
}
|
|
148
|
-
|
|
149
110
|
return tag.text;
|
|
150
111
|
});
|
|
151
|
-
|
|
152
112
|
if (attributes) {
|
|
153
113
|
if (attributes.italic && attributes.bold) return (0, _preact.h)("span", {
|
|
154
114
|
style: "font-weight: bold !important; font-style: italic !important"
|
|
@@ -160,38 +120,28 @@ class TextMessage extends _common.Com {
|
|
|
160
120
|
style: "font-weight: bold !important"
|
|
161
121
|
}, $tags);
|
|
162
122
|
}
|
|
163
|
-
|
|
164
123
|
return (0, _preact.h)("span", null, $tags);
|
|
165
124
|
}
|
|
166
|
-
|
|
167
125
|
return null;
|
|
168
126
|
});
|
|
169
|
-
|
|
170
127
|
let byType = _index.default.get(this.ev, 'by.type');
|
|
171
|
-
|
|
172
128
|
if (byType !== 'user') byType = 'agent';
|
|
173
129
|
if (_index.default.size($deltas) === 0) return null;
|
|
174
|
-
|
|
175
130
|
if (byType === 'agent') {
|
|
176
131
|
return (0, _preact.h)("div", {
|
|
177
132
|
class: "message-agent message-text--agent"
|
|
178
133
|
}, $deltas);
|
|
179
134
|
}
|
|
180
|
-
|
|
181
135
|
return (0, _preact.h)("div", {
|
|
182
136
|
class: "message-user message-text--user"
|
|
183
137
|
}, $deltas);
|
|
184
138
|
}
|
|
185
|
-
|
|
186
139
|
renderMarkdown(text) {
|
|
187
140
|
if (!text) text = _index.default.get(this.props.ev, 'data.message.text');
|
|
188
141
|
if (_index.default.size(text) === 0) return null;
|
|
189
|
-
|
|
190
142
|
let byType = _index.default.get(this.props.ev, 'by.type');
|
|
191
|
-
|
|
192
143
|
text = _index.default.trim(text);
|
|
193
144
|
if (_index.default.size(text) === 0) return null;
|
|
194
|
-
|
|
195
145
|
if (byType === 'agent') {
|
|
196
146
|
return (0, _preact.h)("div", {
|
|
197
147
|
class: "markdown-message message-agent message-text--agent"
|
|
@@ -199,7 +149,6 @@ class TextMessage extends _common.Com {
|
|
|
199
149
|
html: marked(this, text)
|
|
200
150
|
}));
|
|
201
151
|
}
|
|
202
|
-
|
|
203
152
|
return (0, _preact.h)("div", {
|
|
204
153
|
class: "d-flex flex-column align-items-end"
|
|
205
154
|
}, (0, _preact.h)("div", {
|
|
@@ -208,37 +157,27 @@ class TextMessage extends _common.Com {
|
|
|
208
157
|
html: marked(this, text)
|
|
209
158
|
})));
|
|
210
159
|
}
|
|
211
|
-
|
|
212
160
|
}
|
|
213
|
-
|
|
214
161
|
exports.default = TextMessage;
|
|
215
|
-
|
|
216
162
|
function deltaToMarkdown(deltas) {
|
|
217
163
|
let output = '';
|
|
218
|
-
|
|
219
164
|
_index.default.each(deltas, (delta, idx) => {
|
|
220
165
|
let text = '';
|
|
221
166
|
let insert = delta.insert;
|
|
222
167
|
let attributes = delta.attributes;
|
|
223
168
|
if (insert.emoji) text = emojiCodes[insert.emoji] || '';
|
|
224
|
-
|
|
225
169
|
if (attributes) {
|
|
226
170
|
if (attributes.italic && attributes.bold) text = `*__${insert}__*`;else if (attributes.italic) text = `*${insert}*`;else if (attributes.bold) text = `**${insert}**`;else text = insert;
|
|
227
171
|
}
|
|
228
|
-
|
|
229
172
|
if (insert.dynamicField) text = `${_index.default.get(insert, 'dynamicField.text', '')}`;
|
|
230
|
-
|
|
231
173
|
if (!insert.emoji && !attributes && !insert.dynamicField) {
|
|
232
174
|
text = insert || '';
|
|
233
175
|
text = text.replace(/\n/g, '<br/>');
|
|
234
176
|
}
|
|
235
|
-
|
|
236
177
|
output += text;
|
|
237
178
|
});
|
|
238
|
-
|
|
239
179
|
return output;
|
|
240
180
|
}
|
|
241
|
-
|
|
242
181
|
const emojiCodes = {
|
|
243
182
|
like: '👍',
|
|
244
183
|
unlike: '👎',
|
|
@@ -256,14 +195,12 @@ const emojiCodes = {
|
|
|
256
195
|
surprised: '😮',
|
|
257
196
|
wink: '😉'
|
|
258
197
|
};
|
|
259
|
-
|
|
260
198
|
function trimQuillDelta(delta) {
|
|
261
199
|
if (!delta) return delta;
|
|
262
200
|
if (!delta.ops || !delta.ops.length) return delta;
|
|
263
201
|
let last = delta.ops[delta.ops.length - 1];
|
|
264
202
|
if (typeof last.insert != 'string') return delta;
|
|
265
203
|
let insert = last.insert.trim();
|
|
266
|
-
|
|
267
204
|
if (insert) {
|
|
268
205
|
if (last.insert != insert) {
|
|
269
206
|
let newops = delta.ops.slice();
|
|
@@ -284,7 +221,6 @@ function trimQuillDelta(delta) {
|
|
|
284
221
|
ops: newops
|
|
285
222
|
});
|
|
286
223
|
}
|
|
287
|
-
|
|
288
224
|
function absLink(url) {
|
|
289
225
|
if (!url.startsWith('http://') && !url.startsWith('https://') && !url.startsWith('//')) return 'http://' + url;
|
|
290
226
|
return url;
|
|
@@ -4,20 +4,14 @@ 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 Typing extends _common.Com {
|
|
17
12
|
constructor(props) {
|
|
18
13
|
super(props);
|
|
19
14
|
}
|
|
20
|
-
|
|
21
15
|
componentDidMount() {
|
|
22
16
|
this.setState({
|
|
23
17
|
isShow: false,
|
|
@@ -27,11 +21,8 @@ class Typing extends _common.Com {
|
|
|
27
21
|
if (_index.default.convoOfEv(ev) !== this.props.cid) return;
|
|
28
22
|
let user = this.props.store.matchUser();
|
|
29
23
|
if (_index.default.get(ev, 'by.id') === user.id) return;
|
|
30
|
-
|
|
31
24
|
let oldby = _index.default.get(this.state.ev, 'by.id');
|
|
32
|
-
|
|
33
25
|
if (oldby && _index.default.get(ev, 'by.id') !== oldby) return;
|
|
34
|
-
|
|
35
26
|
if (_index.default.get(ev, 'type') === 'message_sent') {
|
|
36
27
|
if (this.timer) clearTimeout(this.timer);
|
|
37
28
|
this.timer = null;
|
|
@@ -58,20 +49,14 @@ class Typing extends _common.Com {
|
|
|
58
49
|
}, 5000);
|
|
59
50
|
});
|
|
60
51
|
}
|
|
61
|
-
|
|
62
52
|
render() {
|
|
63
53
|
let account = this.props.store.matchAccount();
|
|
64
54
|
var cls = this.state.isShow ? '' : 'typing--hidden';
|
|
65
|
-
|
|
66
55
|
let byid = _index.default.get(this.state.ev, 'by.display_id', _index.default.get(this.state.ev, 'by.id'));
|
|
67
|
-
|
|
68
56
|
let agentName = _index.default.getAgentDisplayName(account, this.props.store.matchAgent(byid));
|
|
69
|
-
|
|
70
57
|
return (0, _preact.h)("div", {
|
|
71
58
|
class: `typing ${cls}`
|
|
72
59
|
}, agentName, " ", this.props.t('typing'));
|
|
73
60
|
}
|
|
74
|
-
|
|
75
61
|
}
|
|
76
|
-
|
|
77
62
|
exports.default = Typing;
|
|
@@ -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 VideoAttachments 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 videos = [];
|
|
27
|
-
|
|
28
19
|
_index.default.each(attachments, (att, i) => {
|
|
29
20
|
if (!att) return;
|
|
30
21
|
if (_index.default.includes(att.mimetype, 'video')) videos.push(att);
|
|
31
22
|
});
|
|
32
|
-
|
|
33
23
|
if (videos.length === 0) return null;
|
|
34
|
-
|
|
35
24
|
var $videos = _index.default.map(videos, (video, index) => {
|
|
36
25
|
return (0, _preact.h)("div", {
|
|
37
26
|
class: `video-attachment video-attachment--${byType}`
|
|
@@ -46,12 +35,9 @@ class VideoAttachments extends _common.Com {
|
|
|
46
35
|
onclick: "this.play()"
|
|
47
36
|
}));
|
|
48
37
|
});
|
|
49
|
-
|
|
50
38
|
return (0, _preact.h)("div", {
|
|
51
39
|
class: `message-${byType}`
|
|
52
40
|
}, $videos);
|
|
53
41
|
}
|
|
54
|
-
|
|
55
42
|
}
|
|
56
|
-
|
|
57
43
|
exports.default = VideoAttachments;
|