diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index caa8a1cd1..f23b660af 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/src/app/interceptors/chatToken.interceptor.ts b/src/app/interceptors/chatToken.interceptor.ts index 974b7d783..66f27b7e4 100644 --- a/src/app/interceptors/chatToken.interceptor.ts +++ b/src/app/interceptors/chatToken.interceptor.ts @@ -103,9 +103,6 @@ export class ChatTokenInterceptor implements HttpInterceptor { private addToken(request: HttpRequest, token: string) { let headers = new HttpHeaders(); - - console.log('X-User-Id', SessionStore.user.ChatData.data.userId) - console.log('X-Auth-Token', SessionStore.user.ChatData.data.authToken) headers = headers.set('X-User-Id', SessionStore.user.ChatData.data.userId); headers = headers.set('X-Auth-Token', SessionStore.user.ChatData.data.authToken); diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 253ba3495..fe7a17da5 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -146,7 +146,6 @@ [eventSource]="listToPresent" [calendarMode]="calendar.mode" [currentDate]="calendar.currentDate" - (onEventSelected)="onEventSelected($event)" (onTitleChanged)="onViewTitleChanged($event)" (onRangeChanged)="onRangeChanged($event)" (onCurrentDateChanged)="onCurrentChanged($event)" @@ -217,7 +216,6 @@
-
Hoje,  {{ todayDateFormat() }}
@@ -232,7 +230,7 @@
-
+
{{ day.daysInfo.dayName }}
{{month.monthInfo.monthName}}
diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index ef95fd4fc..b0d2f5f23 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -285,6 +285,7 @@ export class AgendaPage implements OnInit { this.calendar.currentDate = new Date(); + //this.onCurrentChanged(new Date()) try { this.myCal.update(); @@ -292,6 +293,7 @@ export class AgendaPage implements OnInit { this.onDropDownScrollWeal() } catch (e) { } + //this.reloadCalendar(); this.updateEventListBox() realoadCounter++; @@ -450,11 +452,6 @@ export class AgendaPage implements OnInit { } - onTimeSelected = (ev: { selectedTime: Date, events: any[] }) => { - this.eventSelectedDate2 = ev.selectedTime; - } - - currentMoth = { rangeStartDate: null, rangeEndDate: null @@ -614,7 +611,7 @@ export class AgendaPage implements OnInit { this.loadRangeEventRun(startTime, endTime) } else { - + // alert('other') } } @@ -681,6 +678,7 @@ export class AgendaPage implements OnInit { this.myCal.update(); this.myCal.loadEvents(); + this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds) this.updateEventListBox() }) } @@ -1140,6 +1138,8 @@ export class AgendaPage implements OnInit { reloadCalendar() { // this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); + + this.onCurrentChanged(new Date(this.timelineDate)) } async EventToApproveGoBack() { diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index e0e210b80..a2a7ea13b 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -32,7 +32,6 @@ import { EventTrigger } from 'src/app/services/eventTrigger.service'; import { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service'; import { RouteService } from 'src/app/services/route.service'; import { Plugins } from '@capacitor/core'; -import { ChangeDetectorRef } from '@angular/core'; const { App } = Plugins; @@ -129,8 +128,7 @@ export class ChatPage implements OnInit { private eventTriger: EventTrigger, private RochetChatConnectorService: RochetChatConnectorService, private zone: NgZone, - public RouteService: RouteService, - private ChangeDetectorRef: ChangeDetectorRef + public RouteService: RouteService ) { this.headers = new HttpHeaders();; @@ -178,15 +176,6 @@ export class ChatPage implements OnInit { } }); - this.ChatSystemService.setMainChangeDetector(()=> { - this.changeDetector() - }) - - } - - changeDetector = () => { - console.log('run detection') - this.ChangeDetectorRef.detectChanges() } diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index 579d32637..76ef54e0a 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -110,7 +110,6 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { private fileOpener: FileOpener, public RouteService: RouteService, private FileValidatorService: FileValidatorService, - private ChangeDetectorRef: ChangeDetectorRef ) { this.ChatSystemService.getUser() @@ -147,10 +146,6 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { this.ChatSystemService.getGroupRoom(this.roomId).scrollDown = this.scrollToBottomClicked; this.ChatSystemService.openRoom(this.roomId) this.groupNameFormart = this.ChatSystemService.getGroupRoom(this.roomId).name.split('-').join(' ') - - this.ChatSystemService.getGroupRoom(this.roomId).setChangeDetector(()=> { - this.changeDetector() - }) } catch (error) { setTimeout(() => { this.open() @@ -159,11 +154,6 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { } - changeDetector = () => { - console.log('run detection page') - this.ChangeDetectorRef.detectChanges() - } - ngOnInit() { this.loggedUser = this.loggedUserChat; @@ -841,7 +831,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { async addFileToChat(types: typeof FileType[]) { - + const roomId = this.roomId @@ -879,7 +869,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { } }) return - + } const file: any = await this.fileService.getFileFromDevice(types); diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index e8b1dda24..623b6dd3f 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -37,7 +37,6 @@ import { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-co import { FileValidatorService } from "src/app/services/file/file-validator.service" import { sanitize } from "sanitize-filename-ts"; import { FilePicker } from '@capawesome/capacitor-file-picker'; -import { ChangeDetectorRef } from '@angular/core'; @@ -125,7 +124,6 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { private router: Router, public RochetChatConnectorService: RochetChatConnectorService, private FileValidatorService: FileValidatorService, - private ChangeDetectorRef: ChangeDetectorRef ) { try { @@ -144,10 +142,6 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { this.ChatSystemService.getDmRoom(this.roomId).loadHistory({}) this.ChatSystemService.getDmRoom(this.roomId).scrollDown = this.scrollToBottomClicked this.ChatSystemService.openRoom(this.roomId) - this.ChatSystemService.getDmRoom(this.roomId).setChangeDetector(() => { - - this.changeDetector() - }) setTimeout(() => { this.scrollToBottomClicked() @@ -157,10 +151,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } } - changeDetector = () => { - console.log('run detection page') - this.ChangeDetectorRef.detectChanges() - } + ngOnInit() { try { @@ -1128,6 +1119,8 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { }, cssClass: 'modal modal-desktop' }); + await modal.present(); +/* await modal.present(); */ var blob = new Blob([pdfString], { type: 'application/pdf' }); diff --git a/src/app/pages/events/events.page.html b/src/app/pages/events/events.page.html index af111bdc6..b8356548b 100644 --- a/src/app/pages/events/events.page.html +++ b/src/app/pages/events/events.page.html @@ -23,26 +23,26 @@
- -
+ +

{{customDate}}

- +

Correspondências com prazo para hoje

{{ TaskService.deadline }}
- +

Correspondências em atraso

{{ TaskService.overdueTasks }}
- +

Correspondências não lidas

@@ -56,12 +56,12 @@

Correspondências com prazo para hoje {{ TaskService.deadline }}

- +

Correspondências em atraso {{ TaskService.overdueTasks }}

- +

Correspondências não lidas {{ TaskService.unread }}

@@ -69,10 +69,10 @@
- +
- +
@@ -87,35 +87,35 @@ slot="end" src="assets/images/icons-arrow-circle-arrow-right.svg" > - + - + - +
- +
- +
{{event.StartDate | date: 'HH:mm'}}
{{event.EndDate | date: 'HH:mm'}}
- +
Todo
o dia
@@ -128,12 +128,12 @@
- +
- +
- +
@@ -150,21 +150,21 @@ slot="end" src="assets/images/icons-arrow-circle-arrow-right.svg" > - + - + - +
@@ -184,15 +184,15 @@
- +
- +
- +
@@ -211,21 +211,21 @@ slot="end" src="assets/images/icons-arrow-circle-arrow-right.svg" > - + - + - +
@@ -233,13 +233,13 @@ - +
- +
{{event.StartDate | date: 'HH:mm'}}
{{event.EndDate | date: 'HH:mm'}}
- +
Todo
o dia
@@ -252,12 +252,12 @@
- + - +
- +
@@ -272,21 +272,21 @@ slot="end" src="assets/images/icons-arrow-circle-arrow-right.svg" > - + - + - +
@@ -304,7 +304,7 @@
- +
@@ -314,4 +314,3 @@ - diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index bfcbd1e79..338a21563 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -94,6 +94,10 @@ export class ExpedienteDetailPage implements OnInit { this.caller = params["params"].caller; } }); + + window['attachments-expediente-update'] = () => { + this.LoadTaskDetail(this.serialNumber); + } } ngOnInit() { @@ -249,6 +253,8 @@ export class ExpedienteDetailPage implements OnInit { this.TaskService.loadExpedientes(); + console.log("res========", res) + this.task = { "SerialNumber": res.serialNumber, "Folio": res.workflowInstanceDataFields.Subject, diff --git a/src/app/pages/publications/new-publication/new-publication.module.ts b/src/app/pages/publications/new-publication/new-publication.module.ts index aeaa9cc9c..48f26efaa 100644 --- a/src/app/pages/publications/new-publication/new-publication.module.ts +++ b/src/app/pages/publications/new-publication/new-publication.module.ts @@ -9,6 +9,9 @@ import { NewPublicationPageRoutingModule } from './new-publication-routing.modul import { NewPublicationPage } from './new-publication.page'; import '@teamhive/capacitor-video-recorder'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; + + @NgModule({ imports: [ CommonModule, @@ -16,6 +19,7 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; IonicModule, NewPublicationPageRoutingModule, FontAwesomeModule, + MatProgressBarModule, ], exports: [NewPublicationPage], declarations: [NewPublicationPage] diff --git a/src/app/pages/publications/new-publication/new-publication.page.html b/src/app/pages/publications/new-publication/new-publication.page.html index 202359e61..3d4b1478d 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.html +++ b/src/app/pages/publications/new-publication/new-publication.page.html @@ -11,7 +11,7 @@
-
@@ -21,41 +21,50 @@
-
-
+
Fotografia Anexada
-
+
X
+
+ + + +
+ name="image" ngDefaultControl [src]="seleted.url" + (click)="imageSize(capturedImage)" style="height: 69px;">
- - + -

mais {{ seletedContent.length - displayLimit }}

+

mais {{ PublicationFromMvService.form.Files.length - displayLimit }}

{{capturedImageTitle}}

@@ -66,22 +75,6 @@
- - -
@@ -111,51 +104,7 @@
- - - -
diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index b05f25db5..661693ddb 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -27,14 +27,16 @@ import { FilePicker } from '@capawesome/capacitor-file-picker'; import { CapacitorVideoPlayer } from 'capacitor-video-player'; import { CaptureError, CaptureImageOptions, MediaCapture, MediaFile } from '@awesome-cordova-plugins/media-capture/ngx'; import { Capacitor } from '@capacitor/core'; -import { File } from '@ionic-native/file/ngx'; +import { File as IonicFile } from '@ionic-native/file/ngx'; import { Media } from '@ionic-native/media/ngx'; import { checkFileTypeService } from 'src/app/services/checkFileType.service'; import { FileValidatorService } from "src/app/services/file/file-validator.service" import { App } from '@capacitor/app'; import { NavigationExtras, Router } from '@angular/router'; import { VideoconvertService } from 'src/app/services/videoconvert.service' - +import { PublicationAttachmentEntity } from 'src/app/shared/publication/upload/upload-streaming.service'; +import { PublicationFromMvService } from "src/app/shared/publication/upload/publication-from-mv.service" +import { File } from '../../../models/chatMethod'; const config = { quality: 0.5, @@ -88,8 +90,6 @@ export class NewPublicationPage implements OnInit { validateFrom = false showLoader: boolean; - publication: Publication; - pub: Publication = new Publication(); folderId: string; image: Image = new Image(); @@ -117,7 +117,6 @@ export class NewPublicationPage implements OnInit { photoOrVideo: boolean = false; fileType = ""; filecontent: boolean; - seletedContent: any[] = [] // Set a limit for the number of images to display displayLimit = 4; filesSizeSum = 0; @@ -140,22 +139,38 @@ export class NewPublicationPage implements OnInit { public checkFileType: checkFileTypeService, private FileValidatorService: FileValidatorService, private router: Router, - private videoconvertService: VideoconvertService + private videoconvertService: VideoconvertService, + public PublicationFromMvService: PublicationFromMvService, ) { this.publicationType = this.navParams.get('publicationType'); this.folderId = this.navParams.get('folderId'); - this.publication = this.navParams.get('publication'); - if (this.publication) { - this.seletedContent = this.publication.Files; + const publication = this.navParams.get('publication'); + if (publication && typeof publication?.Files == 'object') { this.filecontent = true; + + const newFiles: PublicationAttachmentEntity[] = publication.Files.map(e => { + return new PublicationAttachmentEntity( + { + base64: e.FileBase64, + extension: e.FileExtension, + OriginalFileName: e.OriginalFileName, + FileType: this.checkFileType.checkFileType(e.FileExtension) as any + } + ) + }) + + for(const files of newFiles) { + this.PublicationFromMvService.form.Files.push(files) + } } - console.log('Edit', this.publication) + + this.publicationTitle = 'Nova Publicação'; this.intent = this.navParams.get('intent'); this.convertBlobToBase64Worker = new Worker(new URL('./convertBlobToBase64.worker.js', import.meta.url)); - + this.PublicationFromMvService.clear() } ngOnInit() { @@ -194,32 +209,31 @@ export class NewPublicationPage implements OnInit { this.capturedImage = 'data:image/jpeg;base64,' + capturedImage.base64String; this.capturedImageTitle = 'foto'; - if (this.canAddFile(this.fileSizeToMB(capturedImage.base64String.length))) { - const compressedImage = await this.compressImageBase64( - this.capturedImage, - 800, // maxWidth - 800, // maxHeight - 0.9 // quality - ).then((picture) => { - console.log('take picture', this.removeTextBeforeSlash(picture, ','),) - this.filecontent = true; - this.photoOrVideo = false; - let fileObject = { - FileBase64: this.removeTextBeforeSlash(picture, ','), - FileExtension: capturedImage.format, - OriginalFileName: 'image', - FileSize: this.fileSizeToMB(capturedImage.base64String.length) + + const compressedImage = await this.compressImageBase64( + this.capturedImage, + 800, // maxWidth + 800, // maxHeight + 0.9 // quality + ).then((picture) => { + console.log('take picture', this.removeTextBeforeSlash(picture, ','),) + this.filecontent = true; + this.photoOrVideo = false; + + const newAttachment = new PublicationAttachmentEntity( + { + base64: this.removeTextBeforeSlash(picture, ','), + extension: capturedImage.format, + OriginalFileName: "image", + FileType: 'image' } - this.seletedContent.push(fileObject) + ) + + this.PublicationFromMvService.form.Files.push(newAttachment) - }); - } else { - if (this.seletedContent.length === 0) - this.filesSizeSum = 0 + }); - this.httpErrorHandle.validationMessagge('filessize'); - } } async laodPicture() { @@ -252,26 +266,19 @@ export class NewPublicationPage implements OnInit { console.log('video record', data) data.forEach(async element => { this.filesSizeSum = this.filesSizeSum + element.size - if (this.canAddFile(this.fileSizeToMB(element.size))) { - - try { - if (this.platform.is('ios')) { - this.recordevideoIos(element.fullPath,element.size) - } else { - this.recordVideoAndroid(element.fullPath,element.size) - } - - } catch (e) { - console.error('Unable to write file', e); - } - + // element.size + try { + if (this.platform.is('ios')) { + this.recordevideoIos(element.fullPath, element) } else { - if (this.seletedContent.length === 0) - this.filesSizeSum = 0 - - this.httpErrorHandle.validationMessagge('filessize') + this.recordVideoAndroid(element.fullPath, element) } + } catch (e) { + console.error('Unable to write file', e); + } + + }); } catch (error) { console.log('record video error: ', error) @@ -279,36 +286,36 @@ export class NewPublicationPage implements OnInit { } async loadVideo() { - const result = await FilePicker.pickMedia({ multiple: true, }); + const result = await FilePicker.pickMedia ({ multiple: true, }); console.log(result.files) result.files.forEach(async element => { this.filesSizeSum = this.filesSizeSum + element.size - if (this.canAddFile( this.fileSizeToMB(element.size))) { + if (this.fileSizeToMB(this.filesSizeSum) <= 20) { console.log('pass size verificartion') if (this.checkFileType.checkFileType(element.mimeType) == 'video' && this.platform.is('ios')) { - let resultUrl = decodeURIComponent(element.path); console.log('pass type verification ', resultUrl) - try { - this.recordevideoIos(resultUrl,element.size) + let resultUrl = decodeURIComponent(element.path); console.log('pass type verification ', resultUrl) + try { + this.recordevideoIos(resultUrl, element) } catch (error) { console.log('upload video error: ', error) } } else if (this.checkFileType.checkFileType(element.mimeType) == 'image' || this.checkFileType.checkFileType(element.mimeType) == 'video') { let resultUrl = decodeURIComponent(element.path); - console.log('pass type verification ', resultUrl) - try { - this.loadVideoAndroid(resultUrl, element) - } catch (error) { - console.log('upload video error: ', error) + console.log('pass type verification ', resultUrl) + try { + this.loadVideoAndroid(resultUrl,element) + } catch (error) { + console.log('upload video error: ', error) + } } - } - } else { - if (this.seletedContent.length === 0) - this.filesSizeSum = 0 + } else { + if (this.PublicationFromMvService.form.Files.length === 0) + this.filesSizeSum = 0 - this.httpErrorHandle.validationMessagge('filessize') - } - }); - }; + this.httpErrorHandle.validationMessagge('filessize') + } + }); + }; chossePhotoOrVideo() { @@ -368,14 +375,14 @@ export class NewPublicationPage implements OnInit { injectValidation() { this.Form = new FormGroup({ - Subject: new FormControl(this.pub.Title, [ + Subject: new FormControl(this.PublicationFromMvService.form.Title, [ Validators.required, // Validators.minLength(4) ]), capturedImage: new FormControl(this.capturedImage, [ ]), - Message: new FormControl(this.pub.Message, [ + Message: new FormControl(this.PublicationFromMvService.form.Message, [ Validators.required, Validators.maxLength(1000) @@ -391,172 +398,26 @@ export class NewPublicationPage implements OnInit { if (this.Form.invalid) return false - if (this.seletedContent.length != 0) { + if (this.PublicationFromMvService.form.Files.length != 0) { - if (this.publicationType == '3') { - const loader = this.toastService.loading() - - // has file - if (this.PublicationFolderService.PublicationHasImage(this.publication)) { - this.publication = { - DateIndex: this.publication.DateIndex, - DocumentId: this.publication.DocumentId, - ProcessId: this.publication.ProcessId, - Title: this.pub.Title, - Message: this.pub.Message, - DatePublication: this.publication.DatePublication, - OriginalFileName: this.publication.OriginalFileName, - Files: this.seletedContent, - } - - /* } else if (this.capturedVideo != '' && this.capturedImage == '') { - this.publication = { - DateIndex: this.publication.DateIndex, - DocumentId: this.publication.DocumentId, - ProcessId: this.publication.ProcessId, - Title: this.pub.Title, - Message: this.pub.Message, - DatePublication: this.publication.DatePublication, - OriginalFileName: this.publication.OriginalFileName || 'video', - Files: this.seletedContent, - FileExtension: 'mp4', - } - } */ - // no names - } else if (!this.PublicationFolderService.PublicationHasImage(this.publication)) { - this.publication = { - DateIndex: this.publication.DateIndex, - DocumentId: this.publication.DocumentId, - ProcessId: this.publication.ProcessId, - Title: this.pub.Title, - Message: this.pub.Message, - DatePublication: this.publication.DatePublication, - OriginalFileName: this.publication.OriginalFileName, - Files: this.seletedContent, - } - - - } /* else { - this.publication = { - DateIndex: this.publication.DateIndex, - DocumentId: this.publication.DocumentId, - ProcessId: this.publication.ProcessId, - Title: this.pub.Title, - Message: this.pub.Message, - DatePublication: this.publication.DatePublication, - OriginalFileName: this.publication.OriginalFileName, - FileBase64: this.publication.FileBase64, - FileExtension: this.publication.FileExtension || 'jpeg', - } - - } */ - - - try { - - const response = await this.publications.UpdatePublication(this.publication.ProcessId, this.publication).toPromise() - - this.httpErrorHandle.httpsSucessMessagge('Editar publicação') - console.log({ response }) - - - this.close(); - } catch (error) { - if (error.status == 404) { - this.PublicationFolderService.deletePost(this.publication.ProcessId, this.publication.DocumentId) - this.close(); - } - this.httpErrorHandle.httpStatusHandle(error) - } finally { - loader.remove() - } - - } - else { - - const date = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss') - - /* this.seletedContent = this.seletedContent.map((e) => { - if(e.FileExtension == "mp4") { - return { - FileBase64: e.FileBase64, - FileExtension: 'data:video/mp4;base64,'+e.FileExtension, - OriginalFileName: "video", - } - } - - return e - }) */ - - /* if (this.capturedImage != '') { */ - this.publication = { - DateIndex: date, - DocumentId: null, - ProcessId: JSON.stringify(this.folderId), - Title: this.pub.Title, - Message: this.pub.Message, - DatePublication: date, - OriginalFileName: this.capturedImageTitle || 'foto', - Files: this.seletedContent, - /* FileExtension: 'jpeg', */ - } - - /* } else if (this.capturedVideo != '') { - this.publication = { - DateIndex: date, - DocumentId: null, - ProcessId: this.folderId, - Title: this.pub.Title, - Message: this.pub.Message, - DatePublication: date, - OriginalFileName: this.capturedImageTitle || 'video', - Files: this.seletedContent, - FileExtension: 'mp4', - } - } */ - - - const loader = this.toastService.loading() - - try { - - - await this.publications.CreatePublication(this.folderId, this.publication).toPromise(); - this.httpErrorHandle.httpsSucessMessagge('Criar publicação') - if (window["sharedContent"]) { - - window["sharedContent"] = null - window["openFolder"] = true - - if (window.innerWidth <= 700) { - this.router.navigate(['/home/publications', this.folderId]); - } else if (window.innerWidth >= 701) { - let navigationExtras: NavigationExtras = { queryParams: { "folderId": this.folderId, } }; - this.router.navigate(['/home/publications']); - } - - return - } - - this.close(); - } catch (error) { - this.httpErrorHandle.httpStatusHandle(error) - } finally { - loader.remove() - } - - } - - this.PublicationFolderService.getPublicationsIds(this.folderId) + this.close(); + this.PublicationFromMvService.setFolderId(this.folderId) + await this.PublicationFromMvService.save() } else { this.httpErrorHandle.validationMessagge("noFileSelected") } } + ngOnDestroy() { + // if(!this.PublicationFromMvService.form.send) { + // this.PublicationFromMvService.cancel() + // } + } + close() { - this.modalController.dismiss(this.publication).then(() => { + this.modalController.dismiss(this.PublicationFromMvService.form).then(() => { this.showLoader = true; }); @@ -567,7 +428,7 @@ export class NewPublicationPage implements OnInit { clear() { this.capturedImageTitle = null; - this.seletedContent = []; + this.PublicationFromMvService.form.Files = []; } setTitle() { @@ -579,8 +440,6 @@ export class NewPublicationPage implements OnInit { } else if (this.publicationType == '3') { this.publicationTitle = 'Editar Publicação'; - this.pub = this.navParams.get('publication'); - } } @@ -604,7 +463,7 @@ export class NewPublicationPage implements OnInit { deletePublicationImage() { - this.seletedContent = [] + this.PublicationFromMvService.form.Files = [] } async compressImageBase64(base64String: string, maxWidth: number, maxHeight: number, quality: number): Promise { @@ -763,22 +622,22 @@ export class NewPublicationPage implements OnInit { FileExtension: FileExtension, OriginalFileName: 'shared', } - + } else if (this.checkFileType.checkFileType(FileExtension) == 'video') { fileObject = { FileBase64: 'data:video/mp4;base64,' + this.removeTextBeforeSlash(content.data, ','), FileExtension: FileExtension, OriginalFileName: 'shared', } - + } console.log('shared base', content.data) - + this.seletedContent.push(fileObject) } catch (error) { console.log('error shared filesystem', error) } - + }) */ } else { this.httpErrorHandle.validationMessagge('filetype'); @@ -795,7 +654,7 @@ export class NewPublicationPage implements OnInit { } deleteFromSeletedContent(index) { - this.seletedContent.splice(index, 1) + this.PublicationFromMvService.form.Files.splice(index, 1) } closeApp() { @@ -807,8 +666,8 @@ export class NewPublicationPage implements OnInit { } - async recordevideoIos(fullPath,size) { - console.log('fullpath', fullPath) + async recordevideoIos(fullPath, element) { + try { const directory = await Filesystem.getUri({ directory: Directory.Cache, @@ -816,38 +675,38 @@ export class NewPublicationPage implements OnInit { }); const stringGerada = this.gerarStringAleatoria(); - console.log(stringGerada); - let fileObject = {}; - this.videoconvertService.convertVideo(fullPath, directory.uri, stringGerada, 'mp4').then(async () => { - await Filesystem.readFile({ path: `${directory.uri}${stringGerada}.mp4` }) - .then(async (content) => { - this.filecontent = true; - fileObject = {} - console.log('First clean', fileObject) - fileObject = { - FileBase64: 'data:video/mp4;base64,' + content.data, - FileExtension: 'mp4', - OriginalFileName: stringGerada, - FileSize: this.fileSizeToMB(size) + this.videoconvertService.convertVideo(fullPath,directory.uri,stringGerada,'mp4').then(async () => { + await Filesystem.readFile({ path: `${directory.uri}${stringGerada}.mp4`}) + + .then(async (content) => { + this.filecontent = true; + + const file = new File([element.blob], element.name); + + const newAttachment = new PublicationAttachmentEntity( + { + base64: 'data:video/mp4;base64,' + content.data, + extension: 'mp4', + blobFile: file, + FileType: this.checkFileType.checkFileType('mp4') as any, + OriginalFileName: 'load video' } - console.log('what do we have', fileObject) - this.seletedContent.push(fileObject) - console.log('file object 1', fileObject) - fileObject = {}; - const deleteSecretFile = async () => { - await Filesystem.deleteFile({ - path: `${stringGerada}.mp4`, - directory: Directory.Cache, - }); - }; - await deleteSecretFile().then((value) => { - console.log('delete file', value) - fileObject = {}; - console.log('file object 2', fileObject) - }) + ) + + this.PublicationFromMvService.form.Files.push(newAttachment) + + const deleteSecretFile = async () => { + await Filesystem.deleteFile({ + path: `${stringGerada}.mp4`, + directory: Directory.Cache, + }); + }; + await deleteSecretFile().then((value) => { + console.log('delete file',value) }) - .catch((erro) => console.error('read converted video erro ', erro)); + }) + .catch((erro) => console.error('read converted video erro ', erro)); }); @@ -856,7 +715,7 @@ export class NewPublicationPage implements OnInit { } } - async recordVideoAndroid(fullPath,size) { + async recordVideoAndroid(fullPath, element) { try { const savedFile = await Filesystem.copy({ @@ -867,17 +726,26 @@ export class NewPublicationPage implements OnInit { console.log(savedFile.uri) Filesystem.readFile({ path: savedFile.uri }) - .then(async (content) => { - this.filecontent = true; - let fileObject = { - FileBase64: 'data:video/mp4;base64,' + content.data, - FileExtension: 'mp4', - OriginalFileName: 'video', - FileSize: this.fileSizeToMB(size) + .then(async (content) => { + + this.filecontent = true; + + const file = new File([element.blob], element.name); + window['a'] = element + const newAttachment = new PublicationAttachmentEntity( + { + base64: 'data:video/mp4;base64,' + content.data, + extension: 'mp4', + blobFile: file, + FileType: this.checkFileType.checkFileType( 'mp4') as any, + OriginalFileName: 'load video' } - this.seletedContent.push(fileObject) - }) - .catch((error) => console.error('reade converted video erro ', error)); + ) + this.PublicationFromMvService.form.Files.push(newAttachment) + + + }) + .catch((error) => console.error('reade converted video erro ',error)); } catch (error) { console.log('record video android erro ', error) @@ -891,29 +759,41 @@ export class NewPublicationPage implements OnInit { loadVideoAndroid(resultUrl, element) { Filesystem.readFile({ path: resultUrl }) - .then(async (content) => { - console.log(content) - this.filecontent = true; - let fileObject; - if (this.removeTextBeforeSlash(element.mimeType, '/') == "mp4") { - fileObject = { - FileBase64: 'data:video/mp4;base64,' + content.data, - FileExtension: this.removeTextBeforeSlash(element.mimeType, '/'), - OriginalFileName: 'video', - FileSize:element.size - } - } else { - fileObject = { - FileBase64: 'data:image/jpeg;base64,' + content.data, - FileExtension: this.removeTextBeforeSlash(element.mimeType, '/'), - OriginalFileName: 'image', - FileSize: this.fileSizeToMB(element.size) - } - } + .then(async (content) => { - this.seletedContent.push(fileObject) - }) - .catch((err) => console.error(err)); + this.filecontent = true; + + if (this.removeTextBeforeSlash(element.mimeType, '/') == "mp4") { + + const newAttachment = new PublicationAttachmentEntity( + { + base64: content.data, + extension: this.removeTextBeforeSlash(element.mimeType, '/'), + FileType: this.checkFileType.checkFileType( this.removeTextBeforeSlash(element.mimeType, '/')) as any, + OriginalFileName: 'load video' + } + ) + + newAttachment.needUpload() + this.PublicationFromMvService.form.Files.push(newAttachment) + + } else { + + const newAttachment = new PublicationAttachmentEntity( + { + base64: 'data:image/jpeg;base64,' + content.data, + extension: this.removeTextBeforeSlash(element.mimeType, '/'), + FileType: this.checkFileType.checkFileType( this.removeTextBeforeSlash(element.mimeType, '/')) as any, + OriginalFileName: 'image' + } + ) + + this.PublicationFromMvService.form.Files.push(newAttachment) + } + + + }) + .catch((err) => console.error(err)); } @@ -944,7 +824,7 @@ export class NewPublicationPage implements OnInit { } console.log('shared base', content.data) - this.seletedContent.push(fileObject) + this.PublicationFromMvService.form.Files.push(fileObject) } catch (error) { console.log('error shared filesystem', error) } @@ -968,35 +848,42 @@ export class NewPublicationPage implements OnInit { FileExtension: 'mp4', OriginalFileName: 'shared', } */ - fileObject = { - FileBase64: 'data:video/mp4;base64,' + this.removeTextBeforeSlash(content.data, ','), - FileExtension: 'mp4', - OriginalFileName: 'shared', - } - this.seletedContent.push(fileObject) - fileObject = {}; - const deleteSecretFile = async () => { - await Filesystem.deleteFile({ - path: `${filename}.mp4`, - directory: Directory.Cache, - }); - }; - deleteSecretFile().then((value) => { - console.log('delete file', value) - fileObject = {}; - }) + + const newAttachment = new PublicationAttachmentEntity( + { + base64: 'data:video/mp4;base64,' + this.removeTextBeforeSlash(content.data, ','), + extension: 'mp4', + FileType: this.checkFileType.checkFileType('mp4') as any, + OriginalFileName: 'shared' + } + ) + newAttachment.needUpload() + + this.PublicationFromMvService.form.Files.push(newAttachment) + fileObject ={}; + const deleteSecretFile = async () => { + await Filesystem.deleteFile({ + path: `${filename}.mp4`, + directory: Directory.Cache, + }); + }; + deleteSecretFile().then((value) => { + console.log('delete file',value) + fileObject ={}; }) .catch((erro) => console.error('read converted video erro ', erro)); }); + }); + } - - } catch (error) { console.log('record video ios erro, ', error) } + } + shareContentAndroid(resultUrl, FileExtension) { Filesystem.readFile({ path: resultUrl }).then(async (content) => { @@ -1019,7 +906,7 @@ export class NewPublicationPage implements OnInit { } console.log('shared base', content.data) - this.seletedContent.push(fileObject) + this.PublicationFromMvService.form.Files.push(fileObject) } catch (error) { console.log('error shared filesystem', error) } @@ -1028,28 +915,5 @@ export class NewPublicationPage implements OnInit { } - canAddFile(fileToAddsize) { - console.log('File size to add', fileToAddsize) - console.log(this.seletedContent) - // Calculate the total size of files in the list - var totalSize = this.seletedContent.reduce((total, {FileSize}) => total + FileSize, 0); - console.log('Totoal size',totalSize) - console.log('fileAddsize',fileToAddsize) - // Check if adding the file would exceed the individual file size limit (20 MB) - if (fileToAddsize >= 20) { - console.log("File size exceeds individual file size limit (20 MB)"); - return false; - } - - // Check if adding the file would exceed the total size limit (20 MB) - - if (totalSize + fileToAddsize >= 20) { - console.log("Total file size exceeds total size limit (20 MB)"); - return false; - } - // If neither condition is met, it's safe to add the file - return true; -} - } diff --git a/src/app/pages/publications/view-publications/view-publications.page.ts b/src/app/pages/publications/view-publications/view-publications.page.ts index 306b947b2..490ba8fe2 100644 --- a/src/app/pages/publications/view-publications/view-publications.page.ts +++ b/src/app/pages/publications/view-publications/view-publications.page.ts @@ -21,6 +21,8 @@ import { StopvideoService } from "src/app/services/stopvideo.service" import { Result } from 'neverthrow'; import { App } from '@capacitor/app'; import { ActiveTabService } from 'src/app/services/active-tab.service'; +import { PublicationHolderService } from 'src/app/services/publication/publication-holder.service' + @Component({ selector: 'app-view-publications', templateUrl: './view-publications.page.html', @@ -71,7 +73,8 @@ export class ViewPublicationsPage implements OnInit { private publicationVideoManagerService: PublicationVideoManagerService, public stopvideoService: StopvideoService, private platform: Platform, - public activeTabService: ActiveTabService) { + public activeTabService: ActiveTabService, + public PublicationHolderService: PublicationHolderService) { /* this.publicationVideoManagerService.setContainer(this.VideoManager.nativeElement) */ @@ -311,20 +314,26 @@ export class ViewPublicationsPage implements OnInit { } async AddPublication(publicationType: any, folderId: any) { - const modal = await this.modalController.create({ - component: NewPublicationPage, - componentProps: { - publicationType: publicationType, - folderId: this.folderId, - }, - cssClass: 'new-publication modal modal-desktop', - backdropDismiss: false - }); - modal.onDidDismiss().then(() => { - this.doRefresh(event); - }); - await modal.present(); + if(this.PublicationHolderService.PublicationFormMV.length == 0) { + const modal = await this.modalController.create({ + component: NewPublicationPage, + componentProps: { + publicationType: publicationType, + folderId: this.folderId, + }, + cssClass: 'new-publication modal modal-desktop', + backdropDismiss: false + }); + + modal.onDidDismiss().then(() => { + this.doRefresh(event); + }); + await modal.present(); + } else { + this.toastService._successMessage('já existe uma publicação a ser processado'); + } + } goToPublicationDetail(DocumentId: string, ProcessId: string) { diff --git a/src/app/services/agenda/list-box.service.ts b/src/app/services/agenda/list-box.service.ts index 192498ec2..afbd53d31 100644 --- a/src/app/services/agenda/list-box.service.ts +++ b/src/app/services/agenda/list-box.service.ts @@ -99,7 +99,6 @@ export class ListBoxService { display(list: CustomCalendarEvent[], selectedDate) { - let days = {}; const year: Year[] = [] @@ -174,6 +173,14 @@ export class ListBoxService { const EndEvent = this.transForm(cloneEvent, {startMany: false,endMany: true, middle: true}) if(this.CanPush(cloneEvent, selectedDate) && cloneEvent.start.getTime() >= cloneSelectedDate.getTime()) { days[otherDays].push(EndEvent) ; this.push(EndEvent, year) + } else { + if( cloneEvent.start.getFullYear() == cloneSelectedDate.getFullYear() && cloneEvent.start.getDate() == cloneSelectedDate.getDate() && cloneEvent.start.getMonth() == cloneSelectedDate.getMonth()) { + // console.log("00_00") + days[otherDays].push(EndEvent) ; this.push(EndEvent, year) + } else { + // console.log('0000000000000000000000000',cloneEvent.start.getTime(), cloneSelectedDate.getTime()) + // console.log('0000000000000000000000000',cloneEvent.start, cloneSelectedDate) + } } } diff --git a/src/app/services/chat/chat-system.service.ts b/src/app/services/chat/chat-system.service.ts index 8ac80a56c..f7b2089d0 100644 --- a/src/app/services/chat/chat-system.service.ts +++ b/src/app/services/chat/chat-system.service.ts @@ -151,15 +151,6 @@ export class ChatSystemService { } catch(error) {} } - setMainChangeDetector(x:Function) { - this.mainChangeDetector = x - } - - runMainChangeDetector() { - console.log("change") - // this.mainChangeDetector() - } - loadChat() { if (SessionStore.user?.ChatData?.data) { this.ReLoadChat() diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 857a802f0..3767b9518 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -25,7 +25,6 @@ import { ChatSystemService } from './chat-system.service'; import { ViewedMessageService } from './viewed-message.service' import * as FIFOProcessQueue from 'fifo-process-queue'; import { NotificationsService } from '../notifications.service'; -import { ChangeDetectorRef } from '@angular/core'; @Injectable({ providedIn: 'root' @@ -85,7 +84,6 @@ export class RoomService { sortRoomList = () => { } chatServiceDeleteRoom = (roomId) => { } - private changeDetector: Function = () => {} constructor( public RochetChatConnectorService: RochetChatConnectorService, @@ -192,11 +190,6 @@ export class RoomService { } - setChangeDetector(x:Function) { - console.log("set change detector") - this.changeDetector = x - } - get online() { if (!this.isGroup) { @@ -391,6 +384,7 @@ export class RoomService { this.name = ChatMessage.msg } + this.sortRoomList() // this.changeDetector() setTimeout(() => { done() diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index 1011c14d8..e4dc8f6b0 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -1206,11 +1206,23 @@ export class EventsService { }) ) } else { + const calendar = this.DetectCalendars(calendarId) + const header = this.makeHeader(calendar) + options = { + headers: header, + params: params + }; + + return this.http.delete(`${puturl}`, options).pipe( + catchError(err => { + + this.offlinemanager.storeRequestData('eventDelete', arrayReq); + throw new Error(err); + }) + ) } - throw('header not found') - } diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts index 750711340..8a26feedf 100644 --- a/src/app/services/notifications.service.ts +++ b/src/app/services/notifications.service.ts @@ -202,9 +202,6 @@ export class NotificationsService { this.active = true console.log('NOtification Listener', notification) this.storenotification(notification) - this.chatNotification(notification) - - } ); @@ -216,7 +213,6 @@ export class NotificationsService { this.eventtrigger.publishSomeData({ notification: "recive" }) - this.chatNotification(notification) // Handle the received message, e.g., show a notification }); } @@ -400,12 +396,4 @@ export class NotificationsService { } - chatNotification(_notification) { - const notification = this.NotificationHolderService.stractureNotificationObject(_notification) - - if (notification?.notification?.data?.Service === "chat" || notification?.Service === "chat") { - this.ChatController.ChatSystemService.runMainChangeDetector() - } - } - } diff --git a/src/app/services/publication/holder.service.spec.ts b/src/app/services/publication/holder.service.spec.ts new file mode 100644 index 000000000..6faab2556 --- /dev/null +++ b/src/app/services/publication/holder.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { HolderService } from './holder.service'; + +describe('HolderService', () => { + let service: HolderService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(HolderService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/shared/publication/upload/publication-form-mv.service.ts b/src/app/services/publication/holder.service.ts similarity index 72% rename from src/app/shared/publication/upload/publication-form-mv.service.ts rename to src/app/services/publication/holder.service.ts index 7fbeee014..302c7873d 100644 --- a/src/app/shared/publication/upload/publication-form-mv.service.ts +++ b/src/app/services/publication/holder.service.ts @@ -3,7 +3,7 @@ import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) -export class PublicationFormMVService { +export class HolderService { constructor() { } } diff --git a/src/app/services/publication/publication-holder.service.spec.ts b/src/app/services/publication/publication-holder.service.spec.ts new file mode 100644 index 000000000..e89d9e0ec --- /dev/null +++ b/src/app/services/publication/publication-holder.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { PublicationHolderService } from './publication-holder.service'; + +describe('PublicationHolderService', () => { + let service: PublicationHolderService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(PublicationHolderService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/publication/publication-holder.service.ts b/src/app/services/publication/publication-holder.service.ts new file mode 100644 index 000000000..efcf34b3b --- /dev/null +++ b/src/app/services/publication/publication-holder.service.ts @@ -0,0 +1,98 @@ +import { Injectable } from '@angular/core'; +import { PublicationFormMV } from 'src/app/shared/publication/upload/upload-streaming.service'; + +@Injectable({ + providedIn: 'root' +}) +export class PublicationHolderService { + + count = 0 + PublicationFormMV: { + id: string, + percentage: number, + retry: boolean, + retryFunction: Function + }[] = [] + + constructor() { + + window['upload-header-set-percentage'] = (id: string, percentage: number) => { + this.PublicationFormMV = this.PublicationFormMV.map((e)=> { + if(e.id == id) { + console.log("percentage", percentage) + e.percentage = percentage + } + return e + }) + + + this.uploadPercentage() + } + + window['upload-header-set-add'] = (id: string, percentage: number, save: Function) => { + this.PublicationFormMV.push({id, percentage, retry: false, retryFunction: save}) + this.uploadPercentage() + } + + + window['upload-header-set-remove'] = (id: string) => { + this.remove(id) + } + + + window['upload-header-set-retry'] = (id: string) => { + + this.PublicationFormMV = this.PublicationFormMV.map((e)=> { + if(e.id == id) { + e.retry = true + } + return e + }) + + this.uploadPercentage() + } + + window['upload-header-remove-retry'] = (id: string) => { + this.uploadPercentage() + + this.PublicationFormMV = this.PublicationFormMV.map((e)=> { + if(e.id == id) { + e.retry = false + } + return e + }) + + + this.uploadPercentage() + + } + + } + + remove(id: string) { + this.PublicationFormMV = this.PublicationFormMV.filter((e)=> e.id != id) + this.uploadPercentage() + } + + hasPublication() { + return this.PublicationFormMV.length >= 1 + } + + + uploadPercentage = () => { + + const percentageArray = this.PublicationFormMV.map((e) => e.percentage) + + // Check if the array is not empty + if (percentageArray.length === 0) { + this.count = 0 + } else { + let sum = percentageArray.reduce((acc, percentage) => acc + percentage, 0); + + // Calculate the average percentage + let averagePercentage = sum / percentageArray.length; + + this.count = Math.ceil(averagePercentage) + } + } +} diff --git a/src/app/services/socket-connection-mcr.service.ts b/src/app/services/socket-connection-mcr.service.ts index 3340a6872..b39836fbf 100644 --- a/src/app/services/socket-connection-mcr.service.ts +++ b/src/app/services/socket-connection-mcr.service.ts @@ -5,7 +5,7 @@ import { v4 as uuidv4 } from 'uuid' import { HttpClient, HttpHeaders, HttpEventType } from '@angular/common/http'; import { CMAPIService } from '../shared/repository/CMAPI/cmapi.service'; import { HubConnectionBuilder } from '@microsoft/signalr'; -import { ok, err, Result } from 'neverthrow'; +import { ok, err as Err, Result } from 'neverthrow'; @Injectable({ providedIn: 'root' }) @@ -147,14 +147,30 @@ class ReconnectingWebSocketSignalR { } commit(path): Promise> { + console.log('committing') return new Promise((resolve, reject) => { - this.connection.invoke("CommitUpload", path).then((e) => { - console.log("commit message", e) - resolve(ok(true)) - }).catch(err => { - resolve(err(false)) - console.error(err.toString()) - }); + if(this.isOpen) { + try { + console.log('this.connection.invoke', this.connection) + this.connection.invoke("CommitUpload", path).then((e) => { + console.log("commit message", e) + resolve(ok(true)) + }).catch(err => { + console.error('upload catch commit error') + resolve(Err(false)) + console.error(err.toString()) + }); + } catch(error) { + resolve(Err(false)) + console.error('upload commit error') + console.error(error) + } + + } else { + this.onConnect.push(()=> { + resolve(this.commit(path)) + }) + } }) } @@ -390,17 +406,17 @@ export class ObjectMergeNotification{ watchCount = 0 constructor() { - // this.socket.onDisconnectCallback(()=> { - // console.log("run watch") - // this.runWatch = true - // this.watch() - // }) + this.socket.onDisconnectCallback(()=> { + console.log("run watch") + this.runWatch = true + this.watch() + }) - // this.socket.onConnectCallback(()=> { + this.socket.onConnectCallback(()=> { - // console.log("open trigger") - // this.runWatch = false - // }) + console.log("open trigger") + this.runWatch = false + }) // this.socket.subscribe((data: socketResponse) => { // if(data.IsCompleted == true) { @@ -414,8 +430,7 @@ export class ObjectMergeNotification{ // } // }) - // this.socket.connect(); - // this.watch() + // this.watch() } connect() { @@ -430,33 +445,33 @@ export class ObjectMergeNotification{ async watch() { - // this.watchCount = 0; + this.watchCount = 0; - // if(this.runWatch) { - // setTimeout(async () => { - // for(const [key, funx] of Object.entries(this.callbacks)) { + if(this.runWatch) { + setTimeout(async () => { + for(const [key, funx] of Object.entries(this.callbacks)) { - // const request = await this.CMAPIService.getVideoHeader(key) + const request = await this.CMAPIService.getVideoHeader(key) - // if(request.isOk()) { - // funx() - // delete this.callbacks[key] - // } - // } + if(request.isOk()) { + funx() + delete this.callbacks[key] + } + } - // this.watchCount++ - // if(this.watchCount <= 15) { - // this.watch() - // } else { - // this.runWatch = false - // } + this.watchCount++ + if(this.watchCount <= 15) { + this.watch() + } else { + this.runWatch = false + } - // }, 1000) + }, 1000) - // } else { - // console.log("end loop============================") - // } + } else { + console.log("end loop============================") + } } subscribe(GUID, callback:Function) { diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index f9defb299..edfb6d7c2 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -30,7 +30,6 @@ import { SessionStore } from 'src/app/store/session.service'; import { ViewMediaPage } from 'src/app/modals/view-media/view-media.page'; import { PermissionService } from 'src/app/services/permission.service'; import { FileValidatorService } from "src/app/services/file/file-validator.service" -import { ChangeDetectorRef } from '@angular/core'; @Component({ selector: 'app-group-messages', templateUrl: './group-messages.page.html', @@ -103,8 +102,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe private platform: Platform, private fileOpener: FileOpener, public p: PermissionService, - private FileValidatorService: FileValidatorService, - private ChangeDetectorRef: ChangeDetectorRef + private FileValidatorService: FileValidatorService ) { this.ChatSystemService.getUser() @@ -120,9 +118,6 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe this.ChatSystemService.openRoom(this.roomId) this.ChatSystemService.getGroupRoom(this.roomId).scrollDown = this.scrollToBottomClicked this.groupNameFormart = this.ChatSystemService.getGroupRoom(this.roomId).name.split('-').join(' ') - this.ChatSystemService.getGroupRoom(this.roomId).setChangeDetector(()=> { - this.changeDetector() - }) this.showAvatar = false setTimeout(() => { @@ -134,12 +129,6 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe } - changeDetector = () => { - console.log('run detection shared') - this.ChangeDetectorRef.detectChanges() - } - - ngOnInit() { this.loggedUser = this.loggedUserChat; //setTimeout(() => { diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 5930eaded..41dd07c59 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -35,7 +35,6 @@ import { ChatMessageDebuggingPage } from 'src/app/shared/popover/chat-message-de import { PermissionService } from 'src/app/services/permission.service'; import { FileValidatorService } from "src/app/services/file/file-validator.service" import { ChangeDetectorRef } from '@angular/core'; -import { saveAs } from 'file-saver'; const IMAGE_DIR = 'stored-images'; @@ -125,8 +124,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy private platform: Platform, private fileOpener: FileOpener, public p: PermissionService, - private FileValidatorService: FileValidatorService, - private ChangeDetectorRef: ChangeDetectorRef + private FileValidatorService: FileValidatorService ) { // update this.checkAudioPermission() @@ -142,9 +140,6 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy this.ChatSystemService.openRoom(this.roomId) this.ChatSystemService.getDmRoom(this.roomId) - this.ChatSystemService.getDmRoom(this.roomId).setChangeDetector(() => { - this.changeDetector() - }) this.showAvatar = false @@ -162,11 +157,6 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy } - changeDetector = () => { - console.log('run detection shared') - this.ChangeDetectorRef.detectChanges() - } - async ChatMessageDebuggingPage() { diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.ts b/src/app/shared/gabinete-digital/expedients/expedients.page.ts index fc4d482c4..819825c23 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.ts +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.ts @@ -33,7 +33,7 @@ export class ExpedientsPage implements OnInit { listSubscription : { delete(): void; } - + routerSubscription; @@ -69,7 +69,7 @@ export class ExpedientsPage implements OnInit { } }) - + this.routerSubscription = this.router.events.subscribe((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?expedientes=true')) { @@ -81,8 +81,8 @@ export class ExpedientsPage implements OnInit { this.LoadList() } - - + + this.dynamicSearch(); } @@ -91,7 +91,7 @@ export class ExpedientsPage implements OnInit { this.listSubscription.delete() this.routerSubscription?.unsubscribe(); } - + reorderList(orderBy: string) { this.ordinance = orderBy; @@ -103,7 +103,7 @@ export class ExpedientsPage implements OnInit { async dynamicSearch() { if(this.showSearch && this.searchSubject) { - + const list = this.expedientegbstore.list.filter((task) => { let subject = task.Folio || task.Subject || task.workflowInstanceDataFields.Subject subject = subject.toLowerCase(); @@ -143,7 +143,7 @@ export class ExpedientsPage implements OnInit { this.skeletonLoader = true this.processes.GetTaskListExpediente(false).subscribe(result => { - + let taskslist = []; this.skeletonLoader = false @@ -152,7 +152,7 @@ export class ExpedientsPage implements OnInit { taskslist = res.map((e) => this.expedienteTaskPipe.transform(e)) taskslist = this.sortService.sortDate(taskslist, 'CreateDate') // this.addProcessTODb(taskslist); - + taskslist = taskslist.filter(function(item) { return item.activityInstanceName != 'Retificar Expediente' }) diff --git a/src/app/shared/header/header.page.html b/src/app/shared/header/header.page.html index 29569306c..03d189300 100644 --- a/src/app/shared/header/header.page.html +++ b/src/app/shared/header/header.page.html @@ -40,14 +40,23 @@
-
+
+
+ {{ PublicationHolderService.count }}% + + X +
-
+
-
+
Anexos
-
+
diff --git a/src/app/shared/publication/new-publication/new-publication.page.ts b/src/app/shared/publication/new-publication/new-publication.page.ts index 117be63ce..ff170d0b1 100644 --- a/src/app/shared/publication/new-publication/new-publication.page.ts +++ b/src/app/shared/publication/new-publication/new-publication.page.ts @@ -20,10 +20,11 @@ import { environment } from 'src/environments/environment'; import { CaptureImageOptions, MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx'; import { Directory, Filesystem, FilesystemDirectory } from '@capacitor/filesystem'; import { Platform } from '@ionic/angular'; -import { PublicationAttachmentEntity, PublicationFormMV } from '../upload/upload-streaming.service'; -import { PublicationFormMVService } from "src/app/shared/publication/upload/publication-form-mv.service" +import { PublicationAttachmentEntity } from '../upload/upload-streaming.service'; import { VideoconvertService } from 'src/app/services/videoconvert.service'; - +import { PublicationHolderService } from 'src/app/services/publication/publication-holder.service' +import { PublicationFromMvService } from "src/app/shared/publication/upload/publication-from-mv.service" +import { UploadStreamingService } from "src/app/shared/publication/upload/upload-streaming.service" enum ActionType { newRapid = "1", new = "2", @@ -68,11 +69,8 @@ export class NewPublicationPage implements OnInit { photoOrVideo: boolean = false; video: any; - publicationFormMV = new PublicationFormMV() - - constructor( - PublicationFormMVService: PublicationFormMVService, + public PublicationFromMvService: PublicationFromMvService, public photoService: PhotoService, private publications: PublicationsService, private toastService: ToastService, @@ -87,9 +85,12 @@ export class NewPublicationPage implements OnInit { private MiddlewareServiceService: MiddlewareServiceService, private LakefsRepositoryService: LakefsRepositoryService, private SocketConnectionMCRService: SocketConnectionMCRService, - private videoconvertService: VideoconvertService + private videoconvertService: VideoconvertService, + public UploadStreamingService: UploadStreamingService ) { this.publicationTitle = 'Nova Publicação'; + this.PublicationFromMvService.clear() + } ngOnInit() { @@ -124,8 +125,8 @@ export class NewPublicationPage implements OnInit { processData(res) { console.log("res process", res) - this.publicationFormMV.form.Files = [] - this.publicationFormMV.form.setData({ + this.PublicationFromMvService.form.Files = [] + this.PublicationFromMvService.form.setData({ DateIndex: res.DateIndex, DocumentId: res.DocumentId, ProcessId: res.ProcessId, @@ -146,7 +147,7 @@ export class NewPublicationPage implements OnInit { }) for(const files of newFiles) { - this.publicationFormMV.form.Files.push(files) + this.PublicationFromMvService.form.Files.push(files) } } @@ -181,7 +182,7 @@ export class NewPublicationPage implements OnInit { FileType: 'image' } ) - this.publicationFormMV.form.Files.push(newAttachment) + this.PublicationFromMvService.form.Files.push(newAttachment) }); } @@ -215,7 +216,8 @@ export class NewPublicationPage implements OnInit { } ) //newAttachment.needUpload(); - this.publicationFormMV.form.Files.push(newAttachment) + + this.PublicationFromMvService.form.Files.push(newAttachment) }); } @@ -252,12 +254,14 @@ export class NewPublicationPage implements OnInit { } ) - // newAttachment.needUpload() - this.publicationFormMV.form.Files.push(newAttachment) + + + newAttachment.needUpload() + this.PublicationFromMvService.form.Files.push(newAttachment) this.filecontent = true; } else { - if (this.publicationFormMV.form.Files.length === 0) + if (this.PublicationFromMvService.form.Files.length === 0) this.filesSizeSum = 0 this.httpErroHandle.validationMessagge('filessize'); @@ -300,7 +304,7 @@ export class NewPublicationPage implements OnInit { }) /* fileObject.needUpload() */ - this.publicationFormMV.form.Files.push(fileObject) + this.PublicationFromMvService.form.Files.push(fileObject) }) .catch((err) => console.error(err)); } catch (error) { @@ -309,7 +313,7 @@ export class NewPublicationPage implements OnInit { } } else { - if (this.publicationFormMV.form.Files.length === 0) + if (this.PublicationFromMvService.form.Files.length === 0) this.filesSizeSum = 0 this.httpErrorHandle.validationMessagge('filessize') @@ -325,11 +329,11 @@ export class NewPublicationPage implements OnInit { injectValidation() { this.Form = new FormGroup({ - Subject: new FormControl(this.publicationFormMV.form.Title, [ + Subject: new FormControl(this.PublicationFromMvService.form.Title, [ Validators.required, // Validators.minLength(4) ]), - Message: new FormControl(this.publicationFormMV.form.Message, [ + Message: new FormControl(this.PublicationFromMvService.form.Message, [ Validators.required, Validators.maxLength(1000) ]) @@ -346,143 +350,32 @@ export class NewPublicationPage implements OnInit { return false } + this.PublicationFromMvService.setFolderId(this.folderId) + this.goBack(); + await this.PublicationFromMvService.save() - if (this.publicationType == ActionType.edit) { - - if (this.publicationFormMV.form.Files.length >= 1) { - const loader = this.toastService.loading() - - const upload = await this.publicationFormMV.uploadVideosFiles() - - if(upload) { - this.publicationFormMV.form.Files = this.publicationFormMV.form.Files.map((e:PublicationAttachmentEntity)=> { - if(e.FileType == 'video' && e.blobFile && e.toUpload) { - e.OriginalFileName = e?.chucksManager?.path?.replace(".mp4", "") || e.OriginalFileName - e.FileExtension = "mp4" - } - return e - }) - - } - - const publication: any = Object.assign({}, this.publicationFormMV.form) - - publication.Files = publication.Files.map( (e:PublicationAttachmentEntity) => ({ - FileBase64: e.url, - FileExtension: e.FileExtension, - OriginalFileName: e.OriginalFileName || 'foto' - })) - - try { - - const response = await this.publications.UpdatePublication(publication.ProcessId, publication).toPromise() - - this.httpErroHandle.httpsSucessMessagge('Editar publicação') - - this.goBack(); - - } catch (error) { - this.httpErroHandle.httpStatusHandle(error) - if (error.status == 404) { - this.PublicationFolderService.deletePost(this.publicationFormMV.form.ProcessId, this.publicationFormMV.form.DocumentId) - this.goBack(); - } - } finally { - loader.remove() - } - - - } else { - this.toastService._badRequest("É necessário adicionar uma imagem ou vídeo") - } - - - } - else { - let time = new Date() - if (this.publicationFormMV.form.Files.length >= 1) { - - const loader = this.toastService.loading() - - const upload = await this.publicationFormMV.uploadVideosFiles() - - if(upload) { - this.publicationFormMV.form.Files = this.publicationFormMV.form.Files.map((e:PublicationAttachmentEntity) => { - if(e.FileType == 'video' && e.blobFile && e.toUpload) { - e.OriginalFileName = e.chucksManager.path.replace(".mp4", "") - e.FileExtension = "mp4" - } - - if(e.FileType == 'video' ) { - e.Base64 = e.url - } - - - return e - }) - - - - const publication: any = Object.assign({}, this.publicationFormMV.form) - - publication.Files = publication.Files.map( (e:PublicationAttachmentEntity) => ({ - FileBase64: e.Base64, - FileExtension: e.FileExtension, - OriginalFileName: e.OriginalFileName || 'foto' - })) - - publication.DocumentId = null; - publication.ProcessId = this.folderId - - - - try { - - await this.publications.CreatePublication(publication.ProcessId, publication).toPromise() - if (this.publicationTitle == '1') { - - } else if (this.publicationTitle == '2') { - this.httpErroHandle.httpsSucessMessagge('Criar publicação') - } else if (this.publicationTitle == '3') { - this.httpErroHandle.httpsSucessMessagge('Editar publicação') - } - - this.goBackToViewPublications.emit(); - } catch (error) { - this.httpErroHandle.httpStatusHandle(error) - } finally { - loader.remove() - } - - } - - - - } else { - this.toastService._badRequest("É necessário adicionar uma imagem ou vídeo") - } - - } - - - this.publicationFormMV.ObjectMergeNotification.close() + // this.PublicationHolderService.setPublication(this.PublicationFromMvService) } ngOnDestroy() { - this.publicationFormMV.ObjectMergeNotification.close() + if(!this.PublicationFromMvService.form.send) { + this.PublicationFromMvService.cancel() + } } + + close() { this.goBack(); } clear() { - this.publicationFormMV.form.Files = []; + this.PublicationFromMvService.form.Files = []; } deletePublicationImage() { - this.publicationFormMV.form.Files = [] + this.PublicationFromMvService.form.Files = [] } setAction() { @@ -722,7 +615,7 @@ export class NewPublicationPage implements OnInit { } deleteFromSeletedContent(index) { - this.publicationFormMV.form.Files.splice(index, 1) + this.PublicationFromMvService.form.Files.splice(index, 1) } chossePhotoOrVideo() { @@ -744,7 +637,7 @@ export class NewPublicationPage implements OnInit { this.recordVideoPc(element.fullPath) } } else { - if (this.publicationFormMV.form.Files.length === 0) + if (this.PublicationFromMvService.form.Files.length === 0) this.filesSizeSum = 0 this.httpErrorHandle.validationMessagge('filessize') @@ -792,7 +685,7 @@ console.log(stringGerada); } ) /* fileObject.needUpload() */ - this.publicationFormMV.form.Files.push(fileObject) + this.PublicationFromMvService.form.Files.push(fileObject) }) .catch((erro) => console.error('read converted video erro ', erro)); } catch (error) { @@ -834,7 +727,7 @@ console.log(stringGerada); } /* fileObject.needUpload() */ - this.publicationFormMV.form.Files.push(fileObject) + this.PublicationFromMvService.form.Files.push(fileObject) }) .catch((err) => console.error(err)); } catch (error) { diff --git a/src/app/shared/publication/upload/publication-form-mv.service.spec.ts b/src/app/shared/publication/upload/publication-from-mv.service.spec.ts similarity index 50% rename from src/app/shared/publication/upload/publication-form-mv.service.spec.ts rename to src/app/shared/publication/upload/publication-from-mv.service.spec.ts index e29f538fa..b79d741c5 100644 --- a/src/app/shared/publication/upload/publication-form-mv.service.spec.ts +++ b/src/app/shared/publication/upload/publication-from-mv.service.spec.ts @@ -1,13 +1,13 @@ import { TestBed } from '@angular/core/testing'; -import { PublicationFormMVService } from './publication-form-mv.service'; +import { PublicationFromMvService } from './publication-from-mv.service'; -describe('PublicationFormMVService', () => { - let service: PublicationFormMVService; +describe('PublicationFromMvService', () => { + let service: PublicationFromMvService; beforeEach(() => { TestBed.configureTestingModule({}); - service = TestBed.inject(PublicationFormMVService); + service = TestBed.inject(PublicationFromMvService); }); it('should be created', () => { diff --git a/src/app/shared/publication/upload/publication-from-mv.service.ts b/src/app/shared/publication/upload/publication-from-mv.service.ts new file mode 100644 index 000000000..832039070 --- /dev/null +++ b/src/app/shared/publication/upload/publication-from-mv.service.ts @@ -0,0 +1,356 @@ + +import { Injectable } from '@angular/core'; +import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; +import { PublicationsService } from 'src/app/services/publications.service'; +import { ToastService } from 'src/app/services/toast.service'; +import { PublicationFolderService } from 'src/app/store/publication-folder.service'; +import { Chunks, ChunksBase64, IOUploadError, PublicationAttachmentEntity, PublicationFormModel, UploadFileUseCase } from './upload-streaming.service'; +import { ObjectMergeNotification } from 'src/app/services/socket-connection-mcr.service'; +import { v4 as uuidv4 } from 'uuid' +import { Result } from 'neverthrow'; +import { IPublicationFormModelEntity } from '../new-publication/interface/interface'; +import { CMAPIService } from "src/app/shared/repository/CMAPI/cmapi.service" + +enum ActionType { + newRapid = "1", + new = "2", + edit = "3" +} + +@Injectable({ + providedIn: 'any' +}) +export class PublicationFromMvService { + + id: string = uuidv4() + private UploadFileUseCase = new UploadFileUseCase() + form = new PublicationFormModel() + ObjectMergeNotification = new ObjectMergeNotification() + totalPercentage = 0 + publicationType: ActionType + folderId: string + + + constructor( + private publications: PublicationsService, + private toastService: ToastService, + private httpErroHandle: HttpErrorHandle, + public PublicationFolderService: PublicationFolderService, + private CMAPIService: CMAPIService, + public publicationFolderService: PublicationFolderService + ) {} + + + clear() { + + + + this.id = uuidv4() + this.UploadFileUseCase = new UploadFileUseCase() + this.form = new PublicationFormModel() + this.ObjectMergeNotification = new ObjectMergeNotification() + this.totalPercentage = 0 + + this.ObjectMergeNotification.connect(); + + window['upload-header-set-add'](this.id, this.totalPercentage, this.save) + } + + cancel() { + window['upload-header-set-remove'](this.id) + } + + + setFolderId(folderId) { + this.folderId = folderId + } + + save = async() => { + + if (this.publicationType == ActionType.edit) { + + if (this.form.Files.length >= 1) { + // const loader = this.toastService.loading() + + this.form.send = true + const upload = await this.uploadVideosFiles() + + if(upload) { + this.form.Files = this.form.Files.map((e:PublicationAttachmentEntity) => { + if(e.FileType == 'video' && e.toUpload) { + e.OriginalFileName = e?.chucksManager?.path?.replace(".mp4", "") || e.OriginalFileName + e.FileExtension = e.FileExtension || "mp4" + } + return e + }) + + } + + const publication: any = Object.assign({}, this.form) + + publication.Files = publication.Files.map( (e:PublicationAttachmentEntity) => ({ + FileBase64: e.url, + FileExtension: e.FileExtension, + OriginalFileName: e.OriginalFileName || 'foto' + })) + + try { + + const response = await this.publications.UpdatePublication(publication.ProcessId, publication).toPromise() + + this.httpErroHandle.httpsSucessMessagge('Editar publicação') + this.publicationFolderService.getPublicationsIds(this.folderId) + + // this.goBack(); + + } catch (error) { + this.httpErroHandle.httpStatusHandle(error) + if (error.status == 404) { + this.PublicationFolderService.deletePost(this.form.ProcessId, this.form.DocumentId) + // this.goBack(); + } + } finally { + // loader.remove() + } + + + } else { + this.toastService._badRequest("É necessário adicionar uma imagem ou vídeo") + } + + + } + else { + let time = new Date() + if (this.form.Files.length >= 1) { + + // const loader = this.toastService.loading() + + this.form.send = true + const upload = await this.uploadVideosFiles() + + if(upload) { + this.form.Files = this.form.Files.map((e:PublicationAttachmentEntity) => { + if(e.FileType == 'video' && e.toUpload) { + e.OriginalFileName = e.chucksManager.path.replace(".mp4", "") + e.FileExtension = e.FileExtension || "mp4" + e.Base64 = '' + } + + if(e.FileType == 'video' && !e.toUpload) { + e.Base64 = e.url + } + + + return e + }) + + + + const publication: any = Object.assign({}, this.form) + + publication.Files = publication.Files.map( (e:PublicationAttachmentEntity) => ({ + FileBase64: e.Base64, + FileExtension: e.FileExtension, + OriginalFileName: e.OriginalFileName || 'foto' + })) + + publication.DocumentId = null; + publication.ProcessId = this.folderId + + + + try { + + await this.publications.CreatePublication(publication.ProcessId, publication).toPromise() + + if (this.publicationType == '1') { + + } else if (this.publicationType == '2') { + this.httpErroHandle.httpsSucessMessagge('Criar publicação') + } else if (this.publicationType == '3') { + this.httpErroHandle.httpsSucessMessagge('Editar publicação') + } + + // this.goBackToViewPublications.emit(); + window['upload-header-set-remove'](this.id); + this.publicationFolderService.getPublicationsIds(this.folderId) + } catch (error) { + this.httpErroHandle.httpStatusHandle(error) + } finally { + // loader.remove() + } + + } else { + this.toastService._badRequest("ocorreu um erro ao enviar o ficheiro") + // loader.remove() + } + + + + } else { + this.toastService._badRequest("É necessário adicionar uma imagem ou vídeo") + } + + } + + + // this.PublicationHolderService.setPublication(this.publicationFormMV) + this.ObjectMergeNotification.close() + } + + + + + setDataToFrom(data: IPublicationFormModelEntity) { + this.form.setData(data) + } + + private getVideoFiles() { + return this.form.Files.filter( x => x.FileType == 'video') + } + + async commit(PublicationAttachmentEntity: PublicationAttachmentEntity) { + PublicationAttachmentEntity.chucksManager.doneChunkUpload() + const mergeRequest = await this.ObjectMergeNotification.socket.commit(PublicationAttachmentEntity.chucksManager.path) + + if(mergeRequest.isOk()) { + console.log("commit") + PublicationAttachmentEntity.chucksManager.contentSetReady() + return true + } else { + console.log('no commit') + return false + } + } + + private upload(PublicationAttachmentEntity: PublicationAttachmentEntity) { + + return new Promise(async (resolve, reject)=> { + + if(!PublicationAttachmentEntity.hasChunkManger) { + if(PublicationAttachmentEntity.hasBlob) { + + const fileBlob = PublicationAttachmentEntity.blobFile; + const fileChunks = new Chunks({chunkSize: 1000 }) + fileChunks.setFile(fileBlob) + PublicationAttachmentEntity.setChunkManger(fileChunks) + } else { + const Base64 = PublicationAttachmentEntity.Base64; + const fileChunks = new ChunksBase64({chunkSize: 1000 }) + fileChunks.setFile(Base64) + PublicationAttachmentEntity.setChunkManger(fileChunks) + } + + PublicationAttachmentEntity.chucksManager.updateTotalPercentageTrigger = () => { + this.uploadPercentage() + } + + } + + let attemp = 0; + let result: Result + + if( PublicationAttachmentEntity.chucksManager.isUploading == false && PublicationAttachmentEntity.chucksManager.doneUpload == false) { + + do { + attemp++ + + PublicationAttachmentEntity.chucksManager.clearManualRetry() + PublicationAttachmentEntity.chucksManager.setUploading() + result = await this.UploadFileUseCase.execute(PublicationAttachmentEntity) + PublicationAttachmentEntity.chucksManager.clearUploading() + + } while (attemp<3 && result.isErr() && result.error == 'slow') + + + if(result.isErr()) { + PublicationAttachmentEntity.chucksManager.setManualRetry() + resolve(false) + } else { + + return await resolve(this.commit(PublicationAttachmentEntity)) + + } + + } else if ( PublicationAttachmentEntity.chucksManager.contentReady == false) { + console.log("try to send again") + return await resolve(this.commit(PublicationAttachmentEntity)) + + } else { + console.log('already uploading') + } + + }) + + } + + uploadVideosFiles(): Promise { + + return new Promise((resolve, reject) => { + + // this.ObjectMergeNotification.socket.registerWhenConnected(() => { + const videosFiles = this.getVideoFiles() + + window['upload-header-set-percentage'](this.id, 1) + window['upload-header-remove-retry'](this.id); + + const videosFilesToUploads = videosFiles.filter( e => e.FileType == "video" && e.toUpload) + + const Promises: Promise[] = [] + + for(const file of videosFilesToUploads) { + const promise = this.upload(file) + Promises.push(promise) + } + + // Use Promise.all to wait for all promises to resolve + Promise.all(Promises) + .then((results) => { + // Check if every promise resolved successfully + const allPromisesResolvedSuccessfully = results.every((result) => result == true); + + if (allPromisesResolvedSuccessfully) { + console.log('All promises resolved successfully.'); + + resolve(true) + } else { + window['upload-header-set-retry'](this.id); + resolve(false) + console.log('Some promises failed to resolve successfully.'); + } + }) + .catch((error) => { + resolve(false) + console.error('An error occurred while resolving promises:', error); + }); + //}) + + }) + + } + + uploadPercentage() { + + const videosFiles = this.getVideoFiles() + const percentageArray = videosFiles.map((e) => e.chucksManager.calculatePercentage()) + + + // Check if the array is not empty + if (percentageArray.length === 0) { + window['upload-header-set-percentage'](this.id, this.totalPercentage) + return 0; + } else { + console.log("===============!!==========================================") + let sum = percentageArray.reduce((acc, percentage) => acc + percentage, 0); + + // Calculate the average percentage + let averagePercentage = sum / percentageArray.length; + + this.totalPercentage = averagePercentage + window['upload-header-set-percentage'](this.id, this.totalPercentage) + return averagePercentage; + } + + } +} diff --git a/src/app/shared/publication/upload/upload-streaming.service.ts b/src/app/shared/publication/upload/upload-streaming.service.ts index cc686674a..66f6c649f 100644 --- a/src/app/shared/publication/upload/upload-streaming.service.ts +++ b/src/app/shared/publication/upload/upload-streaming.service.ts @@ -3,7 +3,7 @@ import { ok, err, Result } from 'neverthrow'; import { ObjectMergeNotification } from 'src/app/services/socket-connection-mcr.service'; import { CMAPIService } from "src/app/shared/repository/CMAPI/cmapi.service" import { DomSanitizer } from '@angular/platform-browser'; - +import { v4 as uuidv4 } from 'uuid' export enum UploadError { @@ -26,7 +26,7 @@ export class UploadStreamingService { } } -class UploadFileUseCase { +export class UploadFileUseCase { CMAPIService: CMAPIService = window["CMAPIAPIRepository"] constructor() {} async execute(PublicationAttachmentEntity: PublicationAttachmentEntity): Promise> { @@ -168,7 +168,7 @@ export class PublicationAttachmentEntity { this.toUpload = true } - setChunkManger (chunks: Chunks) { + setChunkManger (chunks: Chunks | ChunksBase64) { this.chucksManager = new ChucksManager({chunks}) } get hasChunkManger() { @@ -178,6 +178,10 @@ export class PublicationAttachmentEntity { get hasChunkManager() { return this.chucksManager != null } + + get hasBlob() { + return this.blobFile + } } interface IPublicationFormModelEntity { @@ -210,6 +214,7 @@ export class PublicationFormModel implements IPublicationFormModelEntity { Files: PublicationAttachmentEntity[] = [] hasSet = false + send = false setData(data: IPublicationFormModelEntity) { if(data.Files) { @@ -224,12 +229,15 @@ export class PublicationFormModel implements IPublicationFormModelEntity { export class PublicationFormMV { + readonly id = uuidv4() private UploadFileUseCase = new UploadFileUseCase() form = new PublicationFormModel() ObjectMergeNotification = new ObjectMergeNotification() + totalPercentage = 0 constructor() { - // this.ObjectMergeNotification.connect(); + this.ObjectMergeNotification.connect(); + window['upload-header-set-add'](this.id, this.totalPercentage) } setDataToFrom(data: IPublicationFormModelEntity) { @@ -240,25 +248,50 @@ export class PublicationFormMV { return this.form.Files.filter( x => x.FileType == 'video') } + async commit(PublicationAttachmentEntity: PublicationAttachmentEntity) { + PublicationAttachmentEntity.chucksManager.doneChunkUpload() + const mergeRequest = await this.ObjectMergeNotification.socket.commit(PublicationAttachmentEntity.chucksManager.path) + + if(mergeRequest.isOk()) { + console.log("commit") + PublicationAttachmentEntity.chucksManager.contentSetReady() + return true + } else { + console.log('no commit') + return false + } + } + private upload(PublicationAttachmentEntity: PublicationAttachmentEntity) { return new Promise(async (resolve, reject)=> { if(!PublicationAttachmentEntity.hasChunkManger) { - const fileBlob = PublicationAttachmentEntity.blobFile; - const fileChunks = new Chunks({chunkSize: 400 }) - fileChunks.setFile(fileBlob) - PublicationAttachmentEntity.setChunkManger(fileChunks) + if(PublicationAttachmentEntity.hasBlob) { + + const fileBlob = PublicationAttachmentEntity.blobFile; + const fileChunks = new Chunks({chunkSize: 50 }) + fileChunks.setFile(fileBlob) + PublicationAttachmentEntity.setChunkManger(fileChunks) + } else { + const Base64 = PublicationAttachmentEntity.Base64; + const fileChunks = new ChunksBase64({chunkSize: 50 }) + fileChunks.setFile(Base64) + PublicationAttachmentEntity.setChunkManger(fileChunks) + } + + + PublicationAttachmentEntity.chucksManager.updateTotalPercentageTrigger = () => { + this.uploadPercentage() + } - } else if(PublicationAttachmentEntity.chucksManager.doneUpload) { - return resolve(true) } let attemp = 0; let result: Result - if( PublicationAttachmentEntity.chucksManager.isUploading == false) { + if( PublicationAttachmentEntity.chucksManager.isUploading == false && PublicationAttachmentEntity.chucksManager.doneUpload == false) { do { attemp++ @@ -276,20 +309,16 @@ export class PublicationFormMV { resolve(false) } else { - PublicationAttachmentEntity.chucksManager.doneChunkUpload() - const mergeRequest = await this.ObjectMergeNotification.socket.commit(PublicationAttachmentEntity.chucksManager.path) - - if(mergeRequest.isOk()) { - PublicationAttachmentEntity.chucksManager.contentSetReady() - resolve(true) - } else { - resolve(false) - } + return await resolve(this.commit(PublicationAttachmentEntity)) } - } else { + } else if ( PublicationAttachmentEntity.chucksManager.contentReady == false) { + console.log("try to send again") + return await resolve(this.commit(PublicationAttachmentEntity)) + } else { + console.log('already uploading') } }) @@ -303,6 +332,8 @@ export class PublicationFormMV { // this.ObjectMergeNotification.socket.registerWhenConnected(() => { const videosFiles = this.getVideoFiles() + window['upload-header-set-percentage'](this.id, 1) + const videosFilesToUploads = videosFiles.filter( e => e.FileType == "video" && e.toUpload && e.blobFile) const Promises: Promise[] = [] @@ -320,8 +351,10 @@ export class PublicationFormMV { if (allPromisesResolvedSuccessfully) { console.log('All promises resolved successfully.'); + window['upload-header-set-remove'](this.id); resolve(true) } else { + window['upload-header-set-remove'](this.id); resolve(false) console.log('Some promises failed to resolve successfully.'); } @@ -336,22 +369,26 @@ export class PublicationFormMV { } - get uploadPercentage() { + uploadPercentage() { const videosFiles = this.getVideoFiles() const percentageArray = videosFiles.map((e) => e.chucksManager.calculatePercentage()) // Check if the array is not empty if (percentageArray.length === 0) { - return null; + window['upload-header-set-percentage'](this.id, this.totalPercentage) + return 0; + } else { + let sum = percentageArray.reduce((acc, percentage) => acc + percentage, 0); + + // Calculate the average percentage + let averagePercentage = sum / percentageArray.length; + + this.totalPercentage = averagePercentage + window['upload-header-set-percentage'](this.id, this.totalPercentage) + return averagePercentage; } - let sum = percentageArray.reduce((acc, percentage) => acc + percentage, 0); - - // Calculate the average percentage - let averagePercentage = sum / percentageArray.length; - - return averagePercentage; } } @@ -397,6 +434,51 @@ export class Chunks { } +export class ChunksBase64 { + + chunkSize: number + private base64: string + bytes: Uint8Array + + constructor({chunkSize}) { + this.chunkSize = chunkSize * 1024 + } + + get totalChunks () { + return Math.ceil(this.bytes.length / this.chunkSize); + } + + setFile(base64: string) { + this.base64 = base64 + let utf8Encoder = new TextEncoder(); + this.bytes = utf8Encoder.encode(base64); + } + + // Function to read a chunk of the file + async readChunk(start: number, end: number) { + + // Slice the last 1MB of bytes + let slicedBytes = this.bytes.slice(start, end); + + // Convert the sliced bytes back to a string + let text = new TextDecoder().decode(slicedBytes); + + return text + } + + async getChunks(i: number): Promise { + i-- + if(i < this.totalChunks) { + const start = i * this.chunkSize; + const end = Math.min(start + this.chunkSize, this.bytes.length); + const chunk = await this.readChunk(start, end); + + return chunk + } + } + +} + interface IUploadResponse { result: Result attemp: number @@ -413,8 +495,11 @@ export class ChucksManager { contentReady = false manualRetry = false isUploading = false + needToCommit = true subscribeToUseCaseResponse: Function[] = [] + updateTotalPercentageTrigger = () => {} + getUploadPercentage() { return this.uploadPercentage } @@ -474,6 +559,7 @@ export class ChucksManager { setPercentage() { const percentage: number = this.calculatePercentage() console.log({percentage}) + this.updateTotalPercentageTrigger() this.uploadPercentage = percentage.toString()+"%" } @@ -531,6 +617,10 @@ export class ChucksManager { this.onSetLastChunk.forEach(callback => callback()); } + doneCommit() { + this.needToCommit = false + } + contentSetReady() { this.merging = false this.contentReady = true diff --git a/src/app/shared/publication/view-publications/view-publications.page.html b/src/app/shared/publication/view-publications/view-publications.page.html index f11522496..0d978b7da 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.html +++ b/src/app/shared/publication/view-publications/view-publications.page.html @@ -30,7 +30,7 @@ - + diff --git a/src/app/shared/publication/view-publications/view-publications.page.ts b/src/app/shared/publication/view-publications/view-publications.page.ts index b944537b0..f3bbcb9e7 100644 --- a/src/app/shared/publication/view-publications/view-publications.page.ts +++ b/src/app/shared/publication/view-publications/view-publications.page.ts @@ -17,6 +17,8 @@ import { AskModalPage } from 'src/app/modals/ask-modal/ask-modal.page'; import { checkFileTypeService } from 'src/app/services/checkFileType.service'; import { PublicationVideoManagerService } from "src/app/services/publication/publication-video-manager.service"; import { StopvideoService } from "src/app/services/stopvideo.service"; +import { PublicationHolderService } from 'src/app/services/publication/publication-holder.service' + @Component({ selector: 'app-view-publications', templateUrl: './view-publications.page.html', @@ -72,7 +74,8 @@ export class ViewPublicationsPage implements OnInit { public publicationFolderService: PublicationFolderService, public checkFileType: checkFileTypeService, private publicationVideoManagerService: PublicationVideoManagerService, - public StopvideoService: StopvideoService + public StopvideoService: StopvideoService, + public PublicationHolderService: PublicationHolderService ) { @@ -129,6 +132,10 @@ export class ViewPublicationsPage implements OnInit { this.stopVideo(); + setTimeout(()=> { + this.doRefresh({}) + }, 1500) + } @@ -171,42 +178,9 @@ export class ViewPublicationsPage implements OnInit { this.showLoader = true; const folderId = this.folderId - try { - const publicationIds = await this.publications.GetPublicationsList(folderId).toPromise(); + await this.publicationFolderService.getPublicationsIds(folderId) - this.createPublicationList(folderId) - let loadLater = [] - for (let publicationId of publicationIds) { - - if (!this.publicationIsPresent(publicationId, folderId)) { - await this.loadPublication(publicationId, folderId) - - } else { - loadLater.push(publicationId) - } - } - - for (let publicationId of loadLater) { - await this.loadPublication(publicationId, folderId) - } - - - for (let localPublication of this.publicationFolderService.publicationList[folderId]) { - - const apiPublication = publicationIds.includes(localPublication.DocumentId) - if (!apiPublication) { - this.publicationFolderService.deletePost(folderId, localPublication.DocumentId) - } - } - - this.showLoader = false; - - this.storage.set(folderId, this.publicationFolderService.publicationList[folderId]); - - this.oldpublicationIds = publicationIds - } catch (error) { - this.showLoader = false; - } + this.showLoader = false; } @@ -227,31 +201,8 @@ export class ViewPublicationsPage implements OnInit { } async loadPublication(publicationId, folderId) { - let Publication = await this.publications.GetPublicationWithArrayOfFilesById(publicationId).toPromise(); - let publicationDetails: Publication = this.publicationPipe.itemList(Publication) - const findIndex = this.publicationFindIndex(publicationId, folderId) - const found = this.publicationIsPresent(publicationId, folderId) - - if (!found) { - this.publicationFolderService.publicationList[folderId].push(publicationDetails) - this.publicationFolderService.revertPublicationOrder(folderId) - } else { - - let a: any = Object.assign({},this.publicationFolderService.publicationList[folderId][findIndex]) - let b: any = Object.assign({}, publicationDetails) - - a.Files = a.Files.length - b.Files = b.Files.length - - if(JSON.stringify(a) != JSON.stringify(b)) { - - this.publicationFolderService.publicationList[folderId][findIndex] = publicationDetails - } else { - // console.log({publicationDetails}) - } - - } + await this.publicationFolderService.loadPublication(publicationId, folderId) } @@ -264,29 +215,37 @@ export class ViewPublicationsPage implements OnInit { async AddPublication(publicationType: any, folderId: any) { - if (window.innerWidth < 701) { - const modal = await this.modalController.create({ - component: NewPublicationPage, - componentProps: { + if(this.PublicationHolderService.PublicationFormMV.length == 0) { + + if (window.innerWidth < 701) { + const modal = await this.modalController.create({ + component: NewPublicationPage, + componentProps: { + publicationType: publicationType, + folderId: folderId, + }, + cssClass: 'new-publication modal modal-desktop', + backdropDismiss: false + }); + + modal.onDidDismiss().then(() => { + this.doRefresh(event); + }); + + await modal.present(); + } else { + this.addNewPublication.emit({ publicationType: publicationType, - folderId: folderId, - }, - cssClass: 'new-publication modal modal-desktop', - backdropDismiss: false - }); - - modal.onDidDismiss().then(() => { - this.doRefresh(event); - }); - - await modal.present(); + folderId: folderId + }) + } } else { - this.addNewPublication.emit({ - publicationType: publicationType, - folderId: folderId - }) + + this.toastService._successMessage('já existe uma publicação a ser processado'); } + + } async openEditPublication(folderId?: any) { @@ -374,24 +333,29 @@ export class ViewPublicationsPage implements OnInit { stopVideo() { - var videos = document.querySelectorAll('video'); - - // Pause each video - videos.forEach(function (video) { - video.pause(); - }) - try { + var videos = document.querySelectorAll('video'); - this.videoElements.forEach(videoElement => { - // You can access the native HTML video element using videoElement.nativeElement - const video: HTMLVideoElement = videoElement.nativeElement; + // Pause each video + videos.forEach(function (video) { + video.pause(); + }) - video.pause() - // Do something with each video element - // console.log(video); - }); - } catch (e) { + try { + + this.videoElements.forEach(videoElement => { + // You can access the native HTML video element using videoElement.nativeElement + const video: HTMLVideoElement = videoElement.nativeElement; + + video.pause() + // Do something with each video element + // console.log(video); + }); + } catch (e) { + + } + + } catch (error) { } diff --git a/src/assets/www/pdfjs/web/viewer.js b/src/assets/www/pdfjs/web/viewer.js index 62513d7ad..e6cd1a059 100644 --- a/src/assets/www/pdfjs/web/viewer.js +++ b/src/assets/www/pdfjs/web/viewer.js @@ -127,7 +127,7 @@ { __webpack_require__(41); } - + function getViewerConfiguration() { return { appContainer: document.body, @@ -250,7 +250,7 @@ debuggerScriptPath: './debugger.js' }; } - + function webViewerLoad() { var config = getViewerConfiguration(); window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication; @@ -260,85 +260,85 @@ document.dispatchEvent(event); pdfjsWebApp.PDFViewerApplication.run(config); } - + if (document.readyState === 'interactive' || document.readyState === 'complete') { webViewerLoad(); } else { document.addEventListener('DOMContentLoaded', webViewerLoad, true); } - + /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFPrintServiceFactory = exports.DefaultExternalServices = exports.PDFViewerApplication = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + var _ui_utils = __webpack_require__(5); - + var _app_options = __webpack_require__(6); - + var _pdfjsLib = __webpack_require__(7); - + var _pdf_cursor_tools = __webpack_require__(9); - + var _pdf_rendering_queue = __webpack_require__(11); - + var _pdf_sidebar = __webpack_require__(12); - + var _overlay_manager = __webpack_require__(13); - + var _password_prompt = __webpack_require__(14); - + var _pdf_attachment_viewer = __webpack_require__(15); - + var _pdf_document_properties = __webpack_require__(16); - + var _pdf_find_bar = __webpack_require__(17); - + var _pdf_find_controller = __webpack_require__(18); - + var _pdf_history = __webpack_require__(20); - + var _pdf_link_service = __webpack_require__(21); - + var _pdf_outline_viewer = __webpack_require__(22); - + var _pdf_presentation_mode = __webpack_require__(23); - + var _pdf_sidebar_resizer = __webpack_require__(24); - + var _pdf_thumbnail_viewer = __webpack_require__(25); - + var _pdf_viewer = __webpack_require__(27); - + var _secondary_toolbar = __webpack_require__(32); - + var _toolbar = __webpack_require__(34); - + var _view_history = __webpack_require__(35); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - + function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + var DEFAULT_SCALE_DELTA = 1.1; var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; var FORCE_PAGES_LOADED_TIMEOUT = 10000; @@ -413,7 +413,7 @@ /*#__PURE__*/ _regenerator["default"].mark(function _callee(appConfig) { var _this = this; - + var appContainer; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { @@ -423,23 +423,23 @@ this.appConfig = appConfig; _context.next = 4; return this._readPreferences(); - + case 4: _context.next = 6; return this._parseHashParameters(); - + case 6: _context.next = 8; return this._initializeL10n(); - + case 8: if (this.isViewerEmbedded && _app_options.AppOptions.get('externalLinkTarget') === _pdfjsLib.LinkTarget.NONE) { _app_options.AppOptions.set('externalLinkTarget', _pdfjsLib.LinkTarget.TOP); } - + _context.next = 11; return this._initializeViewerComponents(); - + case 11: this.bindEvents(); this.bindWindowEvents(); @@ -450,7 +450,7 @@ }); }); this.initialized = true; - + case 16: case "end": return _context.stop(); @@ -458,11 +458,11 @@ } }, _callee, this); })); - + function initialize(_x) { return _initialize.apply(this, arguments); } - + return initialize; }(), _readPreferences: function () { @@ -478,29 +478,29 @@ _context2.next = 2; break; } - + return _context2.abrupt("return"); - + case 2: _context2.prev = 2; _context2.next = 5; return this.preferences.getAll(); - + case 5: prefs = _context2.sent; - + for (name in prefs) { _app_options.AppOptions.set(name, prefs[name]); } - + _context2.next = 12; break; - + case 9: _context2.prev = 9; _context2.t0 = _context2["catch"](2); console.error("_readPreferences: \"".concat(_context2.t0.message, "\".")); - + case 12: case "end": return _context2.stop(); @@ -508,11 +508,11 @@ } }, _callee2, this, [[2, 9]]); })); - + function _readPreferences() { return _readPreferences2.apply(this, arguments); } - + return _readPreferences; }(), _parseHashParameters: function () { @@ -528,85 +528,85 @@ _context3.next = 2; break; } - + return _context3.abrupt("return", undefined); - + case 2: waitOn = []; hash = document.location.hash.substring(1); hashParams = (0, _ui_utils.parseQueryString)(hash); - + if ('disableworker' in hashParams && hashParams['disableworker'] === 'true') { waitOn.push(loadFakeWorker()); } - + if ('disablerange' in hashParams) { _app_options.AppOptions.set('disableRange', hashParams['disablerange'] === 'true'); } - + if ('disablestream' in hashParams) { _app_options.AppOptions.set('disableStream', hashParams['disablestream'] === 'true'); } - + if ('disableautofetch' in hashParams) { _app_options.AppOptions.set('disableAutoFetch', hashParams['disableautofetch'] === 'true'); } - + if ('disablefontface' in hashParams) { _app_options.AppOptions.set('disableFontFace', hashParams['disablefontface'] === 'true'); } - + if ('disablehistory' in hashParams) { _app_options.AppOptions.set('disableHistory', hashParams['disablehistory'] === 'true'); } - + if ('webgl' in hashParams) { _app_options.AppOptions.set('enableWebGL', hashParams['webgl'] === 'true'); } - + if ('useonlycsszoom' in hashParams) { _app_options.AppOptions.set('useOnlyCssZoom', hashParams['useonlycsszoom'] === 'true'); } - + if ('verbosity' in hashParams) { _app_options.AppOptions.set('verbosity', hashParams['verbosity'] | 0); } - + if (!('textlayer' in hashParams)) { _context3.next = 23; break; } - + _context3.t0 = hashParams['textlayer']; _context3.next = _context3.t0 === 'off' ? 18 : _context3.t0 === 'visible' ? 20 : _context3.t0 === 'shadow' ? 20 : _context3.t0 === 'hover' ? 20 : 23; break; - + case 18: _app_options.AppOptions.set('textLayerMode', _ui_utils.TextLayerMode.DISABLE); - + return _context3.abrupt("break", 23); - + case 20: viewer = this.appConfig.viewerContainer; viewer.classList.add('textLayer-' + hashParams['textlayer']); return _context3.abrupt("break", 23); - + case 23: if ('pdfbug' in hashParams) { _app_options.AppOptions.set('pdfBug', true); - + enabled = hashParams['pdfbug'].split(','); waitOn.push(loadAndEnablePDFBug(enabled)); } - + if ('locale' in hashParams) { _app_options.AppOptions.set('locale', hashParams['locale']); } - + return _context3.abrupt("return", Promise.all(waitOn)["catch"](function (reason) { console.error("_parseHashParameters: \"".concat(reason.message, "\".")); })); - + case 26: case "end": return _context3.stop(); @@ -614,11 +614,11 @@ } }, _callee3, this); })); - + function _parseHashParameters() { return _parseHashParameters2.apply(this, arguments); } - + return _parseHashParameters; }(), _initializeL10n: function () { @@ -635,11 +635,11 @@ }); _context4.next = 3; return this.l10n.getDirection(); - + case 3: dir = _context4.sent; document.getElementsByTagName('html')[0].dir = dir; - + case 5: case "end": return _context4.stop(); @@ -647,11 +647,11 @@ } }, _callee4, this); })); - + function _initializeL10n() { return _initializeL10n2.apply(this, arguments); } - + return _initializeL10n; }(), _initializeViewerComponents: function () { @@ -719,11 +719,11 @@ eventBus: eventBus }); pdfLinkService.setHistory(this.pdfHistory); - + if (!this.supportsIntegratedFind) { this.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, this.l10n); } - + this.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, this.overlayManager, eventBus, this.l10n); this.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({ container: container, @@ -732,7 +732,7 @@ }); this.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, this.l10n); this.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus); - + if (this.supportsFullscreen) { this.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({ container: container, @@ -742,7 +742,7 @@ contextMenuItems: appConfig.fullscreen }); } - + this.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, this.overlayManager, this.l10n); this.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({ container: appConfig.sidebar.outlineView, @@ -763,7 +763,7 @@ }); this.pdfSidebar.onToggled = this.forceRendering.bind(this); this.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, this.l10n); - + case 34: case "end": return _context5.stop(); @@ -771,11 +771,11 @@ } }, _callee5, this); })); - + function _initializeViewerComponents() { return _initializeViewerComponents2.apply(this, arguments); } - + return _initializeViewerComponents; }(), run: function run(config) { @@ -785,93 +785,93 @@ if (this.pdfViewer.isInPresentationMode) { return; } - + var newScale = this.pdfViewer.currentScale; - + do { newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2); newScale = Math.ceil(newScale * 10) / 10; newScale = Math.min(_ui_utils.MAX_SCALE, newScale); } while (--ticks > 0 && newScale < _ui_utils.MAX_SCALE); - + this.pdfViewer.currentScaleValue = newScale; }, zoomOut: function zoomOut(ticks) { if (this.pdfViewer.isInPresentationMode) { return; } - + var newScale = this.pdfViewer.currentScale; - + do { newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2); newScale = Math.floor(newScale * 10) / 10; newScale = Math.max(_ui_utils.MIN_SCALE, newScale); } while (--ticks > 0 && newScale > _ui_utils.MIN_SCALE); - + this.pdfViewer.currentScaleValue = newScale; }, zoomReset: function zoomReset() { if (this.pdfViewer.isInPresentationMode) { return; } - + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; }, - + get pagesCount() { return this.pdfDocument ? this.pdfDocument.numPages : 0; }, - + set page(val) { this.pdfViewer.currentPageNumber = val; }, - + get page() { return this.pdfViewer.currentPageNumber; }, - + get printing() { return !!this.printService; }, - + get supportsPrinting() { return PDFPrintServiceFactory.instance.supportsPrinting; }, - + get supportsFullscreen() { var support; var doc = document.documentElement; support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen || doc.msRequestFullscreen); - + if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || document.webkitFullscreenEnabled === false || document.msFullscreenEnabled === false) { support = false; } - + return (0, _pdfjsLib.shadow)(this, 'supportsFullscreen', support); }, - + get supportsIntegratedFind() { return this.externalServices.supportsIntegratedFind; }, - + get supportsDocumentFonts() { return this.externalServices.supportsDocumentFonts; }, - + get supportsDocumentColors() { return this.externalServices.supportsDocumentColors; }, - + get loadingBar() { var bar = new _ui_utils.ProgressBar('#loadingBar'); return (0, _pdfjsLib.shadow)(this, 'loadingBar', bar); }, - + get supportedMouseWheelZoomModifierKeys() { return this.externalServices.supportedMouseWheelZoomModifierKeys; }, - + initPassiveLoading: function initPassiveLoading() { throw new Error('Not implemented: initPassiveLoading'); }, @@ -880,7 +880,7 @@ this.url = url; this.baseUrl = url.split('#')[0]; var title = (0, _ui_utils.getPDFFileNameFromURL)(url, ''); - + if (!title) { try { title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url; @@ -888,14 +888,14 @@ title = url; } } - + //this.setTitle(title); }, setTitle: function setTitle(title) { if (this.isViewerEmbedded) { return; } - + document.title = title; }, close: function () { @@ -909,18 +909,18 @@ case 0: errorWrapper = this.appConfig.errorWrapper.container; errorWrapper.setAttribute('hidden', 'true'); - + if (this.pdfLoadingTask) { _context6.next = 4; break; } - + return _context6.abrupt("return", undefined); - + case 4: promise = this.pdfLoadingTask.destroy(); this.pdfLoadingTask = null; - + if (this.pdfDocument) { this.pdfDocument = null; this.pdfThumbnailViewer.setDocument(null); @@ -928,7 +928,7 @@ this.pdfLinkService.setDocument(null); this.pdfDocumentProperties.setDocument(null); } - + this.store = null; this.isInitialViewSet = false; this.downloadComplete = false; @@ -938,20 +938,20 @@ this.pdfSidebar.reset(); this.pdfOutlineViewer.reset(); this.pdfAttachmentViewer.reset(); - + if (this.findBar) { this.findBar.reset(); } - + this.toolbar.reset(); this.secondaryToolbar.reset(); - + if (typeof PDFBug !== 'undefined') { PDFBug.cleanup(); } - + return _context6.abrupt("return", promise); - + case 21: case "end": return _context6.stop(); @@ -959,11 +959,11 @@ } }, _callee6, this); })); - + function close() { return _close.apply(this, arguments); } - + return close; }(), open: function () { @@ -971,9 +971,9 @@ /*#__PURE__*/ _regenerator["default"].mark(function _callee7(file, args) { var _this2 = this; - + var workerParameters, key, parameters, apiParameters, _key, value, _key2, _value, loadingTask; - + return _regenerator["default"].wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { @@ -982,19 +982,19 @@ _context7.next = 3; break; } - + _context7.next = 3; return this.close(); - + case 3: workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER); - + for (key in workerParameters) { _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key]; } - + parameters = Object.create(null); - + if (typeof file === 'string') { this.setTitleUsingUrl(file); parameters.url = file; @@ -1004,47 +1004,47 @@ this.setTitleUsingUrl(file.originalUrl); parameters.url = file.url; } - + apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API); - + for (_key in apiParameters) { value = apiParameters[_key]; - + if (_key === 'docBaseUrl' && !value) {} - + parameters[_key] = value; } - + if (args) { for (_key2 in args) { _value = args[_key2]; - + if (_key2 === 'length') { this.pdfDocumentProperties.setFileSize(_value); } - + parameters[_key2] = _value; } } - + loadingTask = (0, _pdfjsLib.getDocument)(parameters); this.pdfLoadingTask = loadingTask; - + loadingTask.onPassword = function (updateCallback, reason) { _this2.pdfLinkService.externalLinkEnabled = false; - + _this2.passwordPrompt.setUpdateCallback(updateCallback, reason); - + _this2.passwordPrompt.open(); }; - + loadingTask.onProgress = function (_ref) { var loaded = _ref.loaded, total = _ref.total; - + _this2.progress(loaded / total); }; - + loadingTask.onUnsupportedFeature = this.fallback.bind(this); return _context7.abrupt("return", loadingTask.promise.then(function (pdfDocument) { _this2.load(pdfDocument); @@ -1052,10 +1052,10 @@ if (loadingTask !== _this2.pdfLoadingTask) { return undefined; } - + var message = exception && exception.message; var loadingErrorMessage; - + if (exception instanceof _pdfjsLib.InvalidPDFException) { loadingErrorMessage = _this2.l10n.get('invalid_file_error', null, 'Invalid or corrupted PDF file.'); } else if (exception instanceof _pdfjsLib.MissingPDFException) { @@ -1065,16 +1065,16 @@ } else { loadingErrorMessage = _this2.l10n.get('loading_error', null, 'An error occurred while loading the PDF.'); } - + return loadingErrorMessage.then(function (msg) { _this2.error(msg, { message: message }); - + throw new Error(msg); }); })); - + case 16: case "end": return _context7.stop(); @@ -1082,33 +1082,33 @@ } }, _callee7, this); })); - + function open(_x2, _x3) { return _open.apply(this, arguments); } - + return open; }(), download: function download() { var _this3 = this; - + function downloadByUrl() { downloadManager.downloadUrl(url, filename); } - + var url = this.baseUrl; var filename = this.contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(this.url); var downloadManager = this.downloadManager; - + downloadManager.onerror = function (err) { _this3.error("PDF failed to download: ".concat(err)); }; - + if (!this.pdfDocument || !this.downloadComplete) { downloadByUrl(); return; } - + this.pdfDocument.getData().then(function (data) { var blob = new Blob([data], { type: 'application/pdf' @@ -1122,12 +1122,12 @@ version: _pdfjsLib.version || '?', build: _pdfjsLib.build || '?' }, 'PDF.js v{{version}} (build: {{build}})')]; - + if (moreInfo) { moreInfoText.push(this.l10n.get('error_message', { message: moreInfo.message }, 'Message: {{message}}')); - + if (moreInfo.stack) { moreInfoText.push(this.l10n.get('error_stack', { stack: moreInfo.stack @@ -1138,7 +1138,7 @@ file: moreInfo.filename }, 'File: {{file}}')); } - + if (moreInfo.lineNumber) { moreInfoText.push(this.l10n.get('error_line', { line: moreInfo.lineNumber @@ -1146,35 +1146,35 @@ } } } - + var errorWrapperConfig = this.appConfig.errorWrapper; var errorWrapper = errorWrapperConfig.container; errorWrapper.removeAttribute('hidden'); var errorMessage = errorWrapperConfig.errorMessage; errorMessage.textContent = message; var closeButton = errorWrapperConfig.closeButton; - + closeButton.onclick = function () { errorWrapper.setAttribute('hidden', 'true'); }; - + var errorMoreInfo = errorWrapperConfig.errorMoreInfo; var moreInfoButton = errorWrapperConfig.moreInfoButton; var lessInfoButton = errorWrapperConfig.lessInfoButton; - + moreInfoButton.onclick = function () { errorMoreInfo.removeAttribute('hidden'); moreInfoButton.setAttribute('hidden', 'true'); lessInfoButton.removeAttribute('hidden'); errorMoreInfo.style.height = errorMoreInfo.scrollHeight + 'px'; }; - + lessInfoButton.onclick = function () { errorMoreInfo.setAttribute('hidden', 'true'); moreInfoButton.removeAttribute('hidden'); lessInfoButton.setAttribute('hidden', 'true'); }; - + moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; closeButton.oncontextmenu = _ui_utils.noContextMenuHandler; @@ -1186,27 +1186,27 @@ }, progress: function progress(level) { var _this4 = this; - + if (this.downloadComplete) { return; } - + var percent = Math.round(level * 100); - + if (percent > this.loadingBar.percent || isNaN(percent)) { this.loadingBar.percent = percent; var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams['disableAutoFetch'] : _app_options.AppOptions.get('disableAutoFetch'); - + if (disableAutoFetch && percent) { if (this.disableAutoFetchLoadingBarTimeout) { clearTimeout(this.disableAutoFetchLoadingBarTimeout); this.disableAutoFetchLoadingBarTimeout = null; } - + this.loadingBar.show(); this.disableAutoFetchLoadingBarTimeout = setTimeout(function () { _this4.loadingBar.hide(); - + _this4.disableAutoFetchLoadingBarTimeout = null; }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT); } @@ -1214,13 +1214,13 @@ }, load: function load(pdfDocument) { var _this5 = this; - + this.pdfDocument = pdfDocument; pdfDocument.getDownloadInfo().then(function () { _this5.downloadComplete = true; - + _this5.loadingBar.hide(); - + firstPagePromise.then(function () { _this5.eventBus.dispatch('documentloaded', { source: _this5 @@ -1246,7 +1246,7 @@ pdfThumbnailViewer.setDocument(pdfDocument); firstPagePromise.then(function (pdfPage) { _this5.loadingBar.setWidth(_this5.appConfig.viewerContainer); - + var storePromise = store.getMultiple({ page: null, zoom: _ui_utils.DEFAULT_SCALE_VALUE, @@ -1264,20 +1264,20 @@ /*#__PURE__*/ _regenerator["default"].mark(function _callee8(_ref2) { var _ref4, timeStamp, _ref4$, values, pageLayout, pageMode, openActionDest, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode; - + return _regenerator["default"].wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: _ref4 = _slicedToArray(_ref2, 5), timeStamp = _ref4[0], _ref4$ = _ref4[1], values = _ref4$ === void 0 ? {} : _ref4$, pageLayout = _ref4[2], pageMode = _ref4[3], openActionDest = _ref4[4]; viewOnLoad = _app_options.AppOptions.get('viewOnLoad'); - + _this5._initializePdfHistory({ fingerprint: pdfDocument.fingerprint, viewOnLoad: viewOnLoad, initialDest: openActionDest }); - + initialBookmark = _this5.initialBookmark; zoom = _app_options.AppOptions.get('defaultZoomValue'); hash = zoom ? "zoom=".concat(zoom) : null; @@ -1285,74 +1285,74 @@ sidebarView = _app_options.AppOptions.get('sidebarViewOnLoad'); scrollMode = _app_options.AppOptions.get('scrollModeOnLoad'); spreadMode = _app_options.AppOptions.get('spreadModeOnLoad'); - + if (values.page && viewOnLoad !== ViewOnLoad.INITIAL) { hash = "page=".concat(values.page, "&zoom=").concat(zoom || values.zoom, ",") + "".concat(values.scrollLeft, ",").concat(values.scrollTop); rotation = parseInt(values.rotation, 10); - + if (sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) { sidebarView = values.sidebarView | 0; } - + if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) { scrollMode = values.scrollMode | 0; } - + if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) { spreadMode = values.spreadMode | 0; } } - + if (pageMode && sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) { sidebarView = apiPageModeToSidebarView(pageMode); } - + if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) { spreadMode = apiPageLayoutToSpreadMode(pageLayout); } - + _this5.setInitialView(hash, { rotation: rotation, sidebarView: sidebarView, scrollMode: scrollMode, spreadMode: spreadMode }); - + _this5.eventBus.dispatch('documentinit', { source: _this5 }); - + if (!_this5.isViewerEmbedded) { pdfViewer.focus(); } - + _context8.next = 18; return Promise.race([pagesPromise, new Promise(function (resolve) { setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT); })]); - + case 18: if (!(!initialBookmark && !hash)) { _context8.next = 20; break; } - + return _context8.abrupt("return"); - + case 20: if (!pdfViewer.hasEqualPageSizes) { _context8.next = 22; break; } - + return _context8.abrupt("return"); - + case 22: _this5.initialBookmark = initialBookmark; pdfViewer.currentScaleValue = pdfViewer.currentScaleValue; - + _this5.setInitialView(hash); - + case 25: case "end": return _context8.stop(); @@ -1360,7 +1360,7 @@ } }, _callee8); })); - + return function (_x4) { return _ref3.apply(this, arguments); }; @@ -1374,56 +1374,56 @@ if (!labels || _app_options.AppOptions.get('disablePageLabels')) { return; } - + var i = 0, numLabels = labels.length; - + if (numLabels !== _this5.pagesCount) { console.error('The number of Page Labels does not match ' + 'the number of pages in the document.'); return; } - + while (i < numLabels && labels[i] === (i + 1).toString()) { i++; } - + if (i === numLabels) { return; } - + pdfViewer.setPageLabels(labels); pdfThumbnailViewer.setPageLabels(labels); - + _this5.toolbar.setPagesCount(pdfDocument.numPages, true); - + _this5.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); }); pagesPromise.then(function () { if (!_this5.supportsPrinting) { return; } - + pdfDocument.getJavaScript().then(function (javaScript) { if (!javaScript) { return; } - + javaScript.some(function (js) { if (!js) { return false; } - + console.warn('Warning: JavaScript is not supported'); - + _this5.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript); - + return true; }); var regex = /\bprint\s*\(/; - + for (var i = 0, ii = javaScript.length; i < ii; i++) { var js = javaScript[i]; - + if (js && regex.test(js)) { setTimeout(function () { window.print(); @@ -1452,30 +1452,30 @@ _this5.documentInfo = info; _this5.metadata = metadata; _this5.contentDispositionFilename = contentDispositionFilename; - + var pdfTitle; - + if (metadata && metadata.has('dc:title')) { var title = metadata.get('dc:title'); - + if (title !== 'Untitled') { pdfTitle = title; } } - + if (!pdfTitle && info && info['Title']) { pdfTitle = info['Title']; } - + if (pdfTitle) { _this5.setTitle("".concat(pdfTitle, " - ").concat(contentDispositionFilename || document.title)); } else if (contentDispositionFilename) { _this5.setTitle(contentDispositionFilename); } - + if (info.IsAcroFormPresent) { console.warn('Warning: AcroForm/XFA is not supported'); - + _this5.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); } }); @@ -1485,22 +1485,22 @@ viewOnLoad = _ref6.viewOnLoad, _ref6$initialDest = _ref6.initialDest, initialDest = _ref6$initialDest === void 0 ? null : _ref6$initialDest; - + if (_app_options.AppOptions.get('disableHistory') || this.isViewerEmbedded) { return; } - + this.pdfHistory.initialize({ fingerprint: fingerprint, resetHistory: viewOnLoad === ViewOnLoad.INITIAL, updateUrl: _app_options.AppOptions.get('historyUpdateUrl') }); - + if (this.pdfHistory.initialBookmark) { this.initialBookmark = this.pdfHistory.initialBookmark; this.initialRotation = this.pdfHistory.initialRotation; } - + if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) { this.initialBookmark = JSON.stringify(initialDest); this.pdfHistory.push({ @@ -1511,33 +1511,33 @@ }, setInitialView: function setInitialView(storedHash) { var _this6 = this; - + var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, rotation = _ref7.rotation, sidebarView = _ref7.sidebarView, scrollMode = _ref7.scrollMode, spreadMode = _ref7.spreadMode; - + var setRotation = function setRotation(angle) { if ((0, _ui_utils.isValidRotation)(angle)) { _this6.pdfViewer.pagesRotation = angle; } }; - + var setViewerModes = function setViewerModes(scroll, spread) { if ((0, _ui_utils.isValidScrollMode)(scroll)) { _this6.pdfViewer.scrollMode = scroll; } - + if ((0, _ui_utils.isValidSpreadMode)(spread)) { _this6.pdfViewer.spreadMode = spread; } }; - + this.isInitialViewSet = true; this.pdfSidebar.setInitialView(sidebarView); setViewerModes(scrollMode, spreadMode); - + if (this.initialBookmark) { setRotation(this.initialRotation); delete this.initialRotation; @@ -1547,10 +1547,10 @@ setRotation(rotation); this.pdfLinkService.setHash(storedHash); } - + this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel); this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber); - + if (!this.pdfViewer.currentScaleValue) { this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; } @@ -1559,10 +1559,10 @@ if (!this.pdfDocument) { return; } - + this.pdfViewer.cleanup(); this.pdfThumbnailViewer.cleanup(); - + if (this.pdfViewer.renderer !== _ui_utils.RendererType.SVG) { this.pdfDocument.cleanup(); } @@ -1574,24 +1574,24 @@ }, beforePrint: function beforePrint() { var _this7 = this; - + if (this.printService) { return; } - + if (!this.supportsPrinting) { this.l10n.get('printing_not_supported', null, 'Warning: Printing is not fully supported by ' + 'this browser.').then(function (printMessage) { _this7.error(printMessage); }); return; } - + if (!this.pdfViewer.pageViewsReady) { this.l10n.get('printing_not_ready', null, 'Warning: The PDF is not fully loaded for printing.').then(function (notReadyMessage) { }); return; } - + var pagesOverview = this.pdfViewer.getPagesOverview(); var printContainer = this.appConfig.printContainer; var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, this.l10n); @@ -1604,14 +1604,14 @@ this.printService.destroy(); this.printService = null; } - + this.forceRendering(); }, rotatePages: function rotatePages(delta) { if (!this.pdfDocument) { return; } - + var newRotation = (this.pdfViewer.pagesRotation + 360 + delta) % 360; this.pdfViewer.pagesRotation = newRotation; }, @@ -1619,7 +1619,7 @@ if (!this.pdfPresentationMode) { return; } - + this.pdfPresentationMode.request(); }, bindEvents: function bindEvents() { @@ -1670,32 +1670,32 @@ bindWindowEvents: function bindWindowEvents() { var eventBus = this.eventBus, _boundEvents = this._boundEvents; - + _boundEvents.windowResize = function () { eventBus.dispatch('resize', { source: window }); }; - + _boundEvents.windowHashChange = function () { eventBus.dispatch('hashchange', { source: window, hash: document.location.hash.substring(1) }); }; - + _boundEvents.windowBeforePrint = function () { eventBus.dispatch('beforeprint', { source: window }); }; - + _boundEvents.windowAfterPrint = function () { eventBus.dispatch('afterprint', { source: window }); }; - + window.addEventListener('visibilitychange', webViewerVisibilityChange); window.addEventListener('wheel', webViewerWheel, { passive: false @@ -1772,23 +1772,23 @@ var validateFileURL; { var HOSTED_VIEWER_ORIGINS = ['null', 'http://mozilla.github.io', 'https://mozilla.github.io']; - + validateFileURL = function validateFileURL(file) { if (file === undefined) { return; } - + try { var viewerOrigin = new URL(window.location.href).origin || 'null'; - + if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) { return; } - + var _ref8 = new URL(file, window.location.href), origin = _ref8.origin, protocol = _ref8.protocol; - + //if (origin !== viewerOrigin && protocol !== 'blob:') { //throw new Error('file origin does not match viewer\'s'); //} @@ -1803,15 +1803,15 @@ } }; } - + function loadFakeWorker() { if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) { _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get('workerSrc'); } - + return (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.getWorkerSrc()); } - + function loadAndEnablePDFBug(enabledTabs) { var appConfig = PDFViewerApplication.appConfig; return (0, _pdfjsLib.loadScript)(appConfig.debuggerScriptPath).then(function () { @@ -1822,7 +1822,7 @@ }, appConfig.mainContainer); }); } - + function webViewerInitialized() { var appConfig = PDFViewerApplication.appConfig; var file; @@ -1836,21 +1836,21 @@ fileInput.setAttribute('type', 'file'); fileInput.oncontextmenu = _ui_utils.noContextMenuHandler; document.body.appendChild(fileInput); - + if (!window.File || !window.FileReader || !window.FileList || !window.Blob) { appConfig.toolbar.openFile.setAttribute('hidden', 'true'); appConfig.secondaryToolbar.openFileButton.setAttribute('hidden', 'true'); } else { fileInput.value = null; } - + fileInput.addEventListener('change', function (evt) { var files = evt.target.files; - + if (!files || files.length === 0) { return; } - + PDFViewerApplication.eventBus.dispatch('fileinputchange', { source: this, fileInput: evt.target @@ -1863,31 +1863,31 @@ appConfig.mainContainer.addEventListener('drop', function (evt) { evt.preventDefault(); var files = evt.dataTransfer.files; - + if (!files || files.length === 0) { return; } - + PDFViewerApplication.eventBus.dispatch('fileinputchange', { source: this, fileInput: evt.dataTransfer }); }); - + if (!PDFViewerApplication.supportsPrinting) { appConfig.toolbar.print.classList.add('hidden'); appConfig.secondaryToolbar.printButton.classList.add('hidden'); } - + if (!PDFViewerApplication.supportsFullscreen) { appConfig.toolbar.presentationModeButton.classList.add('hidden'); appConfig.secondaryToolbar.presentationModeButton.classList.add('hidden'); } - + if (PDFViewerApplication.supportsIntegratedFind) { appConfig.toolbar.viewFind.classList.add('hidden'); } - + appConfig.mainContainer.addEventListener('transitionend', function (evt) { if (evt.target === this) { PDFViewerApplication.eventBus.dispatch('resize', { @@ -1895,7 +1895,7 @@ }); } }, true); - + try { webViewerOpenFileViaURL(file); } catch (reason) { @@ -1904,127 +1904,127 @@ }); } } - + var webViewerOpenFileViaURL; { webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) { if (file && file.lastIndexOf('file:', 0) === 0) { PDFViewerApplication.setTitleUsingUrl(file); var xhr = new XMLHttpRequest(); - + xhr.onload = function () { PDFViewerApplication.open(new Uint8Array(xhr.response)); }; - + xhr.open('GET', file); xhr.responseType = 'arraybuffer'; xhr.send(); return; } - + if (file) { PDFViewerApplication.open(new URLSearchParams(window.location.search).get("file")); } }; } - + function webViewerPageRendered(evt) { var pageNumber = evt.pageNumber; var pageIndex = pageNumber - 1; var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex); - + if (pageNumber === PDFViewerApplication.page) { PDFViewerApplication.toolbar.updateLoadingIndicatorState(false); } - + if (!pageView) { return; } - + if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageIndex); thumbnailView.setImage(pageView); } - + if (typeof Stats !== 'undefined' && Stats.enabled && pageView.stats) { Stats.add(pageNumber, pageView.stats); } - + if (pageView.error) { PDFViewerApplication.l10n.get('rendering_error', null, 'An error occurred while rendering the page.').then(function (msg) { PDFViewerApplication.error(msg, pageView.error); }); } } - + function webViewerTextLayerRendered(evt) {} - + function webViewerPageMode(evt) { var mode = evt.mode, view; - + switch (mode) { case 'thumbs': view = _pdf_sidebar.SidebarView.THUMBS; break; - + case 'bookmarks': case 'outline': view = _pdf_sidebar.SidebarView.OUTLINE; break; - + case 'attachments': view = _pdf_sidebar.SidebarView.ATTACHMENTS; break; - + case 'none': view = _pdf_sidebar.SidebarView.NONE; break; - + default: console.error('Invalid "pagemode" hash parameter: ' + mode); return; } - + PDFViewerApplication.pdfSidebar.switchView(view, true); } - + function webViewerNamedAction(evt) { var action = evt.action; - + switch (action) { case 'GoToPage': PDFViewerApplication.appConfig.toolbar.pageNumber.select(); break; - + case 'Find': if (!PDFViewerApplication.supportsIntegratedFind) { PDFViewerApplication.findBar.toggle(); } - + break; } } - + function webViewerPresentationModeChanged(evt) { var active = evt.active, switchInProgress = evt.switchInProgress; PDFViewerApplication.pdfViewer.presentationModeState = switchInProgress ? _ui_utils.PresentationModeState.CHANGING : active ? _ui_utils.PresentationModeState.FULLSCREEN : _ui_utils.PresentationModeState.NORMAL; } - + function webViewerSidebarViewChanged(evt) { PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible; var store = PDFViewerApplication.store; - + if (store && PDFViewerApplication.isInitialViewSet) { store.set('sidebarView', evt.view)["catch"](function () {}); } } - + function webViewerUpdateViewarea(evt) { var location = evt.location, store = PDFViewerApplication.store; - + if (store && PDFViewerApplication.isInitialViewSet) { store.setMultiple({ 'page': location.pageNumber, @@ -2034,7 +2034,7 @@ 'rotation': location.rotation })["catch"](function () {}); } - + var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href; PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href; @@ -2042,86 +2042,86 @@ var loading = currentPage.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED; PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading); } - + function webViewerScrollModeChanged(evt) { var store = PDFViewerApplication.store; - + if (store && PDFViewerApplication.isInitialViewSet) { store.set('scrollMode', evt.mode)["catch"](function () {}); } } - + function webViewerSpreadModeChanged(evt) { var store = PDFViewerApplication.store; - + if (store && PDFViewerApplication.isInitialViewSet) { store.set('spreadMode', evt.mode)["catch"](function () {}); } } - + function webViewerResize() { var pdfDocument = PDFViewerApplication.pdfDocument, pdfViewer = PDFViewerApplication.pdfViewer; - + if (!pdfDocument) { return; } - + var currentScaleValue = pdfViewer.currentScaleValue; - + if (currentScaleValue === 'auto' || currentScaleValue === 'page-fit' || currentScaleValue === 'page-width') { pdfViewer.currentScaleValue = currentScaleValue; } - + pdfViewer.update(); } - + function webViewerHashchange(evt) { var hash = evt.hash; - + if (!hash) { return; } - + if (!PDFViewerApplication.isInitialViewSet) { PDFViewerApplication.initialBookmark = hash; } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) { PDFViewerApplication.pdfLinkService.setHash(hash); } } - + var webViewerFileInputChange; { webViewerFileInputChange = function webViewerFileInputChange(evt) { if (PDFViewerApplication.pdfViewer && PDFViewerApplication.pdfViewer.isInPresentationMode) { return; } - + var file = evt.fileInput.files[0]; - + if (URL.createObjectURL && !_app_options.AppOptions.get('disableCreateObjectURL')) { var url = URL.createObjectURL(file); - + if (file.name) { url = { url: url, originalUrl: file.name }; } - + PDFViewerApplication.open(url); } else { PDFViewerApplication.setTitleUsingUrl(file.name); var fileReader = new FileReader(); - + fileReader.onload = function webViewerChangeFileReaderOnload(evt) { var buffer = evt.target.result; PDFViewerApplication.open(new Uint8Array(buffer)); }; - + fileReader.readAsArrayBuffer(file); } - + var appConfig = PDFViewerApplication.appConfig; appConfig.toolbar.viewBookmark.setAttribute('hidden', 'true'); appConfig.secondaryToolbar.viewBookmarkButton.setAttribute('hidden', 'true'); @@ -2129,92 +2129,92 @@ appConfig.secondaryToolbar.downloadButton.setAttribute('hidden', 'true'); }; } - + function webViewerPresentationMode() { PDFViewerApplication.requestPresentationMode(); } - + function webViewerOpenFile() { var openFileInputName = PDFViewerApplication.appConfig.openFileInputName; document.getElementById(openFileInputName).click(); } - + function webViewerPrint() { window.print(); } - + function webViewerDownload() { PDFViewerApplication.download(); } - + function webViewerFirstPage() { if (PDFViewerApplication.pdfDocument) { PDFViewerApplication.page = 1; } } - + function webViewerLastPage() { if (PDFViewerApplication.pdfDocument) { PDFViewerApplication.page = PDFViewerApplication.pagesCount; } } - + function webViewerNextPage() { PDFViewerApplication.page++; } - + function webViewerPreviousPage() { PDFViewerApplication.page--; } - + function webViewerZoomIn() { PDFViewerApplication.zoomIn(); } - + function webViewerZoomOut() { PDFViewerApplication.zoomOut(); } - + function webViewerZoomReset() { PDFViewerApplication.zoomReset(); } - + function webViewerPageNumberChanged(evt) { var pdfViewer = PDFViewerApplication.pdfViewer; - + if (evt.value !== '') { pdfViewer.currentPageLabel = evt.value; } - + if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) { PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); } } - + function webViewerScaleChanged(evt) { PDFViewerApplication.pdfViewer.currentScaleValue = evt.value; } - + function webViewerRotateCw() { PDFViewerApplication.rotatePages(90); } - + function webViewerRotateCcw() { PDFViewerApplication.rotatePages(-90); } - + function webViewerSwitchScrollMode(evt) { PDFViewerApplication.pdfViewer.scrollMode = evt.mode; } - + function webViewerSwitchSpreadMode(evt) { PDFViewerApplication.pdfViewer.spreadMode = evt.mode; } - + function webViewerDocumentProperties() { PDFViewerApplication.pdfDocumentProperties.open(); } - + function webViewerFind(evt) { PDFViewerApplication.findController.executeCommand('find' + evt.type, { query: evt.query, @@ -2225,7 +2225,7 @@ findPrevious: evt.findPrevious }); } - + function webViewerFindFromUrlHash(evt) { PDFViewerApplication.findController.executeCommand('find', { query: evt.query, @@ -2236,22 +2236,22 @@ findPrevious: false }); } - + function webViewerUpdateFindMatchesCount(_ref9) { var matchesCount = _ref9.matchesCount; - + if (PDFViewerApplication.supportsIntegratedFind) { PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount); } else { PDFViewerApplication.findBar.updateResultsCount(matchesCount); } } - + function webViewerUpdateFindControlState(_ref10) { var state = _ref10.state, previous = _ref10.previous, matchesCount = _ref10.matchesCount; - + if (PDFViewerApplication.supportsIntegratedFind) { PDFViewerApplication.externalServices.updateFindControlState({ result: state, @@ -2262,82 +2262,82 @@ PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount); } } - + function webViewerScaleChanging(evt) { PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale); PDFViewerApplication.pdfViewer.update(); } - + function webViewerRotationChanging(evt) { PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation; PDFViewerApplication.forceRendering(); PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber; } - + function webViewerPageChanging(evt) { var page = evt.pageNumber; PDFViewerApplication.toolbar.setPageNumber(page, evt.pageLabel || null); PDFViewerApplication.secondaryToolbar.setPageNumber(page); - + if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(page); } - + if (typeof Stats !== 'undefined' && Stats.enabled) { var pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1); - + if (pageView && pageView.stats) { Stats.add(page, pageView.stats); } } } - + function webViewerVisibilityChange(evt) { if (document.visibilityState === 'visible') { setZoomDisabledTimeout(); } } - + var zoomDisabledTimeout = null; - + function setZoomDisabledTimeout() { if (zoomDisabledTimeout) { clearTimeout(zoomDisabledTimeout); } - + zoomDisabledTimeout = setTimeout(function () { zoomDisabledTimeout = null; }, WHEEL_ZOOM_DISABLED_TIMEOUT); } - + function webViewerWheel(evt) { var pdfViewer = PDFViewerApplication.pdfViewer, supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys; - + if (pdfViewer.isInPresentationMode) { return; } - + if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) { evt.preventDefault(); - + if (zoomDisabledTimeout || document.visibilityState === 'hidden') { return; } - + var previousScale = pdfViewer.currentScale; var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt); var MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0; var ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE; - + if (ticks < 0) { PDFViewerApplication.zoomOut(-ticks); } else { PDFViewerApplication.zoomIn(ticks); } - + var currentScale = pdfViewer.currentScale; - + if (previousScale !== currentScale) { var scaleCorrectionFactor = currentScale / previousScale - 1; var rect = pdfViewer.container.getBoundingClientRect(); @@ -2350,30 +2350,30 @@ setZoomDisabledTimeout(); } } - + function webViewerClick(evt) { if (!PDFViewerApplication.secondaryToolbar.isOpen) { return; } - + var appConfig = PDFViewerApplication.appConfig; - + if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) { PDFViewerApplication.secondaryToolbar.close(); } } - + function webViewerKeyDown(evt) { if (PDFViewerApplication.overlayManager.active) { return; } - + var handled = false, ensureViewerFocused = false; var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0); var pdfViewer = PDFViewerApplication.pdfViewer; var isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode; - + if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) { switch (evt.keyCode) { case 70: @@ -2381,13 +2381,13 @@ PDFViewerApplication.findBar.open(); handled = true; } - + break; - + case 71: if (!PDFViewerApplication.supportsIntegratedFind) { var findState = PDFViewerApplication.findController.state; - + if (findState) { PDFViewerApplication.findController.executeCommand('findagain', { query: findState.query, @@ -2398,12 +2398,12 @@ findPrevious: cmd === 5 || cmd === 12 }); } - + handled = true; } - + break; - + case 61: case 107: case 187: @@ -2411,20 +2411,20 @@ if (!isViewerInPresentationMode) { PDFViewerApplication.zoomIn(); } - + handled = true; break; - + case 173: case 109: case 189: if (!isViewerInPresentationMode) { PDFViewerApplication.zoomOut(); } - + handled = true; break; - + case 48: case 96: if (!isViewerInPresentationMode) { @@ -2433,29 +2433,29 @@ }); handled = false; } - + break; - + case 38: if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { PDFViewerApplication.page = 1; handled = true; ensureViewerFocused = true; } - + break; - + case 40: if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { PDFViewerApplication.page = PDFViewerApplication.pagesCount; handled = true; ensureViewerFocused = true; } - + break; } } - + if (cmd === 1 || cmd === 8) { switch (evt.keyCode) { case 83: @@ -2464,147 +2464,147 @@ break; } } - + if (cmd === 3 || cmd === 10) { switch (evt.keyCode) { case 80: PDFViewerApplication.requestPresentationMode(); handled = true; break; - + case 71: PDFViewerApplication.appConfig.toolbar.pageNumber.select(); handled = true; break; } } - + if (handled) { if (ensureViewerFocused && !isViewerInPresentationMode) { pdfViewer.focus(); } - + evt.preventDefault(); return; } - + var curElement = document.activeElement || document.querySelector(':focus'); var curElementTagName = curElement && curElement.tagName.toUpperCase(); - + if (curElementTagName === 'INPUT' || curElementTagName === 'TEXTAREA' || curElementTagName === 'SELECT') { if (evt.keyCode !== 27) { return; } } - + if (cmd === 0) { var turnPage = 0, turnOnlyIfPageFit = false; - + switch (evt.keyCode) { case 38: case 33: if (pdfViewer.isVerticalScrollbarEnabled) { turnOnlyIfPageFit = true; } - + turnPage = -1; break; - + case 8: if (!isViewerInPresentationMode) { turnOnlyIfPageFit = true; } - + turnPage = -1; break; - + case 37: if (pdfViewer.isHorizontalScrollbarEnabled) { turnOnlyIfPageFit = true; } - + case 75: case 80: turnPage = -1; break; - + case 27: if (PDFViewerApplication.secondaryToolbar.isOpen) { PDFViewerApplication.secondaryToolbar.close(); handled = true; } - + if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) { PDFViewerApplication.findBar.close(); handled = true; } - + break; - + case 40: case 34: if (pdfViewer.isVerticalScrollbarEnabled) { turnOnlyIfPageFit = true; } - + turnPage = 1; break; - + case 13: case 32: if (!isViewerInPresentationMode) { turnOnlyIfPageFit = true; } - + turnPage = 1; break; - + case 39: if (pdfViewer.isHorizontalScrollbarEnabled) { turnOnlyIfPageFit = true; } - + case 74: case 78: turnPage = 1; break; - + case 36: if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { PDFViewerApplication.page = 1; handled = true; ensureViewerFocused = true; } - + break; - + case 35: if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { PDFViewerApplication.page = PDFViewerApplication.pagesCount; handled = true; ensureViewerFocused = true; } - + break; - + case 83: PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT); break; - + case 72: PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND); break; - + case 82: PDFViewerApplication.rotatePages(90); break; - + case 115: PDFViewerApplication.pdfSidebar.toggle(); break; } - + if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === 'page-fit')) { if (turnPage > 0) { if (PDFViewerApplication.page < PDFViewerApplication.pagesCount) { @@ -2615,11 +2615,11 @@ PDFViewerApplication.page--; } } - + handled = true; } } - + if (cmd === 4) { switch (evt.keyCode) { case 13: @@ -2627,73 +2627,73 @@ if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== 'page-fit') { break; } - + if (PDFViewerApplication.page > 1) { PDFViewerApplication.page--; } - + handled = true; break; - + case 82: PDFViewerApplication.rotatePages(-90); break; } } - + if (!handled && !isViewerInPresentationMode) { if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== 'BUTTON') { ensureViewerFocused = true; } } - + if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) { pdfViewer.focus(); } - + if (handled) { evt.preventDefault(); } } - + function apiPageLayoutToSpreadMode(layout) { switch (layout) { case 'SinglePage': case 'OneColumn': return _ui_utils.SpreadMode.NONE; - + case 'TwoColumnLeft': case 'TwoPageLeft': return _ui_utils.SpreadMode.ODD; - + case 'TwoColumnRight': case 'TwoPageRight': return _ui_utils.SpreadMode.EVEN; } - + return _ui_utils.SpreadMode.NONE; } - + function apiPageModeToSidebarView(mode) { switch (mode) { case 'UseNone': return _pdf_sidebar.SidebarView.NONE; - + case 'UseThumbs': return _pdf_sidebar.SidebarView.THUMBS; - + case 'UseOutlines': return _pdf_sidebar.SidebarView.OUTLINE; - + case 'UseAttachments': return _pdf_sidebar.SidebarView.ATTACHMENTS; - + case 'UseOC': } - + return _pdf_sidebar.SidebarView.NONE; } - + var PDFPrintServiceFactory = { instance: { supportsPrinting: false, @@ -2703,28 +2703,28 @@ } }; exports.PDFPrintServiceFactory = PDFPrintServiceFactory; - + /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + module.exports = __webpack_require__(3); - + /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; /* WEBPACK VAR INJECTION */(function(module) { - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + var runtime = function (exports) { "use strict"; - + var Op = Object.prototype; var hasOwn = Op.hasOwnProperty; var undefined; @@ -2732,7 +2732,7 @@ var iteratorSymbol = $Symbol.iterator || "@@iterator"; var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - + function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; var generator = Object.create(protoGenerator.prototype); @@ -2740,9 +2740,9 @@ generator._invoke = makeInvokeMethod(innerFn, self, context); return generator; } - + exports.wrap = wrap; - + function tryCatch(fn, obj, arg) { try { return { @@ -2756,37 +2756,37 @@ }; } } - + var GenStateSuspendedStart = "suspendedStart"; var GenStateSuspendedYield = "suspendedYield"; var GenStateExecuting = "executing"; var GenStateCompleted = "completed"; var ContinueSentinel = {}; - + function Generator() {} - + function GeneratorFunction() {} - + function GeneratorFunctionPrototype() {} - + var IteratorPrototype = {}; - + IteratorPrototype[iteratorSymbol] = function () { return this; }; - + var getProto = Object.getPrototypeOf; var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - + if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { IteratorPrototype = NativeIteratorPrototype; } - + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; GeneratorFunctionPrototype.constructor = GeneratorFunction; GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; - + function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { prototype[method] = function (arg) { @@ -2794,43 +2794,43 @@ }; }); } - + exports.isGeneratorFunction = function (genFun) { var ctor = typeof genFun === "function" && genFun.constructor; return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; }; - + exports.mark = function (genFun) { if (Object.setPrototypeOf) { Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); } else { genFun.__proto__ = GeneratorFunctionPrototype; - + if (!(toStringTagSymbol in genFun)) { genFun[toStringTagSymbol] = "GeneratorFunction"; } } - + genFun.prototype = Object.create(Gp); return genFun; }; - + exports.awrap = function (arg) { return { __await: arg }; }; - + function AsyncIterator(generator) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); - + if (record.type === "throw") { reject(record.arg); } else { var result = record.arg; var value = result.value; - + if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { return Promise.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); @@ -2838,7 +2838,7 @@ invoke("throw", err, resolve, reject); }); } - + return Promise.resolve(value).then(function (unwrapped) { result.value = unwrapped; resolve(result); @@ -2847,67 +2847,67 @@ }); } } - + var previousPromise; - + function enqueue(method, arg) { function callInvokeWithMethodAndArg() { return new Promise(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } - + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } - + this._invoke = enqueue; } - + defineIteratorMethods(AsyncIterator.prototype); - + AsyncIterator.prototype[asyncIteratorSymbol] = function () { return this; }; - + exports.AsyncIterator = AsyncIterator; - + exports.async = function (innerFn, outerFn, self, tryLocsList) { var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList)); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }; - + function makeInvokeMethod(innerFn, self, context) { var state = GenStateSuspendedStart; return function invoke(method, arg) { if (state === GenStateExecuting) { throw new Error("Generator is already running"); } - + if (state === GenStateCompleted) { if (method === "throw") { throw arg; } - + return doneResult(); } - + context.method = method; context.arg = arg; - + while (true) { var delegate = context.delegate; - + if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); - + if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } - + if (context.method === "next") { context.sent = context._sent = context.arg; } else if (context.method === "throw") { @@ -2915,22 +2915,22 @@ state = GenStateCompleted; throw context.arg; } - + context.dispatchException(context.arg); } else if (context.method === "return") { context.abrupt("return", context.arg); } - + state = GenStateExecuting; var record = tryCatch(innerFn, self, context); - + if (record.type === "normal") { state = context.done ? GenStateCompleted : GenStateSuspendedYield; - + if (record.arg === ContinueSentinel) { continue; } - + return { value: record.arg, done: context.done @@ -2943,53 +2943,53 @@ } }; } - + function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; - + if (method === undefined) { context.delegate = null; - + if (context.method === "throw") { if (delegate.iterator["return"]) { context.method = "return"; context.arg = undefined; maybeInvokeDelegate(delegate, context); - + if (context.method === "throw") { return ContinueSentinel; } } - + context.method = "throw"; context.arg = new TypeError("The iterator does not provide a 'throw' method"); } - + return ContinueSentinel; } - + var record = tryCatch(method, delegate.iterator, context.arg); - + if (record.type === "throw") { context.method = "throw"; context.arg = record.arg; context.delegate = null; return ContinueSentinel; } - + var info = record.arg; - + if (!info) { context.method = "throw"; context.arg = new TypeError("iterator result is not an object"); context.delegate = null; return ContinueSentinel; } - + if (info.done) { context[delegate.resultName] = info.value; context.next = delegate.nextLoc; - + if (context.method !== "return") { context.method = "next"; context.arg = undefined; @@ -2997,46 +2997,46 @@ } else { return info; } - + context.delegate = null; return ContinueSentinel; } - + defineIteratorMethods(Gp); Gp[toStringTagSymbol] = "Generator"; - + Gp[iteratorSymbol] = function () { return this; }; - + Gp.toString = function () { return "[object Generator]"; }; - + function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; - + if (1 in locs) { entry.catchLoc = locs[1]; } - + if (2 in locs) { entry.finallyLoc = locs[2]; entry.afterLoc = locs[3]; } - + this.tryEntries.push(entry); } - + function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal"; delete record.arg; entry.completion = record; } - + function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" @@ -3044,43 +3044,43 @@ tryLocsList.forEach(pushTryEntry, this); this.reset(true); } - + exports.keys = function (object) { var keys = []; - + for (var key in object) { keys.push(key); } - + keys.reverse(); return function next() { while (keys.length) { var key = keys.pop(); - + if (key in object) { next.value = key; next.done = false; return next; } } - + next.done = true; return next; }; }; - + function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; - + if (iteratorMethod) { return iteratorMethod.call(iterable); } - + if (typeof iterable.next === "function") { return iterable; } - + if (!isNaN(iterable.length)) { var i = -1, next = function next() { @@ -3091,30 +3091,30 @@ return next; } } - + next.value = undefined; next.done = true; return next; }; - + return next.next = next; } } - + return { next: doneResult }; } - + exports.values = values; - + function doneResult() { return { value: undefined, done: true }; } - + Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { @@ -3126,7 +3126,7 @@ this.method = "next"; this.arg = undefined; this.tryEntries.forEach(resetTryEntry); - + if (!skipTempReset) { for (var name in this) { if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { @@ -3139,45 +3139,45 @@ this.done = true; var rootEntry = this.tryEntries[0]; var rootRecord = rootEntry.completion; - + if (rootRecord.type === "throw") { throw rootRecord.arg; } - + return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) { throw exception; } - + var context = this; - + function handle(loc, caught) { record.type = "throw"; record.arg = exception; context.next = loc; - + if (caught) { context.method = "next"; context.arg = undefined; } - + return !!caught; } - + for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; var record = entry.completion; - + if (entry.tryLoc === "root") { return handle("end"); } - + if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"); var hasFinally = hasOwn.call(entry, "finallyLoc"); - + if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) { return handle(entry.catchLoc, true); @@ -3201,34 +3201,34 @@ abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; - + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } - + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { finallyEntry = null; } - + var record = finallyEntry ? finallyEntry.completion : {}; record.type = type; record.arg = arg; - + if (finallyEntry) { this.method = "next"; this.next = finallyEntry.finallyLoc; return ContinueSentinel; } - + return this.complete(record); }, complete: function complete(record, afterLoc) { if (record.type === "throw") { throw record.arg; } - + if (record.type === "break" || record.type === "continue") { this.next = record.arg; } else if (record.type === "return") { @@ -3238,13 +3238,13 @@ } else if (record.type === "normal" && afterLoc) { this.next = afterLoc; } - + return ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; - + if (entry.finallyLoc === finallyLoc) { this.complete(entry.completion, entry.afterLoc); resetTryEntry(entry); @@ -3255,19 +3255,19 @@ "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; - + if (entry.tryLoc === tryLoc) { var record = entry.completion; - + if (record.type === "throw") { var thrown = record.arg; resetTryEntry(entry); } - + return thrown; } } - + throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { @@ -3276,35 +3276,35 @@ resultName: resultName, nextLoc: nextLoc }; - + if (this.method === "next") { this.arg = undefined; } - + return ContinueSentinel; } }; return exports; }(( false ? undefined : _typeof(module)) === "object" ? module.exports : {}); - + try { regeneratorRuntime = runtime; } catch (accidentalStrictMode) { Function("r", "regeneratorRuntime = r")(runtime); } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)(module))) - + /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + module.exports = function (module) { if (!module.webpackPolyfill) { module.deprecate = function () {}; - + module.paths = []; if (!module.children) module.children = []; Object.defineProperty(module, "loaded", { @@ -3321,17 +3321,17 @@ }); module.webpackPolyfill = 1; } - + return module; }; - + /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); @@ -3356,31 +3356,31 @@ exports.waitOnEventOrTimeout = waitOnEventOrTimeout; exports.moveToEndOfArray = moveToEndOfArray; exports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - + function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + var CSS_UNITS = 96.0 / 72.0; exports.CSS_UNITS = CSS_UNITS; var DEFAULT_SCALE_VALUE = 'auto'; @@ -3431,17 +3431,17 @@ EVEN: 2 }; exports.SpreadMode = SpreadMode; - + function formatL10nValue(text, args) { if (!args) { return text; } - + return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) { return name in args ? args[name] : '{{' + name + '}}'; }); } - + var NullL10n = { getLanguage: function () { var _getLanguage = _asyncToGenerator( @@ -3452,7 +3452,7 @@ switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", 'en-us'); - + case 1: case "end": return _context.stop(); @@ -3460,11 +3460,11 @@ } }, _callee); })); - + function getLanguage() { return _getLanguage.apply(this, arguments); } - + return getLanguage; }(), getDirection: function () { @@ -3476,7 +3476,7 @@ switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", 'ltr'); - + case 1: case "end": return _context2.stop(); @@ -3484,11 +3484,11 @@ } }, _callee2); })); - + function getDirection() { return _getDirection.apply(this, arguments); } - + return getDirection; }(), get: function () { @@ -3500,7 +3500,7 @@ switch (_context3.prev = _context3.next) { case 0: return _context3.abrupt("return", formatL10nValue(fallback, args)); - + case 1: case "end": return _context3.stop(); @@ -3508,11 +3508,11 @@ } }, _callee3); })); - + function get(_x, _x2, _x3) { return _get.apply(this, arguments); } - + return get; }(), translate: function () { @@ -3529,16 +3529,16 @@ } }, _callee4); })); - + function translate(_x4) { return _translate.apply(this, arguments); } - + return translate; }() }; exports.NullL10n = NullL10n; - + function getOutputScale(ctx) { var devicePixelRatio = window.devicePixelRatio || 1; var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1; @@ -3549,76 +3549,76 @@ scaled: pixelRatio !== 1 }; } - + function scrollIntoView(element, spot) { var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var parent = element.offsetParent; - + if (!parent) { console.error('offsetParent is not set -- cannot scroll'); return; } - + var offsetY = element.offsetTop + element.clientTop; var offsetX = element.offsetLeft + element.clientLeft; - + while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') { if (parent.dataset._scaleY) { offsetY /= parent.dataset._scaleY; offsetX /= parent.dataset._scaleX; } - + offsetY += parent.offsetTop; offsetX += parent.offsetLeft; parent = parent.offsetParent; - + if (!parent) { return; } } - + if (spot) { if (spot.top !== undefined) { offsetY += spot.top; } - + if (spot.left !== undefined) { offsetX += spot.left; parent.scrollLeft = offsetX; } } - + parent.scrollTop = offsetY; } - + function watchScroll(viewAreaElement, callback) { var debounceScroll = function debounceScroll(evt) { if (rAF) { return; } - + rAF = window.requestAnimationFrame(function viewAreaElementScrolled() { rAF = null; var currentX = viewAreaElement.scrollLeft; var lastX = state.lastX; - + if (currentX !== lastX) { state.right = currentX > lastX; } - + state.lastX = currentX; var currentY = viewAreaElement.scrollTop; var lastY = state.lastY; - + if (currentY !== lastY) { state.down = currentY > lastY; } - + state.lastY = currentY; callback(state); }); }; - + var state = { right: true, down: true, @@ -3630,75 +3630,75 @@ viewAreaElement.addEventListener('scroll', debounceScroll, true); return state; } - + function parseQueryString(query) { var parts = query.split('&'); var params = Object.create(null); - + for (var i = 0, ii = parts.length; i < ii; ++i) { var param = parts[i].split('='); var key = param[0].toLowerCase(); var value = param.length > 1 ? param[1] : null; params[decodeURIComponent(key)] = decodeURIComponent(value); } - + return params; } - + function binarySearchFirstItem(items, condition) { var minIndex = 0; var maxIndex = items.length - 1; - + if (items.length === 0 || !condition(items[maxIndex])) { return items.length; } - + if (condition(items[minIndex])) { return minIndex; } - + while (minIndex < maxIndex) { var currentIndex = minIndex + maxIndex >> 1; var currentItem = items[currentIndex]; - + if (condition(currentItem)) { maxIndex = currentIndex; } else { minIndex = currentIndex + 1; } } - + return minIndex; } - + function approximateFraction(x) { if (Math.floor(x) === x) { return [x, 1]; } - + var xinv = 1 / x; var limit = 8; - + if (xinv > limit) { return [1, limit]; } else if (Math.floor(xinv) === xinv) { return [1, xinv]; } - + var x_ = x > 1 ? xinv : x; var a = 0, b = 1, c = 1, d = 1; - + while (true) { var p = a + c, q = b + d; - + if (q > limit) { break; } - + if (x_ <= p / q) { c = p; d = q; @@ -3707,34 +3707,34 @@ b = q; } } - + var result; - + if (x_ - a / b < c / d - x_) { result = x_ === x ? [a, b] : [b, a]; } else { result = x_ === x ? [c, d] : [d, c]; } - + return result; } - + function roundToDivide(x, div) { var r = x % div; return r === 0 ? x : Math.round(x - r + div); } - + function getPageSizeInches(_ref) { var view = _ref.view, userUnit = _ref.userUnit, rotate = _ref.rotate; - + var _view = _slicedToArray(view, 4), x1 = _view[0], y1 = _view[1], x2 = _view[2], y2 = _view[3]; - + var changeOrientation = rotate % 180 !== 0; var width = (x2 - x1) / 72 * userUnit; var height = (y2 - y1) / 72 * userUnit; @@ -3743,33 +3743,33 @@ height: changeOrientation ? width : height }; } - + function backtrackBeforeAllVisibleElements(index, views, top) { if (index < 2) { return index; } - + var elt = views[index].div; var pageTop = elt.offsetTop + elt.clientTop; - + if (pageTop >= top) { elt = views[index - 1].div; pageTop = elt.offsetTop + elt.clientTop; } - + for (var i = index - 2; i >= 0; --i) { elt = views[i].div; - + if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) { break; } - + index = i; } - + return index; } - + function getVisibleElements(scrollEl, views) { var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; @@ -3777,29 +3777,29 @@ bottom = top + scrollEl.clientHeight; var left = scrollEl.scrollLeft, right = left + scrollEl.clientWidth; - + function isElementBottomAfterViewTop(view) { var element = view.div; var elementBottom = element.offsetTop + element.clientTop + element.clientHeight; return elementBottom > top; } - + function isElementRightAfterViewLeft(view) { var element = view.div; var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth; return elementRight > left; } - + var visible = [], numViews = views.length; var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop); - + if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) { firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top); } - + var lastEdge = horizontal ? right : -1; - + for (var i = firstVisibleElementInd; i < numViews; i++) { var view = views[i], element = view.div; @@ -3809,7 +3809,7 @@ viewHeight = element.clientHeight; var viewRight = currentWidth + viewWidth; var viewBottom = currentHeight + viewHeight; - + if (lastEdge === -1) { if (viewBottom >= bottom) { lastEdge = viewBottom; @@ -3817,11 +3817,11 @@ } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) { break; } - + if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) { continue; } - + var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom); var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right); var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0; @@ -3833,118 +3833,118 @@ percent: percent }); } - + var first = visible[0], last = visible[visible.length - 1]; - + if (sortByVisibility) { visible.sort(function (a, b) { var pc = a.percent - b.percent; - + if (Math.abs(pc) > 0.001) { return -pc; } - + return a.id - b.id; }); } - + return { first: first, last: last, views: visible }; } - + function noContextMenuHandler(evt) { evt.preventDefault(); } - + function isDataSchema(url) { var i = 0, ii = url.length; - + while (i < ii && url[i].trim() === '') { i++; } - + return url.substring(i, i + 5).toLowerCase() === 'data:'; } - + function getPDFFileNameFromURL(url) { var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf'; - + if (typeof url !== 'string') { return defaultFilename; } - + if (isDataSchema(url)) { console.warn('getPDFFileNameFromURL: ' + 'ignoring "data:" URL for performance reasons.'); return defaultFilename; } - + var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i; var splitURI = reURI.exec(url); var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); - + if (suggestedFilename) { suggestedFilename = suggestedFilename[0]; - + if (suggestedFilename.includes('%')) { try { suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; } catch (ex) {} } } - + return suggestedFilename || defaultFilename; } - + function normalizeWheelEventDelta(evt) { var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY); var angle = Math.atan2(evt.deltaY, evt.deltaX); - + if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) { delta = -delta; } - + var MOUSE_DOM_DELTA_PIXEL_MODE = 0; var MOUSE_DOM_DELTA_LINE_MODE = 1; var MOUSE_PIXELS_PER_LINE = 30; var MOUSE_LINES_PER_PAGE = 30; - + if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) { delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE; } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) { delta /= MOUSE_LINES_PER_PAGE; } - + return delta; } - + function isValidRotation(angle) { return Number.isInteger(angle) && angle % 90 === 0; } - + function isValidScrollMode(mode) { return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN; } - + function isValidSpreadMode(mode) { return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN; } - + function isPortraitOrientation(size) { return size.width <= size.height; } - + var WaitOnType = { EVENT: 'event', TIMEOUT: 'timeout' }; exports.WaitOnType = WaitOnType; - + function waitOnEventOrTimeout(_ref2) { var target = _ref2.target, name = _ref2.name, @@ -3954,39 +3954,39 @@ if (_typeof(target) !== 'object' || !(name && typeof name === 'string') || !(Number.isInteger(delay) && delay >= 0)) { throw new Error('waitOnEventOrTimeout - invalid parameters.'); } - + function handler(type) { if (target instanceof EventBus) { target.off(name, eventHandler); } else { target.removeEventListener(name, eventHandler); } - + if (timeout) { clearTimeout(timeout); } - + resolve(type); } - + var eventHandler = handler.bind(null, WaitOnType.EVENT); - + if (target instanceof EventBus) { target.on(name, eventHandler); } else { target.addEventListener(name, eventHandler); } - + var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT); var timeout = setTimeout(timeoutHandler, delay); }); } - + var animationStarted = new Promise(function (resolve) { window.requestAnimationFrame(resolve); }); exports.animationStarted = animationStarted; - + var EventBus = /*#__PURE__*/ function () { @@ -3994,23 +3994,23 @@ var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref3$dispatchToDOM = _ref3.dispatchToDOM, dispatchToDOM = _ref3$dispatchToDOM === void 0 ? false : _ref3$dispatchToDOM; - + _classCallCheck(this, EventBus); - + this._listeners = Object.create(null); this._dispatchToDOM = dispatchToDOM === true; } - + _createClass(EventBus, [{ key: "on", value: function on(eventName, listener) { var eventListeners = this._listeners[eventName]; - + if (!eventListeners) { eventListeners = []; this._listeners[eventName] = eventListeners; } - + eventListeners.push(listener); } }, { @@ -4018,33 +4018,33 @@ value: function off(eventName, listener) { var eventListeners = this._listeners[eventName]; var i; - + if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) { return; } - + eventListeners.splice(i, 1); } }, { key: "dispatch", value: function dispatch(eventName) { var eventListeners = this._listeners[eventName]; - + if (!eventListeners || eventListeners.length === 0) { if (this._dispatchToDOM) { var _args5 = Array.prototype.slice.call(arguments, 1); - + this._dispatchDOMEvent(eventName, _args5); } - + return; } - + var args = Array.prototype.slice.call(arguments, 1); eventListeners.slice(0).forEach(function (listener) { listener.apply(null, args); }); - + if (this._dispatchToDOM) { this._dispatchDOMEvent(eventName, args); } @@ -4054,53 +4054,53 @@ value: function _dispatchDOMEvent(eventName) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var details = Object.create(null); - + if (args && args.length > 0) { var obj = args[0]; - + for (var key in obj) { var value = obj[key]; - + if (key === 'source') { if (value === window || value === document) { return; } - + continue; } - + details[key] = value; } } - + var event = document.createEvent('CustomEvent'); event.initCustomEvent(eventName, true, true, details); document.dispatchEvent(event); } }]); - + return EventBus; }(); - + exports.EventBus = EventBus; var globalEventBus = null; - + function getGlobalEventBus() { var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - + if (!globalEventBus) { globalEventBus = new EventBus({ dispatchToDOM: dispatchToDOM }); } - + return globalEventBus; } - + function clamp(v, min, max) { return Math.min(Math.max(v, min), max); } - + var ProgressBar = /*#__PURE__*/ function () { @@ -4109,9 +4109,9 @@ height = _ref4.height, width = _ref4.width, units = _ref4.units; - + _classCallCheck(this, ProgressBar); - + this.visible = true; this.div = document.querySelector(id + ' .progress'); this.bar = this.div.parentNode; @@ -4121,7 +4121,7 @@ this.div.style.height = this.height + this.units; this.percent = 0; } - + _createClass(ProgressBar, [{ key: "_updateBar", value: function _updateBar() { @@ -4130,7 +4130,7 @@ this.div.style.width = this.width + this.units; return; } - + this.div.classList.remove('indeterminate'); var progressSize = this.width * this._percent / 100; this.div.style.width = progressSize + this.units; @@ -4141,10 +4141,10 @@ if (!viewer) { return; } - + var container = viewer.parentNode; var scrollbarWidth = container.offsetWidth - viewer.offsetWidth; - + if (scrollbarWidth > 0) { this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);'); } @@ -4155,7 +4155,7 @@ if (!this.visible) { return; } - + this.visible = false; this.bar.classList.add('hidden'); document.body.classList.remove('loadingInProgress'); @@ -4166,7 +4166,7 @@ if (this.visible) { return; } - + this.visible = true; document.body.classList.add('loadingInProgress'); this.bar.classList.remove('hidden'); @@ -4179,21 +4179,21 @@ set: function set(val) { this._indeterminate = isNaN(val); this._percent = clamp(val, 0, 100); - + this._updateBar(); } }]); - + return ProgressBar; }(); - + exports.ProgressBar = ProgressBar; - + function moveToEndOfArray(arr, condition) { var moved = [], len = arr.length; var write = 0; - + for (var read = 0; read < len; ++read) { if (condition(arr[read])) { moved.push(arr[read]); @@ -4202,36 +4202,36 @@ ++write; } } - + for (var _read = 0; write < len; ++_read, ++write) { arr[write] = moved[_read]; } } - + /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.OptionKind = exports.AppOptions = void 0; - + var _pdfjsLib = __webpack_require__(7); - + var _viewer_compatibility = __webpack_require__(8); - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var OptionKind = { VIEWER: 0x02, API: 0x04, @@ -4245,7 +4245,7 @@ kind: OptionKind.VIEWER + OptionKind.PREFERENCE }, defaultUrl: { - value: 'compressed.tracemonkey-pldi-09.pdf', + value: new URLSearchParams(window.location.search).get('file'), kind: OptionKind.VIEWER }, defaultZoomValue: { @@ -4402,31 +4402,31 @@ }; } var userOptions = Object.create(null); - + var AppOptions = /*#__PURE__*/ function () { function AppOptions() { _classCallCheck(this, AppOptions); - + throw new Error('Cannot initialize AppOptions.'); } - + _createClass(AppOptions, null, [{ key: "get", value: function get(name) { var userOption = userOptions[name]; - + if (userOption !== undefined) { return userOption; } - + var defaultOption = defaultOptions[name]; - + if (defaultOption !== undefined) { return defaultOption.compatibility || defaultOption.value; } - + return undefined; } }, { @@ -4434,32 +4434,32 @@ value: function getAll() { var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var options = Object.create(null); - + for (var name in defaultOptions) { var defaultOption = defaultOptions[name]; - + if (kind) { if ((kind & defaultOption.kind) === 0) { continue; } - + if (kind === OptionKind.PREFERENCE) { var value = defaultOption.value, valueType = _typeof(value); - + if (valueType === 'boolean' || valueType === 'string' || valueType === 'number' && Number.isInteger(value)) { options[name] = value; continue; } - + throw new Error("Invalid type for preference: ".concat(name)); } } - + var userOption = userOptions[name]; options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || defaultOption.value; } - + return options; } }, { @@ -4473,42 +4473,42 @@ delete userOptions[name]; } }]); - + return AppOptions; }(); - + exports.AppOptions = AppOptions; - + /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + var pdfjsLib; - + if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) { pdfjsLib = window['pdfjs-dist/build/pdf']; } else { pdfjsLib = require('../build/pdf.js'); } - + module.exports = pdfjsLib; - + /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + var compatibilityParams = Object.create(null); { var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || ''; var isAndroid = /Android/.test(userAgent); var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent); - + (function checkCanvasSizeLimitation() { if (isIOS || isAndroid) { compatibilityParams.maxCanvasPixels = 5242880; @@ -4516,47 +4516,47 @@ })(); } exports.viewerCompatibilityParams = Object.freeze(compatibilityParams); - + /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFCursorTools = exports.CursorTool = void 0; - + var _grab_to_pan = __webpack_require__(10); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var CursorTool = { SELECT: 0, HAND: 1, ZOOM: 2 }; exports.CursorTool = CursorTool; - + var PDFCursorTools = /*#__PURE__*/ function () { function PDFCursorTools(_ref) { var _this = this; - + var container = _ref.container, eventBus = _ref.eventBus, _ref$cursorToolOnLoad = _ref.cursorToolOnLoad, cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad; - + _classCallCheck(this, PDFCursorTools); - + this.container = container; this.eventBus = eventBus; this.active = CursorTool.SELECT; @@ -4564,59 +4564,59 @@ this.handTool = new _grab_to_pan.GrabToPan({ element: this.container }); - + this._addEventListeners(); - + Promise.resolve().then(function () { _this.switchTool(cursorToolOnLoad); }); } - + _createClass(PDFCursorTools, [{ key: "switchTool", value: function switchTool(tool) { var _this2 = this; - + if (this.activeBeforePresentationMode !== null) { return; } - + if (tool === this.active) { return; } - + var disableActiveTool = function disableActiveTool() { switch (_this2.active) { case CursorTool.SELECT: break; - + case CursorTool.HAND: _this2.handTool.deactivate(); - + break; - + case CursorTool.ZOOM: } }; - + switch (tool) { case CursorTool.SELECT: disableActiveTool(); break; - + case CursorTool.HAND: disableActiveTool(); this.handTool.activate(); break; - + case CursorTool.ZOOM: default: console.error("switchTool: \"".concat(tool, "\" is an unsupported value.")); return; } - + this.active = tool; - + this._dispatchEvent(); } }, { @@ -4631,7 +4631,7 @@ key: "_addEventListeners", value: function _addEventListeners() { var _this3 = this; - + this.eventBus.on('switchcursortool', function (evt) { _this3.switchTool(evt.tool); }); @@ -4639,19 +4639,19 @@ if (evt.switchInProgress) { return; } - + var previouslyActive; - + if (evt.active) { previouslyActive = _this3.active; - + _this3.switchTool(CursorTool.SELECT); - + _this3.activeBeforePresentationMode = previouslyActive; } else { previouslyActive = _this3.activeBeforePresentationMode; _this3.activeBeforePresentationMode = null; - + _this3.switchTool(previouslyActive); } }); @@ -4662,32 +4662,32 @@ return this.active; } }]); - + return PDFCursorTools; }(); - + exports.PDFCursorTools = PDFCursorTools; - + /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.GrabToPan = GrabToPan; - + function GrabToPan(options) { this.element = options.element; this.document = options.element.ownerDocument; - + if (typeof options.ignoreTarget === 'function') { this.ignoreTarget = options.ignoreTarget; } - + this.onActiveChanged = options.onActiveChanged; this.activate = this.activate.bind(this); this.deactivate = this.deactivate.bind(this); @@ -4698,7 +4698,7 @@ var overlay = this.overlay = document.createElement('div'); overlay.className = 'grab-to-pan-grabbing'; } - + GrabToPan.prototype = { CSS_CLASS_GRAB: 'grab-to-pan-grab', activate: function GrabToPan_activate() { @@ -4706,7 +4706,7 @@ this.active = true; this.element.addEventListener('mousedown', this._onmousedown, true); this.element.classList.add(this.CSS_CLASS_GRAB); - + if (this.onActiveChanged) { this.onActiveChanged(true); } @@ -4716,11 +4716,11 @@ if (this.active) { this.active = false; this.element.removeEventListener('mousedown', this._onmousedown, true); - + this._endPan(); - + this.element.classList.remove(this.CSS_CLASS_GRAB); - + if (this.onActiveChanged) { this.onActiveChanged(false); } @@ -4740,7 +4740,7 @@ if (event.button !== 0 || this.ignoreTarget(event.target)) { return; } - + if (event.originalTarget) { try { event.originalTarget.tagName; @@ -4748,7 +4748,7 @@ return; } } - + this.scrollLeftStart = this.element.scrollLeft; this.scrollTopStart = this.element.scrollTop; this.clientXStart = event.clientX; @@ -4759,25 +4759,25 @@ event.preventDefault(); event.stopPropagation(); var focusedElement = document.activeElement; - + if (focusedElement && !focusedElement.contains(event.target)) { focusedElement.blur(); } }, _onmousemove: function GrabToPan__onmousemove(event) { this.element.removeEventListener('scroll', this._endPan, true); - + if (isLeftMouseReleased(event)) { this._endPan(); - + return; } - + var xDiff = event.clientX - this.clientXStart; var yDiff = event.clientY - this.clientYStart; var scrollTop = this.scrollTopStart - yDiff; var scrollLeft = this.scrollLeftStart - xDiff; - + if (this.element.scrollTo) { this.element.scrollTo({ top: scrollTop, @@ -4788,7 +4788,7 @@ this.element.scrollTop = scrollTop; this.element.scrollLeft = scrollLeft; } - + if (!this.overlay.parentNode) { document.body.appendChild(this.overlay); } @@ -4803,54 +4803,54 @@ var matchesSelector; ['webkitM', 'mozM', 'msM', 'oM', 'm'].some(function (prefix) { var name = prefix + 'atches'; - + if (name in document.documentElement) { matchesSelector = name; } - + name += 'Selector'; - + if (name in document.documentElement) { matchesSelector = name; } - + return matchesSelector; }); var isNotIEorIsIE10plus = !document.documentMode || document.documentMode > 9; var chrome = window.chrome; var isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app); var isSafari6plus = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent); - + function isLeftMouseReleased(event) { if ('buttons' in event && isNotIEorIsIE10plus) { return !(event.buttons & 1); } - + if (isChrome15OrOpera15plus || isSafari6plus) { return event.which === 0; } - + return false; } - + /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFRenderingQueue = exports.RenderingStates = void 0; - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var CLEANUP_TIMEOUT = 30000; var RenderingStates = { INITIAL: 0, @@ -4859,13 +4859,13 @@ FINISHED: 3 }; exports.RenderingStates = RenderingStates; - + var PDFRenderingQueue = /*#__PURE__*/ function () { function PDFRenderingQueue() { _classCallCheck(this, PDFRenderingQueue); - + this.pdfViewer = null; this.pdfThumbnailViewer = null; this.onIdle = null; @@ -4874,7 +4874,7 @@ this.printing = false; this.isThumbnailViewEnabled = false; } - + _createClass(PDFRenderingQueue, [{ key: "setViewer", value: function setViewer(pdfViewer) { @@ -4897,21 +4897,21 @@ clearTimeout(this.idleTimeout); this.idleTimeout = null; } - + if (this.pdfViewer.forceRendering(currentlyVisiblePages)) { return; } - + if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) { if (this.pdfThumbnailViewer.forceRendering()) { return; } } - + if (this.printing) { return; } - + if (this.onIdle) { this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT); } @@ -4921,33 +4921,33 @@ value: function getHighestPriority(visible, views, scrolledDown) { var visibleViews = visible.views; var numVisible = visibleViews.length; - + if (numVisible === 0) { return null; } - + for (var i = 0; i < numVisible; ++i) { var view = visibleViews[i].view; - + if (!this.isViewFinished(view)) { return view; } } - + if (scrolledDown) { var nextPageIndex = visible.last.id; - + if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) { return views[nextPageIndex]; } } else { var previousPageIndex = visible.first.id - 2; - + if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) { return views[previousPageIndex]; } } - + return null; } }, { @@ -4959,20 +4959,20 @@ key: "renderView", value: function renderView(view) { var _this = this; - + switch (view.renderingState) { case RenderingStates.FINISHED: return false; - + case RenderingStates.PAUSED: this.highestPriorityPage = view.renderingId; view.resume(); break; - + case RenderingStates.RUNNING: this.highestPriorityPage = view.renderingId; break; - + case RenderingStates.INITIAL: this.highestPriorityPage = view.renderingId; view.draw()["finally"](function () { @@ -4980,38 +4980,38 @@ }); break; } - + return true; } }]); - + return PDFRenderingQueue; }(); - + exports.PDFRenderingQueue = PDFRenderingQueue; - + /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFSidebar = exports.SidebarView = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdf_rendering_queue = __webpack_require__(11); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var UI_NOTIFICATION_CLASS = 'pdfSidebarNotification'; var SidebarView = { UNKNOWN: -1, @@ -5022,7 +5022,7 @@ LAYERS: 4 }; exports.SidebarView = SidebarView; - + var PDFSidebar = /*#__PURE__*/ function () { @@ -5035,9 +5035,9 @@ l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n, _ref$disableNotificat = _ref.disableNotification, disableNotification = _ref$disableNotificat === void 0 ? false : _ref$disableNotificat; - + _classCallCheck(this, PDFSidebar); - + this.isOpen = false; this.active = SidebarView.THUMBS; this.isInitialViewSet = false; @@ -5056,17 +5056,17 @@ this.eventBus = eventBus; this.l10n = l10n; this._disableNotification = disableNotification; - + this._addEventListeners(); } - + _createClass(PDFSidebar, [{ key: "reset", value: function reset() { this.isInitialViewSet = false; - + this._hideUINotification(null); - + this.switchView(SidebarView.THUMBS); this.outlineButton.disabled = false; this.attachmentsButton.disabled = false; @@ -5075,19 +5075,19 @@ key: "setInitialView", value: function setInitialView() { var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SidebarView.NONE; - + if (this.isInitialViewSet) { return; } - + this.isInitialViewSet = true; - + if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) { this._dispatchEvent(); - + return; } - + if (!this._switchView(view, true)) { this._dispatchEvent(); } @@ -5096,7 +5096,7 @@ key: "switchView", value: function switchView(view) { var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - + this._switchView(view, forceOpen); } }, { @@ -5105,42 +5105,42 @@ var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var isViewChanged = view !== this.active; var shouldForceRendering = false; - + switch (view) { case SidebarView.NONE: if (this.isOpen) { this.close(); return true; } - + return false; - + case SidebarView.THUMBS: if (this.isOpen && isViewChanged) { shouldForceRendering = true; } - + break; - + case SidebarView.OUTLINE: if (this.outlineButton.disabled) { return false; } - + break; - + case SidebarView.ATTACHMENTS: if (this.attachmentsButton.disabled) { return false; } - + break; - + default: console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view.")); return false; } - + this.active = view; this.thumbnailButton.classList.toggle('toggled', view === SidebarView.THUMBS); this.outlineButton.classList.toggle('toggled', view === SidebarView.OUTLINE); @@ -5148,24 +5148,24 @@ this.thumbnailView.classList.toggle('hidden', view !== SidebarView.THUMBS); this.outlineView.classList.toggle('hidden', view !== SidebarView.OUTLINE); this.attachmentsView.classList.toggle('hidden', view !== SidebarView.ATTACHMENTS); - + if (forceOpen && !this.isOpen) { this.open(); return true; } - + if (shouldForceRendering) { this._updateThumbnailViewer(); - + this._forceRendering(); } - + if (isViewChanged) { this._dispatchEvent(); } - + this._hideUINotification(this.active); - + return isViewChanged; } }, { @@ -5174,19 +5174,19 @@ if (this.isOpen) { return; } - + this.isOpen = true; this.toggleButton.classList.add('toggled'); this.outerContainer.classList.add('sidebarMoving', 'sidebarOpen'); - + if (this.active === SidebarView.THUMBS) { this._updateThumbnailViewer(); } - + this._forceRendering(); - + this._dispatchEvent(); - + this._hideUINotification(this.active); } }, { @@ -5195,14 +5195,14 @@ if (!this.isOpen) { return; } - + this.isOpen = false; this.toggleButton.classList.remove('toggled'); this.outerContainer.classList.add('sidebarMoving'); this.outerContainer.classList.remove('sidebarOpen'); - + this._forceRendering(); - + this._dispatchEvent(); } }, { @@ -5238,42 +5238,42 @@ var pdfViewer = this.pdfViewer, pdfThumbnailViewer = this.pdfThumbnailViewer; var pagesCount = pdfViewer.pagesCount; - + for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) { var pageView = pdfViewer.getPageView(pageIndex); - + if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) { var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex); thumbnailView.setImage(pageView); } } - + pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); } }, { key: "_showUINotification", value: function _showUINotification(view) { var _this = this; - + if (this._disableNotification) { return; } - + this.l10n.get('toggle_sidebar_notification.title', null, 'Toggle Sidebar (document contains outline/attachments)').then(function (msg) { _this.toggleButton.title = msg; }); - + if (!this.isOpen) { this.toggleButton.classList.add(UI_NOTIFICATION_CLASS); } else if (view === this.active) { return; } - + switch (view) { case SidebarView.OUTLINE: this.outlineButton.classList.add(UI_NOTIFICATION_CLASS); break; - + case SidebarView.ATTACHMENTS: this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS); break; @@ -5283,40 +5283,40 @@ key: "_hideUINotification", value: function _hideUINotification(view) { var _this2 = this; - + if (this._disableNotification) { return; } - + var removeNotification = function removeNotification(view) { switch (view) { case SidebarView.OUTLINE: _this2.outlineButton.classList.remove(UI_NOTIFICATION_CLASS); - + break; - + case SidebarView.ATTACHMENTS: _this2.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS); - + break; } }; - + if (!this.isOpen && view !== null) { return; } - + this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS); - + if (view !== null) { removeNotification(view); return; } - + for (view in SidebarView) { removeNotification(SidebarView[view]); } - + this.l10n.get('toggle_sidebar.title', null, 'Toggle Sidebar').then(function (msg) { _this2.toggleButton.title = msg; }); @@ -5325,7 +5325,7 @@ key: "_addEventListeners", value: function _addEventListeners() { var _this3 = this; - + this.viewerContainer.addEventListener('transitionend', function (evt) { if (evt.target === _this3.viewerContainer) { _this3.outerContainer.classList.remove('sidebarMoving'); @@ -5351,7 +5351,7 @@ this.eventBus.on('outlineloaded', function (evt) { var outlineCount = evt.outlineCount; _this3.outlineButton.disabled = !outlineCount; - + if (outlineCount) { _this3._showUINotification(SidebarView.OUTLINE); } else if (_this3.active === SidebarView.OUTLINE) { @@ -5361,19 +5361,19 @@ this.eventBus.on('attachmentsloaded', function (evt) { if (evt.attachmentsCount) { _this3.attachmentsButton.disabled = false; - + _this3._showUINotification(SidebarView.ATTACHMENTS); - + return; } - + Promise.resolve().then(function () { if (_this3.attachmentsView.hasChildNodes()) { return; } - + _this3.attachmentsButton.disabled = true; - + if (_this3.active === SidebarView.ATTACHMENTS) { _this3.switchView(SidebarView.THUMBS); } @@ -5406,49 +5406,49 @@ return this.isOpen && this.active === SidebarView.ATTACHMENTS; } }]); - + return PDFSidebar; }(); - + exports.PDFSidebar = PDFSidebar; - + /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.OverlayManager = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var OverlayManager = /*#__PURE__*/ function () { function OverlayManager() { _classCallCheck(this, OverlayManager); - + this._overlays = {}; this._active = null; this._keyDownBound = this._keyDown.bind(this); } - + _createClass(OverlayManager, [{ key: "register", value: function () { @@ -5465,22 +5465,22 @@ case 0: callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null; canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false; - + if (!(!name || !element || !(container = element.parentNode))) { _context.next = 6; break; } - + throw new Error('Not enough parameters.'); - + case 6: if (!this._overlays[name]) { _context.next = 8; break; } - + throw new Error('The overlay is already registered.'); - + case 8: this._overlays[name] = { element: element, @@ -5488,7 +5488,7 @@ callerCloseMethod: callerCloseMethod, canForceClose: canForceClose }; - + case 9: case "end": return _context.stop(); @@ -5496,11 +5496,11 @@ } }, _callee, this); })); - + function register(_x, _x2) { return _register.apply(this, arguments); } - + return register; }() }, { @@ -5517,20 +5517,20 @@ _context2.next = 4; break; } - + throw new Error('The overlay does not exist.'); - + case 4: if (!(this._active === name)) { _context2.next = 6; break; } - + throw new Error('The overlay cannot be removed while it is active.'); - + case 6: delete this._overlays[name]; - + case 7: case "end": return _context2.stop(); @@ -5538,11 +5538,11 @@ } }, _callee2, this); })); - + function unregister(_x3) { return _unregister.apply(this, arguments); } - + return unregister; }() }, { @@ -5559,45 +5559,45 @@ _context3.next = 4; break; } - + throw new Error('The overlay does not exist.'); - + case 4: if (!this._active) { _context3.next = 14; break; } - + if (!this._overlays[name].canForceClose) { _context3.next = 9; break; } - + this._closeThroughCaller(); - + _context3.next = 14; break; - + case 9: if (!(this._active === name)) { _context3.next = 13; break; } - + throw new Error('The overlay is already active.'); - + case 13: throw new Error('Another overlay is currently active.'); - + case 14: this._active = name; - + this._overlays[this._active].element.classList.remove('hidden'); - + this._overlays[this._active].container.classList.remove('hidden'); - + window.addEventListener('keydown', this._keyDownBound); - + case 18: case "end": return _context3.stop(); @@ -5605,11 +5605,11 @@ } }, _callee3, this); })); - + function open(_x4) { return _open.apply(this, arguments); } - + return open; }() }, { @@ -5626,33 +5626,33 @@ _context4.next = 4; break; } - + throw new Error('The overlay does not exist.'); - + case 4: if (this._active) { _context4.next = 8; break; } - + throw new Error('The overlay is currently not active.'); - + case 8: if (!(this._active !== name)) { _context4.next = 10; break; } - + throw new Error('Another overlay is currently active.'); - + case 10: this._overlays[this._active].container.classList.add('hidden'); - + this._overlays[this._active].element.classList.add('hidden'); - + this._active = null; window.removeEventListener('keydown', this._keyDownBound); - + case 14: case "end": return _context4.stop(); @@ -5660,11 +5660,11 @@ } }, _callee4, this); })); - + function close(_x5) { return _close.apply(this, arguments); } - + return close; }() }, { @@ -5672,7 +5672,7 @@ value: function _keyDown(evt) { if (this._active && evt.keyCode === 27) { this._closeThroughCaller(); - + evt.preventDefault(); } } @@ -5682,7 +5682,7 @@ if (this._overlays[this._active].callerCloseMethod) { this._overlays[this._active].callerCloseMethod(); } - + if (this._active) { this.close(this._active); } @@ -5693,44 +5693,44 @@ return this._active; } }]); - + return OverlayManager; }(); - + exports.OverlayManager = OverlayManager; - + /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PasswordPrompt = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdfjsLib = __webpack_require__(7); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var PasswordPrompt = /*#__PURE__*/ function () { function PasswordPrompt(options, overlayManager) { var _this = this; - + var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n; - + _classCallCheck(this, PasswordPrompt); - + this.overlayName = options.overlayName; this.container = options.container; this.label = options.label; @@ -5750,23 +5750,23 @@ }); this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true); } - + _createClass(PasswordPrompt, [{ key: "open", value: function open() { var _this2 = this; - + this.overlayManager.open(this.overlayName).then(function () { _this2.input.focus(); - + var promptString; - + if (_this2.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD) { promptString = _this2.l10n.get('password_invalid', null, 'Invalid password. Please try again.'); } else { promptString = _this2.l10n.get('password_label', null, 'Enter the password to open this PDF file.'); } - + promptString.then(function (msg) { _this2.label.textContent = msg; }); @@ -5776,7 +5776,7 @@ key: "close", value: function close() { var _this3 = this; - + this.overlayManager.close(this.overlayName).then(function () { _this3.input.value = ''; }); @@ -5785,7 +5785,7 @@ key: "verify", value: function verify() { var password = this.input.value; - + if (password && password.length > 0) { this.close(); this.updateCallback(password); @@ -5798,32 +5798,32 @@ this.reason = reason; } }]); - + return PasswordPrompt; }(); - + exports.PasswordPrompt = PasswordPrompt; - + /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFAttachmentViewer = void 0; - + var _pdfjsLib = __webpack_require__(7); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var PDFAttachmentViewer = /*#__PURE__*/ function () { @@ -5831,23 +5831,23 @@ var container = _ref.container, eventBus = _ref.eventBus, downloadManager = _ref.downloadManager; - + _classCallCheck(this, PDFAttachmentViewer); - + this.container = container; this.eventBus = eventBus; this.downloadManager = downloadManager; this.reset(); this.eventBus.on('fileattachmentannotation', this._appendAttachment.bind(this)); } - + _createClass(PDFAttachmentViewer, [{ key: "reset", value: function reset() { var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; this.attachments = null; this.container.textContent = ''; - + if (!keepRenderedCapability) { this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)(); } @@ -5856,7 +5856,7 @@ key: "_dispatchEvent", value: function _dispatchEvent(attachmentsCount) { this._renderedCapability.resolve(); - + this.eventBus.dispatch('attachmentsloaded', { source: this, attachmentsCount: attachmentsCount @@ -5868,14 +5868,14 @@ if (this.downloadManager.disableCreateObjectURL) { throw new Error('bindPdfLink: Unsupported "disableCreateObjectURL" value.'); } - + var blobUrl; - + button.onclick = function () { if (!blobUrl) { blobUrl = (0, _pdfjsLib.createObjectURL)(content, 'application/pdf'); } - + var viewerUrl; viewerUrl = '?file=' + encodeURIComponent(blobUrl + '#' + filename); window.open(viewerUrl); @@ -5886,10 +5886,10 @@ key: "_bindLink", value: function _bindLink(button, content, filename) { var _this = this; - + button.onclick = function () { _this.downloadManager.downloadData(content, filename, ''); - + return false; }; } @@ -5900,24 +5900,24 @@ _ref2$keepRenderedCap = _ref2.keepRenderedCapability, keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap; var attachmentsCount = 0; - + if (this.attachments) { this.reset(keepRenderedCapability === true); } - + this.attachments = attachments || null; - + if (!attachments) { this._dispatchEvent(attachmentsCount); - + return; } - + var names = Object.keys(attachments).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); attachmentsCount = names.length; - + for (var i = 0; i < attachmentsCount; i++) { var item = attachments[names[i]]; var filename = (0, _pdfjsLib.removeNullCharacters)((0, _pdfjsLib.getFilenameFromUrl)(item.filename)); @@ -5925,31 +5925,31 @@ div.className = 'attachmentsItem'; var button = document.createElement('button'); button.textContent = filename; - + if (/\.pdf$/i.test(filename) && !this.downloadManager.disableCreateObjectURL) { this._bindPdfLink(button, item.content, filename); } else { this._bindLink(button, item.content, filename); } - + div.appendChild(button); this.container.appendChild(div); } - + this._dispatchEvent(attachmentsCount); } }, { key: "_appendAttachment", value: function _appendAttachment(_ref3) { var _this2 = this; - + var id = _ref3.id, filename = _ref3.filename, content = _ref3.content; - + this._renderedCapability.promise.then(function () { var attachments = _this2.attachments; - + if (!attachments) { attachments = Object.create(null); } else { @@ -5959,12 +5959,12 @@ } } } - + attachments[id] = { filename: filename, content: content }; - + _this2.render({ attachments: attachments, keepRenderedCapability: true @@ -5972,50 +5972,50 @@ }); } }]); - + return PDFAttachmentViewer; }(); - + exports.PDFAttachmentViewer = PDFAttachmentViewer; - + /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFDocumentProperties = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + var _pdfjsLib = __webpack_require__(7); - + var _ui_utils = __webpack_require__(5); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - + function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var DEFAULT_FIELD_CONTENT = '-'; var NON_METRIC_LOCALES = ['en-us', 'en-lr', 'my']; var US_PAGE_NAMES = { @@ -6026,41 +6026,41 @@ '297x420': 'A3', '210x297': 'A4' }; - + function getPageName(size, isPortrait, pageNames) { var width = isPortrait ? size.width : size.height; var height = isPortrait ? size.height : size.width; return pageNames["".concat(width, "x").concat(height)]; } - + var PDFDocumentProperties = /*#__PURE__*/ function () { function PDFDocumentProperties(_ref, overlayManager, eventBus) { var _this = this; - + var overlayName = _ref.overlayName, fields = _ref.fields, container = _ref.container, closeButton = _ref.closeButton; var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n; - + _classCallCheck(this, PDFDocumentProperties); - + this.overlayName = overlayName; this.fields = fields; this.container = container; this.overlayManager = overlayManager; this.l10n = l10n; - + this._reset(); - + if (closeButton) { closeButton.addEventListener('click', this.close.bind(this)); } - + this.overlayManager.register(this.overlayName, this.container, this.close.bind(this)); - + if (eventBus) { eventBus.on('pagechanging', function (evt) { _this._currentPageNumber = evt.pageNumber; @@ -6069,18 +6069,18 @@ _this._pagesRotation = evt.pagesRotation; }); } - + this._isNonMetricLocale = true; l10n.getLanguage().then(function (locale) { _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale); }); } - + _createClass(PDFDocumentProperties, [{ key: "open", value: function open() { var _this2 = this; - + var freezeFieldData = function freezeFieldData(data) { Object.defineProperty(_this2, 'fieldData', { value: Object.freeze(data), @@ -6089,17 +6089,17 @@ configurable: true }); }; - + Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () { var currentPageNumber = _this2._currentPageNumber; var pagesRotation = _this2._pagesRotation; - + if (_this2.fieldData && currentPageNumber === _this2.fieldData['_currentPageNumber'] && pagesRotation === _this2.fieldData['_pagesRotation']) { _this2._updateUI(); - + return; } - + _this2.pdfDocument.getMetadata().then(function (_ref2) { var info = _ref2.info, metadata = _ref2.metadata, @@ -6117,7 +6117,7 @@ modDate = _ref4[5], pageSize = _ref4[6], isLinearized = _ref4[7]; - + freezeFieldData({ 'fileName': fileName, 'fileSize': fileSize, @@ -6136,9 +6136,9 @@ '_currentPageNumber': currentPageNumber, '_pagesRotation': pagesRotation }); - + _this2._updateUI(); - + return _this2.pdfDocument.getDownloadInfo(); }).then(function (_ref5) { var length = _ref5.length; @@ -6148,11 +6148,11 @@ if (fileSize === _this2.fieldData['fileSize']) { return; } - + var data = Object.assign(Object.create(null), _this2.fieldData); data['fileSize'] = fileSize; freezeFieldData(data); - + _this2._updateUI(); }); }); @@ -6166,20 +6166,20 @@ key: "setDocument", value: function setDocument(pdfDocument) { var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - + if (this.pdfDocument) { this._reset(); - + this._updateUI(true); } - + if (!pdfDocument) { return; } - + this.pdfDocument = pdfDocument; this.url = url; - + this._dataAvailableCapability.resolve(); } }, { @@ -6204,19 +6204,19 @@ key: "_updateUI", value: function _updateUI() { var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - + if (reset || !this.fieldData) { for (var id in this.fields) { this.fields[id].textContent = DEFAULT_FIELD_CONTENT; } - + return; } - + if (this.overlayManager.active !== this.overlayName) { return; } - + for (var _id in this.fields) { var content = this.fieldData[_id]; this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT; @@ -6237,31 +6237,31 @@ case 0: fileSize = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0; kb = fileSize / 1024; - + if (kb) { _context.next = 6; break; } - + return _context.abrupt("return", undefined); - + case 6: if (!(kb < 1024)) { _context.next = 8; break; } - + return _context.abrupt("return", this.l10n.get('document_properties_kb', { size_kb: (+kb.toPrecision(3)).toLocaleString(), size_b: fileSize.toLocaleString() }, '{{size_kb}} KB ({{size_b}} bytes)')); - + case 8: return _context.abrupt("return", this.l10n.get('document_properties_mb', { size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(), size_b: fileSize.toLocaleString() }, '{{size_mb}} MB ({{size_b}} bytes)')); - + case 9: case "end": return _context.stop(); @@ -6269,11 +6269,11 @@ } }, _callee, this); })); - + function _parseFileSize() { return _parseFileSize2.apply(this, arguments); } - + return _parseFileSize; }() }, { @@ -6283,7 +6283,7 @@ /*#__PURE__*/ _regenerator["default"].mark(function _callee2(pageSizeInches, pagesRotation) { var _this3 = this; - + var isPortrait, sizeInches, sizeMillimeters, pageName, name, exactMillimeters, intMillimeters; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { @@ -6293,9 +6293,9 @@ _context2.next = 2; break; } - + return _context2.abrupt("return", undefined); - + case 2: if (pagesRotation % 180 !== 0) { pageSizeInches = { @@ -6303,7 +6303,7 @@ height: pageSizeInches.width }; } - + isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches); sizeInches = { width: Math.round(pageSizeInches.width * 100) / 100, @@ -6315,7 +6315,7 @@ }; pageName = null; name = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES); - + if (!name && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) { exactMillimeters = { width: pageSizeInches.width * 25.4, @@ -6325,10 +6325,10 @@ width: Math.round(sizeMillimeters.width), height: Math.round(sizeMillimeters.height) }; - + if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) { name = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES); - + if (name) { sizeInches = { width: Math.round(intMillimeters.width / 25.4 * 100) / 100, @@ -6338,11 +6338,11 @@ } } } - + if (name) { pageName = this.l10n.get('document_properties_page_size_name_' + name.toLowerCase(), null, name); } - + return _context2.abrupt("return", Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get('document_properties_page_size_unit_' + (this._isNonMetricLocale ? 'inches' : 'millimeters'), null, this._isNonMetricLocale ? 'in' : 'mm'), pageName, this.l10n.get('document_properties_page_size_orientation_' + (isPortrait ? 'portrait' : 'landscape'), null, isPortrait ? 'portrait' : 'landscape')]).then(function (_ref6) { var _ref7 = _slicedToArray(_ref6, 4), _ref7$ = _ref7[0], @@ -6351,7 +6351,7 @@ unit = _ref7[1], name = _ref7[2], orientation = _ref7[3]; - + return _this3.l10n.get('document_properties_page_size_dimension_' + (name ? 'name_' : '') + 'string', { width: width.toLocaleString(), height: height.toLocaleString(), @@ -6360,7 +6360,7 @@ orientation: orientation }, '{{width}} × {{height}} {{unit}} (' + (name ? '{{name}}, ' : '') + '{{orientation}})'); })); - + case 11: case "end": return _context2.stop(); @@ -6368,11 +6368,11 @@ } }, _callee2, this); })); - + function _parsePageSize(_x, _x2) { return _parsePageSize2.apply(this, arguments); } - + return _parsePageSize; }() }, { @@ -6387,20 +6387,20 @@ switch (_context3.prev = _context3.next) { case 0: dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate); - + if (dateObject) { _context3.next = 3; break; } - + return _context3.abrupt("return", undefined); - + case 3: return _context3.abrupt("return", this.l10n.get('document_properties_date_string', { date: dateObject.toLocaleDateString(), time: dateObject.toLocaleTimeString() }, '{{date}}, {{time}}')); - + case 4: case "end": return _context3.stop(); @@ -6408,11 +6408,11 @@ } }, _callee3, this); })); - + function _parseDate(_x3) { return _parseDate2.apply(this, arguments); } - + return _parseDate; }() }, { @@ -6421,47 +6421,47 @@ return this.l10n.get('document_properties_linearized_' + (isLinearized ? 'yes' : 'no'), null, isLinearized ? 'Yes' : 'No'); } }]); - + return PDFDocumentProperties; }(); - + exports.PDFDocumentProperties = PDFDocumentProperties; - + /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFFindBar = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdf_find_controller = __webpack_require__(18); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var MATCHES_COUNT_LIMIT = 1000; - + var PDFFindBar = /*#__PURE__*/ function () { function PDFFindBar(options) { var _this = this; - + var eventBus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, _ui_utils.getGlobalEventBus)(); var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n; - + _classCallCheck(this, PDFFindBar); - + this.opened = false; this.bar = options.bar || null; this.toggleButton = options.toggleButton || null; @@ -6487,12 +6487,12 @@ if (e.target === _this.findField) { _this.dispatchEvent('again', e.shiftKey); } - + break; - + case 27: _this.close(); - + break; } }); @@ -6513,7 +6513,7 @@ }); this.eventBus.on('resize', this._adjustWidth.bind(this)); } - + _createClass(PDFFindBar, [{ key: "reset", value: function reset() { @@ -6537,39 +6537,39 @@ key: "updateUIState", value: function updateUIState(state, previous, matchesCount) { var _this2 = this; - + var notFound = false; var findMsg = ''; var status = ''; - + switch (state) { case _pdf_find_controller.FindState.FOUND: break; - + case _pdf_find_controller.FindState.PENDING: status = 'pending'; break; - + case _pdf_find_controller.FindState.NOT_FOUND: findMsg = this.l10n.get('find_not_found', null, 'Phrase not found'); notFound = true; break; - + case _pdf_find_controller.FindState.WRAPPED: if (previous) { findMsg = this.l10n.get('find_reached_top', null, 'Reached top of document, continued from bottom'); } else { findMsg = this.l10n.get('find_reached_bottom', null, 'Reached end of document, continued from top'); } - + break; } - + this.findField.classList.toggle('notFound', notFound); this.findField.setAttribute('data-status', status); Promise.resolve(findMsg).then(function (msg) { _this2.findMsg.textContent = msg; - + _this2._adjustWidth(); }); this.updateResultsCount(matchesCount); @@ -6578,20 +6578,20 @@ key: "updateResultsCount", value: function updateResultsCount() { var _this3 = this; - + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref$current = _ref.current, current = _ref$current === void 0 ? 0 : _ref$current, _ref$total = _ref.total, total = _ref$total === void 0 ? 0 : _ref$total; - + if (!this.findResultsCount) { return; } - + var matchesCountMsg = '', limit = MATCHES_COUNT_LIMIT; - + if (total > 0) { if (total > limit) { matchesCountMsg = this.l10n.get('find_match_count_limit', { @@ -6604,12 +6604,12 @@ }, '{{current}} of {{total}} match' + (total !== 1 ? 'es' : '')); } } - + Promise.resolve(matchesCountMsg).then(function (msg) { _this3.findResultsCount.textContent = msg; - + _this3.findResultsCount.classList.toggle('hidden', !total); - + _this3._adjustWidth(); }); } @@ -6621,10 +6621,10 @@ this.toggleButton.classList.add('toggled'); this.bar.classList.remove('hidden'); } - + this.findField.select(); this.findField.focus(); - + this._adjustWidth(); } }, { @@ -6633,7 +6633,7 @@ if (!this.opened) { return; } - + this.opened = false; this.toggleButton.classList.remove('toggled'); this.bar.classList.add('hidden'); @@ -6656,46 +6656,46 @@ if (!this.opened) { return; } - + this.bar.classList.remove('wrapContainers'); var findbarHeight = this.bar.clientHeight; var inputContainerHeight = this.bar.firstElementChild.clientHeight; - + if (findbarHeight > inputContainerHeight) { this.bar.classList.add('wrapContainers'); } } }]); - + return PDFFindBar; }(); - + exports.PDFFindBar = PDFFindBar; - + /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFFindController = exports.FindState = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdfjsLib = __webpack_require__(7); - + var _pdf_find_utils = __webpack_require__(19); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var FindState = { FOUND: 0, NOT_FOUND: 1, @@ -6720,18 +6720,18 @@ "\xBE": '3/4' }; var normalizationRegex = null; - + function normalize(text) { if (!normalizationRegex) { var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(''); normalizationRegex = new RegExp("[".concat(replace, "]"), 'g'); } - + return text.replace(normalizationRegex, function (ch) { return CHARACTERS_TO_NORMALIZE[ch]; }); } - + var PDFFindController = /*#__PURE__*/ function () { @@ -6739,79 +6739,79 @@ var linkService = _ref.linkService, _ref$eventBus = _ref.eventBus, eventBus = _ref$eventBus === void 0 ? (0, _ui_utils.getGlobalEventBus)() : _ref$eventBus; - + _classCallCheck(this, PDFFindController); - + this._linkService = linkService; this._eventBus = eventBus; - + this._reset(); - + eventBus.on('findbarclose', this._onFindBarClose.bind(this)); } - + _createClass(PDFFindController, [{ key: "setDocument", value: function setDocument(pdfDocument) { if (this._pdfDocument) { this._reset(); } - + if (!pdfDocument) { return; } - + this._pdfDocument = pdfDocument; - + this._firstPageCapability.resolve(); } }, { key: "executeCommand", value: function executeCommand(cmd, state) { var _this = this; - + if (!state) { return; } - + var pdfDocument = this._pdfDocument; - + if (this._state === null || this._shouldDirtyMatch(cmd, state)) { this._dirtyMatch = true; } - + this._state = state; - + if (cmd !== 'findhighlightallchange') { this._updateUIState(FindState.PENDING); } - + this._firstPageCapability.promise.then(function () { if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) { return; } - + _this._extractText(); - + var findbarClosed = !_this._highlightMatches; var pendingTimeout = !!_this._findTimeout; - + if (_this._findTimeout) { clearTimeout(_this._findTimeout); _this._findTimeout = null; } - + if (cmd === 'find') { _this._findTimeout = setTimeout(function () { _this._nextMatch(); - + _this._findTimeout = null; }, FIND_TIMEOUT); } else if (_this._dirtyMatch) { _this._nextMatch(); } else if (cmd === 'findagain') { _this._nextMatch(); - + if (findbarClosed && _this._state.highlightAll) { _this._updateAllPages(); } @@ -6821,7 +6821,7 @@ } else { _this._highlightMatches = true; } - + _this._updateAllPages(); } else { _this._nextMatch(); @@ -6837,7 +6837,7 @@ pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex, _ref2$matchIndex = _ref2.matchIndex, matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex; - + if (!this._scrollMatches || !element) { return; } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) { @@ -6845,7 +6845,7 @@ } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) { return; } - + this._scrollMatches = false; var spot = { top: MATCH_SCROLL_OFFSET_TOP, @@ -6888,22 +6888,22 @@ if (state.query !== this._state.query) { return true; } - + switch (cmd) { case 'findagain': var pageNumber = this._selected.pageIdx + 1; var linkService = this._linkService; - + if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) { return true; } - + return false; - + case 'findhighlightallchange': return false; } - + return true; } }, { @@ -6912,41 +6912,41 @@ function isSubTerm(matchesWithLength, currentIndex) { var currentElem = matchesWithLength[currentIndex]; var nextElem = matchesWithLength[currentIndex + 1]; - + if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) { currentElem.skipped = true; return true; } - + for (var i = currentIndex - 1; i >= 0; i--) { var prevElem = matchesWithLength[i]; - + if (prevElem.skipped) { continue; } - + if (prevElem.match + prevElem.matchLength < currentElem.match) { break; } - + if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) { currentElem.skipped = true; return true; } } - + return false; } - + matchesWithLength.sort(function (a, b) { return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match; }); - + for (var i = 0, len = matchesWithLength.length; i < len; i++) { if (isSubTerm(matchesWithLength, i)) { continue; } - + matches.push(matchesWithLength[i].match); matchesLength.push(matchesWithLength[i].matchLength); } @@ -6957,24 +6957,24 @@ if (startIdx > 0) { var first = content.charCodeAt(startIdx); var limit = content.charCodeAt(startIdx - 1); - + if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) { return false; } } - + var endIdx = startIdx + length - 1; - + if (endIdx < content.length - 1) { var last = content.charCodeAt(endIdx); - + var _limit = content.charCodeAt(endIdx + 1); - + if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) { return false; } } - + return true; } }, { @@ -6983,21 +6983,21 @@ var matches = []; var queryLen = query.length; var matchIdx = -queryLen; - + while (true) { matchIdx = pageContent.indexOf(query, matchIdx + queryLen); - + if (matchIdx === -1) { break; } - + if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) { continue; } - + matches.push(matchIdx); } - + this._pageMatches[pageIndex] = matches; } }, { @@ -7005,23 +7005,23 @@ value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) { var matchesWithLength = []; var queryArray = query.match(/\S+/g); - + for (var i = 0, len = queryArray.length; i < len; i++) { var subquery = queryArray[i]; var subqueryLen = subquery.length; var matchIdx = -subqueryLen; - + while (true) { matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen); - + if (matchIdx === -1) { break; } - + if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) { continue; } - + matchesWithLength.push({ match: matchIdx, matchLength: subqueryLen, @@ -7029,10 +7029,10 @@ }); } } - + this._pageMatchesLength[pageIndex] = []; this._pageMatches[pageIndex] = []; - + this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]); } }, { @@ -7044,37 +7044,37 @@ caseSensitive = _this$_state.caseSensitive, entireWord = _this$_state.entireWord, phraseSearch = _this$_state.phraseSearch; - + if (query.length === 0) { return; } - + if (!caseSensitive) { pageContent = pageContent.toLowerCase(); query = query.toLowerCase(); } - + if (phraseSearch) { this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord); } else { this._calculateWordMatch(query, pageIndex, pageContent, entireWord); } - + if (this._state.highlightAll) { this._updatePage(pageIndex); } - + if (this._resumePageIdx === pageIndex) { this._resumePageIdx = null; - + this._nextPageMatch(); } - + var pageMatchesCount = this._pageMatches[pageIndex].length; - + if (pageMatchesCount > 0) { this._matchesCountTotal += pageMatchesCount; - + this._updateUIResultsCount(); } } @@ -7082,13 +7082,13 @@ key: "_extractText", value: function _extractText() { var _this2 = this; - + if (this._extractTextPromises.length > 0) { return; } - + var promise = Promise.resolve(); - + var _loop = function _loop(i, ii) { var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)(); _this2._extractTextPromises[i] = extractTextCapability.promise; @@ -7100,11 +7100,11 @@ }).then(function (textContent) { var textItems = textContent.items; var strBuf = []; - + for (var j = 0, jj = textItems.length; j < jj; j++) { strBuf.push(textItems[j].str); } - + _this2._pageContents[i] = normalize(strBuf.join('')); extractTextCapability.resolve(i); }, function (reason) { @@ -7114,7 +7114,7 @@ }); }); }; - + for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) { _loop(i, ii); } @@ -7125,7 +7125,7 @@ if (this._scrollMatches && this._selected.pageIdx === index) { this._linkService.page = index + 1; } - + this._eventBus.dispatch('updatetextlayermatches', { source: this, pageIndex: index @@ -7143,12 +7143,12 @@ key: "_nextMatch", value: function _nextMatch() { var _this3 = this; - + var previous = this._state.findPrevious; var currentPageIndex = this._linkService.page - 1; var numPages = this._linkService.pagesCount; this._highlightMatches = true; - + if (this._dirtyMatch) { this._dirtyMatch = false; this._selected.pageIdx = this._selected.matchIdx = -1; @@ -7159,51 +7159,51 @@ this._pageMatches.length = 0; this._pageMatchesLength.length = 0; this._matchesCountTotal = 0; - + this._updateAllPages(); - + for (var i = 0; i < numPages; i++) { if (this._pendingFindMatches[i] === true) { continue; } - + this._pendingFindMatches[i] = true; - + this._extractTextPromises[i].then(function (pageIdx) { delete _this3._pendingFindMatches[pageIdx]; - + _this3._calculateMatch(pageIdx); }); } } - + if (this._query === '') { this._updateUIState(FindState.FOUND); - + return; } - + if (this._resumePageIdx) { return; } - + var offset = this._offset; this._pagesToSearch = numPages; - + if (offset.matchIdx !== null) { var numPageMatches = this._pageMatches[offset.pageIdx].length; - + if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) { offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1; - + this._updateMatch(true); - + return; } - + this._advanceOffsetPage(previous); } - + this._nextPageMatch(); } }, { @@ -7212,27 +7212,27 @@ var offset = this._offset; var numMatches = matches.length; var previous = this._state.findPrevious; - + if (numMatches) { offset.matchIdx = previous ? numMatches - 1 : 0; - + this._updateMatch(true); - + return true; } - + this._advanceOffsetPage(previous); - + if (offset.wrapped) { offset.matchIdx = null; - + if (this._pagesToSearch < 0) { this._updateMatch(false); - + return true; } } - + return false; } }, { @@ -7241,13 +7241,13 @@ if (this._resumePageIdx !== null) { console.error('There can only be one pending page.'); } - + var matches = null; - + do { var pageIdx = this._offset.pageIdx; matches = this._pageMatches[pageIdx]; - + if (!matches) { this._resumePageIdx = pageIdx; break; @@ -7262,7 +7262,7 @@ offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1; offset.matchIdx = null; this._pagesToSearch--; - + if (offset.pageIdx >= numPages || offset.pageIdx < 0) { offset.pageIdx = previous ? numPages - 1 : 0; offset.wrapped = true; @@ -7275,23 +7275,23 @@ var state = FindState.NOT_FOUND; var wrapped = this._offset.wrapped; this._offset.wrapped = false; - + if (found) { var previousPage = this._selected.pageIdx; this._selected.pageIdx = this._offset.pageIdx; this._selected.matchIdx = this._offset.matchIdx; state = wrapped ? FindState.WRAPPED : FindState.FOUND; - + if (previousPage !== -1 && previousPage !== this._selected.pageIdx) { this._updatePage(previousPage); } } - + this._updateUIState(state, this._state.findPrevious); - + if (this._selected.pageIdx !== -1) { this._scrollMatches = true; - + this._updatePage(this._selected.pageIdx); } } @@ -7299,28 +7299,28 @@ key: "_onFindBarClose", value: function _onFindBarClose(evt) { var _this4 = this; - + var pdfDocument = this._pdfDocument; - + this._firstPageCapability.promise.then(function () { if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) { return; } - + if (_this4._findTimeout) { clearTimeout(_this4._findTimeout); _this4._findTimeout = null; } - + if (_this4._resumePageIdx) { _this4._resumePageIdx = null; _this4._dirtyMatch = true; } - + _this4._updateUIState(FindState.FOUND); - + _this4._highlightMatches = false; - + _this4._updateAllPages(); }); } @@ -7332,19 +7332,19 @@ matchIdx = _this$_selected.matchIdx; var current = 0, total = this._matchesCountTotal; - + if (matchIdx !== -1) { for (var i = 0; i < pageIdx; i++) { current += this._pageMatches[i] && this._pageMatches[i].length || 0; } - + current += matchIdx + 1; } - + if (current < 1 || current > total) { current = total = 0; } - + return { current: current, total: total @@ -7400,23 +7400,23 @@ this._rawQuery = this._state.query; this._normalizedQuery = normalize(this._state.query); } - + return this._normalizedQuery; } }]); - + return PDFFindController; }(); - + exports.PDFFindController = PDFFindController; - + /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); @@ -7433,47 +7433,47 @@ THAI_LETTER: 7 }; exports.CharacterType = CharacterType; - + function isAlphabeticalScript(charCode) { return charCode < 0x2E80; } - + function isAscii(charCode) { return (charCode & 0xFF80) === 0; } - + function isAsciiAlpha(charCode) { return charCode >= 0x61 && charCode <= 0x7A || charCode >= 0x41 && charCode <= 0x5A; } - + function isAsciiDigit(charCode) { return charCode >= 0x30 && charCode <= 0x39; } - + function isAsciiSpace(charCode) { return charCode === 0x20 || charCode === 0x09 || charCode === 0x0D || charCode === 0x0A; } - + function isHan(charCode) { return charCode >= 0x3400 && charCode <= 0x9FFF || charCode >= 0xF900 && charCode <= 0xFAFF; } - + function isKatakana(charCode) { return charCode >= 0x30A0 && charCode <= 0x30FF; } - + function isHiragana(charCode) { return charCode >= 0x3040 && charCode <= 0x309F; } - + function isHalfwidthKatakana(charCode) { return charCode >= 0xFF60 && charCode <= 0xFF9F; } - + function isThai(charCode) { return (charCode & 0xFF80) === 0x0E00; } - + function getCharacterType(charCode) { if (isAlphabeticalScript(charCode)) { if (isAscii(charCode)) { @@ -7482,17 +7482,17 @@ } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5F) { return CharacterType.ALPHA_LETTER; } - + return CharacterType.PUNCT; } else if (isThai(charCode)) { return CharacterType.THAI_LETTER; } else if (charCode === 0xA0) { return CharacterType.SPACE; } - + return CharacterType.ALPHA_LETTER; } - + if (isHan(charCode)) { return CharacterType.HAN_LETTER; } else if (isKatakana(charCode)) { @@ -7502,77 +7502,77 @@ } else if (isHalfwidthKatakana(charCode)) { return CharacterType.HALFWIDTH_KATAKANA_LETTER; } - + return CharacterType.ALPHA_LETTER; } - + /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.isDestHashesEqual = isDestHashesEqual; exports.isDestArraysEqual = isDestArraysEqual; exports.PDFHistory = void 0; - + var _ui_utils = __webpack_require__(5); - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - + function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var HASH_CHANGE_TIMEOUT = 1000; var POSITION_UPDATED_THRESHOLD = 50; var UPDATE_VIEWAREA_TIMEOUT = 1000; - + function getCurrentHash() { return document.location.hash; } - + function parseCurrentHash(linkService) { var hash = unescape(getCurrentHash()).substring(1); var params = (0, _ui_utils.parseQueryString)(hash); var page = params.page | 0; - + if (!(Number.isInteger(page) && page > 0 && page <= linkService.pagesCount)) { page = null; } - + return { hash: hash, page: page, rotation: linkService.rotation }; } - + var PDFHistory = /*#__PURE__*/ function () { function PDFHistory(_ref) { var _this = this; - + var linkService = _ref.linkService, eventBus = _ref.eventBus; - + _classCallCheck(this, PDFHistory); - + this.linkService = linkService; this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)(); this.initialized = false; @@ -7588,7 +7588,7 @@ _this._isPagesLoaded = !!evt.pagesCount; }); } - + _createClass(PDFHistory, [{ key: "initialize", value: function initialize(_ref2) { @@ -7597,20 +7597,20 @@ resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory, _ref2$updateUrl = _ref2.updateUrl, updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl; - + if (!fingerprint || typeof fingerprint !== 'string') { console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.'); return; } - + var reInitialized = this.initialized && this.fingerprint !== fingerprint; this.fingerprint = fingerprint; this._updateUrl = updateUrl === true; - + if (!this.initialized) { this._bindEvents(); } - + var state = window.history.state; this.initialized = true; this.initialBookmark = null; @@ -7622,40 +7622,40 @@ this._uid = this._maxUid = 0; this._destination = null; this._position = null; - + if (!this._isValidState(state, true) || resetHistory) { var _parseCurrentHash = parseCurrentHash(this.linkService), hash = _parseCurrentHash.hash, page = _parseCurrentHash.page, rotation = _parseCurrentHash.rotation; - + if (!hash || reInitialized || resetHistory) { this._pushOrReplaceState(null, true); - + return; } - + this._pushOrReplaceState({ hash: hash, page: page, rotation: rotation }, true); - + return; } - + var destination = state.destination; - + this._updateInternalState(destination, state.uid, true); - + if (this._uid > this._maxUid) { this._maxUid = this._uid; } - + if (destination.rotation !== undefined) { this.initialRotation = destination.rotation; } - + if (destination.dest) { this.initialBookmark = JSON.stringify(destination.dest); this._destination.page = null; @@ -7669,16 +7669,16 @@ key: "push", value: function push(_ref3) { var _this2 = this; - + var _ref3$namedDest = _ref3.namedDest, namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest, explicitDest = _ref3.explicitDest, pageNumber = _ref3.pageNumber; - + if (!this.initialized) { return; } - + if (namedDest && typeof namedDest !== 'string') { console.error('PDFHistory.push: ' + "\"".concat(namedDest, "\" is not a valid namedDest parameter.")); return; @@ -7691,34 +7691,34 @@ return; } } - + var hash = namedDest || JSON.stringify(explicitDest); - + if (!hash) { return; } - + var forceReplace = false; - + if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) { if (this._destination.page) { return; } - + forceReplace = true; } - + if (this._popStateInProgress && !forceReplace) { return; } - + this._pushOrReplaceState({ dest: explicitDest, hash: hash, page: pageNumber, rotation: this.linkService.rotation }, forceReplace); - + if (!this._popStateInProgress) { this._popStateInProgress = true; Promise.resolve().then(function () { @@ -7732,7 +7732,7 @@ if (!this.initialized || this._popStateInProgress) { return; } - + this._tryPushCurrentPosition(); } }, { @@ -7741,9 +7741,9 @@ if (!this.initialized || this._popStateInProgress) { return; } - + var state = window.history.state; - + if (this._isValidState(state) && state.uid > 0) { window.history.back(); } @@ -7754,9 +7754,9 @@ if (!this.initialized || this._popStateInProgress) { return; } - + var state = window.history.state; - + if (this._isValidState(state) && state.uid < this._maxUid) { window.history.forward(); } @@ -7771,19 +7771,19 @@ uid: shouldReplace ? this._uid : this._uid + 1, destination: destination }; - + this._updateInternalState(destination, newState.uid); - + var newUrl; - + if (this._updateUrl && destination && destination.hash) { var baseUrl = document.location.href.split('#')[0]; - + if (!baseUrl.startsWith('file://')) { newUrl = "".concat(baseUrl, "#").concat(destination.hash); } } - + if (shouldReplace) { if (newUrl) { window.history.replaceState(newState, '', newUrl); @@ -7792,7 +7792,7 @@ } } else { this._maxUid = this._uid; - + if (newUrl) { window.history.pushState(newState, '', newUrl); } else { @@ -7804,69 +7804,69 @@ key: "_tryPushCurrentPosition", value: function _tryPushCurrentPosition() { var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - + if (!this._position) { return; } - + var position = this._position; - + if (temporary) { position = Object.assign(Object.create(null), this._position); position.temporary = true; } - + if (!this._destination) { this._pushOrReplaceState(position); - + return; } - + if (this._destination.temporary) { this._pushOrReplaceState(position, true); - + return; } - + if (this._destination.hash === position.hash) { return; } - + if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) { return; } - + var forceReplace = false; - + if (this._destination.page >= position.first && this._destination.page <= position.page) { if (this._destination.dest || !this._destination.first) { return; } - + forceReplace = true; } - + this._pushOrReplaceState(position, forceReplace); } }, { key: "_isValidState", value: function _isValidState(state) { var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - + if (!state) { return false; } - + if (state.fingerprint !== this.fingerprint) { if (checkReload) { if (typeof state.fingerprint !== 'string' || state.fingerprint.length !== this.fingerprint.length) { return false; } - + var _performance$getEntri = performance.getEntriesByType('navigation'), _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1), perfEntry = _performance$getEntri2[0]; - + if (!perfEntry || perfEntry.type !== 'reload') { return false; } @@ -7874,31 +7874,31 @@ return false; } } - + if (!Number.isInteger(state.uid) || state.uid < 0) { return false; } - + if (state.destination === null || _typeof(state.destination) !== 'object') { return false; } - + return true; } }, { key: "_updateInternalState", value: function _updateInternalState(destination, uid) { var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - + if (this._updateViewareaTimeout) { clearTimeout(this._updateViewareaTimeout); this._updateViewareaTimeout = null; } - + if (removeTemporary && destination && destination.temporary) { delete destination.temporary; } - + this._destination = destination; this._uid = uid; this._numPositionUpdates = 0; @@ -7907,35 +7907,35 @@ key: "_updateViewarea", value: function _updateViewarea(_ref4) { var _this3 = this; - + var location = _ref4.location; - + if (this._updateViewareaTimeout) { clearTimeout(this._updateViewareaTimeout); this._updateViewareaTimeout = null; } - + this._position = { hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1), page: this.linkService.page, first: location.pageNumber, rotation: location.rotation }; - + if (this._popStateInProgress) { return; } - + if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) { this._numPositionUpdates++; } - + if (UPDATE_VIEWAREA_TIMEOUT > 0) { this._updateViewareaTimeout = setTimeout(function () { if (!_this3._popStateInProgress) { _this3._tryPushCurrentPosition(true); } - + _this3._updateViewareaTimeout = null; }, UPDATE_VIEWAREA_TIMEOUT); } @@ -7944,35 +7944,35 @@ key: "_popState", value: function _popState(_ref5) { var _this4 = this; - + var state = _ref5.state; var newHash = getCurrentHash(), hashChanged = this._currentHash !== newHash; this._currentHash = newHash; - + if (!state || false) { this._uid++; - + var _parseCurrentHash2 = parseCurrentHash(this.linkService), hash = _parseCurrentHash2.hash, page = _parseCurrentHash2.page, rotation = _parseCurrentHash2.rotation; - + this._pushOrReplaceState({ hash: hash, page: page, rotation: rotation }, true); - + return; } - + if (!this._isValidState(state)) { return; } - + this._popStateInProgress = true; - + if (hashChanged) { this._blockHashChange++; (0, _ui_utils.waitOnEventOrTimeout)({ @@ -7983,19 +7983,19 @@ _this4._blockHashChange--; }); } - + var destination = state.destination; - + this._updateInternalState(destination, state.uid, true); - + if (this._uid > this._maxUid) { this._maxUid = this._uid; } - + if ((0, _ui_utils.isValidRotation)(destination.rotation)) { this.linkService.rotation = destination.rotation; } - + if (destination.dest) { this.linkService.navigateTo(destination.dest); } else if (destination.hash) { @@ -8003,7 +8003,7 @@ } else if (destination.page) { this.linkService.page = destination.page; } - + Promise.resolve().then(function () { _this4._popStateInProgress = false; }); @@ -8012,18 +8012,18 @@ key: "_bindEvents", value: function _bindEvents() { var _this5 = this; - + var _boundEvents = this._boundEvents, eventBus = this.eventBus; _boundEvents.updateViewarea = this._updateViewarea.bind(this); _boundEvents.popState = this._popState.bind(this); - + _boundEvents.pageHide = function (evt) { if (!_this5._destination || _this5._destination.temporary) { _this5._tryPushCurrentPosition(); } }; - + eventBus.on('updateviewarea', _boundEvents.updateViewarea); window.addEventListener('popstate', _boundEvents.popState); window.addEventListener('pagehide', _boundEvents.pageHide); @@ -8034,97 +8034,97 @@ return this.initialized && (this._popStateInProgress || this._blockHashChange > 0); } }]); - + return PDFHistory; }(); - + exports.PDFHistory = PDFHistory; - + function isDestHashesEqual(destHash, pushHash) { if (typeof destHash !== 'string' || typeof pushHash !== 'string') { return false; } - + if (destHash === pushHash) { return true; } - + var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash), nameddest = _parseQueryString.nameddest; - + if (nameddest === pushHash) { return true; } - + return false; } - + function isDestArraysEqual(firstDest, secondDest) { function isEntryEqual(first, second) { if (_typeof(first) !== _typeof(second)) { return false; } - + if (Array.isArray(first) || Array.isArray(second)) { return false; } - + if (first !== null && _typeof(first) === 'object' && second !== null) { if (Object.keys(first).length !== Object.keys(second).length) { return false; } - + for (var key in first) { if (!isEntryEqual(first[key], second[key])) { return false; } } - + return true; } - + return first === second || Number.isNaN(first) && Number.isNaN(second); } - + if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) { return false; } - + if (firstDest.length !== secondDest.length) { return false; } - + for (var i = 0, ii = firstDest.length; i < ii; i++) { if (!isEntryEqual(firstDest[i], secondDest[i])) { return false; } } - + return true; } - + /***/ }), /* 21 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.SimpleLinkService = exports.PDFLinkService = void 0; - + var _ui_utils = __webpack_require__(5); - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var PDFLinkService = /*#__PURE__*/ function () { @@ -8137,9 +8137,9 @@ externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel, _ref$externalLinkEnab = _ref.externalLinkEnabled, externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab; - + _classCallCheck(this, PDFLinkService); - + this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)(); this.externalLinkTarget = externalLinkTarget; this.externalLinkRel = externalLinkRel; @@ -8150,7 +8150,7 @@ this.pdfHistory = null; this._pagesRefCache = null; } - + _createClass(PDFLinkService, [{ key: "setDocument", value: function setDocument(pdfDocument) { @@ -8173,20 +8173,20 @@ key: "navigateTo", value: function navigateTo(dest) { var _this = this; - + var goToDestination = function goToDestination(_ref2) { var namedDest = _ref2.namedDest, explicitDest = _ref2.explicitDest; var destRef = explicitDest[0], pageNumber; - + if (destRef instanceof Object) { pageNumber = _this._cachedPageNumber(destRef); - + if (pageNumber === null) { _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) { _this.cachePageRef(pageIndex + 1, destRef); - + goToDestination({ namedDest: namedDest, explicitDest: explicitDest @@ -8194,7 +8194,7 @@ })["catch"](function () { console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(dest, "\".")); }); - + return; } } else if (Number.isInteger(destRef)) { @@ -8203,28 +8203,28 @@ console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(dest, "\".")); return; } - + if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) { console.error("PDFLinkService.navigateTo: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(dest, "\".")); return; } - + if (_this.pdfHistory) { _this.pdfHistory.pushCurrentPosition(); - + _this.pdfHistory.push({ namedDest: namedDest, explicitDest: explicitDest, pageNumber: pageNumber }); } - + _this.pdfViewer.scrollPageIntoView({ pageNumber: pageNumber, destArray: explicitDest }); }; - + new Promise(function (resolve, reject) { if (typeof dest === 'string') { _this.pdfDocument.getDestination(dest).then(function (destArray) { @@ -8233,10 +8233,10 @@ explicitDest: destArray }); }); - + return; } - + resolve({ namedDest: '', explicitDest: dest @@ -8246,7 +8246,7 @@ console.error("PDFLinkService.navigateTo: \"".concat(data.explicitDest, "\" is") + " not a valid destination array, for dest=\"".concat(dest, "\".")); return; } - + goToDestination(data); }); } @@ -8256,12 +8256,12 @@ if (typeof dest === 'string') { return this.getAnchorUrl('#' + escape(dest)); } - + if (Array.isArray(dest)) { var str = JSON.stringify(dest); return this.getAnchorUrl('#' + escape(str)); } - + return this.getAnchorUrl(''); } }, { @@ -8273,10 +8273,10 @@ key: "setHash", value: function setHash(hash) { var pageNumber, dest; - + if (hash.includes('=')) { var params = (0, _ui_utils.parseQueryString)(hash); - + if ('search' in params) { this.eventBus.dispatch('findfromurlhash', { source: this, @@ -8284,21 +8284,21 @@ phraseSearch: params['phrase'] === 'true' }); } - + if ('nameddest' in params) { this.navigateTo(params.nameddest); return; } - + if ('page' in params) { pageNumber = params.page | 0 || 1; } - + if ('zoom' in params) { var zoomArgs = params.zoom.split(','); var zoomArg = zoomArgs[0]; var zoomArgNumber = parseFloat(zoomArg); - + if (!zoomArg.includes('Fit')) { dest = [null, { name: 'XYZ' @@ -8325,7 +8325,7 @@ } } } - + if (dest) { this.pdfViewer.scrollPageIntoView({ pageNumber: pageNumber || this.page, @@ -8335,7 +8335,7 @@ } else if (pageNumber) { this.page = pageNumber; } - + if ('pagemode' in params) { this.eventBus.dispatch('pagemode', { source: this, @@ -8344,20 +8344,20 @@ } } else { dest = unescape(hash); - + try { dest = JSON.parse(dest); - + if (!Array.isArray(dest)) { dest = dest.toString(); } } catch (ex) {} - + if (typeof dest === 'string' || isValidExplicitDestination(dest)) { this.navigateTo(dest); return; } - + console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + 'a valid destination.'); } } @@ -8369,42 +8369,42 @@ if (this.pdfHistory) { this.pdfHistory.back(); } - + break; - + case 'GoForward': if (this.pdfHistory) { this.pdfHistory.forward(); } - + break; - + case 'NextPage': if (this.page < this.pagesCount) { this.page++; } - + break; - + case 'PrevPage': if (this.page > 1) { this.page--; } - + break; - + case 'LastPage': this.page = this.pagesCount; break; - + case 'FirstPage': this.page = 1; break; - + default: break; } - + this.eventBus.dispatch('namedaction', { source: this, action: action @@ -8416,7 +8416,7 @@ if (!pageRef) { return; } - + var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); this._pagesRefCache[refStr] = pageNum; } @@ -8453,48 +8453,48 @@ this.pdfViewer.pagesRotation = value; } }]); - + return PDFLinkService; }(); - + exports.PDFLinkService = PDFLinkService; - + function isValidExplicitDestination(dest) { if (!Array.isArray(dest)) { return false; } - + var destLength = dest.length, allowNull = true; - + if (destLength < 2) { return false; } - + var page = dest[0]; - + if (!(_typeof(page) === 'object' && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) { return false; } - + var zoom = dest[1]; - + if (!(_typeof(zoom) === 'object' && typeof zoom.name === 'string')) { return false; } - + switch (zoom.name) { case 'XYZ': if (destLength !== 5) { return false; } - + break; - + case 'Fit': case 'FitB': return destLength === 2; - + case 'FitH': case 'FitBH': case 'FitV': @@ -8502,43 +8502,43 @@ if (destLength !== 3) { return false; } - + break; - + case 'FitR': if (destLength !== 6) { return false; } - + allowNull = false; break; - + default: return false; } - + for (var i = 2; i < destLength; i++) { var param = dest[i]; - + if (!(typeof param === 'number' || allowNull && param === null)) { return false; } } - + return true; } - + var SimpleLinkService = /*#__PURE__*/ function () { function SimpleLinkService() { _classCallCheck(this, SimpleLinkService); - + this.externalLinkTarget = null; this.externalLinkRel = null; this.externalLinkEnabled = true; } - + _createClass(SimpleLinkService, [{ key: "navigateTo", value: function navigateTo(dest) {} @@ -8584,34 +8584,34 @@ }, set: function set(value) {} }]); - + return SimpleLinkService; }(); - + exports.SimpleLinkService = SimpleLinkService; - + /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFOutlineViewer = void 0; - + var _pdfjsLib = __webpack_require__(7); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var DEFAULT_TITLE = "\u2013"; - + var PDFOutlineViewer = /*#__PURE__*/ function () { @@ -8619,16 +8619,16 @@ var container = _ref.container, linkService = _ref.linkService, eventBus = _ref.eventBus; - + _classCallCheck(this, PDFOutlineViewer); - + this.container = container; this.linkService = linkService; this.eventBus = eventBus; this.reset(); eventBus.on('toggleoutlinetree', this.toggleOutlineTree.bind(this)); } - + _createClass(PDFOutlineViewer, [{ key: "reset", value: function reset() { @@ -8652,7 +8652,7 @@ newWindow = _ref2.newWindow, dest = _ref2.dest; var linkService = this.linkService; - + if (url) { (0, _pdfjsLib.addLinkAttributes)(element, { url: url, @@ -8662,14 +8662,14 @@ }); return; } - + element.href = linkService.getDestinationHash(dest); - + element.onclick = function () { if (dest) { linkService.navigateTo(dest); } - + return false; }; } @@ -8679,15 +8679,15 @@ var bold = _ref3.bold, italic = _ref3.italic; var styleStr = ''; - + if (bold) { styleStr += 'font-weight: bold;'; } - + if (italic) { styleStr += 'font-style: italic;'; } - + if (styleStr) { element.setAttribute('style', styleStr); } @@ -8696,27 +8696,27 @@ key: "_addToggleButton", value: function _addToggleButton(div, _ref4) { var _this = this; - + var count = _ref4.count, items = _ref4.items; var toggler = document.createElement('div'); toggler.className = 'outlineItemToggler'; - + if (count < 0 && Math.abs(count) === items.length) { toggler.classList.add('outlineItemsHidden'); } - + toggler.onclick = function (evt) { evt.stopPropagation(); toggler.classList.toggle('outlineItemsHidden'); - + if (evt.shiftKey) { var shouldShowAll = !toggler.classList.contains('outlineItemsHidden'); - + _this._toggleOutlineItem(div, shouldShowAll); } }; - + div.insertBefore(toggler, div.firstChild); } }, { @@ -8727,7 +8727,7 @@ var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; - + try { for (var _iterator = root.querySelectorAll('.outlineItemToggler')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var toggler = _step.value; @@ -8754,7 +8754,7 @@ if (!this.outline) { return; } - + this._toggleOutlineItem(this.container, !this.lastToggleIsShow); } }, { @@ -8762,51 +8762,51 @@ value: function render(_ref5) { var outline = _ref5.outline; var outlineCount = 0; - + if (this.outline) { this.reset(); } - + this.outline = outline || null; - + if (!outline) { this._dispatchEvent(outlineCount); - + return; } - + var fragment = document.createDocumentFragment(); var queue = [{ parent: fragment, items: this.outline }]; var hasAnyNesting = false; - + while (queue.length > 0) { var levelData = queue.shift(); var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; - + try { for (var _iterator2 = levelData.items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var item = _step2.value; var div = document.createElement('div'); div.className = 'outlineItem'; var element = document.createElement('a'); - + this._bindLink(element, item); - + this._setStyles(element, item); - + element.textContent = (0, _pdfjsLib.removeNullCharacters)(item.title) || DEFAULT_TITLE; div.appendChild(element); - + if (item.items.length > 0) { hasAnyNesting = true; - + this._addToggleButton(div, item); - + var itemsDiv = document.createElement('div'); itemsDiv.className = 'outlineItems'; div.appendChild(itemsDiv); @@ -8815,7 +8815,7 @@ items: item.items }); } - + levelData.parent.appendChild(div); outlineCount++; } @@ -8834,43 +8834,43 @@ } } } - + if (hasAnyNesting) { this.container.classList.add('outlineWithDeepNesting'); this.lastToggleIsShow = fragment.querySelectorAll('.outlineItemsHidden').length === 0; } - + this.container.appendChild(fragment); - + this._dispatchEvent(outlineCount); } }]); - + return PDFOutlineViewer; }(); - + exports.PDFOutlineViewer = PDFOutlineViewer; - + /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFPresentationMode = void 0; - + var _ui_utils = __webpack_require__(5); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500; var DELAY_BEFORE_HIDING_CONTROLS = 3000; var ACTIVE_SELECTOR = 'pdfPresentationMode'; @@ -8879,13 +8879,13 @@ var PAGE_SWITCH_THRESHOLD = 0.1; var SWIPE_MIN_DISTANCE_THRESHOLD = 50; var SWIPE_ANGLE_THRESHOLD = Math.PI / 6; - + var PDFPresentationMode = /*#__PURE__*/ function () { function PDFPresentationMode(_ref) { var _this = this; - + var container = _ref.container, _ref$viewer = _ref.viewer, viewer = _ref$viewer === void 0 ? null : _ref$viewer, @@ -8893,9 +8893,9 @@ eventBus = _ref.eventBus, _ref$contextMenuItems = _ref.contextMenuItems, contextMenuItems = _ref$contextMenuItems === void 0 ? null : _ref$contextMenuItems; - + _classCallCheck(this, PDFPresentationMode); - + this.container = container; this.viewer = viewer || container.firstElementChild; this.pdfViewer = pdfViewer; @@ -8906,52 +8906,52 @@ this.mouseScrollTimeStamp = 0; this.mouseScrollDelta = 0; this.touchSwipeState = null; - + if (contextMenuItems) { contextMenuItems.contextFirstPage.addEventListener('click', function () { _this.contextMenuOpen = false; - + _this.eventBus.dispatch('firstpage', { source: _this }); }); contextMenuItems.contextLastPage.addEventListener('click', function () { _this.contextMenuOpen = false; - + _this.eventBus.dispatch('lastpage', { source: _this }); }); contextMenuItems.contextPageRotateCw.addEventListener('click', function () { _this.contextMenuOpen = false; - + _this.eventBus.dispatch('rotatecw', { source: _this }); }); contextMenuItems.contextPageRotateCcw.addEventListener('click', function () { _this.contextMenuOpen = false; - + _this.eventBus.dispatch('rotateccw', { source: _this }); }); } } - + _createClass(PDFPresentationMode, [{ key: "request", value: function request() { if (this.switchInProgress || this.active || !this.viewer.hasChildNodes()) { return false; } - + this._addFullscreenChangeListeners(); - + this._setSwitchInProgress(); - + this._notifyStateChange(); - + if (this.container.requestFullscreen) { this.container.requestFullscreen(); } else if (this.container.mozRequestFullScreen) { @@ -8963,7 +8963,7 @@ } else { return false; } - + this.args = { page: this.pdfViewer.currentPageNumber, previousScale: this.pdfViewer.currentScaleValue @@ -8976,29 +8976,29 @@ if (!this.active) { return; } - + evt.preventDefault(); var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt); var currentTime = new Date().getTime(); var storedTime = this.mouseScrollTimeStamp; - + if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) { return; } - + if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) { this._resetMouseScrollState(); } - + this.mouseScrollDelta += delta; - + if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) { var totalDelta = this.mouseScrollDelta; - + this._resetMouseScrollState(); - + var success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage(); - + if (success) { this.mouseScrollTimeStamp = currentTime; } @@ -9008,11 +9008,11 @@ key: "_goToPreviousPage", value: function _goToPreviousPage() { var page = this.pdfViewer.currentPageNumber; - + if (page <= 1) { return false; } - + this.pdfViewer.currentPageNumber = page - 1; return true; } @@ -9020,11 +9020,11 @@ key: "_goToNextPage", value: function _goToNextPage() { var page = this.pdfViewer.currentPageNumber; - + if (page >= this.pdfViewer.pagesCount) { return false; } - + this.pdfViewer.currentPageNumber = page + 1; return true; } @@ -9041,16 +9041,16 @@ key: "_setSwitchInProgress", value: function _setSwitchInProgress() { var _this2 = this; - + if (this.switchInProgress) { clearTimeout(this.switchInProgress); } - + this.switchInProgress = setTimeout(function () { _this2._removeFullscreenChangeListeners(); - + delete _this2.switchInProgress; - + _this2._notifyStateChange(); }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS); } @@ -9066,23 +9066,23 @@ key: "_enter", value: function _enter() { var _this3 = this; - + this.active = true; - + this._resetSwitchInProgress(); - + this._notifyStateChange(); - + this.container.classList.add(ACTIVE_SELECTOR); setTimeout(function () { _this3.pdfViewer.currentPageNumber = _this3.args.page; _this3.pdfViewer.currentScaleValue = 'page-fit'; }, 0); - + this._addWindowListeners(); - + this._showControls(); - + this.contextMenuOpen = false; this.container.setAttribute('contextmenu', 'viewerContextMenu'); window.getSelection().removeAllRanges(); @@ -9091,27 +9091,27 @@ key: "_exit", value: function _exit() { var _this4 = this; - + var page = this.pdfViewer.currentPageNumber; this.container.classList.remove(ACTIVE_SELECTOR); setTimeout(function () { _this4.active = false; - + _this4._removeFullscreenChangeListeners(); - + _this4._notifyStateChange(); - + _this4.pdfViewer.currentScaleValue = _this4.args.previousScale; _this4.pdfViewer.currentPageNumber = page; _this4.args = null; }, 0); - + this._removeWindowListeners(); - + this._hideControls(); - + this._resetMouseScrollState(); - + this.container.removeAttribute('contextmenu'); this.contextMenuOpen = false; } @@ -9123,13 +9123,13 @@ evt.preventDefault(); return; } - + if (evt.button === 0) { var isInternalLink = evt.target.href && evt.target.classList.contains('internalLink'); - + if (!isInternalLink) { evt.preventDefault(); - + if (evt.shiftKey) { this._goToPreviousPage(); } else { @@ -9147,16 +9147,16 @@ key: "_showControls", value: function _showControls() { var _this5 = this; - + if (this.controlsTimeout) { clearTimeout(this.controlsTimeout); } else { this.container.classList.add(CONTROLS_SELECTOR); } - + this.controlsTimeout = setTimeout(function () { _this5.container.classList.remove(CONTROLS_SELECTOR); - + delete _this5.controlsTimeout; }, DELAY_BEFORE_HIDING_CONTROLS); } @@ -9166,7 +9166,7 @@ if (!this.controlsTimeout) { return; } - + clearTimeout(this.controlsTimeout); this.container.classList.remove(CONTROLS_SELECTOR); delete this.controlsTimeout; @@ -9183,12 +9183,12 @@ if (!this.active) { return; } - + if (evt.touches.length > 1) { this.touchSwipeState = null; return; } - + switch (evt.type) { case 'touchstart': this.touchSwipeState = { @@ -9198,39 +9198,39 @@ endY: evt.touches[0].pageY }; break; - + case 'touchmove': if (this.touchSwipeState === null) { return; } - + this.touchSwipeState.endX = evt.touches[0].pageX; this.touchSwipeState.endY = evt.touches[0].pageY; evt.preventDefault(); break; - + case 'touchend': if (this.touchSwipeState === null) { return; } - + var delta = 0; var dx = this.touchSwipeState.endX - this.touchSwipeState.startX; var dy = this.touchSwipeState.endY - this.touchSwipeState.startY; var absAngle = Math.abs(Math.atan2(dy, dx)); - + if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) { delta = dx; } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) { delta = dy; } - + if (delta > 0) { this._goToPreviousPage(); } else if (delta < 0) { this._goToNextPage(); } - + break; } } @@ -9303,46 +9303,46 @@ return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement); } }]); - + return PDFPresentationMode; }(); - + exports.PDFPresentationMode = PDFPresentationMode; - + /***/ }), /* 24 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFSidebarResizer = void 0; - + var _ui_utils = __webpack_require__(5); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var SIDEBAR_WIDTH_VAR = '--sidebar-width'; var SIDEBAR_MIN_WIDTH = 200; var SIDEBAR_RESIZING_CLASS = 'sidebarResizing'; - + var PDFSidebarResizer = /*#__PURE__*/ function () { function PDFSidebarResizer(options, eventBus) { var _this = this; - + var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n; - + _classCallCheck(this, PDFSidebarResizer); - + this.enabled = false; this.isRTL = false; this.sidebarOpen = false; @@ -9354,44 +9354,44 @@ this.resizer = options.resizer; this.eventBus = eventBus; this.l10n = l10n; - + if (typeof CSS === 'undefined' || typeof CSS.supports !== 'function' || !CSS.supports(SIDEBAR_WIDTH_VAR, "calc(-1 * ".concat(SIDEBAR_MIN_WIDTH, "px)"))) { console.warn('PDFSidebarResizer: ' + 'The browser does not support resizing of the sidebar.'); return; } - + this.enabled = true; this.resizer.classList.remove('hidden'); this.l10n.getDirection().then(function (dir) { _this.isRTL = dir === 'rtl'; }); - + this._addEventListeners(); } - + _createClass(PDFSidebarResizer, [{ key: "_updateWidth", value: function _updateWidth() { var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - + if (!this.enabled) { return false; } - + var maxWidth = Math.floor(this.outerContainerWidth / 2); - + if (width > maxWidth) { width = maxWidth; } - + if (width < SIDEBAR_MIN_WIDTH) { width = SIDEBAR_MIN_WIDTH; } - + if (width === this._width) { return false; } - + this._width = width; this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px")); return true; @@ -9400,11 +9400,11 @@ key: "_mouseMove", value: function _mouseMove(evt) { var width = evt.clientX; - + if (this.isRTL) { width = this.outerContainerWidth - width; } - + this._updateWidth(width); } }, { @@ -9422,11 +9422,11 @@ key: "_addEventListeners", value: function _addEventListeners() { var _this2 = this; - + if (!this.enabled) { return; } - + var _boundEvents = this._boundEvents; _boundEvents.mouseMove = this._mouseMove.bind(this); _boundEvents.mouseUp = this._mouseUp.bind(this); @@ -9434,9 +9434,9 @@ if (evt.button !== 0) { return; } - + _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); - + window.addEventListener('mousemove', _boundEvents.mouseMove); window.addEventListener('mouseup', _boundEvents.mouseUp); }); @@ -9446,16 +9446,16 @@ this.eventBus.on('resize', function (evt) { if (evt && evt.source === window) { _this2._outerContainerWidth = null; - + if (_this2._width) { if (_this2.sidebarOpen) { _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); - + var updated = _this2._updateWidth(_this2._width); - + Promise.resolve().then(function () { _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); - + if (updated) { _this2.eventBus.dispatch('resize', { source: _this2 @@ -9475,41 +9475,41 @@ if (!this._outerContainerWidth) { this._outerContainerWidth = this.outerContainer.clientWidth; } - + return this._outerContainerWidth; } }]); - + return PDFSidebarResizer; }(); - + exports.PDFSidebarResizer = PDFSidebarResizer; - + /***/ }), /* 25 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFThumbnailViewer = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdf_thumbnail_view = __webpack_require__(26); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var THUMBNAIL_SCROLL_MARGIN = -19; var THUMBNAIL_SELECTED_CLASS = 'selected'; - + var PDFThumbnailViewer = /*#__PURE__*/ function () { @@ -9519,18 +9519,18 @@ renderingQueue = _ref.renderingQueue, _ref$l10n = _ref.l10n, l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n; - + _classCallCheck(this, PDFThumbnailViewer); - + this.container = container; this.linkService = linkService; this.renderingQueue = renderingQueue; this.l10n = l10n; this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this)); - + this._resetView(); } - + _createClass(PDFThumbnailViewer, [{ key: "_scrollUpdated", value: function _scrollUpdated() { @@ -9552,29 +9552,29 @@ if (!this.pdfDocument) { return; } - + var thumbnailView = this._thumbnails[pageNumber - 1]; - + if (!thumbnailView) { console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.'); return; } - + if (pageNumber !== this._currentPageNumber) { var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1]; prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS); thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); } - + var visibleThumbs = this._getVisibleThumbs(); - + var numVisibleThumbs = visibleThumbs.views.length; - + if (numVisibleThumbs > 0) { var first = visibleThumbs.first.id; var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first; var shouldScroll = false; - + if (pageNumber <= first || pageNumber >= last) { shouldScroll = true; } else { @@ -9582,19 +9582,19 @@ if (view.id !== pageNumber) { return false; } - + shouldScroll = view.percent < 100; return true; }); } - + if (shouldScroll) { (0, _ui_utils.scrollIntoView)(thumbnailView.div, { top: THUMBNAIL_SCROLL_MARGIN }); } } - + this._currentPageNumber = pageNumber; } }, { @@ -9616,25 +9616,25 @@ key: "setDocument", value: function setDocument(pdfDocument) { var _this = this; - + if (this.pdfDocument) { this._cancelRendering(); - + this._resetView(); } - + this.pdfDocument = pdfDocument; - + if (!pdfDocument) { return; } - + pdfDocument.getPage(1).then(function (firstPage) { var pagesCount = pdfDocument.numPages; var viewport = firstPage.getViewport({ scale: 1 }); - + for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({ container: _this.container, @@ -9645,10 +9645,10 @@ disableCanvasToImageConversion: false, l10n: _this.l10n }); - + _this._thumbnails.push(thumbnail); } - + var thumbnailView = _this._thumbnails[_this._currentPageNumber - 1]; thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); })["catch"](function (reason) { @@ -9670,7 +9670,7 @@ if (!this.pdfDocument) { return; } - + if (!labels) { this._pageLabels = null; } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { @@ -9679,10 +9679,10 @@ } else { this._pageLabels = labels; } - + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { var label = this._pageLabels && this._pageLabels[i]; - + this._thumbnails[i].setPageLabel(label); } } @@ -9690,17 +9690,17 @@ key: "_ensurePdfPageLoaded", value: function _ensurePdfPageLoaded(thumbView) { var _this2 = this; - + if (thumbView.pdfPage) { return Promise.resolve(thumbView.pdfPage); } - + var pageNumber = thumbView.id; - + if (this._pagesRequests[pageNumber]) { return this._pagesRequests[pageNumber]; } - + var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) { thumbView.setPdfPage(pdfPage); _this2._pagesRequests[pageNumber] = null; @@ -9716,19 +9716,19 @@ key: "forceRendering", value: function forceRendering() { var _this3 = this; - + var visibleThumbs = this._getVisibleThumbs(); - + var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down); - + if (thumbView) { this._ensurePdfPageLoaded(thumbView).then(function () { _this3.renderingQueue.renderView(thumbView); }); - + return true; } - + return false; } }, { @@ -9740,67 +9740,67 @@ if (!(0, _ui_utils.isValidRotation)(rotation)) { throw new Error('Invalid thumbnails rotation angle.'); } - + if (!this.pdfDocument) { return; } - + if (this._pagesRotation === rotation) { return; } - + this._pagesRotation = rotation; - + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { this._thumbnails[i].update(rotation); } } }]); - + return PDFThumbnailViewer; }(); - + exports.PDFThumbnailViewer = PDFThumbnailViewer; - + /***/ }), /* 26 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFThumbnailView = void 0; - + var _pdfjsLib = __webpack_require__(7); - + var _ui_utils = __webpack_require__(5); - + var _pdf_rendering_queue = __webpack_require__(11); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var MAX_NUM_SCALING_STEPS = 3; var THUMBNAIL_CANVAS_BORDER_WIDTH = 1; var THUMBNAIL_WIDTH = 98; - + var TempImageFactory = function TempImageFactoryClosure() { var tempCanvasCache = null; return { getCanvas: function getCanvas(width, height) { var tempCanvas = tempCanvasCache; - + if (!tempCanvas) { tempCanvas = document.createElement('canvas'); tempCanvasCache = tempCanvas; } - + tempCanvas.width = width; tempCanvas.height = height; tempCanvas.mozOpaque = true; @@ -9815,17 +9815,17 @@ }, destroyCanvas: function destroyCanvas() { var tempCanvas = tempCanvasCache; - + if (tempCanvas) { tempCanvas.width = 0; tempCanvas.height = 0; } - + tempCanvasCache = null; } }; }(); - + var PDFThumbnailView = /*#__PURE__*/ function () { @@ -9839,9 +9839,9 @@ disableCanvasToImageConversion = _ref$disableCanvasToI === void 0 ? false : _ref$disableCanvasToI, _ref$l10n = _ref.l10n, l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n; - + _classCallCheck(this, PDFThumbnailView); - + this.id = id; this.renderingId = 'thumbnail' + id; this.pageLabel = null; @@ -9869,12 +9869,12 @@ }, 'Page {{page}}').then(function (msg) { anchor.title = msg; }); - + anchor.onclick = function () { linkService.page = id; return false; }; - + this.anchor = anchor; var div = document.createElement('div'); div.className = 'thumbnail'; @@ -9890,7 +9890,7 @@ anchor.appendChild(div); container.appendChild(anchor); } - + _createClass(PDFThumbnailView, [{ key: "setPdfPage", value: function setPdfPage(pdfPage) { @@ -9916,21 +9916,21 @@ this.div.removeAttribute('data-loaded'); var ring = this.ring; var childNodes = ring.childNodes; - + for (var i = childNodes.length - 1; i >= 0; i--) { ring.removeChild(childNodes[i]); } - + var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; ring.style.width = this.canvasWidth + borderAdjustment + 'px'; ring.style.height = this.canvasHeight + borderAdjustment + 'px'; - + if (this.canvas) { this.canvas.width = 0; this.canvas.height = 0; delete this.canvas; } - + if (this.image) { this.image.removeAttribute('src'); delete this.image; @@ -9942,7 +9942,7 @@ if (typeof rotation !== 'undefined') { this.rotation = rotation; } - + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; this.viewport = this.viewport.clone({ scale: 1, @@ -9957,7 +9957,7 @@ this.renderTask.cancel(); this.renderTask = null; } - + this.resume = null; } }, { @@ -9975,29 +9975,29 @@ canvas.height = this.canvasHeight * outputScale.sy | 0; canvas.style.width = this.canvasWidth + 'px'; canvas.style.height = this.canvasHeight + 'px'; - + if (!noCtxScale && outputScale.scaled) { ctx.scale(outputScale.sx, outputScale.sy); } - + return ctx; } }, { key: "_convertCanvasToImage", value: function _convertCanvasToImage() { var _this = this; - + if (!this.canvas) { return; } - + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { return; } - + var id = this.renderingId; var className = 'thumbnailImage'; - + if (this.disableCanvasToImageConversion) { this.canvas.id = id; this.canvas.className = className; @@ -10010,7 +10010,7 @@ this.ring.appendChild(this.canvas); return; } - + var image = document.createElement('img'); image.id = id; image.className = className; @@ -10033,57 +10033,57 @@ key: "draw", value: function draw() { var _this2 = this; - + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { console.error('Must be in new state before drawing'); return Promise.resolve(undefined); } - + this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; var renderCapability = (0, _pdfjsLib.createPromiseCapability)(); - + var finishRenderTask = function finishRenderTask(error) { if (renderTask === _this2.renderTask) { _this2.renderTask = null; } - + if (error instanceof _pdfjsLib.RenderingCancelledException) { renderCapability.resolve(undefined); return; } - + _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; - + _this2._convertCanvasToImage(); - + if (!error) { renderCapability.resolve(undefined); } else { renderCapability.reject(error); } }; - + var ctx = this._getPageDrawContext(); - + var drawViewport = this.viewport.clone({ scale: this.scale }); - + var renderContinueCallback = function renderContinueCallback(cont) { if (!_this2.renderingQueue.isHighestPriority(_this2)) { _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; - + _this2.resume = function () { _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; cont(); }; - + return; } - + cont(); }; - + var renderContext = { canvasContext: ctx, viewport: drawViewport @@ -10103,69 +10103,69 @@ if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { return; } - + var img = pageView.canvas; - + if (!img) { return; } - + if (!this.pdfPage) { this.setPdfPage(pageView.pdfPage); } - + this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; - + var ctx = this._getPageDrawContext(true); - + var canvas = ctx.canvas; - + if (img.width <= 2 * canvas.width) { ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height); - + this._convertCanvasToImage(); - + return; } - + var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; var reducedImage = TempImageFactory.getCanvas(reducedWidth, reducedHeight); var reducedImageCtx = reducedImage.getContext('2d'); - + while (reducedWidth > img.width || reducedHeight > img.height) { reducedWidth >>= 1; reducedHeight >>= 1; } - + reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight); - + while (reducedWidth > 2 * canvas.width) { reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1); reducedWidth >>= 1; reducedHeight >>= 1; } - + ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height); - + this._convertCanvasToImage(); } }, { key: "setPageLabel", value: function setPageLabel(label) { var _this3 = this; - + this.pageLabel = typeof label === 'string' ? label : null; this.l10n.get('thumb_page_title', { page: this.pageId }, 'Page {{page}}').then(function (msg) { _this3.anchor.title = msg; }); - + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { return; } - + this.l10n.get('thumb_page_canvas', { page: this.pageId }, 'Thumbnail of Page {{page}}').then(function (ariaLabel) { @@ -10187,61 +10187,61 @@ TempImageFactory.destroyCanvas(); } }]); - + return PDFThumbnailView; }(); - + exports.PDFThumbnailView = PDFThumbnailView; - + /***/ }), /* 27 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFViewer = void 0; - + var _base_viewer = __webpack_require__(28); - + var _pdfjsLib = __webpack_require__(7); - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - + function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - + var PDFViewer = /*#__PURE__*/ function (_BaseViewer) { _inherits(PDFViewer, _BaseViewer); - + function PDFViewer() { _classCallCheck(this, PDFViewer); - + return _possibleConstructorReturn(this, _getPrototypeOf(PDFViewer).apply(this, arguments)); } - + _createClass(PDFViewer, [{ key: "_scrollIntoView", value: function _scrollIntoView(_ref) { @@ -10250,14 +10250,14 @@ pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, _ref$pageNumber = _ref.pageNumber, pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; - + if (!pageSpot && !this.isInPresentationMode) { var left = pageDiv.offsetLeft + pageDiv.clientLeft; var right = left + pageDiv.clientWidth; var _this$container = this.container, scrollLeft = _this$container.scrollLeft, clientWidth = _this$container.clientWidth; - + if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) { pageSpot = { left: 0, @@ -10265,7 +10265,7 @@ }; } } - + _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, { pageDiv: pageDiv, pageSpot: pageSpot, @@ -10278,7 +10278,7 @@ if (this.isInPresentationMode) { return this._getCurrentVisiblePage(); } - + return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this); } }, { @@ -10287,21 +10287,21 @@ if (this.isInPresentationMode) { return; } - + var currentId = this._currentPageNumber; var stillFullyVisible = false; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; - + try { for (var _iterator = visiblePages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var page = _step.value; - + if (page.percent < 100) { break; } - + if (page.id === currentId) { stillFullyVisible = true; break; @@ -10321,11 +10321,11 @@ } } } - + if (!stillFullyVisible) { currentId = visiblePages[0].id; } - + this._setCurrentPageNumber(currentId); } }, { @@ -10334,108 +10334,108 @@ return (0, _pdfjsLib.shadow)(this, '_setDocumentViewerElement', this.viewer); } }]); - + return PDFViewer; }(_base_viewer.BaseViewer); - + exports.PDFViewer = PDFViewer; - + /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseViewer = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdf_rendering_queue = __webpack_require__(11); - + var _annotation_layer_builder = __webpack_require__(29); - + var _pdfjsLib = __webpack_require__(7); - + var _pdf_page_view = __webpack_require__(30); - + var _pdf_link_service = __webpack_require__(21); - + var _text_layer_builder = __webpack_require__(31); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var DEFAULT_CACHE_SIZE = 10; - + function PDFPageViewBuffer(size) { var data = []; - + this.push = function (view) { var i = data.indexOf(view); - + if (i >= 0) { data.splice(i, 1); } - + data.push(view); - + if (data.length > size) { data.shift().destroy(); } }; - + this.resize = function (newSize, pagesToKeep) { size = newSize; - + if (pagesToKeep) { var pageIdsToKeep = new Set(); - + for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) { pageIdsToKeep.add(pagesToKeep[i].id); } - + (0, _ui_utils.moveToEndOfArray)(data, function (page) { return pageIdsToKeep.has(page.id); }); } - + while (data.length > size) { data.shift().destroy(); } }; } - + function isSameScale(oldScale, newScale) { if (newScale === oldScale) { return true; } - + if (Math.abs(newScale - oldScale) < 1e-15) { return true; } - + return false; } - + var BaseViewer = /*#__PURE__*/ function () { function BaseViewer(options) { var _this = this; - + _classCallCheck(this, BaseViewer); - + if (this.constructor === BaseViewer) { throw new Error('Cannot initialize BaseViewer.'); } - + this._name = this.constructor.name; this.container = options.container; this.viewer = options.viewer || options.container.firstElementChild; @@ -10454,31 +10454,31 @@ this.maxCanvasPixels = options.maxCanvasPixels; this.l10n = options.l10n || _ui_utils.NullL10n; this.defaultRenderingQueue = !options.renderingQueue; - + if (this.defaultRenderingQueue) { this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); this.renderingQueue.setViewer(this); } else { this.renderingQueue = options.renderingQueue; } - + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this)); this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN; this._onBeforeDraw = this._onAfterDraw = null; - + this._resetView(); - + if (this.removePageBorders) { this.viewer.classList.add('removePageBorders'); } - + Promise.resolve().then(function () { _this.eventBus.dispatch('baseviewerinit', { source: _this }); }); } - + _createClass(BaseViewer, [{ key: "getPageView", value: function getPageView(index) { @@ -10488,59 +10488,59 @@ key: "_setCurrentPageNumber", value: function _setCurrentPageNumber(val) { var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - + if (this._currentPageNumber === val) { if (resetCurrentPageView) { this._resetCurrentPageView(); } - + return true; } - + if (!(0 < val && val <= this.pagesCount)) { return false; } - + this._currentPageNumber = val; this.eventBus.dispatch('pagechanging', { source: this, pageNumber: val, pageLabel: this._pageLabels && this._pageLabels[val - 1] }); - + if (resetCurrentPageView) { this._resetCurrentPageView(); } - + return true; } }, { key: "setDocument", value: function setDocument(pdfDocument) { var _this2 = this; - + if (this.pdfDocument) { this._cancelRendering(); - + this._resetView(); - + if (this.findController) { this.findController.setDocument(null); } } - + this.pdfDocument = pdfDocument; - + if (!pdfDocument) { return; } - + var pagesCount = pdfDocument.numPages; var pagesCapability = (0, _pdfjsLib.createPromiseCapability)(); this.pagesPromise = pagesCapability.promise; pagesCapability.promise.then(function () { _this2._pageViewsReady = true; - + _this2.eventBus.dispatch('pagesloaded', { source: _this2, pagesCount: pagesCount @@ -10550,45 +10550,45 @@ this.onePageRendered = onePageRenderedCapability.promise; var firstPagePromise = pdfDocument.getPage(1); this.firstPagePromise = firstPagePromise; - + this._onBeforeDraw = function (evt) { var pageView = _this2._pages[evt.pageNumber - 1]; - + if (!pageView) { return; } - + _this2._buffer.push(pageView); }; - + this.eventBus.on('pagerender', this._onBeforeDraw); - + this._onAfterDraw = function (evt) { if (evt.cssTransform || onePageRenderedCapability.settled) { return; } - + onePageRenderedCapability.resolve(); - + _this2.eventBus.off('pagerendered', _this2._onAfterDraw); - + _this2._onAfterDraw = null; }; - + this.eventBus.on('pagerendered', this._onAfterDraw); firstPagePromise.then(function (pdfPage) { var scale = _this2.currentScale; var viewport = pdfPage.getViewport({ scale: scale * _ui_utils.CSS_UNITS }); - + for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { var textLayerFactory = null; - + if (_this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE) { textLayerFactory = _this2; } - + var pageView = new _pdf_page_view.PDFPageView({ container: _this2._setDocumentViewerElement, eventBus: _this2.eventBus, @@ -10607,57 +10607,57 @@ maxCanvasPixels: _this2.maxCanvasPixels, l10n: _this2.l10n }); - + _this2._pages.push(pageView); } - + if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) { _this2._updateSpreadMode(); } - + onePageRenderedCapability.promise.then(function () { if (_this2.findController) { _this2.findController.setDocument(pdfDocument); } - + if (pdfDocument.loadingParams['disableAutoFetch']) { pagesCapability.resolve(); return; } - + var getPagesLeft = pagesCount; - + var _loop = function _loop(_pageNum) { pdfDocument.getPage(_pageNum).then(function (pdfPage) { var pageView = _this2._pages[_pageNum - 1]; - + if (!pageView.pdfPage) { pageView.setPdfPage(pdfPage); } - + _this2.linkService.cachePageRef(_pageNum, pdfPage.ref); - + if (--getPagesLeft === 0) { pagesCapability.resolve(); } }, function (reason) { console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason); - + if (--getPagesLeft === 0) { pagesCapability.resolve(); } }); }; - + for (var _pageNum = 1; _pageNum <= pagesCount; ++_pageNum) { _loop(_pageNum); } }); - + _this2.eventBus.dispatch('pagesinit', { source: _this2 }); - + if (_this2.defaultRenderingQueue) { _this2.update(); } @@ -10671,7 +10671,7 @@ if (!this.pdfDocument) { return; } - + if (!labels) { this._pageLabels = null; } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { @@ -10680,7 +10680,7 @@ } else { this._pageLabels = labels; } - + for (var i = 0, ii = this._pages.length; i < ii; i++) { var pageView = this._pages[i]; var label = this._pageLabels && this._pageLabels[i]; @@ -10702,19 +10702,19 @@ this._pageViewsReady = false; this._scrollMode = _ui_utils.ScrollMode.VERTICAL; this._spreadMode = _ui_utils.SpreadMode.NONE; - + if (this._onBeforeDraw) { this.eventBus.off('pagerender', this._onBeforeDraw); this._onBeforeDraw = null; } - + if (this._onAfterDraw) { this.eventBus.off('pagerendered', this._onAfterDraw); this._onAfterDraw = null; } - + this.viewer.textContent = ''; - + this._updateScrollMode(); } }, { @@ -10723,7 +10723,7 @@ if (this.pagesCount === 0) { return; } - + this.update(); } }, { @@ -10742,7 +10742,7 @@ var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; this._currentScaleValue = newValue.toString(); - + if (isSameScale(this._currentScale, newScale)) { if (preset) { this.eventBus.dispatch('scalechanging', { @@ -10751,40 +10751,40 @@ presetValue: newValue }); } - + return; } - + for (var i = 0, ii = this._pages.length; i < ii; i++) { this._pages[i].update(newScale); } - + this._currentScale = newScale; - + if (!noScroll) { var page = this._currentPageNumber, dest; - + if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) { page = this._location.pageNumber; dest = [null, { name: 'XYZ' }, this._location.left, this._location.top, null]; } - + this.scrollPageIntoView({ pageNumber: page, destArray: dest, allowNegativeOffset: true }); } - + this.eventBus.dispatch('scalechanging', { source: this, scale: newScale, presetValue: preset ? newValue : undefined }); - + if (this.defaultRenderingQueue) { this.update(); } @@ -10794,56 +10794,56 @@ value: function _setScale(value) { var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var scale = parseFloat(value); - + if (scale > 0) { this._setScaleUpdatePages(scale, value, noScroll, false); } else { var currentPage = this._pages[this._currentPageNumber - 1]; - + if (!currentPage) { return; } - + var noPadding = this.isInPresentationMode || this.removePageBorders; var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING; var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING; - + if (!noPadding && this._isScrollModeHorizontal) { var _ref2 = [vPadding, hPadding]; hPadding = _ref2[0]; vPadding = _ref2[1]; } - + var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale; var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale; - + switch (value) { case 'page-actual': scale = 1; break; - + case 'page-width': scale = pageWidthScale; break; - + case 'page-height': scale = pageHeightScale; break; - + case 'page-fit': scale = Math.min(pageWidthScale, pageHeightScale); break; - + case 'auto': var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale); scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale); break; - + default: console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value.")); return; } - + this._setScaleUpdatePages(scale, value, noScroll, true); } } @@ -10853,9 +10853,9 @@ if (this.isInPresentationMode) { this._setScale(this._currentScaleValue, true); } - + var pageView = this._pages[this._currentPageNumber - 1]; - + this._scrollIntoView({ pageDiv: pageView.div }); @@ -10868,24 +10868,24 @@ destArray = _ref3$destArray === void 0 ? null : _ref3$destArray, _ref3$allowNegativeOf = _ref3.allowNegativeOffset, allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf; - + if (!this.pdfDocument) { return; } - + var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1]; - + if (!pageView) { console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); return; } - + if (this.isInPresentationMode || !destArray) { this._setCurrentPageNumber(pageNumber, true); - + return; } - + var x = 0, y = 0; var width = 0, @@ -10896,7 +10896,7 @@ var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS; var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS; var scale = 0; - + switch (destArray[1].name) { case 'XYZ': x = destArray[2]; @@ -10905,24 +10905,24 @@ x = x !== null ? x : 0; y = y !== null ? y : pageHeight; break; - + case 'Fit': case 'FitB': scale = 'page-fit'; break; - + case 'FitH': case 'FitBH': y = destArray[2]; scale = 'page-width'; - + if (y === null && this._location) { x = this._location.left; y = this._location.top; } - + break; - + case 'FitV': case 'FitBV': x = destArray[2]; @@ -10930,7 +10930,7 @@ height = pageHeight; scale = 'page-height'; break; - + case 'FitR': x = destArray[2]; y = destArray[3]; @@ -10942,36 +10942,36 @@ heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS; scale = Math.min(Math.abs(widthScale), Math.abs(heightScale)); break; - + default: console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type.")); return; } - + if (scale && scale !== this._currentScale) { this.currentScaleValue = scale; } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) { this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; } - + if (scale === 'page-fit' && !destArray[4]) { this._scrollIntoView({ pageDiv: pageView.div, pageNumber: pageNumber }); - + return; } - + var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)]; var left = Math.min(boundingRect[0][0], boundingRect[1][0]); var top = Math.min(boundingRect[0][1], boundingRect[1][1]); - + if (!allowNegativeOffset) { left = Math.max(left, 0); top = Math.max(top, 0); } - + this._scrollIntoView({ pageDiv: pageView.div, pageSpot: { @@ -11014,24 +11014,24 @@ key: "update", value: function update() { var visible = this._getVisiblePages(); - + var visiblePages = visible.views, numVisiblePages = visiblePages.length; - + if (numVisiblePages === 0) { return; } - + var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1); - + this._buffer.resize(newCacheSize, visiblePages); - + this.renderingQueue.renderHighestPriority(visible); - + this._updateHelper(visiblePages); - + this._updateLocation(visible.first); - + this.eventBus.dispatch('updateviewarea', { source: this, location: this._location @@ -11055,7 +11055,7 @@ views: [] }; } - + var pageView = this._pages[this._currentPageNumber - 1]; var element = pageView.div; var view = { @@ -11081,12 +11081,12 @@ if (!this.pdfDocument) { return false; } - + if (this.pageNumber < 1 || pageNumber > this.pagesCount) { console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is out of bounds.")); return false; } - + return this._getVisiblePages().views.some(function (view) { return view.id === pageNumber; }); @@ -11113,22 +11113,22 @@ key: "_ensurePdfPageLoaded", value: function _ensurePdfPageLoaded(pageView) { var _this3 = this; - + if (pageView.pdfPage) { return Promise.resolve(pageView.pdfPage); } - + var pageNumber = pageView.id; - + if (this._pagesRequests[pageNumber]) { return this._pagesRequests[pageNumber]; } - + var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) { if (!pageView.pdfPage) { pageView.setPdfPage(pdfPage); } - + _this3._pagesRequests[pageNumber] = null; return pdfPage; })["catch"](function (reason) { @@ -11142,20 +11142,20 @@ key: "forceRendering", value: function forceRendering(currentlyVisiblePages) { var _this4 = this; - + var visiblePages = currentlyVisiblePages || this._getVisiblePages(); - + var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down; var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead); - + if (pageView) { this._ensurePdfPageLoaded(pageView).then(function () { _this4.renderingQueue.renderView(pageView); }); - + return true; } - + return false; } }, { @@ -11200,23 +11200,23 @@ rotation: viewport.rotation }; }); - + if (!this.enablePrintAutoRotate) { return pagesOverview; } - + var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]); return pagesOverview.map(function (size) { if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) { return size; } - + return { width: size.height, height: size.width, rotation: (size.rotation + 90) % 360 }; - + }); } }, { @@ -11227,32 +11227,32 @@ viewer = this.viewer; viewer.classList.toggle('scrollHorizontal', scrollMode === _ui_utils.ScrollMode.HORIZONTAL); viewer.classList.toggle('scrollWrapped', scrollMode === _ui_utils.ScrollMode.WRAPPED); - + if (!this.pdfDocument || !pageNumber) { return; } - + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { this._setScale(this._currentScaleValue, true); } - + this._setCurrentPageNumber(pageNumber, true); - + this.update(); } }, { key: "_updateSpreadMode", value: function _updateSpreadMode() { var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - + if (!this.pdfDocument) { return; } - + var viewer = this.viewer, pages = this._pages; viewer.textContent = ''; - + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { for (var i = 0, iMax = pages.length; i < iMax; ++i) { viewer.appendChild(pages[i].div); @@ -11260,7 +11260,7 @@ } else { var parity = this._spreadMode - 1; var spread = null; - + for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) { if (spread === null) { spread = document.createElement('div'); @@ -11270,17 +11270,17 @@ spread = spread.cloneNode(false); viewer.appendChild(spread); } - + spread.appendChild(pages[_i].div); } } - + if (!pageNumber) { return; } - + this._setCurrentPageNumber(pageNumber, true); - + this.update(); } }, { @@ -11302,11 +11302,11 @@ if (!Number.isInteger(val)) { throw new Error('Invalid page number.'); } - + if (!this.pdfDocument) { return; } - + if (!this._setCurrentPageNumber(val, true)) { console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page.")); } @@ -11320,17 +11320,17 @@ if (!this.pdfDocument) { return; } - + var page = val | 0; - + if (this._pageLabels) { var i = this._pageLabels.indexOf(val); - + if (i >= 0) { page = i + 1; } } - + if (!this._setCurrentPageNumber(page, true)) { console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page.")); } @@ -11344,11 +11344,11 @@ if (isNaN(val)) { throw new Error('Invalid numeric scale.'); } - + if (!this.pdfDocument) { return; } - + this._setScale(val, false); } }, { @@ -11360,7 +11360,7 @@ if (!this.pdfDocument) { return; } - + this._setScale(val, false); } }, { @@ -11372,33 +11372,33 @@ if (!(0, _ui_utils.isValidRotation)(rotation)) { throw new Error('Invalid pages rotation angle.'); } - + if (!this.pdfDocument) { return; } - + if (this._pagesRotation === rotation) { return; } - + this._pagesRotation = rotation; var pageNumber = this._currentPageNumber; - + for (var i = 0, ii = this._pages.length; i < ii; i++) { var pageView = this._pages[i]; pageView.update(pageView.scale, rotation); } - + if (this._currentScaleValue) { this._setScale(this._currentScaleValue, true); } - + this.eventBus.dispatch('rotationchanging', { source: this, pagesRotation: rotation, pageNumber: pageNumber }); - + if (this.defaultRenderingQueue) { this.update(); } @@ -11437,15 +11437,15 @@ key: "hasEqualPageSizes", get: function get() { var firstPageView = this._pages[0]; - + for (var i = 1, ii = this._pages.length; i < ii; ++i) { var pageView = this._pages[i]; - + if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) { return false; } } - + return true; } }, { @@ -11457,17 +11457,17 @@ if (this._scrollMode === mode) { return; } - + if (!(0, _ui_utils.isValidScrollMode)(mode)) { throw new Error("Invalid scroll mode: ".concat(mode)); } - + this._scrollMode = mode; this.eventBus.dispatch('scrollmodechanged', { source: this, mode: mode }); - + this._updateScrollMode(this._currentPageNumber); } }, { @@ -11479,50 +11479,50 @@ if (this._spreadMode === mode) { return; } - + if (!(0, _ui_utils.isValidSpreadMode)(mode)) { throw new Error("Invalid spread mode: ".concat(mode)); } - + this._spreadMode = mode; this.eventBus.dispatch('spreadmodechanged', { source: this, mode: mode }); - + this._updateSpreadMode(this._currentPageNumber); } }]); - + return BaseViewer; }(); - + exports.BaseViewer = BaseViewer; - + /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0; - + var _pdfjsLib = __webpack_require__(7); - + var _ui_utils = __webpack_require__(5); - + var _pdf_link_service = __webpack_require__(21); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var AnnotationLayerBuilder = /*#__PURE__*/ function () { @@ -11537,9 +11537,9 @@ renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv, _ref$l10n = _ref.l10n, l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n; - + _classCallCheck(this, AnnotationLayerBuilder); - + this.pageDiv = pageDiv; this.pdfPage = pdfPage; this.linkService = linkService; @@ -11550,12 +11550,12 @@ this.div = null; this._cancelled = false; } - + _createClass(AnnotationLayerBuilder, [{ key: "render", value: function render(viewport) { var _this = this; - + var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'display'; this.pdfPage.getAnnotations({ intent: intent @@ -11563,7 +11563,7 @@ if (_this._cancelled) { return; } - + var parameters = { viewport: viewport.clone({ dontFlip: true @@ -11576,23 +11576,23 @@ linkService: _this.linkService, downloadManager: _this.downloadManager }; - + if (_this.div) { _pdfjsLib.AnnotationLayer.update(parameters); } else { if (annotations.length === 0) { return; } - + _this.div = document.createElement('div'); _this.div.className = 'annotationLayer'; - + _this.pageDiv.appendChild(_this.div); - + parameters.div = _this.div; - + _pdfjsLib.AnnotationLayer.render(parameters); - + _this.l10n.translate(_this.div); } }); @@ -11608,23 +11608,23 @@ if (!this.div) { return; } - + this.div.setAttribute('hidden', 'true'); } }]); - + return AnnotationLayerBuilder; }(); - + exports.AnnotationLayerBuilder = AnnotationLayerBuilder; - + var DefaultAnnotationLayerFactory = /*#__PURE__*/ function () { function DefaultAnnotationLayerFactory() { _classCallCheck(this, DefaultAnnotationLayerFactory); } - + _createClass(DefaultAnnotationLayerFactory, [{ key: "createAnnotationLayerBuilder", value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { @@ -11641,54 +11641,54 @@ }); } }]); - + return DefaultAnnotationLayerFactory; }(); - + exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory; - + /***/ }), /* 30 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFPageView = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + var _ui_utils = __webpack_require__(5); - + var _pdfjsLib = __webpack_require__(7); - + var _pdf_rendering_queue = __webpack_require__(11); - + var _viewer_compatibility = __webpack_require__(8); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216; - + var PDFPageView = /*#__PURE__*/ function () { function PDFPageView(options) { _classCallCheck(this, PDFPageView); - + var container = options.container; var defaultViewport = options.defaultViewport; this.id = options.id; @@ -11728,7 +11728,7 @@ this.div = div; container.appendChild(div); } - + _createClass(PDFPageView, [{ key: "setPdfPage", value: function setPdfPage(pdfPage) { @@ -11746,7 +11746,7 @@ key: "destroy", value: function destroy() { this.reset(); - + if (this.pdfPage) { this.pdfPage.cleanup(); } @@ -11755,20 +11755,20 @@ key: "_resetZoomLayer", value: function _resetZoomLayer() { var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - + if (!this.zoomLayer) { return; } - + var zoomLayerCanvas = this.zoomLayer.firstChild; this.paintedViewportMap["delete"](zoomLayerCanvas); zoomLayerCanvas.width = 0; zoomLayerCanvas.height = 0; - + if (removeFromDOM) { this.zoomLayer.remove(); } - + this.zoomLayer = null; } }, { @@ -11784,26 +11784,26 @@ var childNodes = div.childNodes; var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null; var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null; - + for (var i = childNodes.length - 1; i >= 0; i--) { var node = childNodes[i]; - + if (currentZoomLayerNode === node || currentAnnotationNode === node) { continue; } - + div.removeChild(node); } - + div.removeAttribute('data-loaded'); - + if (currentAnnotationNode) { this.annotationLayer.hide(); } else if (this.annotationLayer) { this.annotationLayer.cancel(); this.annotationLayer = null; } - + if (!currentZoomLayerNode) { if (this.canvas) { this.paintedViewportMap["delete"](this.canvas); @@ -11811,15 +11811,15 @@ this.canvas.height = 0; delete this.canvas; } - + this._resetZoomLayer(); } - + if (this.svg) { this.paintedViewportMap["delete"](this.svg); delete this.svg; } - + this.loadingIconDiv = document.createElement('div'); this.loadingIconDiv.className = 'loadingIcon'; div.appendChild(this.loadingIconDiv); @@ -11828,17 +11828,17 @@ key: "update", value: function update(scale, rotation) { this.scale = scale || this.scale; - + if (typeof rotation !== 'undefined') { this.rotation = rotation; } - + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; this.viewport = this.viewport.clone({ scale: this.scale * _ui_utils.CSS_UNITS, rotation: totalRotation }); - + if (this.svg) { this.cssTransform(this.svg, true); this.eventBus.dispatch('pagerendered', { @@ -11849,17 +11849,17 @@ }); return; } - + var isScalingRestricted = false; - + if (this.canvas && this.maxCanvasPixels > 0) { var outputScale = this.outputScale; - + if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) { isScalingRestricted = true; } } - + if (this.canvas) { if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) { this.cssTransform(this.canvas, true); @@ -11871,36 +11871,36 @@ }); return; } - + if (!this.zoomLayer && !this.canvas.hasAttribute('hidden')) { this.zoomLayer = this.canvas.parentNode; this.zoomLayer.style.position = 'absolute'; } } - + if (this.zoomLayer) { this.cssTransform(this.zoomLayer.firstChild); } - + this.reset(true, true); } }, { key: "cancelRendering", value: function cancelRendering() { var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - + if (this.paintTask) { this.paintTask.cancel(); this.paintTask = null; } - + this.resume = null; - + if (this.textLayer) { this.textLayer.cancel(); this.textLayer = null; } - + if (!keepAnnotations && this.annotationLayer) { this.annotationLayer.cancel(); this.annotationLayer = null; @@ -11919,57 +11919,57 @@ var absRotation = Math.abs(relativeRotation); var scaleX = 1, scaleY = 1; - + if (absRotation === 90 || absRotation === 270) { scaleX = height / width; scaleY = width / height; } - + var cssTransform = 'rotate(' + relativeRotation + 'deg) ' + 'scale(' + scaleX + ',' + scaleY + ')'; target.style.transform = cssTransform; - + if (this.textLayer) { var textLayerViewport = this.textLayer.viewport; var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation; var textAbsRotation = Math.abs(textRelativeRotation); var scale = width / textLayerViewport.width; - + if (textAbsRotation === 90 || textAbsRotation === 270) { scale = width / textLayerViewport.height; } - + var textLayerDiv = this.textLayer.textLayerDiv; var transX, transY; - + switch (textAbsRotation) { case 0: transX = transY = 0; break; - + case 90: transX = 0; transY = '-' + textLayerDiv.style.height; break; - + case 180: transX = '-' + textLayerDiv.style.width; transY = '-' + textLayerDiv.style.height; break; - + case 270: transX = '-' + textLayerDiv.style.width; transY = 0; break; - + default: console.error('Bad rotation value.'); break; } - + textLayerDiv.style.transform = 'rotate(' + textAbsRotation + 'deg) ' + 'scale(' + scale + ', ' + scale + ') ' + 'translate(' + transX + ', ' + transY + ')'; textLayerDiv.style.transformOrigin = '0% 0%'; } - + if (redrawAnnotations && this.annotationLayer) { this.annotationLayer.render(this.viewport, 'display'); } @@ -11983,17 +11983,17 @@ key: "draw", value: function draw() { var _this = this; - + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { console.error('Must be in new state before drawing'); this.reset(); } - + if (!this.pdfPage) { this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; return Promise.reject(new Error('Page is not loaded')); } - + this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; var pdfPage = this.pdfPage; var div = this.div; @@ -12001,50 +12001,50 @@ canvasWrapper.style.width = div.style.width; canvasWrapper.style.height = div.style.height; canvasWrapper.classList.add('canvasWrapper'); - + if (this.annotationLayer && this.annotationLayer.div) { div.insertBefore(canvasWrapper, this.annotationLayer.div); } else { div.appendChild(canvasWrapper); } - + var textLayer = null; - + if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) { var textLayerDiv = document.createElement('div'); textLayerDiv.className = 'textLayer'; textLayerDiv.style.width = canvasWrapper.style.width; textLayerDiv.style.height = canvasWrapper.style.height; - + if (this.annotationLayer && this.annotationLayer.div) { div.insertBefore(textLayerDiv, this.annotationLayer.div); } else { div.appendChild(textLayerDiv); } - + textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE); } - + this.textLayer = textLayer; var renderContinueCallback = null; - + if (this.renderingQueue) { renderContinueCallback = function renderContinueCallback(cont) { if (!_this.renderingQueue.isHighestPriority(_this)) { _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; - + _this.resume = function () { _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; cont(); }; - + return; } - + cont(); }; } - + var finishPaintTask = /*#__PURE__*/ function () { @@ -12058,42 +12058,42 @@ if (paintTask === _this.paintTask) { _this.paintTask = null; } - + if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { _context.next = 4; break; } - + _this.error = null; return _context.abrupt("return"); - + case 4: _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; - + if (_this.loadingIconDiv) { div.removeChild(_this.loadingIconDiv); delete _this.loadingIconDiv; } - + _this._resetZoomLayer(true); - + _this.error = error; _this.stats = pdfPage.stats; - + _this.eventBus.dispatch('pagerendered', { source: _this, pageNumber: _this.id, cssTransform: false, timestamp: performance.now() }); - + if (!error) { _context.next = 12; break; } - + throw error; - + case 12: case "end": return _context.stop(); @@ -12101,12 +12101,12 @@ } }, _callee); })); - + return function finishPaintTask(_x) { return _ref.apply(this, arguments); }; }(); - + var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper); paintTask.onRenderContinue = renderContinueCallback; this.paintTask = paintTask; @@ -12123,15 +12123,15 @@ }, function (reason) { return finishPaintTask(reason); }); - + if (this.annotationLayerFactory) { if (!this.annotationLayer) { this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n); } - + this.annotationLayer.render(this.viewport, 'display'); } - + div.setAttribute('data-loaded', true); this.eventBus.dispatch('pagerender', { source: this, @@ -12157,14 +12157,14 @@ canvas.id = this.renderingId; canvas.setAttribute('hidden', 'hidden'); var isCanvasHidden = true; - + var showCanvas = function showCanvas() { if (isCanvasHidden) { canvas.removeAttribute('hidden'); isCanvasHidden = false; } }; - + canvasWrapper.appendChild(canvas); this.canvas = canvas; canvas.mozOpaque = true; @@ -12173,7 +12173,7 @@ }); var outputScale = (0, _ui_utils.getOutputScale)(ctx); this.outputScale = outputScale; - + if (this.useOnlyCssZoom) { var actualSizeViewport = viewport.clone({ scale: _ui_utils.CSS_UNITS @@ -12182,11 +12182,11 @@ outputScale.sy *= actualSizeViewport.height / viewport.height; outputScale.scaled = true; } - + if (this.maxCanvasPixels > 0) { var pixelsInViewport = viewport.width * viewport.height; var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport); - + if (outputScale.sx > maxScale || outputScale.sy > maxScale) { outputScale.sx = maxScale; outputScale.sy = maxScale; @@ -12196,7 +12196,7 @@ this.hasRestrictedScaling = false; } } - + var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx); var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy); canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]); @@ -12213,17 +12213,17 @@ renderInteractiveForms: this.renderInteractiveForms }; var renderTask = this.pdfPage.render(renderContext); - + renderTask.onContinue = function (cont) { showCanvas(); - + if (result.onRenderContinue) { result.onRenderContinue(cont); } else { cont(); } }; - + renderTask.promise.then(function () { showCanvas(); renderCapability.resolve(undefined); @@ -12237,15 +12237,15 @@ key: "paintOnSvg", value: function paintOnSvg(wrapper) { var _this2 = this; - + var cancelled = false; - + var ensureNotCancelled = function ensureNotCancelled() { if (cancelled) { throw new _pdfjsLib.RenderingCancelledException('Rendering cancelled, page ' + _this2.id, 'svg'); } }; - + var pdfPage = this.pdfPage; var actualSizeViewport = this.viewport.clone({ scale: _ui_utils.CSS_UNITS @@ -12256,9 +12256,9 @@ return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) { ensureNotCancelled(); _this2.svg = svg; - + _this2.paintedViewportMap.set(svg, actualSizeViewport); - + svg.style.width = wrapper.style.width; svg.style.height = wrapper.style.height; _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; @@ -12279,7 +12279,7 @@ key: "setPageLabel", value: function setPageLabel(label) { this.pageLabel = typeof label === 'string' ? label : null; - + if (this.pageLabel !== null) { this.div.setAttribute('data-page-label', this.pageLabel); } else { @@ -12297,36 +12297,36 @@ return this.viewport.height; } }]); - + return PDFPageView; }(); - + exports.PDFPageView = PDFPageView; - + /***/ }), /* 31 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdfjsLib = __webpack_require__(7); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var EXPAND_DIVS_TIMEOUT = 300; - + var TextLayerBuilder = /*#__PURE__*/ function () { @@ -12339,9 +12339,9 @@ findController = _ref$findController === void 0 ? null : _ref$findController, _ref$enhanceTextSelec = _ref.enhanceTextSelection, enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec; - + _classCallCheck(this, TextLayerBuilder); - + this.textLayerDiv = textLayerDiv; this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)(); this.textContent = null; @@ -12357,21 +12357,21 @@ this.textLayerRenderTask = null; this.enhanceTextSelection = enhanceTextSelection; this._onUpdateTextLayerMatches = null; - + this._bindMouse(); } - + _createClass(TextLayerBuilder, [{ key: "_finishRendering", value: function _finishRendering() { this.renderingDone = true; - + if (!this.enhanceTextSelection) { var endOfContent = document.createElement('div'); endOfContent.className = 'endOfContent'; this.textLayerDiv.appendChild(endOfContent); } - + this.eventBus.dispatch('textlayerrendered', { source: this, pageNumber: this.pageNumber, @@ -12382,13 +12382,13 @@ key: "render", value: function render() { var _this = this; - + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - + if (!(this.textContent || this.textContentStream) || this.renderingDone) { return; } - + this.cancel(); this.textDivs = []; var textLayerFrag = document.createDocumentFragment(); @@ -12404,19 +12404,19 @@ }); this.textLayerRenderTask.promise.then(function () { _this.textLayerDiv.appendChild(textLayerFrag); - + _this._finishRendering(); - + _this._updateMatches(); }, function (reason) {}); - + if (!this._onUpdateTextLayerMatches) { this._onUpdateTextLayerMatches = function (evt) { if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) { _this._updateMatches(); } }; - + this.eventBus.on('updatetextlayermatches', this._onUpdateTextLayerMatches); } } @@ -12427,7 +12427,7 @@ this.textLayerRenderTask.cancel(); this.textLayerRenderTask = null; } - + if (this._onUpdateTextLayerMatches) { this.eventBus.off('updatetextlayermatches', this._onUpdateTextLayerMatches); this._onUpdateTextLayerMatches = null; @@ -12451,7 +12451,7 @@ if (!matches) { return []; } - + var findController = this.findController, textContentItemsStr = this.textContentItemsStr; var i = 0, @@ -12459,44 +12459,44 @@ var end = textContentItemsStr.length - 1; var queryLen = findController.state.query.length; var result = []; - + for (var m = 0, mm = matches.length; m < mm; m++) { var matchIdx = matches[m]; - + while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) { iIndex += textContentItemsStr[i].length; i++; } - + if (i === textContentItemsStr.length) { console.error('Could not find a matching mapping'); } - + var match = { begin: { divIdx: i, offset: matchIdx - iIndex } }; - + if (matchesLength) { matchIdx += matchesLength[m]; } else { matchIdx += queryLen; } - + while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) { iIndex += textContentItemsStr[i].length; i++; } - + match.end = { divIdx: i, offset: matchIdx - iIndex }; result.push(match); } - + return result; } }, { @@ -12505,7 +12505,7 @@ if (matches.length === 0) { return; } - + var findController = this.findController, pageIdx = this.pageIdx, textContentItemsStr = this.textContentItemsStr, @@ -12518,18 +12518,18 @@ divIdx: -1, offset: undefined }; - + function beginText(begin, className) { var divIdx = begin.divIdx; textDivs[divIdx].textContent = ''; appendTextToDiv(divIdx, 0, begin.offset, className); } - + function appendTextToDiv(divIdx, fromOffset, toOffset, className) { var div = textDivs[divIdx]; var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset); var node = document.createTextNode(content); - + if (className) { var span = document.createElement('span'); span.className = className; @@ -12537,27 +12537,27 @@ div.appendChild(span); return; } - + div.appendChild(node); } - + var i0 = selectedMatchIdx, i1 = i0 + 1; - + if (highlightAll) { i0 = 0; i1 = matches.length; } else if (!isSelectedPage) { return; } - + for (var i = i0; i < i1; i++) { var match = matches[i]; var begin = match.begin; var end = match.end; var isSelected = isSelectedPage && i === selectedMatchIdx; var highlightSuffix = isSelected ? ' selected' : ''; - + if (isSelected) { findController.scrollMatchIntoView({ element: textDivs[begin.divIdx], @@ -12565,32 +12565,32 @@ matchIndex: selectedMatchIdx }); } - + if (!prevEnd || begin.divIdx !== prevEnd.divIdx) { if (prevEnd !== null) { appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); } - + beginText(begin); } else { appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset); } - + if (begin.divIdx === end.divIdx) { appendTextToDiv(begin.divIdx, begin.offset, end.offset, 'highlight' + highlightSuffix); } else { appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, 'highlight begin' + highlightSuffix); - + for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) { textDivs[n0].className = 'highlight middle' + highlightSuffix; } - + beginText(end, 'highlight end' + highlightSuffix); } - + prevEnd = end; } - + if (prevEnd) { appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); } @@ -12601,71 +12601,71 @@ if (!this.renderingDone) { return; } - + var findController = this.findController, matches = this.matches, pageIdx = this.pageIdx, textContentItemsStr = this.textContentItemsStr, textDivs = this.textDivs; var clearedUntilDivIdx = -1; - + for (var i = 0, ii = matches.length; i < ii; i++) { var match = matches[i]; var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx); - + for (var n = begin, end = match.end.divIdx; n <= end; n++) { var div = textDivs[n]; div.textContent = textContentItemsStr[n]; div.className = ''; } - + clearedUntilDivIdx = match.end.divIdx + 1; } - + if (!findController || !findController.highlightMatches) { return; } - + var pageMatches = findController.pageMatches[pageIdx] || null; var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null; this.matches = this._convertMatches(pageMatches, pageMatchesLength); - + this._renderMatches(this.matches); } }, { key: "_bindMouse", value: function _bindMouse() { var _this2 = this; - + var div = this.textLayerDiv; var expandDivsTimer = null; div.addEventListener('mousedown', function (evt) { if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { _this2.textLayerRenderTask.expandTextDivs(true); - + if (expandDivsTimer) { clearTimeout(expandDivsTimer); expandDivsTimer = null; } - + return; } - + var end = div.querySelector('.endOfContent'); - + if (!end) { return; } - + var adjustTop = evt.target !== div; adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue('-moz-user-select') !== 'none'; - + if (adjustTop) { var divBounds = div.getBoundingClientRect(); var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height); end.style.top = (r * 100).toFixed(2) + '%'; } - + end.classList.add('active'); }); div.addEventListener('mouseup', function () { @@ -12674,36 +12674,36 @@ if (_this2.textLayerRenderTask) { _this2.textLayerRenderTask.expandTextDivs(false); } - + expandDivsTimer = null; }, EXPAND_DIVS_TIMEOUT); return; } - + var end = div.querySelector('.endOfContent'); - + if (!end) { return; } - + end.style.top = ''; end.classList.remove('active'); }); } }]); - + return TextLayerBuilder; }(); - + exports.TextLayerBuilder = TextLayerBuilder; - + var DefaultTextLayerFactory = /*#__PURE__*/ function () { function DefaultTextLayerFactory() { _classCallCheck(this, DefaultTextLayerFactory); } - + _createClass(DefaultTextLayerFactory, [{ key: "createTextLayerBuilder", value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) { @@ -12716,44 +12716,44 @@ }); } }]); - + return DefaultTextLayerFactory; }(); - + exports.DefaultTextLayerFactory = DefaultTextLayerFactory; - + /***/ }), /* 32 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.SecondaryToolbar = void 0; - + var _ui_utils = __webpack_require__(5); - + var _pdf_cursor_tools = __webpack_require__(9); - + var _pdf_single_page_viewer = __webpack_require__(33); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var SecondaryToolbar = /*#__PURE__*/ function () { function SecondaryToolbar(options, mainContainer, eventBus) { var _this = this; - + _classCallCheck(this, SecondaryToolbar); - + this.toolbar = options.toolbar; this.toggleButton = options.toggleButton; this.toolbarButtonContainer = options.toolbarButtonContainer; @@ -12866,15 +12866,15 @@ this.containerHeight = null; this.previousContainerHeight = null; this.reset(); - + this._bindClickListeners(); - + this._bindCursorToolsListener(options); - + this._bindScrollModeListener(options); - + this._bindSpreadModeListener(options); - + this.eventBus.on('resize', this._setMaxHeight.bind(this)); this.eventBus.on('baseviewerinit', function (evt) { if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) { @@ -12884,19 +12884,19 @@ } }); } - + _createClass(SecondaryToolbar, [{ key: "setPageNumber", value: function setPageNumber(pageNumber) { this.pageNumber = pageNumber; - + this._updateUIState(); } }, { key: "setPagesCount", value: function setPagesCount(pagesCount) { this.pagesCount = pagesCount; - + this._updateUIState(); } }, { @@ -12904,9 +12904,9 @@ value: function reset() { this.pageNumber = 0; this.pagesCount = 0; - + this._updateUIState(); - + this.eventBus.dispatch('secondarytoolbarreset', { source: this }); @@ -12923,9 +12923,9 @@ key: "_bindClickListeners", value: function _bindClickListeners() { var _this2 = this; - + this.toggleButton.addEventListener('click', this.toggle.bind(this)); - + var _loop = function _loop(button) { var _this2$buttons$button = _this2.buttons[button], element = _this2$buttons$button.element, @@ -12937,20 +12937,20 @@ var details = { source: _this2 }; - + for (var property in eventDetails) { details[property] = eventDetails[property]; } - + _this2.eventBus.dispatch(eventName, details); } - + if (close) { _this2.close(); } }); }; - + for (var button in this.buttons) { _loop(button); } @@ -12968,7 +12968,7 @@ key: "_bindScrollModeListener", value: function _bindScrollModeListener(buttons) { var _this3 = this; - + function scrollModeChanged(_ref2) { var mode = _ref2.mode; buttons.scrollVerticalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.VERTICAL); @@ -12979,7 +12979,7 @@ buttons.spreadOddButton.disabled = isScrollModeHorizontal; buttons.spreadEvenButton.disabled = isScrollModeHorizontal; } - + this.eventBus.on('scrollmodechanged', scrollModeChanged); this.eventBus.on('secondarytoolbarreset', function (evt) { if (evt.source === _this3) { @@ -12993,14 +12993,14 @@ key: "_bindSpreadModeListener", value: function _bindSpreadModeListener(buttons) { var _this4 = this; - + function spreadModeChanged(_ref3) { var mode = _ref3.mode; buttons.spreadNoneButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.NONE); buttons.spreadOddButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.ODD); buttons.spreadEvenButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.EVEN); } - + this.eventBus.on('spreadmodechanged', spreadModeChanged); this.eventBus.on('secondarytoolbarreset', function (evt) { if (evt.source === _this4) { @@ -13016,11 +13016,11 @@ if (this.opened) { return; } - + this.opened = true; - + this._setMaxHeight(); - + this.toggleButton.classList.add('toggled'); this.toolbar.classList.remove('hidden'); } @@ -13030,7 +13030,7 @@ if (!this.opened) { return; } - + this.opened = false; this.toolbar.classList.add('hidden'); this.toggleButton.classList.remove('toggled'); @@ -13050,13 +13050,13 @@ if (!this.opened) { return; } - + this.containerHeight = this.mainContainer.clientHeight; - + if (this.containerHeight === this.previousContainerHeight) { return; } - + this.toolbarButtonContainer.setAttribute('style', 'max-height: ' + (this.containerHeight - _ui_utils.SCROLLBAR_PADDING) + 'px;'); this.previousContainerHeight = this.containerHeight; } @@ -13066,74 +13066,74 @@ return this.opened; } }]); - + return SecondaryToolbar; }(); - + exports.SecondaryToolbar = SecondaryToolbar; - + /***/ }), /* 33 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFSinglePageViewer = void 0; - + var _base_viewer = __webpack_require__(28); - + var _pdfjsLib = __webpack_require__(7); - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - + function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - + var PDFSinglePageViewer = /*#__PURE__*/ function (_BaseViewer) { _inherits(PDFSinglePageViewer, _BaseViewer); - + function PDFSinglePageViewer(options) { var _this; - + _classCallCheck(this, PDFSinglePageViewer); - + _this = _possibleConstructorReturn(this, _getPrototypeOf(PDFSinglePageViewer).call(this, options)); - + _this.eventBus.on('pagesinit', function (evt) { _this._ensurePageViewVisible(); }); - + return _this; } - + _createClass(PDFSinglePageViewer, [{ key: "_resetView", value: function _resetView() { _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this); - + this._previousPageNumber = 1; this._shadowViewer = document.createDocumentFragment(); this._updateScrollDown = null; @@ -13144,31 +13144,31 @@ var pageView = this._pages[this._currentPageNumber - 1]; var previousPageView = this._pages[this._previousPageNumber - 1]; var viewerNodes = this.viewer.childNodes; - + switch (viewerNodes.length) { case 0: this.viewer.appendChild(pageView.div); break; - + case 1: if (viewerNodes[0] !== previousPageView.div) { throw new Error('_ensurePageViewVisible: Unexpected previously visible page.'); } - + if (pageView === previousPageView) { break; } - + this._shadowViewer.appendChild(previousPageView.div); - + this.viewer.appendChild(pageView.div); this.container.scrollTop = 0; break; - + default: throw new Error('_ensurePageViewVisible: Only one page should be visible at a time.'); } - + this._previousPageNumber = this._currentPageNumber; } }, { @@ -13177,36 +13177,36 @@ if (this._updateScrollDown) { this._updateScrollDown(); } - + _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this); } }, { key: "_scrollIntoView", value: function _scrollIntoView(_ref) { var _this2 = this; - + var pageDiv = _ref.pageDiv, _ref$pageSpot = _ref.pageSpot, pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, _ref$pageNumber = _ref.pageNumber, pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; - + if (pageNumber) { this._setCurrentPageNumber(pageNumber); } - + var scrolledDown = this._currentPageNumber >= this._previousPageNumber; - + this._ensurePageViewVisible(); - + this.update(); - + _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, { pageDiv: pageDiv, pageSpot: pageSpot, pageNumber: pageNumber }); - + this._updateScrollDown = function () { _this2.scroll.down = scrolledDown; _this2._updateScrollDown = null; @@ -13237,60 +13237,60 @@ return (0, _pdfjsLib.shadow)(this, '_isScrollModeHorizontal', false); } }]); - + return PDFSinglePageViewer; }(_base_viewer.BaseViewer); - + exports.PDFSinglePageViewer = PDFSinglePageViewer; - + /***/ }), /* 34 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.Toolbar = void 0; - + var _ui_utils = __webpack_require__(5); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var PAGE_NUMBER_LOADING_INDICATOR = 'visiblePageIsLoading'; var SCALE_SELECT_CONTAINER_PADDING = 8; var SCALE_SELECT_PADDING = 22; - + var Toolbar = /*#__PURE__*/ function () { function Toolbar(options, eventBus) { var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n; - + _classCallCheck(this, Toolbar); - + this.toolbar = options.container; this.eventBus = eventBus; this.l10n = l10n; this.items = options; this._wasLocalized = false; this.reset(); - + this._bindListeners(); } - + _createClass(Toolbar, [{ key: "setPageNumber", value: function setPageNumber(pageNumber, pageLabel) { this.pageNumber = pageNumber; this.pageLabel = pageLabel; - + this._updateUIState(false); } }, { @@ -13298,7 +13298,7 @@ value: function setPagesCount(pagesCount, hasPageLabels) { this.pagesCount = pagesCount; this.hasPageLabels = hasPageLabels; - + this._updateUIState(true); } }, { @@ -13306,7 +13306,7 @@ value: function setPageScale(pageScaleValue, pageScale) { this.pageScaleValue = (pageScaleValue || pageScale).toString(); this.pageScale = pageScale; - + this._updateUIState(false); } }, { @@ -13318,16 +13318,16 @@ this.pagesCount = 0; this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; this.pageScale = _ui_utils.DEFAULT_SCALE; - + this._updateUIState(true); - + this.updateLoadingIndicatorState(); } }, { key: "_bindListeners", value: function _bindListeners() { var _this = this; - + var eventBus = this.eventBus, items = this.items; var self = this; @@ -13364,7 +13364,7 @@ if (this.value === 'custom') { return; } - + eventBus.dispatch('scalechanged', { source: self, value: this.value @@ -13399,26 +13399,26 @@ key: "_localized", value: function _localized() { this._wasLocalized = true; - + this._adjustScaleWidth(); - + this._updateUIState(true); } }, { key: "_updateUIState", value: function _updateUIState() { var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - + if (!this._wasLocalized) { return; } - + var pageNumber = this.pageNumber, pagesCount = this.pagesCount, pageScaleValue = this.pageScaleValue, pageScale = this.pageScale, items = this.items; - + if (resetNumPages) { if (this.hasPageLabels) { items.pageNumber.type = 'text'; @@ -13430,10 +13430,10 @@ items.numPages.textContent = msg; }); } - + items.pageNumber.max = pagesCount; } - + if (this.hasPageLabels) { items.pageNumber.value = this.pageLabel; this.l10n.get('page_of_pages', { @@ -13445,7 +13445,7 @@ } else { items.pageNumber.value = pageNumber; } - + items.previous.disabled = pageNumber <= 1; items.next.disabled = pageNumber >= pagesCount; items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE; @@ -13456,19 +13456,19 @@ }, '{{scale}}%').then(function (msg) { var options = items.scaleSelect.options; var predefinedValueFound = false; - + for (var i = 0, ii = options.length; i < ii; i++) { var option = options[i]; - + if (option.value !== pageScaleValue) { option.selected = false; continue; } - + option.selected = true; predefinedValueFound = true; } - + if (!predefinedValueFound) { items.customScaleOption.textContent = msg; items.customScaleOption.selected = true; @@ -13487,12 +13487,12 @@ value: function _adjustScaleWidth() { var container = this.items.scaleSelectContainer; var select = this.items.scaleSelect; - + _ui_utils.animationStarted.then(function () { if (container.clientWidth === 0) { container.setAttribute('style', 'display: inherit;'); } - + if (container.clientWidth > 0) { select.setAttribute('style', 'min-width: inherit;'); var width = select.clientWidth + SCALE_SELECT_CONTAINER_PADDING; @@ -13502,55 +13502,55 @@ }); } }]); - + return Toolbar; }(); - + exports.Toolbar = Toolbar; - + /***/ }), /* 35 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.ViewHistory = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; - + var ViewHistory = /*#__PURE__*/ function () { function ViewHistory(fingerprint) { var _this = this; - + var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE; - + _classCallCheck(this, ViewHistory); - + this.fingerprint = fingerprint; this.cacheSize = cacheSize; this._initializedPromise = this._readFromStorage().then(function (databaseStr) { var database = JSON.parse(databaseStr || '{}'); - + if (!('files' in database)) { database.files = []; } else { @@ -13558,29 +13558,29 @@ database.files.shift(); } } - + var index = -1; - + for (var i = 0, length = database.files.length; i < length; i++) { var branch = database.files[i]; - + if (branch.fingerprint === _this.fingerprint) { index = i; break; } } - + if (index === -1) { index = database.files.push({ fingerprint: _this.fingerprint }) - 1; } - + _this.file = database.files[index]; _this.database = database; }); } - + _createClass(ViewHistory, [{ key: "_writeToStorage", value: function () { @@ -13594,7 +13594,7 @@ case 0: databaseStr = JSON.stringify(this.database); localStorage.setItem('pdfjs.history', databaseStr); - + case 2: case "end": return _context.stop(); @@ -13602,11 +13602,11 @@ } }, _callee, this); })); - + function _writeToStorage() { return _writeToStorage2.apply(this, arguments); } - + return _writeToStorage; }() }, { @@ -13620,7 +13620,7 @@ switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", localStorage.getItem('pdfjs.history')); - + case 1: case "end": return _context2.stop(); @@ -13628,11 +13628,11 @@ } }, _callee2); })); - + function _readFromStorage() { return _readFromStorage2.apply(this, arguments); } - + return _readFromStorage; }() }, { @@ -13647,11 +13647,11 @@ case 0: _context3.next = 2; return this._initializedPromise; - + case 2: this.file[name] = val; return _context3.abrupt("return", this._writeToStorage()); - + case 4: case "end": return _context3.stop(); @@ -13659,11 +13659,11 @@ } }, _callee3, this); })); - + function set(_x, _x2) { return _set.apply(this, arguments); } - + return set; }() }, { @@ -13679,14 +13679,14 @@ case 0: _context4.next = 2; return this._initializedPromise; - + case 2: for (name in properties) { this.file[name] = properties[name]; } - + return _context4.abrupt("return", this._writeToStorage()); - + case 4: case "end": return _context4.stop(); @@ -13694,11 +13694,11 @@ } }, _callee4, this); })); - + function setMultiple(_x3) { return _setMultiple.apply(this, arguments); } - + return setMultiple; }() }, { @@ -13714,11 +13714,11 @@ case 0: _context5.next = 2; return this._initializedPromise; - + case 2: val = this.file[name]; return _context5.abrupt("return", val !== undefined ? val : defaultValue); - + case 4: case "end": return _context5.stop(); @@ -13726,11 +13726,11 @@ } }, _callee5, this); })); - + function get(_x4, _x5) { return _get.apply(this, arguments); } - + return get; }() }, { @@ -13746,17 +13746,17 @@ case 0: _context6.next = 2; return this._initializedPromise; - + case 2: values = Object.create(null); - + for (name in properties) { val = this.file[name]; values[name] = val !== undefined ? val : properties[name]; } - + return _context6.abrupt("return", values); - + case 5: case "end": return _context6.stop(); @@ -13764,81 +13764,81 @@ } }, _callee6, this); })); - + function getMultiple(_x6) { return _getMultiple.apply(this, arguments); } - + return getMultiple; }() }]); - + return ViewHistory; }(); - + exports.ViewHistory = ViewHistory; - + /***/ }), /* 36 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.GenericCom = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + var _app = __webpack_require__(1); - + var _preferences = __webpack_require__(37); - + var _download_manager = __webpack_require__(38); - + var _genericl10n = __webpack_require__(39); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - + function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - + ; var GenericCom = {}; exports.GenericCom = GenericCom; - + var GenericPreferences = /*#__PURE__*/ function (_BasePreferences) { _inherits(GenericPreferences, _BasePreferences); - + function GenericPreferences() { _classCallCheck(this, GenericPreferences); - + return _possibleConstructorReturn(this, _getPrototypeOf(GenericPreferences).apply(this, arguments)); } - + _createClass(GenericPreferences, [{ key: "_writeToStorage", value: function () { @@ -13850,7 +13850,7 @@ switch (_context.prev = _context.next) { case 0: localStorage.setItem('pdfjs.preferences', JSON.stringify(prefObj)); - + case 1: case "end": return _context.stop(); @@ -13858,11 +13858,11 @@ } }, _callee); })); - + function _writeToStorage(_x) { return _writeToStorage2.apply(this, arguments); } - + return _writeToStorage; }() }, { @@ -13876,7 +13876,7 @@ switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", JSON.parse(localStorage.getItem('pdfjs.preferences'))); - + case 1: case "end": return _context2.stop(); @@ -13884,66 +13884,66 @@ } }, _callee2); })); - + function _readFromStorage(_x2) { return _readFromStorage2.apply(this, arguments); } - + return _readFromStorage; }() }]); - + return GenericPreferences; }(_preferences.BasePreferences); - + var GenericExternalServices = Object.create(_app.DefaultExternalServices); - + GenericExternalServices.createDownloadManager = function (options) { return new _download_manager.DownloadManager(options); }; - + GenericExternalServices.createPreferences = function () { return new GenericPreferences(); }; - + GenericExternalServices.createL10n = function (_ref) { var _ref$locale = _ref.locale, locale = _ref$locale === void 0 ? 'en-US' : _ref$locale; return new _genericl10n.GenericL10n(locale); }; - + _app.PDFViewerApplication.externalServices = GenericExternalServices; - + /***/ }), /* 37 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.BasePreferences = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var defaultPreferences = null; - + function getDefaultPreferences() { if (!defaultPreferences) { defaultPreferences = Promise.resolve({ @@ -13970,22 +13970,22 @@ "disableStream": true }); } - + return defaultPreferences; } - + var BasePreferences = /*#__PURE__*/ function () { function BasePreferences() { var _this = this; - + _classCallCheck(this, BasePreferences); - + if (this.constructor === BasePreferences) { throw new Error('Cannot initialize BasePreferences.'); } - + this.prefs = null; this._initializedPromise = getDefaultPreferences().then(function (defaults) { Object.defineProperty(_this, 'defaults', { @@ -14000,20 +14000,20 @@ if (!prefs) { return; } - + for (var name in prefs) { var defaultValue = _this.defaults[name], prefValue = prefs[name]; - + if (defaultValue === undefined || _typeof(prefValue) !== _typeof(defaultValue)) { continue; } - + _this.prefs[name] = prefValue; } }); } - + _createClass(BasePreferences, [{ key: "_writeToStorage", value: function () { @@ -14025,7 +14025,7 @@ switch (_context.prev = _context.next) { case 0: throw new Error('Not implemented: _writeToStorage'); - + case 1: case "end": return _context.stop(); @@ -14033,11 +14033,11 @@ } }, _callee); })); - + function _writeToStorage(_x) { return _writeToStorage2.apply(this, arguments); } - + return _writeToStorage; }() }, { @@ -14051,7 +14051,7 @@ switch (_context2.prev = _context2.next) { case 0: throw new Error('Not implemented: _readFromStorage'); - + case 1: case "end": return _context2.stop(); @@ -14059,11 +14059,11 @@ } }, _callee2); })); - + function _readFromStorage(_x2) { return _readFromStorage2.apply(this, arguments); } - + return _readFromStorage; }() }, { @@ -14078,11 +14078,11 @@ case 0: _context3.next = 2; return this._initializedPromise; - + case 2: this.prefs = Object.assign(Object.create(null), this.defaults); return _context3.abrupt("return", this._writeToStorage(this.defaults)); - + case 4: case "end": return _context3.stop(); @@ -14090,11 +14090,11 @@ } }, _callee3, this); })); - + function reset() { return _reset.apply(this, arguments); } - + return reset; }() }, { @@ -14110,62 +14110,62 @@ case 0: _context4.next = 2; return this._initializedPromise; - + case 2: defaultValue = this.defaults[name]; - + if (!(defaultValue === undefined)) { _context4.next = 7; break; } - + throw new Error("Set preference: \"".concat(name, "\" is undefined.")); - + case 7: if (!(value === undefined)) { _context4.next = 9; break; } - + throw new Error('Set preference: no value is specified.'); - + case 9: valueType = _typeof(value); defaultType = _typeof(defaultValue); - + if (!(valueType !== defaultType)) { _context4.next = 19; break; } - + if (!(valueType === 'number' && defaultType === 'string')) { _context4.next = 16; break; } - + value = value.toString(); _context4.next = 17; break; - + case 16: throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", ") + "expected a ".concat(defaultType, ".")); - + case 17: _context4.next = 21; break; - + case 19: if (!(valueType === 'number' && !Number.isInteger(value))) { _context4.next = 21; break; } - + throw new Error("Set preference: \"".concat(value, "\" must be an integer.")); - + case 21: this.prefs[name] = value; return _context4.abrupt("return", this._writeToStorage(this.prefs)); - + case 23: case "end": return _context4.stop(); @@ -14173,11 +14173,11 @@ } }, _callee4, this); })); - + function set(_x3, _x4) { return _set.apply(this, arguments); } - + return set; }() }, { @@ -14193,30 +14193,30 @@ case 0: _context5.next = 2; return this._initializedPromise; - + case 2: defaultValue = this.defaults[name]; - + if (!(defaultValue === undefined)) { _context5.next = 7; break; } - + throw new Error("Get preference: \"".concat(name, "\" is undefined.")); - + case 7: prefValue = this.prefs[name]; - + if (!(prefValue !== undefined)) { _context5.next = 10; break; } - + return _context5.abrupt("return", prefValue); - + case 10: return _context5.abrupt("return", defaultValue); - + case 11: case "end": return _context5.stop(); @@ -14224,11 +14224,11 @@ } }, _callee5, this); })); - + function get(_x5) { return _get.apply(this, arguments); } - + return get; }() }, { @@ -14243,10 +14243,10 @@ case 0: _context6.next = 2; return this._initializedPromise; - + case 2: return _context6.abrupt("return", Object.assign(Object.create(null), this.defaults, this.prefs)); - + case 3: case "end": return _context6.stop(); @@ -14254,81 +14254,81 @@ } }, _callee6, this); })); - + function getAll() { return _getAll.apply(this, arguments); } - + return getAll; }() }]); - + return BasePreferences; }(); - + exports.BasePreferences = BasePreferences; - + /***/ }), /* 38 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.DownloadManager = void 0; - + var _pdfjsLib = __webpack_require__(7); - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + ; var DISABLE_CREATE_OBJECT_URL = _pdfjsLib.apiCompatibilityParams.disableCreateObjectURL || false; - + function _download(blobUrl, filename) { var a = document.createElement('a'); - + if (!a.click) { throw new Error('DownloadManager: "a.click()" is not supported.'); } - + a.href = blobUrl; a.target = '_parent'; - + if ('download' in a) { a.download = filename; } - + (document.body || document.documentElement).appendChild(a); a.click(); a.remove(); } - + var DownloadManager = /*#__PURE__*/ function () { function DownloadManager(_ref) { var _ref$disableCreateObj = _ref.disableCreateObjectURL, disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : _ref$disableCreateObj; - + _classCallCheck(this, DownloadManager); - + this.disableCreateObjectURL = disableCreateObjectURL; } - + _createClass(DownloadManager, [{ key: "downloadUrl", value: function downloadUrl(url, filename) { if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, 'http://example.com')) { return; } - + _download(url + '#pdfjs.action=download', filename); } }, { @@ -14340,9 +14340,9 @@ }), filename); return; } - + var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL); - + _download(blobUrl, filename); } }, { @@ -14352,62 +14352,62 @@ if (!navigator.msSaveBlob(blob, filename)) { this.downloadUrl(url, filename); } - + return; } - + if (this.disableCreateObjectURL) { this.downloadUrl(url, filename); return; } - + var blobUrl = URL.createObjectURL(blob); - + _download(blobUrl, filename); } }]); - + return DownloadManager; }(); - + exports.DownloadManager = DownloadManager; - + /***/ }), /* 39 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.GenericL10n = void 0; - + var _regenerator = _interopRequireDefault(__webpack_require__(2)); - + __webpack_require__(40); - + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } - + function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } - + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - + function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - + var webL10n = document.webL10n; - + var GenericL10n = /*#__PURE__*/ function () { function GenericL10n(lang) { _classCallCheck(this, GenericL10n); - + this._lang = lang; this._ready = new Promise(function (resolve, reject) { webL10n.setLanguage(lang, function () { @@ -14415,7 +14415,7 @@ }); }); } - + _createClass(GenericL10n, [{ key: "getLanguage", value: function () { @@ -14429,11 +14429,11 @@ case 0: _context.next = 2; return this._ready; - + case 2: l10n = _context.sent; return _context.abrupt("return", l10n.getLanguage()); - + case 4: case "end": return _context.stop(); @@ -14441,11 +14441,11 @@ } }, _callee, this); })); - + function getLanguage() { return _getLanguage.apply(this, arguments); } - + return getLanguage; }() }, { @@ -14461,11 +14461,11 @@ case 0: _context2.next = 2; return this._ready; - + case 2: l10n = _context2.sent; return _context2.abrupt("return", l10n.getDirection()); - + case 4: case "end": return _context2.stop(); @@ -14473,11 +14473,11 @@ } }, _callee2, this); })); - + function getDirection() { return _getDirection.apply(this, arguments); } - + return getDirection; }() }, { @@ -14493,11 +14493,11 @@ case 0: _context3.next = 2; return this._ready; - + case 2: l10n = _context3.sent; return _context3.abrupt("return", l10n.get(property, args, fallback)); - + case 4: case "end": return _context3.stop(); @@ -14505,11 +14505,11 @@ } }, _callee3, this); })); - + function get(_x, _x2, _x3) { return _get.apply(this, arguments); } - + return get; }() }, { @@ -14525,11 +14525,11 @@ case 0: _context4.next = 2; return this._ready; - + case 2: l10n = _context4.sent; return _context4.abrupt("return", l10n.translate(element)); - + case 4: case "end": return _context4.stop(); @@ -14537,27 +14537,27 @@ } }, _callee4, this); })); - + function translate(_x4) { return _translate.apply(this, arguments); } - + return translate; }() }]); - + return GenericL10n; }(); - + exports.GenericL10n = GenericL10n; - + /***/ }), /* 40 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + document.webL10n = function (window, document, undefined) { var gL10nData = {}; var gTextData = ''; @@ -14566,26 +14566,26 @@ var gMacros = {}; var gReadyState = 'loading'; var gAsyncResourceLoading = true; - + function getL10nResourceLinks() { return document.querySelectorAll('link[type="application/l10n"]'); } - + function getL10nDictionary() { var script = document.querySelector('script[type="application/l10n"]'); return script ? JSON.parse(script.innerHTML) : null; } - + function getTranslatableChildren(element) { return element ? element.querySelectorAll('*[data-l10n-id]') : []; } - + function getL10nAttributes(element) { if (!element) return {}; var l10nId = element.getAttribute('data-l10n-id'); var l10nArgs = element.getAttribute('data-l10n-args'); var args = {}; - + if (l10nArgs) { try { args = JSON.parse(l10nArgs); @@ -14593,25 +14593,25 @@ console.warn('could not parse arguments for #' + l10nId); } } - + return { id: l10nId, args: args }; } - + function xhrLoadText(url, onSuccess, onFailure) { onSuccess = onSuccess || function _onSuccess(data) {}; - + onFailure = onFailure || function _onFailure() {}; - + var xhr = new XMLHttpRequest(); xhr.open('GET', url, gAsyncResourceLoading); - + if (xhr.overrideMimeType) { xhr.overrideMimeType('text/plain; charset=utf-8'); } - + xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200 || xhr.status === 0) { @@ -14621,25 +14621,25 @@ } } }; - + xhr.onerror = onFailure; xhr.ontimeout = onFailure; - + try { xhr.send(null); } catch (e) { onFailure(); } } - + function parseResource(href, lang, successCallback, failureCallback) { var baseURL = href.replace(/[^\/]*$/, '') || './'; - + function evalString(text) { if (text.lastIndexOf('\\') < 0) return text; return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'"); } - + function parseProperties(text, parsedPropertiesCallback) { var dictionary = {}; var reBlank = /^\s*|\s*$/; @@ -14647,27 +14647,27 @@ var reSection = /^\s*\[(.*)\]\s*$/; var reImport = /^\s*@import\s+url\((.*)\)\s*$/i; var reSplit = /^([^=\s]*)\s*=\s*(.+)$/; - + function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) { var entries = rawText.replace(reBlank, '').split(/[\r\n]+/); var currentLang = '*'; var genericLang = lang.split('-', 1)[0]; var skipLang = false; var match = ''; - + function nextEntry() { while (true) { if (!entries.length) { parsedRawLinesCallback(); return; } - + var line = entries.shift(); if (reComment.test(line)) continue; - + if (extendedSyntax) { match = reSection.exec(line); - + if (match) { currentLang = match[1].toLowerCase(); skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang; @@ -14675,26 +14675,26 @@ } else if (skipLang) { continue; } - + match = reImport.exec(line); - + if (match) { loadImport(baseURL + match[1], nextEntry); return; } } - + var tmp = line.match(reSplit); - + if (tmp && tmp.length == 3) { dictionary[tmp[1]] = evalString(tmp[2]); } } } - + nextEntry(); } - + function loadImport(url, callback) { xhrLoadText(url, function (content) { parseRawLines(content, false, callback); @@ -14703,12 +14703,12 @@ callback(); }); } - + parseRawLines(text, true, function () { parsedPropertiesCallback(dictionary); }); } - + xhrLoadText(href, function (response) { gTextData += response; parseProperties(response, function (data) { @@ -14716,7 +14716,7 @@ var id, prop, index = key.lastIndexOf('.'); - + if (index > 0) { id = key.substring(0, index); prop = key.substring(index + 1); @@ -14724,46 +14724,46 @@ id = key; prop = gTextProp; } - + if (!gL10nData[id]) { gL10nData[id] = {}; } - + gL10nData[id][prop] = data[key]; } - + if (successCallback) { successCallback(); } }); }, failureCallback); } - + function loadLocale(lang, callback) { if (lang) { lang = lang.toLowerCase(); } - + callback = callback || function _callback() {}; - + clear(); gLanguage = lang; var langLinks = getL10nResourceLinks(); var langCount = langLinks.length; - + if (langCount === 0) { var dict = getL10nDictionary(); - + if (dict && dict.locales && dict.default_locale) { - + gL10nData = dict.locales[lang]; - + if (!gL10nData) { var defaultLocale = dict.default_locale.toLowerCase(); - + for (var anyCaseLang in dict.locales) { anyCaseLang = anyCaseLang.toLowerCase(); - + if (anyCaseLang === lang) { gL10nData = dict.locales[lang]; break; @@ -14772,31 +14772,31 @@ } } } - + callback(); } else { - + } - + gReadyState = 'complete'; return; } - + var onResourceLoaded = null; var gResourceCount = 0; - + onResourceLoaded = function onResourceLoaded() { gResourceCount++; - + if (gResourceCount >= langCount) { callback(); gReadyState = 'complete'; } }; - + function L10nResourceLink(link) { var href = link.href; - + this.load = function (lang, callback) { parseResource(href, lang, callback, function () { console.warn(href + ' not found.'); @@ -14806,19 +14806,19 @@ }); }; } - + for (var i = 0; i < langCount; i++) { var resource = new L10nResourceLink(langLinks[i]); resource.load(lang, onResourceLoaded); } } - + function clear() { gL10nData = {}; gTextData = ''; gLanguage = ''; } - + function getPluralRules(lang) { var locales2rules = { 'af': 3, @@ -14992,15 +14992,15 @@ 'zh': 0, 'zu': 3 }; - + function isIn(n, list) { return list.indexOf(n) !== -1; } - + function isBetween(n, start, end) { return start <= n && n <= end; } - + var pluralRules = { '0': function _(n) { return 'other'; @@ -15137,28 +15137,28 @@ } }; var index = locales2rules[lang.replace(/-.*$/, '')]; - + if (!(index in pluralRules)) { console.warn('plural form unknown for [' + lang + ']'); return function () { return 'other'; }; } - + return pluralRules[index]; } - + gMacros.plural = function (str, param, key, prop) { var n = parseFloat(param); if (isNaN(n)) return str; if (prop != gTextProp) return str; - + if (!gMacros._pluralRules) { gMacros._pluralRules = getPluralRules(gLanguage); } - + var index = '[' + gMacros._pluralRules(n) + ']'; - + if (n === 0 && key + '[zero]' in gL10nData) { str = gL10nData[key + '[zero]'][prop]; } else if (n == 1 && key + '[one]' in gL10nData) { @@ -15170,35 +15170,35 @@ } else if (key + '[other]' in gL10nData) { str = gL10nData[key + '[other]'][prop]; } - + return str; }; - + function getL10nData(key, args, fallback) { var data = gL10nData[key]; - + if (!data) { console.warn('#' + key + ' is undefined.'); - + if (!fallback) { return null; } - + data = fallback; } - + var rv = {}; - + for (var prop in data) { var str = data[prop]; str = substIndexes(str, args, key, prop); str = substArguments(str, args, key); rv[prop] = str; } - + return rv; } - + function substIndexes(str, args, key, prop) { var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/; var reMatch = reIndex.exec(str); @@ -15206,54 +15206,54 @@ var macroName = reMatch[1]; var paramName = reMatch[2]; var param; - + if (args && paramName in args) { param = args[paramName]; } else if (paramName in gL10nData) { param = gL10nData[paramName]; } - + if (macroName in gMacros) { var macro = gMacros[macroName]; str = macro(str, param, key, prop); } - + return str; } - + function substArguments(str, args, key) { var reArgs = /\{\{\s*(.+?)\s*\}\}/g; return str.replace(reArgs, function (matched_text, arg) { if (args && arg in args) { return args[arg]; } - + if (arg in gL10nData) { return gL10nData[arg]; } - - + + return matched_text; }); } - + function translateElement(element) { var l10n = getL10nAttributes(element); if (!l10n.id) return; var data = getL10nData(l10n.id, l10n.args); - + if (!data) { console.warn('#' + l10n.id + ' is undefined.'); return; } - + if (data[gTextProp]) { if (getChildElementCount(element) === 0) { element[gTextProp] = data[gTextProp]; } else { var children = element.childNodes; var found = false; - + for (var i = 0, l = children.length; i < l; i++) { if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) { if (found) { @@ -15264,74 +15264,74 @@ } } } - + if (!found) { var textNode = document.createTextNode(data[gTextProp]); element.insertBefore(textNode, element.firstChild); } } - + delete data[gTextProp]; } - + for (var k in data) { element[k] = data[k]; } } - + function getChildElementCount(element) { if (element.children) { return element.children.length; } - + if (typeof element.childElementCount !== 'undefined') { return element.childElementCount; } - + var count = 0; - + for (var i = 0; i < element.childNodes.length; i++) { count += element.nodeType === 1 ? 1 : 0; } - + return count; } - + function translateFragment(element) { element = element || document.documentElement; var children = getTranslatableChildren(element); var elementCount = children.length; - + for (var i = 0; i < elementCount; i++) { translateElement(children[i]); } - + translateElement(element); } - + return { get: function get(key, args, fallbackString) { var index = key.lastIndexOf('.'); var prop = gTextProp; - + if (index > 0) { prop = key.substring(index + 1); key = key.substring(0, index); } - + var fallback; - + if (fallbackString) { fallback = {}; fallback[prop] = fallbackString; } - + var data = getL10nData(key, args, fallback); - + if (data && prop in data) { return data[prop]; } - + return '{{' + key + '}}'; }, getData: function getData() { @@ -15373,28 +15373,28 @@ } }; }(window, document); - + /***/ }), /* 41 */ /***/ (function(module, exports, __webpack_require__) { - + "use strict"; - - + + Object.defineProperty(exports, "__esModule", { value: true }); exports.PDFPrintService = PDFPrintService; - + var _ui_utils = __webpack_require__(5); - + var _app = __webpack_require__(1); - + var _app_options = __webpack_require__(6); - + var activeService = null; var overlayManager = null; - + function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) { var scratchCanvas = activeService.scratchCanvas; var PRINT_RESOLUTION = _app_options.AppOptions.get('printResolution') || 150; @@ -15426,7 +15426,7 @@ }; }); } - + function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) { this.pdfDocument = pdfDocument; this.pagesOverview = pagesOverview; @@ -15436,7 +15436,7 @@ this.currentPage = -1; this.scratchCanvas = document.createElement('canvas'); } - + PDFPrintService.prototype = { layout: function layout() { this.throwIfInactive(); @@ -15445,11 +15445,11 @@ var hasEqualPageSizes = this.pagesOverview.every(function (size) { return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height; }, this); - + if (!hasEqualPageSizes) { console.warn('Not all pages have the same size. The printed ' + 'result may be incorrect!'); } - + this.pageStyleSheet = document.createElement('style'); var pageSize = this.pagesOverview[0]; this.pageStyleSheet.textContent = '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { size: ' + pageSize.width + 'pt ' + pageSize.height + 'pt;}' + '}'; @@ -15459,16 +15459,16 @@ if (activeService !== this) { return; } - + this.printContainer.textContent = ''; var body = document.querySelector('body'); body.removeAttribute('data-pdfjsprinting'); - + if (this.pageStyleSheet) { this.pageStyleSheet.remove(); this.pageStyleSheet = null; } - + this.scratchCanvas.width = this.scratchCanvas.height = 0; this.scratchCanvas = null; activeService = null; @@ -15476,31 +15476,31 @@ if (overlayManager.active !== 'printServiceOverlay') { return; } - + overlayManager.close('printServiceOverlay'); }); }, renderPages: function renderPages() { var _this = this; - + var pageCount = this.pagesOverview.length; - + var renderNextPage = function renderNextPage(resolve, reject) { _this.throwIfInactive(); - + if (++_this.currentPage >= pageCount) { renderProgress(pageCount, pageCount, _this.l10n); resolve(); return; } - + var index = _this.currentPage; renderProgress(index, pageCount, _this.l10n); renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () { renderNextPage(resolve, reject); }, reject); }; - + return new Promise(renderNextPage); }, useRenderedPage: function useRenderedPage(printItem) { @@ -15509,7 +15509,7 @@ img.style.width = printItem.width; img.style.height = printItem.height; var scratchCanvas = this.scratchCanvas; - + if ('toBlob' in scratchCanvas && !this.disableCreateObjectURL) { scratchCanvas.toBlob(function (blob) { img.src = URL.createObjectURL(blob); @@ -15517,7 +15517,7 @@ } else { img.src = scratchCanvas.toDataURL(); } - + var wrapper = document.createElement('div'); wrapper.appendChild(img); this.printContainer.appendChild(wrapper); @@ -15528,7 +15528,7 @@ }, performPrint: function performPrint() { var _this2 = this; - + this.throwIfInactive(); return new Promise(function (resolve) { setTimeout(function () { @@ -15536,17 +15536,17 @@ resolve(); return; } - + print.call(window); setTimeout(resolve, 20); }, 0); }); }, - + get active() { return this === activeService; }, - + throwIfInactive: function throwIfInactive() { if (!this.active) { throw new Error('This print request was cancelled or completed.'); @@ -15554,19 +15554,19 @@ } }; var print = window.print; - + window.print = function print() { if (activeService) { console.warn('Ignored window.print() because of a pending print job.'); return; } - + ensureOverlay().then(function () { if (activeService) { overlayManager.open('printServiceOverlay'); } }); - + try { dispatchEvent('beforeprint'); } finally { @@ -15579,7 +15579,7 @@ }); return; } - + var activeServiceOnEntry = activeService; activeService.renderPages().then(function () { return activeServiceOnEntry.performPrint(); @@ -15590,20 +15590,20 @@ }); } }; - + function dispatchEvent(eventType) { var event = document.createEvent('CustomEvent'); event.initCustomEvent(eventType, false, false, 'custom'); window.dispatchEvent(event); } - + function abort() { if (activeService) { activeService.destroy(); dispatchEvent('afterprint'); } } - + function renderProgress(index, total, l10n) { var progressContainer = document.getElementById('printServiceOverlay'); var progress = Math.round(100 * index / total); @@ -15616,18 +15616,18 @@ progressPerc.textContent = msg; }); } - + var hasAttachEvent = !!document.attachEvent; window.addEventListener('keydown', function (event) { if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) { window.print(); - + if (hasAttachEvent) { return; } - + event.preventDefault(); - + if (event.stopImmediatePropagation) { event.stopImmediatePropagation(); } else { @@ -15635,58 +15635,58 @@ } } }, true); - + if (hasAttachEvent) { document.attachEvent('onkeydown', function (event) { event = event || window.event; - + if (event.keyCode === 80 && event.ctrlKey) { event.keyCode = 0; return false; } }); } - + if ('onbeforeprint' in window) { var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) { if (event.detail !== 'custom' && event.stopImmediatePropagation) { event.stopImmediatePropagation(); } }; - + window.addEventListener('beforeprint', stopPropagationIfNeeded); window.addEventListener('afterprint', stopPropagationIfNeeded); } - + var overlayPromise; - + function ensureOverlay() { if (!overlayPromise) { overlayManager = _app.PDFViewerApplication.overlayManager; - + if (!overlayManager) { throw new Error('The overlay manager has not yet been initialized.'); } - + overlayPromise = overlayManager.register('printServiceOverlay', document.getElementById('printServiceOverlay'), abort, true); document.getElementById('printCancel').onclick = abort; } - + return overlayPromise; } - + _app.PDFPrintServiceFactory.instance = { supportsPrinting: true, createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) { if (activeService) { throw new Error('The print service is created and active.'); } - + activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n); return activeService; } }; - + /***/ }) /******/ ]); - //# sourceMappingURL=viewer.js.map \ No newline at end of file + //# sourceMappingURL=viewer.js.map diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 1b55290ea..0bd217c5f 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,7 +1,7 @@ import { Environment } from './../app/models/envarioment' import { environment as oaprProd } from './suport/oapr' -import { environment as doneITProd } from './suport/doneIt' - import { DevDev } from './suport/dev' +// import { environment as doneITProd } from './suport/doneIt' +import { DevDev } from './suport/dev' export const environment: Environment = oaprProd; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 983359e87..8982b9007 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -1,6 +1,6 @@ import { Environment } from './../app/models/envarioment' import { environment as oaprDev } from './suport/oapr' -import { doneITDev } from './suport/doneIt' +// import { doneITDev } from './suport/doneIt' import { DevDev } from './suport/dev' diff --git a/version/git-version.ts b/version/git-version.ts index f1b4c94da..163c4f2d5 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -5,7 +5,7 @@ export let versionData = { "lastCommitAuthor": "'Peter Maquiran'", "lastCommitTime": "'Thu Aug 31 12:00:52 2023 +0100'", "lastCommitMessage": "add attachments", - "lastCommitNumber": "1513", + "lastCommitNumber": "1515", "change": "", "changeStatus": "On branch notification-header/feature\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/modals/profile/profile.page.html\n\tmodified: src/app/modals/profile/profile.page.ts\n\tmodified: src/app/services/notifications.service.ts\n\tmodified: src/app/shared/header/header.page.html\n\tmodified: src/app/shared/header/header.page.ts\n\tnew file: src/app/store/notification-holder.service.spec.ts\n\tnew file: src/app/store/notification-holder.service.ts\n\nChanges not staged for commit:\n (use \"git add ...\" to update what will be committed)\n (use \"git restore ...\" to discard changes in working directory)\n\tmodified: src/app/modals/create-process/create-process.page.ts\n\tmodified: src/app/modals/document-detail/document-detail.page.ts\n\tmodified: src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts\n\tmodified: src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html\n\tmodified: src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.html", "changeAuthor": "peter.maquiran"