Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
protected async go(location: string, register: boolean = false, showLoadIndicator: boolean = true): Promise {
if (location) {
try {
this.toDisposeOnGo.dispose();
const url = await this.mapLocation(location);
this.setInput(url);
if (this.getToolbarProps() === 'read-only') {
this.input.title = `Open ${url} In A New Window`;
}
if (showLoadIndicator) {
this.showLoadIndicator();
}
if (url.endsWith('.pdf')) {
this.pdfContainer.style.display = 'block';
this.frame.style.display = 'none';
PDFObject.embed(url, this.pdfContainer, {
// tslint:disable-next-line:max-line-length
fallbackLink: `<p style="padding: 0px 15px 0px 15px">Your browser does not support inline PDFs. Click on this <a href="[url]">link</a> to open the PDF in a new tab.</p>`,
});
this.hideLoadIndicator();
} else {
if (this.props.resetBackground === true) {
this.frame.addEventListener('load', () => this.frame.style.backgroundColor = 'white', { once: true });
}
this.pdfContainer.style.display = 'none';
this.frame.style.display = 'block';
this.frame.src = url;
// The load indicator will hide itself if the content of the iframe was loaded.
}
// Delegate all the `keypress` events from the `iframe` to the application.
this.toDisposeOnGo.push(addEventListener(this.frame, 'load', () => {
try {
try {
this.toDisposeOnGo.dispose();
const url = await this.mapLocation(location);
this.setInput(url);
if (this.getToolbarProps() === 'read-only') {
this.input.title = `Open ${url} In A New Window`;
}
clearTimeout(this.frameLoadTimeout);
this.frameLoadTimeout = window.setTimeout(this.onFrameTimeout.bind(this), 4000);
if (showLoadIndicator) {
this.showLoadIndicator();
}
if (url.endsWith('.pdf')) {
this.pdfContainer.style.display = 'block';
this.frame.style.display = 'none';
PDFObject.embed(url, this.pdfContainer, {
// tslint:disable-next-line:max-line-length quotemark
fallbackLink: `<p style="padding: 0px 15px 0px 15px">Your browser does not support inline PDFs. Click on this <a href="[url]">link</a> to open the PDF in a new tab.</p>`
});
clearTimeout(this.frameLoadTimeout);
this.hideLoadIndicator();
if (!preserveFocus) {
this.pdfContainer.focus();
}
} else {
this.pdfContainer.style.display = 'none';
this.frame.style.display = 'block';
this.frame.src = url;
// The load indicator will hide itself if the content of the iframe was loaded.
if (!preserveFocus) {
this.frame.addEventListener('load', () => {
const window = this.frame.contentWindow;
function test_embedding_with_all_parameters() {
var el:HTMLElement = PDFObject.embed("url", ".css-selector", {
"height": "200px"
});
}
function test_supports_pdfs() {
var supportsPDFs:boolean = PDFObject.supportsPDFs;
}
function test_pdf_object_version() {
var version:string = PDFObject.pdfobjectversion;
}
componentDidMount() {
PDFObject.embed(this.props.data, this.pdfElement);
}
embedPDF(previewUrl){
PDFObject.embed(previewUrl, `#${this.id}`, this.options);
}
private embedPdf = () => {
const { element, noteAssets } = this.props;
const asset = noteAssets[element.args.ext || ''];
if (this.isEditing || !this.viewerElementRef || !asset) return;
PDFObject.embed(asset, this.viewerElementRef, {
fallbackLink: false,
PDFJS_URL: './assets/pdfjs/web/viewer.html',
forcePDFJS: !!window['isElectron']
});
}
export function canViewPdfInline() {
return PDFObject.supportsPDFs;
}