fuse-importer 0.1.5-testing → 0.1.6-testing
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/components/fields/index.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/transformation/index.d.ts +2 -1
- package/lib/esm/Importer/common/Spreadsheet/transformation/index.js +9 -5
- package/lib/esm/Importer/common/Spreadsheet/transformation/transformators.d.ts +8 -2
- package/lib/esm/Importer/common/Spreadsheet/transformation/transformators.js +4 -16
- package/lib/esm/Importer/data/index.d.ts +1 -0
- package/lib/esm/Importer/data/index.js +37 -0
- package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.js +3 -1
- package/lib/esm/common/Table/TableActions/TableActions.styles.js +1 -1
- package/lib/esm/common/Table/TableActions/TransformedRecordsCount.d.ts +1 -0
- package/lib/esm/common/Table/TableActions/TransformedRecordsCount.js +11 -10
- package/lib/esm/common/datePatterns.d.ts +1 -0
- package/lib/esm/common/datePatterns.js +10 -0
- package/lib/main.js +2 -2
- package/package.json +1 -1
|
@@ -130,7 +130,7 @@ var ContentContainer = styled(Div)(templateObject_8 || (templateObject_8 = __mak
|
|
|
130
130
|
var expandedFieldWidth = _a.expandedFieldWidth, shouldExpandInput = _a.shouldExpandInput;
|
|
131
131
|
return shouldExpandInput && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: ", ";\n z-index: 1;\n\n .suffix {\n right: 12px;\n }\n "], ["\n width: ", ";\n z-index: 1;\n\n .suffix {\n right: 12px;\n }\n "])), expandedFieldWidth || "auto");
|
|
132
132
|
}, function (p) { return p.theme.css.alignCenter; }, function (p) {
|
|
133
|
-
return p.isHighlighted && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 2px ", " inset;\n "], ["\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 2px ", " inset;\n "])), function (p) { return p.theme.colors.blue100; }, function (p) { return p.theme.colors.blue500; });
|
|
133
|
+
return p.isHighlighted && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 2px ", " inset;\n z-index: 100;\n "], ["\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 2px ", " inset;\n z-index: 100;\n "])), function (p) { return p.theme.colors.blue100; }, function (p) { return p.theme.colors.blue500; });
|
|
134
134
|
}, function (p) {
|
|
135
135
|
return p.hasWarning && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n color: ", ";\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 1px ", " inset;\n "], ["\n color: ", ";\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 1px ", " inset;\n "])), function (p) { return p.theme.colors.orange1200; }, function (p) { return p.theme.colors.orange1100; }, function (p) { return p.theme.colors.orange500; });
|
|
136
136
|
}, function (p) {
|
|
@@ -2,6 +2,7 @@ import { Field, Record, TransformedRecord } from "../../../../types";
|
|
|
2
2
|
type TransformRecordArgs = {
|
|
3
3
|
record: Record;
|
|
4
4
|
fields: Field[];
|
|
5
|
+
possibleDateFormats?: string[];
|
|
5
6
|
};
|
|
6
|
-
export declare const transformRecord: ({ record, fields }: TransformRecordArgs) => TransformedRecord;
|
|
7
|
+
export declare const transformRecord: ({ record, fields, possibleDateFormats, }: TransformRecordArgs) => TransformedRecord;
|
|
7
8
|
export {};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { fieldTransformations } from "./transformators";
|
|
2
|
-
var runTransformation = function (
|
|
1
|
+
import { datesDateTimesAndTimesTransformations, fieldTransformations, } from "./transformators";
|
|
2
|
+
var runTransformation = function (fieldValue, transformation, field, possibleDateFormats) {
|
|
3
3
|
var transformationType = transformation.transformation_type;
|
|
4
4
|
var transformerFunction = fieldTransformations[transformationType];
|
|
5
|
-
|
|
5
|
+
if (Object.keys(datesDateTimesAndTimesTransformations).includes(transformationType)) {
|
|
6
|
+
var dateTimeTransformFunction = transformerFunction;
|
|
7
|
+
return dateTimeTransformFunction(fieldValue, transformation, field, possibleDateFormats);
|
|
8
|
+
}
|
|
9
|
+
return transformerFunction(fieldValue, transformation, field);
|
|
6
10
|
};
|
|
7
11
|
export var transformRecord = function (_a) {
|
|
8
|
-
var record = _a.record, fields = _a.fields;
|
|
12
|
+
var record = _a.record, fields = _a.fields, possibleDateFormats = _a.possibleDateFormats;
|
|
9
13
|
var transformedRecords = {};
|
|
10
14
|
for (var _i = 0, fields_1 = fields; _i < fields_1.length; _i++) {
|
|
11
15
|
var currentField = fields_1[_i];
|
|
@@ -23,7 +27,7 @@ export var transformRecord = function (_a) {
|
|
|
23
27
|
var fieldWasTransformed = false;
|
|
24
28
|
for (var i = 0; i < fieldTransformations_1.length; i++) {
|
|
25
29
|
var currentTransformation = fieldTransformations_1[i];
|
|
26
|
-
var transformed = runTransformation(transformedField.transformed, currentTransformation, currentField);
|
|
30
|
+
var transformed = runTransformation(transformedField.transformed, currentTransformation, currentField, possibleDateFormats);
|
|
27
31
|
if (transformed.transformationWasNeeded) {
|
|
28
32
|
fieldWasTransformed = true;
|
|
29
33
|
transformedField = {
|
|
@@ -4,9 +4,15 @@ export type FieldTransformator = (fieldValue: any, transformation?: FieldTransfo
|
|
|
4
4
|
original: any;
|
|
5
5
|
transformed: any;
|
|
6
6
|
};
|
|
7
|
+
export type DateTimeTransformator = (fieldValue: any, transformation?: FieldTransformation, fieldOptions?: Field, possibleDateFormats?: string[]) => {
|
|
8
|
+
transformationWasNeeded: boolean;
|
|
9
|
+
original: any;
|
|
10
|
+
transformed: any;
|
|
11
|
+
};
|
|
7
12
|
export type FieldTransformations = Partial<{
|
|
8
|
-
[key: string]: FieldTransformator;
|
|
13
|
+
[key: string]: FieldTransformator | DateTimeTransformator;
|
|
9
14
|
}>;
|
|
15
|
+
export declare const datesDateTimesAndTimesTransformations: FieldTransformations;
|
|
10
16
|
export declare const fieldTransformations: {
|
|
11
|
-
[x: string]: FieldTransformator;
|
|
17
|
+
[x: string]: FieldTransformator | DateTimeTransformator;
|
|
12
18
|
};
|
|
@@ -9,17 +9,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
-
if (ar || !(i in from)) {
|
|
15
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
-
ar[i] = from[i];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
-
};
|
|
21
12
|
import { DateTime } from "luxon";
|
|
22
|
-
import { datePatterns, dateTimePatterns, timePatterns, } from "../../../../common/datePatterns";
|
|
23
13
|
var isTransformationNeeded = function (fieldValue, transformedValue) { return ({
|
|
24
14
|
transformationWasNeeded: fieldValue !== transformedValue,
|
|
25
15
|
original: fieldValue,
|
|
@@ -89,11 +79,9 @@ var stringFieldTransformations = {
|
|
|
89
79
|
return isTransformationNeeded(fieldValue, transformedValue);
|
|
90
80
|
},
|
|
91
81
|
};
|
|
92
|
-
var parseDate = function (date) {
|
|
82
|
+
var parseDate = function (date, possibleFormats) {
|
|
93
83
|
if (!date)
|
|
94
84
|
return null;
|
|
95
|
-
var allPatterns = __spreadArray(__spreadArray(__spreadArray([], datePatterns, true), dateTimePatterns, true), timePatterns, true);
|
|
96
|
-
var possibleFormats = allPatterns.map(function (date) { return date.value; });
|
|
97
85
|
for (var i = 0; i < possibleFormats.length; i++) {
|
|
98
86
|
var format = possibleFormats[i];
|
|
99
87
|
try {
|
|
@@ -108,14 +96,14 @@ var parseDate = function (date) {
|
|
|
108
96
|
}
|
|
109
97
|
return null;
|
|
110
98
|
};
|
|
111
|
-
var datesDateTimesAndTimesTransformations = {
|
|
112
|
-
autoformat: function (fieldValue, _, fieldOptions) {
|
|
99
|
+
export var datesDateTimesAndTimesTransformations = {
|
|
100
|
+
autoformat: function (fieldValue, _, fieldOptions, possibleDateFormats) {
|
|
113
101
|
var cleanFieldValue = fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.replace(/"/g, "");
|
|
114
102
|
var normalizedFieldValue = cleanFieldValue === null || cleanFieldValue === void 0 ? void 0 : cleanFieldValue.replace(/-/g, "/");
|
|
115
103
|
var isUnixTimestamp = /^\d+$/.test(normalizedFieldValue);
|
|
116
104
|
var luxonDate = isUnixTimestamp
|
|
117
105
|
? DateTime.fromSeconds(Number(normalizedFieldValue))
|
|
118
|
-
: parseDate(normalizedFieldValue);
|
|
106
|
+
: parseDate(normalizedFieldValue, possibleDateFormats);
|
|
119
107
|
var pattern = fieldOptions === null || fieldOptions === void 0 ? void 0 : fieldOptions.pattern;
|
|
120
108
|
var defaultObj = {
|
|
121
109
|
transformationWasNeeded: false,
|
|
@@ -7,6 +7,7 @@ export declare const addEmptyRows: (data: Record[], fields: Field[]) => (Record
|
|
|
7
7
|
};
|
|
8
8
|
})[];
|
|
9
9
|
export declare const addMeta: (record: any, index: number, uploadedRow?: any, transformedRow?: TransformedRecord) => Record;
|
|
10
|
+
export declare const calculatePossibleDateFormats: (fieldsWithDateTransformations: Field[], sample: Record[]) => string[];
|
|
10
11
|
export declare const recordListToDataSet: (data: Record[], fields: Field[]) => RecordDataSet;
|
|
11
12
|
type transformToRecordsArgs = {
|
|
12
13
|
templateHeaderMatchings: HeaderMatchings;
|
|
@@ -18,9 +18,13 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
18
18
|
}
|
|
19
19
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
20
|
};
|
|
21
|
+
import { datesDateTimesAndTimesTransformations } from "../../Importer/common/Spreadsheet/transformation/transformators";
|
|
21
22
|
import { transformRecord } from "../../Importer/common/Spreadsheet/transformation";
|
|
22
23
|
import { FieldTypes, } from "../../types";
|
|
23
24
|
import { parseValue } from "../common/Spreadsheet/common";
|
|
25
|
+
import { DateTime } from "luxon";
|
|
26
|
+
import { allowedPatternValues } from "../../common/datePatterns";
|
|
27
|
+
import _ from "lodash";
|
|
24
28
|
var MINIMUM_ROW_COUNT = 20;
|
|
25
29
|
var getRowId = function (index) {
|
|
26
30
|
return index.toString();
|
|
@@ -44,18 +48,51 @@ export var addMeta = function (record, index, uploadedRow, transformedRow) {
|
|
|
44
48
|
var meta = (_a = record._meta) !== null && _a !== void 0 ? _a : {};
|
|
45
49
|
return __assign(__assign({}, record), { _meta: __assign(__assign({}, meta), { id: rId, rowIndex: index, uploadedRow: uploadedRow, transformedRow: __assign(__assign({}, meta.transformedRow), transformedRow) }) });
|
|
46
50
|
};
|
|
51
|
+
export var calculatePossibleDateFormats = function (fieldsWithDateTransformations, sample) {
|
|
52
|
+
var possibleDateFormats = [];
|
|
53
|
+
for (var _i = 0, sample_1 = sample; _i < sample_1.length; _i++) {
|
|
54
|
+
var record = sample_1[_i];
|
|
55
|
+
for (var _a = 0, fieldsWithDateTransformations_1 = fieldsWithDateTransformations; _a < fieldsWithDateTransformations_1.length; _a++) {
|
|
56
|
+
var field = fieldsWithDateTransformations_1[_a];
|
|
57
|
+
var value = record[field.name];
|
|
58
|
+
if (!value)
|
|
59
|
+
continue;
|
|
60
|
+
for (var i = 0; i < allowedPatternValues.length; i++) {
|
|
61
|
+
var format = allowedPatternValues[i];
|
|
62
|
+
try {
|
|
63
|
+
var currentDate = DateTime.fromFormat(value, format);
|
|
64
|
+
if (currentDate.isValid) {
|
|
65
|
+
possibleDateFormats.push(format);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (e) { }
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return Array.from(new Set(possibleDateFormats));
|
|
73
|
+
};
|
|
47
74
|
export var recordListToDataSet = function (data, fields) {
|
|
48
75
|
var fieldWithTransformations = fields.filter(function (field) { var _a; return ((_a = field === null || field === void 0 ? void 0 : field.transformations) === null || _a === void 0 ? void 0 : _a.length) > 0; });
|
|
49
76
|
var initialData = data;
|
|
50
77
|
if (data.length < MINIMUM_ROW_COUNT) {
|
|
51
78
|
initialData = addEmptyRows(data, fields);
|
|
52
79
|
}
|
|
80
|
+
var fieldsWithDateTransformations = fieldWithTransformations.filter(function (field) {
|
|
81
|
+
return field.transformations.some(function (t) {
|
|
82
|
+
return Object.keys(datesDateTimesAndTimesTransformations).includes(t.transformation_type);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
var possibleDateFormats = [];
|
|
86
|
+
if (fieldsWithDateTransformations.length > 0) {
|
|
87
|
+
possibleDateFormats.push.apply(possibleDateFormats, calculatePossibleDateFormats(fieldsWithDateTransformations, _.sampleSize(initialData, 100)));
|
|
88
|
+
}
|
|
53
89
|
return initialData.reduce(function (dataSet, record, i) {
|
|
54
90
|
var transformedRecord = null;
|
|
55
91
|
if (fieldWithTransformations.length > 0) {
|
|
56
92
|
transformedRecord = transformRecord({
|
|
57
93
|
record: record,
|
|
58
94
|
fields: fieldWithTransformations,
|
|
95
|
+
possibleDateFormats: possibleDateFormats,
|
|
59
96
|
});
|
|
60
97
|
}
|
|
61
98
|
var recordWithMeta = addMeta(record, i, undefined, transformedRecord);
|
|
@@ -23,7 +23,9 @@ export var FilterByErrors = function () {
|
|
|
23
23
|
var _loop_1 = function (key, value) {
|
|
24
24
|
if (value > 0) {
|
|
25
25
|
var field = fields.find(function (f) { return f.name === key; });
|
|
26
|
-
|
|
26
|
+
if (field) {
|
|
27
|
+
errorArray.push({ label: field.label, value: field.name });
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
30
|
};
|
|
29
31
|
for (var _i = 0, _a = Object.entries(columnsWithErrorCounts.current); _i < _a.length; _i++) {
|
|
@@ -13,6 +13,6 @@ export var TableActionsContainer = styled(Div)(templateObject_1 || (templateObje
|
|
|
13
13
|
});
|
|
14
14
|
export var ButtonActionsContainer = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 8px;\n"], ["\n align-items: center;\n display: flex;\n gap: 8px;\n"])));
|
|
15
15
|
export var TableActionsContent = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 16px;\n"], ["\n align-items: center;\n display: flex;\n gap: 16px;\n"])));
|
|
16
|
-
export var TableActionsInformations = styled(Div)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 16px;\n"], ["\n align-items: center;\n display: flex;\n gap: 16px;\n"])));
|
|
16
|
+
export var TableActionsInformations = styled(Div)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 16px;\n position: relative;\n z-index: 101;\n"], ["\n align-items: center;\n display: flex;\n gap: 16px;\n position: relative;\n z-index: 101;\n"])));
|
|
17
17
|
export var ActionButton = styled.button(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n align-items: center;\n background: transparent;\n border-radius: 4px;\n border: none;\n cursor: pointer;\n display: flex;\n height: 36px;\n justify-content: center;\n padding: 0px;\n width: 36px;\n\n :disabled {\n opacity: 0.6;\n\n :hover {\n background-color: transparent !important;\n cursor: not-allowed;\n }\n }\n"], ["\n align-items: center;\n background: transparent;\n border-radius: 4px;\n border: none;\n cursor: pointer;\n display: flex;\n height: 36px;\n justify-content: center;\n padding: 0px;\n width: 36px;\n\n :disabled {\n opacity: 0.6;\n\n :hover {\n background-color: transparent !important;\n cursor: not-allowed;\n }\n }\n"])));
|
|
18
18
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
@@ -18,12 +18,12 @@ import { useEffect, useMemo, useRef } from "react";
|
|
|
18
18
|
import { useTranslation } from "react-i18next";
|
|
19
19
|
import styled from "styled-components";
|
|
20
20
|
import { useSpreadsheetContext } from "../../../Importer";
|
|
21
|
-
import { Div, colors } from "../../../styled";
|
|
22
|
-
import { CheckIcon } from "./icons";
|
|
23
|
-
import { Button } from "../../../common/buttons";
|
|
24
|
-
import { truncateString } from "../../../utils";
|
|
25
21
|
import { useDataSetContext } from "../../../Importer/common/Spreadsheet/DataSetContextProvider";
|
|
26
22
|
import { useValidationContext } from "../../../Importer/common/Spreadsheet/ValidationContextProvider";
|
|
23
|
+
import { Button } from "../../../common/buttons";
|
|
24
|
+
import { Div, colors } from "../../../styled";
|
|
25
|
+
import { truncateString } from "../../../utils";
|
|
26
|
+
import { CheckIcon } from "./icons";
|
|
27
27
|
var formatToLocaleString = function (number) {
|
|
28
28
|
return number.toLocaleString(undefined, {
|
|
29
29
|
minimumFractionDigits: 0,
|
|
@@ -31,16 +31,17 @@ var formatToLocaleString = function (number) {
|
|
|
31
31
|
});
|
|
32
32
|
};
|
|
33
33
|
var RecordsCountContainer = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n z-index: 2;\n\n * {\n box-sizing: border-box;\n }\n"], ["\n position: relative;\n z-index: 2;\n\n * {\n box-sizing: border-box;\n }\n"])));
|
|
34
|
-
var Counter = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background: ", ";\n border-radius: 35px;\n display: flex;\n padding: 0px 18px;\n user-select: none;\n"], ["\n align-items: center;\n background: ", ";\n border-radius: 35px;\n display: flex;\n padding: 0px 18px;\n user-select: none;\n"])), colors.blue100);
|
|
35
|
-
var TooltipContainer = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background: ", ";\n border-radius: 8px;\n box-shadow: 0px 3.53px 63.58px 0px #b7a6a640;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 16px 32px 24px 24px;\n position: absolute;\n right: 0px;\n top: 66px;\n width: clamp(150px, 379px, 379px);\n\n &::before {\n border-color: transparent transparent #ffffff transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 14.5px 24px 14.5px;\n content: \"\";\n height: 0;\n position: absolute;\n right: -4px;\n top: -6px;\n transform: rotate(120deg);\n width: 0;\n }\n"], ["\n background: ", ";\n border-radius: 8px;\n box-shadow: 0px 3.53px 63.58px 0px #b7a6a640;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 16px 32px 24px 24px;\n position: absolute;\n right: 0px;\n top: 66px;\n width: clamp(150px, 379px, 379px);\n\n &::before {\n border-color: transparent transparent #ffffff transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 14.5px 24px 14.5px;\n content: \"\";\n height: 0;\n position: absolute;\n right: -4px;\n top: -6px;\n transform: rotate(120deg);\n width: 0;\n }\n"])), colors.white);
|
|
34
|
+
var Counter = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background: ", ";\n border-radius: 35px;\n display: flex;\n padding: 0px 18px;\n position: relative;\n user-select: none;\n z-index: 101;\n"], ["\n align-items: center;\n background: ", ";\n border-radius: 35px;\n display: flex;\n padding: 0px 18px;\n position: relative;\n user-select: none;\n z-index: 101;\n"])), colors.blue100);
|
|
35
|
+
var TooltipContainer = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background: ", ";\n border-radius: 8px;\n box-shadow: 0px 3.53px 63.58px 0px #b7a6a640;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 16px 32px 24px 24px;\n position: absolute;\n right: 0px;\n top: 66px;\n width: clamp(150px, 379px, 379px);\n z-index: 101;\n\n &::before {\n border-color: transparent transparent #ffffff transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 14.5px 24px 14.5px;\n content: \"\";\n height: 0;\n position: absolute;\n right: -4px;\n top: -6px;\n transform: rotate(120deg);\n width: 0;\n }\n"], ["\n background: ", ";\n border-radius: 8px;\n box-shadow: 0px 3.53px 63.58px 0px #b7a6a640;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 16px 32px 24px 24px;\n position: absolute;\n right: 0px;\n top: 66px;\n width: clamp(150px, 379px, 379px);\n z-index: 101;\n\n &::before {\n border-color: transparent transparent #ffffff transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0 14.5px 24px 14.5px;\n content: \"\";\n height: 0;\n position: absolute;\n right: -4px;\n top: -6px;\n transform: rotate(120deg);\n width: 0;\n }\n"])), colors.white);
|
|
36
36
|
var ExampleCode = styled(Div)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n background: ", ";\n border-radius: 4px;\n display: flex;\n justify-content: space-between;\n padding: 4px;\n"], ["\n align-items: center;\n background: ", ";\n border-radius: 4px;\n display: flex;\n justify-content: space-between;\n padding: 4px;\n"])), colors.blue100);
|
|
37
37
|
var StyledButton = styled(Button)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n align-self: flex-end;\n height: 36px;\n padding: 0px;\n width: 61px;\n"], ["\n align-self: flex-end;\n height: 36px;\n padding: 0px;\n width: 61px;\n"])));
|
|
38
|
+
export var TooltipBackdrop = styled(Div)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background: rgba(0, 0, 0, 0.37);\n height: 100vh;\n left: 0px;\n margin: 0px;\n position: fixed;\n top: 0px;\n width: 100vw;\n z-index: 99;\n"], ["\n background: rgba(0, 0, 0, 0.37);\n height: 100vh;\n left: 0px;\n margin: 0px;\n position: fixed;\n top: 0px;\n width: 100vw;\n z-index: 99;\n"])));
|
|
38
39
|
var Tooltip = function (_a) {
|
|
39
40
|
var recordsCount = _a.recordsCount, onClose = _a.onClose, transformedRowData = _a.transformedRowData;
|
|
40
41
|
var t = useTranslation("review").t;
|
|
41
|
-
return (_jsxs(TooltipContainer, __assign({ "data-cy": "transformations-tooltip" }, { children: [_jsx(Div, { children: _jsx(CheckIcon, {}) }), _jsx(Div, __assign({ subtitle: true }, { children: t("table_actions.transformed_records.auto_corrections_amount", {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
return (_jsxs(_Fragment, { children: [_jsx(TooltipBackdrop, { "data-cy": "transformations-tooltip-backdrop", onClick: onClose }), _jsxs(TooltipContainer, __assign({ "data-cy": "transformations-tooltip" }, { children: [_jsx(Div, { children: _jsx(CheckIcon, {}) }), _jsx(Div, __assign({ subtitle: true }, { children: t("table_actions.transformed_records.auto_corrections_amount", {
|
|
43
|
+
amount: formatToLocaleString(recordsCount),
|
|
44
|
+
}) })), transformedRowData && (_jsxs(Div, { children: [_jsx(Div, __assign({ mb: 5, label1: true, style: { color: colors.gray700 } }, { children: t("table_actions.transformed_records.example") })), _jsxs(ExampleCode, { children: [_jsx(Div, __assign({ body1: true }, { children: truncateString(transformedRowData === null || transformedRowData === void 0 ? void 0 : transformedRowData.transformed, 15) })), _jsx(Div, __assign({ body1: true, style: { textDecoration: "line-through" } }, { children: truncateString(transformedRowData === null || transformedRowData === void 0 ? void 0 : transformedRowData.original, 15) }))] })] })), _jsx(StyledButton, __assign({ buttonTextSmall: true, uppercase: true, onClick: onClose }, { children: "OK" }))] }))] }));
|
|
44
45
|
};
|
|
45
46
|
export var TransformedRecordsCount = function () {
|
|
46
47
|
var _a = useSpreadsheetContext(), filteredDataIds = _a.filteredDataIds, isTransformTooltipOpened = _a.isTransformTooltipOpened, setIsTransformTooltipOpened = _a.setIsTransformTooltipOpened;
|
|
@@ -87,4 +88,4 @@ export var TransformedRecordsCount = function () {
|
|
|
87
88
|
}, []);
|
|
88
89
|
return (_jsx(_Fragment, { children: isTransformTooltipOpened && transformedRecordsCount ? (_jsxs(RecordsCountContainer, { children: [_jsxs(Counter, __assign({ body1: true }, { children: [_jsxs(Div, __assign({ bold: true, mr: 4, "data-cy": "transformations-counter" }, { children: [formatToLocaleString(transformedRecordsCount), " "] })), t("table_actions.transformed_records.auto_corrections_done")] })), isTransformTooltipOpened && (_jsx(Tooltip, { transformedRowData: firstTransformedRow, recordsCount: transformedRecordsCount, onClose: handleCloseTooltip }))] })) : null }));
|
|
89
90
|
};
|
|
90
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
91
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
@@ -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
|
export var datePatterns = [
|
|
2
11
|
{
|
|
3
12
|
value: "MM/dd/yyyy",
|
|
@@ -325,3 +334,4 @@ export var allowedPatterns = {
|
|
|
325
334
|
datetime: dateTimePatterns,
|
|
326
335
|
time: timePatterns,
|
|
327
336
|
};
|
|
337
|
+
export var allowedPatternValues = __spreadArray(__spreadArray(__spreadArray([], datePatterns, true), dateTimePatterns, true), timePatterns, true).map(function (pattern) { return pattern.value; });
|