Aller au contenu

Configuration

Enregistrez l’élément une fois, puis configurez chaque instance avec des attributs (chaînes) et des propriétés (objets/fonctions).

import { defineImportSuiteElement } from '@capitality-io/import-suite-ng';
await defineImportSuiteElement('mildport-import');

Définissez-les directement dans le balisage.

Attribut Description
api-base-url Origine de votre moteur auto-hébergé (ou pilote), p. ex. https://imports.your-infra.example.
license-key La clé de licence de locataire signée que le moteur vérifie hors ligne.
grid-impl Implémentation de la grille de revue (p. ex. slickgrid).
<mildport-import
api-base-url="https://imports.your-infra.example"
license-key="SIGNED_TENANT_KEY"
grid-impl="slickgrid"
></mildport-import>

Définissez-les en JavaScript sur l’instance de l’élément.

Propriété Type Description
columnSchema ColumnSchema[] Votre modèle de données cible — les champs sur lesquels une ligne propre est mappée.
applyMode 'webhook' | 'browser' Livrer via un webhook d’application signé, ou rendre les lignes dans la page.
mappingIdentifier string | null Id stable pour que les correspondances confirmées soient mémorisées d’un import à l’autre.
hostConfig ImportSuiteHostConfig Formats acceptés, jointures multi-fichiers, hooks de nettoyage, données d’exemple.
onResults (rows, mapping) => void Callback en mode navigateur avec les lignes livrées + le mapping.
const el = document.querySelector('mildport-import')!;
el.columnSchema = [
{
key: 'person.firstName',
label: 'First name',
columnType: 'string',
alternativeMatches: ['given name', 'vorname'],
},
{
key: 'person.email',
label: 'Email',
columnType: 'email',
validations: [{ validate: 'required' }],
},
// …
];
el.applyMode = 'browser';
el.hostConfig = {
allowMultipleFiles: false,
acceptedFormats: ['spreadsheet', 'text', 'json', 'xml'],
};
el.onResults = (rows, mapping) => sync(rows, mapping);

Suite : Événements et application.