@genesislcap/foundation-forms 14.397.2 → 14.398.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/custom-elements.json +389 -4
- package/dist/dts/form.d.ts +100 -1
- package/dist/dts/form.d.ts.map +1 -1
- package/dist/dts/form.styles.d.ts.map +1 -1
- package/dist/dts/form.template.d.ts.map +1 -1
- package/dist/dts/jsonforms/json-forms.d.ts +13 -0
- package/dist/dts/jsonforms/json-forms.d.ts.map +1 -1
- package/dist/dts/jsonforms/renderers/ArrayListWrapperRenderer.d.ts +5 -0
- package/dist/dts/jsonforms/renderers/ArrayListWrapperRenderer.d.ts.map +1 -1
- package/dist/dts/jsonforms/renderers/BooleanControlRenderer.d.ts.map +1 -1
- package/dist/dts/jsonforms/renderers/ConnectedMultiselectControlRenderer.d.ts.map +1 -1
- package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts.map +1 -1
- package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts.map +1 -1
- package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts +3 -0
- package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/RenderersRanks.d.ts +1 -0
- package/dist/dts/jsonforms/renderers/RenderersRanks.d.ts.map +1 -1
- package/dist/dts/jsonforms/testers/isOneOfOptionMultiselect.d.ts.map +1 -1
- package/dist/dts/types.d.ts +89 -2
- package/dist/dts/types.d.ts.map +1 -1
- package/dist/dts/utils/csv-parser.d.ts +85 -0
- package/dist/dts/utils/csv-parser.d.ts.map +1 -0
- package/dist/dts/utils/index.d.ts +1 -0
- package/dist/dts/utils/index.d.ts.map +1 -1
- package/dist/dts/utils/schema-utils.d.ts +46 -0
- package/dist/dts/utils/schema-utils.d.ts.map +1 -0
- package/dist/dts/utils/validation.d.ts +2 -0
- package/dist/dts/utils/validation.d.ts.map +1 -1
- package/dist/esm/form.js +423 -5
- package/dist/esm/form.styles.js +41 -1
- package/dist/esm/form.template.js +33 -1
- package/dist/esm/jsonforms/json-forms.js +30 -0
- package/dist/esm/jsonforms/renderers/ArrayListWrapperRenderer.js +223 -22
- package/dist/esm/jsonforms/renderers/BooleanControlRenderer.js +1 -2
- package/dist/esm/jsonforms/renderers/ConnectedMultiselectControlRenderer.js +13 -2
- package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js +25 -4
- package/dist/esm/jsonforms/renderers/EnumControlRenderer.js +14 -5
- package/dist/esm/jsonforms/renderers/LayoutFormGridRenderer.js +39 -0
- package/dist/esm/jsonforms/renderers/RenderersRanks.js +1 -0
- package/dist/esm/jsonforms/testers/isOneOfOptionMultiselect.js +1 -1
- package/dist/esm/utils/csv-parser.js +486 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/schema-utils.js +120 -0
- package/dist/esm/utils/validation.js +2 -0
- package/dist/foundation-forms.api.json +1028 -34
- package/dist/foundation-forms.d.ts +285 -2
- package/docs/api/foundation-forms.arrayrendereroptions.md +2 -2
- package/docs/api/foundation-forms.bulkrowstatus.md +22 -0
- package/docs/api/foundation-forms.bulkrowsubmitstatus.md +13 -0
- package/docs/api/foundation-forms.bulksubmitfaileditem.md +20 -0
- package/docs/api/foundation-forms.bulksubmitresult.md +18 -0
- package/docs/api/foundation-forms.bulksubmitsuccessitem.md +17 -0
- package/docs/api/foundation-forms.childuischemaresolver.md +15 -0
- package/docs/api/foundation-forms.csvmappingresult.mappedrows.md +13 -0
- package/docs/api/foundation-forms.csvmappingresult.md +77 -0
- package/docs/api/foundation-forms.csvmappingresult.unmappedcolumns.md +13 -0
- package/docs/api/foundation-forms.csvparseresult.errors.md +13 -0
- package/docs/api/foundation-forms.csvparseresult.headers.md +13 -0
- package/docs/api/foundation-forms.csvparseresult.md +96 -0
- package/docs/api/foundation-forms.csvparseresult.rows.md +13 -0
- package/docs/api/foundation-forms.downloadcsvtemplate.md +74 -0
- package/docs/api/foundation-forms.form.bulkinsert.md +13 -0
- package/docs/api/foundation-forms.form.bulkinsertmaxitems.md +13 -0
- package/docs/api/foundation-forms.form.bulkinsertminitems.md +13 -0
- package/docs/api/foundation-forms.form.clearrowsubmitstatuses.md +17 -0
- package/docs/api/foundation-forms.form.downloadcsvtemplate.md +17 -0
- package/docs/api/foundation-forms.form.handlecsvfileselected.md +54 -0
- package/docs/api/foundation-forms.form.md +132 -0
- package/docs/api/foundation-forms.form.rowsubmitstatuses.md +13 -0
- package/docs/api/foundation-forms.form.submitsinglerow.md +56 -0
- package/docs/api/foundation-forms.generatecsvtemplate.md +104 -0
- package/docs/api/foundation-forms.mapcsvtoschema.md +88 -0
- package/docs/api/foundation-forms.md +147 -0
- package/docs/api/foundation-forms.parsecsv.md +56 -0
- package/docs/api/foundation-forms.uischemaelementtype.md +1 -1
- package/docs/api-report.md.api.md +87 -4
- package/package.json +19 -17
|
@@ -31,9 +31,11 @@ export declare type ArrayRendererOptions = {
|
|
|
31
31
|
/**
|
|
32
32
|
* ChildUiSchema allows you to pass a UiSchema for a particular element,
|
|
33
33
|
* which can then be multiplied many times by the renderer.
|
|
34
|
+
* For dynamic per-row schema (e.g. dropdown criteria based on another field in that row),
|
|
35
|
+
* pass a function that receives (index, rowData, formData) and returns the UiSchema.
|
|
34
36
|
* @public
|
|
35
37
|
*/
|
|
36
|
-
childUiSchema?: UiSchema;
|
|
38
|
+
childUiSchema?: UiSchema | ChildUiSchemaResolver;
|
|
37
39
|
/**
|
|
38
40
|
* By default the label is 'Add another'
|
|
39
41
|
* To override it, set this property with your desired add message.
|
|
@@ -108,6 +110,90 @@ export declare type ArrayRendererOptions = {
|
|
|
108
110
|
canDelete?: (item: any) => boolean;
|
|
109
111
|
};
|
|
110
112
|
|
|
113
|
+
/**
|
|
114
|
+
* Tracks the submission status and result for a single row in bulk insert mode.
|
|
115
|
+
* @public
|
|
116
|
+
*/
|
|
117
|
+
export declare type BulkRowStatus = {
|
|
118
|
+
/**
|
|
119
|
+
* The current submission status of the row.
|
|
120
|
+
*/
|
|
121
|
+
status: BulkRowSubmitStatus;
|
|
122
|
+
/**
|
|
123
|
+
* Error messages if the row failed to submit.
|
|
124
|
+
*/
|
|
125
|
+
errors?: Array<{
|
|
126
|
+
CODE: string;
|
|
127
|
+
TEXT: string;
|
|
128
|
+
}>;
|
|
129
|
+
/**
|
|
130
|
+
* Server response if the row was successfully submitted.
|
|
131
|
+
*/
|
|
132
|
+
response?: any;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Possible submission status values for a row in bulk insert mode.
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
export declare type BulkRowSubmitStatus = 'pending' | 'submitting' | 'success' | 'failed';
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Represents a failed bulk insert item result.
|
|
143
|
+
* @public
|
|
144
|
+
*/
|
|
145
|
+
export declare type BulkSubmitFailedItem = {
|
|
146
|
+
/**
|
|
147
|
+
* The original item data that failed to submit.
|
|
148
|
+
*/
|
|
149
|
+
item: any;
|
|
150
|
+
/**
|
|
151
|
+
* The index of the item in the original array.
|
|
152
|
+
*/
|
|
153
|
+
index: number;
|
|
154
|
+
/**
|
|
155
|
+
* The errors returned from the server or client validation.
|
|
156
|
+
*/
|
|
157
|
+
errors: Array<{
|
|
158
|
+
CODE: string;
|
|
159
|
+
TEXT: string;
|
|
160
|
+
}>;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Result of a bulk insert submission containing successful and failed items.
|
|
165
|
+
* @public
|
|
166
|
+
*/
|
|
167
|
+
export declare type BulkSubmitResult = {
|
|
168
|
+
/**
|
|
169
|
+
* Array of successfully submitted items with their responses.
|
|
170
|
+
*/
|
|
171
|
+
successful: BulkSubmitSuccessItem[];
|
|
172
|
+
/**
|
|
173
|
+
* Array of items that failed to submit with their errors.
|
|
174
|
+
*/
|
|
175
|
+
failed: BulkSubmitFailedItem[];
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Represents a successful bulk insert item result.
|
|
180
|
+
* @public
|
|
181
|
+
*/
|
|
182
|
+
export declare type BulkSubmitSuccessItem = {
|
|
183
|
+
/**
|
|
184
|
+
* The original item data that was submitted.
|
|
185
|
+
*/
|
|
186
|
+
item: any;
|
|
187
|
+
/**
|
|
188
|
+
* The index of the item in the original array.
|
|
189
|
+
*/
|
|
190
|
+
index: number;
|
|
191
|
+
/**
|
|
192
|
+
* The server response for this item.
|
|
193
|
+
*/
|
|
194
|
+
response: any;
|
|
195
|
+
};
|
|
196
|
+
|
|
111
197
|
/**
|
|
112
198
|
* Configuration options available for categorization renderer.
|
|
113
199
|
* @public
|
|
@@ -120,6 +206,13 @@ export declare type CategorizationRendererOptions = {
|
|
|
120
206
|
childElements?: UiSchema[];
|
|
121
207
|
};
|
|
122
208
|
|
|
209
|
+
/**
|
|
210
|
+
* Resolver for dynamic per-row UI schema in array/bulk-insert mode.
|
|
211
|
+
* Receives the row index, that row's data, and the full form data.
|
|
212
|
+
* @public
|
|
213
|
+
*/
|
|
214
|
+
export declare type ChildUiSchemaResolver = (index: number, rowData: any, formData: any) => UiSchema;
|
|
215
|
+
|
|
123
216
|
/** @internal */
|
|
124
217
|
export declare const comboboxRendererStyles: (prefix?: string) => string;
|
|
125
218
|
|
|
@@ -192,6 +285,40 @@ export declare type ConnectedRenderersOptions = {
|
|
|
192
285
|
*/
|
|
193
286
|
export declare const createExpressions: (payload: any) => Expressions;
|
|
194
287
|
|
|
288
|
+
/**
|
|
289
|
+
* Result of mapping CSV data to schema fields.
|
|
290
|
+
* @public
|
|
291
|
+
*/
|
|
292
|
+
export declare interface CsvMappingResult {
|
|
293
|
+
/**
|
|
294
|
+
* The mapped rows with values converted to appropriate types.
|
|
295
|
+
*/
|
|
296
|
+
mappedRows: Record<string, any>[];
|
|
297
|
+
/**
|
|
298
|
+
* CSV columns that could not be matched to schema fields.
|
|
299
|
+
*/
|
|
300
|
+
unmappedColumns: string[];
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Result of parsing a CSV file.
|
|
305
|
+
* @public
|
|
306
|
+
*/
|
|
307
|
+
export declare interface CsvParseResult {
|
|
308
|
+
/**
|
|
309
|
+
* The header names from the first row of the CSV.
|
|
310
|
+
*/
|
|
311
|
+
headers: string[];
|
|
312
|
+
/**
|
|
313
|
+
* The parsed data rows as key-value objects.
|
|
314
|
+
*/
|
|
315
|
+
rows: Record<string, string>[];
|
|
316
|
+
/**
|
|
317
|
+
* Any errors encountered during parsing.
|
|
318
|
+
*/
|
|
319
|
+
errors: string[];
|
|
320
|
+
}
|
|
321
|
+
|
|
195
322
|
declare class DispatchRenderer extends FASTElement {
|
|
196
323
|
jsonforms: any;
|
|
197
324
|
jsonformsChanged(): void;
|
|
@@ -211,6 +338,15 @@ declare class DispatchRenderer extends FASTElement {
|
|
|
211
338
|
disconnectedCallback(): void;
|
|
212
339
|
}
|
|
213
340
|
|
|
341
|
+
/**
|
|
342
|
+
* Triggers a download of the CSV template file in the browser.
|
|
343
|
+
* @param csvContent - The CSV content to download
|
|
344
|
+
* @param fileName - The name for the downloaded file (default: 'template.csv')
|
|
345
|
+
* @remarks Browser-only; uses document and URL.createObjectURL. Will throw in Node.js.
|
|
346
|
+
* @public
|
|
347
|
+
*/
|
|
348
|
+
export declare function downloadCsvTemplate(csvContent: string, fileName?: string): void;
|
|
349
|
+
|
|
214
350
|
declare type Expressions = {
|
|
215
351
|
options: Expression[];
|
|
216
352
|
arrayOptions: Expression[];
|
|
@@ -218,6 +354,18 @@ declare type Expressions = {
|
|
|
218
354
|
dateOptions: Expression[];
|
|
219
355
|
};
|
|
220
356
|
|
|
357
|
+
/**
|
|
358
|
+
* Extracts field names from a UI schema in the order they appear.
|
|
359
|
+
* @param uiSchema - The UI schema to extract fields from
|
|
360
|
+
* @returns Array of field info with name, label, and hidden status
|
|
361
|
+
* @internal
|
|
362
|
+
*/
|
|
363
|
+
export declare function extractFieldsFromUiSchema(uiSchema: UiSchema): Array<{
|
|
364
|
+
fieldName: string;
|
|
365
|
+
label?: string;
|
|
366
|
+
isHidden: boolean;
|
|
367
|
+
}>;
|
|
368
|
+
|
|
221
369
|
/**
|
|
222
370
|
* Foundation filters component for automatically generated filters based on json schema
|
|
223
371
|
* obtained from the api, supplied initial data or supplied JSON schema.
|
|
@@ -731,6 +879,16 @@ export declare class Form extends Form_base {
|
|
|
731
879
|
*/
|
|
732
880
|
resourceName: string;
|
|
733
881
|
private resourceNameChanged;
|
|
882
|
+
/**
|
|
883
|
+
* Initializes the data with default empty items for bulk insert mode.
|
|
884
|
+
* @internal
|
|
885
|
+
*/
|
|
886
|
+
private initializeBulkInsertData;
|
|
887
|
+
/**
|
|
888
|
+
* Transforms the JSON schema to support bulk insert mode by wrapping it in an array.
|
|
889
|
+
* @internal
|
|
890
|
+
*/
|
|
891
|
+
private transformSchemaForBulkInsert;
|
|
734
892
|
/**
|
|
735
893
|
* Optional confirmation message to display before form submission.
|
|
736
894
|
* If set, a confirmation dialog will be shown when the user clicks submit.
|
|
@@ -753,6 +911,11 @@ export declare class Form extends Form_base {
|
|
|
753
911
|
* @internal
|
|
754
912
|
*/
|
|
755
913
|
approvalModal: any;
|
|
914
|
+
/**
|
|
915
|
+
* Reference to the CSV file input element for bulk import.
|
|
916
|
+
* @internal
|
|
917
|
+
*/
|
|
918
|
+
csvFileInput: HTMLInputElement;
|
|
756
919
|
/**
|
|
757
920
|
* Stores the approval message entered by the user.
|
|
758
921
|
* @internal
|
|
@@ -861,10 +1024,75 @@ export declare class Form extends Form_base {
|
|
|
861
1024
|
* @public
|
|
862
1025
|
*/
|
|
863
1026
|
hideSubmit: boolean;
|
|
1027
|
+
/**
|
|
1028
|
+
* When enabled, transforms the form into bulk insert mode where multiple records can be added.
|
|
1029
|
+
* The JSON schema will be wrapped as an array, and each item will be submitted separately.
|
|
1030
|
+
* @public
|
|
1031
|
+
*/
|
|
1032
|
+
bulkInsert: boolean;
|
|
1033
|
+
/**
|
|
1034
|
+
* Minimum number of items required in bulk insert mode.
|
|
1035
|
+
* @public
|
|
1036
|
+
*/
|
|
1037
|
+
bulkInsertMinItems: number;
|
|
1038
|
+
/**
|
|
1039
|
+
* Maximum number of items allowed in bulk insert mode. If not set, no maximum is enforced.
|
|
1040
|
+
* @public
|
|
1041
|
+
*/
|
|
1042
|
+
bulkInsertMaxItems: number | undefined;
|
|
1043
|
+
/**
|
|
1044
|
+
* Stores the original schema before bulk insert transformation.
|
|
1045
|
+
* @internal
|
|
1046
|
+
*/
|
|
1047
|
+
private originalDetailsSchema;
|
|
1048
|
+
/**
|
|
1049
|
+
* User-provided UI schema for bulk insert mode, stored separately.
|
|
1050
|
+
* @internal
|
|
1051
|
+
*/
|
|
1052
|
+
private userProvidedUiSchema;
|
|
1053
|
+
/**
|
|
1054
|
+
* Tracks the submission status for each row in bulk insert mode.
|
|
1055
|
+
* Key is the row index, value is the status object.
|
|
1056
|
+
* @public
|
|
1057
|
+
*/
|
|
1058
|
+
rowSubmitStatuses: Map<number, BulkRowStatus>;
|
|
864
1059
|
/**
|
|
865
1060
|
* @internal
|
|
866
1061
|
*/
|
|
867
1062
|
_submit(): Promise<void>;
|
|
1063
|
+
/**
|
|
1064
|
+
* Handles bulk insert submission by iterating through items and submitting each separately.
|
|
1065
|
+
* Updates rowSubmitStatuses to provide row-level feedback.
|
|
1066
|
+
* @internal
|
|
1067
|
+
*/
|
|
1068
|
+
private _submitBulk;
|
|
1069
|
+
/**
|
|
1070
|
+
* Updates the submit status for a specific row and triggers reactivity.
|
|
1071
|
+
* @param index - The row index
|
|
1072
|
+
* @param status - The new status object
|
|
1073
|
+
* @internal
|
|
1074
|
+
*/
|
|
1075
|
+
private updateRowStatus;
|
|
1076
|
+
/**
|
|
1077
|
+
* Clears all row submit statuses, typically called when resetting the form.
|
|
1078
|
+
* @public
|
|
1079
|
+
*/
|
|
1080
|
+
clearRowSubmitStatuses(): void;
|
|
1081
|
+
/**
|
|
1082
|
+
* Submits a single row in bulk insert mode.
|
|
1083
|
+
* @param index - The index of the row to submit
|
|
1084
|
+
* @returns Promise that resolves when submission is complete
|
|
1085
|
+
* @public
|
|
1086
|
+
*/
|
|
1087
|
+
submitSingleRow(index: number): Promise<void>;
|
|
1088
|
+
/**
|
|
1089
|
+
* Filters item data to only include fields defined in the UI schema.
|
|
1090
|
+
* This ensures we don't submit default values for fields not shown in the UI.
|
|
1091
|
+
* @param item - The item data to filter
|
|
1092
|
+
* @returns Filtered item data containing only UI schema fields
|
|
1093
|
+
* @internal
|
|
1094
|
+
*/
|
|
1095
|
+
private filterDataByUiSchema;
|
|
868
1096
|
/**
|
|
869
1097
|
* Builds the commit payload for the form submission.
|
|
870
1098
|
* @internal
|
|
@@ -911,6 +1139,25 @@ export declare class Form extends Form_base {
|
|
|
911
1139
|
* @internal
|
|
912
1140
|
*/
|
|
913
1141
|
submitWithApproval(): Promise<void>;
|
|
1142
|
+
/**
|
|
1143
|
+
* Handles CSV file selection for bulk import.
|
|
1144
|
+
* Parses the CSV content and appends it to existing form items.
|
|
1145
|
+
* @param event - The file input change event
|
|
1146
|
+
* @public
|
|
1147
|
+
*/
|
|
1148
|
+
handleCsvFileSelected(event: Event): Promise<void>;
|
|
1149
|
+
/**
|
|
1150
|
+
* Clears the CSV file input to allow re-selection of the same file.
|
|
1151
|
+
* @internal
|
|
1152
|
+
*/
|
|
1153
|
+
private clearCsvFileInput;
|
|
1154
|
+
/**
|
|
1155
|
+
* Downloads a CSV template file with headers and sample data based on the schema.
|
|
1156
|
+
* If a UI schema is provided, it will be used to determine which fields to include
|
|
1157
|
+
* and in what order. Hidden fields will be excluded from the template.
|
|
1158
|
+
* @public
|
|
1159
|
+
*/
|
|
1160
|
+
downloadCsvTemplate(): void;
|
|
914
1161
|
}
|
|
915
1162
|
|
|
916
1163
|
declare const Form_base: (new (...args: any[]) => {
|
|
@@ -1286,6 +1533,19 @@ export declare const foundationFormStyles: ElementStyles;
|
|
|
1286
1533
|
/** @internal */
|
|
1287
1534
|
export declare const foundationFormTemplate: ViewTemplate<Form, any>;
|
|
1288
1535
|
|
|
1536
|
+
/**
|
|
1537
|
+
* Generates a CSV template string with headers and sample data based on JSON schema.
|
|
1538
|
+
* If a UI schema is provided, it will be used to determine which fields to include
|
|
1539
|
+
* and in what order. Hidden fields in the UI schema will be excluded.
|
|
1540
|
+
* @param schema - The JSON schema defining the fields
|
|
1541
|
+
* @param uiSchema - Optional UI schema to determine field order and visibility
|
|
1542
|
+
* @param includeOptionalFields - Whether to include optional fields when no UI schema (default: true)
|
|
1543
|
+
* @param includeBom - Whether to prepend UTF-8 BOM for Excel compatibility (default: true)
|
|
1544
|
+
* @returns The CSV template string with headers and one sample row
|
|
1545
|
+
* @public
|
|
1546
|
+
*/
|
|
1547
|
+
export declare function generateCsvTemplate(schema: JSONSchema7 | undefined, uiSchema?: UiSchema, includeOptionalFields?: boolean, includeBom?: boolean): string;
|
|
1548
|
+
|
|
1289
1549
|
/**
|
|
1290
1550
|
* @internal
|
|
1291
1551
|
*/
|
|
@@ -1313,6 +1573,8 @@ export declare enum GenesisType {
|
|
|
1313
1573
|
/**
|
|
1314
1574
|
* Computes a human-friendly anyOf error message for a given control path.
|
|
1315
1575
|
* Prefers UI schema custom message, then JSON schema errorMessage.anyOf, then a constructed fallback.
|
|
1576
|
+
*
|
|
1577
|
+
* @public
|
|
1316
1578
|
*/
|
|
1317
1579
|
export declare const getAnyOfErrorMessage: (errors: Array<any> | undefined, schema: any, controlPath: string | undefined, uiCustomMsg?: string) => string;
|
|
1318
1580
|
|
|
@@ -1348,6 +1610,18 @@ export { Layout }
|
|
|
1348
1610
|
/** @internal */
|
|
1349
1611
|
export declare const logger: Logger;
|
|
1350
1612
|
|
|
1613
|
+
/**
|
|
1614
|
+
* Maps CSV rows to schema fields with case-insensitive matching.
|
|
1615
|
+
* When uiSchema is provided, CSV headers can also match UI schema labels.
|
|
1616
|
+
* Converts values to appropriate types based on schema definition.
|
|
1617
|
+
* @param csvRows - The parsed CSV rows
|
|
1618
|
+
* @param schema - The JSON schema defining the fields
|
|
1619
|
+
* @param uiSchema - Optional UI schema to map labels to field names on import
|
|
1620
|
+
* @returns Mapped rows and list of unmapped columns
|
|
1621
|
+
* @public
|
|
1622
|
+
*/
|
|
1623
|
+
export declare function mapCsvToSchema(csvRows: Record<string, string>[], schema: JSONSchema7 | undefined, uiSchema?: UiSchema): CsvMappingResult;
|
|
1624
|
+
|
|
1351
1625
|
/**
|
|
1352
1626
|
* Ensures the value of the current field (the one the validator is on) matches the one of the target field.
|
|
1353
1627
|
* @param target - any other field
|
|
@@ -1386,6 +1660,15 @@ export declare type NumberRendererOptions = {
|
|
|
1386
1660
|
autocomplete?: string;
|
|
1387
1661
|
};
|
|
1388
1662
|
|
|
1663
|
+
/**
|
|
1664
|
+
* Parses a CSV string into headers and rows using PapaParse.
|
|
1665
|
+
* Handles quoted fields, escaped quotes, empty values, and mixed line endings.
|
|
1666
|
+
* @param content - The CSV content as a string
|
|
1667
|
+
* @returns The parsed result with headers, rows, and any errors
|
|
1668
|
+
* @public
|
|
1669
|
+
*/
|
|
1670
|
+
export declare function parseCsv(content: string): CsvParseResult;
|
|
1671
|
+
|
|
1389
1672
|
/**
|
|
1390
1673
|
* Defines a renderer configuration in JSON forms.
|
|
1391
1674
|
* Allows to specify the renderer component,
|
|
@@ -1575,7 +1858,7 @@ export declare type UiSchemaElementOptions = ConnectedRenderersOptions | NumberR
|
|
|
1575
1858
|
* The layouts and control types, which allow you to customize the arrangement of forms.
|
|
1576
1859
|
* @public
|
|
1577
1860
|
*/
|
|
1578
|
-
export declare type UiSchemaElementType = 'Control' | 'VerticalLayout' | 'LayoutVertical2Columns' | 'Categorization' | 'Group' | 'Stepper' | 'HorizontalLayout';
|
|
1861
|
+
export declare type UiSchemaElementType = 'Control' | 'VerticalLayout' | 'LayoutVertical2Columns' | 'FormGridLayout' | 'Categorization' | 'Group' | 'Stepper' | 'HorizontalLayout';
|
|
1579
1862
|
|
|
1580
1863
|
/**
|
|
1581
1864
|
* All configuration options that are available.
|
|
@@ -10,12 +10,12 @@ Configuration options available for array renderer.
|
|
|
10
10
|
|
|
11
11
|
```typescript
|
|
12
12
|
export type ArrayRendererOptions = {
|
|
13
|
-
childUiSchema?: UiSchema;
|
|
13
|
+
childUiSchema?: UiSchema | ChildUiSchemaResolver;
|
|
14
14
|
addLabel?: string;
|
|
15
15
|
deleteLabel?: string;
|
|
16
16
|
border?: boolean;
|
|
17
17
|
canDelete?: (item: any) => boolean;
|
|
18
18
|
};
|
|
19
19
|
```
|
|
20
|
-
**References:** [UiSchema](./foundation-forms.uischema.md)
|
|
20
|
+
**References:** [UiSchema](./foundation-forms.uischema.md)<!-- -->, [ChildUiSchemaResolver](./foundation-forms.childuischemaresolver.md)
|
|
21
21
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [BulkRowStatus](./foundation-forms.bulkrowstatus.md)
|
|
4
|
+
|
|
5
|
+
## BulkRowStatus type
|
|
6
|
+
|
|
7
|
+
Tracks the submission status and result for a single row in bulk insert mode.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export type BulkRowStatus = {
|
|
13
|
+
status: BulkRowSubmitStatus;
|
|
14
|
+
errors?: Array<{
|
|
15
|
+
CODE: string;
|
|
16
|
+
TEXT: string;
|
|
17
|
+
}>;
|
|
18
|
+
response?: any;
|
|
19
|
+
};
|
|
20
|
+
```
|
|
21
|
+
**References:** [BulkRowSubmitStatus](./foundation-forms.bulkrowsubmitstatus.md)
|
|
22
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [BulkRowSubmitStatus](./foundation-forms.bulkrowsubmitstatus.md)
|
|
4
|
+
|
|
5
|
+
## BulkRowSubmitStatus type
|
|
6
|
+
|
|
7
|
+
Possible submission status values for a row in bulk insert mode.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export type BulkRowSubmitStatus = 'pending' | 'submitting' | 'success' | 'failed';
|
|
13
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [BulkSubmitFailedItem](./foundation-forms.bulksubmitfaileditem.md)
|
|
4
|
+
|
|
5
|
+
## BulkSubmitFailedItem type
|
|
6
|
+
|
|
7
|
+
Represents a failed bulk insert item result.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export type BulkSubmitFailedItem = {
|
|
13
|
+
item: any;
|
|
14
|
+
index: number;
|
|
15
|
+
errors: Array<{
|
|
16
|
+
CODE: string;
|
|
17
|
+
TEXT: string;
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
20
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [BulkSubmitResult](./foundation-forms.bulksubmitresult.md)
|
|
4
|
+
|
|
5
|
+
## BulkSubmitResult type
|
|
6
|
+
|
|
7
|
+
Result of a bulk insert submission containing successful and failed items.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export type BulkSubmitResult = {
|
|
13
|
+
successful: BulkSubmitSuccessItem[];
|
|
14
|
+
failed: BulkSubmitFailedItem[];
|
|
15
|
+
};
|
|
16
|
+
```
|
|
17
|
+
**References:** [BulkSubmitSuccessItem](./foundation-forms.bulksubmitsuccessitem.md)<!-- -->, [BulkSubmitFailedItem](./foundation-forms.bulksubmitfaileditem.md)
|
|
18
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [BulkSubmitSuccessItem](./foundation-forms.bulksubmitsuccessitem.md)
|
|
4
|
+
|
|
5
|
+
## BulkSubmitSuccessItem type
|
|
6
|
+
|
|
7
|
+
Represents a successful bulk insert item result.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export type BulkSubmitSuccessItem = {
|
|
13
|
+
item: any;
|
|
14
|
+
index: number;
|
|
15
|
+
response: any;
|
|
16
|
+
};
|
|
17
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [ChildUiSchemaResolver](./foundation-forms.childuischemaresolver.md)
|
|
4
|
+
|
|
5
|
+
## ChildUiSchemaResolver type
|
|
6
|
+
|
|
7
|
+
Resolver for dynamic per-row UI schema in array/bulk-insert mode. Receives the row index, that row's data, and the full form data.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export type ChildUiSchemaResolver = (index: number, rowData: any, formData: any) => UiSchema;
|
|
13
|
+
```
|
|
14
|
+
**References:** [UiSchema](./foundation-forms.uischema.md)
|
|
15
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [CsvMappingResult](./foundation-forms.csvmappingresult.md) > [mappedRows](./foundation-forms.csvmappingresult.mappedrows.md)
|
|
4
|
+
|
|
5
|
+
## CsvMappingResult.mappedRows property
|
|
6
|
+
|
|
7
|
+
The mapped rows with values converted to appropriate types.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
mappedRows: Record<string, any>[];
|
|
13
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [CsvMappingResult](./foundation-forms.csvmappingresult.md)
|
|
4
|
+
|
|
5
|
+
## CsvMappingResult interface
|
|
6
|
+
|
|
7
|
+
Result of mapping CSV data to schema fields.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export interface CsvMappingResult
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
<table><thead><tr><th>
|
|
18
|
+
|
|
19
|
+
Property
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Modifiers
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</th><th>
|
|
28
|
+
|
|
29
|
+
Type
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
</th><th>
|
|
33
|
+
|
|
34
|
+
Description
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
</th></tr></thead>
|
|
38
|
+
<tbody><tr><td>
|
|
39
|
+
|
|
40
|
+
[mappedRows](./foundation-forms.csvmappingresult.mappedrows.md)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
</td><td>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
|
+
Record<string, any>\[\]
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
</td><td>
|
|
52
|
+
|
|
53
|
+
The mapped rows with values converted to appropriate types.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
</td></tr>
|
|
57
|
+
<tr><td>
|
|
58
|
+
|
|
59
|
+
[unmappedColumns](./foundation-forms.csvmappingresult.unmappedcolumns.md)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
</td><td>
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
</td><td>
|
|
66
|
+
|
|
67
|
+
string\[\]
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
</td><td>
|
|
71
|
+
|
|
72
|
+
CSV columns that could not be matched to schema fields.
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
</td></tr>
|
|
76
|
+
</tbody></table>
|
|
77
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [CsvMappingResult](./foundation-forms.csvmappingresult.md) > [unmappedColumns](./foundation-forms.csvmappingresult.unmappedcolumns.md)
|
|
4
|
+
|
|
5
|
+
## CsvMappingResult.unmappedColumns property
|
|
6
|
+
|
|
7
|
+
CSV columns that could not be matched to schema fields.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
unmappedColumns: string[];
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [CsvParseResult](./foundation-forms.csvparseresult.md) > [errors](./foundation-forms.csvparseresult.errors.md)
|
|
4
|
+
|
|
5
|
+
## CsvParseResult.errors property
|
|
6
|
+
|
|
7
|
+
Any errors encountered during parsing.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
errors: string[];
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [CsvParseResult](./foundation-forms.csvparseresult.md) > [headers](./foundation-forms.csvparseresult.headers.md)
|
|
4
|
+
|
|
5
|
+
## CsvParseResult.headers property
|
|
6
|
+
|
|
7
|
+
The header names from the first row of the CSV.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
headers: string[];
|
|
13
|
+
```
|