Zum Inhalt springen
Loslegen

Events & Apply

Das Element kommuniziert vollständig über DOM-CustomEvents — abonnieren Sie so viele, wie Sie brauchen.

Event Wird ausgelöst, wenn detail enthält
import-ready Lizenz verifiziert, Widget gemountet tenantId
import-ingested Eine Datei wird in einen Datensatz dekodiert recordId, deduplicated
import-mapped Spalten werden Ihrem Schema zugeordnet recordId, mapping
import-step Der Assistent geht einen Schritt weiter step, previous
import-applied Der Import wird zugestellt recordId, action, rowCount
import-error Etwas schlägt fehl code, message, step
import-cancel Der Nutzer verwirft den Import

Events transportieren Zusammenfassungen, nicht die Daten selbst — import-applied sagt Ihnen, dass Zeilen zugestellt wurden und wie viele, nie die Zeilen:

const el = document.querySelector('mildport-import')!;
el.addEventListener('import-applied', e => {
const { rowCount, action } = (e as CustomEvent).detail;
console.log(`${rowCount} rows delivered (${action})`);
});

Browser-Modus (applyMode = 'browser') — die Zeilen (und die Zuordnung, die sie erzeugt hat) werden der onResults-Property des Elements übergeben, wenn der Nutzer anwendet:

el.onResults = (rows, mapping) => saveRows(rows, mapping);

Sie möchten den Submit vorher prüfen oder stoppen? Nutzen Sie den resultsHook (drittes Argument von mountImportFlow) — dieselben Zeilen, plus Veto-Controls:

mountImportFlow(el, flowInput, {
resultsHook: ({ rows, mapping }, controls) => {
// controls.block('reason') vetoes the submit; doing nothing lets it proceed.
},
});

Gut für Demos, Offline-Embeds und clientseitige Abläufe.

Webhook-Modus (applyMode = 'webhook') — die Engine sendet die angewendeten Zeilen per POST als HMAC-signierte Zustellung an Ihr Backend, mit dauerhaften Wiederholungen und einem Audit-Log. Das ist der Produktionspfad. Siehe die Webhook-Referenz für Signatur und Header.