@bjsdistribution/dms-client-return 0.2.2-prod → 0.2.3-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/common/expand-collapse/index.js +44 -26
- package/dist/common/expand-collapse/index.js.map +1 -1
- package/dist/common/modals/order-action-modal/OrderActionModal.js.map +1 -1
- package/dist/common/modals/order-action-modal/footer/OrderActionFooter.js.map +1 -1
- package/dist/components/client-portal/ClientPortalResponsive.js +148 -0
- package/dist/components/client-portal/ClientPortalResponsive.js.map +1 -0
- package/dist/components/client-portal/OutstandingTable.js +112 -118
- package/dist/components/client-portal/OutstandingTable.js.map +1 -1
- package/dist/components/client-portal/ReturnOverview.js +38 -37
- package/dist/components/client-portal/ReturnOverview.js.map +1 -1
- package/dist/components/client-portal/return-confirm/ConfirmedMain.js +4 -4
- package/dist/components/client-portal/return-confirm/ConfirmedMain.js.map +1 -1
- package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.js +445 -185
- package/dist/components/client-portal/return-confirm/ReturnConfirmedTable.js.map +1 -1
- package/dist/components/fakeData.js.map +1 -1
- package/dist/components/order-daily-overview/common/fakedata.js.map +1 -1
- package/dist/components/order-daily-overview/common/mediaQuery.js +17 -0
- package/dist/components/order-daily-overview/common/mediaQuery.js.map +1 -0
- package/dist/components/order-daily-overview/filters/FilterStyle.js +174 -11
- package/dist/components/order-daily-overview/filters/FilterStyle.js.map +1 -1
- package/dist/components/order-daily-overview/header/route-header/RouterHeaderStyle.js +9 -4
- package/dist/components/order-daily-overview/header/route-header/RouterHeaderStyle.js.map +1 -1
- package/dist/components/order-daily-overview/header/route-header/title/HeaderTitle.js +11 -1
- package/dist/components/order-daily-overview/header/route-header/title/HeaderTitle.js.map +1 -1
- package/dist/components/order-daily-overview/header-filters/Styledfilters.js +46 -17
- package/dist/components/order-daily-overview/header-filters/Styledfilters.js.map +1 -1
- package/dist/components/order-daily-overview/index.js +76 -53
- package/dist/components/order-daily-overview/index.js.map +1 -1
- package/dist/components/order-daily-overview/return-after-table/table/OrderTable.js +101 -103
- package/dist/components/order-daily-overview/return-after-table/table/OrderTable.js.map +1 -1
- package/dist/components/order-daily-overview/return-after-table/table-filters/ReturnOrderFilter.js +135 -134
- package/dist/components/order-daily-overview/return-after-table/table-filters/ReturnOrderFilter.js.map +1 -1
- package/dist/components/order-daily-overview/return-after-table/table-filters/TableFilters.js +17 -11
- package/dist/components/order-daily-overview/return-after-table/table-filters/TableFilters.js.map +1 -1
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnFilter.js +5 -5
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnFilter.js.map +1 -1
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnOrderTable.js +129 -135
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/ReturnOrderTable.js.map +1 -1
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/returnstyles.js +346 -27
- package/dist/components/order-daily-overview/return-order-table/return-orders-filters/returnstyles.js.map +1 -1
- package/dist/components/order-daily-overview/table/ReturnTable.js +199 -183
- package/dist/components/order-daily-overview/table/ReturnTable.js.map +1 -1
- package/dist/components/order-daily-overview/table/table-data/styles.js +159 -38
- package/dist/components/order-daily-overview/table/table-data/styles.js.map +1 -1
- package/dist/components/order-daily-overview/table-view/PaginationStyle.js +21 -6
- package/dist/components/order-daily-overview/table-view/PaginationStyle.js.map +1 -1
- package/dist/components/order-view/DynamicTable.js +136 -35
- package/dist/components/order-view/DynamicTable.js.map +1 -1
- package/dist/components/order-view/details-filters/DetailsFilters.js +33 -8
- package/dist/components/order-view/details-filters/DetailsFilters.js.map +1 -1
- package/dist/components/order-view/details-filters/left-side-filters/ActionsMenu.js +23 -5
- package/dist/components/order-view/details-filters/left-side-filters/ActionsMenu.js.map +1 -1
- package/dist/components/order-view/details-filters/left-side-filters/dropdowns/DropDowns.js +39 -22
- package/dist/components/order-view/details-filters/left-side-filters/dropdowns/DropDowns.js.map +1 -1
- package/dist/components/order-view/details-filters/right-side-filters/Details.js +25 -12
- package/dist/components/order-view/details-filters/right-side-filters/Details.js.map +1 -1
- package/dist/components/order-view/general-information/Status.js +58 -28
- package/dist/components/order-view/general-information/Status.js.map +1 -1
- package/dist/components/order-view/generic-table/AuditLogs.js +129 -24
- package/dist/components/order-view/generic-table/AuditLogs.js.map +1 -1
- package/dist/components/order-view/notes/logs/index.js +15 -7
- package/dist/components/order-view/notes/logs/index.js.map +1 -1
- package/dist/components/order-view/notes/order-dropdown/NewReturnDropdown.js +7 -7
- package/dist/components/order-view/notes/order-dropdown/NewReturnDropdown.js.map +1 -1
- package/dist/components/order-view/notification/index.js +68 -55
- package/dist/components/order-view/notification/index.js.map +1 -1
- package/dist/components/order-view/order-actions/Dropdown.js +3 -3
- package/dist/components/order-view/order-actions/Dropdown.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/cancel-order/CancelOrderTable.js +45 -47
- package/dist/components/order-view/order-actions/actions/cancel-order/CancelOrderTable.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/cancel-order/ReturnReason.js +23 -36
- package/dist/components/order-view/order-actions/actions/cancel-order/ReturnReason.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/confirm-order/tables/ProductTable.js +23 -25
- package/dist/components/order-view/order-actions/actions/confirm-order/tables/ProductTable.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.js +88 -89
- package/dist/components/order-view/order-actions/actions/force-debrief/ForceDebriefModal.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.js +16 -16
- package/dist/components/order-view/order-actions/actions/force-debrief/charges/collection-add-ons/index.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.js +22 -23
- package/dist/components/order-view/order-actions/actions/force-debrief/escalation/EscalationReason.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.js +52 -56
- package/dist/components/order-view/order-actions/actions/force-debrief/order-info/RadioButtons.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.js +26 -27
- package/dist/components/order-view/order-actions/actions/force-debrief/order-info/dropdowns/FailureReasonDropdown.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/hold-order/HoldOrderModal.js +29 -29
- package/dist/components/order-view/order-actions/actions/hold-order/HoldOrderModal.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/split-order/SplitOrderTable.js +54 -222
- package/dist/components/order-view/order-actions/actions/split-order/SplitOrderTable.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/split-order/index.js +37 -50
- package/dist/components/order-view/order-actions/actions/split-order/index.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/uncancel-order/UncancelOrderTable.js +35 -37
- package/dist/components/order-view/order-actions/actions/uncancel-order/UncancelOrderTable.js.map +1 -1
- package/dist/components/order-view/order-actions/actions/what3words/What3WordsModal.tsx.js +85 -85
- package/dist/components/order-view/order-actions/actions/what3words/What3WordsModal.tsx.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactHome.js +12 -8
- package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactHome.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactMobile.js +22 -18
- package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/ContactMobile.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/index.js +14 -8
- package/dist/components/order-view/order-details/expanded-content/customer-section/contact-info/index.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/index.js +19 -13
- package/dist/components/order-view/order-details/expanded-content/customer-section/index.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Address.js +11 -6
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Address.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Latitude.js +23 -21
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Latitude.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Longitude.js +23 -21
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/Longitude.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/index.js +39 -21
- package/dist/components/order-view/order-details/expanded-content/customer-section/location-info/index.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/footer/index.js +28 -14
- package/dist/components/order-view/order-details/expanded-content/footer/index.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/orders-section/index.js +44 -28
- package/dist/components/order-view/order-details/expanded-content/orders-section/index.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/services-section/OrderServices.js +28 -20
- package/dist/components/order-view/order-details/expanded-content/services-section/OrderServices.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/services-section/ServiceLevel.js +17 -18
- package/dist/components/order-view/order-details/expanded-content/services-section/ServiceLevel.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/services-section/ServiceType.js +22 -26
- package/dist/components/order-view/order-details/expanded-content/services-section/ServiceType.js.map +1 -1
- package/dist/components/order-view/order-details/expanded-content/services-section/index.js +79 -25
- package/dist/components/order-view/order-details/expanded-content/services-section/index.js.map +1 -1
- package/dist/components/order-view/order-details/helper.js.map +1 -1
- package/dist/components/order-view/products-info/collapsed-content/index.js +21 -15
- package/dist/components/order-view/products-info/collapsed-content/index.js.map +1 -1
- package/dist/components/order-view/products-info/index.js +36 -36
- package/dist/components/order-view/products-info/index.js.map +1 -1
- package/dist/components/order-view/return-client-products/product-table/ReturnProductTable.js +265 -334
- package/dist/components/order-view/return-client-products/product-table/ReturnProductTable.js.map +1 -1
- package/dist/components/order-view/store.js +155 -162
- package/dist/components/order-view/store.js.map +1 -1
- package/dist/components/order-view/toolbox-resources/expanded-content/index.js +281 -173
- package/dist/components/order-view/toolbox-resources/expanded-content/index.js.map +1 -1
- package/dist/components/utils.js +5 -4
- package/dist/components/utils.js.map +1 -1
- package/dist/types/common/modals/order-action-modal/OrderActionModal.d.ts +1 -2
- package/dist/types/common/modals/order-action-modal/footer/OrderActionFooter.d.ts +1 -1
- package/dist/types/components/client-portal/ClientPortalResponsive.d.ts +15 -0
- package/dist/types/components/order-daily-overview/common/mediaQuery.d.ts +4 -0
- package/dist/types/components/order-daily-overview/filters/FilterStyle.d.ts +1 -0
- package/dist/types/components/order-view/order-actions/Dropdown.d.ts +0 -1
- package/dist/types/components/order-view/return-client-products/product-table/ReturnProductTable.d.ts +1 -0
- package/dist/types/components/order-view/store.d.ts +0 -1
- package/dist/types/components/order-view/types.d.ts +1 -1
- package/dist/types/components/utils.d.ts +1 -0
- package/package.json +2 -2
- package/dist/assets/icons/ChevronDownIcon.js +0 -26
- package/dist/assets/icons/ChevronDownIcon.js.map +0 -1
- package/dist/components/order-view/return-client-products/product-table/palletGrouping.js +0 -47
- package/dist/components/order-view/return-client-products/product-table/palletGrouping.js.map +0 -1
- package/dist/types/components/order-view/return-client-products/product-table/palletGrouping.d.ts +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoldOrderModal.js","sources":["../../../../../../src/components/order-view/order-actions/actions/hold-order/HoldOrderModal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n AntSelect,\n Label,\n
|
|
1
|
+
{"version":3,"file":"HoldOrderModal.js","sources":["../../../../../../src/components/order-view/order-actions/actions/hold-order/HoldOrderModal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n AntSelect,\n Label,\n useAxios,\n} from '@bjsdistribution/dms-component-library';\nimport {\n useCurrentAction,\n useCustomerInfo,\n useOrderId,\n useOrderStaticData,\n} from '../../../store';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport {\n HoldContentContainer,\n HoldDatePickerWrap,\n HoldRow,\n SplitText,\n} from '../modalstyle';\nimport { DatePicker, DatePickerProps, notification } from 'antd';\nimport dayjs from 'dayjs';\nimport { ApiResponse } from '../../../types';\nimport { useClientPortal } from '../../../../store';\n\ninterface IProps {\n callOrderAlertsApi: any;\n callOrdersApi?: any;\n callOrderStatusApi: any;\n callUnresolvedTaskApi?: any;\n}\n\nfunction HoldOrderModal(props: IProps) {\n const [orderId] = useOrderId();\n const [, setCurrentAction] = useCurrentAction();\n const [orderStaticData] = useOrderStaticData();\n const [selectedDate, setDate] = useState<Date | string | null>(null);\n const [holdReason, setHoldReason] = useState<string | undefined>(undefined);\n const [customerInfo] = useCustomerInfo();\n const [isClientPortal] = useClientPortal();\n const infoText = `${customerInfo?.recipient_name}, ${customerInfo?.postcode}`;\n\n const onHoldReasonOptions = orderStaticData?.onhold_reasons?.map(\n (item: any) => {\n return {\n label: item?.reason,\n value: item?.reason,\n };\n }\n );\n\n const dynamicUrl = selectedDate\n ? `orders/${orderId}/hold/?hold_reason=${holdReason}&hold_until=${selectedDate}`\n : `orders/${orderId}/hold/?hold_reason=${holdReason}\n`;\n\n const { fetchData: callOnHoldApi, error } = useAxios<{\n data: ApiResponse[];\n }>({\n endpoint: dynamicUrl,\n method: 'POST',\n });\n\n const onClose = () => {\n setCurrentAction(undefined);\n };\n\n const onChangeHold = (value: string) => {\n setHoldReason(value);\n };\n\n const handleDateChange: DatePickerProps['onChange'] = (date, _dateString) => {\n const newDate = date?.format('YYYY-MM-DDTHH:mm:ss');\n if (newDate !== undefined) {\n setDate(newDate);\n } else {\n setDate(null);\n }\n };\n\n const onSubmitHold = async () => {\n if (orderId) {\n const response = (await callOnHoldApi()) as {\n code: number | null;\n error?: string | null | undefined;\n [key: string]: any;\n };\n if (response?.code === 200) {\n notification.success({\n message: 'Success',\n description: `${response.message}`,\n });\n // call orders api to update status\n if (isClientPortal) {\n await props?.callUnresolvedTaskApi();\n }\n await props?.callOrderAlertsApi();\n await props?.callOrderStatusApi();\n await props?.callOrdersApi();\n }\n if (response?.code !== 200) {\n notification.error({\n message: 'Error',\n description: `${response.error}`,\n });\n setCurrentAction(undefined);\n }\n }\n };\n\n useEffect(() => {\n //@ts-ignore\n if (error !== null && error?.code !== 200) {\n console.log('entered');\n notification.error({\n //@ts-ignore\n message: `${error?.error}`,\n description: (\n //@ts-ignore\n <span dangerouslySetInnerHTML={{ __html: error?.message }} />\n ),\n });\n setCurrentAction(undefined);\n }\n }, [error]);\n\n const showSubmitBtn = holdReason !== undefined;\n\n return (\n <OrderActionModal\n minWidth=\"24vw\"\n headerTitle=\"Hold order\"\n onCloseHeader={onClose}\n onSubmit={onSubmitHold}\n showAdditionalInfo\n infoText={infoText}\n submitBtnTitle=\"Save Details\"\n isSubmitDisabled={!showSubmitBtn}\n >\n <HoldContentContainer>\n <SplitText>\n <HoldRow>\n <Label label=\"Hold Until (leave blank for indefinite)\" />\n <HoldDatePickerWrap>\n <DatePicker\n needConfirm\n format={'MMMM D, YYYY'}\n onChange={handleDateChange}\n value={\n selectedDate === null ? selectedDate : dayjs(selectedDate)\n }\n disabledDate={current => {\n return current && current < dayjs().startOf('day');\n }}\n />\n </HoldDatePickerWrap>\n </HoldRow>\n\n <HoldRow>\n <Label label=\"Hold Reason\" required />\n <AntSelect\n options={onHoldReasonOptions || []}\n placeholder=\"Select Hold Reason\"\n onChange={onChangeHold}\n disabled={false}\n style={{ width: '346px', height: 40 }}\n showSearch={true}\n popupClassName={'dropDownStyle'}\n selectWrapperClass={'rounded'}\n defaultValue={holdReason}\n />\n </HoldRow>\n </SplitText>\n </HoldContentContainer>\n </OrderActionModal>\n );\n}\n\nexport default HoldOrderModal;\n"],"names":["HoldOrderModal","props","orderId","useOrderId","setCurrentAction","useCurrentAction","orderStaticData","useOrderStaticData","selectedDate","setDate","useState","holdReason","setHoldReason","customerInfo","useCustomerInfo","isClientPortal","useClientPortal","infoText","onHoldReasonOptions","item","dynamicUrl","callOnHoldApi","error","useAxios","onClose","onChangeHold","value","handleDateChange","date","_dateString","newDate","onSubmitHold","response","notification","useEffect","jsx","OrderActionModal","HoldContentContainer","jsxs","SplitText","HoldRow","Label","HoldDatePickerWrap","DatePicker","dayjs","current","AntSelect"],"mappings":"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"}
|
|
@@ -1,239 +1,71 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { Skeleton as
|
|
5
|
-
import { Checkbox as
|
|
6
|
-
import { useLoading as
|
|
7
|
-
import { useSelectedSplit as
|
|
8
|
-
import { StyledTableWrapper as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function be() {
|
|
15
|
-
const [i] = z(), [P] = M(), [s, c] = O(), [S, p] = u(!1), [v, f] = U(), [k] = K(), g = h(
|
|
16
|
-
() => (s ?? []).map((e) => e?.id),
|
|
17
|
-
[s]
|
|
18
|
-
), N = h(
|
|
19
|
-
() => V(i),
|
|
20
|
-
[i]
|
|
21
|
-
), w = h(() => X(i), [
|
|
22
|
-
i
|
|
23
|
-
]), [C, D] = u({}), I = (e) => e.isNoPallet || !!C[e.key], G = (e) => D((l) => ({ ...l, [e]: !l[e] })), T = (e) => {
|
|
24
|
-
c(e.map((l) => ({ id: l }))), p(e.length === i?.length);
|
|
25
|
-
}, E = (e) => {
|
|
26
|
-
const l = e.target.checked;
|
|
27
|
-
p(l), c(
|
|
28
|
-
l ? i?.map((o) => ({ id: o.id })) : []
|
|
1
|
+
import { jsx as e, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g, useEffect as b } from "react";
|
|
3
|
+
import { useProductDetails as k } from "../../../store.js";
|
|
4
|
+
import { Skeleton as C, Empty as D } from "antd";
|
|
5
|
+
import { Checkbox as p } from "@bjsdistribution/dms-component-library";
|
|
6
|
+
import { useLoading as T } from "../../../../order-daily-overview/store/store.js";
|
|
7
|
+
import { useSelectedSplit as x, useSplitOrderPayload as P } from "../../store.js";
|
|
8
|
+
import { StyledTableWrapper as A, StyledTable as E, EmptyDataContainer as _ } from "../confirm-order/tables/ReminderStyles.js";
|
|
9
|
+
function q() {
|
|
10
|
+
const [i] = k(), [m] = T(), [n, c] = x(), [u, o] = g(!1), [S, s] = P(), f = (t) => {
|
|
11
|
+
const l = t.target.checked;
|
|
12
|
+
o(l), c(
|
|
13
|
+
l ? i?.map((h) => ({ id: h.id })) : []
|
|
29
14
|
);
|
|
30
|
-
},
|
|
15
|
+
}, y = (t) => {
|
|
31
16
|
c((l) => {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
) ? l?.filter((a) => a.id !== e) : [...l, { id: e }];
|
|
35
|
-
return p(r?.length === i?.length), r;
|
|
17
|
+
const a = l?.some((r) => r.id === t) ? l?.filter((r) => r.id !== t) : [...l, { id: t }];
|
|
18
|
+
return o(a?.length === i?.length), a;
|
|
36
19
|
});
|
|
37
|
-
}, _ = (e, l) => {
|
|
38
|
-
const o = e.items.map((r) => r?.id);
|
|
39
|
-
T(Y(g, o, l));
|
|
40
20
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
...
|
|
21
|
+
return b(() => {
|
|
22
|
+
s({
|
|
23
|
+
...S,
|
|
44
24
|
return_order: 1,
|
|
45
25
|
// FOR SPLIT ORDER WE ARE ASKED TO SET THIS AS 1
|
|
46
|
-
products:
|
|
26
|
+
products: n?.map((t) => t.id),
|
|
47
27
|
force: !0
|
|
48
28
|
});
|
|
49
|
-
}, [
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{
|
|
54
|
-
checked: s?.some(
|
|
55
|
-
(l) => l.id === e.id
|
|
56
|
-
),
|
|
57
|
-
onChange: () => R(e.id)
|
|
58
|
-
}
|
|
59
|
-
) }),
|
|
60
|
-
/* @__PURE__ */ t("td", { children: k ? e?.order_product_type?.type : H(e?.order_product_type?.type) }),
|
|
61
|
-
/* @__PURE__ */ t("td", { children: e?.code }),
|
|
62
|
-
/* @__PURE__ */ t("td", { children: e?.description }),
|
|
63
|
-
/* @__PURE__ */ t("td", { children: e?.description }),
|
|
64
|
-
/* @__PURE__ */ t("td", { children: e?.description }),
|
|
65
|
-
/* @__PURE__ */ t("td", { children: e?.sku })
|
|
66
|
-
] }, e.id), $ = (e) => {
|
|
67
|
-
const l = I(e), o = e.items.filter(
|
|
68
|
-
(A) => g.includes(A?.id)
|
|
69
|
-
).length, r = e.items.length > 0 && o === e.items.length, a = `${e.items.length} ${e.items.length === 1 ? "item" : "items"}`;
|
|
70
|
-
return /* @__PURE__ */ n(L.Fragment, { children: [
|
|
71
|
-
/* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t("td", { colSpan: y, children: /* @__PURE__ */ t("div", { className: e.isNoPallet ? "no-pallet-divider" : void 0, children: /* @__PURE__ */ n(ee, { children: [
|
|
72
|
-
/* @__PURE__ */ t(
|
|
73
|
-
m,
|
|
74
|
-
{
|
|
75
|
-
checked: r,
|
|
76
|
-
onChange: () => _(e, r),
|
|
77
|
-
"aria-label": e.isNoPallet ? "Select all items with no pallet ID" : `Select whole pallet ${e.label}`
|
|
78
|
-
}
|
|
79
|
-
),
|
|
80
|
-
/* @__PURE__ */ n(
|
|
81
|
-
te,
|
|
82
|
-
{
|
|
83
|
-
type: "button",
|
|
84
|
-
disabled: e.isNoPallet,
|
|
85
|
-
onClick: e.isNoPallet ? void 0 : () => G(e.key),
|
|
86
|
-
"aria-expanded": e.isNoPallet ? void 0 : l,
|
|
87
|
-
children: [
|
|
88
|
-
!e.isNoPallet && /* @__PURE__ */ t(le, { $isExpanded: l, children: /* @__PURE__ */ t(Q, {}) }),
|
|
89
|
-
/* @__PURE__ */ t("span", { className: "title", children: e.isNoPallet ? /* @__PURE__ */ t("span", { children: "No Pallet ID" }) : /* @__PURE__ */ n(x, { children: [
|
|
90
|
-
/* @__PURE__ */ t("span", { children: "Pallet ID:" }),
|
|
91
|
-
/* @__PURE__ */ t("strong", { children: e.label })
|
|
92
|
-
] }) }),
|
|
93
|
-
/* @__PURE__ */ n("span", { className: "count", children: [
|
|
94
|
-
"(",
|
|
95
|
-
a,
|
|
96
|
-
")"
|
|
97
|
-
] }),
|
|
98
|
-
o > 0 && /* @__PURE__ */ n("span", { className: "selected", children: [
|
|
99
|
-
o,
|
|
100
|
-
" selected"
|
|
101
|
-
] }),
|
|
102
|
-
!e.isNoPallet && /* @__PURE__ */ t(ie, { "aria-hidden": "true", children: l ? "−" : "+" })
|
|
103
|
-
]
|
|
104
|
-
}
|
|
105
|
-
)
|
|
106
|
-
] }) }) }) }),
|
|
107
|
-
l && e.items.map(b)
|
|
108
|
-
] }, e.key);
|
|
109
|
-
};
|
|
110
|
-
return /* @__PURE__ */ t(x, { children: /* @__PURE__ */ t(q, { id: "tableScrolling", children: /* @__PURE__ */ n(W, { children: [
|
|
111
|
-
/* @__PURE__ */ t("thead", { children: /* @__PURE__ */ n("tr", { children: [
|
|
112
|
-
/* @__PURE__ */ t("th", { style: { position: "relative" }, children: /* @__PURE__ */ t(
|
|
113
|
-
m,
|
|
29
|
+
}, [n, s]), /* @__PURE__ */ e(A, { id: "tableScrolling", children: /* @__PURE__ */ d(E, { children: [
|
|
30
|
+
/* @__PURE__ */ e("thead", { children: /* @__PURE__ */ d("tr", { children: [
|
|
31
|
+
/* @__PURE__ */ e("th", { style: { position: "relative" }, children: /* @__PURE__ */ e(
|
|
32
|
+
p,
|
|
114
33
|
{
|
|
115
|
-
checked:
|
|
116
|
-
onChange:
|
|
34
|
+
checked: u,
|
|
35
|
+
onChange: f,
|
|
117
36
|
disabled: i?.length === 0 || i?.length === null
|
|
118
37
|
}
|
|
119
38
|
) }),
|
|
120
|
-
/* @__PURE__ */
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
/* @__PURE__ */
|
|
123
|
-
/* @__PURE__ */
|
|
124
|
-
/* @__PURE__ */
|
|
125
|
-
/* @__PURE__ */
|
|
39
|
+
/* @__PURE__ */ e("th", { children: "Type" }),
|
|
40
|
+
/* @__PURE__ */ e("th", { children: "Code" }),
|
|
41
|
+
/* @__PURE__ */ e("th", { children: "Scan" }),
|
|
42
|
+
/* @__PURE__ */ e("th", { children: "Description" }),
|
|
43
|
+
/* @__PURE__ */ e("th", { children: "Delivery Instructions" }),
|
|
44
|
+
/* @__PURE__ */ e("th", { children: "Barcode" })
|
|
126
45
|
] }) }),
|
|
127
|
-
/* @__PURE__ */
|
|
128
|
-
/* @__PURE__ */
|
|
129
|
-
/* @__PURE__ */
|
|
130
|
-
] }) : i?.length === 0 ? /* @__PURE__ */
|
|
131
|
-
(
|
|
132
|
-
|
|
133
|
-
|
|
46
|
+
/* @__PURE__ */ e("tbody", { children: m ? /* @__PURE__ */ d("tr", { children: [
|
|
47
|
+
/* @__PURE__ */ e("td", { colSpan: 6, children: /* @__PURE__ */ e(C, { active: !0 }) }),
|
|
48
|
+
/* @__PURE__ */ e("td", { colSpan: 6 })
|
|
49
|
+
] }) : i?.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { className: "emptyTd", colSpan: 7, children: /* @__PURE__ */ e(_, { children: /* @__PURE__ */ e(D, { description: "No Data Found" }) }) }) }) : i?.length > 0 && i?.map((t) => /* @__PURE__ */ d("tr", { children: [
|
|
50
|
+
/* @__PURE__ */ e("td", { style: { position: "relative" }, children: /* @__PURE__ */ e(
|
|
51
|
+
p,
|
|
52
|
+
{
|
|
53
|
+
checked: n?.some(
|
|
54
|
+
(l) => l.id === t.id
|
|
55
|
+
),
|
|
56
|
+
onChange: () => y(t.id)
|
|
57
|
+
}
|
|
58
|
+
) }),
|
|
59
|
+
/* @__PURE__ */ e("td", { children: t?.order_product_type?.type }),
|
|
60
|
+
/* @__PURE__ */ e("td", { children: t?.code }),
|
|
61
|
+
/* @__PURE__ */ e("td", { children: t?.description }),
|
|
62
|
+
/* @__PURE__ */ e("td", { children: t?.description }),
|
|
63
|
+
/* @__PURE__ */ e("td", { children: t?.description }),
|
|
64
|
+
/* @__PURE__ */ e("td", { children: t?.sku })
|
|
65
|
+
] }, t.id)) })
|
|
66
|
+
] }) });
|
|
134
67
|
}
|
|
135
|
-
const Z = d.tr`
|
|
136
|
-
&& > td {
|
|
137
|
-
padding: 4px 0;
|
|
138
|
-
background: transparent;
|
|
139
|
-
border: none;
|
|
140
|
-
border-radius: 0;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/*
|
|
144
|
-
Divider separating the No Pallet ID group from the palletised groups. Applied
|
|
145
|
-
to an inner wrapper rather than the td, because the rule above resets cell
|
|
146
|
-
borders at && specificity and would win over a border on the td itself.
|
|
147
|
-
*/
|
|
148
|
-
&& .no-pallet-divider {
|
|
149
|
-
border-top: 1px solid #c9c6c1;
|
|
150
|
-
padding-top: 10px;
|
|
151
|
-
margin-top: 4px;
|
|
152
|
-
}
|
|
153
|
-
`, ee = d.div`
|
|
154
|
-
/*
|
|
155
|
-
Required. The library Checkbox renders its real <input> as position:absolute
|
|
156
|
-
with no offsets, so it needs a positioned ancestor here — otherwise its
|
|
157
|
-
containing block resolves outside this scrolling modal, the invisible input
|
|
158
|
-
stops scrolling with the visible box, and clicks land on another pallet's
|
|
159
|
-
checkbox. Same reason the product cells set position:relative inline.
|
|
160
|
-
*/
|
|
161
|
-
position: relative;
|
|
162
|
-
display: flex;
|
|
163
|
-
align-items: center;
|
|
164
|
-
gap: 8px;
|
|
165
|
-
width: 100%;
|
|
166
|
-
padding: 8px 12px;
|
|
167
|
-
border: 1px solid #e2e0db;
|
|
168
|
-
border-radius: 6px;
|
|
169
|
-
background: #f1f5f9;
|
|
170
|
-
font-family: 'Roboto', sans-serif;
|
|
171
|
-
font-size: 13px;
|
|
172
|
-
font-weight: 500;
|
|
173
|
-
color: #3a3630;
|
|
174
|
-
|
|
175
|
-
`, te = d.button`
|
|
176
|
-
display: flex;
|
|
177
|
-
align-items: center;
|
|
178
|
-
gap: 8px;
|
|
179
|
-
flex: 1;
|
|
180
|
-
padding: 0;
|
|
181
|
-
border: none;
|
|
182
|
-
background: transparent;
|
|
183
|
-
cursor: pointer;
|
|
184
|
-
text-align: left;
|
|
185
|
-
font: inherit;
|
|
186
|
-
color: inherit;
|
|
187
|
-
|
|
188
|
-
&:disabled {
|
|
189
|
-
cursor: default;
|
|
190
|
-
opacity: 1;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
.title {
|
|
194
|
-
display: flex;
|
|
195
|
-
align-items: center;
|
|
196
|
-
gap: 6px;
|
|
197
|
-
text-transform: uppercase;
|
|
198
|
-
letter-spacing: 0.3px;
|
|
199
|
-
|
|
200
|
-
strong {
|
|
201
|
-
font-weight: 700;
|
|
202
|
-
text-transform: none;
|
|
203
|
-
letter-spacing: 0;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
.count {
|
|
208
|
-
color: #6a7378;
|
|
209
|
-
font-weight: 400;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
.selected {
|
|
213
|
-
color: #0099ff;
|
|
214
|
-
font-weight: 600;
|
|
215
|
-
font-size: 12px;
|
|
216
|
-
}
|
|
217
|
-
`, le = d.span`
|
|
218
|
-
display: inline-flex;
|
|
219
|
-
align-items: center;
|
|
220
|
-
transition: transform 0.15s ease-in-out;
|
|
221
|
-
transform: rotate(${(i) => i.$isExpanded ? "0deg" : "-90deg"});
|
|
222
|
-
`, ie = d.span`
|
|
223
|
-
margin-left: auto;
|
|
224
|
-
display: inline-flex;
|
|
225
|
-
align-items: center;
|
|
226
|
-
justify-content: center;
|
|
227
|
-
width: 20px;
|
|
228
|
-
height: 20px;
|
|
229
|
-
border: 1px solid #cbd5e1;
|
|
230
|
-
border-radius: 4px;
|
|
231
|
-
background: #fff;
|
|
232
|
-
font-size: 14px;
|
|
233
|
-
line-height: 1;
|
|
234
|
-
color: #475569;
|
|
235
|
-
`;
|
|
236
68
|
export {
|
|
237
|
-
|
|
69
|
+
q as default
|
|
238
70
|
};
|
|
239
71
|
//# sourceMappingURL=SplitOrderTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitOrderTable.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/SplitOrderTable.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useReturnProductDetails } from '../../../store';\n\nimport { Empty, Skeleton } from 'antd';\nimport { Checkbox, toReverseDeliveryLabel } from '@bjsdistribution/dms-component-library';\nimport { useLoading } from '../../../../order-daily-overview/store/store';\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport {\n EmptyDataContainer,\n StyledTable,\n StyledTableWrapper,\n} from '../confirm-order/tables/ReminderStyles';\nimport { useClientPortal } from '../../../../store';\nimport styled from 'styled-components';\nimport ChevronDownIcon from '../../../../../assets/icons/ChevronDownIcon';\nimport {\n groupProductsByPallet,\n hasAnyPallet,\n PalletGroup,\n toggleGroupSelectionIds,\n} from '../../../return-client-products/product-table/palletGrouping';\n\nconst COLUMN_COUNT = 7;\n\nfunction SplitOrderTable() {\n /**\n * Reads the return-products atom rather than the shared `productDetails` one:\n * this modal splits a return order, and only that payload carries pallet data.\n */\n const [orderProductDetails] = useReturnProductDetails();\n const [loading] = useLoading();\n const [selectedSplits, setSelectedSplit] = useSelectedSplit();\n const [selectAll, setSelectAll] = useState(false);\n const [payload, setPayload] = useSplitOrderPayload();\n const [isClientPortal] = useClientPortal();\n\n const selectedIds = useMemo(\n () => (selectedSplits ?? []).map((order: any) => order?.id),\n [selectedSplits]\n );\n\n const palletGroups = useMemo(\n () => groupProductsByPallet(orderProductDetails),\n [orderProductDetails]\n );\n\n /** Return orders picked before pallet scanning keep the original flat list. */\n const isGrouped = useMemo(() => hasAnyPallet(orderProductDetails), [\n orderProductDetails,\n ]);\n\n /** Pallet groups start collapsed; the No Pallet ID group is always open. */\n const [expandedPallets, setExpandedPallets] = useState<\n Record<string, boolean>\n >({});\n\n const isGroupExpanded = (group: PalletGroup) =>\n group.isNoPallet || !!expandedPallets[group.key];\n\n const togglePallet = (key: string) =>\n setExpandedPallets(prev => ({ ...prev, [key]: !prev[key] }));\n\n const applySelection = (ids: any[]) => {\n setSelectedSplit(ids.map((id: any) => ({ id })));\n setSelectAll(ids.length === orderProductDetails?.length);\n };\n\n // Handle Select All\n const handleSelectAll = (e: any) => {\n const isChecked = e.target.checked;\n setSelectAll(isChecked);\n\n if (isChecked) {\n setSelectedSplit(\n orderProductDetails?.map((order: any) => ({ id: order.id }))\n );\n } else {\n setSelectedSplit([]);\n }\n };\n\n const handleSelectedSplitList = (id: any) => {\n setSelectedSplit((prevSelectedOrder: any) => {\n const isSelected = prevSelectedOrder?.some(\n (order: any) => order.id === id\n );\n\n const updatedSelection = isSelected\n ? prevSelectedOrder?.filter((order: any) => order.id !== id)\n : [...prevSelectedOrder, { id }];\n\n setSelectAll(updatedSelection?.length === orderProductDetails?.length);\n\n return updatedSelection;\n });\n };\n\n /** Selecting a whole pallet is a shortcut for ticking each of its rows. */\n const toggleGroupSelection = (group: PalletGroup, allSelected: boolean) => {\n const groupIds = group.items.map((item: any) => item?.id);\n applySelection(toggleGroupSelectionIds(selectedIds, groupIds, allSelected));\n };\n\n useEffect(() => {\n setPayload({\n ...payload,\n return_order: 1, // FOR SPLIT ORDER WE ARE ASKED TO SET THIS AS 1\n products: selectedSplits?.map((order: any) => order.id),\n force: true,\n });\n }, [selectedSplits, setPayload]);\n\n const renderProductRow = (product: any) => (\n <tr key={product.id}>\n <td style={{ position: 'relative' }}>\n <Checkbox\n checked={selectedSplits?.some(\n (selectedOrder: any) => selectedOrder.id === product.id\n )}\n onChange={() => handleSelectedSplitList(product.id)}\n />\n </td>\n <td>{isClientPortal\n ? product?.order_product_type?.type\n : toReverseDeliveryLabel(product?.order_product_type?.type)}</td>\n <td>{product?.code}</td>\n <td>{product?.description}</td>\n <td>{product?.description}</td>\n <td>{product?.description}</td>\n <td>{product?.sku}</td>\n </tr>\n );\n\n const renderPalletGroup = (group: PalletGroup) => {\n const expanded = isGroupExpanded(group);\n const selectedInGroup = group.items.filter((item: any) =>\n selectedIds.includes(item?.id)\n ).length;\n const allSelectedInGroup =\n group.items.length > 0 && selectedInGroup === group.items.length;\n const itemLabel = `${group.items.length} ${group.items.length === 1 ? 'item' : 'items'\n }`;\n\n return (\n <React.Fragment key={group.key}>\n <PalletHeaderRow>\n <td colSpan={COLUMN_COUNT}>\n <div className={group.isNoPallet ? 'no-pallet-divider' : undefined}>\n <PalletHeaderBar>\n <Checkbox\n checked={allSelectedInGroup}\n onChange={() => toggleGroupSelection(group, allSelectedInGroup)}\n aria-label={\n group.isNoPallet\n ? 'Select all items with no pallet ID'\n : `Select whole pallet ${group.label}`\n }\n />\n\n <PalletHeaderToggle\n type=\"button\"\n disabled={group.isNoPallet}\n onClick={\n group.isNoPallet ? undefined : () => togglePallet(group.key)\n }\n aria-expanded={group.isNoPallet ? undefined : expanded}\n >\n {!group.isNoPallet && (\n <Chevron $isExpanded={expanded}>\n <ChevronDownIcon />\n </Chevron>\n )}\n\n <span className=\"title\">\n {group.isNoPallet ? (\n <span>No Pallet ID</span>\n ) : (\n <>\n <span>Pallet ID:</span>\n <strong>{group.label}</strong>\n </>\n )}\n </span>\n\n <span className=\"count\">({itemLabel})</span>\n\n {selectedInGroup > 0 && (\n <span className=\"selected\">{selectedInGroup} selected</span>\n )}\n\n {!group.isNoPallet && (\n <ToggleGlyph aria-hidden=\"true\">\n {expanded ? '−' : '+'}\n </ToggleGlyph>\n )}\n </PalletHeaderToggle>\n </PalletHeaderBar>\n </div>\n </td>\n </PalletHeaderRow>\n\n {expanded && group.items.map(renderProductRow)}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <StyledTableWrapper id=\"tableScrolling\">\n <StyledTable>\n <thead>\n <tr>\n <th style={{ position: 'relative' }}>\n <Checkbox\n checked={selectAll}\n onChange={handleSelectAll}\n disabled={\n orderProductDetails?.length === 0 ||\n orderProductDetails?.length === null\n }\n />\n </th>\n <th>Type</th>\n <th>Code</th>\n <th>Scan</th>\n <th>Description</th>\n <th>Delivery Instructions</th>\n <th>Barcode</th>\n </tr>\n </thead>\n <tbody>\n {loading ? (\n <tr>\n <td colSpan={6}>\n <Skeleton active />\n </td>\n <td colSpan={6}></td>\n </tr>\n ) : orderProductDetails?.length === 0 ? (\n <tr>\n <td className=\"emptyTd\" colSpan={COLUMN_COUNT}>\n <EmptyDataContainer>\n <Empty description=\"No Data Found\" />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : isGrouped ? (\n palletGroups.map(renderPalletGroup)\n ) : (\n orderProductDetails?.length > 0 &&\n orderProductDetails?.map((product: any) =>\n renderProductRow(product)\n )\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </>\n );\n}\n\nconst PalletHeaderRow = styled.tr`\n && > td {\n padding: 4px 0;\n background: transparent;\n border: none;\n border-radius: 0;\n }\n\n /*\n Divider separating the No Pallet ID group from the palletised groups. Applied\n to an inner wrapper rather than the td, because the rule above resets cell\n borders at && specificity and would win over a border on the td itself.\n */\n && .no-pallet-divider {\n border-top: 1px solid #c9c6c1;\n padding-top: 10px;\n margin-top: 4px;\n }\n`;\n\nconst PalletHeaderBar = styled.div`\n /*\n Required. The library Checkbox renders its real <input> as position:absolute\n with no offsets, so it needs a positioned ancestor here — otherwise its\n containing block resolves outside this scrolling modal, the invisible input\n stops scrolling with the visible box, and clicks land on another pallet's\n checkbox. Same reason the product cells set position:relative inline.\n */\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 12px;\n border: 1px solid #e2e0db;\n border-radius: 6px;\n background: #f1f5f9;\n font-family: 'Roboto', sans-serif;\n font-size: 13px;\n font-weight: 500;\n color: #3a3630;\n\n`;\n\nconst PalletHeaderToggle = styled.button`\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n text-align: left;\n font: inherit;\n color: inherit;\n\n &:disabled {\n cursor: default;\n opacity: 1;\n }\n\n .title {\n display: flex;\n align-items: center;\n gap: 6px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n\n strong {\n font-weight: 700;\n text-transform: none;\n letter-spacing: 0;\n }\n }\n\n .count {\n color: #6a7378;\n font-weight: 400;\n }\n\n .selected {\n color: #0099ff;\n font-weight: 600;\n font-size: 12px;\n }\n`;\n\nconst Chevron = styled.span<{ $isExpanded: boolean }>`\n display: inline-flex;\n align-items: center;\n transition: transform 0.15s ease-in-out;\n transform: rotate(${props => (props.$isExpanded ? '0deg' : '-90deg')});\n`;\n\nconst ToggleGlyph = styled.span`\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background: #fff;\n font-size: 14px;\n line-height: 1;\n color: #475569;\n`;\n\nexport default SplitOrderTable;\n"],"names":["COLUMN_COUNT","SplitOrderTable","orderProductDetails","useReturnProductDetails","loading","useLoading","selectedSplits","setSelectedSplit","useSelectedSplit","selectAll","setSelectAll","useState","payload","setPayload","useSplitOrderPayload","isClientPortal","useClientPortal","selectedIds","useMemo","order","palletGroups","groupProductsByPallet","isGrouped","hasAnyPallet","expandedPallets","setExpandedPallets","isGroupExpanded","group","togglePallet","key","prev","applySelection","ids","id","handleSelectAll","isChecked","handleSelectedSplitList","prevSelectedOrder","updatedSelection","toggleGroupSelection","allSelected","groupIds","item","toggleGroupSelectionIds","useEffect","renderProductRow","product","jsxs","jsx","Checkbox","selectedOrder","toReverseDeliveryLabel","renderPalletGroup","expanded","selectedInGroup","allSelectedInGroup","itemLabel","React","PalletHeaderRow","PalletHeaderBar","PalletHeaderToggle","Chevron","ChevronDownIcon","Fragment","ToggleGlyph","StyledTableWrapper","StyledTable","Skeleton","EmptyDataContainer","Empty","styled","props"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SplitOrderTable.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/SplitOrderTable.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useProductDetails } from '../../../store';\n\nimport { Empty, Skeleton } from 'antd';\nimport { Checkbox } from '@bjsdistribution/dms-component-library';\nimport { useLoading } from '../../../../order-daily-overview/store/store';\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport {\n EmptyDataContainer,\n StyledTable,\n StyledTableWrapper,\n} from '../confirm-order/tables/ReminderStyles';\n\nfunction SplitOrderTable() {\n const [orderProductDetails] = useProductDetails();\n const [loading] = useLoading();\n const [selectedSplits, setSelectedSplit] = useSelectedSplit();\n const [selectAll, setSelectAll] = useState(false);\n const [payload, setPayload] = useSplitOrderPayload();\n\n // Handle Select All\n const handleSelectAll = (e: any) => {\n const isChecked = e.target.checked;\n setSelectAll(isChecked);\n\n if (isChecked) {\n setSelectedSplit(\n orderProductDetails?.map((order: any) => ({ id: order.id }))\n );\n } else {\n setSelectedSplit([]);\n }\n };\n\n const handleSelectedSplitList = (id: any) => {\n setSelectedSplit(prevSelectedOrder => {\n const isSelected = prevSelectedOrder?.some(order => order.id === id);\n\n const updatedSelection = isSelected\n ? prevSelectedOrder?.filter(order => order.id !== id)\n : [...prevSelectedOrder, { id }];\n\n setSelectAll(updatedSelection?.length === orderProductDetails?.length);\n\n return updatedSelection;\n });\n };\n\n useEffect(() => {\n setPayload({\n ...payload,\n return_order: 1, // FOR SPLIT ORDER WE ARE ASKED TO SET THIS AS 1\n products: selectedSplits?.map(order => order.id),\n force: true,\n });\n }, [selectedSplits, setPayload]);\n\n return (\n <StyledTableWrapper id=\"tableScrolling\">\n <StyledTable>\n <thead>\n <tr>\n <th style={{ position: 'relative' }}>\n <Checkbox\n checked={selectAll}\n onChange={handleSelectAll}\n disabled={\n orderProductDetails?.length === 0 ||\n orderProductDetails?.length === null\n }\n />\n </th>\n <th>Type</th>\n <th>Code</th>\n <th>Scan</th>\n <th>Description</th>\n <th>Delivery Instructions</th>\n <th>Barcode</th>\n </tr>\n </thead>\n <tbody>\n {loading ? (\n <tr>\n <td colSpan={6}>\n <Skeleton active />\n </td>\n <td colSpan={6}></td>\n </tr>\n ) : orderProductDetails?.length === 0 ? (\n <tr>\n <td className=\"emptyTd\" colSpan={7}>\n <EmptyDataContainer>\n <Empty description=\"No Data Found\" />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : (\n orderProductDetails?.length > 0 &&\n orderProductDetails?.map((order: any) => (\n <tr key={order.id}>\n <td style={{ position: 'relative' }}>\n <Checkbox\n checked={selectedSplits?.some(\n selectedOrder => selectedOrder.id === order.id\n )}\n onChange={() => handleSelectedSplitList(order.id)}\n />\n </td>\n <td>{order?.order_product_type?.type}</td>\n <td>{order?.code}</td>\n <td>{order?.description}</td>\n <td>{order?.description}</td>\n <td>{order?.description}</td>\n <td>{order?.sku}</td>\n </tr>\n ))\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n );\n}\n\nexport default SplitOrderTable;\n"],"names":["SplitOrderTable","orderProductDetails","useProductDetails","loading","useLoading","selectedSplits","setSelectedSplit","useSelectedSplit","selectAll","setSelectAll","useState","payload","setPayload","useSplitOrderPayload","handleSelectAll","e","isChecked","order","handleSelectedSplitList","id","prevSelectedOrder","updatedSelection","useEffect","jsx","StyledTableWrapper","StyledTable","Checkbox","jsxs","Skeleton","EmptyDataContainer","Empty","selectedOrder"],"mappings":"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"}
|
|
@@ -1,67 +1,54 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useEffect as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { useCurrentAction as
|
|
7
|
-
import { useApiHook as
|
|
8
|
-
import { useSplitOrderPayload as
|
|
9
|
-
import { notification as
|
|
10
|
-
import { useNavigate as
|
|
11
|
-
function
|
|
12
|
-
const [, o] =
|
|
1
|
+
import { jsx as t, Fragment as x } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as b } from "react";
|
|
3
|
+
import g from "../../../../../common/modals/order-action-modal/OrderActionModal.js";
|
|
4
|
+
import O from "styled-components";
|
|
5
|
+
import A from "./SplitOrderTable.js";
|
|
6
|
+
import { useCurrentAction as v, useOrderDetails as w, useOrderId as y } from "../../../store.js";
|
|
7
|
+
import { useApiHook as C } from "@bjsdistribution/dms-component-library";
|
|
8
|
+
import { useSplitOrderPayload as D, useSelectedSplit as P } from "../../store.js";
|
|
9
|
+
import { notification as I } from "antd";
|
|
10
|
+
import { useNavigate as T } from "react-router-dom";
|
|
11
|
+
function z() {
|
|
12
|
+
const [, o] = v(), [c] = w(), r = c?.order_recipient, a = `${r?.recipient_name}, ${r?.postcode}`, [i, p] = y(), [m] = D(), [n, s] = P(), u = () => {
|
|
13
13
|
o(void 0);
|
|
14
|
-
},
|
|
15
|
-
data:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
endpoint: `/v1/return/split/${r}`,
|
|
14
|
+
}, f = T(), {
|
|
15
|
+
data: e,
|
|
16
|
+
setShouldPerformAction: S
|
|
17
|
+
} = C({
|
|
18
|
+
endpoint: `/v1/return/split/${i}`,
|
|
20
19
|
method: "POST",
|
|
21
|
-
body:
|
|
20
|
+
body: m,
|
|
22
21
|
performAction: !1
|
|
23
|
-
}),
|
|
24
|
-
|
|
25
|
-
},
|
|
26
|
-
return
|
|
27
|
-
if (
|
|
28
|
-
const
|
|
29
|
-
console.log(
|
|
22
|
+
}), h = () => {
|
|
23
|
+
i && S(!0);
|
|
24
|
+
}, d = e?.data?.new_order;
|
|
25
|
+
return b(() => {
|
|
26
|
+
if (e?.code === 200) {
|
|
27
|
+
const l = location.pathname.split("/").slice(0, -1).join("/");
|
|
28
|
+
console.log(l, "currentPath"), f(`${l}/${d}`), p(d), s([]), I.success({
|
|
30
29
|
message: "Success",
|
|
31
30
|
description: (
|
|
32
31
|
//@ts-ignore
|
|
33
|
-
|
|
32
|
+
e?.message || "Sucess"
|
|
34
33
|
)
|
|
35
34
|
}), o(void 0), s([]);
|
|
36
35
|
}
|
|
37
|
-
}, [
|
|
38
|
-
|
|
36
|
+
}, [e]), /* @__PURE__ */ t(
|
|
37
|
+
g,
|
|
39
38
|
{
|
|
40
39
|
headerTitle: "Split Order",
|
|
41
40
|
showAdditionalInfo: !0,
|
|
42
|
-
infoText:
|
|
43
|
-
onCloseHeader:
|
|
44
|
-
onSubmit:
|
|
45
|
-
submitBtnTitle:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
footerActions: /* @__PURE__ */ e(x, {}),
|
|
50
|
-
isSubmitDisabled: d ? !0 : n?.length > 0 ? !n : !0,
|
|
51
|
-
children: /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(w, {}) })
|
|
41
|
+
infoText: a,
|
|
42
|
+
onCloseHeader: u,
|
|
43
|
+
onSubmit: h,
|
|
44
|
+
submitBtnTitle: "Split Order",
|
|
45
|
+
footerActions: /* @__PURE__ */ t(x, {}),
|
|
46
|
+
isSubmitDisabled: n?.length > 0 ? !n : !0,
|
|
47
|
+
children: /* @__PURE__ */ t($, { children: /* @__PURE__ */ t(A, {}) })
|
|
52
48
|
}
|
|
53
49
|
);
|
|
54
50
|
}
|
|
55
|
-
const
|
|
56
|
-
display: inline-flex;
|
|
57
|
-
align-items: center;
|
|
58
|
-
gap: 8px;
|
|
59
|
-
|
|
60
|
-
/* The button label is light, so the default dark spinner would be invisible. */
|
|
61
|
-
.ant-spin-dot-item {
|
|
62
|
-
background-color: currentColor;
|
|
63
|
-
}
|
|
64
|
-
`, H = c.div`
|
|
51
|
+
const $ = O.div`
|
|
65
52
|
/* display: flex; */
|
|
66
53
|
padding: 15px 12px;
|
|
67
54
|
flex: 1 0 0;
|
|
@@ -77,6 +64,6 @@ const _ = c.span`
|
|
|
77
64
|
scrollbar-width: thin;
|
|
78
65
|
`;
|
|
79
66
|
export {
|
|
80
|
-
|
|
67
|
+
z as default
|
|
81
68
|
};
|
|
82
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport styled from 'styled-components';\nimport SplitOrderTable from './SplitOrderTable';\nimport { useCurrentAction, useOrderDetails, useOrderId } from '../../../store';\nimport { useApiHook } from '@bjsdistribution/dms-component-library';\nimport { ApiResponse } from '../../../types';\n\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport { notification
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/order-view/order-actions/actions/split-order/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport OrderActionModal from '../../../../../common/modals/order-action-modal/OrderActionModal';\nimport styled from 'styled-components';\nimport SplitOrderTable from './SplitOrderTable';\nimport { useCurrentAction, useOrderDetails, useOrderId } from '../../../store';\nimport { useApiHook } from '@bjsdistribution/dms-component-library';\nimport { ApiResponse } from '../../../types';\n\nimport { useSelectedSplit, useSplitOrderPayload } from '../../store';\nimport { notification } from 'antd';\nimport { useNavigate } from 'react-router-dom';\n\nfunction SplitOrder() {\n const [, setCurrentAction] = useCurrentAction();\n const [orderDetails] = useOrderDetails();\n const orderRecipient = orderDetails?.order_recipient;\n const infoText = `${orderRecipient?.recipient_name}, ${orderRecipient?.postcode}`;\n const [orderId, setOrderID] = useOrderId();\n const [payload] = useSplitOrderPayload();\n const [seledtedSplitOrder, setSelectedSplit] = useSelectedSplit();\n\n const onClose = () => {\n setCurrentAction(undefined);\n };\n const navigate = useNavigate();\n const {\n data: response,\n setShouldPerformAction: setPerformAction,\n } = useApiHook<{\n data: ApiResponse[];\n }>({\n endpoint: `/v1/return/split/${orderId}`,\n method: 'POST',\n body: payload,\n performAction: false,\n });\n\n const onSubmitSplitOrder = () => {\n if (orderId) {\n setPerformAction(true);\n }\n };\n //@ts-ignore\n const newId = response?.data?.new_order;\n useEffect(() => {\n //@ts-ignore\n if (response?.code === 200) {\n const currentPath = location.pathname\n .split('/')\n .slice(0, -1)\n .join('/');\n console.log(currentPath, 'currentPath');\n navigate(`${currentPath}/${newId}`);\n setOrderID(newId);\n setSelectedSplit([]);\n notification.success({\n message: 'Success',\n description:\n //@ts-ignore\n response?.message || 'Sucess',\n });\n setCurrentAction(undefined);\n setSelectedSplit([]);\n }\n }, [response]);\n\n const isSubmitDisabled = () => {\n if (seledtedSplitOrder?.length > 0) {\n return !seledtedSplitOrder;\n }\n return true;\n };\n\n return (\n <OrderActionModal\n headerTitle=\"Split Order\"\n showAdditionalInfo\n infoText={infoText}\n onCloseHeader={onClose}\n onSubmit={onSubmitSplitOrder}\n submitBtnTitle=\"Split Order\"\n footerActions={\n <>\n {/* <CheckContainer>\n <label className=\"check\">\n <input type=\"checkbox\" />\n Force Split\n </label>\n </CheckContainer> */}\n </>\n }\n isSubmitDisabled={isSubmitDisabled()}\n >\n <ContentContainer>\n <SplitOrderTable />\n </ContentContainer>\n </OrderActionModal>\n );\n}\n\nconst ContentContainer = styled.div`\n /* display: flex; */\n padding: 15px 12px;\n flex: 1 0 0;\n border-radius: 15px;\n background: white;\n display: flex;\n flex-direction: column;\n gap: 15px;\n overflow: auto;\n min-height: 500px;\n overflow-x: hidden;\n max-height: 500px;\n scrollbar-width: thin;\n`;\n\nexport default SplitOrder;\n"],"names":["SplitOrder","setCurrentAction","useCurrentAction","orderDetails","useOrderDetails","orderRecipient","infoText","orderId","setOrderID","useOrderId","payload","useSplitOrderPayload","seledtedSplitOrder","setSelectedSplit","useSelectedSplit","onClose","navigate","useNavigate","response","setPerformAction","useApiHook","onSubmitSplitOrder","newId","useEffect","currentPath","notification","jsx","OrderActionModal","Fragment","ContentContainer","SplitOrderTable","styled"],"mappings":";;;;;;;;;;AAYA,SAASA,IAAa;AACpB,QAAM,CAAA,EAAGC,CAAgB,IAAIC,EAAA,GACvB,CAACC,CAAY,IAAIC,EAAA,GACjBC,IAAiBF,GAAc,iBAC/BG,IAAW,GAAGD,GAAgB,cAAc,KAAKA,GAAgB,QAAQ,IACzE,CAACE,GAASC,CAAU,IAAIC,EAAA,GACxB,CAACC,CAAO,IAAIC,EAAA,GACZ,CAACC,GAAoBC,CAAgB,IAAIC,EAAA,GAEzCC,IAAU,MAAM;AACpB,IAAAd,EAAiB,MAAS;AAAA,EAC5B,GACMe,IAAWC,EAAA,GACX;AAAA,IACJ,MAAMC;AAAA,IACN,wBAAwBC;AAAA,EAAA,IACtBC,EAED;AAAA,IACD,UAAU,oBAAoBb,CAAO;AAAA,IACrC,QAAQ;AAAA,IACR,MAAMG;AAAA,IACN,eAAe;AAAA,EAAA,CAChB,GAEKW,IAAqB,MAAM;AAC/B,IAAId,KACFY,EAAiB,EAAI;AAAA,EAEzB,GAEMG,IAAQJ,GAAU,MAAM;AAC9B,SAAAK,EAAU,MAAM;AAEd,QAAIL,GAAU,SAAS,KAAK;AAC1B,YAAMM,IAAc,SAAS,SAC1B,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,KAAK,GAAG;AACX,cAAQ,IAAIA,GAAa,aAAa,GACtCR,EAAS,GAAGQ,CAAW,IAAIF,CAAK,EAAE,GAClCd,EAAWc,CAAK,GAChBT,EAAiB,CAAA,CAAE,GACnBY,EAAa,QAAQ;AAAA,QACnB,SAAS;AAAA,QACT;AAAA;AAAA,UAEEP,GAAU,WAAW;AAAA;AAAA,MAAA,CACxB,GACDjB,EAAiB,MAAS,GAC1BY,EAAiB,CAAA,CAAE;AAAA,IACrB;AAAA,EACF,GAAG,CAACK,CAAQ,CAAC,GAUX,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,oBAAkB;AAAA,MAClB,UAAArB;AAAA,MACA,eAAeS;AAAA,MACf,UAAUM;AAAA,MACV,gBAAe;AAAA,MACf,eACE,gBAAAK,EAAAE,GAAA,EAOA;AAAA,MAEF,kBAxBEhB,GAAoB,SAAS,IACxB,CAACA,IAEH;AAAA,MAuBL,UAAA,gBAAAc,EAACG,GAAA,EACC,UAAA,gBAAAH,EAACI,GAAA,CAAA,CAAgB,EAAA,CACnB;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAMD,IAAmBE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|