aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/resources/eu/mulk/aendggner/web/app.js19
-rw-r--r--src/main/resources/eu/mulk/aendggner/web/index.html20
-rw-r--r--src/main/resources/eu/mulk/aendggner/web/style.css30
3 files changed, 59 insertions, 10 deletions
diff --git a/src/main/resources/eu/mulk/aendggner/web/app.js b/src/main/resources/eu/mulk/aendggner/web/app.js
index a592612..fb55cbd 100644
--- a/src/main/resources/eu/mulk/aendggner/web/app.js
+++ b/src/main/resources/eu/mulk/aendggner/web/app.js
@@ -52,6 +52,7 @@ formular.addEventListener("submit", async (ereignis) => {
const artikel = document.querySelector("#artikel").value.trim();
const stichtag = document.querySelector("#stichtag").value.trim();
const nurText = document.querySelector("#nurtext").checked;
+ const vollstaendig = document.querySelector("#vollstaendig").checked;
knopf.disabled = true;
zeige("Lade das Rechenwerk (einmalig einige Megabyte) und werte aus …", "arbeit");
@@ -72,7 +73,7 @@ formular.addEventListener("submit", async (ereignis) => {
worker.postMessage({
stamm,
patches,
- vollstaendig: document.querySelector("#vollstaendig").checked,
+ vollstaendig,
artikel: artikel === "" ? null : artikel,
stichtag: stichtag === "" ? null : stichtag,
nurText,
@@ -97,9 +98,11 @@ formular.addEventListener("submit", async (ereignis) => {
return;
}
+ // Die Zahl zählt die Einträge der Synopse. Sind die unveränderten Vorschriften mit
+ // aufgenommen, so sind das nicht die geänderten Normen, und sie heißen dann anders.
zeige(
`${ergebnis.angewandt} Befehle angewandt, ${ergebnis.manuell} manuell zu prüfen, ` +
- `${ergebnis.normen} geänderte Normen. `,
+ `${ergebnis.normen} ${vollstaendig ? "Normen in der Synopse" : "geänderte Normen"}. `,
"fertig",
);
oeffne(ergebnis.html, "text/html;charset=utf-8", "Synopse öffnen");
@@ -109,3 +112,15 @@ formular.addEventListener("submit", async (ereignis) => {
knopf.disabled = false;
}
});
+
+// Ein geschlossenes <details> druckt seinen Inhalt nicht; ein Vordruck gehört aber
+// vollständig aufs Papier, auch der eingeklappte Teil.
+const weitere = document.querySelector(".weitere");
+let warOffen = false;
+addEventListener("beforeprint", () => {
+ warOffen = weitere.open;
+ weitere.open = true;
+});
+addEventListener("afterprint", () => {
+ weitere.open = warOffen;
+});
diff --git a/src/main/resources/eu/mulk/aendggner/web/index.html b/src/main/resources/eu/mulk/aendggner/web/index.html
index 31ca03b..69adbdb 100644
--- a/src/main/resources/eu/mulk/aendggner/web/index.html
+++ b/src/main/resources/eu/mulk/aendggner/web/index.html
@@ -132,6 +132,18 @@
gewählten Reihenfolge nacheinander angewendet)</span></label>
<input type="file" id="aenderung" name="aenderung" multiple required>
</div>
+ <div class="feld ankreuzfeld">
+ <label>
+ <input type="checkbox" id="vollstaendig" name="vollstaendig" checked>
+ Unveränderte Vorschriften mit in die Synopse aufnehmen
+ </label>
+ </div>
+ </div>
+ </div>
+
+ <details class="weitere">
+ <summary>Weitere Angaben</summary>
+ <div class="felder">
<div class="feld">
<label for="artikel">Anzuwendender Artikel
<span class="erl">(nur auszufüllen, wenn abweichend: ohne Angabe werden alle
@@ -150,12 +162,6 @@
</div>
<div class="feld ankreuzfeld">
<label>
- <input type="checkbox" id="vollstaendig" name="vollstaendig">
- Unveränderte Vorschriften mit in die Synopse aufnehmen
- </label>
- </div>
- <div class="feld ankreuzfeld">
- <label>
<input type="checkbox" id="nurtext" name="nurtext">
Statt der Synopse nur den maschinell gelesenen Text der Änderungsdokumente ausgeben
</label>
@@ -164,7 +170,7 @@
oben wieder einreichen.</p>
</div>
</div>
- </div>
+ </details>
<div class="block">
<div class="leitspalte">Antragstellung</div>
diff --git a/src/main/resources/eu/mulk/aendggner/web/style.css b/src/main/resources/eu/mulk/aendggner/web/style.css
index 21f5942..ce64a6f 100644
--- a/src/main/resources/eu/mulk/aendggner/web/style.css
+++ b/src/main/resources/eu/mulk/aendggner/web/style.css
@@ -250,6 +250,33 @@ input[type="file"]::file-selector-button:hover {
background: var(--grund);
}
+/* Nebenangaben, die selten auszufüllen sind, stehen hinter einer Klappe. Deren Aufschrift
+ tritt an die Stelle der Leitspalte und läuft über die volle Breite — dieselbe Form, die
+ die Leitspalte auf dem Telefon ohnehin annimmt. Das Dreieck ist dasselbe wie an der
+ Ausfüllhilfe. */
+.weitere summary {
+ padding: 0.4rem 0.5rem;
+ border-right: 1px solid var(--linie);
+ border-bottom: 1px solid var(--linie);
+ background: var(--grund);
+ font-size: 0.6875rem;
+ font-weight: bold;
+ cursor: pointer;
+ list-style: none;
+}
+
+.weitere summary::-webkit-details-marker {
+ display: none;
+}
+
+.weitere summary::before {
+ content: "\25B8\00A0";
+}
+
+.weitere[open] summary::before {
+ content: "\25BE\00A0";
+}
+
/* Der Nachsatz zu einem Ankreuzfeld steht unter dem Text, nicht neben ihm, und rückt bis
unter die Aufschrift ein. */
.nachsatz {
@@ -531,7 +558,8 @@ code {
a { text-decoration: none; }
.block, .beachtung, .verfuegung { break-inside: avoid; }
- .leitspalte, .ausfuellhinweis, .verfuegung, .verfuegung h2, .kreuz, .ausfuellhilfe {
+ .leitspalte, .ausfuellhinweis, .verfuegung, .verfuegung h2, .kreuz, .ausfuellhilfe,
+ .weitere summary {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}