-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dont wait for whole CSV file to get parsed #230
base: main
Are you sure you want to change the base?
Changes from all commits
14ec8da
8fac24d
cd0821b
feb4707
4fb42a6
5eb7b78
ab40cd5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -25,6 +25,7 @@ export default function Main(props: CSVImporterProps) { | |||||||||||||||||||||||||||||||||||||||||||||||||
modalOnCloseTriggered = () => null, | ||||||||||||||||||||||||||||||||||||||||||||||||||
template, | ||||||||||||||||||||||||||||||||||||||||||||||||||
onComplete, | ||||||||||||||||||||||||||||||||||||||||||||||||||
onHeadersMapped, | ||||||||||||||||||||||||||||||||||||||||||||||||||
customStyles, | ||||||||||||||||||||||||||||||||||||||||||||||||||
showDownloadTemplateButton, | ||||||||||||||||||||||||||||||||||||||||||||||||||
skipHeaderRowSelection, | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -40,6 +41,7 @@ export default function Main(props: CSVImporterProps) { | |||||||||||||||||||||||||||||||||||||||||||||||||
// Error handling | ||||||||||||||||||||||||||||||||||||||||||||||||||
const [initializationError, setInitializationError] = useState<string | null>(null); | ||||||||||||||||||||||||||||||||||||||||||||||||||
const [dataError, setDataError] = useState<string | null>(null); | ||||||||||||||||||||||||||||||||||||||||||||||||||
const [originalFile, setOriginalFile] = useState<File | null>(null); | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
// File data | ||||||||||||||||||||||||||||||||||||||||||||||||||
const emptyData = { | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -87,6 +89,7 @@ export default function Main(props: CSVImporterProps) { | |||||||||||||||||||||||||||||||||||||||||||||||||
setColumnMapping({}); | ||||||||||||||||||||||||||||||||||||||||||||||||||
setDataError(null); | ||||||||||||||||||||||||||||||||||||||||||||||||||
setStep(StepEnum.Upload); | ||||||||||||||||||||||||||||||||||||||||||||||||||
setOriginalFile(null); | ||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
const requestClose = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -118,6 +121,8 @@ export default function Main(props: CSVImporterProps) { | |||||||||||||||||||||||||||||||||||||||||||||||||
setDataError={setDataError} | ||||||||||||||||||||||||||||||||||||||||||||||||||
onSuccess={async (file: File) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||
setDataError(null); | ||||||||||||||||||||||||||||||||||||||||||||||||||
setOriginalFile(file); | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
const fileType = file.name.slice(file.name.lastIndexOf(".") + 1); | ||||||||||||||||||||||||||||||||||||||||||||||||||
if (!["csv", "xls", "xlsx"].includes(fileType)) { | ||||||||||||||||||||||||||||||||||||||||||||||||||
setDataError("Only CSV, XLS, and XLSX files can be uploaded"); | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -196,6 +201,18 @@ export default function Main(props: CSVImporterProps) { | |||||||||||||||||||||||||||||||||||||||||||||||||
onSuccess={(columnMapping) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||
setIsSubmitting(true); | ||||||||||||||||||||||||||||||||||||||||||||||||||
setColumnMapping(columnMapping); | ||||||||||||||||||||||||||||||||||||||||||||||||||
if (onHeadersMapped) { | ||||||||||||||||||||||||||||||||||||||||||||||||||
onHeadersMapped(selectedHeaderRow, columnMapping, originalFile) | ||||||||||||||||||||||||||||||||||||||||||||||||||
.then(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||
setIsSubmitting(false); | ||||||||||||||||||||||||||||||||||||||||||||||||||
goNext(); | ||||||||||||||||||||||||||||||||||||||||||||||||||
}) | ||||||||||||||||||||||||||||||||||||||||||||||||||
.catch((error) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||
console.error("onHeadersMapped error", error); | ||||||||||||||||||||||||||||||||||||||||||||||||||
setDataError("An error occurred while processing the data"); | ||||||||||||||||||||||||||||||||||||||||||||||||||
}); | ||||||||||||||||||||||||||||||||||||||||||||||||||
return; | ||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+204
to
+215
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm getting this error in testing when Maybe update to use
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @ciminelli
If you could upload video of how/where you are getting this error, it would be helpful. |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
// TODO (client-sdk): Move this type, add other data attributes (i.e. column definitions), and move the data processing to a function | ||||||||||||||||||||||||||||||||||||||||||||||||||
type MappedRow = { | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you update this to
1.0.12
? Or I can just increment the version after this is merged.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ciminelli
Addition of
onHeadersMapped
is a big update for the library, thats why i incremented the version to1.1.1
from1.0.11
And then i fixed a type error that why incremented the version to
1.1.2