Version 2.2.1: pdf.js unter .js -- .mjs kennt kein Webserver
This commit is contained in:
1 parent
2c3ca4acc1
commit
8c2cd10ee4
9 files changed
+23
-9
No files matched your search
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "tesm-core"
|
||||
version = "2.2.0"
|
||||
version = "2.2.1"
|
||||
description = "Gemeinsames Anwendungsgeruest (Auth, RBAC, Navigation, Design-System, Migrationen) fuer TESM und TESM-Lizenzserver"
|
||||
requires-python = ">=3.11"
|
||||
dependencies = [
|
||||
|
||||
@@ -135,7 +135,7 @@ def create_base_app(
|
||||
#: Wortmarke, ohne Zeile darunter; die Marke selbst zeigen beide
|
||||
#: Anwendungen.
|
||||
auth_tagline: str = "",
|
||||
app_version: str = "2.2.0",
|
||||
app_version: str = "2.2.1",
|
||||
built_in_trusted_keys: tuple[str, ...] = (),
|
||||
enable_license: bool = True,
|
||||
template_folder: str | None = None,
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
*
|
||||
* pdf.js liegt im Paket (static/vendor/pdfjs) und wird erst geladen, wenn
|
||||
* wirklich ein PDF geoeffnet wird: 1,7 MB gehoeren nicht in jeden Seitenaufruf.
|
||||
*
|
||||
* Die Dateien heissen ".js" und nicht ".mjs": die mime.types von nginx kennen
|
||||
* ".mjs" nicht und liefern "application/octet-stream" -- damit lehnt jeder
|
||||
* Browser ein Modul ab, und zwar ohne dass der Benutzer erfaehrt, warum. Am
|
||||
* Inhalt aendert die Endung nichts.
|
||||
* ========================================================================== */
|
||||
|
||||
const MIN_ZOOM = 0.1;
|
||||
@@ -145,17 +150,17 @@ let pdfjsGeladen = null;
|
||||
async function pdfjsLaden(basis) {
|
||||
if (!pdfjsGeladen) {
|
||||
pdfjsGeladen = (async () => {
|
||||
const lib = await import(`${basis}pdf.min.mjs`);
|
||||
const lib = await import(`${basis}pdf.min.js`);
|
||||
// Der Komponentenbau von pdf.js sucht die Bibliothek unter diesem Namen.
|
||||
globalThis.pdfjsLib = lib;
|
||||
const komponenten = await import(`${basis}pdf_viewer.mjs`);
|
||||
const komponenten = await import(`${basis}pdf_viewer.js`);
|
||||
// Das Stylesheet von pdf.js zeichnet die Formularfelder. 100 KB gehoeren
|
||||
// nicht in jeden Seitenaufruf -- also erst hier.
|
||||
const stil = document.createElement("link");
|
||||
stil.rel = "stylesheet";
|
||||
stil.href = `${basis}pdf_viewer.css`;
|
||||
document.head.append(stil);
|
||||
lib.GlobalWorkerOptions.workerSrc = `${basis}pdf.worker.min.mjs`;
|
||||
lib.GlobalWorkerOptions.workerSrc = `${basis}pdf.worker.min.js`;
|
||||
return { lib, komponenten };
|
||||
})().catch((fehler) => {
|
||||
pdfjsGeladen = null;
|
||||
@@ -333,7 +338,11 @@ export function initFilePreview(wurzel = document) {
|
||||
rahmen.src = quelle;
|
||||
if (hinweis) {
|
||||
hinweis.textContent =
|
||||
"Dieses Geraet kann die Formularansicht nicht laden -- es bleibt bei der einfachen Anzeige.";
|
||||
"Die Formularansicht liess sich nicht laden -- es bleibt bei der einfachen Anzeige.";
|
||||
// Die Leiste traegt den Hinweis. "zeigen('text')" hat sie gerade
|
||||
// verborgen -- ohne diese Zeile blieb der Fehlschlag unsichtbar, und
|
||||
// es sah aus, als koennte die Vorschau einfach keine Formulare.
|
||||
leiste.hidden = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
+6
-1
@@ -1,6 +1,11 @@
|
||||
pdf.js 4.10.38 -- https://github.com/mozilla/pdf.js
|
||||
Aus dem npm-Paket pdfjs-dist; nur build/pdf.min.mjs, build/pdf.worker.min.mjs,
|
||||
web/pdf_viewer.mjs, web/pdf_viewer.css und web/images. Apache-2.0, siehe LICENSE.
|
||||
web/pdf_viewer.mjs, web/pdf_viewer.css, web/images und standard_fonts.
|
||||
Apache-2.0, siehe LICENSE.
|
||||
|
||||
Die drei Skriptdateien sind von .mjs auf .js umbenannt: die mime.types von
|
||||
nginx kennen .mjs nicht, und mit application/octet-stream lehnt jeder Browser
|
||||
ein Modul ab. Der Inhalt ist unveraendert.
|
||||
|
||||
Warum eingebettet und nicht von einem CDN: TESM laeuft in abgeschotteten
|
||||
Netzen. Was die Oberflaeche braucht, muss im Paket liegen.
|
||||
File renamed without changes.
File renamed without changes.
Reference in new issue
Block a user