Aller au contenu
Commencer

Événements et application

L’élément communique entièrement via des CustomEvent du DOM — abonnez-vous à autant que nécessaire.

Événement Se déclenche quand detail contient
import-ready Licence vérifiée, widget monté tenantId
import-ingested Un fichier est décodé en un enregistrement recordId, deduplicated
import-mapped Les colonnes sont mises en correspondance avec votre schéma recordId, mapping
import-step L’assistant passe une étape step, previous
import-applied L’import est livré recordId, action, rowCount
import-error Quelque chose échoue code, message, step
import-cancel L’utilisateur abandonne l’import

Les événements transportent des résumés, pas les données elles-mêmes — import-applied vous dit que des lignes ont été livrées et combien, jamais les lignes :

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

Mode navigateur (applyMode = 'browser') — les lignes (et le mapping qui les a produites) sont remises à la propriété onResults de l’élément quand l’utilisateur applique :

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

Besoin d’inspecter ou de bloquer la soumission avant qu’elle aboutisse ? Utilisez le resultsHook (troisième argument de mountImportFlow) — mêmes lignes, plus les contrôles de veto :

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

Idéal pour les démos, les intégrations hors ligne et les flux côté client.

Mode webhook (applyMode = 'webhook') — le moteur envoie les lignes appliquées à votre backend par POST sous forme de livraison signée en HMAC, avec relances durables et un journal d’audit. C’est le chemin de production. Voir la référence des webhooks pour la signature et les en-têtes.