diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index e0e59977..5d211d27 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -1107,6 +1107,7 @@ class Reader { wasOpened = (wasOpened ? _.cloneDeep(wasOpened) : {}); wasOpened = Object.assign(wasOpened, { + url: (opts.url !== undefined ? opts.url : wasOpened.url), path: (opts.path !== undefined ? opts.path : wasOpened.path), bookPos: (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos), bookPosSeen: (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPosSeen), diff --git a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue index adbba068..7cf931af 100644 --- a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue +++ b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue @@ -317,6 +317,11 @@ class RecentBooksPage { const author = (bt.author ? bt.author : (bt.bookTitle ? bt.bookTitle : (book.uploadFileName ? book.uploadFileName : book.url))); result.push({ + key: book.key, + url: book.url, + path: book.path, + deleted: book.deleted, + touchTime, loadTime, desc: { @@ -326,10 +331,7 @@ class RecentBooksPage { textLen, }, readPart, - url: book.url, - path: book.path, fullTitle: bt.fullTitle, - key: book.key, sameBookKey: book.sameBookKey, active: (activeBook.key == book.key), activeParent: false, @@ -433,6 +435,8 @@ class RecentBooksPage { //..... this.tableData = result; + + this.$refs.virtualScroll.refresh(); } finally { this.lock.ret(); } @@ -501,8 +505,11 @@ class RecentBooksPage { this.$root.notify.info('Восстановлено из архива'); } - loadBook(row) { - this.$emit('load-book', {url: row.url, path: row.path}); + async loadBook(item) { + if (item.deleted) + await this.handleRestore(item.key); + + this.$emit('load-book', {url: item.url, path: item.path}); this.close(); }