mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Fix viewer
This commit is contained in:
@@ -16,7 +16,6 @@
|
|||||||
<ion-content class="pt-10 height-100">
|
<ion-content class="pt-10 height-100">
|
||||||
|
|
||||||
<div *ngIf="pdfSrc" class="height-100">
|
<div *ngIf="pdfSrc" class="height-100">
|
||||||
<iframe id="iframe" src="https://equilibrium.dyndns.info/FileShare/pdfjs/web/viewer.html?file=https://equilibrium.dyndns.info/FileShare/merged_fastview.pdf" height="100%" width="100%" title="Iframe Example"></iframe>
|
<iframe id="iframe" src="https://equilibrium.dyndns.info/FileShare/pdfjs/web/viewer.html?file=https://equilibrium.dyndns.info/FileShare/merged_fastview.pdf&caches=12321231231f23123" height="100%" width="100%" title="Iframe Example"></iframe>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
|
|||||||
})
|
})
|
||||||
export class DocumentViewerPage implements OnInit {
|
export class DocumentViewerPage implements OnInit {
|
||||||
|
|
||||||
pdfSrc = 'http://laptop-46/FileShare/Test_25MB.pdf';
|
pdfSrc = null;
|
||||||
task = null
|
task = null
|
||||||
DocId = null
|
DocId = null
|
||||||
fileName = ''
|
fileName = ''
|
||||||
@@ -24,10 +24,7 @@ export class DocumentViewerPage implements OnInit {
|
|||||||
this.task = this.navParams.get('task') || null;
|
this.task = this.navParams.get('task') || null;
|
||||||
this.DocId = this.navParams.get('DocId');
|
this.DocId = this.navParams.get('DocId');
|
||||||
|
|
||||||
if(this.navParams.get('pdfSrc')) {
|
this.pdfSrc = 'https://equilibrium.dyndns.info/FileShare/pdfjs/web/viewer.html?file='
|
||||||
this.pdfSrc = this.navParams.get('pdfSrc') || null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,169 +38,6 @@ export class DocumentViewerPage implements OnInit {
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// this.setPdfViewer()
|
|
||||||
|
|
||||||
|
|
||||||
// setTimeout(() => {
|
|
||||||
|
|
||||||
// document.getElementById('iframe')['contentWindow'].postMessage(
|
|
||||||
// {
|
|
||||||
// sender: "get_page_button1",
|
|
||||||
// message: 'url'
|
|
||||||
// }, "*")
|
|
||||||
|
|
||||||
// }, 3000)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
setPdfViewer() {
|
|
||||||
setTimeout( async () => {
|
|
||||||
|
|
||||||
// If absolute URL from the remote server is provided, configure the CORS
|
|
||||||
// header on that server.
|
|
||||||
var url = 'http://192.168.0.87:3000/000634977.pdf';
|
|
||||||
|
|
||||||
const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');
|
|
||||||
// Loaded via <script> tag, create shortcut to access PDF.js exports.
|
|
||||||
var pdfjsLib = await import('pdfjs-dist/build/pdf');
|
|
||||||
|
|
||||||
// The workerSrc property shall be specified.
|
|
||||||
// pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
|
|
||||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker;
|
|
||||||
|
|
||||||
var pdfDoc = null,
|
|
||||||
pageNum = 1,
|
|
||||||
pageRendering = false,
|
|
||||||
pageNumPending = null,
|
|
||||||
scale = 0.8,
|
|
||||||
canvas: any = document.getElementById('the-canvas'),
|
|
||||||
ctx = canvas.getContext('2d');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get page info from document, resize canvas accordingly, and render page.
|
|
||||||
* @param num Page number.
|
|
||||||
*/
|
|
||||||
function renderPage(num) {
|
|
||||||
pageRendering = true;
|
|
||||||
// Using promise to fetch the page
|
|
||||||
pdfDoc.getPage(num).then(function(page) {
|
|
||||||
var viewport = page.getViewport({scale: scale});
|
|
||||||
canvas.height = viewport.height;
|
|
||||||
canvas.width = viewport.width;
|
|
||||||
|
|
||||||
// Render PDF page into canvas context
|
|
||||||
var renderContext = {
|
|
||||||
canvasContext: ctx,
|
|
||||||
viewport: viewport
|
|
||||||
};
|
|
||||||
var renderTask = page.render(renderContext);
|
|
||||||
|
|
||||||
// Wait for rendering to finish
|
|
||||||
renderTask.promise.then(function() {
|
|
||||||
pageRendering = false;
|
|
||||||
if (pageNumPending !== null) {
|
|
||||||
// New page rendering is pending
|
|
||||||
renderPage(pageNumPending);
|
|
||||||
pageNumPending = null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// Update page counters
|
|
||||||
// document.getElementById('page_num').textContent = num;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* If another page rendering in progress, waits until the rendering is
|
|
||||||
* finised. Otherwise, executes rendering immediately.
|
|
||||||
*/
|
|
||||||
function queueRenderPage(num) {
|
|
||||||
if (pageRendering) {
|
|
||||||
pageNumPending = num;
|
|
||||||
} else {
|
|
||||||
renderPage(num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Displays previous page.
|
|
||||||
*/
|
|
||||||
function onPrevPage() {
|
|
||||||
if (pageNum <= 1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pageNum--;
|
|
||||||
queueRenderPage(pageNum);
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById('prev').addEventListener('click', onPrevPage);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Displays next page.
|
|
||||||
*/
|
|
||||||
function onNextPage() {
|
|
||||||
if (pageNum >= pdfDoc.numPages) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pageNum++;
|
|
||||||
queueRenderPage(pageNum);
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById('next').addEventListener('click', onNextPage);
|
|
||||||
|
|
||||||
var currPage = 1; //Pages are 1-based not 0-based
|
|
||||||
var numPages = 0;
|
|
||||||
var thePDF = null;
|
|
||||||
|
|
||||||
|
|
||||||
function handlePages(page)
|
|
||||||
{
|
|
||||||
//This gives us the page's dimensions at full scale
|
|
||||||
var viewport = page.getViewport( 1 );
|
|
||||||
|
|
||||||
//We'll create a canvas for each page to draw it on
|
|
||||||
var canvas = document.createElement( "canvas" );
|
|
||||||
canvas.style.display = "block";
|
|
||||||
var context = canvas.getContext('2d');
|
|
||||||
canvas.height = viewport.height;
|
|
||||||
canvas.width = viewport.width;
|
|
||||||
|
|
||||||
//Draw it on the canvas
|
|
||||||
page.render({canvasContext: context, viewport: viewport});
|
|
||||||
|
|
||||||
//Add it to the web page
|
|
||||||
document.querySelector('#pdf-container').appendChild( canvas );
|
|
||||||
|
|
||||||
//Move to next page
|
|
||||||
currPage++;
|
|
||||||
if ( thePDF !== null && currPage <= numPages )
|
|
||||||
{
|
|
||||||
thePDF.getPage( currPage ).then( handlePages );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asynchronously downloads PDF.
|
|
||||||
*/
|
|
||||||
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
|
|
||||||
|
|
||||||
pdfDoc = pdfDoc_;
|
|
||||||
thePDF = pdfDoc_
|
|
||||||
|
|
||||||
pdfDoc.getPage(1).then(function(page) {
|
|
||||||
// you can now use *page* here
|
|
||||||
// alert('first page')
|
|
||||||
});
|
|
||||||
|
|
||||||
// Initial/first page rendering
|
|
||||||
renderPage(pageNum);
|
|
||||||
|
|
||||||
numPages = pdfDoc.numPages;
|
|
||||||
pdfDoc.getPage( 1 ).then( handlePages );
|
|
||||||
});
|
|
||||||
|
|
||||||
}, 100)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
close() {
|
close() {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { AlertService } from 'src/app/services/alert.service';
|
|||||||
import { momentG } from 'src/plugin/momentG';
|
import { momentG } from 'src/plugin/momentG';
|
||||||
import { DomSanitizer } from "@angular/platform-browser";
|
import { DomSanitizer } from "@angular/platform-browser";
|
||||||
import { EventPerson } from 'src/app/models/eventperson.model';
|
import { EventPerson } from 'src/app/models/eventperson.model';
|
||||||
import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
|
import { removeDuplicate } from 'src/plugin/removeDuplicate.js';
|
||||||
|
|
||||||
// showTimeline
|
// showTimeline
|
||||||
import { setHours, setMinutes } from 'date-fns';
|
import { setHours, setMinutes } from 'date-fns';
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ export class DespachoPage implements OnInit {
|
|||||||
viewDocument(docId:string) {
|
viewDocument(docId:string) {
|
||||||
this.processes.GetDocumentUrl(docId, '361').subscribe(res=>{
|
this.processes.GetDocumentUrl(docId, '361').subscribe(res=>{
|
||||||
const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
|
const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
|
||||||
const browser = this.iab.create('https://equilibrium.dyndns.info/FileShare/pdfjs/web/viewer.html?file=https://equilibrium.dyndns.info/FileShare/merged_fastview.pdf', "_blank", 'location=yes,x=0,y=200,width=437,height=650,fullscreen=no');
|
const browser = this.iab.create(url,"_blank");
|
||||||
browser.show();
|
browser.show();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,9 +16,7 @@ export class DespachosPage implements OnInit {
|
|||||||
constructor (
|
constructor (
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private despachoRule: DespachoService
|
private despachoRule: DespachoService
|
||||||
) {
|
) {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
|
|||||||
+1
-10
@@ -305,16 +305,7 @@ export class ExpedienteDetailPage implements OnInit {
|
|||||||
|
|
||||||
async viewDocument(DocId:string) {
|
async viewDocument(DocId:string) {
|
||||||
|
|
||||||
const modal = await this.modalController.create({
|
this.expedienteService.viewDocument({ApplicationId:'361', DocId})
|
||||||
component: DocumentViewerPage,
|
|
||||||
cssClass: 'modal-desktop modal',
|
|
||||||
componentProps: {
|
|
||||||
DocId: DocId
|
|
||||||
}
|
|
||||||
});
|
|
||||||
await modal.present();
|
|
||||||
modal.onDidDismiss().then( async (res)=> {
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
///<reference path="../../../plugins/cordova-plugin-mfp-push/typings/mfppush.d.ts" />
|
///<reference path="../../../plugins/cordova-plugin-mfp-push/typings/mfppush.d.ts" />
|
||||||
import { Injectable, NgZone } from '@angular/core';
|
import { Injectable, NgZone } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router'
|
import { ActivatedRoute } from '@angular/router'
|
||||||
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { environment } from 'src/environments/environment';
|
import { environment } from 'src/environments/environment';
|
||||||
import { StorageService } from 'src/app/services/storage.service';
|
import { StorageService } from 'src/app/services/storage.service';
|
||||||
import { AuthConnstants } from 'src/app/config/auth-constants';
|
import { AuthConnstants } from 'src/app/config/auth-constants';
|
||||||
@@ -11,7 +11,6 @@ import { Token } from '../models/token.model';
|
|||||||
import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular';
|
import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular';
|
||||||
import { NavigationExtras,Router } from '@angular/router';
|
import { NavigationExtras,Router } from '@angular/router';
|
||||||
import { ToastService } from '../services/toast.service';
|
import { ToastService } from '../services/toast.service';
|
||||||
import { Optional } from '@angular/core';
|
|
||||||
import { JsonStore } from './jsonStore.service';
|
import { JsonStore } from './jsonStore.service';
|
||||||
import { synchro } from './socket/synchro.service';
|
import { synchro } from './socket/synchro.service';
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
|
|||||||
@@ -10016,6 +10016,8 @@ function getDocument(src) {
|
|||||||
|
|
||||||
var docId = task.docId;
|
var docId = task.docId;
|
||||||
worker.promise.then(function () {
|
worker.promise.then(function () {
|
||||||
|
|
||||||
|
|
||||||
if (task.destroyed) {
|
if (task.destroyed) {
|
||||||
throw new Error('Loading aborted');
|
throw new Error('Loading aborted');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user