Переделки debouncedPosChange
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user