Konfiguration
Registrieren Sie das Element einmal, konfigurieren Sie dann jede Instanz mit Attributen (Strings) und Properties (Objekte/Funktionen).
import { defineImportSuiteElement, mountImportFlow } from '@capitality-io/mildport-widget';await defineImportSuiteElement('mildport-import');Eine Konfigurationsoberfläche: targets
Abschnitt betitelt „Eine Konfigurationsoberfläche: targets“Deklarieren Sie, welche Datensatztypen erstellt werden können und welche Felder jeder enthält. Mildport leitet Matching, Validierung und Capture-first-UX intern aus diesem Katalog ab.
| Szenario | Beispiel |
|---|---|
| Capture-first (PDF, Foto, Notizen) | Mehrere Targets — Contact, Lead, Task… |
| Multi-Entity-Spreadsheet | { id: 'person', fields: [...] }, { id: 'organization', fields: [...] } |
| Einzelnes flaches CSV | Ein Target — { id: 'contact', fields: [...] } |
Empfohlen: verwenden Sie mountImportFlow(), um Targets, Upload-Flags, Apply-Modus und
Mapping-Gedächtnis zu bündeln. Siehe Capture-first-Importe.
Attribute
Abschnitt betitelt „Attribute“| Attribut | Beschreibung |
|---|---|
api-base-url |
Origin Ihrer selbstgehosteten (oder Pilot-)Engine, z. B. https://imports.your-infra.example. |
license-key |
Der signierte Tenant-Lizenzschlüssel, den die Engine offline verifiziert. |
grid-impl |
Implementierung des Prüfrasters (z. B. slickgrid). |
<mildport-import api-base-url="https://imports.your-infra.example" license-key="SIGNED_TENANT_KEY" grid-impl="slickgrid"></mildport-import>Properties
Abschnitt betitelt „Properties“| Property | Typ | Beschreibung |
|---|---|---|
targets |
TargetCatalog |
Erforderlich — Datensatztypen + Feldmetadaten (Typen, Validatoren, Matcher-Aliase). |
applyMode |
'webhook' | 'browser' |
Zustellung über einen signierten Apply-Webhook oder Rückgabe der Zeilen in der Seite. |
mappingIdentifier |
string | null |
Stabile ID, damit bestätigte Zuordnungen über Importe hinweg gemerkt werden. |
hostConfig |
ImportSuiteHostConfig |
Akzeptierte Formate, Mehrdatei-Joins, Cleaning-Hooks, Beispieldaten, KI-Bereinigungsstufe (aiTransforms: 'off' | 'suggest' | 'full') und Audit-actor. |
profile |
ImportProfile |
Ein versioniertes Importprofil ({mapping?, recipe?}): das Mapping wird beim Zuordnen automatisch angewendet, das Rezept erscheint als Ein-Klick-Bereinigungsvorschlag in der Prüfung. |
onResults |
(rows, mapping) => void |
Browser-Modus-Callback mit den zugestellten Zeilen + Zuordnung. |
Beispiel — mountImportFlow (empfohlen)
Abschnitt betitelt „Beispiel — mountImportFlow (empfohlen)“const el = document.querySelector('mildport-import')!;
mountImportFlow(el, { id: 'tenant-contacts', version: 'v1', targets: [ { id: 'person', label: 'Person', fields: [ { key: 'person.firstName', label: 'Vorname', alternativeMatches: ['given name', 'vorname'], }, { key: 'person.email', label: 'E-Mail', columnType: 'email', required: true, }, ], }, { id: 'organization', label: 'Organisation', fields: [{ key: 'organization.name', label: 'Firmenname' }], }, ], input: { acceptedFormats: ['spreadsheet', 'text', 'pdf', 'image'] }, delivery: { mode: 'browser' },});
el.onResults = (rows, mapping) => sync(rows, mapping);Beispiel — targets direkt setzen
Abschnitt betitelt „Beispiel — targets direkt setzen“el.targets = [ { id: 'contact', label: 'Kontakt', fields: [ { key: 'contact.email', label: 'E-Mail', columnType: 'email', required: true }, { key: 'contact.name', label: 'Name' }, ], },];el.applyMode = 'browser';el.hostConfig = { acceptedFormats: ['pdf', 'image', 'text', 'spreadsheet'] };Weiter: Events & Apply.