Ir al contenido
Empezar

Eventos y aplicación

El elemento se comunica enteramente a través de CustomEvents del DOM — suscríbete a tantos como necesites.

Evento Se dispara cuando detail incluye
import-ready Licencia verificada, widget montado tenantId
import-ingested Un archivo se decodifica en un registro recordId, deduplicated
import-mapped Las columnas se emparejan con tu esquema recordId, mapping
import-step El asistente avanza un paso step, previous
import-applied La importación se entrega recordId, action, rowCount
import-error Algo falla code, message, step
import-cancel El usuario descarta la importación

Los eventos transportan resúmenes, no los datos en sí — import-applied te dice que se entregaron filas y cuántas, nunca las filas:

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

Modo navegador (applyMode = 'browser') — las filas (y el mapeo que las produjo) se entregan a la propiedad onResults del elemento cuando el usuario aplica:

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

¿Necesitas inspeccionar o vetar el envío antes de que se complete? Usa el resultsHook (tercer argumento de mountImportFlow) — las mismas filas, más controles de veto:

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

Ideal para demos, embeds offline y flujos del lado del cliente.

Modo webhook (applyMode = 'webhook') — el motor envía las filas aplicadas a tu backend por POST como una entrega firmada con HMAC, con reintentos duraderos y un registro de auditoría. Este es el camino de producción. Consulta la referencia de webhooks para la firma y los encabezados.