Konfiguration

Zuletzt geändert am:

Die Konfiguration erfolgt in Vue über Props an FormcentricForm.

Die fachliche Semantik der gemeinsamen Formcentric-Keys ist zentral in Client (Allgemein) dokumentiert.

Diese Seite zeigt daher vor allem die Vue-Schreibweise und Vue-spezifische Besonderheiten.

Größen und Layout

Die gemeinsame Semantik von height und maxWidth ist in Client (Allgemein) beschrieben. In Vue können diese Werte direkt als Props oder über containerProps am Wrapper gesetzt werden.

Beispiel mit Props:


Beispiel mit normalen Vue-Attributen:


Beispiel mit containerProps:


Parent URL / Double-Opt-in

Die fachliche Semantik von parentUrl ist in Client (Allgemein) beschrieben.

In Vue wird derselbe gemeinsame Key direkt als Prop parentUrl gesetzt, zum Beispiel wenn sich das Formular in einem Modal befindet.

Beispiel:


Formulare mit dynamischen Werten vorbelegen

Die fachliche Semantik von vars und das gemeinsame Verhalten mit URL-Parametern sind in Client (Allgemein) beschrieben. In Vue wird der gemeinsame Key direkt als Prop vars gesetzt.

Beispiel:


Sprache und Locale

Die gemeinsame Semantik von language und locale ist in Client (Allgemein) beschrieben. In Vue werden dieselben Keys direkt als Props gesetzt.

Beispiel:


Eigene Übersetzungen einbinden

Die gemeinsame Semantik von localesPath, locales und den Locale-Modul-Formen ist in Client (Allgemein) bei Konfiguration → Eigene Übersetzungen einbinden beschrieben.

In Vue stehen zwei Möglichkeiten zur Verfügung:

  1. localesPath, im Template als locales-path, für ein zur Laufzeit geladenes JavaScript-Modul mit Übersetzungen.
  2. locales für ein direkt übergebenes JavaScript-Objekt, das Übersetzungs-Overrides sowie date-fns- und Upload-Locale-Objekte per Referenz enthält.

Beispiel mit localesPath:


Beispiel mit locales:

Importieren Sie die Locale-Objekte aus den entsprechenden Paketen. Der folgende Ausschnitt zeigt die Struktur; ergänzen Sie unter resources die benötigten Formcentric-Übersetzungen. Über :locales="locales" wird das Objekt an die Komponente übergeben.


Beispiel für eine localesPath-Lokalisierungsdatei:


Captcha Provider konfigurieren

Die gemeinsame Semantik von configuration ist in Client (Allgemein) beschrieben. In Vue wird derselbe gemeinsame Key direkt als Prop configuration gesetzt.

Beispiel:


Formularname und weitere Metadaten

Die gemeinsame Semantik von formName, refs, requestHeaders und weiteren Metadaten ist in Client (Allgemein) beschrieben. In Vue werden diese gemeinsamen Keys direkt als Props gesetzt.

Beispiel:


Vollständige Props-Referenz und Event-Referenz

Die Komponente FormcentricForm unterstützt alle Mount-Konfigurationswerte als Top-Level-Props sowie Vue-spezifische Zusatz-Props und Events.

Vue-spezifische Props und Wrapper-Attribute

  1. remountKey?: string | number
    Erzwingt eine vollständige Reinitialisierung des Formulars. Dieses Prop sollte verwendet werden, wenn sich init-time Props zur Laufzeit ändern.
  2. containerProps?: Record<string, unknown> Übergibt Attribute an das umschließende <div>, zum Beispiel class, style, id, role, aria-* oder weitere Attribute.
  3. Normale Vue-Attribute auf <FormcentricForm> Attribute wie class, style, id oder aria-* werden ebenfalls auf das umschließende <div> angewendet.

Events

  1. @ready Wird nach erfolgreicher Initialisierung ausgelöst.
  2. @error Wird bei Initialisierungs- oder Laufzeitfehlern ausgelöst. Das Event liefert ein Error-Objekt.

Instanz- und Konfliktverhalten

  1. conflictBehavior?: 'throw' | 'stop-existing'
    Steuert das Verhalten, wenn dieselbe embedId bereits auf einer anderen oder derselben DOM-Instanz aktiv ist.
    Im Vue-Wrapper ist standardmäßig stop-existing aktiv.

Identifikation und Formquelle

Die fachliche Semantik der gemeinsamen Props ist in Client (Allgemein) beschrieben.

In Vue heißen sie:

Prop
embedId
formDefinition
srcUrl
dataUrl
designUrl

Theme- und Asset-Konfiguration

Die fachliche Semantik der gemeinsamen Props ist in Client (Allgemein) beschrieben.

In Vue heißen sie:

Prop
designUrl
themeUrl
themeVariableUrl
themeVariables
templateUrl
themeDir
theme
skipThemeLoad
skipTemplatesLoad
skipFormLoad

Vorbelegung, Request-Kontext und Metadaten

Die fachliche Semantik der gemeinsamen Props ist in Client (Allgemein) beschrieben.

In Vue heißen sie:

Prop
vars
params
refs
token
requestHeaders
formName
instanceId
env
parentUrl
configuration

Internationalisierung, Layout und Debugging

Die fachliche Semantik der gemeinsamen Props ist in Client (Allgemein) beschrieben.

In Vue heißen sie:

Prop
language
locale
localesPath
locales
debug
maxWidth
height

Wichtige Verhaltensregeln und Defaults

  1. Mindestens eines von embedId oder formDefinition muss gesetzt sein.
  2. Die meisten Konfigurations-Props sind reine Initialisierungs-Props. Änderungen daran werden nicht automatisch in eine laufende Instanz übernommen.
  3. Änderungen an embedId, formDefinition oder remountKey führen zu einer erneuten Einbettung.
  4. Änderungen an provideFormcentricConfig(...) Werten oder browser-globalen Defaults wirken ebenfalls erst nach einer erneuten Einbettung.
  5. Attribute des Wrapper-Elements wie class, style, id, aria-* oder containerProps betreffen das umschließende <div> und nicht die laufende Formcentric-Instanz selbst.
  6. Im Vue-Wrapper ist conflictBehavior standardmäßig auf stop-existing gesetzt.
  7. skipThemeLoad und skipTemplatesLoad werden nur berücksichtigt, wenn sie explizit gesetzt sind.
  8. Wenn Sie dasselbe Formular bewusst weiterverwenden möchten, sollte embedId stabil bleiben.
  9. Für eine erzwungene Neuinitialisierung sollte remountKey verwendet werden, nicht ein wechselnder Vue-key.
  10. Objektbasierte Props wie vars, params, themeVariables, configuration oder containerProps sollten als serialisierbare Objekte übergeben werden. locales ist die Ausnahme: Es enthält date-fns- und Upload-Locale-Objekte einschließlich ihrer Funktionen und wird per Referenz übergeben.
  11. Das Static-Attribut data-fc-watch ist für komponentenbasierte Vue-Einbettungen nicht relevant.

Feedback