Перейти к содержимому

Настройка

Зарегистрируйте элемент один раз, затем настройте каждый экземпляр атрибутами (строки) и свойствами (объекты/функции).

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

Задавайте их прямо в разметке.

Атрибут Описание
api-base-url Origin вашего самостоятельно размещаемого (или пилотного) движка, напр. https://imports.your-infra.example.
license-key Подписанный ключ лицензии тенанта, который движок проверяет офлайн.
grid-impl Реализация сетки проверки (напр. slickgrid).
<mildport-import
api-base-url="https://imports.your-infra.example"
license-key="SIGNED_TENANT_KEY"
grid-impl="slickgrid"
></mildport-import>

Задавайте их в JavaScript на экземпляре элемента.

Свойство Тип Описание
columnSchema ColumnSchema[] Ваша целевая модель данных — поля, на которые отображается чистая строка.
applyMode 'webhook' | 'browser' Доставка через подписанный вебхук применения или возврат строк прямо на странице.
mappingIdentifier string | null Стабильный id, чтобы подтверждённые сопоставления запоминались между импортами.
hostConfig ImportSuiteHostConfig Принимаемые форматы, объединения нескольких файлов, хуки очистки, примеры данных.
onResults (rows, mapping) => void Колбэк в режиме браузера с доставленными строками + сопоставлением.
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);

Дальше: События и применение.