@bjsdistribution/dms-client-return 0.1.90-prod → 0.1.91-prod
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/client-portal/OutstandingTable.js +1 -1
- package/dist/components/client-portal/OutstandingTable.js.map +1 -1
- package/dist/components/client-portal/ReturnAfterSearchBar.js +7 -5
- package/dist/components/client-portal/ReturnAfterSearchBar.js.map +1 -1
- package/dist/components/client-portal/ReturnOverview.js +34 -31
- package/dist/components/client-portal/ReturnOverview.js.map +1 -1
- package/dist/components/client-portal/ReturnSearchBar.js +14 -12
- package/dist/components/client-portal/ReturnSearchBar.js.map +1 -1
- package/dist/components/client-portal/return-confirm/ConfirmedMain.js +11 -10
- package/dist/components/client-portal/return-confirm/ConfirmedMain.js.map +1 -1
- package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.js +62 -62
- package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.js.map +1 -1
- package/dist/components/order-daily-overview/header/route-header/ClientRouterHeader.js +34 -30
- package/dist/components/order-daily-overview/header/route-header/ClientRouterHeader.js.map +1 -1
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnFilter.js +40 -29
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnFilter.js.map +1 -1
- package/dist/components/order-view/notification/FlagTemplate.js +55 -36
- package/dist/components/order-view/notification/FlagTemplate.js.map +1 -1
- package/package.json +2 -2
|
@@ -12,32 +12,32 @@ import { StyledTableWrapper as z, StyledTable as J, EmptyDataContainer as K, Cus
|
|
|
12
12
|
import X from "../../../assets/icons/PrinterIcon.js";
|
|
13
13
|
import Z from "../../../assets/icons/DownIcon.js";
|
|
14
14
|
import ee from "../../order-daily-overview/shared/elements/PrintDropDown.js";
|
|
15
|
-
import { formatDate as
|
|
16
|
-
import
|
|
15
|
+
import { formatDate as re } from "../../order-daily-overview/shared/utlis.js";
|
|
16
|
+
import te from "dayjs";
|
|
17
17
|
import { WEIGHT_UNIT as w, VOLUME_UNIT as ne } from "../../../common/utils.js";
|
|
18
18
|
const _e = () => {
|
|
19
|
-
const I = k(null), m = k(null), [p, g] = j(), [, N] = G(), [
|
|
19
|
+
const I = k(null), m = k(null), [p, g] = j(), [, N] = G(), [h] = V(), [D] = $(), [F] = H(), [O, v] = S(!1), [
|
|
20
20
|
T,
|
|
21
21
|
f
|
|
22
|
-
] = B(), [l, A] = S(null),
|
|
23
|
-
A((
|
|
22
|
+
] = B(), [l, A] = S(null), a = (r) => {
|
|
23
|
+
A((t) => t?.key === r && t.direction === "asc" ? { key: r, direction: "desc" } : { key: r, direction: "asc" });
|
|
24
24
|
}, C = x(() => {
|
|
25
|
-
if (!
|
|
26
|
-
const { key:
|
|
27
|
-
return [...
|
|
28
|
-
const c =
|
|
29
|
-
return typeof c == "number" && typeof
|
|
25
|
+
if (!h || !l) return h;
|
|
26
|
+
const { key: r, direction: t } = l;
|
|
27
|
+
return [...h].sort((d, s) => {
|
|
28
|
+
const c = d[r], u = s[r];
|
|
29
|
+
return typeof c == "number" && typeof u == "number" ? t === "asc" ? c - u : u - c : typeof c == "string" && typeof u == "string" ? t === "asc" ? c.localeCompare(u) : u.localeCompare(c) : 0;
|
|
30
30
|
});
|
|
31
|
-
}, [
|
|
32
|
-
g((
|
|
31
|
+
}, [h, l]), i = (r) => !l || l.key !== r ? /* @__PURE__ */ e(q, {}) : l.direction === "asc" ? /* @__PURE__ */ e(_, {}) : /* @__PURE__ */ e(_, { style: { transform: "rotate(180deg)" } }), R = (r) => {
|
|
32
|
+
g((t) => t === r ? null : r);
|
|
33
33
|
};
|
|
34
34
|
U(() => (document.addEventListener("mousedown", b), () => {
|
|
35
35
|
document.removeEventListener("mousedown", b);
|
|
36
36
|
}), []);
|
|
37
|
-
const b = (
|
|
38
|
-
m.current && !m.current.contains(
|
|
39
|
-
}, E = (
|
|
40
|
-
switch (
|
|
37
|
+
const b = (r) => {
|
|
38
|
+
m.current && !m.current.contains(r.target) && g(null);
|
|
39
|
+
}, E = (r) => {
|
|
40
|
+
switch (r) {
|
|
41
41
|
case "Cancelled":
|
|
42
42
|
case "Failed":
|
|
43
43
|
return { color: "#E95252", background: "rgba(233, 82, 82, 0.15)" };
|
|
@@ -61,9 +61,9 @@ const _e = () => {
|
|
|
61
61
|
default:
|
|
62
62
|
return { color: "#000", background: "#fff" };
|
|
63
63
|
}
|
|
64
|
-
}, L = (
|
|
64
|
+
}, L = (r) => {
|
|
65
65
|
f(
|
|
66
|
-
(
|
|
66
|
+
(t) => t.includes(r) ? t.filter((d) => d !== r) : [...t, r]
|
|
67
67
|
);
|
|
68
68
|
};
|
|
69
69
|
return /* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(z, { className: "fortables", children: /* @__PURE__ */ n(J, { children: [
|
|
@@ -72,45 +72,45 @@ const _e = () => {
|
|
|
72
72
|
y,
|
|
73
73
|
{
|
|
74
74
|
checked: O,
|
|
75
|
-
onChange: (
|
|
76
|
-
const
|
|
77
|
-
v(
|
|
78
|
-
|
|
75
|
+
onChange: (r) => {
|
|
76
|
+
const t = r.target.checked;
|
|
77
|
+
v(t), f(
|
|
78
|
+
t ? h?.map((d) => d?.id) || [] : []
|
|
79
79
|
);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
) }),
|
|
83
|
-
/* @__PURE__ */ e("th", { onClick: () =>
|
|
83
|
+
/* @__PURE__ */ e("th", { onClick: () => a("created_at"), children: /* @__PURE__ */ n("div", { className: "sortIconClass", children: [
|
|
84
84
|
"Created ",
|
|
85
|
-
|
|
85
|
+
i("created_at")
|
|
86
86
|
] }) }),
|
|
87
|
-
/* @__PURE__ */ e("th", { onClick: () =>
|
|
87
|
+
/* @__PURE__ */ e("th", { onClick: () => a("return_location_name"), children: /* @__PURE__ */ n("div", { className: "sortIconClass", children: [
|
|
88
88
|
"Return Location ",
|
|
89
|
-
|
|
89
|
+
i("return_location_name")
|
|
90
90
|
] }) }),
|
|
91
|
-
/* @__PURE__ */ e("th", { onClick: () =>
|
|
91
|
+
/* @__PURE__ */ e("th", { onClick: () => a("recipient_name"), children: /* @__PURE__ */ n("div", { className: "sortIconClass", children: [
|
|
92
92
|
"Recipient ",
|
|
93
|
-
|
|
93
|
+
i("recipient_name")
|
|
94
|
+
] }) }),
|
|
95
|
+
/* @__PURE__ */ e("th", { onClick: () => a("recipient_reference"), children: /* @__PURE__ */ n("div", { className: "sortIconClass", children: [
|
|
96
|
+
"Recipient Reference ",
|
|
97
|
+
i("recipient_reference")
|
|
94
98
|
] }) }),
|
|
95
|
-
/* @__PURE__ */ n("th", { children: [
|
|
96
|
-
"Recipient Reference",
|
|
97
|
-
a("recipient_reference")
|
|
98
|
-
] }),
|
|
99
99
|
/* @__PURE__ */ e("th", { children: "Sender" }),
|
|
100
100
|
/* @__PURE__ */ e("th", { children: "Consignment" }),
|
|
101
101
|
/* @__PURE__ */ e("th", { children: "Return Order No" }),
|
|
102
102
|
/* @__PURE__ */ e("th", { children: " Total Parts" }),
|
|
103
|
-
/* @__PURE__ */ e("th", { onClick: () =>
|
|
103
|
+
/* @__PURE__ */ e("th", { onClick: () => a("weight"), children: /* @__PURE__ */ n("div", { className: "sortIconClass", children: [
|
|
104
104
|
"Total Weight (",
|
|
105
105
|
w,
|
|
106
106
|
") ",
|
|
107
|
-
|
|
107
|
+
i("weight")
|
|
108
108
|
] }) }),
|
|
109
|
-
/* @__PURE__ */ e("th", { onClick: () =>
|
|
109
|
+
/* @__PURE__ */ e("th", { onClick: () => a("cube"), children: /* @__PURE__ */ n("div", { className: "sortIconClass", children: [
|
|
110
110
|
"Total ",
|
|
111
111
|
ne,
|
|
112
112
|
" ",
|
|
113
|
-
|
|
113
|
+
i("cube")
|
|
114
114
|
] }) }),
|
|
115
115
|
/* @__PURE__ */ e("th", { children: "Status" }),
|
|
116
116
|
/* @__PURE__ */ e("th", { className: "emailInvoiceShare", children: "Labels" })
|
|
@@ -118,8 +118,8 @@ const _e = () => {
|
|
|
118
118
|
/* @__PURE__ */ e("tbody", { children: F ? /* @__PURE__ */ n("tr", { children: [
|
|
119
119
|
/* @__PURE__ */ e("td", { colSpan: 16, children: /* @__PURE__ */ e(M, { active: !0 }) }),
|
|
120
120
|
/* @__PURE__ */ e("td", { colSpan: 16 })
|
|
121
|
-
] }) : C?.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: 16, children: /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(W, {}) }) }) }) : C?.map((
|
|
122
|
-
const
|
|
121
|
+
] }) : C?.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: 16, children: /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(W, {}) }) }) }) : C?.map((r, t) => {
|
|
122
|
+
const s = {
|
|
123
123
|
cancelled: "Cancelled",
|
|
124
124
|
"on hold": "On Hold",
|
|
125
125
|
subcontracted: "Sub-Contracted",
|
|
@@ -131,18 +131,18 @@ const _e = () => {
|
|
|
131
131
|
routed: "Routed",
|
|
132
132
|
failed: "Failed",
|
|
133
133
|
confirmed: "Confirmed"
|
|
134
|
-
}[
|
|
134
|
+
}[r?.status_value] || "Unknown", c = E(s);
|
|
135
135
|
return /* @__PURE__ */ n("tr", { children: [
|
|
136
136
|
/* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(
|
|
137
137
|
y,
|
|
138
138
|
{
|
|
139
|
-
checked: T.includes(
|
|
140
|
-
onChange: () => L(
|
|
139
|
+
checked: T.includes(r?.id),
|
|
140
|
+
onChange: () => L(r?.id)
|
|
141
141
|
}
|
|
142
142
|
) }),
|
|
143
|
-
/* @__PURE__ */ e("td", { children:
|
|
144
|
-
/* @__PURE__ */ e("td", { children: o(
|
|
145
|
-
/* @__PURE__ */ e("td", { onClick: () => N(
|
|
143
|
+
/* @__PURE__ */ e("td", { children: re(new Date(r?.created_at)) }),
|
|
144
|
+
/* @__PURE__ */ e("td", { children: o(r?.return_location_name) }),
|
|
145
|
+
/* @__PURE__ */ e("td", { onClick: () => N(r.id), children: /* @__PURE__ */ n("ul", { style: { listStyleType: "none", padding: 0 }, children: [
|
|
146
146
|
/* @__PURE__ */ e(
|
|
147
147
|
"li",
|
|
148
148
|
{
|
|
@@ -151,29 +151,29 @@ const _e = () => {
|
|
|
151
151
|
fontWeight: 600,
|
|
152
152
|
paddingLeft: 0
|
|
153
153
|
},
|
|
154
|
-
children: /* @__PURE__ */ e(Y, { to: `/return/view/${
|
|
154
|
+
children: /* @__PURE__ */ e(Y, { to: `/return/view/${r.id}`, children: o(r?.recipient_name) })
|
|
155
155
|
}
|
|
156
156
|
),
|
|
157
|
-
/* @__PURE__ */ e("li", { style: { color: "#888075" }, children: o(
|
|
157
|
+
/* @__PURE__ */ e("li", { style: { color: "#888075" }, children: o(r?.postcode) })
|
|
158
158
|
] }) }),
|
|
159
|
-
/* @__PURE__ */ e("td", { children: o(
|
|
160
|
-
/* @__PURE__ */ e("td", { children: o(
|
|
159
|
+
/* @__PURE__ */ e("td", { children: o(r?.recipient_reference) }),
|
|
160
|
+
/* @__PURE__ */ e("td", { children: o(r?.customer_name) }),
|
|
161
161
|
/* @__PURE__ */ n("td", { children: [
|
|
162
|
-
o(
|
|
163
|
-
!D && Number(
|
|
162
|
+
o(r?.consignment),
|
|
163
|
+
!D && Number(r?.failure_count) > 0 && /* @__PURE__ */ n("span", { style: { color: "inherit", fontWeight: 700, marginLeft: 2 }, title: "Delivery Failure Count", children: [
|
|
164
164
|
"- [",
|
|
165
|
-
|
|
165
|
+
r?.failure_count,
|
|
166
166
|
"]"
|
|
167
167
|
] })
|
|
168
168
|
] }),
|
|
169
|
-
/* @__PURE__ */ e("td", { children: o(
|
|
170
|
-
/* @__PURE__ */ e("td", { children: o(
|
|
169
|
+
/* @__PURE__ */ e("td", { children: o(r?.order_number) }),
|
|
170
|
+
/* @__PURE__ */ e("td", { children: o(r?.total_products) }),
|
|
171
171
|
/* @__PURE__ */ n("td", { children: [
|
|
172
|
-
o(
|
|
172
|
+
o(r?.weight),
|
|
173
173
|
" ",
|
|
174
|
-
|
|
174
|
+
r?.weight && r?.weight > 0 ? w : ""
|
|
175
175
|
] }),
|
|
176
|
-
/* @__PURE__ */ e("td", { children: o(
|
|
176
|
+
/* @__PURE__ */ e("td", { children: o(r?.cube) }),
|
|
177
177
|
/* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(
|
|
178
178
|
"ul",
|
|
179
179
|
{
|
|
@@ -188,8 +188,8 @@ const _e = () => {
|
|
|
188
188
|
className: "statustext",
|
|
189
189
|
style: { color: c.color },
|
|
190
190
|
children: [
|
|
191
|
-
|
|
192
|
-
(
|
|
191
|
+
s,
|
|
192
|
+
(s === "Completed" || s === "Failed") && r?.action_date ? ` - ${te(r?.action_date).format(
|
|
193
193
|
"DD/MM/YYYY"
|
|
194
194
|
)}` : ""
|
|
195
195
|
]
|
|
@@ -201,22 +201,22 @@ const _e = () => {
|
|
|
201
201
|
Q,
|
|
202
202
|
{
|
|
203
203
|
ref: I,
|
|
204
|
-
className: p ===
|
|
204
|
+
className: p === t ? "active" : "",
|
|
205
205
|
children: /* @__PURE__ */ n(
|
|
206
206
|
"li",
|
|
207
207
|
{
|
|
208
208
|
className: "shareIconContainer",
|
|
209
|
-
onClick: () => R(
|
|
209
|
+
onClick: () => R(t),
|
|
210
210
|
children: [
|
|
211
211
|
/* @__PURE__ */ e(X, {}),
|
|
212
212
|
/* @__PURE__ */ e(Z, {}),
|
|
213
|
-
p ===
|
|
213
|
+
p === t && /* @__PURE__ */ e("div", { ref: m, children: /* @__PURE__ */ e(ee, { legacyProductId: r }) })
|
|
214
214
|
]
|
|
215
215
|
}
|
|
216
216
|
)
|
|
217
217
|
}
|
|
218
218
|
) }) })
|
|
219
|
-
] },
|
|
219
|
+
] }, r.id);
|
|
220
220
|
}) })
|
|
221
221
|
] }) }) });
|
|
222
222
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReturnConfirmedTable.js","sources":["../../../../src/components/client-portal/return-confirm/ReturnConfirmedTable.tsx"],"sourcesContent":["import { Empty } from 'antd';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Skeleton } from 'antd';\nimport { NavLink } from 'react-router-dom';\nimport {\n Checkbox,\n displayValueOrNA,\n} from '@bjsdistribution/dms-component-library';\nimport {\n useLoading,\n usePrintOptionTOggle,\n} from '../../order-daily-overview/store/store';\nimport {\n useClientPortal,\n useReturnConfirmedOrderData,\n useSelectedClientAfterOrders,\n} from '../../store';\nimport { useOrderId } from '../../order-view/store';\nimport SortIcon from '../../../common/SortIcon';\nimport CaretDownFilledIcon from '../../../common/CaretDownFilledIcon';\nimport {\n CustomDrop,\n EmptyDataContainer,\n StyledTable,\n StyledTableWrapper,\n} from '../../order-daily-overview/return-order-table/return-orders-filters/returnstyles';\nimport PrinterIcon from '../../../assets/icons/PrinterIcon';\nimport DownIcon from '../../../assets/icons/DownIcon';\nimport PrintDropDown from '../../order-daily-overview/shared/elements/PrintDropDown';\nimport { formatDate } from '../../order-daily-overview/shared/utlis';\nimport dayjs from 'dayjs';\nimport { WEIGHT_UNIT, VOLUME_UNIT } from '../../../common/utils';\n\nconst ReturnConfirmedTable = () => {\n const dropdownRefParent = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [printToogle, setPrintToggle] = usePrintOptionTOggle();\n const [, setOrderId] = useOrderId();\n const [returnConfirmedTable] = useReturnConfirmedOrderData();\n const [isClientPortal] = useClientPortal();\n const [loading] = useLoading();\n const [selectClientAll, setSelectClientAll] = useState(false);\n const [\n selectedOrderIds,\n setSelectedOrderIds,\n ] = useSelectedClientAfterOrders();\n //sorting\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: 'asc' | 'desc';\n } | null>(null);\n\n const handleSort = (key: string) => {\n setSortConfig((prev: any) => {\n if (prev?.key === key && prev.direction === 'asc') {\n return { key, direction: 'desc' };\n }\n return { key, direction: 'asc' };\n });\n };\n\n const sortedData = useMemo(() => {\n if (!returnConfirmedTable || !sortConfig) return returnConfirmedTable;\n\n const { key, direction } = sortConfig;\n return [...returnConfirmedTable].sort((a, b) => {\n const valueA = a[key];\n const valueB = b[key];\n\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n return direction === 'asc' ? valueA - valueB : valueB - valueA;\n }\n if (typeof valueA === 'string' && typeof valueB === 'string') {\n return direction === 'asc'\n ? valueA.localeCompare(valueB)\n : valueB.localeCompare(valueA);\n }\n return 0;\n });\n }, [returnConfirmedTable, sortConfig]);\n\n const renderSortIcon = (columnKey: string) => {\n if (!sortConfig || sortConfig.key !== columnKey) {\n return <SortIcon />;\n }\n return sortConfig.direction === 'asc' ? (\n <CaretDownFilledIcon />\n ) : (\n <CaretDownFilledIcon />\n );\n };\n\n const OpenDropDown = (index: number) => {\n setPrintToggle((prevIndex: any) => (prevIndex === index ? null : index));\n };\n\n // Close dropdown outside click\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setPrintToggle(null);\n }\n };\n\n const getStatusClass = (status: string) => {\n switch (status) {\n case 'Cancelled':\n case 'Failed':\n return { color: '#E95252', background: 'rgba(233, 82, 82, 0.15)' };\n case 'On Hold':\n return { color: '#F4A503', background: '#FFF1D6' };\n case 'Sub-Contracted':\n case 'SC':\n return { color: '#F4A503', background: '#FFF1D6' };\n case 'Awaiting route':\n case 'Awaiting Confirmation':\n return { color: '#845ADF', background: 'rgba(132, 90, 223, 0.15)' };\n case 'Completed':\n return {\n color: '#1F9254',\n background: 'rgba(41, 204, 106, 0.15)',\n };\n case 'Outstanding':\n return { color: '#FF9900', background: 'rgba(255, 153, 0, 0.15)' };\n case 'Routed':\n return { color: '#6396E5', background: 'rgba(99, 150, 229, 0.15)' };\n default:\n return { color: '#000', background: '#fff' };\n }\n };\n\n const handleSelectOrderId = (id: string | number) => {\n setSelectedOrderIds(prev =>\n prev.includes(id) ? prev.filter(orderId => orderId !== id) : [...prev, id]\n );\n };\n const handleClientSelectAll = (e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n setSelectClientAll(isChecked);\n\n if (isChecked) {\n setSelectedOrderIds(\n returnConfirmedTable?.map((item: any) => item?.id) || []\n );\n } else {\n setSelectedOrderIds([]);\n }\n };\n\n return (\n <>\n <StyledTableWrapper className=\"fortables\">\n <StyledTable>\n <thead>\n <tr>\n {/* <th className=\"emailInvoiceCheckbox\">\n <Checkbox checked={false} />\n </th> */}\n <th className=\"emailInvoiceCheckbox\">\n <Checkbox\n checked={selectClientAll}\n onChange={handleClientSelectAll}\n />\n </th>\n <th onClick={() => handleSort('created_at')}>\n <div className=\"sortIconClass\">\n Created {renderSortIcon('created_at')}\n </div>\n </th>\n {/* <th onClick={() => handleSort('return_location_name')}>\n <div className=\"sortIconClass\">\n Delivery Date {renderSortIcon('return_location_name')}\n </div>\n </th> */}\n <th onClick={() => handleSort('return_location_name')}>\n <div className=\"sortIconClass\">\n Return Location {renderSortIcon('return_location_name')}\n </div>\n </th>\n <th onClick={() => handleSort('recipient_name')}>\n <div className=\"sortIconClass\">\n Recipient {renderSortIcon('recipient_name')}\n </div>\n </th>\n {/* <th onClick={() => handleSort('recipient_reference')}> */}\n <th>\n {/* <div className=\"sortIconClass\"> */}\n Recipient Reference{renderSortIcon('recipient_reference')}\n {/* </div> */}\n </th>\n <th>Sender</th>\n <th>Consignment</th>\n <th>Return Order No</th>\n <th> Total Parts</th>\n <th onClick={() => handleSort('weight')}>\n <div className=\"sortIconClass\">\n Total Weight ({WEIGHT_UNIT}) {renderSortIcon('weight')}\n </div>\n </th>\n <th onClick={() => handleSort('cube')}>\n <div className=\"sortIconClass\">\n Total {VOLUME_UNIT} {renderSortIcon('cube')}\n </div>\n </th>\n <th>Status</th>\n <th className=\"emailInvoiceShare\">Labels</th>\n </tr>\n </thead>\n <tbody>\n {loading ? (\n <tr>\n <td colSpan={16}>\n <Skeleton active />\n </td>\n <td colSpan={16}></td>\n </tr>\n ) : sortedData?.length === 0 ? (\n <tr>\n <td colSpan={16}>\n <EmptyDataContainer>\n <Empty />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : (\n sortedData?.map((item: any, index: any) => {\n const statusMapping: any = {\n cancelled: 'Cancelled',\n 'on hold': 'On Hold',\n subcontracted: 'Sub-Contracted',\n SC: 'Sub-Contracted',\n 'awaiting route': 'Awaiting route',\n 'awaiting confirmation': 'Awaiting Confirmation',\n complete: 'Completed',\n outstanding: 'Outstanding',\n routed: 'Routed',\n failed: 'Failed',\n confirmed: 'Confirmed',\n };\n const status = statusMapping[item?.status_value] || 'Unknown';\n const statusClass = getStatusClass(status);\n\n return (\n <tr key={item.id}>\n <td>\n <Checkbox\n checked={selectedOrderIds.includes(item?.id)}\n onChange={() => handleSelectOrderId(item?.id)}\n />\n </td>\n <td>{formatDate(new Date(item?.created_at))}</td>\n {/* <td>{formatDate(new Date(item?.action_date))}</td> */}\n <td>{displayValueOrNA(item?.return_location_name)}</td>\n <td onClick={() => setOrderId(item.id)}>\n <ul style={{ listStyleType: 'none', padding: 0 }}>\n <li\n style={{\n color: '#0099ff',\n fontWeight: 600,\n paddingLeft: 0,\n }}\n >\n <NavLink to={`/return/view/${item.id}`}>\n {displayValueOrNA(item?.recipient_name)}\n </NavLink>\n </li>\n <li style={{ color: '#888075' }}>\n {displayValueOrNA(item?.postcode)}\n </li>\n </ul>\n </td>\n <td>{displayValueOrNA(item?.recipient_reference)}</td>\n\n <td>{displayValueOrNA(item?.customer_name)}</td>\n\n <td>\n {displayValueOrNA(item?.consignment)}\n {!isClientPortal && Number(item?.failure_count) > 0 && (\n <span style={{ color: 'inherit', fontWeight: 700, marginLeft: 2 }} title=\"Delivery Failure Count\">- [{item?.failure_count}]</span>\n )}\n </td>\n <td>{displayValueOrNA(item?.order_number)}</td>\n\n <td>{displayValueOrNA(item?.total_products)}</td>\n <td>\n {displayValueOrNA(item?.weight)}{' '}\n {item?.weight && item?.weight > 0 ? WEIGHT_UNIT : ''}\n </td>\n\n <td>{displayValueOrNA(item?.cube)}</td>\n\n <td>\n <ul\n className=\"statuscontainer\"\n style={{\n listStyleType: 'none',\n background: statusClass.background,\n }}\n >\n <li\n className=\"statustext\"\n style={{ color: statusClass.color }}\n >\n {status}\n\n {(status === 'Completed' || status === 'Failed') &&\n item?.action_date\n ? ` - ${dayjs(item?.action_date).format(\n 'DD/MM/YYYY'\n )}`\n : ''}\n </li>\n </ul>\n </td>\n <td>\n <ul className=\"actionbox\">\n <CustomDrop\n ref={dropdownRefParent}\n className={printToogle === index ? 'active' : ''}\n >\n <li\n className=\"shareIconContainer\"\n onClick={() => OpenDropDown(index)}\n >\n <PrinterIcon />\n <DownIcon />\n\n {printToogle === index && (\n <div ref={dropdownRef}>\n <PrintDropDown legacyProductId={item} />\n </div>\n )}\n </li>\n </CustomDrop>\n </ul>\n </td>\n </tr>\n );\n })\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </>\n );\n};\n\nexport default ReturnConfirmedTable;\n"],"names":["ReturnConfirmedTable","dropdownRefParent","useRef","dropdownRef","printToogle","setPrintToggle","usePrintOptionTOggle","setOrderId","useOrderId","returnConfirmedTable","useReturnConfirmedOrderData","isClientPortal","useClientPortal","loading","useLoading","selectClientAll","setSelectClientAll","useState","selectedOrderIds","setSelectedOrderIds","useSelectedClientAfterOrders","sortConfig","setSortConfig","handleSort","key","prev","sortedData","useMemo","direction","a","b","valueA","valueB","renderSortIcon","columnKey","SortIcon","CaretDownFilledIcon","OpenDropDown","index","prevIndex","useEffect","handleClickOutside","event","getStatusClass","status","handleSelectOrderId","id","orderId","jsx","StyledTableWrapper","StyledTable","Checkbox","e","isChecked","item","jsxs","WEIGHT_UNIT","VOLUME_UNIT","Skeleton","EmptyDataContainer","Empty","statusClass","formatDate","displayValueOrNA","NavLink","dayjs","CustomDrop","PrinterIcon","DownIcon","PrintDropDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReturnConfirmedTable.js","sources":["../../../../src/components/client-portal/return-confirm/ReturnConfirmedTable.tsx"],"sourcesContent":["import { Empty } from 'antd';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Skeleton } from 'antd';\nimport { NavLink } from 'react-router-dom';\nimport {\n Checkbox,\n displayValueOrNA,\n} from '@bjsdistribution/dms-component-library';\nimport {\n useLoading,\n usePrintOptionTOggle,\n} from '../../order-daily-overview/store/store';\nimport {\n useClientPortal,\n useReturnConfirmedOrderData,\n useSelectedClientAfterOrders,\n} from '../../store';\nimport { useOrderId } from '../../order-view/store';\nimport SortIcon from '../../../common/SortIcon';\nimport CaretDownFilledIcon from '../../../common/CaretDownFilledIcon';\nimport {\n CustomDrop,\n EmptyDataContainer,\n StyledTable,\n StyledTableWrapper,\n} from '../../order-daily-overview/return-order-table/return-orders-filters/returnstyles';\nimport PrinterIcon from '../../../assets/icons/PrinterIcon';\nimport DownIcon from '../../../assets/icons/DownIcon';\nimport PrintDropDown from '../../order-daily-overview/shared/elements/PrintDropDown';\nimport { formatDate } from '../../order-daily-overview/shared/utlis';\nimport dayjs from 'dayjs';\nimport { WEIGHT_UNIT, VOLUME_UNIT } from '../../../common/utils';\n\nconst ReturnConfirmedTable = () => {\n const dropdownRefParent = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [printToogle, setPrintToggle] = usePrintOptionTOggle();\n const [, setOrderId] = useOrderId();\n const [returnConfirmedTable] = useReturnConfirmedOrderData();\n const [isClientPortal] = useClientPortal();\n const [loading] = useLoading();\n const [selectClientAll, setSelectClientAll] = useState(false);\n const [\n selectedOrderIds,\n setSelectedOrderIds,\n ] = useSelectedClientAfterOrders();\n //sorting\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: 'asc' | 'desc';\n } | null>(null);\n\n const handleSort = (key: string) => {\n setSortConfig((prev: any) => {\n if (prev?.key === key && prev.direction === 'asc') {\n return { key, direction: 'desc' };\n }\n return { key, direction: 'asc' };\n });\n };\n\n const sortedData = useMemo(() => {\n if (!returnConfirmedTable || !sortConfig) return returnConfirmedTable;\n\n const { key, direction } = sortConfig;\n return [...returnConfirmedTable].sort((a, b) => {\n const valueA = a[key];\n const valueB = b[key];\n\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n return direction === 'asc' ? valueA - valueB : valueB - valueA;\n }\n if (typeof valueA === 'string' && typeof valueB === 'string') {\n return direction === 'asc'\n ? valueA.localeCompare(valueB)\n : valueB.localeCompare(valueA);\n }\n return 0;\n });\n }, [returnConfirmedTable, sortConfig]);\n\n const renderSortIcon = (columnKey: string) => {\n if (!sortConfig || sortConfig.key !== columnKey) {\n return <SortIcon />;\n }\n return sortConfig.direction === 'asc' ? (\n <CaretDownFilledIcon />\n ) : (\n <CaretDownFilledIcon style={{ transform: 'rotate(180deg)' }} />\n );\n };\n\n const OpenDropDown = (index: number) => {\n setPrintToggle((prevIndex: any) => (prevIndex === index ? null : index));\n };\n\n // Close dropdown outside click\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setPrintToggle(null);\n }\n };\n\n const getStatusClass = (status: string) => {\n switch (status) {\n case 'Cancelled':\n case 'Failed':\n return { color: '#E95252', background: 'rgba(233, 82, 82, 0.15)' };\n case 'On Hold':\n return { color: '#F4A503', background: '#FFF1D6' };\n case 'Sub-Contracted':\n case 'SC':\n return { color: '#F4A503', background: '#FFF1D6' };\n case 'Awaiting route':\n case 'Awaiting Confirmation':\n return { color: '#845ADF', background: 'rgba(132, 90, 223, 0.15)' };\n case 'Completed':\n return {\n color: '#1F9254',\n background: 'rgba(41, 204, 106, 0.15)',\n };\n case 'Outstanding':\n return { color: '#FF9900', background: 'rgba(255, 153, 0, 0.15)' };\n case 'Routed':\n return { color: '#6396E5', background: 'rgba(99, 150, 229, 0.15)' };\n default:\n return { color: '#000', background: '#fff' };\n }\n };\n\n const handleSelectOrderId = (id: string | number) => {\n setSelectedOrderIds(prev =>\n prev.includes(id) ? prev.filter(orderId => orderId !== id) : [...prev, id]\n );\n };\n const handleClientSelectAll = (e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n setSelectClientAll(isChecked);\n\n if (isChecked) {\n setSelectedOrderIds(\n returnConfirmedTable?.map((item: any) => item?.id) || []\n );\n } else {\n setSelectedOrderIds([]);\n }\n };\n\n return (\n <>\n <StyledTableWrapper className=\"fortables\">\n <StyledTable>\n <thead>\n <tr>\n {/* <th className=\"emailInvoiceCheckbox\">\n <Checkbox checked={false} />\n </th> */}\n <th className=\"emailInvoiceCheckbox\">\n <Checkbox\n checked={selectClientAll}\n onChange={handleClientSelectAll}\n />\n </th>\n <th onClick={() => handleSort('created_at')}>\n <div className=\"sortIconClass\">\n Created {renderSortIcon('created_at')}\n </div>\n </th>\n {/* <th onClick={() => handleSort('return_location_name')}>\n <div className=\"sortIconClass\">\n Delivery Date {renderSortIcon('return_location_name')}\n </div>\n </th> */}\n <th onClick={() => handleSort('return_location_name')}>\n <div className=\"sortIconClass\">\n Return Location {renderSortIcon('return_location_name')}\n </div>\n </th>\n <th onClick={() => handleSort('recipient_name')}>\n <div className=\"sortIconClass\">\n Recipient {renderSortIcon('recipient_name')}\n </div>\n </th>\n <th onClick={() => handleSort('recipient_reference')}>\n <div className=\"sortIconClass\">\n Recipient Reference {renderSortIcon('recipient_reference')}\n </div>\n </th>\n <th>Sender</th>\n <th>Consignment</th>\n <th>Return Order No</th>\n <th> Total Parts</th>\n <th onClick={() => handleSort('weight')}>\n <div className=\"sortIconClass\">\n Total Weight ({WEIGHT_UNIT}) {renderSortIcon('weight')}\n </div>\n </th>\n <th onClick={() => handleSort('cube')}>\n <div className=\"sortIconClass\">\n Total {VOLUME_UNIT} {renderSortIcon('cube')}\n </div>\n </th>\n <th>Status</th>\n <th className=\"emailInvoiceShare\">Labels</th>\n </tr>\n </thead>\n <tbody>\n {loading ? (\n <tr>\n <td colSpan={16}>\n <Skeleton active />\n </td>\n <td colSpan={16}></td>\n </tr>\n ) : sortedData?.length === 0 ? (\n <tr>\n <td colSpan={16}>\n <EmptyDataContainer>\n <Empty />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : (\n sortedData?.map((item: any, index: any) => {\n const statusMapping: any = {\n cancelled: 'Cancelled',\n 'on hold': 'On Hold',\n subcontracted: 'Sub-Contracted',\n SC: 'Sub-Contracted',\n 'awaiting route': 'Awaiting route',\n 'awaiting confirmation': 'Awaiting Confirmation',\n complete: 'Completed',\n outstanding: 'Outstanding',\n routed: 'Routed',\n failed: 'Failed',\n confirmed: 'Confirmed',\n };\n const status = statusMapping[item?.status_value] || 'Unknown';\n const statusClass = getStatusClass(status);\n\n return (\n <tr key={item.id}>\n <td>\n <Checkbox\n checked={selectedOrderIds.includes(item?.id)}\n onChange={() => handleSelectOrderId(item?.id)}\n />\n </td>\n <td>{formatDate(new Date(item?.created_at))}</td>\n {/* <td>{formatDate(new Date(item?.action_date))}</td> */}\n <td>{displayValueOrNA(item?.return_location_name)}</td>\n <td onClick={() => setOrderId(item.id)}>\n <ul style={{ listStyleType: 'none', padding: 0 }}>\n <li\n style={{\n color: '#0099ff',\n fontWeight: 600,\n paddingLeft: 0,\n }}\n >\n <NavLink to={`/return/view/${item.id}`}>\n {displayValueOrNA(item?.recipient_name)}\n </NavLink>\n </li>\n <li style={{ color: '#888075' }}>\n {displayValueOrNA(item?.postcode)}\n </li>\n </ul>\n </td>\n <td>{displayValueOrNA(item?.recipient_reference)}</td>\n\n <td>{displayValueOrNA(item?.customer_name)}</td>\n\n <td>\n {displayValueOrNA(item?.consignment)}\n {!isClientPortal && Number(item?.failure_count) > 0 && (\n <span style={{ color: 'inherit', fontWeight: 700, marginLeft: 2 }} title=\"Delivery Failure Count\">- [{item?.failure_count}]</span>\n )}\n </td>\n <td>{displayValueOrNA(item?.order_number)}</td>\n\n <td>{displayValueOrNA(item?.total_products)}</td>\n <td>\n {displayValueOrNA(item?.weight)}{' '}\n {item?.weight && item?.weight > 0 ? WEIGHT_UNIT : ''}\n </td>\n\n <td>{displayValueOrNA(item?.cube)}</td>\n\n <td>\n <ul\n className=\"statuscontainer\"\n style={{\n listStyleType: 'none',\n background: statusClass.background,\n }}\n >\n <li\n className=\"statustext\"\n style={{ color: statusClass.color }}\n >\n {status}\n\n {(status === 'Completed' || status === 'Failed') &&\n item?.action_date\n ? ` - ${dayjs(item?.action_date).format(\n 'DD/MM/YYYY'\n )}`\n : ''}\n </li>\n </ul>\n </td>\n <td>\n <ul className=\"actionbox\">\n <CustomDrop\n ref={dropdownRefParent}\n className={printToogle === index ? 'active' : ''}\n >\n <li\n className=\"shareIconContainer\"\n onClick={() => OpenDropDown(index)}\n >\n <PrinterIcon />\n <DownIcon />\n\n {printToogle === index && (\n <div ref={dropdownRef}>\n <PrintDropDown legacyProductId={item} />\n </div>\n )}\n </li>\n </CustomDrop>\n </ul>\n </td>\n </tr>\n );\n })\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </>\n );\n};\n\nexport default ReturnConfirmedTable;\n"],"names":["ReturnConfirmedTable","dropdownRefParent","useRef","dropdownRef","printToogle","setPrintToggle","usePrintOptionTOggle","setOrderId","useOrderId","returnConfirmedTable","useReturnConfirmedOrderData","isClientPortal","useClientPortal","loading","useLoading","selectClientAll","setSelectClientAll","useState","selectedOrderIds","setSelectedOrderIds","useSelectedClientAfterOrders","sortConfig","setSortConfig","handleSort","key","prev","sortedData","useMemo","direction","a","b","valueA","valueB","renderSortIcon","columnKey","SortIcon","jsx","CaretDownFilledIcon","OpenDropDown","index","prevIndex","useEffect","handleClickOutside","event","getStatusClass","status","handleSelectOrderId","id","orderId","StyledTableWrapper","StyledTable","Checkbox","e","isChecked","item","jsxs","WEIGHT_UNIT","VOLUME_UNIT","Skeleton","EmptyDataContainer","Empty","statusClass","formatDate","displayValueOrNA","NavLink","dayjs","CustomDrop","PrinterIcon","DownIcon","PrintDropDown"],"mappings":"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"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { jsx as r, Fragment as
|
|
1
|
+
import { jsx as r, Fragment as E, jsxs as c } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect as g } from "react";
|
|
3
3
|
import "react-datepicker/dist/react-datepicker.css";
|
|
4
|
-
import { HeaderWrapper as
|
|
4
|
+
import { HeaderWrapper as y, StyledFlex as R } from "./RouterHeaderStyle.js";
|
|
5
5
|
import S from "./title/HeaderTitle.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
6
|
+
import v from "./breadCrumb/BreadCrumb.js";
|
|
7
|
+
import x from "styled-components";
|
|
8
|
+
import n from "dayjs";
|
|
9
9
|
import { DatePicker as D } from "antd";
|
|
10
10
|
import { useClientPortal as k, useStartDate as P, useEndDate as w } from "../../../store.js";
|
|
11
11
|
import T from "../../../client-portal/ReturnSearchBar.js";
|
|
12
12
|
import { useParams as A } from "react-router-dom";
|
|
13
13
|
import F from "../../../client-portal/ReturnAfterSearchBar.js";
|
|
14
|
-
import { dateFilterCPReducer as
|
|
15
|
-
import { useAtom as
|
|
16
|
-
const
|
|
14
|
+
import { dateFilterCPReducer as B } from "../../../client-portal/DateFilterStore.js";
|
|
15
|
+
import { useAtom as I } from "jotai";
|
|
16
|
+
const et = ({
|
|
17
17
|
breadcrumbTitle: Y = "Clients >",
|
|
18
18
|
// Default value
|
|
19
19
|
breadcrumbSubtitle: _ = " Return",
|
|
20
20
|
// Default value
|
|
21
|
-
breadcrumbSubPart:
|
|
21
|
+
breadcrumbSubPart: b
|
|
22
22
|
// Optional
|
|
23
23
|
}) => {
|
|
24
|
-
const [a] = k(), m = localStorage.getItem("completed_return_date_range"), s = m != null ? JSON.parse(m) : void 0, [, p] =
|
|
24
|
+
const [a] = k(), m = localStorage.getItem("completed_return_date_range"), s = m != null ? JSON.parse(m) : void 0, [, p] = I(B), [o, l] = P(), [i, d] = w(), { status: e } = A();
|
|
25
25
|
g(() => {
|
|
26
26
|
if (!a) return;
|
|
27
|
-
const t = e === "return_completed", u = !
|
|
27
|
+
const t = e === "return_completed", u = !o && !i, f = o?.format("YYYY-MM-DD"), h = i?.format("YYYY-MM-DD") ?? null;
|
|
28
28
|
if (u && !t) {
|
|
29
29
|
p({ type: "CLEAR_CP_DATE_FILTER" });
|
|
30
30
|
return;
|
|
@@ -37,31 +37,31 @@ const tt = ({
|
|
|
37
37
|
status: e
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
-
}, [a, e,
|
|
40
|
+
}, [a, e, o, i]), g(() => {
|
|
41
41
|
if (s != null) {
|
|
42
|
-
const t =
|
|
43
|
-
|
|
42
|
+
const t = n(s[0])?.format("YYYY-MM-DD"), u = n(s[1])?.format("YYYY-MM-DD") ?? null;
|
|
43
|
+
l(n(t)), d(n(u));
|
|
44
44
|
}
|
|
45
45
|
return () => {
|
|
46
|
-
|
|
46
|
+
l(null), d(null), localStorage.removeItem("completed_return_date_range");
|
|
47
47
|
};
|
|
48
48
|
}, [a]);
|
|
49
|
-
const
|
|
50
|
-
t ?
|
|
49
|
+
const M = (t) => {
|
|
50
|
+
t ? l(t) : (l(null), d(null), p({
|
|
51
51
|
type: "CLEAR_CP_DATE_FILTER"
|
|
52
52
|
}));
|
|
53
|
-
},
|
|
54
|
-
|
|
53
|
+
}, C = (t) => {
|
|
54
|
+
d(t);
|
|
55
55
|
};
|
|
56
|
-
return /* @__PURE__ */ r(
|
|
57
|
-
/* @__PURE__ */ r(R, { children: /* @__PURE__ */ c(
|
|
56
|
+
return /* @__PURE__ */ r(E, { children: /* @__PURE__ */ c(y, { className: "headerWrap", children: [
|
|
57
|
+
/* @__PURE__ */ r(R, { children: /* @__PURE__ */ c(L, { children: [
|
|
58
58
|
/* @__PURE__ */ r(S, { title: "Return" }),
|
|
59
59
|
/* @__PURE__ */ r(
|
|
60
|
-
|
|
60
|
+
v,
|
|
61
61
|
{
|
|
62
62
|
title: Y,
|
|
63
63
|
subtitle: _,
|
|
64
|
-
subPart:
|
|
64
|
+
subPart: b
|
|
65
65
|
}
|
|
66
66
|
)
|
|
67
67
|
] }) }),
|
|
@@ -75,8 +75,8 @@ const tt = ({
|
|
|
75
75
|
/* @__PURE__ */ r(
|
|
76
76
|
D,
|
|
77
77
|
{
|
|
78
|
-
value:
|
|
79
|
-
onChange:
|
|
78
|
+
value: o ? n(o) : null,
|
|
79
|
+
onChange: M,
|
|
80
80
|
format: "MMMM D, YYYY",
|
|
81
81
|
allowClear: !0
|
|
82
82
|
}
|
|
@@ -84,15 +84,19 @@ const tt = ({
|
|
|
84
84
|
/* @__PURE__ */ r(
|
|
85
85
|
D,
|
|
86
86
|
{
|
|
87
|
-
value: i ?
|
|
88
|
-
onChange:
|
|
87
|
+
value: i ? n(i) : null,
|
|
88
|
+
onChange: C,
|
|
89
89
|
format: "MMMM D, YYYY",
|
|
90
|
-
disabledDate: (t) => !!
|
|
90
|
+
disabledDate: (t) => !!o && t.isBefore(n(o), "day")
|
|
91
91
|
}
|
|
92
92
|
)
|
|
93
93
|
] })
|
|
94
94
|
] }) });
|
|
95
|
-
},
|
|
95
|
+
}, L = x.div`
|
|
96
|
+
display: flex;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
margin-top: -12px;
|
|
99
|
+
`, j = x.div`
|
|
96
100
|
display: flex;
|
|
97
101
|
padding-right: 10px;
|
|
98
102
|
padding-left: 7px;
|
|
@@ -139,6 +143,6 @@ const tt = ({
|
|
|
139
143
|
`;
|
|
140
144
|
export {
|
|
141
145
|
j as DatePickerWrap,
|
|
142
|
-
|
|
146
|
+
et as default
|
|
143
147
|
};
|
|
144
148
|
//# sourceMappingURL=ClientRouterHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientRouterHeader.js","sources":["../../../../../src/components/order-daily-overview/header/route-header/ClientRouterHeader.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport { HeaderWrapper, StyledFlex } from './RouterHeaderStyle';\nimport HeaderTitle from './title/HeaderTitle';\nimport Breadcrumb from './breadCrumb/BreadCrumb';\nimport styled from 'styled-components';\nimport dayjs from 'dayjs';\nimport { DatePicker, DatePickerProps } from 'antd';\nimport {\n useAtom,\n useClientPortal,\n useEndDate,\n useStartDate,\n} from '../../../store';\nimport ReturnSearchBar from '../../../client-portal/ReturnSearchBar';\nimport { useParams } from 'react-router-dom';\nimport ReturnAfterSearchBar from '../../../client-portal/ReturnAfterSearchBar';\nimport { dateFilterCPReducer } from '../../../client-portal/DateFilterStore';\n\ninterface RouterHeaderProps {\n breadcrumbTitle?: string;\n breadcrumbSubtitle?: string;\n breadcrumbSubPart?: string;\n showDateFilter?: boolean;\n}\n\nconst ClientRouterHeader: React.FC<RouterHeaderProps> = ({\n breadcrumbTitle = 'Clients >', // Default value\n breadcrumbSubtitle = ' Return', // Default value\n breadcrumbSubPart, // Optional\n}) => {\n const [clientPortal] = useClientPortal();\n const monthDateRange = localStorage.getItem('completed_return_date_range');\n const parsedDateRange =\n monthDateRange != null ? JSON.parse(monthDateRange) : undefined;\n const [, dispatch] = useAtom(dateFilterCPReducer);\n //CP\n const [startDate, setStartDate] = useStartDate();\n const [endDate, setEndDate] = useEndDate();\n const { status } = useParams();\n\n useEffect(() => {\n if (!clientPortal) return;\n\n const isReturnCompleted = status === 'return_completed';\n const hasNoDate = !startDate && !endDate;\n\n // if (isReturnCompleted && hasNoDate) {\n // const today = dayjs();\n\n // setStartDate(today);\n // setEndDate(today);\n\n // return;\n // }\n\n const formattedStart = startDate?.format('YYYY-MM-DD');\n const formattedEnd = endDate?.format('YYYY-MM-DD') ?? null;\n\n if (hasNoDate && !isReturnCompleted) {\n dispatch({ type: 'CLEAR_CP_DATE_FILTER' });\n return;\n }\n\n if (formattedStart || formattedEnd) {\n dispatch({\n type: 'SET_CP_DATE_FILTER',\n payload: {\n startDate: formattedStart,\n endDate: formattedEnd,\n status,\n },\n });\n }\n }, [clientPortal, status, startDate, endDate]);\n\n useEffect(() => {\n if (parsedDateRange != undefined) {\n const formattedStart = dayjs(parsedDateRange[0])?.format('YYYY-MM-DD');\n const formattedEnd =\n dayjs(parsedDateRange[1])?.format('YYYY-MM-DD') ?? null;\n setStartDate(dayjs(formattedStart));\n setEndDate(dayjs(formattedEnd));\n }\n\n return () => {\n // Cleanup on unmount\n setStartDate(null);\n setEndDate(null);\n localStorage.removeItem('completed_return_date_range');\n };\n }, [clientPortal]);\n\n const handleStartDateChange: DatePickerProps['onChange'] = date => {\n if (!date) {\n setStartDate(null);\n setEndDate(null);\n dispatch({\n type: 'CLEAR_CP_DATE_FILTER',\n });\n } else {\n setStartDate(date);\n }\n };\n\n const handleEndDateChange: DatePickerProps['onChange'] = date => {\n setEndDate(date);\n };\n\n const validStatuses = [\n 'outstanding_return',\n 'scheduled_for_return',\n 'return_completed',\n ];\n\n return (\n <>\n <HeaderWrapper className=\"headerWrap\">\n <StyledFlex>\n <
|
|
1
|
+
{"version":3,"file":"ClientRouterHeader.js","sources":["../../../../../src/components/order-daily-overview/header/route-header/ClientRouterHeader.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport { HeaderWrapper, StyledFlex } from './RouterHeaderStyle';\nimport HeaderTitle from './title/HeaderTitle';\nimport Breadcrumb from './breadCrumb/BreadCrumb';\nimport styled from 'styled-components';\nimport dayjs from 'dayjs';\nimport { DatePicker, DatePickerProps } from 'antd';\nimport {\n useAtom,\n useClientPortal,\n useEndDate,\n useStartDate,\n} from '../../../store';\nimport ReturnSearchBar from '../../../client-portal/ReturnSearchBar';\nimport { useParams } from 'react-router-dom';\nimport ReturnAfterSearchBar from '../../../client-portal/ReturnAfterSearchBar';\nimport { dateFilterCPReducer } from '../../../client-portal/DateFilterStore';\n\ninterface RouterHeaderProps {\n breadcrumbTitle?: string;\n breadcrumbSubtitle?: string;\n breadcrumbSubPart?: string;\n showDateFilter?: boolean;\n}\n\nconst ClientRouterHeader: React.FC<RouterHeaderProps> = ({\n breadcrumbTitle = 'Clients >', // Default value\n breadcrumbSubtitle = ' Return', // Default value\n breadcrumbSubPart, // Optional\n}) => {\n const [clientPortal] = useClientPortal();\n const monthDateRange = localStorage.getItem('completed_return_date_range');\n const parsedDateRange =\n monthDateRange != null ? JSON.parse(monthDateRange) : undefined;\n const [, dispatch] = useAtom(dateFilterCPReducer);\n //CP\n const [startDate, setStartDate] = useStartDate();\n const [endDate, setEndDate] = useEndDate();\n const { status } = useParams();\n\n useEffect(() => {\n if (!clientPortal) return;\n\n const isReturnCompleted = status === 'return_completed';\n const hasNoDate = !startDate && !endDate;\n\n // if (isReturnCompleted && hasNoDate) {\n // const today = dayjs();\n\n // setStartDate(today);\n // setEndDate(today);\n\n // return;\n // }\n\n const formattedStart = startDate?.format('YYYY-MM-DD');\n const formattedEnd = endDate?.format('YYYY-MM-DD') ?? null;\n\n if (hasNoDate && !isReturnCompleted) {\n dispatch({ type: 'CLEAR_CP_DATE_FILTER' });\n return;\n }\n\n if (formattedStart || formattedEnd) {\n dispatch({\n type: 'SET_CP_DATE_FILTER',\n payload: {\n startDate: formattedStart,\n endDate: formattedEnd,\n status,\n },\n });\n }\n }, [clientPortal, status, startDate, endDate]);\n\n useEffect(() => {\n if (parsedDateRange != undefined) {\n const formattedStart = dayjs(parsedDateRange[0])?.format('YYYY-MM-DD');\n const formattedEnd =\n dayjs(parsedDateRange[1])?.format('YYYY-MM-DD') ?? null;\n setStartDate(dayjs(formattedStart));\n setEndDate(dayjs(formattedEnd));\n }\n\n return () => {\n // Cleanup on unmount\n setStartDate(null);\n setEndDate(null);\n localStorage.removeItem('completed_return_date_range');\n };\n }, [clientPortal]);\n\n const handleStartDateChange: DatePickerProps['onChange'] = date => {\n if (!date) {\n setStartDate(null);\n setEndDate(null);\n dispatch({\n type: 'CLEAR_CP_DATE_FILTER',\n });\n } else {\n setStartDate(date);\n }\n };\n\n const handleEndDateChange: DatePickerProps['onChange'] = date => {\n setEndDate(date);\n };\n\n const validStatuses = [\n 'outstanding_return',\n 'scheduled_for_return',\n 'return_completed',\n ];\n\n return (\n <>\n <HeaderWrapper className=\"headerWrap\">\n <StyledFlex>\n <TitleBlock>\n <HeaderTitle title={'Return'} />\n <Breadcrumb\n title={breadcrumbTitle}\n subtitle={breadcrumbSubtitle}\n subPart={breadcrumbSubPart}\n />\n </TitleBlock>\n </StyledFlex>\n\n {clientPortal && status === 'outstanding_return' && <ReturnSearchBar />}\n\n {clientPortal &&\n (status === 'scheduled_for_return' ||\n status === 'return_completed') && <ReturnAfterSearchBar />}\n\n {clientPortal &&\n typeof status === 'string' &&\n validStatuses.includes(status) && (\n <DatePickerWrap>\n <DatePicker\n value={startDate ? dayjs(startDate) : null}\n onChange={handleStartDateChange}\n format={'MMMM D, YYYY'}\n allowClear\n // disabledDate={current =>\n // !!endDate && current.isAfter(dayjs(endDate), 'day')\n // }\n />\n <DatePicker\n value={endDate ? dayjs(endDate) : null}\n onChange={handleEndDateChange}\n format={'MMMM D, YYYY'}\n disabledDate={current =>\n !!startDate && current.isBefore(dayjs(startDate), 'day')\n }\n />\n </DatePickerWrap>\n )}\n </HeaderWrapper>\n </>\n );\n};\nconst TitleBlock = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: -12px;\n`;\nexport const DatePickerWrap = styled.div`\n display: flex;\n padding-right: 10px;\n padding-left: 7px;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n border-radius: 20px;\n border: 1px solid #e0e2e7;\n background: #fff;\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n min-width: 22vw;\n height: 35px;\n input[type='text'] {\n border-radius: 20px;\n background: var(--Flowkit-White, #fff);\n border: none;\n color: #6a7378;\n font-size: 13px;\n font-weight: 400;\n line-height: 18px;\n padding: 8px 0;\n padding-left: 10px;\n &:focus-visible {\n outline: none;\n }\n }\n\n .ant-picker-outlined {\n border-style: none !important;\n }\n\n .ant-picker-focused {\n box-shadow: none;\n }\n\n /* .ant-picker {\n .ant-picker-input {\n width: 150px;\n }\n } */\n .ant-btn {\n background-color: #3348ff !important;\n }\n`;\nexport default ClientRouterHeader;\n"],"names":["ClientRouterHeader","breadcrumbTitle","breadcrumbSubtitle","breadcrumbSubPart","clientPortal","useClientPortal","monthDateRange","parsedDateRange","dispatch","useAtom","dateFilterCPReducer","startDate","setStartDate","useStartDate","endDate","setEndDate","useEndDate","status","useParams","useEffect","isReturnCompleted","hasNoDate","formattedStart","formattedEnd","dayjs","handleStartDateChange","date","handleEndDateChange","jsx","Fragment","jsxs","HeaderWrapper","StyledFlex","TitleBlock","HeaderTitle","Breadcrumb","ReturnSearchBar","ReturnAfterSearchBar","DatePickerWrap","DatePicker","current","styled"],"mappings":"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"}
|