Просмотр исходного кода

Доделки скроллинга

Book Pauk 6 лет назад
Родитель
Сommit
00a10de5d1

+ 7 - 3
client/components/Reader/Reader.vue

@@ -53,7 +53,7 @@
                     @book-pos-changed="bookPosChanged"
                     @tool-bar-toggle="toolBarToggle"
                     @full-screen-toogle="fullScreenToggle"
-                    @scrolling-toggle="scrollingToggle"
+                    @stop-scrolling="stopScrolling"
                 ></component>
             </keep-alive>
 
@@ -250,8 +250,7 @@ class Reader extends Vue {
         this.setPositionActive = false;
         this.historyActive = false;
         this.settingsActive = false;
-        if (this.scrollingActive)
-            this.scrollingToggle();
+        this.stopScrolling();
     }
 
     loaderToggle() {
@@ -276,6 +275,11 @@ class Reader extends Vue {
         }
     }
 
+    stopScrolling() {
+        if (this.scrollingActive)
+            this.scrollingToggle();
+    }
+
     scrollingToggle() {
         this.scrollingActive = !this.scrollingActive;
         if (this.activePage == 'TextPage') {

+ 2 - 3
client/components/Reader/TextPage/TextPage.vue

@@ -367,7 +367,6 @@ class TextPage extends Vue {
         this.page1 = null;
         this.page2 = null;
         this.statusBar = null;
-        await this.stopTextScrolling();
 
         this.calcDrawProps();
         this.setBackground();
@@ -394,7 +393,7 @@ class TextPage extends Vue {
     async startTextScrolling() {
         if (this.doingScrolling || !this.book || !this.parsed.textLength || !this.linesDown || this.pageLineCount < 1 ||
             this.linesDown.length <= this.pageLineCount) {
-            this.$emit('scrolling-toggle');
+            this.$emit('stop-scrolling');
             return;
         }
 
@@ -427,7 +426,6 @@ class TextPage extends Vue {
                 if (i > 0) {
                     this.doDown();
                     if (this.linesDown.length <= this.pageLineCount + 1) {
-                        this.$emit('scrolling-toggle');
                         this.stopScrolling = true;
                     }
                 }
@@ -439,6 +437,7 @@ class TextPage extends Vue {
         }
         this.resolveTransitionFinish = null;
         this.doingScrolling = false;
+        this.$emit('stop-scrolling');
     }
 
     async stopTextScrolling() {