É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})`);});Deux façons de recevoir les lignes
Section intitulée « Deux façons de recevoir les lignes »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.