Skip to content

Commit

Permalink
#60 (#94): some fixes in inquiry and order filter modals for user and…
Browse files Browse the repository at this point in the history
… office worker
  • Loading branch information
an2508374 committed Jan 16, 2024
1 parent 38a5e71 commit 4f0d032
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
import { HiInformationCircle } from "react-icons/hi";
import { isPackageValid } from "../../details/inquiry";
import dateFromUTCToLocal from "../../parsing/dateFromUTCToLocal";
import booleanToString from "../../parsing/booleanToString";

interface FilterInquiriesModalProps {
show: boolean;
Expand Down Expand Up @@ -553,9 +554,9 @@ import {

// filtering of additional info
(filteringDetails.filterPriority == "all" || (filteringDetails.filterPriority == element.priority)) &&
(filteringDetails.filterAtWeekend == "all" || (filteringDetails.filterAtWeekend == element.atWeekend)) &&
(filteringDetails.filterIsCompany == "all" || (filteringDetails.filterIsCompany == element.isCompany)) &&
(filteringDetails.filterVipPackage == "all" || (filteringDetails.filterVipPackage == element.vipPackage))
(filteringDetails.filterAtWeekend == "all" || (filteringDetails.filterAtWeekend == booleanToString(element.atWeekend))) &&
(filteringDetails.filterIsCompany == "all" || (filteringDetails.filterIsCompany == booleanToString(element.isCompany))) &&
(filteringDetails.filterVipPackage == "all" || (filteringDetails.filterVipPackage == booleanToString(element.vipPackage)))
);

props.setTableData(filteredElements);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {

type FilteringDetails = {
keywordId: string;
keywordInquiryId: string;
keywordCourierCompany: string;
minOrderRequestDate: string;
maxOrderRequestDate: string;
Expand Down Expand Up @@ -92,7 +93,7 @@ import {
</div>
);

const BasicFilterSection = ({ filterData, handleStringChange, handleDateChange }) => (
const BasicInfoFilterSection = ({ filterData, handleStringChange }) => (
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<TextInputWithLabel
id="id-keyword"
Expand All @@ -101,14 +102,25 @@ import {
value={filterData.keywordId}
onChange={handleStringChange('keywordId')}
/>
<TextInputWithLabel
id="inquiry-id-keyword"
label="Keyword in inquiry id:"
type="text"
value={filterData.keywordInquiryId}
onChange={handleStringChange('keywordInquiryId')}
/>
<TextInputWithLabel
id="courier-company-keyword"
label="Keyword in courier company name:"
type="text"
value={filterData.keywordCourierCompany}
onChange={handleStringChange('keywordCourierCompany')}
/>
</div>
);

const DateInfoFilterSection = ({ filterData, handleDateChange }) => (
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<DateInputWithLabel
id="order-request-date-min"
label="Order request date from:"
Expand Down Expand Up @@ -150,7 +162,7 @@ import {
</div>
);

const StatusFilterSection = ({ filterData, handleStringChange, handleDateChange }) => (
const StatusInfoFilterSection = ({ filterData, handleStringChange, handleDateChange }) => (
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<Label
Expand Down Expand Up @@ -311,6 +323,7 @@ import {

const [filteringDetails, setFilteringDetails] = React.useState<FilteringDetails>({
keywordId: "",
keywordInquiryId: "",
keywordCourierCompany: "",
minOrderRequestDate: "",
maxOrderRequestDate: "",
Expand All @@ -337,14 +350,6 @@ import {
keywordBuyerAddressCountry: ""
});

const handleNumberChange = <T extends keyof FilteringDetails>(field: T) => (event: React.ChangeEvent<HTMLInputElement>) => {
const newValue = parseFloat(event.target.value);
setFilteringDetails(prevState => ({
...prevState,
[field]: isNaN(newValue) ? 0 : newValue
}));
};

const handleStringChange = <T extends keyof FilteringDetails>(field: T) => (event: React.ChangeEvent<HTMLInputElement>) => {
const newValue = event.target.value;
setFilteringDetails(prevState => ({
Expand All @@ -367,6 +372,7 @@ import {
const clearDetails = () => {
setFilteringDetails({
keywordId: "",
keywordInquiryId: "",
keywordCourierCompany: "",
minOrderRequestDate: "",
maxOrderRequestDate: "",
Expand Down Expand Up @@ -409,6 +415,7 @@ import {
const filteredElements = props.inputData.filter((element : any) =>
// filtering of id section
(filteringDetails.keywordId == "" || element.id.includes(filteringDetails.keywordId)) &&
(filteringDetails.keywordInquiryId == "" || element.parcel.id.includes(filteringDetails.keywordInquiryId)) &&
(filteringDetails.keywordCourierCompany == "" || element.courierCompany.includes(filteringDetails.keywordCourierCompany)) &&

(filteringDetails.minOrderRequestDate == "" || new Date(dateFromUTCToLocal(element.orderRequestDate)) >= new Date(filteringDetails.minOrderRequestDate)) &&
Expand Down Expand Up @@ -475,15 +482,20 @@ import {
<Button onClick={clearDetails}>Clear filtering details</Button>
</div>

<SectionTitle title="Id info" />
<BasicFilterSection
<SectionTitle title="Basic info" />
<BasicInfoFilterSection
filterData={filteringDetails}
handleStringChange={handleStringChange}
/>

<SectionTitle title="Date info" />
<DateInfoFilterSection
filterData={filteringDetails}
handleDateChange={handleDateChange}
/>

<SectionTitle title="Status info" />
<StatusFilterSection
<StatusInfoFilterSection
filterData={filteringDetails}
handleStringChange={handleStringChange}
handleDateChange={handleDateChange}
Expand Down

0 comments on commit 4f0d032

Please sign in to comment.