UNPKG

ngx-extended-pdf-viewer

Version:

Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.

158 lines 13.6 kB
import { Component } from '@angular/core'; import * as i0 from "@angular/core"; /** List of all fields that can be customized */ const requiredIds = [ 'attachmentsView', 'authorField', 'contextFirstPage', 'contextLastPage', 'contextPageRotateCcw', 'contextPageRotateCw', 'creationDateField', 'creatorField', 'currentOutlineItem', 'cursorHandTool', 'cursorSelectTool', 'customScaleOption', 'documentProperties', 'documentPropertiesClose', 'download', 'editorFreeText', 'editorInk', 'editorStamp', 'editorModeButtons', 'editorNone', 'editorStampAddImage', 'errorClose', 'errorMessage', 'errorMoreInfo', 'errorShowLess', 'errorShowMore', 'errorWrapper', 'fileNameField', 'fileSizeField', 'findbar', 'findCurrentPage', 'findEntireWord', 'findFuzzy', 'findHighlightAll', 'findIgnoreAccents', 'findInput', 'findInputMultiline', 'findMatchCase', 'findMatchDiacritics', 'findMsg', 'findMultipleSearchTexts', 'findNext', 'findPrevious', 'findRange', 'findResultsCount', 'firstPage', 'individualWordsMode', 'individualWordsModeLabel', 'keywordsField', 'lastPage', 'linearizedField', 'modificationDateField', 'next', 'numPages', 'openFile', 'outerContainer', 'outerContainer', 'outlineOptionsContainer', 'outlineView', 'pageCountField', 'pageNumber', 'pageRotateCcw', 'pageRotateCw', 'pageSizeField', 'password', 'passwordCancel', 'passwordSubmit', 'passwordText', 'presentationMode', 'previous', 'print', 'producerField', 'scaleSelect', 'scaleSelectContainer', 'scaleSelectContainer', 'scrollHorizontal', 'scrollPage', 'scrollVertical', 'scrollWrapped', 'secondaryDownload', 'secondaryOpenFile', 'secondaryPresentationMode', 'secondaryPrint', 'secondaryToolbar', 'secondaryToolbarButtonContainer', 'secondaryToolbarToggle', 'secondaryViewBookmark', 'sidebarResizer', 'sidebarToggle', 'spreadEven', 'spreadNone', 'spreadOdd', 'subjectField', 'thumbnailView', 'titleField', 'toolbarViewer', 'versionField', 'viewAttachments', 'viewAttachments', 'viewBookmark', 'viewerContainer', 'viewFind', 'viewFind', 'viewLayers', 'viewOutline', 'viewOutline', 'viewThumbnail', 'viewThumbnail', 'zoomIn', 'zoomOut', ]; export class PdfDummyComponentsComponent { addMissingStandardWidgets() { this.dummyComponentsContainer = document.getElementsByClassName('dummy-pdf-viewer-components')[0]; const container = this.dummyComponentsContainer; if (!container) { return; } for (let i = 0; i < container.children.length; i++) { const child = container.firstChild; if (child) { container.removeChild(child); } } requiredIds.forEach((id) => { if (this.needsDummyWidget(id)) { const dummy = document.createElement('span'); dummy.id = id; dummy.className = 'invisible dummy-component'; this.dummyComponentsContainer.appendChild(dummy); } }); if (this.needsDummyWidget('scaleSelect')) { const dummy = document.createElement('select'); dummy.id = 'scaleSelect'; dummy.className = 'invisible dummy-component'; this.dummyComponentsContainer.appendChild(dummy); } } needsDummyWidget(id) { const widget = document.getElementById(id); if (!widget) { return true; } return false; } } PdfDummyComponentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PdfDummyComponentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); PdfDummyComponentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: PdfDummyComponentsComponent, selector: "pdf-dummy-components", ngImport: i0, template: "<span class=\"invisible dummy-pdf-viewer-components\">\n</span>\n" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PdfDummyComponentsComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-dummy-components', template: "<span class=\"invisible dummy-pdf-viewer-components\">\n</span>\n" }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWR1bW15LWNvbXBvbmVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXIvc3JjL2xpYi9wZGYtZHVtbXktY29tcG9uZW50cy9wZGYtZHVtbXktY29tcG9uZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3BkZi1kdW1teS1jb21wb25lbnRzL3BkZi1kdW1teS1jb21wb25lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDLGdEQUFnRDtBQUNoRCxNQUFNLFdBQVcsR0FBRztJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixZQUFZO0lBQ1osY0FBYztJQUNkLGVBQWU7SUFDZixlQUFlO0lBQ2YsZUFBZTtJQUNmLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZUFBZTtJQUNmLFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixTQUFTO0lBQ1QseUJBQXlCO0lBQ3pCLFVBQVU7SUFD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Q0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7d0hBeENVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDREQ3hIeEMsbUVBRUE7MkZEc0hhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIExpc3Qgb2YgYWxsIGZpZWxkcyB0aGF0IGNhbiBiZSBjdXN0b21pemVkICovXG5jb25zdCByZXF1aXJlZElkcyA9IFtcbiAgJ2F0dGFjaG1lbnRzVmlldycsXG4gICdhdXRob3JGaWVsZCcsXG4gICdjb250ZXh0Rmlyc3RQYWdlJyxcbiAgJ2NvbnRleHRMYXN0UGFnZScsXG4gICdjb250ZXh0UGFnZVJvdGF0ZUNjdycsXG4gICdjb250ZXh0UGFnZVJvdGF0ZUN3JyxcbiAgJ2NyZWF0aW9uRGF0ZUZpZWxkJyxcbiAgJ2NyZWF0b3JGaWVsZCcsXG4gICdjdXJyZW50T3V0bGluZUl0ZW0nLFxuICAnY3Vyc29ySGFuZFRvb2wnLFxuICAnY3Vyc29yU2VsZWN0VG9vbCcsXG4gICdjdXN0b21TY2FsZU9wdGlvbicsXG4gICdkb2N1bWVudFByb3BlcnRpZXMnLFxuICAnZG9jdW1lbnRQcm9wZXJ0aWVzQ2xvc2UnLFxuICAnZG93bmxvYWQnLFxuICAnZWRpdG9yRnJlZVRleHQnLFxuICAnZWRpdG9ySW5rJyxcbiAgJ2VkaXRvclN0YW1wJyxcbiAgJ2VkaXRvck1vZGVCdXR0b25zJyxcbiAgJ2VkaXRvck5vbmUnLFxuICAnZWRpdG9yU3RhbXBBZGRJbWFnZScsXG4gICdlcnJvckNsb3NlJyxcbiAgJ2Vycm9yTWVzc2FnZScsXG4gICdlcnJvck1vcmVJbmZvJyxcbiAgJ2Vycm9yU2hvd0xlc3MnLFxuICAnZXJyb3JTaG93TW9yZScsXG4gICdlcnJvcldyYXBwZXInLFxuICAnZmlsZU5hbWVGaWVsZCcsXG4gICdmaWxlU2l6ZUZpZWxkJyxcbiAgJ2ZpbmRiYXInLFxuICAnZmluZEN1cnJlbnRQYWdlJyxcbiAgJ2ZpbmRFbnRpcmVXb3JkJyxcbiAgJ2ZpbmRGdXp6eScsXG4gICdmaW5kSGlnaGxpZ2h0QWxsJyxcbiAgJ2ZpbmRJZ25vcmVBY2NlbnRzJyxcbiAgJ2ZpbmRJbnB1dCcsXG4gICdmaW5kSW5wdXRNdWx0aWxpbmUnLFxuICAnZmluZE1hdGNoQ2FzZScsXG4gICdmaW5kTWF0Y2hEaWFjcml0aWNzJyxcbiAgJ2ZpbmRNc2cnLFxuICAnZmluZE11bHRpcGxlU2VhcmNoVGV4dHMnLFxuICAnZmluZE5leHQnLFxuICAnZmluZFByZXZpb3VzJyxcbiAgJ2ZpbmRSYW5nZScsXG4gICdmaW5kUmVzdWx0c0NvdW50JyxcbiAgJ2ZpcnN0UGFnZScsXG4gICdpbmRpdmlkdWFsV29yZHNNb2RlJyxcbiAgJ2luZGl2aWR1YWxXb3Jkc01vZGVMYWJlbCcsXG4gICdrZXl3b3Jkc0ZpZWxkJyxcbiAgJ2xhc3RQYWdlJyxcbiAgJ2xpbmVhcml6ZWRGaWVsZCcsXG4gICdtb2RpZmljYXRpb25EYXRlRmllbGQnLFxuICAnbmV4dCcsXG4gICdudW1QYWdlcycsXG4gICdvcGVuRmlsZScsXG4gICdvdXRlckNvbnRhaW5lcicsXG4gICdvdXRlckNvbnRhaW5lcicsXG4gICdvdXRsaW5lT3B0aW9uc0NvbnRhaW5lcicsXG4gICdvdXRsaW5lVmlldycsXG4gICdwYWdlQ291bnRGaWVsZCcsXG4gICdwYWdlTnVtYmVyJyxcbiAgJ3BhZ2VSb3RhdGVDY3cnLFxuICAncGFnZVJvdGF0ZUN3JyxcbiAgJ3BhZ2VTaXplRmllbGQnLFxuICAncGFzc3dvcmQnLFxuICAncGFzc3dvcmRDYW5jZWwnLFxuICAncGFzc3dvcmRTdWJtaXQnLFxuICAncGFzc3dvcmRUZXh0JyxcbiAgJ3ByZXNlbnRhdGlvbk1vZGUnLFxuICAncHJldmlvdXMnLFxuICAncHJpbnQnLFxuICAncHJvZHVjZXJGaWVsZCcsXG4gICdzY2FsZVNlbGVjdCcsXG4gICdzY2FsZVNlbGVjdENvbnRhaW5lcicsXG4gICdzY2FsZVNlbGVjdENvbnRhaW5lcicsXG4gICdzY3JvbGxIb3Jpem9udGFsJyxcbiAgJ3Njcm9sbFBhZ2UnLFxuICAnc2Nyb2xsVmVydGljYWwnLFxuICAnc2Nyb2xsV3JhcHBlZCcsXG4gICdzZWNvbmRhcnlEb3dubG9hZCcsXG4gICdzZWNvbmRhcnlPcGVuRmlsZScsXG4gICdzZWNvbmRhcnlQcmVzZW50YXRpb25Nb2RlJyxcbiAgJ3NlY29uZGFyeVByaW50JyxcbiAgJ3NlY29uZGFyeVRvb2xiYXInLFxuICAnc2Vjb25kYXJ5VG9vbGJhckJ1dHRvbkNvbnRhaW5lcicsXG4gICdzZWNvbmRhcnlUb29sYmFyVG9nZ2xlJyxcbiAgJ3NlY29uZGFyeVZpZXdCb29rbWFyaycsXG4gICdzaWRlYmFyUmVzaXplcicsXG4gICdzaWRlYmFyVG9nZ2xlJyxcbiAgJ3NwcmVhZEV2ZW4nLFxuICAnc3ByZWFkTm9uZScsXG4gICdzcHJlYWRPZGQnLFxuICAnc3ViamVjdEZpZWxkJyxcbiAgJ3RodW1ibmFpbFZpZXcnLFxuICAndGl0bGVGaWVsZCcsXG4gICd0b29sYmFyVmlld2VyJyxcbiAgJ3ZlcnNpb25GaWVsZCcsXG4gICd2aWV3QXR0YWNobWVudHMnLFxuICAndmlld0F0dGFjaG1lbnRzJyxcbiAgJ3ZpZXdCb29rbWFyaycsXG4gICd2aWV3ZXJDb250YWluZXInLFxuICAndmlld0ZpbmQnLFxuICAndmlld0ZpbmQnLFxuICAndmlld0xheWVycycsXG4gICd2aWV3T3V0bGluZScsXG4gICd2aWV3T3V0bGluZScsXG4gICd2aWV3VGh1bWJuYWlsJyxcbiAgJ3ZpZXdUaHVtYm5haWwnLFxuICAnem9vbUluJyxcbiAgJ3pvb21PdXQnLFxuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRmLWR1bW15LWNvbXBvbmVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLWR1bW15LWNvbXBvbmVudHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQZGZEdW1teUNvbXBvbmVudHNDb21wb25lbnQge1xuICBwcml2YXRlIGR1bW15Q29tcG9uZW50c0NvbnRhaW5lcjogRWxlbWVudDtcblxuICBwdWJsaWMgYWRkTWlzc2luZ1N0YW5kYXJkV2lkZ2V0cygpOiB2b2lkIHtcbiAgICB0aGlzLmR1bW15Q29tcG9uZW50c0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2R1bW15LXBkZi12aWV3ZXItY29tcG9uZW50cycpWzBdO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZHVtbXlDb21wb25lbnRzQ29udGFpbmVyIGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXIuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoaWxkID0gY29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXF1aXJlZElkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgaWYgKHRoaXMubmVlZHNEdW1teVdpZGdldChpZCkpIHtcbiAgICAgICAgY29uc3QgZHVtbXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIGR1bW15LmlkID0gaWQ7XG4gICAgICAgIGR1bW15LmNsYXNzTmFtZSA9ICdpbnZpc2libGUgZHVtbXktY29tcG9uZW50JztcbiAgICAgICAgdGhpcy5kdW1teUNvbXBvbmVudHNDb250YWluZXIuYXBwZW5kQ2hpbGQoZHVtbXkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubmVlZHNEdW1teVdpZGdldCgnc2NhbGVTZWxlY3QnKSkge1xuICAgICAgY29uc3QgZHVtbXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcbiAgICAgIGR1bW15LmlkID0gJ3NjYWxlU2VsZWN0JztcbiAgICAgIGR1bW15LmNsYXNzTmFtZSA9ICdpbnZpc2libGUgZHVtbXktY29tcG9uZW50JztcbiAgICAgIHRoaXMuZHVtbXlDb21wb25lbnRzQ29udGFpbmVyLmFwcGVuZENoaWxkKGR1bW15KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5lZWRzRHVtbXlXaWRnZXQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdpZGdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoIXdpZGdldCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJpbnZpc2libGUgZHVtbXktcGRmLXZpZXdlci1jb21wb25lbnRzXCI+XG48L3NwYW4+XG4iXX0=