@open-tender/store 1.1.184 → 1.1.186
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/OrderCard.d.ts +2 -2
- package/dist/cjs/components/OrderCard.js +6 -4
- package/dist/cjs/components/OrderDetails.d.ts +2 -1
- package/dist/cjs/components/OrderDetails.js +18 -2
- package/dist/cjs/components/SignInPhone.js +1 -0
- package/dist/cjs/hooks/useOrderValidate.js +4 -4
- package/dist/cjs/middlewares/idleMiddleware.js +6 -10
- package/dist/cjs/slices/idle.d.ts +1 -3
- package/dist/cjs/slices/idle.js +3 -11
- package/dist/esm/components/OrderCard.d.ts +2 -2
- package/dist/esm/components/OrderCard.js +7 -5
- package/dist/esm/components/OrderDetails.d.ts +2 -1
- package/dist/esm/components/OrderDetails.js +20 -4
- package/dist/esm/components/SignInPhone.js +1 -0
- package/dist/esm/hooks/useOrderValidate.js +4 -4
- package/dist/esm/middlewares/idleMiddleware.js +7 -11
- package/dist/esm/slices/idle.d.ts +1 -3
- package/dist/esm/slices/idle.js +2 -10
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Order } from '@open-tender/types';
|
|
2
2
|
import { ErrorMessageProps, OrderCardProps } from '@open-tender/ui';
|
|
3
3
|
import React, { ReactNode } from 'react';
|
|
4
|
-
declare const OrderCard: ({ order,
|
|
4
|
+
declare const OrderCard: ({ order, goToCheckout, children, ErrorMessageView }: {
|
|
5
5
|
order: Order;
|
|
6
|
-
|
|
6
|
+
goToCheckout: () => void;
|
|
7
7
|
children: (props: OrderCardProps) => ReactNode;
|
|
8
8
|
ErrorMessageView: (props: ErrorMessageProps) => ReactNode;
|
|
9
9
|
}) => React.ReactNode;
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
var uuid_1 = require("uuid");
|
|
5
6
|
var hooks_1 = require("../app/hooks");
|
|
6
7
|
var hooks_2 = require("../hooks");
|
|
7
8
|
var slices_1 = require("../slices");
|
|
8
9
|
var ErrorMessage_1 = tslib_1.__importDefault(require("./ErrorMessage"));
|
|
9
10
|
var OrderCard = function (_a) {
|
|
10
|
-
var order = _a.order,
|
|
11
|
+
var order = _a.order, goToCheckout = _a.goToCheckout, children = _a.children, ErrorMessageView = _a.ErrorMessageView;
|
|
11
12
|
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
12
13
|
var apiUrl = (0, hooks_1.useAppSelector)(slices_1.selectKioskApi);
|
|
13
14
|
var _b = (0, react_1.useState)(null), errMsg = _b[0], setErrMsg = _b[1];
|
|
@@ -17,7 +18,7 @@ var OrderCard = function (_a) {
|
|
|
17
18
|
var isLoading = loading === 'pending';
|
|
18
19
|
var _e = (0, hooks_2.useOrder)(order), itemImages = _e.itemImages, itemNames = _e.itemNames, orderNo = _e.orderNo, title = _e.title, subtitle = _e.subtitle;
|
|
19
20
|
var view = function () {
|
|
20
|
-
dispatch((0, slices_1.openModal)({ type: 'ORDER_DETAILS', args: { order: order } }));
|
|
21
|
+
dispatch((0, slices_1.openModal)({ type: 'ORDER_DETAILS', args: { order: order, goToCheckout: goToCheckout } }));
|
|
21
22
|
};
|
|
22
23
|
var reorder = function () {
|
|
23
24
|
setErrMsg(null);
|
|
@@ -32,10 +33,11 @@ var OrderCard = function (_a) {
|
|
|
32
33
|
setErrMsg(error.detail);
|
|
33
34
|
}
|
|
34
35
|
else {
|
|
35
|
-
|
|
36
|
+
dispatch((0, slices_1.setOrderId)((0, uuid_1.v4)()));
|
|
37
|
+
goToCheckout();
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
|
-
}, [isLoading, isReordering, error,
|
|
40
|
+
}, [dispatch, isLoading, isReordering, error, goToCheckout]);
|
|
39
41
|
var renderErrorMessage = (0, react_1.useCallback)(function (errMsg) { return (react_1.default.createElement(ErrorMessage_1.default, { content: errMsg, children: ErrorMessageView })); }, [ErrorMessageView]);
|
|
40
42
|
if (!config)
|
|
41
43
|
return null;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Order } from '@open-tender/types';
|
|
2
2
|
import { CheckTotalsProps, OrderDetailsItemProps, OrderDetailsProps } from '@open-tender/ui';
|
|
3
3
|
import React, { ReactNode } from 'react';
|
|
4
|
-
declare const OrderDetails: ({ order, close, children, CheckTotalsView, OrderDetailsItemView }: {
|
|
4
|
+
declare const OrderDetails: ({ order, close, goToCheckout, children, CheckTotalsView, OrderDetailsItemView }: {
|
|
5
5
|
order: Order;
|
|
6
6
|
close: () => void;
|
|
7
|
+
goToCheckout: () => void;
|
|
7
8
|
children: (props: OrderDetailsProps) => ReactNode;
|
|
8
9
|
CheckTotalsView: (props: CheckTotalsProps) => ReactNode;
|
|
9
10
|
OrderDetailsItemView: (props: OrderDetailsItemProps) => ReactNode;
|
|
@@ -2,19 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
var uuid_1 = require("uuid");
|
|
5
6
|
var hooks_1 = require("../app/hooks");
|
|
6
7
|
var hooks_2 = require("../hooks");
|
|
7
8
|
var slices_1 = require("../slices");
|
|
8
9
|
var CheckTotals_1 = tslib_1.__importDefault(require("./CheckTotals"));
|
|
9
10
|
var OrderDetailsItem_1 = tslib_1.__importDefault(require("./OrderDetailsItem"));
|
|
10
11
|
var OrderDetails = function (_a) {
|
|
11
|
-
var order = _a.order, close = _a.close, children = _a.children, CheckTotalsView = _a.CheckTotalsView, OrderDetailsItemView = _a.OrderDetailsItemView;
|
|
12
|
+
var order = _a.order, close = _a.close, goToCheckout = _a.goToCheckout, children = _a.children, CheckTotalsView = _a.CheckTotalsView, OrderDetailsItemView = _a.OrderDetailsItemView;
|
|
12
13
|
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
13
14
|
var apiUrl = (0, hooks_1.useAppSelector)(slices_1.selectKioskApi);
|
|
14
15
|
var _b = (0, react_1.useState)(null), errMsg = _b[0], setErrMsg = _b[1];
|
|
15
16
|
var _c = (0, react_1.useState)(false), isReordering = _c[0], setIsReordering = _c[1];
|
|
16
17
|
var _d = (0, hooks_2.useOrder)(order), subtitle = _d.title, title = _d.orderNo, requestedAt = _d.requestedAt;
|
|
17
|
-
var _e = (0, hooks_1.useAppSelector)(slices_1.
|
|
18
|
+
var _e = (0, hooks_1.useAppSelector)(slices_1.selectOrder), loading = _e.loading, error = _e.error;
|
|
19
|
+
var isLoading = loading === 'pending';
|
|
20
|
+
var _f = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _f.orderDetails, modalContentConfig = _f.modalContent;
|
|
18
21
|
var reorder = function () {
|
|
19
22
|
setErrMsg(null);
|
|
20
23
|
setIsReordering(true);
|
|
@@ -22,6 +25,19 @@ var OrderDetails = function (_a) {
|
|
|
22
25
|
};
|
|
23
26
|
var renderCheckTotals = (0, react_1.useCallback)(function () { return react_1.default.createElement(CheckTotals_1.default, { check: order, children: CheckTotalsView }); }, [order, CheckTotalsView]);
|
|
24
27
|
var renderOrderDetailsItem = (0, react_1.useCallback)(function (orderItem) { return (react_1.default.createElement(OrderDetailsItem_1.default, { key: orderItem.id, orderItem: orderItem, children: OrderDetailsItemView })); }, [OrderDetailsItemView]);
|
|
28
|
+
(0, react_1.useEffect)(function () {
|
|
29
|
+
if (isReordering && !isLoading) {
|
|
30
|
+
setIsReordering(false);
|
|
31
|
+
if (error) {
|
|
32
|
+
setErrMsg(error.detail);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
dispatch((0, slices_1.setOrderId)((0, uuid_1.v4)()));
|
|
36
|
+
goToCheckout();
|
|
37
|
+
close();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}, [dispatch, isLoading, isReordering, error, goToCheckout, close]);
|
|
25
41
|
if (!config)
|
|
26
42
|
return null;
|
|
27
43
|
return children({
|
|
@@ -11,12 +11,12 @@ var useOrderValidate = function () {
|
|
|
11
11
|
var checkout = (0, hooks_1.useAppSelector)(slices_1.selectPosCheckout);
|
|
12
12
|
var order = (0, hooks_1.useAppSelector)(slices_1.selectOrder);
|
|
13
13
|
var preparedOrder = (0, slices_1.prepareOrder)(order, checkout);
|
|
14
|
-
var
|
|
15
|
-
var prevOrderCheckout = (0, usePrevious_1.default)(
|
|
14
|
+
var orderCheckout = tslib_1.__rest(preparedOrder || {}, []);
|
|
15
|
+
var prevOrderCheckout = (0, usePrevious_1.default)(orderCheckout);
|
|
16
16
|
(0, react_1.useEffect)(function () {
|
|
17
|
-
if (preparedOrder && !(0, react_fast_compare_1.default)(prevOrderCheckout,
|
|
17
|
+
if (preparedOrder && !(0, react_fast_compare_1.default)(prevOrderCheckout, orderCheckout)) {
|
|
18
18
|
dispatch((0, slices_1.validatePosOrder)());
|
|
19
19
|
}
|
|
20
|
-
}, [dispatch, preparedOrder, prevOrderCheckout,
|
|
20
|
+
}, [dispatch, preparedOrder, prevOrderCheckout, orderCheckout]);
|
|
21
21
|
};
|
|
22
22
|
exports.default = useOrderValidate;
|
|
@@ -3,27 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.idleMiddleware = void 0;
|
|
4
4
|
var slices_1 = require("../slices");
|
|
5
5
|
var DEFAULT_PAGE_TIMEOUT = 60;
|
|
6
|
+
var idleTimeout = null;
|
|
6
7
|
var idleMiddleware = function (store) { return function (next) { return function (action) {
|
|
7
8
|
var _a;
|
|
8
9
|
var result = next(action);
|
|
9
|
-
if (
|
|
10
|
-
|
|
10
|
+
if (idleTimeout) {
|
|
11
|
+
clearTimeout(idleTimeout);
|
|
11
12
|
}
|
|
12
13
|
var state = store.getState();
|
|
13
|
-
var
|
|
14
|
-
if (
|
|
15
|
-
clearTimeout(prevTimerId);
|
|
16
|
-
store.dispatch((0, slices_1.setIdleTimerId)(undefined));
|
|
17
|
-
}
|
|
18
|
-
if (hasOrder && !isIdle) {
|
|
14
|
+
var hasOrder = state.idle.hasOrder;
|
|
15
|
+
if (hasOrder) {
|
|
19
16
|
var pageTimeout = (_a = state.kiosk.store) === null || _a === void 0 ? void 0 : _a.page_timeout;
|
|
20
17
|
if (!pageTimeout)
|
|
21
18
|
return;
|
|
22
19
|
var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT;
|
|
23
|
-
|
|
20
|
+
idleTimeout = setTimeout(function () {
|
|
24
21
|
store.dispatch((0, slices_1.setIsIdle)(true));
|
|
25
22
|
}, timeout * 1000);
|
|
26
|
-
store.dispatch((0, slices_1.setIdleTimerId)(timerId));
|
|
27
23
|
}
|
|
28
24
|
return result;
|
|
29
25
|
}; }; };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { AppState } from '../app';
|
|
2
2
|
export interface IdleState {
|
|
3
|
-
timerId: number | undefined;
|
|
4
3
|
hasOrder: boolean;
|
|
5
4
|
isIdle: boolean;
|
|
6
|
-
statusChanged: boolean;
|
|
7
5
|
}
|
|
8
|
-
export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setHasOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setHasOrder">,
|
|
6
|
+
export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setHasOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setHasOrder">, setIsIdle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIsIdle">;
|
|
9
7
|
export declare const selectIdleState: (state: AppState) => IdleState;
|
|
10
8
|
export declare const idleReducer: import("redux").Reducer<IdleState>;
|
package/dist/cjs/slices/idle.js
CHANGED
|
@@ -1,35 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.idleReducer = exports.selectIdleState = exports.
|
|
4
|
+
exports.idleReducer = exports.selectIdleState = exports.setIsIdle = exports.setHasOrder = exports.resetIdleState = void 0;
|
|
5
5
|
var toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
var types_1 = require("./types");
|
|
7
7
|
var initialState = {
|
|
8
|
-
timerId: undefined,
|
|
9
8
|
hasOrder: false,
|
|
10
|
-
isIdle: false
|
|
11
|
-
statusChanged: false
|
|
9
|
+
isIdle: false
|
|
12
10
|
};
|
|
13
11
|
var idleSlice = (0, toolkit_1.createSlice)({
|
|
14
12
|
name: types_1.ReducerType.Idle,
|
|
15
13
|
initialState: initialState,
|
|
16
14
|
reducers: {
|
|
17
15
|
resetIdleState: function () { return initialState; },
|
|
18
|
-
setIdleTimerId: function (state, action) {
|
|
19
|
-
state.timerId = action.payload;
|
|
20
|
-
},
|
|
21
16
|
setHasOrder: function (state, action) {
|
|
22
17
|
state.hasOrder = action.payload;
|
|
23
18
|
},
|
|
24
19
|
setIsIdle: function (state, action) {
|
|
25
20
|
state.isIdle = action.payload;
|
|
26
|
-
},
|
|
27
|
-
setStatusChanged: function (state) {
|
|
28
|
-
state.statusChanged = !state.statusChanged;
|
|
29
21
|
}
|
|
30
22
|
}
|
|
31
23
|
});
|
|
32
|
-
exports.resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), exports.setHasOrder = _a.setHasOrder, exports.
|
|
24
|
+
exports.resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), exports.setHasOrder = _a.setHasOrder, exports.setIsIdle = _a.setIsIdle;
|
|
33
25
|
var selectIdleState = function (state) { return state.idle; };
|
|
34
26
|
exports.selectIdleState = selectIdleState;
|
|
35
27
|
exports.idleReducer = idleSlice.reducer;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Order } from '@open-tender/types';
|
|
2
2
|
import { ErrorMessageProps, OrderCardProps } from '@open-tender/ui';
|
|
3
3
|
import React, { ReactNode } from 'react';
|
|
4
|
-
declare const OrderCard: ({ order,
|
|
4
|
+
declare const OrderCard: ({ order, goToCheckout, children, ErrorMessageView }: {
|
|
5
5
|
order: Order;
|
|
6
|
-
|
|
6
|
+
goToCheckout: () => void;
|
|
7
7
|
children: (props: OrderCardProps) => ReactNode;
|
|
8
8
|
ErrorMessageView: (props: ErrorMessageProps) => ReactNode;
|
|
9
9
|
}) => React.ReactNode;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
3
|
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
3
4
|
import { useOrder } from '../hooks';
|
|
4
|
-
import { selectKioskConfig, selectOrder, reorder as reorderPastOrder, openModal, selectKioskApi } from '../slices';
|
|
5
|
+
import { selectKioskConfig, selectOrder, reorder as reorderPastOrder, openModal, selectKioskApi, setOrderId } from '../slices';
|
|
5
6
|
import { default as ErrorMessageContainer } from './ErrorMessage';
|
|
6
7
|
var OrderCard = function (_a) {
|
|
7
|
-
var order = _a.order,
|
|
8
|
+
var order = _a.order, goToCheckout = _a.goToCheckout, children = _a.children, ErrorMessageView = _a.ErrorMessageView;
|
|
8
9
|
var dispatch = useAppDispatch();
|
|
9
10
|
var apiUrl = useAppSelector(selectKioskApi);
|
|
10
11
|
var _b = useState(null), errMsg = _b[0], setErrMsg = _b[1];
|
|
@@ -14,7 +15,7 @@ var OrderCard = function (_a) {
|
|
|
14
15
|
var isLoading = loading === 'pending';
|
|
15
16
|
var _e = useOrder(order), itemImages = _e.itemImages, itemNames = _e.itemNames, orderNo = _e.orderNo, title = _e.title, subtitle = _e.subtitle;
|
|
16
17
|
var view = function () {
|
|
17
|
-
dispatch(openModal({ type: 'ORDER_DETAILS', args: { order: order } }));
|
|
18
|
+
dispatch(openModal({ type: 'ORDER_DETAILS', args: { order: order, goToCheckout: goToCheckout } }));
|
|
18
19
|
};
|
|
19
20
|
var reorder = function () {
|
|
20
21
|
setErrMsg(null);
|
|
@@ -29,10 +30,11 @@ var OrderCard = function (_a) {
|
|
|
29
30
|
setErrMsg(error.detail);
|
|
30
31
|
}
|
|
31
32
|
else {
|
|
32
|
-
|
|
33
|
+
dispatch(setOrderId(uuidv4()));
|
|
34
|
+
goToCheckout();
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
|
-
}, [isLoading, isReordering, error,
|
|
37
|
+
}, [dispatch, isLoading, isReordering, error, goToCheckout]);
|
|
36
38
|
var renderErrorMessage = useCallback(function (errMsg) { return (React.createElement(ErrorMessageContainer, { content: errMsg, children: ErrorMessageView })); }, [ErrorMessageView]);
|
|
37
39
|
if (!config)
|
|
38
40
|
return null;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Order } from '@open-tender/types';
|
|
2
2
|
import { CheckTotalsProps, OrderDetailsItemProps, OrderDetailsProps } from '@open-tender/ui';
|
|
3
3
|
import React, { ReactNode } from 'react';
|
|
4
|
-
declare const OrderDetails: ({ order, close, children, CheckTotalsView, OrderDetailsItemView }: {
|
|
4
|
+
declare const OrderDetails: ({ order, close, goToCheckout, children, CheckTotalsView, OrderDetailsItemView }: {
|
|
5
5
|
order: Order;
|
|
6
6
|
close: () => void;
|
|
7
|
+
goToCheckout: () => void;
|
|
7
8
|
children: (props: OrderDetailsProps) => ReactNode;
|
|
8
9
|
CheckTotalsView: (props: CheckTotalsProps) => ReactNode;
|
|
9
10
|
OrderDetailsItemView: (props: OrderDetailsItemProps) => ReactNode;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import React, { useCallback, useState } from 'react';
|
|
1
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
3
|
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
3
4
|
import { useOrder } from '../hooks';
|
|
4
|
-
import { selectKioskConfig, reorder as reorderPastOrder, selectKioskApi } from '../slices';
|
|
5
|
+
import { selectKioskConfig, reorder as reorderPastOrder, selectKioskApi, selectOrder, setOrderId } from '../slices';
|
|
5
6
|
import { default as CheckTotalsContainer } from './CheckTotals';
|
|
6
7
|
import { default as OrderDetailsItemContainer } from './OrderDetailsItem';
|
|
7
8
|
var OrderDetails = function (_a) {
|
|
8
|
-
var order = _a.order, close = _a.close, children = _a.children, CheckTotalsView = _a.CheckTotalsView, OrderDetailsItemView = _a.OrderDetailsItemView;
|
|
9
|
+
var order = _a.order, close = _a.close, goToCheckout = _a.goToCheckout, children = _a.children, CheckTotalsView = _a.CheckTotalsView, OrderDetailsItemView = _a.OrderDetailsItemView;
|
|
9
10
|
var dispatch = useAppDispatch();
|
|
10
11
|
var apiUrl = useAppSelector(selectKioskApi);
|
|
11
12
|
var _b = useState(null), errMsg = _b[0], setErrMsg = _b[1];
|
|
12
13
|
var _c = useState(false), isReordering = _c[0], setIsReordering = _c[1];
|
|
13
14
|
var _d = useOrder(order), subtitle = _d.title, title = _d.orderNo, requestedAt = _d.requestedAt;
|
|
14
|
-
var _e = useAppSelector(
|
|
15
|
+
var _e = useAppSelector(selectOrder), loading = _e.loading, error = _e.error;
|
|
16
|
+
var isLoading = loading === 'pending';
|
|
17
|
+
var _f = useAppSelector(selectKioskConfig), config = _f.orderDetails, modalContentConfig = _f.modalContent;
|
|
15
18
|
var reorder = function () {
|
|
16
19
|
setErrMsg(null);
|
|
17
20
|
setIsReordering(true);
|
|
@@ -19,6 +22,19 @@ var OrderDetails = function (_a) {
|
|
|
19
22
|
};
|
|
20
23
|
var renderCheckTotals = useCallback(function () { return React.createElement(CheckTotalsContainer, { check: order, children: CheckTotalsView }); }, [order, CheckTotalsView]);
|
|
21
24
|
var renderOrderDetailsItem = useCallback(function (orderItem) { return (React.createElement(OrderDetailsItemContainer, { key: orderItem.id, orderItem: orderItem, children: OrderDetailsItemView })); }, [OrderDetailsItemView]);
|
|
25
|
+
useEffect(function () {
|
|
26
|
+
if (isReordering && !isLoading) {
|
|
27
|
+
setIsReordering(false);
|
|
28
|
+
if (error) {
|
|
29
|
+
setErrMsg(error.detail);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
dispatch(setOrderId(uuidv4()));
|
|
33
|
+
goToCheckout();
|
|
34
|
+
close();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, [dispatch, isLoading, isReordering, error, goToCheckout, close]);
|
|
22
38
|
if (!config)
|
|
23
39
|
return null;
|
|
24
40
|
return children({
|
|
@@ -9,12 +9,12 @@ var useOrderValidate = function () {
|
|
|
9
9
|
var checkout = useAppSelector(selectPosCheckout);
|
|
10
10
|
var order = useAppSelector(selectOrder);
|
|
11
11
|
var preparedOrder = prepareOrder(order, checkout);
|
|
12
|
-
var
|
|
13
|
-
var prevOrderCheckout = usePrevious(
|
|
12
|
+
var orderCheckout = __rest(preparedOrder || {}, []);
|
|
13
|
+
var prevOrderCheckout = usePrevious(orderCheckout);
|
|
14
14
|
useEffect(function () {
|
|
15
|
-
if (preparedOrder && !isEqual(prevOrderCheckout,
|
|
15
|
+
if (preparedOrder && !isEqual(prevOrderCheckout, orderCheckout)) {
|
|
16
16
|
dispatch(validatePosOrder());
|
|
17
17
|
}
|
|
18
|
-
}, [dispatch, preparedOrder, prevOrderCheckout,
|
|
18
|
+
}, [dispatch, preparedOrder, prevOrderCheckout, orderCheckout]);
|
|
19
19
|
};
|
|
20
20
|
export default useOrderValidate;
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { setIsIdle } from '../slices';
|
|
2
2
|
var DEFAULT_PAGE_TIMEOUT = 60;
|
|
3
|
+
var idleTimeout = null;
|
|
3
4
|
export var idleMiddleware = function (store) { return function (next) { return function (action) {
|
|
4
5
|
var _a;
|
|
5
6
|
var result = next(action);
|
|
6
|
-
if (
|
|
7
|
-
|
|
7
|
+
if (idleTimeout) {
|
|
8
|
+
clearTimeout(idleTimeout);
|
|
8
9
|
}
|
|
9
10
|
var state = store.getState();
|
|
10
|
-
var
|
|
11
|
-
if (
|
|
12
|
-
clearTimeout(prevTimerId);
|
|
13
|
-
store.dispatch(setIdleTimerId(undefined));
|
|
14
|
-
}
|
|
15
|
-
if (hasOrder && !isIdle) {
|
|
11
|
+
var hasOrder = state.idle.hasOrder;
|
|
12
|
+
if (hasOrder) {
|
|
16
13
|
var pageTimeout = (_a = state.kiosk.store) === null || _a === void 0 ? void 0 : _a.page_timeout;
|
|
17
14
|
if (!pageTimeout)
|
|
18
15
|
return;
|
|
19
16
|
var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT;
|
|
20
|
-
|
|
17
|
+
idleTimeout = setTimeout(function () {
|
|
21
18
|
store.dispatch(setIsIdle(true));
|
|
22
19
|
}, timeout * 1000);
|
|
23
|
-
store.dispatch(setIdleTimerId(timerId));
|
|
24
20
|
}
|
|
25
21
|
return result;
|
|
26
22
|
}; }; };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { AppState } from '../app';
|
|
2
2
|
export interface IdleState {
|
|
3
|
-
timerId: number | undefined;
|
|
4
3
|
hasOrder: boolean;
|
|
5
4
|
isIdle: boolean;
|
|
6
|
-
statusChanged: boolean;
|
|
7
5
|
}
|
|
8
|
-
export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setHasOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setHasOrder">,
|
|
6
|
+
export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setHasOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setHasOrder">, setIsIdle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIsIdle">;
|
|
9
7
|
export declare const selectIdleState: (state: AppState) => IdleState;
|
|
10
8
|
export declare const idleReducer: import("redux").Reducer<IdleState>;
|
package/dist/esm/slices/idle.js
CHANGED
|
@@ -2,30 +2,22 @@ var _a;
|
|
|
2
2
|
import { createSlice } from '@reduxjs/toolkit';
|
|
3
3
|
import { ReducerType } from './types';
|
|
4
4
|
var initialState = {
|
|
5
|
-
timerId: undefined,
|
|
6
5
|
hasOrder: false,
|
|
7
|
-
isIdle: false
|
|
8
|
-
statusChanged: false
|
|
6
|
+
isIdle: false
|
|
9
7
|
};
|
|
10
8
|
var idleSlice = createSlice({
|
|
11
9
|
name: ReducerType.Idle,
|
|
12
10
|
initialState: initialState,
|
|
13
11
|
reducers: {
|
|
14
12
|
resetIdleState: function () { return initialState; },
|
|
15
|
-
setIdleTimerId: function (state, action) {
|
|
16
|
-
state.timerId = action.payload;
|
|
17
|
-
},
|
|
18
13
|
setHasOrder: function (state, action) {
|
|
19
14
|
state.hasOrder = action.payload;
|
|
20
15
|
},
|
|
21
16
|
setIsIdle: function (state, action) {
|
|
22
17
|
state.isIdle = action.payload;
|
|
23
|
-
},
|
|
24
|
-
setStatusChanged: function (state) {
|
|
25
|
-
state.statusChanged = !state.statusChanged;
|
|
26
18
|
}
|
|
27
19
|
}
|
|
28
20
|
});
|
|
29
|
-
export var resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), setHasOrder = _a.setHasOrder,
|
|
21
|
+
export var resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), setHasOrder = _a.setHasOrder, setIsIdle = _a.setIsIdle;
|
|
30
22
|
export var selectIdleState = function (state) { return state.idle; };
|
|
31
23
|
export var idleReducer = idleSlice.reducer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.186",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|