@@ -1,9 +1,26 @@ | |||||
import { defaultPagingController } from './../../components/SearchResults/SearchResults'; | |||||
import { isNullOrUndefined } from "html5-qrcode/esm/core"; | |||||
import { isEmpty } from "lodash"; | |||||
export const downloadFile = (blobData: Uint8Array, filename: string) => { | export const downloadFile = (blobData: Uint8Array, filename: string) => { | ||||
const url = URL.createObjectURL(new Blob([blobData])); | |||||
const link = document.createElement("a"); | |||||
link.href = url; | |||||
link.setAttribute("download", filename); | |||||
link.click(); | |||||
} | |||||
const url = URL.createObjectURL(new Blob([blobData])); | |||||
const link = document.createElement("a"); | |||||
link.href = url; | |||||
link.setAttribute("download", filename); | |||||
link.click(); | |||||
} | |||||
export const convertObjToURLSearchParams = <T extends Object>(data: T | null): string => { | |||||
if (isEmpty(data)) { | |||||
return '' | |||||
} | |||||
const params = new URLSearchParams() | |||||
Object.entries(data).forEach(([key, value]) => { | |||||
if (!isNullOrUndefined(value)) { | |||||
params.append(key, String(value)) | |||||
} | |||||
}) | |||||
return params.toString() | |||||
} |
@@ -1,4 +1,4 @@ | |||||
import dayjs, { ConfigType } from "dayjs"; | |||||
import dayjs, { ConfigType, Dayjs } from "dayjs"; | |||||
import { Uom } from "../api/settings/uom"; | import { Uom } from "../api/settings/uom"; | ||||
import { ListIterateeCustom, every, isArray, isNaN, isNull, isUndefined, take } from "lodash"; | import { ListIterateeCustom, every, isArray, isNaN, isNull, isUndefined, take } from "lodash"; | ||||
@@ -54,6 +54,10 @@ export const dateTimeStringToDayjs = (dateTime: string) => { | |||||
return dayjs(dateTime, `${OUTPUT_DATE_FORMAT} ${OUTPUT_TIME_FORMAT}`) | return dayjs(dateTime, `${OUTPUT_DATE_FORMAT} ${OUTPUT_TIME_FORMAT}`) | ||||
} | } | ||||
export const dayjsToDateString = (date: Dayjs) => { | |||||
return date.format(OUTPUT_DATE_FORMAT) | |||||
} | |||||
export const stockInLineStatusMap: { [status: string]: number } = { | export const stockInLineStatusMap: { [status: string]: number } = { | ||||
"draft": 0, | "draft": 0, | ||||
"pending": 1, | "pending": 1, | ||||
@@ -111,11 +111,21 @@ function SearchBox<T extends string>({ | |||||
() => | () => | ||||
criteria.reduce<Record<T | `${T}To`, string>>( | criteria.reduce<Record<T | `${T}To`, string>>( | ||||
(acc, c) => { | (acc, c) => { | ||||
return { | |||||
var tempCriteria = { | |||||
...acc, | ...acc, | ||||
[c.paramName]: (c.type === "select" || c.type === "select-labelled" || (c.type === "autocomplete" && !Boolean(c.multiple)) ? "All" | [c.paramName]: (c.type === "select" || c.type === "select-labelled" || (c.type === "autocomplete" && !Boolean(c.multiple)) ? "All" | ||||
: (c.type === "autocomplete" && Boolean(c.multiple)) ? [defaultAll.value]: "") | : (c.type === "autocomplete" && Boolean(c.multiple)) ? [defaultAll.value]: "") | ||||
}; | |||||
} | |||||
if (c.type === "dateRange") { | |||||
tempCriteria = { | |||||
...tempCriteria, | |||||
[c.paramName]: "", | |||||
[`${c.paramName}To`]: "" | |||||
} | |||||
} | |||||
return tempCriteria; | |||||
}, | }, | ||||
{} as Record<T | `${T}To`, string>, | {} as Record<T | `${T}To`, string>, | ||||
), | ), | ||||
@@ -316,6 +326,7 @@ function SearchBox<T extends string>({ | |||||
<DatePicker | <DatePicker | ||||
label={c.label} | label={c.label} | ||||
onChange={makeDateChangeHandler(c.paramName)} | onChange={makeDateChangeHandler(c.paramName)} | ||||
value={dayjs(inputs[c.paramName]).isValid() ? dayjs(inputs[c.paramName]) : null} | |||||
/> | /> | ||||
</FormControl> | </FormControl> | ||||
<Box | <Box | ||||
@@ -330,6 +341,7 @@ function SearchBox<T extends string>({ | |||||
<DatePicker | <DatePicker | ||||
label={c.label2} | label={c.label2} | ||||
onChange={makeDateToChangeHandler(c.paramName)} | onChange={makeDateToChangeHandler(c.paramName)} | ||||
value={dayjs(inputs[`${c.paramName}To`]).isValid() ? dayjs(inputs[`${c.paramName}To`]) : null} | |||||
/> | /> | ||||
</FormControl> | </FormControl> | ||||
</Box> | </Box> | ||||
@@ -203,7 +203,7 @@ function SearchResults<T extends ResultWithId>({ | |||||
if (setPagingController) { | if (setPagingController) { | ||||
setPagingController({ | setPagingController({ | ||||
...pagingController, | ...pagingController, | ||||
pageNum: +event.target.value, | |||||
pageNum: 1, | |||||
}); | }); | ||||
} | } | ||||
}; | }; | ||||