fuse-importer 0.23.7 → 0.23.9
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/README.md +19 -19
- package/lib/esm/Importer/ImporterWithContext.d.ts +7 -0
- package/lib/esm/Importer/ImporterWithContext.js +69 -0
- package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.js +4 -4
- package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/tableColumns.js +1 -1
- package/lib/esm/Importer/Matcher/EnumFieldsMatchers/index.js +2 -2
- package/lib/esm/Importer/Matcher/HeaderMatcher/index.js +2 -4
- package/lib/esm/Importer/Matcher/HeaderMatcher/tableColumns.js +3 -3
- package/lib/esm/Importer/Matcher/index.d.ts +3 -3
- package/lib/esm/Importer/Matcher/index.js +4 -3
- package/lib/esm/Importer/PreviewFirstTime.d.ts +2 -0
- package/lib/esm/Importer/PreviewFirstTime.js +78 -0
- package/lib/esm/Importer/PreviewModeBanner.js +3 -8
- package/lib/esm/Importer/Review/AppResponseModal.js +3 -3
- package/lib/esm/Importer/Review/ReviewContextProvider.d.ts +27 -0
- package/lib/esm/Importer/Review/ReviewContextProvider.js +233 -0
- package/lib/esm/Importer/Review/ReviewWithContext.d.ts +3 -0
- package/lib/esm/Importer/Review/ReviewWithContext.js +23 -0
- package/lib/esm/Importer/Review/index.d.ts +3 -3
- package/lib/esm/Importer/Review/index.js +4 -91
- package/lib/esm/Importer/Stepper/Step.d.ts +7 -0
- package/lib/esm/Importer/Stepper/Step.js +19 -0
- package/lib/esm/Importer/Stepper/StepIndex.d.ts +6 -0
- package/lib/esm/Importer/Stepper/StepIndex.js +27 -0
- package/lib/esm/Importer/Stepper/StepperSubmitModal.d.ts +8 -0
- package/lib/esm/Importer/Stepper/StepperSubmitModal.js +22 -0
- package/lib/esm/Importer/Stepper/UnmatchedHeadersModal.d.ts +9 -0
- package/lib/esm/Importer/Stepper/UnmatchedHeadersModal.js +23 -0
- package/lib/esm/Importer/Stepper/common/getEnumFieldValueMatchingsInitialValue.d.ts +8 -0
- package/lib/esm/Importer/Stepper/common/getEnumFieldValueMatchingsInitialValue.js +33 -0
- package/lib/esm/Importer/Stepper/common/icons.d.ts +3 -0
- package/lib/esm/Importer/Stepper/common/icons.js +18 -0
- package/lib/esm/Importer/{Stepper.d.ts → Stepper/index.d.ts} +2 -2
- package/lib/esm/Importer/Stepper/index.js +97 -0
- package/lib/esm/Importer/TrialModeBanner.js +3 -4
- package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.js +1 -1
- package/lib/esm/Importer/Uploader/DragAndDropImporter/index.js +4 -4
- package/lib/esm/Importer/Uploader/HeaderButtons.d.ts +2 -0
- package/lib/esm/Importer/Uploader/HeaderButtons.js +29 -0
- package/lib/esm/Importer/Uploader/HeadersPreview.js +6 -64
- package/lib/esm/Importer/Uploader/UploaderContextProvider.d.ts +2 -2
- package/lib/esm/Importer/Uploader/index.d.ts +3 -3
- package/lib/esm/Importer/Uploader/index.js +6 -6
- package/lib/esm/Importer/common/AppLoading.js +2 -2
- package/lib/esm/Importer/{Footer.d.ts → common/Footer.d.ts} +0 -0
- package/lib/esm/Importer/common/Footer.js +17 -0
- package/lib/esm/Importer/{FuseApi.d.ts → common/FuseApi.d.ts} +1 -1
- package/lib/esm/Importer/{FuseApi.js → common/FuseApi.js} +2 -2
- package/lib/esm/Importer/{GlobalStyle.d.ts → common/GlobalStyle.d.ts} +0 -0
- package/lib/esm/Importer/common/GlobalStyle.js +7 -0
- package/lib/esm/Importer/{ImporterFonts.d.ts → common/ImporterFonts.d.ts} +0 -0
- package/lib/esm/Importer/{ImporterFonts.js → common/ImporterFonts.js} +0 -0
- package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.d.ts +13 -26
- package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.js +51 -284
- package/lib/esm/Importer/common/Spreadsheet/common/index.d.ts +11 -14
- package/lib/esm/Importer/common/Spreadsheet/common/index.js +34 -94
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/FieldHeader.d.ts +0 -0
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/FieldHeader.js +2 -2
- package/lib/esm/Importer/common/Spreadsheet/{GlobalStyle.d.ts → components/GlobalStyle.d.ts} +0 -0
- package/lib/esm/Importer/common/Spreadsheet/{GlobalStyle.js → components/GlobalStyle.js} +0 -0
- package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetData.d.ts +3 -0
- package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetData.js +74 -0
- package/lib/esm/Importer/common/Spreadsheet/{SpreadsheetRowNumbers.d.ts → components/SpreadsheetRowNumbers.d.ts} +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{SpreadsheetRowNumbers.js → components/SpreadsheetRowNumbers.js} +4 -4
- package/lib/esm/Importer/common/Spreadsheet/components/ValidationProgress.d.ts +6 -0
- package/lib/esm/Importer/common/Spreadsheet/components/ValidationProgress.js +19 -0
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/fields/SpeadsheetAutocomplete.d.ts +2 -1
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/fields/SpeadsheetAutocomplete.js +3 -5
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/fields/SpreadsheetInput.d.ts +0 -0
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/fields/SpreadsheetInput.js +0 -0
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/fields/index.d.ts +0 -4
- package/lib/esm/Importer/common/Spreadsheet/{common → components}/fields/index.js +11 -59
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/Boolean.d.ts +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/Boolean.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/EmailInput.d.ts +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/EmailInput.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/EnumInput.d.ts +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/EnumInput.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/FloatInput.d.ts +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/FloatInput.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/IntegerInput.d.ts +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/IntegerInput.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/StringInput.d.ts +1 -1
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/StringInput.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/components/inputs/index.d.ts +13 -0
- package/lib/esm/Importer/common/Spreadsheet/{inputs → components/inputs}/index.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/hooks.d.ts +29 -0
- package/lib/esm/Importer/common/Spreadsheet/hooks.js +201 -0
- package/lib/esm/Importer/common/Spreadsheet/index.d.ts +10 -9
- package/lib/esm/Importer/common/Spreadsheet/index.js +10 -105
- package/lib/esm/Importer/common/Spreadsheet/styles.d.ts +3 -0
- package/lib/esm/Importer/common/Spreadsheet/styles.js +10 -0
- package/lib/esm/Importer/common/Spreadsheet/validation/index.d.ts +20 -0
- package/lib/esm/Importer/common/Spreadsheet/validation/index.js +172 -0
- package/lib/esm/Importer/common/Spreadsheet/validation/validators.d.ts +6 -0
- package/lib/esm/Importer/common/Spreadsheet/validation/validators.js +176 -0
- package/lib/esm/Importer/common/icons/index.d.ts +3 -0
- package/lib/esm/Importer/common/icons/index.js +3 -0
- package/lib/esm/Importer/common/index.js +3 -3
- package/lib/esm/Importer/{theme.d.ts → common/theme.d.ts} +19 -8
- package/lib/esm/Importer/{theme.js → common/theme.js} +1 -1
- package/lib/esm/Importer/common/utils.d.ts +2 -4
- package/lib/esm/Importer/common/utils.js +79 -24
- package/lib/esm/Importer/{ImporterContextProvider.d.ts → contexts/ImporterContextProvider.d.ts} +18 -51
- package/lib/esm/Importer/{ImporterContextProvider.js → contexts/ImporterContextProvider.js} +31 -27
- package/lib/esm/Importer/data/index.d.ts +28 -0
- package/lib/esm/Importer/data/index.js +134 -0
- package/lib/esm/Importer/index.d.ts +6 -11
- package/lib/esm/Importer/index.js +6 -60
- package/lib/esm/common/Modal.js +5 -2
- package/lib/esm/common/Table/TableView/TableRow.d.ts +2 -1
- package/lib/esm/common/Table/TableView/TableRow.js +10 -10
- package/lib/esm/common/Table/TableView/index.d.ts +2 -1
- package/lib/esm/common/Table/TableView/index.js +9 -8
- package/lib/esm/common/Table/icons.d.ts +1 -0
- package/lib/esm/common/Table/icons.js +2 -1
- package/lib/esm/common/Toast.d.ts +1 -1
- package/lib/esm/common/Toast.js +1 -1
- package/lib/esm/common/TooltipProvider.d.ts +5 -1
- package/lib/esm/common/TooltipProvider.js +11 -13
- package/lib/esm/common/buttons.d.ts +6 -3
- package/lib/esm/common/buttons.js +14 -4
- package/lib/esm/common/inputs/Autocomplete.d.ts +2 -1
- package/lib/esm/common/inputs/Autocomplete.js +7 -7
- package/lib/esm/common/inputs/SelectMenu.d.ts +2 -1
- package/lib/esm/common/inputs/SelectMenu.js +8 -8
- package/lib/esm/common/inputs/TextInput.d.ts +14 -6
- package/lib/esm/common/inputs/TextInput.js +18 -5
- package/lib/esm/common/inputs/index.d.ts +1 -0
- package/lib/esm/common/inputs/index.js +1 -0
- package/lib/esm/common/inputs/tooltip.d.ts +5 -0
- package/lib/esm/common/inputs/tooltip.js +38 -0
- package/lib/esm/index.d.ts +1 -2
- package/lib/esm/index.js +0 -1
- package/lib/esm/styled/theme/colorPalette.d.ts +18 -18
- package/lib/esm/styled/theme/debugCss.d.ts +1 -0
- package/lib/esm/styled/theme/debugCss.js +2 -1
- package/lib/esm/styled/theme/dimensionsCss.d.ts +6 -2
- package/lib/esm/styled/theme/dimensionsCss.js +3 -3
- package/lib/esm/styled/theme/globalCss.d.ts +3 -0
- package/lib/esm/styled/theme/globalCss.js +9 -8
- package/lib/esm/styled/theme/index.d.ts +37 -9
- package/lib/esm/styled/theme/index.js +2 -0
- package/lib/esm/styled/theme/textCss.d.ts +1 -0
- package/lib/esm/styled/theme/textCss.js +5 -4
- package/lib/esm/styled/theme/textStyles.d.ts +1 -0
- package/lib/esm/styled/theme/textStyles.js +2 -1
- package/lib/esm/styled/themeType.d.ts +0 -2
- package/lib/esm/styled/themeType.js +1 -0
- package/lib/esm/types.d.ts +64 -13
- package/lib/main.js +1 -1
- package/package.json +18 -9
- package/lib/esm/Importer/Footer.js +0 -19
- package/lib/esm/Importer/GlobalStyle.js +0 -7
- package/lib/esm/Importer/SpreadsheetReviewContextProvider.d.ts +0 -20
- package/lib/esm/Importer/SpreadsheetReviewContextProvider.js +0 -128
- package/lib/esm/Importer/Stepper.js +0 -153
- package/lib/esm/Importer/common/Spreadsheet/inputs/index.d.ts +0 -13
|
@@ -9,301 +9,68 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (_) try {
|
|
28
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
49
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
50
|
-
if (ar || !(i in from)) {
|
|
51
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
52
|
-
ar[i] = from[i];
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
53
20
|
}
|
|
54
|
-
|
|
55
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
return t;
|
|
56
22
|
};
|
|
57
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import { sleep } from "../../../utils";
|
|
62
|
-
import { useImporterContext } from "../../ImporterContextProvider";
|
|
63
|
-
var MINIMUM_ROW_COUNT = 20;
|
|
64
|
-
var getRowId = function (id) { return "r".concat(id); };
|
|
65
|
-
export var getBatchErrors = function (records, onValidateRecord) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
|
-
var batchErrors;
|
|
67
|
-
return __generator(this, function (_a) {
|
|
68
|
-
switch (_a.label) {
|
|
69
|
-
case 0: return [4 /*yield*/, Promise.all(records.map(function (record) { return __awaiter(void 0, void 0, void 0, function () {
|
|
70
|
-
var _a;
|
|
71
|
-
return __generator(this, function (_b) {
|
|
72
|
-
switch (_b.label) {
|
|
73
|
-
case 0:
|
|
74
|
-
_a = {
|
|
75
|
-
rowId: record._meta.id
|
|
76
|
-
};
|
|
77
|
-
return [4 /*yield*/, onValidateRecord(record)];
|
|
78
|
-
case 1: return [2 /*return*/, (_a.errors = _b.sent(),
|
|
79
|
-
_a)];
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}); }))];
|
|
83
|
-
case 1:
|
|
84
|
-
batchErrors = _a.sent();
|
|
85
|
-
return [2 /*return*/, formatBatchErrors(batchErrors)];
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}); };
|
|
24
|
+
import { get } from "lodash";
|
|
25
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
|
|
26
|
+
import { useValidationState } from "./hooks";
|
|
89
27
|
var SpreadsheetContext = createContext({});
|
|
90
|
-
var addMeta = function (d, i) { return (__assign(__assign({}, d), { _meta: { id: getRowId(i), rowIndex: i } })); };
|
|
91
28
|
export var SpreadsheetContextProvider = function (_a) {
|
|
92
|
-
var
|
|
93
|
-
var
|
|
94
|
-
|
|
95
|
-
]
|
|
96
|
-
var
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var _h = useState(true), isScrollingEnabled = _h[0], setIsScrollingEnabled = _h[1];
|
|
101
|
-
var _j = useState(null), batchValidationErrors = _j[0], setBatchValidationErrors = _j[1];
|
|
102
|
-
var _k = useState(0), batchValidationPercentage = _k[0], setBatchValidationPercentage = _k[1];
|
|
103
|
-
var _l = useValidationState({
|
|
104
|
-
data: data,
|
|
29
|
+
var initialDataSet = _a.initialDataSet, _b = _a.rowWidth, rowWidth = _b === void 0 ? 1 : _b, fields = _a.fields, options = _a.options, isReadOnly = _a.isReadOnly, highlightFirstRow = _a.highlightFirstRow, children = _a.children, onValidateRecord = _a.onValidateRecord, onDataSetChanged = _a.onDataSetChanged, onValidationStateChanged = _a.onValidationStateChanged;
|
|
30
|
+
var _c = useState(initialDataSet), dataSet = _c[0], setDataSet = _c[1];
|
|
31
|
+
var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
32
|
+
var _e = useState(null), sortByFieldErrors = _e[0], setSortByFieldErrors = _e[1];
|
|
33
|
+
var sortByCurrentErrorsRef = useRef({});
|
|
34
|
+
var _f = useValidationState({
|
|
35
|
+
dataSet: dataSet,
|
|
36
|
+
initialDataSet: initialDataSet,
|
|
105
37
|
fields: fields,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
var
|
|
115
|
-
var
|
|
116
|
-
var batchCount = Math.ceil(data.length / batchSize);
|
|
117
|
-
var isCancelled = false;
|
|
118
|
-
var addEmptyRows = function () {
|
|
119
|
-
var newData = __spreadArray([], data, true);
|
|
120
|
-
var emptyRecord = fields.reduce(function (obj, f) {
|
|
121
|
-
var _a;
|
|
122
|
-
return (__assign(__assign({}, obj), (_a = {}, _a[f.name] = null, _a)));
|
|
123
|
-
}, {});
|
|
124
|
-
for (var i = newData.length; i < MINIMUM_ROW_COUNT; i++) {
|
|
125
|
-
newData.push(__assign(__assign({}, emptyRecord), { _meta: {
|
|
126
|
-
id: getRowId(i),
|
|
127
|
-
rowIndex: i,
|
|
128
|
-
} }));
|
|
129
|
-
}
|
|
130
|
-
updateData(newData);
|
|
131
|
-
};
|
|
132
|
-
var validateInBatches = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
133
|
-
var validationErrors, batchIdx, idx, batch, errors, validationPercentage;
|
|
134
|
-
return __generator(this, function (_a) {
|
|
135
|
-
switch (_a.label) {
|
|
136
|
-
case 0:
|
|
137
|
-
validationErrors = {};
|
|
138
|
-
batchIdx = 0;
|
|
139
|
-
_a.label = 1;
|
|
140
|
-
case 1:
|
|
141
|
-
if (!(batchIdx < batchCount)) return [3 /*break*/, 5];
|
|
142
|
-
if (isCancelled)
|
|
143
|
-
return [3 /*break*/, 5];
|
|
144
|
-
idx = batchIdx * batchSize;
|
|
145
|
-
batch = data.slice(idx, idx + batchSize);
|
|
146
|
-
return [4 /*yield*/, (onValidateBatch
|
|
147
|
-
? onValidateBatch(batch)
|
|
148
|
-
: getBatchErrors(batch, onValidateRecord))];
|
|
149
|
-
case 2:
|
|
150
|
-
errors = _a.sent();
|
|
151
|
-
validationErrors = __assign(__assign({}, validationErrors), errors);
|
|
152
|
-
// unblocks main thread for rendering ui
|
|
153
|
-
return [4 /*yield*/, sleep(batchValidationDelayMs)];
|
|
154
|
-
case 3:
|
|
155
|
-
// unblocks main thread for rendering ui
|
|
156
|
-
_a.sent();
|
|
157
|
-
validationPercentage = (Math.min(idx + batchSize, data.length) / data.length) * 100;
|
|
158
|
-
setBatchValidationPercentage(Math.floor(validationPercentage));
|
|
159
|
-
_a.label = 4;
|
|
160
|
-
case 4:
|
|
161
|
-
batchIdx++;
|
|
162
|
-
return [3 /*break*/, 1];
|
|
163
|
-
case 5:
|
|
164
|
-
if (!isCancelled)
|
|
165
|
-
setBatchValidationErrors(validationErrors);
|
|
166
|
-
return [2 /*return*/];
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}); };
|
|
170
|
-
var init = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
171
|
-
return __generator(this, function (_a) {
|
|
172
|
-
if (data.length < MINIMUM_ROW_COUNT)
|
|
173
|
-
addEmptyRows();
|
|
174
|
-
validateInBatches();
|
|
175
|
-
return [2 /*return*/];
|
|
176
|
-
});
|
|
177
|
-
}); };
|
|
178
|
-
if (!isReadOnly)
|
|
179
|
-
init();
|
|
180
|
-
return function () {
|
|
181
|
-
isCancelled = true;
|
|
182
|
-
};
|
|
183
|
-
}, []);
|
|
184
|
-
useEffect(function () {
|
|
185
|
-
var appValidationErrors = appResponse === null || appResponse === void 0 ? void 0 : appResponse.errors;
|
|
186
|
-
if (appValidationErrors) {
|
|
187
|
-
updateData(__spreadArray([], data, true).map(function (record) { return (__assign(__assign({}, record), { _meta: __assign(__assign({}, record._meta), { appValidationErrors: appValidationErrors[record._meta.id] }) })); }));
|
|
188
|
-
}
|
|
189
|
-
}, [appResponse]);
|
|
190
|
-
useEffect(function () {
|
|
191
|
-
if (!setReviewedData)
|
|
192
|
-
return;
|
|
193
|
-
if (isValidationComplete)
|
|
194
|
-
setReviewedData(data.filter(function (r) { return !recordIsEmpty(r, fields); }));
|
|
195
|
-
else
|
|
196
|
-
setReviewedData(null);
|
|
197
|
-
}, [isValidationComplete, data]);
|
|
198
|
-
useEffect(function () {
|
|
38
|
+
options: options,
|
|
39
|
+
isReadOnly: isReadOnly,
|
|
40
|
+
setDataSet: setDataSet,
|
|
41
|
+
setIsLoading: setIsLoading,
|
|
42
|
+
onValidateRecord: onValidateRecord,
|
|
43
|
+
}), errorsRef = _f.errorsRef, updateRecordAndRevalidate = _f.updateRecordAndRevalidate, validationState = __rest(_f, ["errorsRef", "updateRecordAndRevalidate"]);
|
|
44
|
+
// sort data based on errors (errors group on top and not errors group at bottom)
|
|
45
|
+
var data = useMemo(function () {
|
|
46
|
+
var errors = sortByCurrentErrorsRef.current; //Sort errors snapshot
|
|
47
|
+
var dataSetValues = Object.values(dataSet);
|
|
199
48
|
if (!sortByFieldErrors)
|
|
200
|
-
return;
|
|
201
|
-
|
|
202
|
-
var
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
fields: fields,
|
|
206
|
-
batchValidationErrors: batchValidationErrors,
|
|
207
|
-
submittedData: submittedData,
|
|
208
|
-
})[sortByFieldErrors];
|
|
209
|
-
};
|
|
210
|
-
var aHasErrors = recordHasErrors(a);
|
|
211
|
-
var bHasErrors = recordHasErrors(b);
|
|
212
|
-
if (aHasErrors === bHasErrors)
|
|
49
|
+
return dataSetValues;
|
|
50
|
+
return dataSetValues.sort(function (a, b) {
|
|
51
|
+
var aHasErrors = !!get(errors, "".concat(get(a, "_meta.id"), ".").concat(sortByFieldErrors), false);
|
|
52
|
+
var bHasErrors = !!get(errors, "".concat(get(b, "_meta.id"), ".").concat(sortByFieldErrors), false);
|
|
53
|
+
if (aHasErrors === bHasErrors) {
|
|
213
54
|
return a._meta.rowIndex > b._meta.rowIndex ? 1 : -1;
|
|
55
|
+
}
|
|
214
56
|
return bHasErrors ? 1 : -1;
|
|
215
57
|
});
|
|
216
|
-
|
|
217
|
-
}, [sortByFieldErrors]);
|
|
218
|
-
var validateRenderedRecords = useCallback(function (renderedData) { return __awaiter(void 0, void 0, void 0, function () {
|
|
219
|
-
var newData;
|
|
220
|
-
return __generator(this, function (_a) {
|
|
221
|
-
if (isReadOnly)
|
|
222
|
-
return [2 /*return*/];
|
|
223
|
-
setIsLoading(true);
|
|
224
|
-
newData = __spreadArray([], data, true);
|
|
225
|
-
renderedData.forEach(function (record) { return __awaiter(void 0, void 0, void 0, function () {
|
|
226
|
-
var renderedRecordWithErrors, _a, rowIndex;
|
|
227
|
-
var _b;
|
|
228
|
-
return __generator(this, function (_c) {
|
|
229
|
-
switch (_c.label) {
|
|
230
|
-
case 0:
|
|
231
|
-
_a = getRenderedRecordWithErrors;
|
|
232
|
-
_b = {
|
|
233
|
-
record: record
|
|
234
|
-
};
|
|
235
|
-
return [4 /*yield*/, onValidateRecord(record)];
|
|
236
|
-
case 1:
|
|
237
|
-
renderedRecordWithErrors = _a.apply(void 0, [(_b.validationErrors = _c.sent(),
|
|
238
|
-
_b)]);
|
|
239
|
-
rowIndex = newData.findIndex(function (r) { return r._meta.id === record._meta.id; });
|
|
240
|
-
newData[rowIndex] = renderedRecordWithErrors;
|
|
241
|
-
return [2 /*return*/];
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
}); });
|
|
245
|
-
setIsLoading(false);
|
|
246
|
-
updateData(newData);
|
|
247
|
-
return [2 /*return*/];
|
|
248
|
-
});
|
|
249
|
-
}); }, [data]);
|
|
250
|
-
var value = {
|
|
251
|
-
data: data,
|
|
252
|
-
dataRef: dataRef,
|
|
253
|
-
fields: fields,
|
|
254
|
-
isLoading: isLoading,
|
|
255
|
-
setIsLoading: setIsLoading,
|
|
256
|
-
isScrollingEnabled: isScrollingEnabled,
|
|
257
|
-
isValidationComplete: isValidationComplete,
|
|
258
|
-
batchValidationErrors: batchValidationErrors,
|
|
259
|
-
batchValidationPercentage: batchValidationPercentage,
|
|
260
|
-
totalErrors: totalErrors,
|
|
261
|
-
columnErrorCounts: columnErrorCounts,
|
|
262
|
-
isReadOnly: isReadOnly,
|
|
263
|
-
rowWidth: rowWidth,
|
|
264
|
-
sortByFieldErrors: sortByFieldErrors,
|
|
265
|
-
submittedData: submittedData,
|
|
266
|
-
setSortByFieldErrors: setSortByFieldErrors,
|
|
267
|
-
setData: updateData,
|
|
268
|
-
onValidateRecord: onValidateRecord,
|
|
269
|
-
validateRenderedRecords: validateRenderedRecords,
|
|
270
|
-
setIsScrollingEnabled: setIsScrollingEnabled,
|
|
271
|
-
highlightFirstRow: highlightFirstRow,
|
|
272
|
-
};
|
|
273
|
-
return (_jsx(SpreadsheetContext.Provider, __assign({ value: value }, { children: children })));
|
|
274
|
-
};
|
|
275
|
-
var useValidationState = function (_a) {
|
|
276
|
-
var data = _a.data, fields = _a.fields, batchValidationErrors = _a.batchValidationErrors, submittedData = _a.submittedData;
|
|
277
|
-
var _b = useState({}), columnErrorCounts = _b[0], setColumnErrorCounts = _b[1];
|
|
278
|
-
var setIsSpreadsheetValid = useImporterContext().setIsSpreadsheetValid;
|
|
58
|
+
}, [dataSet, sortByFieldErrors]);
|
|
279
59
|
useEffect(function () {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
fields: fields,
|
|
293
|
-
batchValidationErrors: batchValidationErrors,
|
|
294
|
-
submittedData: submittedData,
|
|
295
|
-
});
|
|
296
|
-
updateFieldErrorCount(recordErrors);
|
|
297
|
-
});
|
|
298
|
-
setIsSpreadsheetValid(Object.keys(newColumnErrorCounts).length === 0);
|
|
299
|
-
setColumnErrorCounts(newColumnErrorCounts);
|
|
300
|
-
};
|
|
301
|
-
updateErrorCounts();
|
|
302
|
-
}, [data, batchValidationErrors]);
|
|
303
|
-
var totalErrors = useMemo(function () {
|
|
304
|
-
return Object.keys(columnErrorCounts).reduce(function (total, key) { return total + (columnErrorCounts[key] || 0); }, 0);
|
|
60
|
+
onDataSetChanged && onDataSetChanged(dataSet);
|
|
61
|
+
}, [dataSet]);
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
setDataSet(initialDataSet);
|
|
64
|
+
}, [initialDataSet]);
|
|
65
|
+
useEffect(function () {
|
|
66
|
+
onValidationStateChanged && onValidationStateChanged(validationState);
|
|
67
|
+
}, [validationState, onValidationStateChanged]);
|
|
68
|
+
var handleSortByFieldErrors = useCallback(function (value) {
|
|
69
|
+
//current errors snapshot for use on sort to keep data sorted without changing with each edit or revalidation.
|
|
70
|
+
sortByCurrentErrorsRef.current = __assign({}, errorsRef.current);
|
|
71
|
+
setSortByFieldErrors(value);
|
|
305
72
|
}, []);
|
|
306
|
-
var
|
|
307
|
-
return {
|
|
73
|
+
var value = __assign(__assign({ data: data, fields: fields, isLoading: isLoading }, validationState), { isReadOnly: isReadOnly, rowWidth: rowWidth, sortByFieldErrors: sortByFieldErrors, highlightFirstRow: highlightFirstRow, setIsLoading: setIsLoading, setSortByFieldErrors: handleSortByFieldErrors, onValidateRecord: onValidateRecord, updateRecord: updateRecordAndRevalidate });
|
|
74
|
+
return (_jsx(SpreadsheetContext.Provider, __assign({ value: value }, { children: children })));
|
|
308
75
|
};
|
|
309
76
|
export var useSpreadsheetContext = function () { return useContext(SpreadsheetContext); };
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Record, Field, FieldTypes } from "../../../../types";
|
|
2
2
|
export declare const spreadsheetRowHeightPx = 40;
|
|
3
3
|
export declare const spreadsheetHeaderHeightPx = 40;
|
|
4
|
+
export declare const isNullOrUndefined: (value: any) => boolean;
|
|
5
|
+
export declare const isEmpty: (value: any) => boolean;
|
|
6
|
+
export declare const isEmail: (value: any) => boolean;
|
|
7
|
+
export declare const isUrl: (value: any) => boolean;
|
|
4
8
|
export declare const isTrue: (value: string) => boolean;
|
|
9
|
+
export declare const isFalse: (value: string) => boolean;
|
|
10
|
+
export declare const isBoolean: (value: string) => boolean;
|
|
5
11
|
export declare const isInteger: (value: string) => boolean;
|
|
6
12
|
export declare const isFloat: (value: string) => boolean;
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}) => Record;
|
|
12
|
-
declare type GetRecordErrorsArgs = {
|
|
13
|
-
record: Record;
|
|
14
|
-
fields: Field[];
|
|
15
|
-
batchValidationErrors: BatchValidationErrors;
|
|
16
|
-
submittedData: Record[];
|
|
17
|
-
};
|
|
18
|
-
export declare const getRecordErrors: ({ record, fields, batchValidationErrors, submittedData, }: GetRecordErrorsArgs) => {};
|
|
19
|
-
export {};
|
|
13
|
+
export declare const isEven: (value: number) => boolean;
|
|
14
|
+
export declare const ignoreNullOrUndefinedKeyValues: (obj: any) => {};
|
|
15
|
+
export declare const isRecordEmpty: (record: Record, fields: Field[]) => boolean;
|
|
16
|
+
export declare const parseValue: (fieldType: FieldTypes, value: any, enumSet?: any) => any;
|
|
@@ -1,80 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
var _a;
|
|
13
|
-
import { FieldTypes, } from "../../../../types";
|
|
14
|
-
import { DateTime } from "luxon";
|
|
1
|
+
import { FieldTypes } from "../../../../types";
|
|
15
2
|
export var spreadsheetRowHeightPx = 40;
|
|
16
3
|
export var spreadsheetHeaderHeightPx = 40;
|
|
17
|
-
var
|
|
4
|
+
export var isNullOrUndefined = function (value) {
|
|
5
|
+
return value === null || value === undefined;
|
|
6
|
+
};
|
|
7
|
+
export var isEmpty = function (value) {
|
|
18
8
|
return (value === undefined ||
|
|
19
9
|
value === null ||
|
|
20
10
|
(typeof value === "object" && Object.keys(value).length === 0) ||
|
|
21
11
|
(typeof value === "string" && value.trim().length === 0));
|
|
22
12
|
};
|
|
23
|
-
var isEmail = function (value) {
|
|
13
|
+
export var isEmail = function (value) {
|
|
24
14
|
var emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
25
15
|
return emailRegex.test(value);
|
|
26
16
|
};
|
|
27
|
-
var isUrl = function (value) {
|
|
17
|
+
export var isUrl = function (value) {
|
|
28
18
|
var urlRegex = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/g;
|
|
29
19
|
return urlRegex.test(value);
|
|
30
20
|
};
|
|
31
21
|
export var isTrue = function (value) {
|
|
32
|
-
var
|
|
22
|
+
var _a;
|
|
23
|
+
var _value = (_a = value === null || value === void 0 ? void 0 : value.toString()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
33
24
|
return ["true", "yes", "1", "y", "on", "t"].includes(_value);
|
|
34
25
|
};
|
|
26
|
+
export var isFalse = function (value) {
|
|
27
|
+
var _a;
|
|
28
|
+
var _value = (_a = value === null || value === void 0 ? void 0 : value.toString()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
29
|
+
return ["false", "no", "0", "n", "off", "f"].includes(_value);
|
|
30
|
+
};
|
|
31
|
+
export var isBoolean = function (value) {
|
|
32
|
+
return isTrue(value) || isFalse(value);
|
|
33
|
+
};
|
|
35
34
|
export var isInteger = function (value) { return /^-?[0-9]+$/.test(value + ""); };
|
|
36
35
|
export var isFloat = function (value) {
|
|
37
36
|
return /^-?[0-9]+(?:\.[0-9]+)?$/.test(value + "");
|
|
38
37
|
};
|
|
39
|
-
export var
|
|
40
|
-
|
|
41
|
-
};
|
|
42
|
-
export var getRenderedRecordWithErrors = function (_a) {
|
|
43
|
-
var record = _a.record, validationErrors = _a.validationErrors;
|
|
44
|
-
return (__assign(__assign({}, record), { _meta: __assign(__assign({}, (record._meta || {})), { localValidationErrors: validationErrors, wasSeen: true }) }));
|
|
45
|
-
};
|
|
46
|
-
var validateDatePattern = function (field, fieldValue) {
|
|
47
|
-
var date = DateTime.fromFormat(fieldValue, field.pattern);
|
|
48
|
-
if (!date.isValid) {
|
|
49
|
-
return "".concat(field.label, " must match the pattern ").concat(field.pattern);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
var validations = (_a = {},
|
|
53
|
-
_a[FieldTypes.email] = function (field, fieldValue) {
|
|
54
|
-
if (!isEmail(fieldValue)) {
|
|
55
|
-
return "".concat(field.label, " is not a valid email");
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
_a[FieldTypes.url] = function (field, fieldValue) {
|
|
59
|
-
if (!isUrl(fieldValue)) {
|
|
60
|
-
return "".concat(field.label, " is not a valid url");
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
_a[FieldTypes.integer] = function (field, fieldValue) {
|
|
64
|
-
if (!isInteger(fieldValue)) {
|
|
65
|
-
return "".concat(field.label, " is not a valid integer");
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
_a[FieldTypes.float] = function (field, fieldValue) {
|
|
69
|
-
if (!isFloat(fieldValue)) {
|
|
70
|
-
return "".concat(field.label, " is not a valid float");
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
_a[FieldTypes.date] = validateDatePattern,
|
|
74
|
-
_a[FieldTypes.time] = validateDatePattern,
|
|
75
|
-
_a[FieldTypes.datetime] = validateDatePattern,
|
|
76
|
-
_a);
|
|
77
|
-
var ignoreNullOrUndefinedKeyValues = function (obj) {
|
|
38
|
+
export var isEven = function (value) { return value % 2 === 0; };
|
|
39
|
+
export var ignoreNullOrUndefinedKeyValues = function (obj) {
|
|
78
40
|
var result = {};
|
|
79
41
|
Object.keys(obj || {})
|
|
80
42
|
.filter(function (key) { return obj[key] !== null && obj[key] !== undefined; })
|
|
@@ -83,41 +45,19 @@ var ignoreNullOrUndefinedKeyValues = function (obj) {
|
|
|
83
45
|
});
|
|
84
46
|
return result;
|
|
85
47
|
};
|
|
86
|
-
export var
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}, {});
|
|
102
|
-
var recordValidationErrors = (function () {
|
|
103
|
-
var _a;
|
|
104
|
-
if ((_a = record === null || record === void 0 ? void 0 : record._meta) === null || _a === void 0 ? void 0 : _a.wasSeen)
|
|
105
|
-
return record._meta.localValidationErrors;
|
|
106
|
-
return batchValidationErrors
|
|
107
|
-
? batchValidationErrors[record._meta.id]
|
|
108
|
-
: {};
|
|
109
|
-
})();
|
|
110
|
-
var appValidationErrors = {};
|
|
111
|
-
if (record._meta.appValidationErrors) {
|
|
112
|
-
var appValidationErrorFields = Object.keys(record._meta.appValidationErrors);
|
|
113
|
-
appValidationErrors = appValidationErrorFields.reduce(function (errors, field) {
|
|
114
|
-
var newErrors = __assign({}, errors);
|
|
115
|
-
if (record[field] === submittedRecord[field])
|
|
116
|
-
newErrors[field] = record._meta.appValidationErrors[field];
|
|
117
|
-
return newErrors;
|
|
118
|
-
}, {});
|
|
119
|
-
}
|
|
120
|
-
return __assign(__assign(__assign({}, ignoreNullOrUndefinedKeyValues(recordValidationErrors)), ignoreNullOrUndefinedKeyValues(recordTemplateValidationErrors)), ignoreNullOrUndefinedKeyValues(appValidationErrors));
|
|
121
|
-
}
|
|
122
|
-
return {};
|
|
48
|
+
export var isRecordEmpty = function (record, fields) {
|
|
49
|
+
return fields.reduce(function (isEmptyRecord, f) { return isEmptyRecord && isEmpty(record[f.name]); }, true);
|
|
50
|
+
};
|
|
51
|
+
export var parseValue = function (fieldType, value, enumSet) {
|
|
52
|
+
if (isEmpty(value))
|
|
53
|
+
return value;
|
|
54
|
+
if (fieldType === FieldTypes.float)
|
|
55
|
+
return isFloat(value) ? parseFloat(value) : value;
|
|
56
|
+
if (fieldType === FieldTypes.integer)
|
|
57
|
+
return isInteger(value) ? parseInt(value) : value;
|
|
58
|
+
if (fieldType === FieldTypes.boolean)
|
|
59
|
+
return isTrue(value) ? true : false;
|
|
60
|
+
if (fieldType === FieldTypes.enum && enumSet)
|
|
61
|
+
return enumSet[value];
|
|
62
|
+
return value;
|
|
123
63
|
};
|
|
File without changes
|
|
@@ -14,10 +14,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
14
14
|
return __assign.apply(this, arguments);
|
|
15
15
|
};
|
|
16
16
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
import styled, { css } from "styled-components";
|
|
17
18
|
import { TooltipProvider } from "../../../../common";
|
|
18
19
|
import { Div } from "../../../../styled/utils";
|
|
19
20
|
import { useSpreadsheetContext } from "../SpreadsheetContextProvider";
|
|
20
|
-
import styled, { css } from "styled-components";
|
|
21
21
|
var ErrorCount = styled(Div)(function (_a) {
|
|
22
22
|
var _b = _a.theme, colors = _b.colors, c = _b.css;
|
|
23
23
|
return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n background: ", ";\n border: solid 1px ", ";\n padding: 4px 7px;\n border-radius: 56px;\n min-width: 24px;\n ", ";\n "], ["\n color: ", ";\n background: ", ";\n border: solid 1px ", ";\n padding: 4px 7px;\n border-radius: 56px;\n min-width: 24px;\n ", ";\n "])), colors.error, colors.red100, colors.error, c.centered);
|
|
@@ -26,6 +26,6 @@ export var FieldHeader = function (_a) {
|
|
|
26
26
|
var field = _a.field, sortByFieldErrors = _a.sortByFieldErrors;
|
|
27
27
|
var columnErrorCounts = useSpreadsheetContext().columnErrorCounts;
|
|
28
28
|
var fieldErrorCount = columnErrorCounts[field.name];
|
|
29
|
-
return (_jsxs(Div, __assign({ p: "0 16px", spaceBetween: true, w100: true, alignCenter: true }, { children: [_jsxs(Div, __assign({ truncateText: true }, { children: [field.label, field.isRequired && "*"] })), fieldErrorCount && (_jsx(TooltipProvider, __assign({ mr: 3, w: 35, tooltip: "Sort by ".concat(field.label, " errors") }, { children: _jsx(ErrorCount, __assign({ onClick: function () { return sortByFieldErrors(field.name); } }, { children: _jsx(Div, __assign({ centered: true }, { children: _jsx(Div, __assign({ w: 35, textAlignCenter: true, label3: true, truncateText: true }, { children: fieldErrorCount })) })) })) })))] })));
|
|
29
|
+
return (_jsxs(Div, __assign({ "data-test-id": "column-header-".concat(field.name), p: "0 16px", spaceBetween: true, w100: true, alignCenter: true }, { children: [_jsxs(Div, __assign({ truncateText: true }, { children: [field.label, field.isRequired && "*"] })), fieldErrorCount && (_jsx(TooltipProvider, __assign({ mr: 3, w: 35, tooltip: "Sort by ".concat(field.label, " errors") }, { children: _jsx(ErrorCount, __assign({ "data-test-id": "column-errors-count-".concat(field.name), onClick: function () { return sortByFieldErrors(field.name); } }, { children: _jsx(Div, __assign({ centered: true }, { children: _jsx(Div, __assign({ w: 35, textAlignCenter: true, label3: true, truncateText: true }, { children: fieldErrorCount })) })) })) })))] })));
|
|
30
30
|
};
|
|
31
31
|
var templateObject_1;
|
package/lib/esm/Importer/common/Spreadsheet/{GlobalStyle.d.ts → components/GlobalStyle.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|