fuse-importer 0.26.0 → 0.26.2
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/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.js +7 -2
- package/lib/esm/Importer/common/Spreadsheet/hooks.js +3 -3
- package/lib/esm/Importer/common/index.js +1 -1
- package/lib/esm/Importer/common/utils.d.ts +4 -0
- package/lib/esm/Importer/common/utils.js +15 -0
- package/lib/esm/Importer/contexts/ImporterContextProvider.d.ts +2 -1
- package/lib/esm/Importer/contexts/ImporterContextProvider.js +27 -7
- package/lib/esm/Importer/index.d.ts +3 -2
- package/lib/esm/Importer/index.js +2 -2
- package/lib/esm/common/Table/TableActions/DeleteSelectedRows.js +1 -22
- package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.js +3 -1
- package/lib/esm/common/Table/TableActions/hooks.d.ts +5 -6
- package/lib/esm/common/Table/TableActions/hooks.js +34 -22
- package/lib/esm/common/Table/index.js +15 -11
- package/lib/esm/common/columnsValidations.d.ts +45 -0
- package/lib/esm/common/columnsValidations.js +351 -0
- package/lib/esm/common/index.d.ts +1 -0
- package/lib/esm/common/index.js +1 -0
- package/lib/esm/common/inputs/SelectMenu.d.ts +1 -1
- package/lib/esm/common/inputs/SelectMenu.js +17 -9
- package/lib/esm/index.d.ts +3 -1
- package/lib/esm/index.js +41 -10
- package/lib/esm/locales/de.d.ts +0 -1
- package/lib/esm/locales/de.js +0 -1
- package/lib/esm/locales/en.d.ts +0 -1
- package/lib/esm/locales/en.js +0 -1
- package/lib/esm/locales/es.d.ts +0 -1
- package/lib/esm/locales/es.js +0 -1
- package/lib/esm/locales/fr.d.ts +0 -1
- package/lib/esm/locales/fr.js +0 -1
- package/lib/esm/types.d.ts +52 -1
- package/lib/esm/types.js +31 -0
- package/lib/esm/utils/index.d.ts +10 -0
- package/lib/esm/utils/index.js +31 -0
- package/lib/main.js +22 -22
- package/package.json +9 -4
package/lib/esm/types.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare enum FieldTypes {
|
|
|
27
27
|
datetime = "datetime",
|
|
28
28
|
time = "time"
|
|
29
29
|
}
|
|
30
|
+
export type FieldTypesAsUnion = keyof typeof FieldTypes;
|
|
30
31
|
export type SpreadsheetValidationErrors = {
|
|
31
32
|
[rowId: string]: ValidationErrors;
|
|
32
33
|
};
|
|
@@ -68,7 +69,9 @@ export type AppResponse = {
|
|
|
68
69
|
};
|
|
69
70
|
export type OnSubmit = (reviewedData: Record[]) => Promise<AppResponse>;
|
|
70
71
|
export type ValidationOptionKeys = "pattern" | "max_length" | "min_length" | "length" | "max" | "min";
|
|
71
|
-
export
|
|
72
|
+
export declare const validationTypesBase: readonly ["cannot_contain", "contain", "max_length", "min_length", "length_exactly", "unique_case_sensitive", "unique_case_insensitive", "regex", "integer", "less_than", "greater_than", "even", "odd", "float", "email", "url", "boolean", "before_date", "after_date"];
|
|
73
|
+
export declare const mutableValidationTypes: ("boolean" | "max_length" | "min_length" | "cannot_contain" | "contain" | "length_exactly" | "unique_case_sensitive" | "unique_case_insensitive" | "regex" | "integer" | "less_than" | "greater_than" | "even" | "odd" | "float" | "email" | "url" | "before_date" | "after_date")[];
|
|
74
|
+
export type ValidationTypes = typeof validationTypesBase[number];
|
|
72
75
|
export interface FieldValidation {
|
|
73
76
|
id?: number;
|
|
74
77
|
validation_type?: ValidationTypes;
|
|
@@ -123,4 +126,52 @@ export type Field = {
|
|
|
123
126
|
pattern?: string;
|
|
124
127
|
validations?: FieldValidation[];
|
|
125
128
|
};
|
|
129
|
+
export type ColumnRequiredProps<T extends FieldTypesAsUnion> = {
|
|
130
|
+
internal_key: string;
|
|
131
|
+
label: string;
|
|
132
|
+
column_type: T;
|
|
133
|
+
required: boolean;
|
|
134
|
+
options?: ColumnOptions<T>;
|
|
135
|
+
};
|
|
136
|
+
export type ValidationTypesRules<T extends FieldTypesAsUnion> = T extends "integer" ? IntegerValidationRule : T extends "float" ? FloatValidationRule : T extends "string" ? StringValidationRule : T extends "email" ? EmailValidationRule : T extends "enum" ? EnumValidationRule : T extends "url" ? UrlValidationRule : T extends "boolean" ? BooleanValidationRule : T extends "date" ? DateValidationRule : T extends "datetime" ? DateTimeValidationRule : T extends "time" ? TimeValidationRule : never;
|
|
137
|
+
export type ValidationTypeOptions<T extends ValidationTypesRules<FieldTypesAsUnion>> = T extends "cannot_contain" | "contain" | "regex" ? {
|
|
138
|
+
pattern: string;
|
|
139
|
+
} : T extends "max_length" ? {
|
|
140
|
+
max_length: number;
|
|
141
|
+
} : T extends "min_length" ? {
|
|
142
|
+
min_length: number;
|
|
143
|
+
} : T extends "length_exactly" ? {
|
|
144
|
+
length: number;
|
|
145
|
+
} : T extends "less_than" | "before_date" ? {
|
|
146
|
+
max: string | number;
|
|
147
|
+
} : T extends "greater_than" | "after_date" ? {
|
|
148
|
+
min: string | number;
|
|
149
|
+
} : never;
|
|
150
|
+
export interface ColumnValidations<T extends FieldTypesAsUnion> {
|
|
151
|
+
validation_type: ValidationTypesRules<T>;
|
|
152
|
+
message: string;
|
|
153
|
+
options?: ValidationTypeOptions<ValidationTypesRules<T>>;
|
|
154
|
+
}
|
|
155
|
+
type EnumOptions = {
|
|
156
|
+
values: string[];
|
|
157
|
+
};
|
|
158
|
+
type TimeOptions = {
|
|
159
|
+
values?: never;
|
|
160
|
+
};
|
|
161
|
+
type OtherOptions = {
|
|
162
|
+
values?: never;
|
|
163
|
+
};
|
|
164
|
+
export type ColumnOptions<T extends FieldTypesAsUnion> = Partial<Pick<TemplateHeader, "unique" | "position" | "pattern">> & {
|
|
165
|
+
validations?: ColumnValidations<T>[];
|
|
166
|
+
} & (T extends "enum" ? EnumOptions : T extends "time" ? TimeOptions : OtherOptions);
|
|
167
|
+
type StringValidationRule = "cannot_contain" | "contain" | "max_length" | "min_length" | "length_exactly" | "unique_case_sensitive" | "unique_case_insensitive" | "regex";
|
|
168
|
+
type IntegerValidationRule = "less_than" | "greater_than" | "even" | "odd" | "unique_case_sensitive" | "unique_case_insensitive" | "regex";
|
|
169
|
+
type FloatValidationRule = "less_than" | "greater_than" | "even" | "odd" | "unique_case_sensitive" | "unique_case_insensitive" | "regex";
|
|
170
|
+
type EmailValidationRule = "cannot_contain" | "contain" | "max_length" | "min_length" | "length_exactly" | "unique_case_sensitive" | "unique_case_insensitive" | "regex";
|
|
171
|
+
type EnumValidationRule = "unique_case_sensitive" | "unique_case_insensitive";
|
|
172
|
+
type UrlValidationRule = "cannot_contain" | "contain" | "max_length" | "min_length" | "length_exactly" | "unique_case_sensitive" | "unique_case_insensitive" | "regex";
|
|
173
|
+
type BooleanValidationRule = "boolean";
|
|
174
|
+
type DateValidationRule = "unique_case_sensitive" | "unique_case_insensitive" | "before_date" | "after_date";
|
|
175
|
+
type DateTimeValidationRule = "unique_case_sensitive" | "unique_case_insensitive" | "before_date" | "after_date";
|
|
176
|
+
type TimeValidationRule = "unique_case_sensitive" | "unique_case_insensitive";
|
|
126
177
|
export {};
|
package/lib/esm/types.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
1
10
|
var EnvironmentTypes = [
|
|
2
11
|
"local",
|
|
3
12
|
"development",
|
|
@@ -17,3 +26,25 @@ export var FieldTypes;
|
|
|
17
26
|
FieldTypes["datetime"] = "datetime";
|
|
18
27
|
FieldTypes["time"] = "time";
|
|
19
28
|
})(FieldTypes || (FieldTypes = {}));
|
|
29
|
+
export var validationTypesBase = [
|
|
30
|
+
"cannot_contain",
|
|
31
|
+
"contain",
|
|
32
|
+
"max_length",
|
|
33
|
+
"min_length",
|
|
34
|
+
"length_exactly",
|
|
35
|
+
"unique_case_sensitive",
|
|
36
|
+
"unique_case_insensitive",
|
|
37
|
+
"regex",
|
|
38
|
+
"integer",
|
|
39
|
+
"less_than",
|
|
40
|
+
"greater_than",
|
|
41
|
+
"even",
|
|
42
|
+
"odd",
|
|
43
|
+
"float",
|
|
44
|
+
"email",
|
|
45
|
+
"url",
|
|
46
|
+
"boolean",
|
|
47
|
+
"before_date",
|
|
48
|
+
"after_date",
|
|
49
|
+
];
|
|
50
|
+
export var mutableValidationTypes = __spreadArray([], validationTypesBase, true);
|
package/lib/esm/utils/index.d.ts
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
import { ValidationTypes } from "../types";
|
|
1
2
|
export declare const isString: (variable: any) => boolean;
|
|
2
3
|
export declare const sleep: (n: number) => Promise<unknown>;
|
|
4
|
+
export declare const addLinkToHead: (document: Document, head: HTMLHeadElement, href: string, rel: string, crossOrigin?: string) => void;
|
|
5
|
+
export declare const addValidation: (value: ValidationTypes, label: string) => {
|
|
6
|
+
validation_type: any;
|
|
7
|
+
message: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const getDefaultValidations: (columnType: string) => {
|
|
10
|
+
validation_type: any;
|
|
11
|
+
message: string;
|
|
12
|
+
}[];
|
package/lib/esm/utils/index.js
CHANGED
|
@@ -4,3 +4,34 @@ export var isString = function (variable) {
|
|
|
4
4
|
export var sleep = function (n) {
|
|
5
5
|
return new Promise(function (resolve) { return setTimeout(resolve, n); });
|
|
6
6
|
};
|
|
7
|
+
export var addLinkToHead = function (document, head, href, rel, crossOrigin) {
|
|
8
|
+
if (crossOrigin === void 0) { crossOrigin = ""; }
|
|
9
|
+
var link = document.createElement("link");
|
|
10
|
+
link.href = href;
|
|
11
|
+
link.rel = rel;
|
|
12
|
+
link.crossOrigin = crossOrigin;
|
|
13
|
+
head.appendChild(link);
|
|
14
|
+
};
|
|
15
|
+
// Add dynamic columns
|
|
16
|
+
export var addValidation = function (value, label) {
|
|
17
|
+
return {
|
|
18
|
+
validation_type: value,
|
|
19
|
+
message: label,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export var getDefaultValidations = function (columnType) {
|
|
23
|
+
switch (columnType) {
|
|
24
|
+
case "email":
|
|
25
|
+
return [addValidation("email", "Must be an email")];
|
|
26
|
+
case "url":
|
|
27
|
+
return [addValidation("url", "Must be a URL")];
|
|
28
|
+
case "boolean":
|
|
29
|
+
return [addValidation("boolean", "Must be True or False")];
|
|
30
|
+
case "integer":
|
|
31
|
+
return [addValidation("integer", "Must be an integer")];
|
|
32
|
+
case "float":
|
|
33
|
+
return [addValidation("float", "Must be a float")];
|
|
34
|
+
default:
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
};
|