From 990cfe3cdb7d8b2bc39d369a964814968bf23f35 Mon Sep 17 00:00:00 2001
From: "hamza.hramchi" <hamza.hramchi@xelians.fr>
Date: Fri, 4 Dec 2020 09:12:51 +0100
Subject: [PATCH] FEAT #15550 TIME 0:25 add go to page input in document view

---
 lang/fr.json                                  |  3 +-
 .../app/document/document.component.html      |  3 ++
 .../app/document/document.component.ts        | 38 +++++++++++--------
 3 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/lang/fr.json b/lang/fr.json
index 1d15214270..bcaaac91a3 100755
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -383,6 +383,7 @@
 		"generateLangVar": "Générer les variables de langues",
 		"generateLangVarIgnoreTranslate": "Générer les variables de langues (IGNORE __TO_TRANSLATE)",
 		"close": "Fermer",
-		"reorder" : "Réorganiser"
+		"reorder" : "Réorganiser",
+		"goToPage": "Aller à la page"
 	}
 }
diff --git a/src/frontend/app/document/document.component.html b/src/frontend/app/document/document.component.html
index 5ac19d751d..65233bb2c9 100755
--- a/src/frontend/app/document/document.component.html
+++ b/src/frontend/app/document/document.component.html
@@ -39,6 +39,9 @@
             </ion-button>
           </ion-buttons>
     </ion-toolbar>
+    <ion-toolbar *ngIf="(totalPages > 2) && (mainDocument.status !== 'CONVERTING')" color="light">
+        <ion-input max="{{totalPages}}" name="goToPage" [placeholder]="'lang.goToPage' | translate" (ionInput)="goTo($event.target.value)"></ion-input>
+    </ion-toolbar>
 </ion-header>
 <ion-toolbar class="ion-text-center" color="primary"
     *ngIf="authService.user.substitute !== null && !this.signaturesService.annotationMode && docList[currentDoc]">
diff --git a/src/frontend/app/document/document.component.ts b/src/frontend/app/document/document.component.ts
index 4a96c8cb59..e9bb52f93b 100755
--- a/src/frontend/app/document/document.component.ts
+++ b/src/frontend/app/document/document.component.ts
@@ -556,22 +556,28 @@ export class DocumentComponent implements OnInit {
     }
 
     goTo(page: number) {
-        this.loadingController.create({
-            message: 'Chargement du document',
-            spinner: 'dots'
-        }).then((load: HTMLIonLoadingElement) => {
-            this.load = load;
-            this.load.present();
-        });
-        this.loadingImage = true;
-        this.pageNum = page;
-
-        // only for main document
-        if (this.currentDoc === 0) {
-            this.signaturesService.currentPage = this.pageNum;
-        }
-        // this.exportAsImage();
-        this.renderImage();
+        setTimeout(() => {
+            this.loadingController.create({
+                message: 'Chargement du document',
+                spinner: 'dots'
+            }).then((load: HTMLIonLoadingElement) => {
+                this.load = load;
+                this.load.present();
+            });
+    
+            this.loadingImage = true;
+            if (page && page <= this.totalPages) {
+                this.pageNum = page;
+            } else {
+                this.pageNum = 1;
+            }
+            // only for main document
+            if (this.currentDoc === 0) {
+                this.signaturesService.currentPage = this.pageNum;
+            }
+            // this.exportAsImage();
+            this.renderImage();
+        }, 1000);
     }
 
     initWorkingArea() {
-- 
GitLab