@shipengine/elements 2.25.0 → 2.26.0
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/cjs/components/display-term/display-term.cjs +13 -4
- package/dist/cjs/components/grid-controller/error-banner/error-banner.cjs +74 -0
- package/dist/cjs/components/{error-display/error-display.styles.cjs → grid-controller/error-banner/error-banner.styles.cjs} +8 -4
- package/dist/cjs/components/grid-controller/error-banner/index.cjs +7 -0
- package/dist/cjs/components/grid-controller/grid-controller.cjs +49 -3
- package/dist/cjs/components/grid-controller/grid-controller.styles.cjs +11 -1
- package/dist/cjs/components/history/history-card/history-card.cjs +1 -1
- package/dist/cjs/components/history/history-card-extension/history-card-extension.cjs +0 -1
- package/dist/cjs/components/ups-terms-disclosure/index.cjs +7 -0
- package/dist/cjs/components/ups-terms-disclosure/ups-terms-disclosure.cjs +35 -0
- package/dist/cjs/elements/labels-grid/hooks/use-labels-grid.cjs +45 -5
- package/dist/cjs/elements/labels-grid/labels-grid.cjs +24 -6
- package/dist/cjs/elements/shipments-grid/hooks/use-shipments-grid.cjs +41 -3
- package/dist/cjs/elements/shipments-grid/shipments-grid.cjs +18 -3
- package/dist/cjs/features/manage-carriers/hooks/use-list-funding-source-carriers.cjs +9 -10
- package/dist/cjs/features/manage-carriers/manage-carriers-row/manage-carriers-row.cjs +6 -1
- package/dist/cjs/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.cjs +3 -3
- package/dist/cjs/locales/en/grid-controller.json.cjs +13 -0
- package/dist/cjs/locales/en/index.cjs +2 -1
- package/dist/cjs/locales/en/onboarding.json.cjs +5 -0
- package/dist/cjs/package.json.cjs +1 -1
- package/dist/cjs/utilities/files.cjs +35 -0
- package/dist/cjs/utilities/formatString.cjs +9 -0
- package/dist/cjs/utilities/index.cjs +2 -0
- package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.cjs +15 -11
- package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.cjs +0 -3
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.cjs +23 -10
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.cjs +10 -4
- package/dist/esm/components/display-term/display-term.js +14 -5
- package/dist/esm/components/grid-controller/error-banner/error-banner.js +72 -0
- package/dist/esm/components/{error-display/error-display.styles.js → grid-controller/error-banner/error-banner.styles.js} +8 -4
- package/dist/esm/components/grid-controller/error-banner/index.js +1 -0
- package/dist/esm/components/grid-controller/grid-controller.js +51 -5
- package/dist/esm/components/grid-controller/grid-controller.styles.js +11 -1
- package/dist/esm/components/history/history-card/history-card.js +1 -1
- package/dist/esm/components/history/history-card-extension/history-card-extension.js +0 -1
- package/dist/esm/components/ups-terms-disclosure/index.js +1 -0
- package/dist/esm/components/ups-terms-disclosure/ups-terms-disclosure.js +33 -0
- package/dist/esm/elements/labels-grid/hooks/use-labels-grid.js +46 -6
- package/dist/esm/elements/labels-grid/labels-grid.js +24 -6
- package/dist/esm/elements/shipments-grid/hooks/use-shipments-grid.js +42 -4
- package/dist/esm/elements/shipments-grid/shipments-grid.js +18 -3
- package/dist/esm/features/manage-carriers/hooks/use-list-funding-source-carriers.js +9 -10
- package/dist/esm/features/manage-carriers/manage-carriers-row/manage-carriers-row.js +7 -2
- package/dist/esm/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.js +3 -3
- package/dist/esm/locales/en/grid-controller.json.js +11 -0
- package/dist/esm/locales/en/index.js +2 -1
- package/dist/esm/locales/en/onboarding.json.js +5 -0
- package/dist/esm/package.json.js +1 -1
- package/dist/esm/utilities/files.js +32 -0
- package/dist/esm/utilities/formatString.js +9 -1
- package/dist/esm/utilities/index.js +1 -0
- package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js +15 -11
- package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.js +0 -3
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.js +24 -11
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.js +10 -4
- package/dist/types/components/display-term/display-term.d.ts +3 -3
- package/dist/types/components/display-term/display-term.d.ts.map +1 -1
- package/dist/types/components/grid-controller/error-banner/error-banner.d.ts +10 -0
- package/dist/types/components/grid-controller/error-banner/error-banner.d.ts.map +1 -0
- package/dist/types/components/grid-controller/error-banner/error-banner.styles.d.ts +24 -0
- package/dist/types/components/grid-controller/error-banner/error-banner.styles.d.ts.map +1 -0
- package/dist/types/components/grid-controller/error-banner/index.d.ts +2 -0
- package/dist/types/components/grid-controller/error-banner/index.d.ts.map +1 -0
- package/dist/types/components/grid-controller/grid-controller.d.ts +8 -1
- package/dist/types/components/grid-controller/grid-controller.d.ts.map +1 -1
- package/dist/types/components/grid-controller/grid-controller.styles.d.ts +10 -0
- package/dist/types/components/grid-controller/grid-controller.styles.d.ts.map +1 -1
- package/dist/types/components/history/history-card-extension/history-card-extension.d.ts.map +1 -1
- package/dist/types/components/ups-terms-disclosure/index.d.ts +2 -0
- package/dist/types/components/ups-terms-disclosure/index.d.ts.map +1 -0
- package/dist/types/components/ups-terms-disclosure/ups-terms-disclosure.d.ts +2 -0
- package/dist/types/components/ups-terms-disclosure/ups-terms-disclosure.d.ts.map +1 -0
- package/dist/types/elements/labels-grid/hooks/use-labels-grid.d.ts +7 -2
- package/dist/types/elements/labels-grid/hooks/use-labels-grid.d.ts.map +1 -1
- package/dist/types/elements/labels-grid/labels-grid.d.ts +18 -2
- package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts +12 -0
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts.map +1 -1
- package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts +12 -0
- package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts +12 -0
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +12 -0
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts.map +1 -1
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts +12 -0
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/purchase-label.d.ts +12 -0
- package/dist/types/elements/purchase-label/purchase-label.d.ts.map +1 -1
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts +12 -0
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts +12 -0
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/hooks/use-shipments-grid.d.ts +6 -1
- package/dist/types/elements/shipments-grid/hooks/use-shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts +21 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/theme-creator/theme-creator.d.ts +12 -0
- package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts +12 -0
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts.map +1 -1
- package/dist/types/elements/unit-settings/unit-settings-element.d.ts +12 -0
- package/dist/types/elements/unit-settings/unit-settings-element.d.ts.map +1 -1
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts +12 -0
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
- package/dist/types/elements/void-label/void-label.d.ts +12 -0
- package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
- package/dist/types/features/manage-carriers/hooks/use-list-funding-source-carriers.d.ts.map +1 -1
- package/dist/types/features/manage-carriers/manage-carriers-row/manage-carriers-row.d.ts.map +1 -1
- package/dist/types/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.d.ts +3 -2
- package/dist/types/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.d.ts.map +1 -1
- package/dist/types/locales/en/index.d.ts +12 -0
- package/dist/types/locales/en/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +5 -4
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/terms-with-disclosure.d.ts +7 -0
- package/dist/types/types/terms-with-disclosure.d.ts.map +1 -0
- package/dist/types/utilities/feature-flags/types.d.ts +4 -0
- package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
- package/dist/types/utilities/files.d.ts +12 -0
- package/dist/types/utilities/files.d.ts.map +1 -0
- package/dist/types/utilities/formatString.d.ts +8 -0
- package/dist/types/utilities/formatString.d.ts.map +1 -1
- package/dist/types/utilities/index.d.ts +1 -0
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/dist/types/workflows/account-settings/account-settings.d.ts +12 -0
- package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts +12 -0
- package/dist/types/workflows/carrier-services/carrier-services.d.ts.map +1 -1
- package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts +12 -0
- package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts.map +1 -1
- package/dist/types/workflows/label-workflow/label-workflow.d.ts +12 -0
- package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts +2 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.d.ts +0 -3
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.d.ts +8 -2
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/onboarding.d.ts +12 -0
- package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/components/error-display/error-display.cjs +0 -34
- package/dist/cjs/components/error-display/index.cjs +0 -7
- package/dist/esm/components/error-display/error-display.js +0 -32
- package/dist/esm/components/error-display/index.js +0 -1
- package/dist/types/components/error-display/error-display.d.ts +0 -7
- package/dist/types/components/error-display/error-display.d.ts.map +0 -1
- package/dist/types/components/error-display/error-display.styles.d.ts +0 -20
- package/dist/types/components/error-display/error-display.styles.d.ts.map +0 -1
- package/dist/types/components/error-display/index.d.ts +0 -2
- package/dist/types/components/error-display/index.d.ts.map +0 -1
|
@@ -8,14 +8,23 @@ var reactI18next = require('react-i18next');
|
|
|
8
8
|
var displayTerm_styles = require('./display-term.styles.cjs');
|
|
9
9
|
|
|
10
10
|
const DisplayTerm = ({
|
|
11
|
-
|
|
11
|
+
terms
|
|
12
12
|
}) => {
|
|
13
13
|
const {
|
|
14
14
|
t
|
|
15
15
|
} = reactI18next.useTranslation();
|
|
16
|
-
|
|
16
|
+
const {
|
|
17
|
+
links,
|
|
18
|
+
disclosure
|
|
19
|
+
} = terms;
|
|
20
|
+
return jsxRuntime.jsxs("ul", {
|
|
17
21
|
css: displayTerm_styles.styles.container,
|
|
18
|
-
children:
|
|
22
|
+
children: [disclosure && jsxRuntime.jsx("li", {
|
|
23
|
+
css: {
|
|
24
|
+
listStyle: "none"
|
|
25
|
+
},
|
|
26
|
+
children: disclosure
|
|
27
|
+
}), links.map(({
|
|
19
28
|
link,
|
|
20
29
|
title
|
|
21
30
|
}) => jsxRuntime.jsx("li", {
|
|
@@ -33,7 +42,7 @@ const DisplayTerm = ({
|
|
|
33
42
|
size: giger.IconSize.SIZE_SMALL
|
|
34
43
|
})]
|
|
35
44
|
})
|
|
36
|
-
}, title))
|
|
45
|
+
}, title))]
|
|
37
46
|
});
|
|
38
47
|
};
|
|
39
48
|
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
|
+
var giger = require('@shipengine/giger');
|
|
5
|
+
var gigerTheme = require('@shipengine/giger-theme');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var reload = require('../../../assets/reload.svg.cjs');
|
|
8
|
+
var errorBanner_styles = require('./error-banner.styles.cjs');
|
|
9
|
+
var label = require('../../history/history-card/label/label.cjs');
|
|
10
|
+
var linkAction = require('../../link-action/link-action.cjs');
|
|
11
|
+
|
|
12
|
+
// This component is a temporary solution to handle error display, design is working to improve more error patterns to display
|
|
13
|
+
const ErrorBanner = ({
|
|
14
|
+
labelText,
|
|
15
|
+
linkTitle,
|
|
16
|
+
onClick,
|
|
17
|
+
showReloadIcon,
|
|
18
|
+
duration,
|
|
19
|
+
onDurationEnd
|
|
20
|
+
}) => {
|
|
21
|
+
const [isVisible, setIsVisible] = React.useState(true);
|
|
22
|
+
const timerRef = React.useRef(null);
|
|
23
|
+
// Set up the timer when the component mounts or duration changes
|
|
24
|
+
React.useEffect(() => {
|
|
25
|
+
if (duration && duration > 0) {
|
|
26
|
+
// Clear any existing timer
|
|
27
|
+
if (timerRef.current) clearTimeout(timerRef.current);
|
|
28
|
+
// Set up a new timer to hide the component after the specified duration
|
|
29
|
+
timerRef.current = setTimeout(() => {
|
|
30
|
+
setIsVisible(false);
|
|
31
|
+
// Call the onDurationEnd callback if provided
|
|
32
|
+
if (onDurationEnd) {
|
|
33
|
+
onDurationEnd();
|
|
34
|
+
}
|
|
35
|
+
}, duration);
|
|
36
|
+
}
|
|
37
|
+
// Clean up the timer when the component unmounts or duration changes
|
|
38
|
+
return () => {
|
|
39
|
+
if (timerRef.current) clearTimeout(timerRef.current);
|
|
40
|
+
};
|
|
41
|
+
}, [duration, onDurationEnd]);
|
|
42
|
+
if (!isVisible) return null;
|
|
43
|
+
return jsxRuntime.jsxs("div", {
|
|
44
|
+
css: errorBanner_styles.styles.errorContainer,
|
|
45
|
+
children: [showReloadIcon && jsxRuntime.jsx(reload, {
|
|
46
|
+
height: 24,
|
|
47
|
+
width: 24
|
|
48
|
+
}), linkTitle && !labelText && !onClick && jsxRuntime.jsxs("div", {
|
|
49
|
+
css: errorBanner_styles.styles.errorContent,
|
|
50
|
+
children: [jsxRuntime.jsx(giger.Icon, {
|
|
51
|
+
name: gigerTheme.IconNames.ALERT
|
|
52
|
+
}), jsxRuntime.jsx(giger.Typography, {
|
|
53
|
+
component: "p",
|
|
54
|
+
variant: "body2",
|
|
55
|
+
children: linkTitle
|
|
56
|
+
})]
|
|
57
|
+
}), linkTitle && labelText && onClick && jsxRuntime.jsx(label.Label, {
|
|
58
|
+
spacing: 0,
|
|
59
|
+
text: labelText !== null && labelText !== void 0 ? labelText : "",
|
|
60
|
+
textProps: {
|
|
61
|
+
css: errorBanner_styles.styles.errorHeading
|
|
62
|
+
},
|
|
63
|
+
variant: "subtitle",
|
|
64
|
+
children: jsxRuntime.jsx(linkAction.LinkAction, {
|
|
65
|
+
css: errorBanner_styles.styles.errorCTA,
|
|
66
|
+
isBold: false,
|
|
67
|
+
onClick: onClick,
|
|
68
|
+
title: linkTitle
|
|
69
|
+
})
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
exports.ErrorBanner = ErrorBanner;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var styles$1 = require('
|
|
3
|
+
var styles$1 = require('../../../utilities/styles.cjs');
|
|
4
4
|
|
|
5
5
|
const styles = styles$1.createStyles({
|
|
6
6
|
errorContainer: theme => ({
|
|
7
7
|
alignItems: "center",
|
|
8
|
-
backgroundColor: styles$1.scopeTheme(theme).palette.
|
|
8
|
+
backgroundColor: styles$1.scopeTheme(theme).palette.error.light,
|
|
9
9
|
display: "flex",
|
|
10
10
|
flexDirection: "column",
|
|
11
|
-
paddingBottom: styles$1.scopeTheme(theme).spacing(2),
|
|
12
|
-
paddingTop: styles$1.scopeTheme(theme).spacing(2),
|
|
13
11
|
rowGap: styles$1.scopeTheme(theme).spacing(1)
|
|
14
12
|
}),
|
|
15
13
|
errorCTA: theme => ({
|
|
@@ -19,6 +17,12 @@ const styles = styles$1.createStyles({
|
|
|
19
17
|
}),
|
|
20
18
|
errorHeading: theme => ({
|
|
21
19
|
fontSize: styles$1.scopeTheme(theme).typography.fontSize.S
|
|
20
|
+
}),
|
|
21
|
+
errorContent: theme => ({
|
|
22
|
+
display: "flex",
|
|
23
|
+
alignItems: "center",
|
|
24
|
+
gap: styles$1.scopeTheme(theme).spacing(),
|
|
25
|
+
color: styles$1.scopeTheme(theme).palette.error.main
|
|
22
26
|
})
|
|
23
27
|
});
|
|
24
28
|
|
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
4
|
var giger = require('@shipengine/giger');
|
|
5
|
+
var gigerTheme = require('@shipengine/giger-theme');
|
|
5
6
|
var React = require('react');
|
|
7
|
+
var reactI18next = require('react-i18next');
|
|
6
8
|
var gridController_styles = require('./grid-controller.styles.cjs');
|
|
9
|
+
var errorBanner = require('./error-banner/error-banner.cjs');
|
|
7
10
|
|
|
11
|
+
const LIMIT_GRID_ITEMS_EXPORT = 10000;
|
|
12
|
+
const ERROR_DISPLAY_DURATION = 7000;
|
|
8
13
|
/**
|
|
9
14
|
* @internal
|
|
10
15
|
*
|
|
@@ -22,10 +27,23 @@ const GridController = ({
|
|
|
22
27
|
isLoading = false,
|
|
23
28
|
useCheckboxes = false,
|
|
24
29
|
filters,
|
|
25
|
-
emptyContent
|
|
30
|
+
emptyContent,
|
|
31
|
+
showExportCSV = false,
|
|
32
|
+
onClickExportCSV,
|
|
33
|
+
totalAmountGridItems,
|
|
34
|
+
hasTrackingStatusFilter,
|
|
35
|
+
hasExportCSVError = false,
|
|
36
|
+
isExportCSVLoading = false,
|
|
37
|
+
onExportErrorDurationEnd
|
|
26
38
|
}) => {
|
|
27
39
|
var _a, _b, _c;
|
|
28
40
|
const [isChecked, setIsChecked] = React.useState((_a = data === null || data === void 0 ? void 0 : data.map(() => false)) !== null && _a !== void 0 ? _a : []);
|
|
41
|
+
const {
|
|
42
|
+
t
|
|
43
|
+
} = reactI18next.useTranslation(["common", "grid-controller"]);
|
|
44
|
+
const dataAvailable = !!data.length;
|
|
45
|
+
const isItemsOverExportLimit = !!((totalAmountGridItems !== null && totalAmountGridItems !== void 0 ? totalAmountGridItems : 0) > LIMIT_GRID_ITEMS_EXPORT);
|
|
46
|
+
const isDisableExportButton = isItemsOverExportLimit || !dataAvailable;
|
|
29
47
|
const columnHeaderContents = React.useMemo(() => columns.map(column => column.headerContent), [columns]);
|
|
30
48
|
const loadingRows = React.useMemo(() => {
|
|
31
49
|
const items = [];
|
|
@@ -65,8 +83,36 @@ const GridController = ({
|
|
|
65
83
|
css: gridController_styles.styles.wrapper,
|
|
66
84
|
children: [filters && jsxRuntime.jsx("div", {
|
|
67
85
|
css: gridController_styles.styles.filters,
|
|
68
|
-
children:
|
|
69
|
-
|
|
86
|
+
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
87
|
+
children: [filters, showExportCSV && !hasTrackingStatusFilter && jsxRuntime.jsxs(giger.Button, {
|
|
88
|
+
bold: false,
|
|
89
|
+
css: gridController_styles.styles.button,
|
|
90
|
+
disabled: isItemsOverExportLimit || !dataAvailable || hasExportCSVError,
|
|
91
|
+
isLoading: isExportCSVLoading && !isDisableExportButton,
|
|
92
|
+
onClick: onClickExportCSV,
|
|
93
|
+
type: "button",
|
|
94
|
+
variant: giger.ButtonVariant.FILLED,
|
|
95
|
+
children: [isItemsOverExportLimit ? jsxRuntime.jsx(giger.IconTooltip, {
|
|
96
|
+
css: gridController_styles.styles.iconTooltip,
|
|
97
|
+
icon: gigerTheme.IconNames.DOWNLOAD,
|
|
98
|
+
size: giger.IconSize.SIZE_MEDIUM,
|
|
99
|
+
children: jsxRuntime.jsx("div", {
|
|
100
|
+
children: t("grid-controller:showExportCSV.limit-error", {
|
|
101
|
+
LIMIT_GRID_ITEMS_EXPORT: new Intl.NumberFormat().format(LIMIT_GRID_ITEMS_EXPORT)
|
|
102
|
+
})
|
|
103
|
+
})
|
|
104
|
+
}) : jsxRuntime.jsx(giger.Icon, {
|
|
105
|
+
css: gridController_styles.styles.iconTooltip,
|
|
106
|
+
name: gigerTheme.IconNames.UPLOAD,
|
|
107
|
+
size: giger.IconSize.SIZE_MEDIUM
|
|
108
|
+
}), t("grid-controller:showExportCSV.button")]
|
|
109
|
+
})]
|
|
110
|
+
})
|
|
111
|
+
}), hasExportCSVError && !isDisableExportButton && jsxRuntime.jsx(errorBanner.ErrorBanner, {
|
|
112
|
+
duration: ERROR_DISPLAY_DURATION,
|
|
113
|
+
linkTitle: t("grid-controller:showExportCSV.generic-error-message"),
|
|
114
|
+
onDurationEnd: onExportErrorDurationEnd
|
|
115
|
+
}), !dataAvailable && emptyContent ? emptyContent : jsxRuntime.jsx(giger.Table, {
|
|
70
116
|
"data-testid": "grid",
|
|
71
117
|
footer: footerContent && !isLoading && jsxRuntime.jsx(giger.TableFooter, {
|
|
72
118
|
css: gridController_styles.styles.tableFooter,
|
|
@@ -7,10 +7,17 @@ const styles = styles$1.createStyles({
|
|
|
7
7
|
width: styles$1.scopeTheme(theme).spacing(6)
|
|
8
8
|
}),
|
|
9
9
|
filters: theme => ({
|
|
10
|
+
display: "flex",
|
|
10
11
|
backgroundColor: styles$1.scopeTheme(theme).palette.white,
|
|
11
12
|
borderBottom: `1px solid ${styles$1.scopeTheme(theme).palette.gray[200]}`,
|
|
12
13
|
padding: styles$1.scopeTheme(theme).spacing()
|
|
13
14
|
}),
|
|
15
|
+
button: () => ({
|
|
16
|
+
marginLeft: "auto"
|
|
17
|
+
}),
|
|
18
|
+
iconTooltip: theme => ({
|
|
19
|
+
marginRight: styles$1.scopeTheme(theme).spacing()
|
|
20
|
+
}),
|
|
14
21
|
skeletonTableRow: () => ({
|
|
15
22
|
height: "68px"
|
|
16
23
|
}),
|
|
@@ -30,7 +37,10 @@ const styles = styles$1.createStyles({
|
|
|
30
37
|
wrapper: theme => Object.assign({
|
|
31
38
|
height: "auto",
|
|
32
39
|
overflow: "hidden"
|
|
33
|
-
}, styles$1.scopeTheme(theme).getComponentOverride("Table"))
|
|
40
|
+
}, styles$1.scopeTheme(theme).getComponentOverride("Table")),
|
|
41
|
+
filtersWrapper: () => ({
|
|
42
|
+
display: "flex"
|
|
43
|
+
})
|
|
34
44
|
});
|
|
35
45
|
|
|
36
46
|
exports.styles = styles;
|
|
@@ -8,8 +8,8 @@ var React = require('react');
|
|
|
8
8
|
var reactI18next = require('react-i18next');
|
|
9
9
|
var funding = require('../../../assets/funding.svg.cjs');
|
|
10
10
|
var historyCard_styles = require('./history-card.styles.cjs');
|
|
11
|
-
var label = require('./label/label.cjs');
|
|
12
11
|
var elementsContextProvider = require('../../../elements-provider/elements-context-provider.cjs');
|
|
12
|
+
var label = require('./label/label.cjs');
|
|
13
13
|
|
|
14
14
|
const HistoryCard = ({
|
|
15
15
|
transaction,
|
|
@@ -31,7 +31,6 @@ var spacer = require('../../spacer/spacer.cjs');
|
|
|
31
31
|
// </div>
|
|
32
32
|
// );
|
|
33
33
|
//
|
|
34
|
-
// const ErrorState = () => <ErrorDisplay />;
|
|
35
34
|
//
|
|
36
35
|
// // replace type call with its se version - lmnt-936
|
|
37
36
|
// const SuccessState = ({ adjustment }: { adjustment: WalletAdjustment }) => {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
|
+
var giger = require('@shipengine/giger');
|
|
5
|
+
var styles$1 = require('../../utilities/styles.cjs');
|
|
6
|
+
var reactI18next = require('react-i18next');
|
|
7
|
+
|
|
8
|
+
const styles = styles$1.createStyles({
|
|
9
|
+
upsDisclosure: theme => ({
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
gap: styles$1.scopeTheme(theme).spacing(1)
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
const UPSTermsDisclosure = () => {
|
|
16
|
+
const {
|
|
17
|
+
t
|
|
18
|
+
} = reactI18next.useTranslation();
|
|
19
|
+
return jsxRuntime.jsxs("div", {
|
|
20
|
+
css: styles.upsDisclosure,
|
|
21
|
+
children: [jsxRuntime.jsx(giger.Typography, {
|
|
22
|
+
bold: true,
|
|
23
|
+
variant: "body1",
|
|
24
|
+
children: t("onboarding:upsDisclosure.title")
|
|
25
|
+
}), jsxRuntime.jsx(giger.Typography, {
|
|
26
|
+
variant: "body1",
|
|
27
|
+
children: t("onboarding:upsDisclosure.line1")
|
|
28
|
+
}), jsxRuntime.jsx(giger.Typography, {
|
|
29
|
+
variant: "body1",
|
|
30
|
+
children: t("onboarding:upsDisclosure.line2")
|
|
31
|
+
})]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.UPSTermsDisclosure = UPSTermsDisclosure;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var react = require('@emotion/react');
|
|
4
4
|
var useGetServiceName = require('../../../hooks/use-get-service-name.cjs');
|
|
5
5
|
var reactApi = require('@shipengine/react-api');
|
|
6
|
+
var files = require('../../../utilities/files.cjs');
|
|
6
7
|
var styles = require('../../../utilities/styles.cjs');
|
|
7
8
|
var React = require('react');
|
|
8
9
|
var useTrackingStatusFilter = require('./use-tracking-status-filter.cjs');
|
|
@@ -16,9 +17,10 @@ const useLabelsGrid = ({
|
|
|
16
17
|
showStatusFilter,
|
|
17
18
|
showTrackingStatusFilter,
|
|
18
19
|
fetchShipments,
|
|
19
|
-
sortDir
|
|
20
|
+
sortDir,
|
|
21
|
+
columns
|
|
20
22
|
}) => {
|
|
21
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
23
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
22
24
|
const initialFilters = {
|
|
23
25
|
labelId: {
|
|
24
26
|
enabled: !!showLabelIdFilter,
|
|
@@ -47,6 +49,7 @@ const useLabelsGrid = ({
|
|
|
47
49
|
pagerProps
|
|
48
50
|
} = usePager.usePager(PAGE_SIZE);
|
|
49
51
|
const [filters, setFilters] = React.useState(initialFilters);
|
|
52
|
+
const [enabledLabelsExport, setEnabledLabelsExport] = React.useState(false);
|
|
50
53
|
const clearAllFilters = () => {
|
|
51
54
|
setFilters(initialFilters);
|
|
52
55
|
};
|
|
@@ -134,6 +137,39 @@ const useLabelsGrid = ({
|
|
|
134
137
|
sortDir: sortDir !== null && sortDir !== void 0 ? sortDir : "desc"
|
|
135
138
|
}
|
|
136
139
|
});
|
|
140
|
+
const {
|
|
141
|
+
data: exportLabelsData,
|
|
142
|
+
isInitialLoading: isExportLabelsinitialLoading,
|
|
143
|
+
isRefetching,
|
|
144
|
+
isError: isExportLabelsError
|
|
145
|
+
} = reactApi.useExportLabels({
|
|
146
|
+
enabled: enabledLabelsExport,
|
|
147
|
+
queryFnParams: {
|
|
148
|
+
labelStatus: ((_g = filters.status) === null || _g === void 0 ? void 0 : _g.value) || labelStatus,
|
|
149
|
+
labelId: ((_h = filters.labelId) === null || _h === void 0 ? void 0 : _h.value) || undefined,
|
|
150
|
+
shipmentId: filters.shipmentId.value || undefined,
|
|
151
|
+
sortDir: sortDir !== null && sortDir !== void 0 ? sortDir : "desc",
|
|
152
|
+
columns
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
React.useEffect(() => {
|
|
156
|
+
if (exportLabelsData && !isExportLabelsinitialLoading && !isRefetching) {
|
|
157
|
+
files.createLocalFileFromBlobResponse("label", exportLabelsData);
|
|
158
|
+
setEnabledLabelsExport(false);
|
|
159
|
+
}
|
|
160
|
+
}, [isExportLabelsinitialLoading, isRefetching, exportLabelsData]);
|
|
161
|
+
// This function will be called when the error display duration ends
|
|
162
|
+
const onExportErrorDurationEnd = () => {
|
|
163
|
+
setEnabledLabelsExport(false);
|
|
164
|
+
};
|
|
165
|
+
const onClickExportLabelsCSV = () => {
|
|
166
|
+
if (exportLabelsData) {
|
|
167
|
+
files.createLocalFileFromBlobResponse("label", exportLabelsData);
|
|
168
|
+
setEnabledLabelsExport(false);
|
|
169
|
+
} else {
|
|
170
|
+
setEnabledLabelsExport(true);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
137
173
|
const labels = React.useMemo(() => {
|
|
138
174
|
// If tracking status filter is active, use the filtered labels from the hook
|
|
139
175
|
if (isTrackingStatusFilterActive) {
|
|
@@ -169,8 +205,8 @@ const useLabelsGrid = ({
|
|
|
169
205
|
data: labelFilterData,
|
|
170
206
|
isError: isLabelFilterError,
|
|
171
207
|
isInitialLoading: isLabelFilterLoading
|
|
172
|
-
} = reactApi.useGetLabel(((
|
|
173
|
-
const isLabelFilterActive = (
|
|
208
|
+
} = reactApi.useGetLabel(((_j = filters.labelId) === null || _j === void 0 ? void 0 : _j.value) || undefined);
|
|
209
|
+
const isLabelFilterActive = (_k = filters.labelId) === null || _k === void 0 ? void 0 : _k.value;
|
|
174
210
|
const isStatusFilteredOut = (status, filter) => {
|
|
175
211
|
return (filter === null || filter === void 0 ? void 0 : filter.length) && !filter.includes(status);
|
|
176
212
|
};
|
|
@@ -227,13 +263,16 @@ const useLabelsGrid = ({
|
|
|
227
263
|
return [];
|
|
228
264
|
};
|
|
229
265
|
return {
|
|
266
|
+
onClickExportLabelsCSV,
|
|
230
267
|
clearAllFilters,
|
|
231
268
|
filters,
|
|
232
269
|
getGridData,
|
|
233
270
|
hasMoreUnfetchedResults: isTrackingStatusFilterActive ? hasMoreUnfetchedResults : false,
|
|
234
271
|
isAnyFilterActive,
|
|
272
|
+
isExportLabelsError,
|
|
235
273
|
isError: isListLabelsError || isListShipmentsError && fetchShipments,
|
|
236
274
|
isFetchingNextPage: isTrackingStatusFilterActive ? isFetchingNextPage : false,
|
|
275
|
+
onExportErrorDurationEnd,
|
|
237
276
|
// Calculate isLoading based on which query should be active
|
|
238
277
|
isLoading:
|
|
239
278
|
// Always include label filter loading when label ID filter is active
|
|
@@ -251,7 +290,8 @@ const useLabelsGrid = ({
|
|
|
251
290
|
totalElements: labelFilteredById ? 1 : isTrackingStatusFilterActive ? (statusFilteredPaginationInfo === null || statusFilteredPaginationInfo === void 0 ? void 0 : statusFilteredPaginationInfo.totalCount) || 0 : (listLabelsData === null || listLabelsData === void 0 ? void 0 : listLabelsData.total) || 0
|
|
252
291
|
},
|
|
253
292
|
setFilters: onSetFilters,
|
|
254
|
-
shouldShowFilters: isAnyFilterEnabled
|
|
293
|
+
shouldShowFilters: isAnyFilterEnabled,
|
|
294
|
+
isExportLabelsLoading: isExportLabelsinitialLoading || isRefetching
|
|
255
295
|
};
|
|
256
296
|
};
|
|
257
297
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
4
|
var useSortableQuery = require('../../hooks/use-sortable-query.cjs');
|
|
5
5
|
var giger = require('@shipengine/giger');
|
|
6
|
+
var formatString = require('../../utilities/formatString.cjs');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
var reactI18next = require('react-i18next');
|
|
8
9
|
var useLabelsGrid = require('./hooks/use-labels-grid.cjs');
|
|
@@ -32,9 +33,10 @@ const Component = ({
|
|
|
32
33
|
onRowClick,
|
|
33
34
|
onClickExternalOrderId,
|
|
34
35
|
onClickExternalShipmentId,
|
|
35
|
-
onClickShipmentNumber
|
|
36
|
+
onClickShipmentNumber,
|
|
37
|
+
onLabelsCSVExportClick
|
|
36
38
|
}) => {
|
|
37
|
-
var _a, _b, _c;
|
|
39
|
+
var _a, _b, _c, _d;
|
|
38
40
|
const {
|
|
39
41
|
t
|
|
40
42
|
} = reactI18next.useTranslation(["common", "list-labels"]);
|
|
@@ -76,6 +78,7 @@ const Component = ({
|
|
|
76
78
|
const showShipmentIdFilter = shipmentIdColumn && ((_b = shipmentIdColumn.allowFilter) !== null && _b !== void 0 ? _b : true);
|
|
77
79
|
const showStatusFilter = statusColumn && ((_c = statusColumn.allowFilter) !== null && _c !== void 0 ? _c : true);
|
|
78
80
|
const showTrackingStatusFilter = trackingStatusColumn && !!trackingStatusColumn.allowFilter;
|
|
81
|
+
const columnsArray = (_d = features === null || features === void 0 ? void 0 : features.columns) === null || _d === void 0 ? void 0 : _d.map(column => formatString.toSnakeCase(column.name));
|
|
79
82
|
const {
|
|
80
83
|
labels,
|
|
81
84
|
getGridData,
|
|
@@ -88,7 +91,11 @@ const Component = ({
|
|
|
88
91
|
pageConfig,
|
|
89
92
|
isAnyFilterActive,
|
|
90
93
|
shouldShowFilters,
|
|
91
|
-
clearAllFilters
|
|
94
|
+
clearAllFilters,
|
|
95
|
+
onClickExportLabelsCSV,
|
|
96
|
+
isExportLabelsError,
|
|
97
|
+
isExportLabelsLoading,
|
|
98
|
+
onExportErrorDurationEnd
|
|
92
99
|
} = useLabelsGrid.useLabelsGrid({
|
|
93
100
|
fetchShipments: !!shipmentNumberColumn,
|
|
94
101
|
labelStatus,
|
|
@@ -96,7 +103,8 @@ const Component = ({
|
|
|
96
103
|
showShipmentIdFilter,
|
|
97
104
|
showStatusFilter,
|
|
98
105
|
showTrackingStatusFilter,
|
|
99
|
-
sortDir: sortState.dir
|
|
106
|
+
sortDir: sortState.dir,
|
|
107
|
+
columns: columnsArray
|
|
100
108
|
});
|
|
101
109
|
React.useEffect(() => {
|
|
102
110
|
if (prevStatus.current !== labelStatus) {
|
|
@@ -383,7 +391,7 @@ const Component = ({
|
|
|
383
391
|
});
|
|
384
392
|
}
|
|
385
393
|
return cols;
|
|
386
|
-
}, [t, toggleCreatedDateSort, sortState.createdAtDir, features === null || features === void 0 ? void 0 : features.columns, features === null || features === void 0 ? void 0 : features.showActions, labels, onClickExternalOrderId, onClickExternalShipmentId, onClickShipmentNumber, onClickVoidLabel, onClickViewDetails, onClickPrintLabel, onClickPrintForms]);
|
|
394
|
+
}, [t, toggleCreatedDateSort, sortState.createdAtDir, features === null || features === void 0 ? void 0 : features.columns, features === null || features === void 0 ? void 0 : features.showActions, labels, onClickExternalOrderId, onClickExternalShipmentId, onClickShipmentNumber, onClickTrackingNumber, onClickVoidLabel, onClickViewDetails, onClickPrintLabel, onClickPrintForms]);
|
|
387
395
|
const emptyContentComponent = React.useMemo(() => {
|
|
388
396
|
if (isLoading) {
|
|
389
397
|
return undefined;
|
|
@@ -434,8 +442,18 @@ const Component = ({
|
|
|
434
442
|
showPagination: pageConfig.showPagination,
|
|
435
443
|
total: pageConfig.totalElements
|
|
436
444
|
}),
|
|
445
|
+
hasExportCSVError: isExportLabelsError,
|
|
446
|
+
hasTrackingStatusFilter: showTrackingStatusFilter,
|
|
447
|
+
isExportCSVLoading: isExportLabelsLoading,
|
|
437
448
|
isLoading: isLoading,
|
|
438
|
-
|
|
449
|
+
onClickExportCSV: () => {
|
|
450
|
+
onClickExportLabelsCSV();
|
|
451
|
+
onLabelsCSVExportClick === null || onLabelsCSVExportClick === void 0 ? void 0 : onLabelsCSVExportClick();
|
|
452
|
+
},
|
|
453
|
+
onExportErrorDurationEnd: onExportErrorDurationEnd,
|
|
454
|
+
onRowClick: onRowClick,
|
|
455
|
+
showExportCSV: features === null || features === void 0 ? void 0 : features.showExportCSVButton,
|
|
456
|
+
totalAmountGridItems: pageConfig.totalElements
|
|
439
457
|
}), globalFeatures.poweredByShipEngine && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
440
458
|
children: [jsxRuntime.jsx(spacer.Spacer, {}), jsxRuntime.jsx(poweredByShipengine.PoweredByShipEngine, {})]
|
|
441
459
|
})]
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var useGetServiceName = require('../../../hooks/use-get-service-name.cjs');
|
|
4
4
|
var reactApi = require('@shipengine/react-api');
|
|
5
|
+
var files = require('../../../utilities/files.cjs');
|
|
5
6
|
var React = require('react');
|
|
6
7
|
var createdDateValue = require('../utils/created-date-value.cjs');
|
|
7
8
|
var usePager = require('../../../components/pager/usePager.cjs');
|
|
@@ -22,9 +23,10 @@ const useShipmentsGrid = ({
|
|
|
22
23
|
showShipmentIdFilter = true,
|
|
23
24
|
showCreatedDateFilter = true,
|
|
24
25
|
sortBy,
|
|
25
|
-
sortDir
|
|
26
|
+
sortDir,
|
|
27
|
+
columns
|
|
26
28
|
}) => {
|
|
27
|
-
var _a, _b, _c, _d;
|
|
29
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
28
30
|
const initialFilters = getInitialFilters(showShipmentIdFilter, showCreatedDateFilter);
|
|
29
31
|
const {
|
|
30
32
|
getServiceName
|
|
@@ -35,6 +37,7 @@ const useShipmentsGrid = ({
|
|
|
35
37
|
pagerProps
|
|
36
38
|
} = usePager.usePager(PAGE_SIZE);
|
|
37
39
|
const [activeShipmentId, setActiveShipmentId] = React.useState();
|
|
40
|
+
const [enabled, setEnabled] = React.useState(false);
|
|
38
41
|
const [filters, setFilters] = React.useState(initialFilters);
|
|
39
42
|
const clearAllFilters = () => {
|
|
40
43
|
setFilters(initialFilters);
|
|
@@ -66,6 +69,37 @@ const useShipmentsGrid = ({
|
|
|
66
69
|
sortBy: sortBy,
|
|
67
70
|
sortDir: sortDir
|
|
68
71
|
}, createdDateValue.getCreatedDateFilterValue((_b = (_a = filters.createdDate) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.start, (_d = (_c = filters.createdDate) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.end)));
|
|
72
|
+
const {
|
|
73
|
+
data: exportShipmentsData,
|
|
74
|
+
isInitialLoading: isExportShipmentsinitialLoading,
|
|
75
|
+
isRefetching,
|
|
76
|
+
isError: isExportShipmentsError
|
|
77
|
+
} = reactApi.useExportShipments({
|
|
78
|
+
enabled,
|
|
79
|
+
queryFnParams: Object.assign({
|
|
80
|
+
shipmentId: filters.shipmentId.value || undefined,
|
|
81
|
+
sortDir: sortDir !== null && sortDir !== void 0 ? sortDir : "desc",
|
|
82
|
+
columns
|
|
83
|
+
}, createdDateValue.getCreatedDateFilterValue((_f = (_e = filters.createdDate) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.start, (_h = (_g = filters.createdDate) === null || _g === void 0 ? void 0 : _g.value) === null || _h === void 0 ? void 0 : _h.end))
|
|
84
|
+
});
|
|
85
|
+
React.useEffect(() => {
|
|
86
|
+
if (exportShipmentsData && !isExportShipmentsinitialLoading && !isRefetching) {
|
|
87
|
+
files.createLocalFileFromBlobResponse("shipment", exportShipmentsData);
|
|
88
|
+
setEnabled(false);
|
|
89
|
+
}
|
|
90
|
+
}, [isExportShipmentsinitialLoading, isRefetching, exportShipmentsData]);
|
|
91
|
+
// This function will be called when the error display duration ends
|
|
92
|
+
const onExportErrorDurationEnd = () => {
|
|
93
|
+
setEnabled(false);
|
|
94
|
+
};
|
|
95
|
+
const onClickDownloadShipmentsCSV = () => {
|
|
96
|
+
if (exportShipmentsData) {
|
|
97
|
+
files.createLocalFileFromBlobResponse("shipment", exportShipmentsData);
|
|
98
|
+
setEnabled(false);
|
|
99
|
+
} else {
|
|
100
|
+
setEnabled(true);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
69
103
|
const shipments = React.useMemo(() => data === null || data === void 0 ? void 0 : data.shipments.map(shipment => Object.assign(Object.assign({}, shipment), {
|
|
70
104
|
disableOnRowClick: shipment.shipmentStatus === "cancelled",
|
|
71
105
|
isLoading: activeShipmentId === shipment.shipmentId,
|
|
@@ -122,12 +156,15 @@ const useShipmentsGrid = ({
|
|
|
122
156
|
return [];
|
|
123
157
|
};
|
|
124
158
|
return {
|
|
159
|
+
onClickDownloadShipmentsCSV,
|
|
125
160
|
clearAllFilters,
|
|
126
161
|
filters,
|
|
127
162
|
getGridData,
|
|
128
163
|
isAnyFilterActive,
|
|
164
|
+
isExportShipmentsError,
|
|
129
165
|
isError,
|
|
130
166
|
isLoading: isLoadingShipments || isLoadingShipment,
|
|
167
|
+
onExportErrorDurationEnd,
|
|
131
168
|
pageConfig: {
|
|
132
169
|
currentPage: shipmentFilteredById ? 1 : (data === null || data === void 0 ? void 0 : data.page) || 0,
|
|
133
170
|
pagerProps,
|
|
@@ -139,7 +176,8 @@ const useShipmentsGrid = ({
|
|
|
139
176
|
setActiveShipmentId,
|
|
140
177
|
setFilters: onSetFilters,
|
|
141
178
|
shipments,
|
|
142
|
-
shouldShowFilters: isAnyFilterEnabled
|
|
179
|
+
shouldShowFilters: isAnyFilterEnabled,
|
|
180
|
+
isExportShipmentsLoading: isExportShipmentsinitialLoading || isRefetching
|
|
143
181
|
};
|
|
144
182
|
};
|
|
145
183
|
|
|
@@ -48,7 +48,9 @@ const Component = ({
|
|
|
48
48
|
onClickCancelShipment,
|
|
49
49
|
shipmentStatus,
|
|
50
50
|
showShipmentIdFilter = true,
|
|
51
|
-
showCreatedDateFilter = true
|
|
51
|
+
showCreatedDateFilter = true,
|
|
52
|
+
onShipmentsCSVExportClick,
|
|
53
|
+
showExportCSVButton = false
|
|
52
54
|
}) => {
|
|
53
55
|
const {
|
|
54
56
|
globalFeatures
|
|
@@ -73,7 +75,11 @@ const Component = ({
|
|
|
73
75
|
isAnyFilterActive,
|
|
74
76
|
shouldShowFilters,
|
|
75
77
|
clearAllFilters,
|
|
76
|
-
setActiveShipmentId
|
|
78
|
+
setActiveShipmentId,
|
|
79
|
+
onClickDownloadShipmentsCSV,
|
|
80
|
+
isExportShipmentsError,
|
|
81
|
+
isExportShipmentsLoading,
|
|
82
|
+
onExportErrorDurationEnd
|
|
77
83
|
} = useShipmentsGrid.useShipmentsGrid({
|
|
78
84
|
shipmentStatus,
|
|
79
85
|
showCreatedDateFilter,
|
|
@@ -256,8 +262,17 @@ const Component = ({
|
|
|
256
262
|
showPagination: pageConfig.showPagination,
|
|
257
263
|
total: pageConfig.totalElements
|
|
258
264
|
}),
|
|
265
|
+
hasExportCSVError: isExportShipmentsError,
|
|
266
|
+
isExportCSVLoading: isExportShipmentsLoading,
|
|
259
267
|
isLoading: isLoading,
|
|
260
|
-
|
|
268
|
+
onClickExportCSV: () => {
|
|
269
|
+
onClickDownloadShipmentsCSV();
|
|
270
|
+
onShipmentsCSVExportClick === null || onShipmentsCSVExportClick === void 0 ? void 0 : onShipmentsCSVExportClick();
|
|
271
|
+
},
|
|
272
|
+
onExportErrorDurationEnd: onExportErrorDurationEnd,
|
|
273
|
+
onRowClick: onRowClick,
|
|
274
|
+
showExportCSV: showExportCSVButton,
|
|
275
|
+
totalAmountGridItems: pageConfig.totalElements
|
|
261
276
|
}), globalFeatures.poweredByShipEngine && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
262
277
|
children: [jsxRuntime.jsx(spacer.Spacer, {}), jsxRuntime.jsx(poweredByShipengine.PoweredByShipEngine, {})]
|
|
263
278
|
})]
|