diff options
| author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-08-25 07:07:14 +0200 |
|---|---|---|
| committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-08-25 07:07:14 +0200 |
| commit | ba8cb029b9d92ccafeff423e7b8930067b91cf01 (patch) | |
| tree | 4bf55661958f94ec4183ee04c5b2f4a79845beb2 /src/main/resources/eu | |
| parent | a94bdec06417d3a8c44640f114b88000ff0bef9f (diff) | |
Der Vordruck der Browserfassung führte fünf Eintragungen untereinander auf,
von denen drei im Regelfall leer bleiben: der anzuwendende Artikel, der
Stichtag und die reine Textausgabe. Sie stehen nun hinter der zugeklappten
Aufschrift „Weitere Angaben“, die an die Stelle der Leitspalte tritt und über
die volle Breite läuft — dieselbe Form, die die Leitspalte auf schmalem Schirm
ohnehin annimmt. Weil ein geschlossenes „details“ seinen Inhalt nicht druckt,
ein Vordruck aber vollständig aufs Papier gehört, klappt der Abschnitt vor dem
Druck selbsttätig auf und nimmt danach seinen vorherigen Zustand wieder ein.
Das Ankreuzfeld für die unveränderten Vorschriften ist vorangekreuzt: Wer eine
Synopse ansieht, will in aller Regel das ganze Gesetz vor sich haben. Damit
wurde die Verfügung der Zentralstelle unrichtig, die die Zahl der Einträge als
„geänderte Normen“ auswies; sind die unveränderten mit aufgenommen, so heißen
sie fortan „Normen in der Synopse“. Die Befehlszeile bleibt unberührt.
Die Prüfung geht auf: Am UWG mit dem Dritten Gesetz zu seiner Änderung ergeben
sich vorangekreuzt 19 Befehle, nichts manuell zu prüfen und 31 Normen in der
Synopse, ohne Ankreuzung dieselben 19 Befehle und 6 geänderte Normen; der
Abschnitt klappt auf Druckanforderung auf und danach wieder zu.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: I68897f8ab0b51eb4e475982d38b914dac93748d7
Diffstat (limited to 'src/main/resources/eu')
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/app.js | 19 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/index.html | 20 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/style.css | 30 |
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; } |
