@subiz/widget-v4 4.1.209 → 4.1.211
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/README.md +21 -2
- package/assets/less/chatbox.less +9 -0
- package/assets/less/form.less +10 -0
- package/assets/less/message.less +114 -13
- package/assets/less/widget.less +21 -16
- package/compiled_src/call/css.js +1 -1
- package/compiled_src/chatbox/Buttons.js +7 -4
- package/compiled_src/chatbox/ChatButton.js +115 -29
- package/compiled_src/chatbox/Event.js +37 -5
- package/compiled_src/chatbox/Events.js +348 -129
- package/compiled_src/chatbox/FormAttachment.js +1 -1
- package/compiled_src/chatbox/Header.js +6 -2
- package/compiled_src/chatbox/InfoMessage.js +1 -1
- package/compiled_src/chatbox/MessageInput.js +24 -9
- package/compiled_src/chatbox/OrderAttachments.js +13 -13
- package/compiled_src/chatbox/QuoteMessage.js +3 -2
- package/compiled_src/chatbox/TextMessage.js +22 -18
- package/compiled_src/chatbox/Widget.js +200 -129
- package/compiled_src/chatbox/block.js +39 -29
- package/compiled_src/chatbox/conversation-history.js +44 -0
- package/compiled_src/chatbox/event-layout.js +59 -0
- package/compiled_src/chatbox/greeting.js +32 -0
- package/compiled_src/common.js +13 -9
- package/compiled_src/form/css.js +1 -1
- package/compiled_src/lib.js +22 -32
- package/compiled_src/notif/css.js +1 -1
- package/compiled_src/plugin.js +11 -18
- package/compiled_src/popup/css.js +1 -1
- package/compiled_src/popup/popup.js +1 -1
- package/compiled_src/store/api.js +0 -2
- package/compiled_src/store/api_fake.js +1 -1
- package/compiled_src/store/attachments.js +28 -0
- package/compiled_src/store/chain.js +24 -10
- package/compiled_src/store/kv.js +9 -13
- package/compiled_src/store/lsdb.js +1 -1
- package/compiled_src/store/store.js +356 -117
- package/compiled_src/util/common.js +48 -41
- package/compiled_src/util/event.js +15 -0
- package/compiled_src/util/pubsub.js +28 -13
- package/compiled_src/util/url.js +18 -0
- package/dist/.HASH +1 -0
- package/dist/127.js +13 -13
- package/dist/132.js +1 -1
- package/dist/1a0ddc53cbb.127.js +1 -0
- package/dist/{1a08405c848.132.js → 1a0ddc53cbb.132.js} +1 -1
- package/dist/{1a08405c848.27.js → 1a0ddc53cbb.27.js} +1 -1
- package/dist/1a0ddc53cbb.278.js +1 -0
- package/dist/{1a08405c848.339.js → 1a0ddc53cbb.339.js} +1 -1
- package/dist/1a0ddc53cbb.459.js +1 -0
- package/dist/1a0ddc53cbb.app.js +1 -0
- package/dist/1a0ddc53cbb.chat.html +1 -0
- package/dist/1a0ddc53cbb.chat.js +1 -0
- package/dist/1a0ddc53cbb.form.html +1 -0
- package/dist/1a0ddc53cbb.form.js +1 -0
- package/dist/1a0ddc53cbb.index.html +72 -0
- package/dist/1a0ddc53cbb.library.html +72 -0
- package/dist/1a0ddc53cbb.library.js +1 -0
- package/dist/1a0ddc53cbb.preview.html +759 -0
- package/dist/1a0ddc53cbb.preview.js +1 -0
- package/dist/1a0ddc53cbb.webview.js +1 -0
- package/dist/27.js +4 -4
- package/dist/459.js +4 -4
- package/dist/screenshoot.js +1523 -654
- package/package.json +10 -3
- package/src/call/css.js +1 -1
- package/src/chatbox/Buttons.js +5 -4
- package/src/chatbox/ChatButton.js +120 -39
- package/src/chatbox/Event.js +38 -5
- package/src/chatbox/Events.js +306 -134
- package/src/chatbox/FormAttachment.js +1 -1
- package/src/chatbox/Header.js +4 -4
- package/src/chatbox/InfoMessage.js +1 -1
- package/src/chatbox/MessageInput.js +15 -10
- package/src/chatbox/OrderAttachments.js +13 -13
- package/src/chatbox/QuoteMessage.js +3 -2
- package/src/chatbox/TextMessage.js +21 -20
- package/src/chatbox/Widget.js +150 -150
- package/src/chatbox/block.js +29 -27
- package/src/chatbox/conversation-history.js +37 -0
- package/src/chatbox/event-layout.js +72 -0
- package/src/chatbox/greeting.js +13 -0
- package/src/common.js +15 -9
- package/src/form/css.js +1 -1
- package/src/lib.js +22 -35
- package/src/notif/css.js +1 -1
- package/src/plugin.js +11 -13
- package/src/popup/css.js +1 -1
- package/src/popup/popup.js +1 -1
- package/src/store/api.js +0 -2
- package/src/store/api_fake.js +1 -1
- package/src/store/attachments.js +21 -0
- package/src/store/chain.js +25 -12
- package/src/store/kv.js +10 -19
- package/src/store/lsdb.js +1 -1
- package/src/store/store.js +313 -130
- package/src/util/common.js +48 -43
- package/src/util/event.js +7 -0
- package/src/util/pubsub.js +27 -8
- package/src/util/url.js +14 -0
- package/test.cjs +59 -0
- package/webpack.prod.js +3 -0
- package/assets/less/contact.less +0 -126
- package/compiled_src/util/common.test.js +0 -414
- package/compiled_src/util/event.test.js +0 -38
- package/compiled_src/util/extractor.test.js +0 -299
- package/compiled_src/util/extractor.test2.js +0 -61
- package/compiled_src/util/gate.test.js +0 -18
- package/compiled_src/util/pubsub.test.js +0 -35
- package/dist/1a08405c848.127.js +0 -1
- package/dist/1a08405c848.278.js +0 -1
- package/dist/1a08405c848.459.js +0 -1
- package/dist/1a08405c848.74.js +0 -1
- package/dist/1a08405c848.997.js +0 -1
- package/dist/1a08405c848.app.js +0 -1
- package/dist/1a08405c848.chat.html +0 -1
- package/dist/1a08405c848.chat.js +0 -1
- package/dist/1a08405c848.form.html +0 -1
- package/dist/1a08405c848.form.js +0 -1
- package/dist/1a08405c848.index.html +0 -1
- package/dist/1a08405c848.library.html +0 -1
- package/dist/1a08405c848.library.js +0 -1
- package/dist/1a08405c848.preview.html +0 -1
- package/dist/1a08405c848.preview.js +0 -1
- package/dist/1a08405c848.webview.js +0 -1
- package/dist/74.js +0 -376
- package/dist/997.js +0 -37
- package/dist/HASH +0 -1
- package/src/contact/contact.js +0 -400
- package/src/contact/css.js +0 -1
- package/src/util/common.test.js +0 -301
- package/src/util/event.test.js +0 -31
- package/src/util/extractor.test.js +0 -240
- package/src/util/extractor.test2.js +0 -56
- package/src/util/gate.test.js +0 -20
- package/src/util/pubsub.test.js +0 -37
- /package/dist/{1a08405c848.185.js → 1a0ddc53cbb.185.js} +0 -0
- /package/dist/{1a08405c848.490.js → 1a0ddc53cbb.490.js} +0 -0
|
@@ -104,6 +104,20 @@ class Chain {
|
|
|
104
104
|
this.cache[chain] = inmemItemM;
|
|
105
105
|
return {};
|
|
106
106
|
}
|
|
107
|
+
merge(chain, items) {
|
|
108
|
+
if (this.dead) return;
|
|
109
|
+
const cached = this.cache[chain] || {};
|
|
110
|
+
for (const item of items) {
|
|
111
|
+
const node = {
|
|
112
|
+
...item,
|
|
113
|
+
chain,
|
|
114
|
+
full_id: chain + ':' + item.id
|
|
115
|
+
};
|
|
116
|
+
cached[item.id] = node;
|
|
117
|
+
this.db.put('items', node.full_id, node);
|
|
118
|
+
}
|
|
119
|
+
this.cache[chain] = cached;
|
|
120
|
+
}
|
|
107
121
|
del(chain, id) {
|
|
108
122
|
if (this.dead) return;
|
|
109
123
|
let inmemItemM = this.cache[chain] || {};
|
|
@@ -116,7 +130,7 @@ class Chain {
|
|
|
116
130
|
}
|
|
117
131
|
async reload(chain, api) {
|
|
118
132
|
if (this.dead) return;
|
|
119
|
-
let top = maxIndex(this.
|
|
133
|
+
let top = maxIndex(this.cache[chain] || {}) || {};
|
|
120
134
|
let topindex = top.index;
|
|
121
135
|
if (!topindex) topindex = Date.now();
|
|
122
136
|
var lastanchor = '';
|
|
@@ -133,7 +147,12 @@ class Chain {
|
|
|
133
147
|
});
|
|
134
148
|
});
|
|
135
149
|
if (newItems.length === 0 || newanchor === lastanchor) break;
|
|
136
|
-
|
|
150
|
+
let minindexitem = minIndex(fetchedItems) || {};
|
|
151
|
+
if (minindexitem.index <= topindex) {
|
|
152
|
+
lastanchor = this.anchorCache[chain] || newanchor;
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
if (size(fetchedItems) >= 200) {
|
|
137
156
|
let inmemItemM = this.cache[chain] || {};
|
|
138
157
|
let removeids = [];
|
|
139
158
|
map(inmemItemM, item => {
|
|
@@ -142,17 +161,12 @@ class Chain {
|
|
|
142
161
|
});
|
|
143
162
|
this.db.removes('items', removeids);
|
|
144
163
|
this.cache[chain] = {};
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
let minindexitem = minIndex(fetchedItems) || {};
|
|
148
|
-
if (minindexitem.index <= topindex) {
|
|
149
|
-
lastanchor = this.anchorCache[chain] || newanchor;
|
|
164
|
+
lastanchor = newanchor;
|
|
150
165
|
break;
|
|
151
166
|
}
|
|
152
167
|
lastanchor = newanchor;
|
|
153
168
|
}
|
|
154
|
-
for (
|
|
155
|
-
let item = fetchedItems[Object.keys(fetchedItems)[i]];
|
|
169
|
+
for (const item of Object.values(fetchedItems)) {
|
|
156
170
|
this.db.put('items', item.full_id, item);
|
|
157
171
|
this.cache[item.chain] = this.cache[item.chain] || {};
|
|
158
172
|
this.cache[item.chain][item.id] = item;
|
|
@@ -189,7 +203,7 @@ function maxIndex(obj) {
|
|
|
189
203
|
maxKey = keys[i];
|
|
190
204
|
}
|
|
191
205
|
}
|
|
192
|
-
return obj[
|
|
206
|
+
return obj[maxKey];
|
|
193
207
|
}
|
|
194
208
|
function map(collection, predicate) {
|
|
195
209
|
if (!collection) return [];
|
package/compiled_src/store/kv.js
CHANGED
|
@@ -32,21 +32,16 @@ class _default {
|
|
|
32
32
|
inmemItemM[item.key] = item.value;
|
|
33
33
|
});
|
|
34
34
|
this.cache = inmemItemM;
|
|
35
|
-
|
|
36
|
-
if (allkeys.length > KvMaxSize) {
|
|
37
|
-
let liveChance = KvMaxSize / 2 / allkeys.lenth;
|
|
38
|
-
let removekeys = [];
|
|
39
|
-
for (var i = 0; i < KvMaxSize; i++) {
|
|
40
|
-
let live = Math.random() <= liveChance;
|
|
41
|
-
if (live) continue;
|
|
42
|
-
let key = allkeys[i];
|
|
43
|
-
delete this.cache[key];
|
|
44
|
-
removekeys.push(key);
|
|
45
|
-
}
|
|
46
|
-
this.db.removes('items', [removekeys]);
|
|
47
|
-
}
|
|
35
|
+
this.trimCache();
|
|
48
36
|
this.initialized = true;
|
|
49
37
|
}
|
|
38
|
+
trimCache() {
|
|
39
|
+
const keys = Object.keys(this.cache);
|
|
40
|
+
if (keys.length <= KvMaxSize) return;
|
|
41
|
+
const removed = keys.slice(0, keys.length - Math.floor(KvMaxSize / 2));
|
|
42
|
+
for (const key of removed) delete this.cache[key];
|
|
43
|
+
this.db.removes('items', removed);
|
|
44
|
+
}
|
|
50
45
|
all() {
|
|
51
46
|
if (this.dead) return [];
|
|
52
47
|
if (!this.initialized) return [];
|
|
@@ -66,6 +61,7 @@ class _default {
|
|
|
66
61
|
key,
|
|
67
62
|
value
|
|
68
63
|
});
|
|
64
|
+
this.trimCache();
|
|
69
65
|
}
|
|
70
66
|
del(key) {
|
|
71
67
|
if (this.dead) return;
|