К предыдущему

This commit is contained in:
Book Pauk
2019-08-22 20:01:48 +07:00
parent a2c393b06b
commit 0c654d9346
3 changed files with 25 additions and 16 deletions

View File

@@ -4,7 +4,7 @@
<Window @close="close"> <Window @close="close">
<template slot="header"> <template slot="header">
<span v-show="!loading">Последние {{tableData ? tableData.length : 0}} открытых книг</span> <span v-show="!loading">Последние {{tableData ? tableData.length : 0}} открытых книг</span>
<span v-show="loading"><i class="el-icon-loading"></i> Список загружается</span> <span v-show="loading"><i class="el-icon-loading" style="font-size: 30px"></i> <span style="position: relative; top: -5px">Список загружается</span></span>
</template> </template>
<el-table <el-table

View File

@@ -381,16 +381,16 @@ class Reader extends Vue {
this.debouncedUpdateRoute(); this.debouncedUpdateRoute();
} }
async bookManagerEvent(/*eventName*/) { async bookManagerEvent(eventName) {
/*const serverStorage = this.$refs.serverStorage; /*const serverStorage = this.$refs.serverStorage;
if (eventName == 'load-meta-finish') { if (eventName == '') {
serverStorage.init(); serverStorage.init();
const result = await bookManager.cleanRecentBooks(); const result = await bookManager.cleanRecentBooks();
if (result) if (result)
this.debouncedSaveRecent(); this.debouncedSaveRecent();
} }*/
if (eventName == 'recent-changed' || eventName == 'save-recent') { if (eventName == 'recent-changed') {
if (this.historyActive) { if (this.historyActive) {
this.$refs.historyPage.updateTableData(); this.$refs.historyPage.updateTableData();
} }
@@ -412,12 +412,12 @@ class Reader extends Vue {
} }
} }
if (eventName == 'recent-changed') { /*if (eventName == 'recent-changed') {
this.debouncedSaveRecentLast(); this.debouncedSaveRecentLast();
} else { } else {
this.debouncedSaveRecent(); this.debouncedSaveRecent();
} }*/
}*/ }
} }
get toolBarActive() { get toolBarActive() {

View File

@@ -44,7 +44,7 @@ class BookManager {
await utils.sleep(2000); await utils.sleep(2000);
let len = await bmMetaStore.length(); let len = await bmMetaStore.length();
for (let i = 0; i < len; i++) { for (let i = len - 1; i >= 0; i--) {
const key = await bmMetaStore.key(i); const key = await bmMetaStore.key(i);
const keySplit = key.split('-'); const keySplit = key.split('-');
@@ -67,7 +67,7 @@ class BookManager {
let key = null; let key = null;
len = await bmRecentStore.length(); len = await bmRecentStore.length();
for (let i = 0; i < len; i++) { for (let i = len - 1; i >= 0; i--) {
key = await bmRecentStore.key(i); key = await bmRecentStore.key(i);
if (key) { if (key) {
let r = await bmRecentStore.getItem(key); let r = await bmRecentStore.getItem(key);
@@ -339,6 +339,7 @@ class BookManager {
await bmRecentStore.setItem('recent-last', this.recentLast); await bmRecentStore.setItem('recent-last', this.recentLast);
this.recentChanged = true; this.recentChanged = true;
this.emit('recent-changed');
return result; return result;
} }
@@ -355,10 +356,11 @@ class BookManager {
this.recent[value.key].deleted = 1; this.recent[value.key].deleted = 1;
await bmRecentStore.setItem(value.key, this.recent[value.key]); await bmRecentStore.setItem(value.key, this.recent[value.key]);
this.recentLast = null; if (this.recentLast.key == value.key) {
await bmRecentStore.setItem('recent-last', this.recentLast); this.recentLast = null;
await bmRecentStore.setItem('recent-last', this.recentLast);
this.recentChanged = true; }
this.emit('recent-changed');
} }
async cleanRecentBooks() { async cleanRecentBooks() {
@@ -374,6 +376,7 @@ class BookManager {
this.sortedRecentCached = null; this.sortedRecentCached = null;
this.emit('recent-changed');
return isDel; return isDel;
} }
@@ -394,6 +397,7 @@ class BookManager {
this.recentLast = result; this.recentLast = result;
bmRecentStore.setItem('recent-last', this.recentLast);//no await bmRecentStore.setItem('recent-last', this.recentLast);//no await
this.emit('recent-changed');
return result; return result;
} }
@@ -423,8 +427,13 @@ class BookManager {
} }
emit(eventName, value) { emit(eventName, value) {
for (const listener of this.eventListeners) if (this.eventListeners) {
listener(eventName, value); (async() => {
await utils.sleep(1);
for (const listener of this.eventListeners)
listener(eventName, value);
})();
}
} }
} }