@dentira/dentira-bulk-upload-widget
v0.0.702-13
Published
React widget for Dentira bulk upload functionality
Downloads
1,902
Readme
Type Definitions.
type BulkUploadConfig = {
type: string;
isOpen: boolean;
handleClose: () => void;
handleBackButton?: () => void;
bodyText?: string;
title?: string;
fileType: "CSV" | "EXCEL";
rules?: string[];
columns?: string[];
downloadTemplateConfig?: DownloadTemplateConfigType;
uploadConfig?: Record<any, any>;
session: string;
apiKey: string;
};
type DownloadTemplateConfigType =
| {
hasDynamicTemplate?: boolean;
payload?: downloadTemplatePayloadType;
}
| undefined;
type downloadTemplatePayloadType = Record<
string,
string | number | any[] | undefined
>;Example use.
import { Button } from "@mui/material";
import { BulkUploadDialog } from "../src/components/BulkUploadDialog.tsx";
import { useDialog } from "../src/hooks/useDialog.ts";
import { BulkUploadConfig } from "../src/types.ts";
import { session, apiKey } from "../variables.ts";
import { EXCEL } from "../src/utils/constants.ts";
function App() {
const { isOpen, closeDialog, openDialog } = useDialog();
const handleClose = () => {
closeDialog();
};
const bodyText =
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Quospraesentium distinctio a tempora est et fugiat! Quam neque distinctio iure possimus, nam voluptatum repellat eius facere dolorem, magni vel nesciunt. Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem";
const title = "Modal title";
const rules = [
"Lorem ipsum dolor sit amet consectetur adipisicing elit.",
"sit amet consectetur adipisicing elit.",
"Quam neque distinctio iure possimus, nam voluptatum repellat",
];
const columns = ["Lorem", "distinctio", "nam"];
const fileType = EXCEL;
const config: BulkUploadConfig = {
isOpen,
bodyText,
handleClose,
title,
rules,
columns,
fileType,
uploadConfig: {
shoppinglist_name: "test group list bulk upload",
},
session,
apiKey,
type: "GROUPITEMLIST",
};
return (
<>
<Button onClick={openDialog} variant="contained">
{!isOpen ? "Open" : "Close"}
</Button>
<BulkUploadDialog config={config} />
</>
);
}
export default App;
