Переделки debouncedPosChange

This commit is contained in:
Book Pauk
2019-02-02 18:39:38 +07:00
parent 0276bcb8b3
commit 98fd921f98
2 changed files with 14 additions and 9 deletions

View File

@@ -81,6 +81,7 @@ import SettingsPage from './SettingsPage/SettingsPage.vue';
import bookManager from './share/bookManager'; import bookManager from './share/bookManager';
import readerApi from '../../api/reader'; import readerApi from '../../api/reader';
import _ from 'lodash';
import {sleep} from '../../share/utils'; import {sleep} from '../../share/utils';
export default @Component({ export default @Component({
@@ -101,9 +102,7 @@ export default @Component({
if (textPage.bookPos != newValue) { if (textPage.bookPos != newValue) {
textPage.bookPos = newValue; textPage.bookPos = newValue;
} }
if (this.lastOpenedBook && this.lastOpenedBook.bookPos != newValue) { this.debouncedCommitOpenedBook(newValue);
this.commit('reader/setOpenedBook', Object.assign({}, this.lastOpenedBook, {bookPos: newValue, bookPosSeen: this.bookPosSeen}));
}
} }
}, },
routeParamPos: function(newValue) { routeParamPos: function(newValue) {
@@ -147,6 +146,16 @@ class Reader extends Vue {
this.lastActivePage = false; this.lastActivePage = false;
this.debouncedUpdateRoute = _.debounce(() => {
this.updateRoute();
}, 1000);
this.debouncedCommitOpenedBook = _.debounce((newValue) => {
if (this.lastOpenedBook && this.lastOpenedBook.bookPos != newValue) {
this.commit('reader/setOpenedBook', Object.assign({}, this.lastOpenedBook, {bookPos: newValue, bookPosSeen: this.bookPosSeen}));
}
}, 500);
document.addEventListener('fullscreenchange', () => { document.addEventListener('fullscreenchange', () => {
this.fullScreenActive = (document.fullscreenElement !== null); this.fullScreenActive = (document.fullscreenElement !== null);
}); });
@@ -205,7 +214,7 @@ class Reader extends Vue {
if (event.bookPosSeen !== undefined) if (event.bookPosSeen !== undefined)
this.bookPosSeen = event.bookPosSeen; this.bookPosSeen = event.bookPosSeen;
this.bookPos = event.bookPos; this.bookPos = event.bookPos;
this.updateRoute(); this.debouncedUpdateRoute();
} }
get toolBarActive() { get toolBarActive() {

View File

@@ -44,7 +44,7 @@ const minLayoutWidth = 100;
export default @Component({ export default @Component({
watch: { watch: {
bookPos: function(newValue) { bookPos: function(newValue) {
this.debouncedEmitPosChange(newValue); this.$emit('book-pos-changed', {bookPos: newValue, bookPosSeen: this.bookPosSeen});
this.draw(); this.draw();
}, },
settings: function() { settings: function() {
@@ -79,10 +79,6 @@ class TextPage extends Vue {
this.config = this.$store.state.config; this.config = this.$store.state.config;
this.reader = this.$store.state.reader; this.reader = this.$store.state.reader;
this.debouncedEmitPosChange = _.debounce((newValue) => {
this.$emit('book-pos-changed', {bookPos: newValue, bookPosSeen: this.bookPosSeen});
}, 1000);
this.debouncedStartClickRepeat = _.debounce((x, y) => { this.debouncedStartClickRepeat = _.debounce((x, y) => {
this.startClickRepeat(x, y); this.startClickRepeat(x, y);
}, 800); }, 800);