@licklist/design 0.50.0-dev.1 → 0.50.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/calendar/Calendar.d.ts +0 -3
- package/dist/calendar/Calendar.d.ts.map +1 -1
- package/dist/calendar/components/CalendarButtons/CalendarButtons.js +1 -1
- package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +1 -1
- package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -1
- package/dist/calendar/components/CalendarDates/CalendarDates.js +1 -1
- package/dist/calendar/utils/index.d.ts +1 -2
- package/dist/calendar/utils/index.d.ts.map +1 -1
- package/dist/calendar/utils/index.js +1 -1
- package/dist/date-time-button/DateTimeButton.d.ts +2 -3
- package/dist/date-time-button/DateTimeButton.d.ts.map +1 -1
- package/dist/date-time-button/DateTimeButton.js +1 -1
- package/dist/events/event-venue-map/components/Scrollbars/Scrollbars.js +1 -1
- package/dist/iframe/event/event-booking-products/EventBookingProducts.js +1 -1
- package/dist/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.d.ts +2 -2
- package/dist/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/dist/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.js +1 -1
- package/dist/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.js +1 -1
- package/dist/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.js +1 -1
- package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts +1 -2
- package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts.map +1 -1
- package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.js +1 -1
- package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts +1 -1
- package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
- package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +1 -1
- package/dist/iframe/order-process/components/utils/useCategoryVerification.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts +1 -2
- package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts.map +1 -1
- package/dist/sales/manual-booking/summary/ManualBookingSummary.js +1 -1
- package/dist/static/date-range-input/DateRangeInput.d.ts.map +1 -1
- package/dist/static/date-range-input/DateRangeInput.js +1 -1
- package/dist/static/switch/BooleanSwitch.d.ts +1 -3
- package/dist/static/switch/BooleanSwitch.d.ts.map +1 -1
- package/dist/static/switch/BooleanSwitch.js +1 -1
- package/dist/styles/resources-blocking/_index.scss +0 -6
- package/dist/styles/sales/BookingFilter.scss +1 -21
- package/dist/styles/sales/BookingResults.scss +1 -1
- package/dist/styles/sales/BookingTabs.scss +5 -63
- package/dist/styles/sales/LifeTimeSales.scss +0 -1
- package/dist/styles/sales/ManualBooking.scss +3 -62
- package/dist/styles/sales/SourceOfSales.scss +0 -3
- package/dist/styles/static/Switch.scss +0 -1
- package/dist/styles/static/Tabs.scss +0 -6
- package/dist/table/TableHelperComponent.d.ts +1 -2
- package/dist/table/TableHelperComponent.d.ts.map +1 -1
- package/dist/table/TableHelperComponent.js +1 -1
- package/package.json +3 -3
- package/src/calendar/Calendar.tsx +0 -5
- package/src/calendar/components/CalendarButtons/CalendarButtons.tsx +3 -3
- package/src/calendar/components/CalendarDates/CalendarDates.tsx +2 -5
- package/src/calendar/utils/index.ts +6 -15
- package/src/date-time-button/DateTimeButton.tsx +3 -16
- package/src/iframe/event/event-booking-products/EventBookingProducts.tsx +1 -1
- package/src/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.tsx +8 -8
- package/src/iframe/order-process/components/BookingSummary/BookingSummary.stories.tsx +5 -5
- package/src/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.tsx +2 -2
- package/src/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.tsx +3 -16
- package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +2 -2
- package/src/iframe/order-process/components/utils/useCategoryVerification.ts +1 -1
- package/src/iframe/payment/payment-page/PaymentPage.stories.tsx +1 -1
- package/src/sales/manual-booking/summary/ManualBookingSummary.tsx +1 -9
- package/src/static/date-range-input/DateRangeInput.tsx +2 -23
- package/src/static/switch/BooleanSwitch.tsx +2 -6
- package/src/styles/resources-blocking/_index.scss +0 -6
- package/src/styles/sales/BookingFilter.scss +1 -21
- package/src/styles/sales/BookingResults.scss +1 -1
- package/src/styles/sales/BookingTabs.scss +5 -63
- package/src/styles/sales/LifeTimeSales.scss +0 -1
- package/src/styles/sales/ManualBooking.scss +3 -62
- package/src/styles/sales/SourceOfSales.scss +0 -3
- package/src/styles/static/Switch.scss +0 -1
- package/src/styles/static/Tabs.scss +0 -6
- package/src/table/TableHelperComponent.tsx +18 -73
|
@@ -47,7 +47,7 @@ export const useCategoryVerification = () => {
|
|
|
47
47
|
if (!minSubItems && !maxSubItems) return;
|
|
48
48
|
|
|
49
49
|
const categoryProductsQuantity = productArray.filter(
|
|
50
|
-
(product) => product?.
|
|
50
|
+
(product) => product?.productsCategoryId === id
|
|
51
51
|
).length;
|
|
52
52
|
|
|
53
53
|
if (minSubItems && categoryProductsQuantity < minSubItems) {
|
|
@@ -24,7 +24,6 @@ export interface ManualBookingSummaryProps {
|
|
|
24
24
|
isFeeFetching: boolean;
|
|
25
25
|
orderDate: string;
|
|
26
26
|
relyOnPeopleType?: RelyOnPeopleType | null;
|
|
27
|
-
isMobileView?: boolean;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
export const ManualBookingSummary = ({
|
|
@@ -36,7 +35,6 @@ export const ManualBookingSummary = ({
|
|
|
36
35
|
orderDate,
|
|
37
36
|
relyOnPeopleType,
|
|
38
37
|
hasBookingCategory,
|
|
39
|
-
isMobileView,
|
|
40
38
|
}: ManualBookingSummaryProps) => {
|
|
41
39
|
const { t } = useTranslation(["Design", "Sale"]);
|
|
42
40
|
const { formatNumber } = useIntl();
|
|
@@ -46,13 +44,7 @@ export const ManualBookingSummary = ({
|
|
|
46
44
|
const date = currentDate.toFormat(DATE_TIME_MANUAL_BOOKING_FORMAT);
|
|
47
45
|
const time = currentDate.toFormat(TIME_FORMAT);
|
|
48
46
|
return (
|
|
49
|
-
<div
|
|
50
|
-
className={
|
|
51
|
-
isMobileView
|
|
52
|
-
? "manual-booking-summary-mobile"
|
|
53
|
-
: "manual-booking-summary"
|
|
54
|
-
}
|
|
55
|
-
>
|
|
47
|
+
<div className="manual-booking-summary">
|
|
56
48
|
<div className="receipt-title">{t("Sale:receipt")}</div>
|
|
57
49
|
<div className="event-name border-summary-item">{eventName}</div>
|
|
58
50
|
<div className="border-summary-item">{date}</div>
|
|
@@ -11,13 +11,10 @@ import {
|
|
|
11
11
|
rangeDatesToStringDates,
|
|
12
12
|
stringDatesToInputValue,
|
|
13
13
|
} from "./utils";
|
|
14
|
-
import { MOBILE_WIDTH } from "../../iframe/order-process/components/BookingSummary/types";
|
|
15
14
|
|
|
16
15
|
import "react-date-range/dist/styles.css";
|
|
17
16
|
import "react-date-range/dist/theme/default.css";
|
|
18
17
|
|
|
19
|
-
type DateRangeDirection = "vertical" | "horizontal";
|
|
20
|
-
|
|
21
18
|
type DateRangeInputProps = {
|
|
22
19
|
placeholder: string;
|
|
23
20
|
startDate?: string;
|
|
@@ -36,7 +33,7 @@ export const DateRangeInput = ({
|
|
|
36
33
|
disabled,
|
|
37
34
|
}: DateRangeInputProps) => {
|
|
38
35
|
const { t } = useTranslation("Design");
|
|
39
|
-
|
|
36
|
+
|
|
40
37
|
const [state, setState] = useState<Range[]>([
|
|
41
38
|
{
|
|
42
39
|
startDate: new Date(),
|
|
@@ -85,24 +82,6 @@ export const DateRangeInput = ({
|
|
|
85
82
|
}
|
|
86
83
|
}, [startDate, endDate]);
|
|
87
84
|
|
|
88
|
-
useEffect(() => {
|
|
89
|
-
const resizeBodyInMobile = () => {
|
|
90
|
-
if (window.innerWidth > MOBILE_WIDTH) {
|
|
91
|
-
setDirection("horizontal");
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
setDirection("vertical");
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
resizeBodyInMobile();
|
|
99
|
-
window.addEventListener("resize", resizeBodyInMobile);
|
|
100
|
-
|
|
101
|
-
return () => {
|
|
102
|
-
window.removeEventListener("resize", resizeBodyInMobile);
|
|
103
|
-
};
|
|
104
|
-
}, []);
|
|
105
|
-
|
|
106
85
|
return (
|
|
107
86
|
<div>
|
|
108
87
|
<OverlayTrigger
|
|
@@ -115,7 +94,7 @@ export const DateRangeInput = ({
|
|
|
115
94
|
moveRangeOnFirstSelection={false}
|
|
116
95
|
ranges={state}
|
|
117
96
|
months={months}
|
|
118
|
-
direction=
|
|
97
|
+
direction="horizontal"
|
|
119
98
|
/>
|
|
120
99
|
<div className="mt-3 d-flex justify-content-end">
|
|
121
100
|
<Button onClick={onReset} variant="link">
|
|
@@ -8,8 +8,6 @@ export interface BooleanSwitchProps {
|
|
|
8
8
|
value?: boolean;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
onChange: (value: boolean) => void;
|
|
11
|
-
firstValueTitle?: string;
|
|
12
|
-
secondValueTitle?: string;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
export function BooleanSwitch({
|
|
@@ -17,14 +15,12 @@ export function BooleanSwitch({
|
|
|
17
15
|
value,
|
|
18
16
|
disabled,
|
|
19
17
|
onChange,
|
|
20
|
-
firstValueTitle,
|
|
21
|
-
secondValueTitle,
|
|
22
18
|
}: BooleanSwitchProps) {
|
|
23
19
|
const { t } = useTranslation("Design");
|
|
24
20
|
|
|
25
21
|
const options: SelectItem[] = [
|
|
26
|
-
{ id: 1, value:
|
|
27
|
-
{ id: 0, value:
|
|
22
|
+
{ id: 1, value: t("yes") },
|
|
23
|
+
{ id: 0, value: t("no") },
|
|
28
24
|
];
|
|
29
25
|
|
|
30
26
|
const handleChange = useCallback(
|
|
@@ -157,19 +157,6 @@
|
|
|
157
157
|
margin-bottom: 0;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
|
|
161
|
-
.apply-container{
|
|
162
|
-
display: flex;
|
|
163
|
-
justify-content: space-around;
|
|
164
|
-
column-gap: 2rem;
|
|
165
|
-
margin-left: 3rem;
|
|
166
|
-
|
|
167
|
-
@include media-breakpoint-down(sm) {
|
|
168
|
-
flex-direction: row;
|
|
169
|
-
margin-left: 0rem;
|
|
170
|
-
column-gap: 1rem;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
160
|
}
|
|
174
161
|
|
|
175
162
|
.additional-filter-container {
|
|
@@ -177,12 +164,10 @@
|
|
|
177
164
|
|
|
178
165
|
@include media-breakpoint-down(md) {
|
|
179
166
|
flex-wrap: wrap;
|
|
180
|
-
|
|
181
167
|
.date-container {
|
|
182
168
|
width: 100%;
|
|
183
169
|
flex: 1;
|
|
184
170
|
}
|
|
185
|
-
|
|
186
171
|
.btn-primary {
|
|
187
172
|
margin-top: 1rem;
|
|
188
173
|
}
|
|
@@ -243,11 +228,6 @@
|
|
|
243
228
|
transform: rotate(45deg);
|
|
244
229
|
}
|
|
245
230
|
}
|
|
246
|
-
|
|
247
|
-
@include media-breakpoint-down(sm) {
|
|
248
|
-
flex-direction: column;
|
|
249
|
-
justify-content: flex-start;
|
|
250
|
-
}
|
|
251
231
|
}
|
|
252
232
|
}
|
|
253
|
-
}
|
|
233
|
+
}
|
|
@@ -1,49 +1,24 @@
|
|
|
1
1
|
.booking-tabs-pane {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: row;
|
|
4
|
-
justify-content: space-between;
|
|
5
4
|
align-items: center;
|
|
6
5
|
height: 2.75rem;
|
|
7
6
|
background-color: $white;
|
|
8
7
|
|
|
9
8
|
.booking-tabs {
|
|
10
9
|
svg {
|
|
11
|
-
g>rect:first-child {
|
|
12
|
-
fill: $white;
|
|
10
|
+
g > rect:first-child {
|
|
11
|
+
fill: $white;
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
|
-
|
|
14
|
+
|
|
16
15
|
.active {
|
|
17
16
|
svg {
|
|
18
|
-
g>rect:first-child {
|
|
19
|
-
fill: $blue;
|
|
17
|
+
g > rect:first-child {
|
|
18
|
+
fill: $blue;
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
|
-
|
|
24
|
-
@include media-breakpoint-down(sm) {
|
|
25
|
-
width: 4rem;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.content {
|
|
30
|
-
display: flex;
|
|
31
|
-
justify-content: space-between;
|
|
32
|
-
width: 85%;
|
|
33
|
-
flex-direction: row;
|
|
34
|
-
|
|
35
|
-
@include media-breakpoint-down(sm) {
|
|
36
|
-
display: flex;
|
|
37
|
-
flex-direction: column;
|
|
38
|
-
align-items: start;
|
|
39
|
-
height: 4rem;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.booking {
|
|
43
|
-
@include media-breakpoint-down(sm) {
|
|
44
|
-
height: 13rem;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
22
|
}
|
|
48
23
|
|
|
49
24
|
.separator {
|
|
@@ -54,12 +29,6 @@
|
|
|
54
29
|
.children {
|
|
55
30
|
flex: 1;
|
|
56
31
|
margin-left: 1rem;
|
|
57
|
-
|
|
58
|
-
@include media-breakpoint-down(sm) {
|
|
59
|
-
display: flex;
|
|
60
|
-
flex-direction: column;
|
|
61
|
-
align-items: start;
|
|
62
|
-
}
|
|
63
32
|
}
|
|
64
33
|
|
|
65
34
|
.buttons {
|
|
@@ -92,33 +61,6 @@
|
|
|
92
61
|
border-radius: 0.625rem;
|
|
93
62
|
margin-right: 0.5rem;
|
|
94
63
|
}
|
|
95
|
-
@include media-breakpoint-down(sm) {
|
|
96
|
-
width: 12.5rem;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
@include media-breakpoint-down(sm) {
|
|
102
|
-
display: flex;
|
|
103
|
-
flex-direction: column;
|
|
104
|
-
align-items: start;
|
|
105
|
-
gap: .5rem;
|
|
106
|
-
margin-top: .5rem;
|
|
107
|
-
white-space: nowrap;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
@include media-breakpoint-down(sm) {
|
|
112
|
-
display: flex;
|
|
113
|
-
align-items: start;
|
|
114
|
-
gap: 1rem;
|
|
115
|
-
margin-top: 1rem;
|
|
116
|
-
height: 100%;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.booking {
|
|
120
|
-
@include media-breakpoint-down(sm) {
|
|
121
|
-
height: 13rem;
|
|
122
64
|
}
|
|
123
65
|
}
|
|
124
66
|
}
|
|
@@ -361,11 +361,10 @@
|
|
|
361
361
|
width: inherit;
|
|
362
362
|
|
|
363
363
|
@include media-breakpoint-down(sm) {
|
|
364
|
-
|
|
364
|
+
padding: 0 0.5rem;
|
|
365
|
+
padding-top: 2rem;
|
|
365
366
|
}
|
|
366
367
|
|
|
367
|
-
|
|
368
|
-
|
|
369
368
|
.form-control {
|
|
370
369
|
margin-bottom: 1.5rem;
|
|
371
370
|
}
|
|
@@ -412,64 +411,6 @@
|
|
|
412
411
|
}
|
|
413
412
|
}
|
|
414
413
|
|
|
415
|
-
.manual-booking-summary-mobile {
|
|
416
|
-
display: none;
|
|
417
|
-
|
|
418
|
-
@include media-breakpoint-down(sm) {
|
|
419
|
-
display: block;
|
|
420
|
-
padding: 0 1.5rem;
|
|
421
|
-
padding-top: 2rem;
|
|
422
|
-
height: max-content;
|
|
423
|
-
margin-bottom: 1.5rem;
|
|
424
|
-
width: inherit;
|
|
425
|
-
|
|
426
|
-
.form-control {
|
|
427
|
-
margin-bottom: .5rem;
|
|
428
|
-
}
|
|
429
|
-
.receipt-title {
|
|
430
|
-
font-size: 1.125rem;
|
|
431
|
-
font-weight: 600;
|
|
432
|
-
padding-bottom: 0.4rem;
|
|
433
|
-
margin-bottom: 1rem;
|
|
434
|
-
border-bottom: 2px solid $gray-400;
|
|
435
|
-
}
|
|
436
|
-
.event-name {
|
|
437
|
-
font-size: 0.94rem;
|
|
438
|
-
font-weight: 600;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
.border-summary-item {
|
|
442
|
-
padding-bottom: 0.9rem;
|
|
443
|
-
margin-bottom: 1%;
|
|
444
|
-
border-bottom: 2px solid $gray-100;
|
|
445
|
-
flex-wrap: wrap;
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
.total-container {
|
|
449
|
-
display: flex;
|
|
450
|
-
justify-content: space-between;
|
|
451
|
-
font-size: 1rem;
|
|
452
|
-
font-weight: 600;
|
|
453
|
-
|
|
454
|
-
@include media-breakpoint-down(lg) {
|
|
455
|
-
flex-wrap: wrap;
|
|
456
|
-
}
|
|
457
|
-
.total-amount {
|
|
458
|
-
padding-left: 1rem;
|
|
459
|
-
@include media-breakpoint-down(lg) {
|
|
460
|
-
padding-left: 0;
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
.summary-item-container {
|
|
466
|
-
.border-summary-item:nth-last-child(2) {
|
|
467
|
-
border-bottom: 2px solid $gray-400;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
|
|
473
414
|
.menu-list-manual-booking {
|
|
474
415
|
display: flex;
|
|
475
416
|
align-items: center;
|
|
@@ -496,4 +437,4 @@
|
|
|
496
437
|
color: $blue;
|
|
497
438
|
}
|
|
498
439
|
}
|
|
499
|
-
}
|
|
440
|
+
}
|
|
@@ -27,7 +27,6 @@ $btn-switch-option-padding-y: calc(#{$btn-padding-y} - #{sp(1)}) !default;
|
|
|
27
27
|
border-radius: $btn-switch-option-border-radius;
|
|
28
28
|
margin: 0;
|
|
29
29
|
padding: $btn-switch-option-padding-y $btn-switch-option-padding-x;
|
|
30
|
-
min-width: 4.25rem;
|
|
31
30
|
|
|
32
31
|
&:hover,
|
|
33
32
|
&:active,
|
|
@@ -11,12 +11,6 @@ $tab-nav-link-active-border-bottom: 1px solid $tab-nav-link-active-color !defaul
|
|
|
11
11
|
margin-left: -1.25rem;
|
|
12
12
|
border-bottom: 1px solid $nav-tabs-border-color;
|
|
13
13
|
|
|
14
|
-
@include media-breakpoint-down(sm) {
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-direction: column;
|
|
17
|
-
white-space: nowrap;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
14
|
.nav-link {
|
|
21
15
|
color: $tab-nav-link-color;
|
|
22
16
|
background-color: transparent;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
|
-
import React, {
|
|
2
|
+
import React, { useEffect, useState } from "react";
|
|
3
3
|
import { Col, Row, Table } from "react-bootstrap";
|
|
4
4
|
import { useLocation } from "react-router-dom";
|
|
5
5
|
import { isEqual } from "lodash";
|
|
@@ -30,7 +30,6 @@ export interface TableHelperComponentProps {
|
|
|
30
30
|
displayShowingSection?: boolean;
|
|
31
31
|
externalFilters?: { [key: string]: any };
|
|
32
32
|
initialOptions?: Partial<ITableProps>;
|
|
33
|
-
filteredOrdersOptions?: (value: SetStateAction<ITableProps>) => void;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
// @TODO Refactor? component to get less complexity
|
|
@@ -63,7 +62,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
63
62
|
displayShowingSection = true,
|
|
64
63
|
externalFilters = {},
|
|
65
64
|
initialOptions = {},
|
|
66
|
-
filteredOrdersOptions,
|
|
67
65
|
} = props;
|
|
68
66
|
|
|
69
67
|
const query = useQuery();
|
|
@@ -99,9 +97,8 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
99
97
|
useEffect(
|
|
100
98
|
() => {
|
|
101
99
|
if (
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
!!filteredOrdersOptions
|
|
100
|
+
isEqual(optionsCache, options) &&
|
|
101
|
+
isEqual(cachedExtFilters, externalFilters)
|
|
105
102
|
)
|
|
106
103
|
return;
|
|
107
104
|
|
|
@@ -127,12 +124,12 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
127
124
|
);
|
|
128
125
|
},
|
|
129
126
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
130
|
-
[pathname, options, onRefreshFn,
|
|
127
|
+
[pathname, options, onRefreshFn, externalFilters]
|
|
131
128
|
);
|
|
132
129
|
|
|
133
130
|
// Refresh table's content on manual trigger
|
|
134
131
|
useEffect(() => {
|
|
135
|
-
if (refreshedAt === refreshAt
|
|
132
|
+
if (refreshedAt === refreshAt) {
|
|
136
133
|
return;
|
|
137
134
|
}
|
|
138
135
|
|
|
@@ -141,44 +138,24 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
141
138
|
if (onRefreshFn) {
|
|
142
139
|
onRefreshFn(options);
|
|
143
140
|
}
|
|
144
|
-
}, [onRefreshFn, options, refreshAt,
|
|
141
|
+
}, [onRefreshFn, options, refreshAt, refreshedAt]);
|
|
145
142
|
|
|
146
143
|
const onSort = (key: string) => {
|
|
147
144
|
let nextDirection = TableService.DEFAULT_SORT_DIRECTION;
|
|
148
|
-
if (sortKey === key) {
|
|
149
|
-
if (filteredOrdersOptions) {
|
|
150
|
-
filteredOrdersOptions((prevOptions) => {
|
|
151
|
-
nextDirection = TableService.getSortDirection(
|
|
152
|
-
prevOptions.sortDirection,
|
|
153
|
-
nextDirection
|
|
154
|
-
);
|
|
155
145
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
} else {
|
|
163
|
-
setOptions((prevOptions) => {
|
|
164
|
-
nextDirection = TableService.getSortDirection(
|
|
165
|
-
prevOptions.sortDirection,
|
|
166
|
-
nextDirection
|
|
167
|
-
);
|
|
146
|
+
if (sortKey === key) {
|
|
147
|
+
setOptions((prevOptions) => {
|
|
148
|
+
nextDirection = TableService.getSortDirection(
|
|
149
|
+
prevOptions.sortDirection,
|
|
150
|
+
nextDirection
|
|
151
|
+
);
|
|
168
152
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
176
|
-
} else if (filteredOrdersOptions) {
|
|
177
|
-
filteredOrdersOptions((prevOptions) => ({
|
|
178
|
-
...prevOptions,
|
|
179
|
-
sortKey: key,
|
|
180
|
-
sortDirection: nextDirection,
|
|
181
|
-
}));
|
|
153
|
+
return {
|
|
154
|
+
...prevOptions,
|
|
155
|
+
sortKey: key,
|
|
156
|
+
sortDirection: nextDirection,
|
|
157
|
+
};
|
|
158
|
+
});
|
|
182
159
|
} else {
|
|
183
160
|
setOptions((prevOptions) => ({
|
|
184
161
|
...prevOptions,
|
|
@@ -189,13 +166,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
189
166
|
};
|
|
190
167
|
|
|
191
168
|
const onPerPageChange = (nextPerPage: number) => {
|
|
192
|
-
if (filteredOrdersOptions) {
|
|
193
|
-
filteredOrdersOptions((prevOptions) => ({
|
|
194
|
-
...prevOptions,
|
|
195
|
-
page: nextPerPage,
|
|
196
|
-
}));
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
169
|
setOptions((prevOptions) => ({
|
|
200
170
|
...prevOptions,
|
|
201
171
|
perPage: nextPerPage,
|
|
@@ -203,13 +173,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
203
173
|
};
|
|
204
174
|
|
|
205
175
|
const onPageChange = (nextPage: number) => {
|
|
206
|
-
if (filteredOrdersOptions) {
|
|
207
|
-
filteredOrdersOptions((prevOptions) => ({
|
|
208
|
-
...prevOptions,
|
|
209
|
-
page: nextPage,
|
|
210
|
-
}));
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
176
|
setOptions((prevOptions) => ({
|
|
214
177
|
...prevOptions,
|
|
215
178
|
page: nextPage,
|
|
@@ -217,24 +180,6 @@ function TableHelperComponent(props: TableHelperComponentProps) {
|
|
|
217
180
|
};
|
|
218
181
|
|
|
219
182
|
const onFilterChange = (nextFilter: string) => {
|
|
220
|
-
if (filteredOrdersOptions) {
|
|
221
|
-
filteredOrdersOptions(({ page: prevPage, ...prevOptions }) => {
|
|
222
|
-
let nextPage = prevPage;
|
|
223
|
-
|
|
224
|
-
if (
|
|
225
|
-
(!nextFilter && prevOptions.filter) ||
|
|
226
|
-
(nextFilter && !prevOptions.filter)
|
|
227
|
-
) {
|
|
228
|
-
nextPage = 1;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
return {
|
|
232
|
-
...prevOptions,
|
|
233
|
-
page: nextPage,
|
|
234
|
-
filter: nextFilter,
|
|
235
|
-
};
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
183
|
setOptions(({ page: prevPage, ...prevOptions }) => {
|
|
239
184
|
let nextPage = prevPage;
|
|
240
185
|
|