aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/render/pdf.ts
blob: f31f161e6e8e2297e1c6b555734f3238c4a0df3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import {htmlEscape} from 'escape-goat';

export async function initPdfViewer() {
  const els = document.querySelectorAll('.pdf-content');
  if (!els.length) return;

  const pdfobject = await import(/* webpackChunkName: "pdfobject" */'pdfobject');

  for (const el of els) {
    const src = el.getAttribute('data-src');
    const fallbackText = el.getAttribute('data-fallback-button-text');
    pdfobject.embed(src, el, {
      fallbackLink: htmlEscape`
        <a role="button" class="ui basic button pdf-fallback-button" href="[url]">${fallbackText}</a>
      `,
    });
    el.classList.remove('is-loading');
  }
}