@wix/bex-core 2.332.0 → 2.333.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/locale/messages_ar.json +3 -0
- package/dist/cjs/assets/locale/messages_bg.json +3 -0
- package/dist/cjs/assets/locale/messages_ca.json +3 -0
- package/dist/cjs/assets/locale/messages_cs.json +3 -0
- package/dist/cjs/assets/locale/messages_da.json +3 -0
- package/dist/cjs/assets/locale/messages_de.json +3 -0
- package/dist/cjs/assets/locale/messages_el.json +3 -0
- package/dist/cjs/assets/locale/messages_en.json +3 -0
- package/dist/cjs/assets/locale/messages_es.json +3 -0
- package/dist/cjs/assets/locale/messages_fi.json +3 -0
- package/dist/cjs/assets/locale/messages_fr.json +3 -0
- package/dist/cjs/assets/locale/messages_he.json +3 -0
- package/dist/cjs/assets/locale/messages_hi.json +3 -0
- package/dist/cjs/assets/locale/messages_hu.json +3 -0
- package/dist/cjs/assets/locale/messages_id.json +3 -0
- package/dist/cjs/assets/locale/messages_it.json +3 -0
- package/dist/cjs/assets/locale/messages_ja.json +3 -0
- package/dist/cjs/assets/locale/messages_ko.json +3 -0
- package/dist/cjs/assets/locale/messages_lt.json +3 -0
- package/dist/cjs/assets/locale/messages_ms.json +3 -0
- package/dist/cjs/assets/locale/messages_nl.json +3 -0
- package/dist/cjs/assets/locale/messages_no.json +3 -0
- package/dist/cjs/assets/locale/messages_pl.json +3 -0
- package/dist/cjs/assets/locale/messages_pt.json +3 -0
- package/dist/cjs/assets/locale/messages_ro.json +3 -0
- package/dist/cjs/assets/locale/messages_ru.json +3 -0
- package/dist/cjs/assets/locale/messages_sk.json +3 -0
- package/dist/cjs/assets/locale/messages_sl.json +3 -0
- package/dist/cjs/assets/locale/messages_sv.json +3 -0
- package/dist/cjs/assets/locale/messages_th.json +3 -0
- package/dist/cjs/assets/locale/messages_tl.json +3 -0
- package/dist/cjs/assets/locale/messages_tr.json +3 -0
- package/dist/cjs/assets/locale/messages_uk.json +3 -0
- package/dist/cjs/assets/locale/messages_vi.json +3 -0
- package/dist/cjs/assets/locale/messages_zh.json +3 -0
- package/dist/cjs/assets/locale/version_file +1 -1
- package/dist/cjs/assets/visual-e2e-locale/messages_visuale2e.json +29 -2
- package/dist/cjs/hooks/index.js +0 -6
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/index.js +0 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalState.js +12 -0
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/state/ImportState/ImportState.js +324 -133
- package/dist/cjs/state/ImportState/ImportState.js.map +1 -1
- package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js +413 -79
- package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
- package/dist/cjs/state/ImportState/detectFieldType.js +23 -0
- package/dist/cjs/state/ImportState/detectFieldType.js.map +1 -1
- package/dist/cjs/state/ImportState/fieldEdit.js +49 -0
- package/dist/cjs/state/ImportState/fieldEdit.js.map +1 -1
- package/dist/cjs/testkit/createInMemorySchemaSource.js +186 -0
- package/dist/cjs/testkit/createInMemorySchemaSource.js.map +1 -0
- package/dist/cjs/testkit/hubJobImportMocks.js +18 -2
- package/dist/cjs/testkit/hubJobImportMocks.js.map +1 -1
- package/dist/cjs/testkit/index.js +6 -0
- package/dist/cjs/testkit/index.js.map +1 -1
- package/dist/cjs/types/SchemaSource.js +2 -1
- package/dist/cjs/types/SchemaSource.js.map +1 -1
- package/dist/esm/assets/locale/messages_ar.json +3 -0
- package/dist/esm/assets/locale/messages_bg.json +3 -0
- package/dist/esm/assets/locale/messages_ca.json +3 -0
- package/dist/esm/assets/locale/messages_cs.json +3 -0
- package/dist/esm/assets/locale/messages_da.json +3 -0
- package/dist/esm/assets/locale/messages_de.json +3 -0
- package/dist/esm/assets/locale/messages_el.json +3 -0
- package/dist/esm/assets/locale/messages_en.json +3 -0
- package/dist/esm/assets/locale/messages_es.json +3 -0
- package/dist/esm/assets/locale/messages_fi.json +3 -0
- package/dist/esm/assets/locale/messages_fr.json +3 -0
- package/dist/esm/assets/locale/messages_he.json +3 -0
- package/dist/esm/assets/locale/messages_hi.json +3 -0
- package/dist/esm/assets/locale/messages_hu.json +3 -0
- package/dist/esm/assets/locale/messages_id.json +3 -0
- package/dist/esm/assets/locale/messages_it.json +3 -0
- package/dist/esm/assets/locale/messages_ja.json +3 -0
- package/dist/esm/assets/locale/messages_ko.json +3 -0
- package/dist/esm/assets/locale/messages_lt.json +3 -0
- package/dist/esm/assets/locale/messages_ms.json +3 -0
- package/dist/esm/assets/locale/messages_nl.json +3 -0
- package/dist/esm/assets/locale/messages_no.json +3 -0
- package/dist/esm/assets/locale/messages_pl.json +3 -0
- package/dist/esm/assets/locale/messages_pt.json +3 -0
- package/dist/esm/assets/locale/messages_ro.json +3 -0
- package/dist/esm/assets/locale/messages_ru.json +3 -0
- package/dist/esm/assets/locale/messages_sk.json +3 -0
- package/dist/esm/assets/locale/messages_sl.json +3 -0
- package/dist/esm/assets/locale/messages_sv.json +3 -0
- package/dist/esm/assets/locale/messages_th.json +3 -0
- package/dist/esm/assets/locale/messages_tl.json +3 -0
- package/dist/esm/assets/locale/messages_tr.json +3 -0
- package/dist/esm/assets/locale/messages_uk.json +3 -0
- package/dist/esm/assets/locale/messages_vi.json +3 -0
- package/dist/esm/assets/locale/messages_zh.json +3 -0
- package/dist/esm/assets/locale/version_file +1 -1
- package/dist/esm/assets/visual-e2e-locale/messages_visuale2e.json +29 -2
- package/dist/esm/hooks/index.js +0 -1
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CustomFieldModalState.js +8 -0
- package/dist/esm/state/CustomFieldModalState.js.map +1 -1
- package/dist/esm/state/ImportState/ImportState.js +246 -111
- package/dist/esm/state/ImportState/ImportState.js.map +1 -1
- package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js +293 -67
- package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
- package/dist/esm/state/ImportState/detectFieldType.js +19 -0
- package/dist/esm/state/ImportState/detectFieldType.js.map +1 -1
- package/dist/esm/state/ImportState/fieldEdit.js +44 -0
- package/dist/esm/state/ImportState/fieldEdit.js.map +1 -1
- package/dist/esm/testkit/createInMemorySchemaSource.js +140 -0
- package/dist/esm/testkit/createInMemorySchemaSource.js.map +1 -0
- package/dist/esm/testkit/hubJobImportMocks.js +17 -1
- package/dist/esm/testkit/hubJobImportMocks.js.map +1 -1
- package/dist/esm/testkit/index.js +1 -0
- package/dist/esm/testkit/index.js.map +1 -1
- package/dist/esm/types/SchemaSource.js.map +1 -1
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +7 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalState.d.ts +9 -0
- package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
- package/dist/types/state/ImportState/ImportState.d.ts +165 -61
- package/dist/types/state/ImportState/ImportState.d.ts.map +1 -1
- package/dist/types/state/ImportState/detectFieldType.d.ts +2 -0
- package/dist/types/state/ImportState/detectFieldType.d.ts.map +1 -1
- package/dist/types/state/ImportState/fieldEdit.d.ts +6 -0
- package/dist/types/state/ImportState/fieldEdit.d.ts.map +1 -1
- package/dist/types/testkit/WixPatternsContainer.driver.d.ts +4 -0
- package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
- package/dist/types/testkit/createInMemorySchemaSource.d.ts +41 -0
- package/dist/types/testkit/createInMemorySchemaSource.d.ts.map +1 -0
- package/dist/types/testkit/hubJobImportMocks.d.ts +11 -1
- package/dist/types/testkit/hubJobImportMocks.d.ts.map +1 -1
- package/dist/types/testkit/index.d.ts +1 -0
- package/dist/types/testkit/index.d.ts.map +1 -1
- package/dist/types/types/SchemaSource.d.ts +6 -4
- package/dist/types/types/SchemaSource.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/hooks/useImportConfig.js +0 -12
- package/dist/cjs/hooks/useImportConfig.js.map +0 -1
- package/dist/esm/hooks/useImportConfig.js +0 -6
- package/dist/esm/hooks/useImportConfig.js.map +0 -1
- package/dist/types/hooks/useImportConfig.d.ts +0 -5
- package/dist/types/hooks/useImportConfig.d.ts.map +0 -1
|
@@ -8,6 +8,7 @@ import { WritePolicy, type Destination } from '@wix/bex-utils/@wix/ambassador-hu
|
|
|
8
8
|
import { type DetectColumnType, type NewFieldType } from './detectFieldType';
|
|
9
9
|
import type { FieldSpec, NonReferenceField } from '../../types/Field';
|
|
10
10
|
import type { Schema } from '../../types/Schema';
|
|
11
|
+
import type { FieldDraft, FieldManagement, FieldPermissions } from '../../types/FieldsSource';
|
|
11
12
|
export interface ImportCollection {
|
|
12
13
|
clearResultAndMoveToStart(params?: {
|
|
13
14
|
force?: boolean;
|
|
@@ -17,6 +18,10 @@ export interface ImportCollection {
|
|
|
17
18
|
export interface ImportResult {
|
|
18
19
|
succeeded: number;
|
|
19
20
|
failed: number;
|
|
21
|
+
/** New items created in the destination (subset of `succeeded`). */
|
|
22
|
+
created: number;
|
|
23
|
+
/** Existing items updated in the destination (subset of `succeeded`). */
|
|
24
|
+
updated: number;
|
|
20
25
|
}
|
|
21
26
|
export interface BackupResult {
|
|
22
27
|
/**
|
|
@@ -39,34 +44,49 @@ export interface BackupResult {
|
|
|
39
44
|
*/
|
|
40
45
|
export type BackupFn = (signal: AbortSignal) => Promise<BackupResult | void>;
|
|
41
46
|
export type DownloadCsvFn = (content: string, fileName: string) => void;
|
|
47
|
+
/** The application error from a failed import job, handed to a resolver. */
|
|
48
|
+
export type ImportJobApplicationError = {
|
|
49
|
+
code?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
/** Any structured payload the server attached to the error (e.g. a field list). */
|
|
52
|
+
data?: Record<string, any>;
|
|
53
|
+
};
|
|
42
54
|
/**
|
|
43
|
-
* Consumer
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* (the v2 errorHandler shape, like `getExportAsyncJobErrors`):
|
|
55
|
+
* Consumer-supplied map from a failed import job's application-error code to a
|
|
56
|
+
* resolver that returns the message to show. An import runs server-side, so a
|
|
57
|
+
* failure arrives on a 200 (the poll succeeds; the job doesn't) with the
|
|
58
|
+
* application error in the job status. The consumer supplies only the
|
|
59
|
+
* code→message map (their codes, their translations) — ImportState applies it
|
|
60
|
+
* through the container's `errorHandler` internally, so the progress step can
|
|
61
|
+
* resolve the message via `getResolvedError`. The resolver receives the job's
|
|
62
|
+
* application error (its `code`/`description`/`data`):
|
|
52
63
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* })
|
|
64
|
+
* jobApplicationErrorMap: {
|
|
65
|
+
* [jobErrorCode]: (error) => ({ message: translate(..., error.data) }),
|
|
66
|
+
* }
|
|
57
67
|
*
|
|
58
|
-
*
|
|
59
|
-
* the progress step resolves a consumer-specific message via `getResolvedError`.
|
|
60
|
-
* When omitted, the error still surfaces but resolves to the generic message.
|
|
68
|
+
* When omitted, a failed job falls back to the generic error message.
|
|
61
69
|
*/
|
|
62
|
-
export type
|
|
63
|
-
|
|
70
|
+
export type JobApplicationErrorMap = Record<string, (error: ImportJobApplicationError) => {
|
|
71
|
+
message: string;
|
|
72
|
+
}>;
|
|
73
|
+
export type ImportField = NonNullable<CreateExportAsyncJobRequest['fields']>[number] & {
|
|
74
|
+
required?: boolean;
|
|
75
|
+
};
|
|
64
76
|
export { WritePolicy } from '@wix/bex-utils/@wix/ambassador-hub-v1-job/types';
|
|
65
77
|
export type { Destination } from '@wix/bex-utils/@wix/ambassador-hub-v1-job/types';
|
|
66
78
|
export interface NewFieldConfig {
|
|
67
79
|
validation?: NonReferenceField['validation'];
|
|
68
80
|
isPii?: boolean;
|
|
69
81
|
helpText?: string;
|
|
82
|
+
/** DataExtension-only: read/write permission defaults chosen in the editor. */
|
|
83
|
+
permissions?: FieldPermissions;
|
|
84
|
+
/**
|
|
85
|
+
* DataExtension-only: the precise DataExtension field-type id the user picked
|
|
86
|
+
* (e.g. `'decimal'`), finer than the coarse detected `NewFieldType`. Absent ⇒
|
|
87
|
+
* the type is derived from the column's detected `NewFieldType`.
|
|
88
|
+
*/
|
|
89
|
+
deType?: string;
|
|
70
90
|
}
|
|
71
91
|
export interface NewFieldDefinition {
|
|
72
92
|
key: string;
|
|
@@ -89,6 +109,17 @@ export interface NewFieldDefinition {
|
|
|
89
109
|
* load.
|
|
90
110
|
*/
|
|
91
111
|
export type UpdateSchemaFn = (fields: NewFieldDefinition[]) => Promise<Schema['fields'] | void>;
|
|
112
|
+
/**
|
|
113
|
+
* Creates the pending new DataExtension custom fields before the rows are
|
|
114
|
+
* uploaded — the `destination` branch's counterpart to `updateSchema`. Its
|
|
115
|
+
* presence is the "create new field" opt-in for a DataExtension import. Receives
|
|
116
|
+
* the source-neutral pending columns (Cairo-decided keys + names + the edited
|
|
117
|
+
* config); the DataExtension source (`DataExtensionImportRef`) builds its own
|
|
118
|
+
* field shape from them, so no DataExtension-specific shape leaks into core.
|
|
119
|
+
* Optionally returns the updated fields map to merge into the table (CAIRO-4400);
|
|
120
|
+
* DataExtension refreshes its own schema in place, so returning `void` is fine.
|
|
121
|
+
*/
|
|
122
|
+
export type CreateDataExtensionFieldsFn = (fields: PendingNewField[]) => Promise<Schema['fields'] | void>;
|
|
92
123
|
/**
|
|
93
124
|
* How a CSV column is mapped:
|
|
94
125
|
* - `existing` — into an existing collection field by id
|
|
@@ -108,47 +139,76 @@ export type ColumnMapping = {
|
|
|
108
139
|
displayName?: string;
|
|
109
140
|
config?: NewFieldConfig;
|
|
110
141
|
} | null;
|
|
142
|
+
/** A `new`-mapped column with its deduped key + display name, handed to a
|
|
143
|
+
* source's create callback so it can build its own field shape. */
|
|
144
|
+
export type PendingNewField = {
|
|
145
|
+
key: string;
|
|
146
|
+
displayName: string;
|
|
147
|
+
mapping: Extract<ColumnMapping, {
|
|
148
|
+
kind: 'new';
|
|
149
|
+
}>;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Where the import writes and how it creates new fields, split per source. The
|
|
153
|
+
* discriminant (`collectionId` vs `destination`) makes the two mutually
|
|
154
|
+
* exclusive and pairs each target with its own create-fields callback, so a CMS
|
|
155
|
+
* target can't be paired with a DataExtension create callback (or vice versa).
|
|
156
|
+
* Each branch's create members are optional — a plain import supplies none and
|
|
157
|
+
* is mapping-only.
|
|
158
|
+
*/
|
|
159
|
+
export type ImportDataSource = {
|
|
160
|
+
/** Wix Data collection the import writes into (the common CMS case). */
|
|
161
|
+
collectionId: string;
|
|
162
|
+
/** Creates new schema fields before upload; resolves with the updated map. */
|
|
163
|
+
updateSchema?: UpdateSchemaFn;
|
|
164
|
+
} | {
|
|
165
|
+
/**
|
|
166
|
+
* Platformized (non–Wix-Data) destination, sent to the job verbatim (e.g.
|
|
167
|
+
* `{ storesCatalogProducts: {} }`). `writePolicy` is never attached to it.
|
|
168
|
+
*/
|
|
169
|
+
destination: Destination;
|
|
170
|
+
/** Creates new DataExtension custom fields before upload. */
|
|
171
|
+
createFields?: CreateDataExtensionFieldsFn;
|
|
172
|
+
/**
|
|
173
|
+
* The source's field-management contract, used by the DataExtension
|
|
174
|
+
* "create/edit field" editor (creatable types, permissions, existing keys).
|
|
175
|
+
* Present when the source permits adding fields.
|
|
176
|
+
*/
|
|
177
|
+
fieldManagement?: FieldManagement;
|
|
178
|
+
};
|
|
111
179
|
/**
|
|
112
180
|
* The import inputs a consumer supplies. Satisfied both by a plain object (the
|
|
113
|
-
* manual case) and by a live
|
|
114
|
-
*
|
|
115
|
-
* schema load needn't resolve before `ImportState` is
|
|
116
|
-
* it by reference (never spreads it) so those getters
|
|
181
|
+
* manual case) and by a live reference (`useSchemaImport` in `@wix/patterns`, or
|
|
182
|
+
* the internally-built `DataExtensionImportRef`) whose members are getters read
|
|
183
|
+
* on demand — so the async schema load needn't resolve before `ImportState` is
|
|
184
|
+
* built. `ImportState` holds it by reference (never spreads it) so those getters
|
|
185
|
+
* stay live.
|
|
117
186
|
*/
|
|
118
187
|
export interface ImportButtonConfig {
|
|
119
188
|
/** Existing collection fields, for column auto-mapping. */
|
|
120
189
|
fields: ImportField[];
|
|
121
|
-
/**
|
|
122
|
-
|
|
190
|
+
/** Where the import writes, and how it creates new fields — see {@link ImportDataSource}. */
|
|
191
|
+
dataSource: ImportDataSource;
|
|
123
192
|
/**
|
|
124
|
-
*
|
|
125
|
-
* `
|
|
126
|
-
*
|
|
193
|
+
* Optional snapshot taken before the rows are uploaded. The returned
|
|
194
|
+
* `restore` is invoked only if the user cancels mid-import — a job failure
|
|
195
|
+
* leaves partial rows and offers "Try again" instead.
|
|
127
196
|
*/
|
|
128
|
-
destination?: Destination;
|
|
129
197
|
backup?: BackupFn;
|
|
130
|
-
/** Creates new fields before upload; resolves with the updated fields map. */
|
|
131
|
-
updateSchema?: UpdateSchemaFn;
|
|
132
198
|
/**
|
|
133
|
-
* Merges
|
|
134
|
-
* import, so the new columns appear with no reload (CAIRO-4400). A
|
|
135
|
-
* config (see `useSchemaImport` in `@wix/patterns`) wires this to
|
|
136
|
-
* schema; when omitted, the new columns wait for the next schema load.
|
|
199
|
+
* Merges a create callback's returned fields map into the table after a
|
|
200
|
+
* successful import, so the new columns appear with no reload (CAIRO-4400). A
|
|
201
|
+
* schema-backed config (see `useSchemaImport` in `@wix/patterns`) wires this to
|
|
202
|
+
* its live schema; when omitted, the new columns wait for the next schema load.
|
|
137
203
|
*/
|
|
138
204
|
mergeFields?: (fields: Schema['fields']) => void;
|
|
139
|
-
/** See {@link
|
|
140
|
-
|
|
205
|
+
/** See {@link JobApplicationErrorMap}. */
|
|
206
|
+
jobApplicationErrorMap?: JobApplicationErrorMap;
|
|
141
207
|
/**
|
|
142
208
|
* The collection's id-field key, for the id-collision write policy. Defaults
|
|
143
209
|
* to `_id` (the Wix Data default) when unset.
|
|
144
210
|
*/
|
|
145
211
|
idFieldKey?: string;
|
|
146
|
-
/**
|
|
147
|
-
* Whether the user may create new fields. When set, it gates create-new-field
|
|
148
|
-
* directly (e.g. a schema's `createField` permission); when unset, the presence
|
|
149
|
-
* of `updateSchema` is the opt-in.
|
|
150
|
-
*/
|
|
151
|
-
canAddFields?: boolean;
|
|
152
212
|
}
|
|
153
213
|
export interface ImportStateProps {
|
|
154
214
|
/** The import inputs (existing fields, destination, create-new-field, backup). */
|
|
@@ -170,7 +230,7 @@ export interface ImportStateProps {
|
|
|
170
230
|
showToast?: ShowToast;
|
|
171
231
|
downloadCsv?: DownloadCsvFn;
|
|
172
232
|
}
|
|
173
|
-
export type ImportStep = 'upload' | 'configuration' | 'progress';
|
|
233
|
+
export type ImportStep = 'upload' | 'configuration' | 'progress' | 'summary';
|
|
174
234
|
export declare class ImportState {
|
|
175
235
|
private readonly config;
|
|
176
236
|
readonly collection: ImportCollection;
|
|
@@ -199,7 +259,7 @@ export declare class ImportState {
|
|
|
199
259
|
private _cancelled;
|
|
200
260
|
private _abortController;
|
|
201
261
|
private _jobId;
|
|
202
|
-
|
|
262
|
+
editingHeader: string | null;
|
|
203
263
|
private _pendingFieldsMap?;
|
|
204
264
|
constructor(props: ImportStateProps);
|
|
205
265
|
/** Existing collection fields, for column auto-mapping. */
|
|
@@ -208,8 +268,13 @@ export declare class ImportState {
|
|
|
208
268
|
get collectionId(): string | undefined;
|
|
209
269
|
get destination(): Destination | undefined;
|
|
210
270
|
get backup(): BackupFn | undefined;
|
|
271
|
+
/** CMS create-fields callback, present only on the `collectionId` branch. */
|
|
211
272
|
get updateSchema(): UpdateSchemaFn | undefined;
|
|
212
|
-
|
|
273
|
+
/** DataExtension create-fields callback, present only on the `destination` branch. */
|
|
274
|
+
get createDataExtensionFields(): CreateDataExtensionFieldsFn | undefined;
|
|
275
|
+
/** DataExtension field-management for the editor, on the `destination` branch. */
|
|
276
|
+
get dataExtensionFieldManagement(): FieldManagement | undefined;
|
|
277
|
+
get jobApplicationErrorMap(): JobApplicationErrorMap | undefined;
|
|
213
278
|
private get idFieldKey();
|
|
214
279
|
init(): () => void;
|
|
215
280
|
get hasParsedRows(): boolean;
|
|
@@ -223,6 +288,17 @@ export declare class ImportState {
|
|
|
223
288
|
*/
|
|
224
289
|
get hasNoMappedData(): boolean;
|
|
225
290
|
get selectedFieldIds(): Set<string>;
|
|
291
|
+
/**
|
|
292
|
+
* Required destination fields that no CSV column is mapped to (CAIRO-4452).
|
|
293
|
+
* A required field is an existing collection field, so only an `existing`
|
|
294
|
+
* mapping can satisfy it — a "create new field" column can't. Covers both
|
|
295
|
+
* ways a required field ends up unmapped: the CSV has no matching column at
|
|
296
|
+
* all, or the user set its column to "don't import". Drives the footer
|
|
297
|
+
* indicator and blocks `startImport`.
|
|
298
|
+
*/
|
|
299
|
+
get missingRequiredFields(): ImportField[];
|
|
300
|
+
get hasMissingRequiredFields(): boolean;
|
|
301
|
+
private _missingRequiredFieldNames;
|
|
226
302
|
/**
|
|
227
303
|
* The CSV header currently mapped to the collection's `_id` field, or `null`
|
|
228
304
|
* when no column targets it. Drives both the "When items share the same ID"
|
|
@@ -233,9 +309,10 @@ export declare class ImportState {
|
|
|
233
309
|
setWritePolicy(policy: WritePolicy): void;
|
|
234
310
|
/**
|
|
235
311
|
* Whether columns may be mapped to a brand-new field created during import.
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
312
|
+
* The opt-in is the presence of the active `dataSource` branch's create
|
|
313
|
+
* callback — `updateSchema` (CMS) or `createFields` (DataExtension). A source
|
|
314
|
+
* that can't create fields (e.g. no create permission) supplies neither, so
|
|
315
|
+
* columns fall back to "don't import" (see `getDefaultMapping`).
|
|
239
316
|
*/
|
|
240
317
|
get canCreateNewField(): boolean;
|
|
241
318
|
/**
|
|
@@ -250,6 +327,11 @@ export declare class ImportState {
|
|
|
250
327
|
get canConfigureWritePolicy(): boolean;
|
|
251
328
|
reset(): void;
|
|
252
329
|
close(): Promise<void>;
|
|
330
|
+
/**
|
|
331
|
+
* Closes the summary step at the end of a completed import. The collection was
|
|
332
|
+
* already refreshed when the summary opened, so this only dismisses the modal.
|
|
333
|
+
*/
|
|
334
|
+
done(): void;
|
|
253
335
|
private _restoreBackup;
|
|
254
336
|
goToUpload(): void;
|
|
255
337
|
discardAndGoBack(): Promise<void>;
|
|
@@ -264,15 +346,15 @@ export declare class ImportState {
|
|
|
264
346
|
private _decodeUtf8;
|
|
265
347
|
private _rejectFile;
|
|
266
348
|
private _showFileReadErrorToast;
|
|
267
|
-
private _showPartialSuccessToast;
|
|
268
349
|
/**
|
|
269
|
-
* Builds a
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
350
|
+
* Builds a re-importable CSV of the rows the server rejected and hands it to
|
|
351
|
+
* `downloadCsv`. Each failed row is prefixed with a leading "why it failed"
|
|
352
|
+
* column holding the server's error message, so the user can see and fix each
|
|
353
|
+
* reason. The failed rows (and their reasons) come from the job's movement
|
|
354
|
+
* logs, mapped back to the parsed `csvRows` we still hold in memory.
|
|
273
355
|
*/
|
|
274
|
-
|
|
275
|
-
private
|
|
356
|
+
downloadFailedRows(): Promise<void>;
|
|
357
|
+
private _fetchFailedRows;
|
|
276
358
|
setMapping(header: string, fieldId: string | null): void;
|
|
277
359
|
setNewFieldMapping(header: string): void;
|
|
278
360
|
/**
|
|
@@ -287,17 +369,32 @@ export declare class ImportState {
|
|
|
287
369
|
config?: NewFieldConfig;
|
|
288
370
|
}): void;
|
|
289
371
|
/**
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
372
|
+
* Opens the field editor for a column's pending new field: sets
|
|
373
|
+
* `editingHeader`, which the source's editor component watches to open and
|
|
374
|
+
* prefill itself. No-op if the column isn't mapped to a new field.
|
|
293
375
|
*/
|
|
294
376
|
beginFieldEdit(header: string): void;
|
|
377
|
+
/** Closes the field editor (clears `editingHeader`). */
|
|
378
|
+
endFieldEdit(): void;
|
|
295
379
|
/**
|
|
296
|
-
* `
|
|
297
|
-
*
|
|
380
|
+
* The `new` mapping currently being edited, or `null` when the editor is
|
|
381
|
+
* closed. The editor component reads this to prefill its form.
|
|
382
|
+
*/
|
|
383
|
+
get editingMapping(): Extract<ColumnMapping, {
|
|
384
|
+
kind: 'new';
|
|
385
|
+
}> | null;
|
|
386
|
+
/**
|
|
387
|
+
* `onSubmit` handler for the CMS field editor: maps the edited field spec into
|
|
388
|
+
* the column being edited (set via `beginFieldEdit`). No-op if nothing is being
|
|
298
389
|
* edited.
|
|
299
390
|
*/
|
|
300
391
|
applyFieldEdit(field: FieldSpec): void;
|
|
392
|
+
/**
|
|
393
|
+
* `onSubmit` handler for the DataExtension field editor: maps the edited
|
|
394
|
+
* DataExtension draft (which carries per-audience permissions) into the column
|
|
395
|
+
* being edited. The `destination`-branch counterpart to `applyFieldEdit`.
|
|
396
|
+
*/
|
|
397
|
+
applyDataExtensionFieldEdit(draft: FieldDraft): void;
|
|
301
398
|
/**
|
|
302
399
|
* Runs the server-side import: align the CSV to the resolved field keys,
|
|
303
400
|
* upload it, submit a data-movement job, then poll until terminal. Throws on
|
|
@@ -307,8 +404,8 @@ export declare class ImportState {
|
|
|
307
404
|
private _runImportJob;
|
|
308
405
|
private _destination;
|
|
309
406
|
private _applyJobProgress;
|
|
310
|
-
private _runBackup;
|
|
311
407
|
private _lingerOnCompletion;
|
|
408
|
+
private _runBackup;
|
|
312
409
|
/**
|
|
313
410
|
* Resolves every column to the final destination key used in the upload
|
|
314
411
|
* payload: an existing field id, a new field's (Cairo-decided) key, or `null`
|
|
@@ -317,6 +414,13 @@ export declare class ImportState {
|
|
|
317
414
|
* `updateSchema` may throw — `startImport` surfaces that as the error state.
|
|
318
415
|
*/
|
|
319
416
|
private _resolveFieldMapping;
|
|
417
|
+
/**
|
|
418
|
+
* Creates the pending new fields via the active `dataSource` branch's callback
|
|
419
|
+
* — `updateSchema` (CMS) or `createFields` (DataExtension) — building the
|
|
420
|
+
* source-specific field def from the shared, already-deduped pending columns.
|
|
421
|
+
* The callback may throw; `startImport` surfaces that as the error state.
|
|
422
|
+
*/
|
|
423
|
+
private _createPendingFields;
|
|
320
424
|
startImport(): Promise<void>;
|
|
321
425
|
}
|
|
322
426
|
//# sourceMappingURL=ImportState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportState.d.ts","sourceRoot":"","sources":["../../../../src/state/ImportState/ImportState.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,SAAS,EACT,UAAU,EACV,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iFAAiF,CAAC;AAC9H,OAAO,EAEL,WAAW,EACX,KAAK,WAAW,EAEjB,MAAM,iDAAiD,CAAC;AAKzD,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImportState.d.ts","sourceRoot":"","sources":["../../../../src/state/ImportState/ImportState.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export declare const TYPE_SAMPLE_SIZE = 50;
|
|
|
7
7
|
* empty → number → boolean → date → url, else text.
|
|
8
8
|
*/
|
|
9
9
|
export declare function detectValueType(value: string): NewFieldType;
|
|
10
|
+
/** Default DataExtension field-type id for a detected `NewFieldType`. */
|
|
11
|
+
export declare const toDataExtensionFieldType: (type: NewFieldType) => string;
|
|
10
12
|
/**
|
|
11
13
|
* Infer a column's field type from its first values: the most common detected
|
|
12
14
|
* type, but only when it covers at least two-thirds of the samples (otherwise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectFieldType.d.ts","sourceRoot":"","sources":["../../../../src/state/ImportState/detectFieldType.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,GACT,KAAK,GACL,OAAO,GACP,OAAO,GACP,UAAU,GACV,OAAO,CAAC;AAGZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,YAAY,CAAC;AAGlE,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;AAQ9D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAkEnC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAkB3D;
|
|
1
|
+
{"version":3,"file":"detectFieldType.d.ts","sourceRoot":"","sources":["../../../../src/state/ImportState/detectFieldType.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,GACT,KAAK,GACL,OAAO,GACP,OAAO,GACP,UAAU,GACV,OAAO,CAAC;AAGZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,YAAY,CAAC;AAGlE,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;AAQ9D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAkEnC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAkB3D;AAoBD,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,SAAU,YAAY,KAAG,MACtB,CAAC;AAEzC;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,GAAE,eAAiC,GAC7C,YAAY,CAsBd"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FieldSpec, PatternsFieldType } from '../../types/Field';
|
|
2
|
+
import type { FieldDraft } from '../../types/FieldsSource';
|
|
2
3
|
import type { NewFieldType } from './detectFieldType';
|
|
3
4
|
import type { NewFieldConfig } from './ImportState';
|
|
4
5
|
export declare const toNewFieldType: (type: PatternsFieldType) => NewFieldType;
|
|
@@ -7,4 +8,9 @@ export declare function toFieldEdit(field: FieldSpec): {
|
|
|
7
8
|
displayName: string;
|
|
8
9
|
config?: NewFieldConfig;
|
|
9
10
|
};
|
|
11
|
+
export declare function toDataExtensionFieldEdit(draft: FieldDraft): {
|
|
12
|
+
fieldType: NewFieldType;
|
|
13
|
+
displayName: string;
|
|
14
|
+
config?: NewFieldConfig;
|
|
15
|
+
};
|
|
10
16
|
//# sourceMappingURL=fieldEdit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldEdit.d.ts","sourceRoot":"","sources":["../../../../src/state/ImportState/fieldEdit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsBpD,eAAO,MAAM,cAAc,SAAU,iBAAiB,KAAG,YACb,CAAC;AAI7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAC7C,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAWA"}
|
|
1
|
+
{"version":3,"file":"fieldEdit.d.ts","sourceRoot":"","sources":["../../../../src/state/ImportState/fieldEdit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsBpD,eAAO,MAAM,cAAc,SAAU,iBAAiB,KAAG,YACb,CAAC;AAI7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAC7C,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAWA;AAuBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG;IAC3D,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAuBA"}
|
|
@@ -103,6 +103,8 @@ export declare class WixPatternsContainerDriver {
|
|
|
103
103
|
outcome: import("./hubJobImportMocks").ImportJobOutcome;
|
|
104
104
|
succeeded: number;
|
|
105
105
|
failed: number;
|
|
106
|
+
created: number;
|
|
107
|
+
updated: number;
|
|
106
108
|
inProgressPolls: number;
|
|
107
109
|
failedRowIndices: number[];
|
|
108
110
|
uploadedBody: unknown;
|
|
@@ -113,6 +115,8 @@ export declare class WixPatternsContainerDriver {
|
|
|
113
115
|
setOutcome(outcome: import("./hubJobImportMocks").ImportJobOutcome, counts?: {
|
|
114
116
|
succeeded?: number | undefined;
|
|
115
117
|
failed?: number | undefined;
|
|
118
|
+
created?: number | undefined;
|
|
119
|
+
updated?: number | undefined;
|
|
116
120
|
}): void;
|
|
117
121
|
setInProgressPolls(n: number): void;
|
|
118
122
|
setFailedRowIndices(indices: number[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WixPatternsContainer.driver.d.ts","sourceRoot":"","sources":["../../../src/testkit/WixPatternsContainer.driver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WixPatternsContainer.driver.d.ts","sourceRoot":"","sources":["../../../src/testkit/WixPatternsContainer.driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type CreatableFieldType, type SchemaSource } from '../types/SchemaSource';
|
|
2
|
+
import type { ItemPermissions, SchemaPermissions } from '../types/Schema';
|
|
3
|
+
import type { Field } from '../types/Field';
|
|
4
|
+
import { InMemoryBackend } from '../InMemoryBackend';
|
|
5
|
+
export interface InMemorySchemaSource<T> {
|
|
6
|
+
/** The `SchemaSource<T>` to pass anywhere a schema source is accepted. */
|
|
7
|
+
source: SchemaSource<T>;
|
|
8
|
+
/** The in-memory backend holding the rows — read or mutate them directly. */
|
|
9
|
+
backend: InMemoryBackend<T>;
|
|
10
|
+
}
|
|
11
|
+
export interface InMemorySchemaSourceConfig<T> {
|
|
12
|
+
collectionId: string;
|
|
13
|
+
/** The collection's fields (keyed internally by `field.id`). */
|
|
14
|
+
fields: Field[];
|
|
15
|
+
/** Seed rows the backend serves via `find`/`get`. */
|
|
16
|
+
items?: T[];
|
|
17
|
+
/** Defaults to the first field's id, else `idField`. */
|
|
18
|
+
displayField?: string;
|
|
19
|
+
/** Defaults to `_id`. */
|
|
20
|
+
idField?: string;
|
|
21
|
+
/** Defaults to all-true (add/edit/delete allowed). */
|
|
22
|
+
schemaPermissions?: SchemaPermissions;
|
|
23
|
+
itemPermissions?: ItemPermissions;
|
|
24
|
+
/** Types the add-field modal offers. Defaults to text/number/boolean/date. */
|
|
25
|
+
creatableFieldTypes?: CreatableFieldType[];
|
|
26
|
+
supportsPii?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Builds a real `SchemaSource<T>` backed by in-memory state — no data source (no
|
|
30
|
+
* `@wix/data`, no network). Its `collectionConfig.fetchData` serves the seeded
|
|
31
|
+
* `items`, and its `fieldActions` mutate the in-memory schema and return the
|
|
32
|
+
* updated fields map, so the create-new-field import flow works end to end (the
|
|
33
|
+
* created column surfaces via the schema-source merge).
|
|
34
|
+
*
|
|
35
|
+
* Returns `{ source, backend }`. Pass `source` anywhere a `SchemaSource` is
|
|
36
|
+
* accepted — `<Table fieldsSource={...} />`, `useSchemaImport(...)`, or
|
|
37
|
+
* `...collectionConfig` into the collection hook. Use `backend` to read or
|
|
38
|
+
* assert on the in-memory rows directly.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createInMemorySchemaSource<T extends Record<string, unknown> = Record<string, unknown>>(config: InMemorySchemaSourceConfig<T>): InMemorySchemaSource<T>;
|
|
41
|
+
//# sourceMappingURL=createInMemorySchemaSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createInMemorySchemaSource.d.ts","sourceRoot":"","sources":["../../../src/testkit/createInMemorySchemaSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAGV,eAAe,EAGf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgBrD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,0EAA0E;IAC1E,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,6EAA6E;IAC7E,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAkIhE"}
|
|
@@ -12,6 +12,10 @@ export declare function hubJobImportMocks(whenRequest: typeof import('@wix/http-
|
|
|
12
12
|
outcome: ImportJobOutcome;
|
|
13
13
|
succeeded: number;
|
|
14
14
|
failed: number;
|
|
15
|
+
/** new items created (subset of `succeeded`), for the summary step */
|
|
16
|
+
created: number;
|
|
17
|
+
/** existing items updated (subset of `succeeded`), for the summary step */
|
|
18
|
+
updated: number;
|
|
15
19
|
/** number of IN_PROGRESS polls before the job goes terminal */
|
|
16
20
|
inProgressPolls: number;
|
|
17
21
|
/** csvRows indices reported as failed via movement logs */
|
|
@@ -23,10 +27,16 @@ export declare function hubJobImportMocks(whenRequest: typeof import('@wix/http-
|
|
|
23
27
|
submittedJobId: string | undefined;
|
|
24
28
|
terminatedJobIds: string[];
|
|
25
29
|
};
|
|
26
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Set the job's terminal outcome and its counts. `created`/`updated` are the
|
|
32
|
+
* split of `succeeded` reported to the summary step; when omitted they
|
|
33
|
+
* default so `created` covers all successes (older jobs report neither).
|
|
34
|
+
*/
|
|
27
35
|
setOutcome(outcome: ImportJobOutcome, counts?: {
|
|
28
36
|
succeeded?: number;
|
|
29
37
|
failed?: number;
|
|
38
|
+
created?: number;
|
|
39
|
+
updated?: number;
|
|
30
40
|
}): void;
|
|
31
41
|
/** Make the job report IN_PROGRESS for `n` polls before going terminal. */
|
|
32
42
|
setInProgressPolls(n: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubJobImportMocks.d.ts","sourceRoot":"","sources":["../../../src/testkit/hubJobImportMocks.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,iDAAiD,CAAC;AAOzD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,iCAAiC,EAAE,WAAW,EACzE,IAAI,EAAE,cAAc,iCAAiC,EAAE,IAAI;;;;;QAMzD,+DAA+D;;QAE/D,2DAA2D;;QAE3D,uEAAuE;;QAEvE,mCAAmC;;;;;
|
|
1
|
+
{"version":3,"file":"hubJobImportMocks.d.ts","sourceRoot":"","sources":["../../../src/testkit/hubJobImportMocks.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,iDAAiD,CAAC;AAOzD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,iCAAiC,EAAE,WAAW,EACzE,IAAI,EAAE,cAAc,iCAAiC,EAAE,IAAI;;;;;QAMzD,sEAAsE;;QAEtE,2EAA2E;;QAE3E,+DAA+D;;QAE/D,2DAA2D;;QAE3D,uEAAuE;;QAEvE,mCAAmC;;;;;IAsCnC;;;;OAIG;wBAEQ,gBAAgB,WACjB;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IASH,2EAA2E;0BACrD,MAAM;IAI5B,uEAAuE;iCAC1C,MAAM,EAAE;IAIrC,2DAA2D;sBACnC,QAAQ,MAAM,CAAC;;;EAoH1C"}
|
|
@@ -3,6 +3,7 @@ export * from './productFilters';
|
|
|
3
3
|
export * from './createProductsBackend';
|
|
4
4
|
export * from './exportServiceMocks';
|
|
5
5
|
export * from './hubJobImportMocks';
|
|
6
|
+
export * from './createInMemorySchemaSource';
|
|
6
7
|
export * from '../test-utils/flush';
|
|
7
8
|
export * from './folder';
|
|
8
9
|
export * from './createFoldersBackend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testkit/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testkit/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
|
|
@@ -2,12 +2,14 @@ import type { Field, PatternsFieldType } from './Field';
|
|
|
2
2
|
import type { Schema, LoadedSchema } from './Schema';
|
|
3
3
|
import type { FieldPermissions } from './FieldsSource';
|
|
4
4
|
import type { OffsetQuery, OffsetQueryResult } from '../hooks/paginationModeConfig';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** A field type a source allows creating. Declare one entry per
|
|
6
|
+
* `patternsType` — the type is the entry's identity. */
|
|
7
7
|
export interface CreatableFieldType {
|
|
8
8
|
patternsType: PatternsFieldType;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
/** Custom display name. Absent ⇒ the UI's standard name for this type. */
|
|
10
|
+
label?: string;
|
|
11
|
+
/** Custom name-input placeholder. Absent ⇒ the UI's standard placeholder. */
|
|
12
|
+
namePlaceholder?: string;
|
|
11
13
|
}
|
|
12
14
|
/** Collection-query config derived from a source, ready to spread into a collection hook. */
|
|
13
15
|
export interface SchemaCollectionConfig<T> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaSource.d.ts","sourceRoot":"","sources":["../../../src/types/SchemaSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaSource.d.ts","sourceRoot":"","sources":["../../../src/types/SchemaSource.ts"],"names":[],"mappings":"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"}
|