added "buildURL" helper function

This commit is contained in:
Kartik Buttan 2024-09-17 21:01:23 +05:30
parent f891155b0b
commit daa2e0611f
2 changed files with 16 additions and 3 deletions

View File

@ -51,6 +51,7 @@ import {
import { INlpSampleEntity } from "@/types/nlp-sample_entity.types"; import { INlpSampleEntity } from "@/types/nlp-sample_entity.types";
import { PermissionAction } from "@/types/permission.types"; import { PermissionAction } from "@/types/permission.types";
import { getDateTimeFormatter } from "@/utils/date"; import { getDateTimeFormatter } from "@/utils/date";
import { buildURL } from "@/utils/URL";
import { NlpImportDialog } from "../NlpImportDialog"; import { NlpImportDialog } from "../NlpImportDialog";
import { NlpSampleDialog } from "../NlpSampleDialog"; import { NlpSampleDialog } from "../NlpSampleDialog";
@ -285,9 +286,10 @@ export default function NlpSample() {
) ? ( ) ? (
<Button <Button
variant="contained" variant="contained"
href={`${publicRuntimeConfig.apiUrl}nlpsample/export${ href={buildURL(
dataset ? `?type=${dataset}` : "" publicRuntimeConfig.apiUrl,
}`} `nlpsample/export${dataset ? `?type=${dataset}` : ""}`,
)}
startIcon={<DownloadIcon />} startIcon={<DownloadIcon />}
> >
{t("button.export")} {t("button.export")}

View File

@ -26,3 +26,14 @@ export const getFromQuery = ({
return defaultValue; return defaultValue;
} }
}; };
export const buildURL = (baseUrl: string, relativePath: string): string => {
try {
new URL(baseUrl);
} catch {
throw new Error(`Invalid base URL: ${baseUrl}`);
}
const url = new URL(relativePath, baseUrl);
return url.toString();
};