Feldarten

Vorlagenfeld

Zwei Familien von Feldarten für Darstellungen, die keine mitgelieferte Feldart abdeckt. Beide speichern wie ihre Grundart (Text, Ganzzahl, Dezimalzahl) und ersetzen nur die Darstellung im Layout. Was Erfassende sehen, beschreibt Vorlagenfeld .

FamilieFeldartenBearbeitet unter
HTML-Vorlagecustom_text, custom_int, custom_decimalEigener Code › HTML-Vorlage
Komponentecustom_svelte_text, custom_svelte_int, custom_svelte_decimalEigener Code › Svelte-Komponente

Bei custom_int und custom_decimal muss der Wert eine Zahl bleiben; bei custom_int ohne Nachkommastellen.

HTML-Vorlage

Die Vorlage steht in der Konfiguration unter html und wird nicht übersetzt. Platzhalter mit dem Schlüssel in doppelten geschweiften Klammern werden vor der Ausgabe ersetzt:

PlatzhalterInhalt
valueder gespeicherte Wert; bei custom_int und custom_decimal die Zahl ohne angehängte Nullen (48000, 12.5)
formattedbei custom_int und custom_decimal die Zahl mit Tausender- und Dezimaltrenner (48 000, 12,5). Die Trenner kommen aus thousandsSeparator und radix der Konfiguration, ohne Angabe Leerzeichen und Komma wie beim Zahlenfeld. Bei Text derselbe Wert wie value
labeldie Feldbeschriftung
field_value_idNummer des Datenfeldes, brauchbar als id im Markup
object_id, project_idObjekt und Projekt
sample_dataBeispielinhalt des Feldes, sonst der Wert

Weitere Platzhalter greifen auf die übrigen Eigenschaften des Feldes zu. Ältere Vorlagen mit den deutschen Namen inhalt, formatiert, datenfeldID, objektID, projektID und sampledata werden weiter ausgefüllt.

Zwei Vorlagen aus dem Demo-Bestand: „Nummernschild“ (custom_int, mit label_visible: false) und „Schildvorschau“ (custom_text).

Beispiel Ergebnis
HTML
<!-- Nummernschild -->
<span style="font-size:150%;font-variant-numeric:tabular-nums">#{{value}}</span>

<!-- Schildvorschau -->
<div style="border:1px solid #999;padding:8px;font-family:serif"><strong>{{value}}</strong></div>
Vorlagenfelder in Moliri: links das Nummernschild #17 in großer Schrift ohne Beschriftung, rechts die Schildvorschau mit Beschriftung und dem Text Deckelgefäß mit Löwenkopfhenkeln · China, Yuan-Zeit fett in Serifenschrift in einem grauen Rahmen
Links das Nummernschild ohne Beschriftung, die Nummer 17 anderthalbfach groß mit Raute davor. Rechts die Schildvorschau mit Beschriftung, Rahmen und Serifenschrift.

Für Beträge eignet sich formatted. Mit der folgenden Vorlage zeigt ein custom_decimal-Feld den gespeicherten Wert 48000.00000 mit Tausendertrenner als „48 000“, das Euro-Zeichen dahinter steht in der Vorlage:

Beispiel Ergebnis
HTML
<span>{{formatted}} €</span>
Kachel Versicherungswert in Moliri: der gespeicherte Wert 48000 erscheint als 48 000 mit Leerzeichen als Tausendertrenner, dahinter das Euro-Zeichen aus der Vorlage
Das Feld Versicherungswert aus dem Demo-Bestand: Der Platzhalter formatted setzt den gespeicherten Wert mit Tausendertrenner ein, das Euro-Zeichen steht in der Vorlage.

Enthält die Vorlage ein input, select oder textarea, wird dessen Wert beim Ändern gespeichert. Ohne ein solches Element ist das Feld reine Anzeige.

Werte werden maskiert, die Vorlage nicht

Eingesetzte Werte werden HTML-maskiert, ein Wert kann also kein Markup einschleusen. Die Vorlage selbst ist ungeprüftes HTML. Sie ist Konfiguration und gehört in vertrauenswürdige Hände.

Komponente

Der Quelltext der Komponente wird beim Speichern übersetzt; das Ergebnis landet in der Konfiguration unter html und wird nicht von Hand gepflegt. Ein Übersetzungsfehler erscheint im Editor, ein Laufzeitfehler im Feld.

EigenschaftInhalt
fieldder ganze Feldeintrag mit Wert und Konfiguration
valueder gespeicherte Wert
labeldie Feldbeschriftung
object_id, project_idObjekt und Projekt
statusSpeicherzustand
bulkEditob eine Stapelverarbeitung läuft

Jede benutzte Eigenschaft muss die Komponente in $props() annehmen. Sonst bricht das Feld mit einer Meldung wie „value is not defined“ ab. Importe folgen den Regeln des Browsers: relative Pfade und veröffentlichte Pakete gehen (Pakete über esm.sh), Aliase wie $lib nicht.

Von allen Möglichkeiten des Datenmodells ist die eigene Komponente die aufwendigste. Ein Fehler darin trifft jedes Layout, auf dem das Feld liegt. Und bei jeder neuen Svelte-Version muss sie mitgezogen werden.

Parameter

SchlüsselWerteOhne AngabeWirkung
htmlVorlage bzw. übersetztes ModulleerDie Darstellung. Ohne sie bleibt das Feld leer
label_visibletrue, falsetruefalse lässt die Standardbeschriftung weg, wenn die Darstellung eine eigene mitbringt

Export

Exporte, Suche und Vorlagen sehen den Rohwert, nicht die Darstellung. Wer die aufbereitete Form auch im Export braucht, nimmt einen Ausgabe-Formatter oder ein virtuelles Feld.

Wann etwas anderes das richtige Mittel ist

BedarfBesseres Mittel
Aus mehreren Feldern einen Text zusammensetzenVirtuelles Feld , ohne Code und auch im Export
Ein Verweis auf ein Fremdsystem, der im Feld stehtLink mit Vorschau
Tausendertrennung oder EinheitZahl mit passender Maske
Eine formatierte Ausgabe im Exportein Ausgabe-Formatter
Eine wiederholte StrukturJSON