Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f203384b00 | ||
|
|
9ac3be455c | ||
|
|
20b74a9dcd | ||
|
|
3b848a5a86 | ||
|
|
a9b5e865a5 | ||
|
|
ab46a1b99d | ||
|
|
4a08465f5b | ||
|
|
a7960d6cd6 |
@@ -220,14 +220,19 @@ export default @Component({
|
||||
bookPos: function(newValue) {
|
||||
if (newValue !== undefined && this.activePage == 'TextPage') {
|
||||
const textPage = this.$refs.page;
|
||||
|
||||
if (textPage.bookPos != newValue) {
|
||||
textPage.bookPos = newValue;
|
||||
}
|
||||
this.debouncedSetRecentBook(newValue);
|
||||
|
||||
if (!this.scrollingActive)
|
||||
this.debouncedSetRecentBook(newValue);
|
||||
else
|
||||
this.scrollingSetRecentBook(newValue);
|
||||
}
|
||||
},
|
||||
routeParamPos: function(newValue) {
|
||||
if (newValue !== undefined && newValue != this.bookPos) {
|
||||
if (!this.paramPosIgnore && newValue !== undefined && newValue != this.bookPos) {
|
||||
this.bookPos = newValue;
|
||||
}
|
||||
},
|
||||
@@ -291,10 +296,6 @@ class Reader extends Vue {
|
||||
|
||||
this.lastActivePage = false;
|
||||
|
||||
this.debouncedUpdateRoute = _.debounce(() => {
|
||||
this.updateRoute();
|
||||
}, 1000);
|
||||
|
||||
this.debouncedSetRecentBook = _.debounce(async(newValue) => {
|
||||
const recent = this.mostRecentBook();
|
||||
if (recent && (recent.bookPos != newValue || recent.bookPosSeen !== this.bookPosSeen)) {
|
||||
@@ -302,8 +303,17 @@ class Reader extends Vue {
|
||||
|
||||
if (this.actionCur < 0 || (this.actionCur >= 0 && this.actionList[this.actionCur] != newValue))
|
||||
this.addAction(newValue);
|
||||
|
||||
this.paramPosIgnore = true;
|
||||
this.updateRoute();
|
||||
await this.$nextTick();
|
||||
this.paramPosIgnore = false;
|
||||
}
|
||||
}, 500);
|
||||
}, 500, {'maxWait':5000});
|
||||
|
||||
this.scrollingSetRecentBook = _.debounce((newValue) => {
|
||||
this.debouncedSetRecentBook(newValue);
|
||||
}, 15000, {'maxWait':20000});
|
||||
|
||||
document.addEventListener('fullscreenchange', () => {
|
||||
this.fullScreenActive = (document.fullscreenElement !== null);
|
||||
@@ -343,6 +353,8 @@ class Reader extends Vue {
|
||||
|
||||
await this.showWhatsNew();
|
||||
await this.showMigration();
|
||||
|
||||
this.updateRoute();
|
||||
})();
|
||||
}
|
||||
|
||||
@@ -507,7 +519,6 @@ class Reader extends Vue {
|
||||
if (event.bookPosSeen !== undefined)
|
||||
this.bookPosSeen = event.bookPosSeen;
|
||||
this.bookPos = event.bookPos;
|
||||
this.debouncedUpdateRoute();
|
||||
}
|
||||
|
||||
async bookManagerEvent(eventName, value) {
|
||||
@@ -654,6 +665,10 @@ class Reader extends Vue {
|
||||
page.stopTextScrolling();
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.scrollingActive) {
|
||||
this.scrollingSetRecentBook.flush();
|
||||
}
|
||||
}
|
||||
|
||||
stopSearch() {
|
||||
|
||||
@@ -405,6 +405,11 @@ class ServerStorage extends Vue {
|
||||
if (md.key && result[md.key])
|
||||
result[md.key] = utils.applyObjDiff(result[md.key], md.mod);
|
||||
|
||||
if (!bookManager.loaded) {
|
||||
this.warning('Ожидание загрузки списка книг перед синхронизацией');
|
||||
while (!bookManager.loaded) await utils.sleep(100);
|
||||
}
|
||||
|
||||
if (newRecent.rev != this.cachedRecent.rev)
|
||||
await this.setCachedRecent(newRecent);
|
||||
if (newRecentPatch.rev != this.cachedRecentPatch.rev)
|
||||
@@ -412,11 +417,6 @@ class ServerStorage extends Vue {
|
||||
if (newRecentMod.rev != this.cachedRecentMod.rev)
|
||||
await this.setCachedRecentMod(newRecentMod);
|
||||
|
||||
if (!bookManager.loaded) {
|
||||
this.warning('Ожидание загрузки списка книг перед синхронизацией');
|
||||
while (!bookManager.loaded) await utils.sleep(100);
|
||||
}
|
||||
|
||||
await bookManager.setRecent(result);
|
||||
} else {
|
||||
this.warning(`Неверный ответ сервера: ${recent.state}`);
|
||||
|
||||
@@ -15,7 +15,7 @@ server {
|
||||
gzip_types *;
|
||||
|
||||
location /api {
|
||||
proxy_pass http://localhost:44081;
|
||||
proxy_pass http://127.0.0.1:44081;
|
||||
}
|
||||
|
||||
location / {
|
||||
@@ -44,7 +44,7 @@ server {
|
||||
gzip_types *;
|
||||
|
||||
location /api {
|
||||
proxy_pass http://localhost:44081;
|
||||
proxy_pass http://127.0.0.1:44081;
|
||||
}
|
||||
|
||||
location /tmp {
|
||||
|
||||
Reference in New Issue
Block a user