diff --git a/frontend-react/src/components/CodeMapping/CodeMappingForm.tsx b/frontend-react/src/components/CodeMapping/CodeMappingForm.tsx
index 4abe85e9586..9cbd24aad2a 100644
--- a/frontend-react/src/components/CodeMapping/CodeMappingForm.tsx
+++ b/frontend-react/src/components/CodeMapping/CodeMappingForm.tsx
@@ -1,33 +1,24 @@
import { Button, ButtonGroup, FileInput } from "@trussworks/react-uswds";
-import { FormEventHandler, MouseEventHandler, type PropsWithChildren, useCallback } from "react";
-import CodeMappingResults from "./CodeMappingResults";
+import { FormEventHandler, MouseEventHandler, useCallback } from "react";
import site from "../../content/site.json";
-import useCodeMappingFormSubmit from "../../hooks/api/UseCodeMappingFormSubmit/UseCodeMappingFormSubmit";
-import Spinner from "../Spinner";
-import { USLink } from "../USLink";
-export type CodeMappingFormProps = PropsWithChildren;
+interface CodeMappingFormProps {
+ onSubmit: FormEventHandler;
+ setFileName: (fileName: string) => void;
+}
-const CodeMappingForm = (props: CodeMappingFormProps) => {
- const { data, isPending, mutate } = useCodeMappingFormSubmit();
- /**
- * TODO: Implement submit handler
- */
- const onSubmitHandler = useCallback>(
- (ev) => {
- ev.preventDefault();
- mutate();
- return false;
- },
- [mutate],
- );
+const CodeMappingForm = ({ onSubmit, setFileName }: CodeMappingFormProps) => {
const onBackHandler = useCallback((_ev) => {
window.history.back();
}, []);
- const onCancelHandler = useCallback((_ev) => {
- // Don't have a proper mechanism to cancel in-flight requests so refresh page
- window.location.reload();
- }, []);
+
+ const handleFileChange = (event: React.ChangeEvent) => {
+ const files = event.target.files;
+ if (!files || files.length === 0) return;
+
+ // Take the first file name
+ setFileName(files[0].name);
+ };
return (
<>
@@ -40,41 +31,22 @@ const CodeMappingForm = (props: CodeMappingFormProps) => {
our template to format your result and organism codes to
LOINC or SNOMED. Note: Local codes cannot be automatically mapped.
- {data && }
- {isPending && (
- <>
-
-
- Checking your file for any unmapped codes that will
prevent data from being reported
- successfully
-
-
@@ -136,14 +135,9 @@ const CustomSortableTableHeader = ({
"column-header--sticky": sticky,
})}
>
-
+
-
- {columnHeaderData.columnHeader}
-
+
{columnHeaderData.columnHeader}
{
}
@@ -151,17 +145,11 @@ const CustomSortableTableHeader = ({
);
};
-function sortTableData(
- activeColumn: string,
- rowData: RowData[][],
- sortOrder: FilterOptions,
-) {
+function sortTableData(activeColumn: string, rowData: RowData[][], sortOrder: FilterOptions) {
return sortOrder !== FilterOptions.NONE && activeColumn
? rowData.sort((a, b): number => {
- const contentColA =
- a.find((item) => item.columnKey === activeColumn) ?? "";
- const contentColB =
- b.find((item) => item.columnKey === activeColumn) ?? "";
+ const contentColA = a.find((item) => item.columnKey === activeColumn) ?? "";
+ const contentColB = b.find((item) => item.columnKey === activeColumn) ?? "";
if (sortOrder === FilterOptions.ASC) {
return contentColA < contentColB ? 1 : -1;
} else {
@@ -191,12 +179,7 @@ const SortableTable = ({
{columnHeaders.map((columnHeaderData, index) => {
if (apiSortable && !columnHeaderData.columnCustomSort) {
- return (
-
- );
+ return ;
} else if (
apiSortable &&
columnHeaderData.columnCustomSort &&
@@ -207,12 +190,8 @@ const SortableTable = ({
key={index}
columnHeaderData={columnHeaderData}
sticky={sticky}
- onColumnCustomSort={
- columnHeaderData.columnCustomSort
- }
- columnCustomSortSettings={
- columnHeaderData.columnCustomSortSettings
- }
+ onColumnCustomSort={columnHeaderData.columnCustomSort}
+ columnCustomSortSettings={columnHeaderData.columnCustomSortSettings}
/>
);
}
@@ -235,8 +214,7 @@ const SortableTable = ({
return (
{row.map((data, dataIndex) => {
- const isActive =
- data.columnKey === activeColumn;
+ const isActive = data.columnKey === activeColumn;
return (
{
const classes = classnames("usa-table", {
"usa-table--borderless": borderless,
@@ -275,29 +254,24 @@ const Table = ({
"usa-table--stacked": stackedStyle === "default",
"usa-table--stacked-header": stackedStyle === "headers",
"usa-table--striped": striped,
+ "gray-table": gray,
});
const columnHeaders = rowData.flat().filter((rowItemFilter, pos, arr) => {
- return (
- arr
- .map((rowItemMap) => rowItemMap.columnKey)
- .indexOf(rowItemFilter.columnKey) === pos
- );
+ return arr.map((rowItemMap) => rowItemMap.columnKey).indexOf(rowItemFilter.columnKey) === pos;
});
return (
{rowData.length ? (
- {sortable ?? apiSortable ? (
+ {(sortable ?? apiSortable) ? (
-
- {header.columnHeader}
-
+ {header.columnHeader}
);
})}
|