@open-tender/store 1.1.142 → 1.1.144

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.
@@ -13,6 +13,7 @@ var CancelButton = function (_a) {
13
13
  dispatch((0, slices_1.resetCustomerIdentify)());
14
14
  dispatch((0, slices_1.resetCustomer)());
15
15
  dispatch((0, slices_1.resetMenu)());
16
+ dispatch((0, slices_1.setIsIdle)(false));
16
17
  navigate('/');
17
18
  };
18
19
  var handlers = { startOver: startOver };
@@ -8,22 +8,22 @@ var IdleModal = function (_a) {
8
8
  var close = _a.close, navigate = _a.navigate, children = _a.children;
9
9
  var dispatch = (0, hooks_1.useAppDispatch)();
10
10
  var _b = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _b.idleModal, modalContentConfig = _b.modalContent;
11
- var handleInactivity = (0, react_1.useCallback)(function () {
12
- dispatch((0, slices_1.resetPosCheckout)());
13
- dispatch((0, slices_1.setOrderId)(null));
14
- dispatch((0, slices_1.resetCart)());
15
- dispatch((0, slices_1.resetCustomerIdentify)());
16
- dispatch((0, slices_1.resetCustomer)());
17
- dispatch((0, slices_1.resetMenu)());
18
- navigate('/');
19
- close();
20
- }, [dispatch, navigate, close]);
21
11
  var handlers = (0, react_1.useMemo)(function () { return ({ close: close }); }, [close]);
22
12
  (0, react_1.useEffect)(function () {
13
+ var handleInactivity = function () {
14
+ dispatch((0, slices_1.resetPosCheckout)());
15
+ dispatch((0, slices_1.setOrderId)(null));
16
+ dispatch((0, slices_1.resetCart)());
17
+ dispatch((0, slices_1.resetCustomerIdentify)());
18
+ dispatch((0, slices_1.resetCustomer)());
19
+ dispatch((0, slices_1.resetMenu)());
20
+ dispatch((0, slices_1.setIsIdle)(false));
21
+ navigate('/');
22
+ close();
23
+ };
23
24
  var timeout = setTimeout(handleInactivity, WAITING_TIME_IN_SECONDS * 1000);
24
25
  return function () { return clearTimeout(timeout); };
25
- // eslint-disable-next-line react-hooks/exhaustive-deps
26
- }, []);
26
+ }, [dispatch, navigate, close]);
27
27
  if (!config)
28
28
  return null;
29
29
  return children({ config: config, modalContentConfig: modalContentConfig, handlers: handlers });
@@ -6,20 +6,22 @@ var DEFAULT_PAGE_TIMEOUT = 60;
6
6
  var idleMiddleware = function (store) { return function (next) { return function (action) {
7
7
  var _a, _b;
8
8
  var result = next(action);
9
+ var state = store.getState();
10
+ var _c = state.idle, hasOrder = _c.hasOrder, isIdle = _c.isIdle;
9
11
  if (action.type === slices_1.setIsIdle.type || action.type === slices_1.setIdleTimerId.type) {
10
12
  return result;
11
13
  }
12
- var state = store.getState();
13
- var isIdle = state.idle.isIdle;
14
+ if (!hasOrder)
15
+ store.dispatch((0, slices_1.setHasOrder)(true));
14
16
  if (isIdle)
15
17
  store.dispatch((0, slices_1.setIsIdle)(false));
16
18
  var prevTimerId = state.idle.timerId;
17
19
  clearTimeout(prevTimerId);
18
20
  var pageTimeout = (_b = (_a = state.kiosk.store) === null || _a === void 0 ? void 0 : _a.page_timeout) !== null && _b !== void 0 ? _b : 0;
19
- var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT * 1000;
21
+ var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT;
20
22
  var timerId = setTimeout(function () {
21
23
  store.dispatch((0, slices_1.setIsIdle)(true));
22
- }, timeout);
24
+ }, timeout * 1000);
23
25
  store.dispatch((0, slices_1.setIdleTimerId)(timerId));
24
26
  return result;
25
27
  }; }; };
@@ -1,9 +1,10 @@
1
1
  import { AppState } from '../app';
2
2
  export interface IdleState {
3
3
  timerId: number | undefined;
4
+ hasOrder: boolean;
4
5
  isIdle: boolean;
5
6
  statusChanged: boolean;
6
7
  }
7
- export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setIdleTimerId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIdleTimerId">, setIsIdle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIsIdle">, setStatusChanged: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/setStatusChanged">;
8
+ export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setHasOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setHasOrder">, setIdleTimerId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIdleTimerId">, setIsIdle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIsIdle">, setStatusChanged: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/setStatusChanged">;
8
9
  export declare const selectIdleState: (state: AppState) => IdleState;
9
10
  export declare const idleReducer: import("redux").Reducer<IdleState>;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.idleReducer = exports.selectIdleState = exports.setStatusChanged = exports.setIsIdle = exports.setIdleTimerId = exports.resetIdleState = void 0;
4
+ exports.idleReducer = exports.selectIdleState = exports.setStatusChanged = exports.setIsIdle = exports.setIdleTimerId = 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
8
  timerId: undefined,
9
+ hasOrder: false,
9
10
  isIdle: false,
10
11
  statusChanged: false
11
12
  };
@@ -17,6 +18,9 @@ var idleSlice = (0, toolkit_1.createSlice)({
17
18
  setIdleTimerId: function (state, action) {
18
19
  state.timerId = action.payload;
19
20
  },
21
+ setHasOrder: function (state, action) {
22
+ state.isIdle = action.payload;
23
+ },
20
24
  setIsIdle: function (state, action) {
21
25
  state.isIdle = action.payload;
22
26
  },
@@ -25,7 +29,7 @@ var idleSlice = (0, toolkit_1.createSlice)({
25
29
  }
26
30
  }
27
31
  });
28
- exports.resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), exports.setIdleTimerId = _a.setIdleTimerId, exports.setIsIdle = _a.setIsIdle, exports.setStatusChanged = _a.setStatusChanged;
32
+ exports.resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), exports.setHasOrder = _a.setHasOrder, exports.setIdleTimerId = _a.setIdleTimerId, exports.setIsIdle = _a.setIsIdle, exports.setStatusChanged = _a.setStatusChanged;
29
33
  var selectIdleState = function (state) { return state.idle; };
30
34
  exports.selectIdleState = selectIdleState;
31
35
  exports.idleReducer = idleSlice.reducer;
@@ -1,5 +1,5 @@
1
1
  import { useAppDispatch, useAppSelector } from '../app/hooks';
2
- import { resetCart, resetCustomer, resetCustomerIdentify, resetMenu, resetPosCheckout, selectKioskConfig, setOrderId } from '../slices';
2
+ import { resetCart, resetCustomer, resetCustomerIdentify, resetMenu, resetPosCheckout, selectKioskConfig, setIsIdle, setOrderId } from '../slices';
3
3
  var CancelButton = function (_a) {
4
4
  var navigate = _a.navigate, children = _a.children;
5
5
  var dispatch = useAppDispatch();
@@ -11,6 +11,7 @@ var CancelButton = function (_a) {
11
11
  dispatch(resetCustomerIdentify());
12
12
  dispatch(resetCustomer());
13
13
  dispatch(resetMenu());
14
+ dispatch(setIsIdle(false));
14
15
  navigate('/');
15
16
  };
16
17
  var handlers = { startOver: startOver };
@@ -1,27 +1,27 @@
1
- import { useCallback, useEffect, useMemo } from 'react';
1
+ import { useEffect, useMemo } from 'react';
2
2
  import { useAppDispatch, useAppSelector } from '../app/hooks';
3
- import { resetCart, resetCustomer, resetCustomerIdentify, resetMenu, resetPosCheckout, selectKioskConfig, setOrderId } from '../slices';
3
+ import { resetCart, resetCustomer, resetCustomerIdentify, resetMenu, resetPosCheckout, selectKioskConfig, setIsIdle, setOrderId } from '../slices';
4
4
  var WAITING_TIME_IN_SECONDS = 15;
5
5
  var IdleModal = function (_a) {
6
6
  var close = _a.close, navigate = _a.navigate, children = _a.children;
7
7
  var dispatch = useAppDispatch();
8
8
  var _b = useAppSelector(selectKioskConfig), config = _b.idleModal, modalContentConfig = _b.modalContent;
9
- var handleInactivity = useCallback(function () {
10
- dispatch(resetPosCheckout());
11
- dispatch(setOrderId(null));
12
- dispatch(resetCart());
13
- dispatch(resetCustomerIdentify());
14
- dispatch(resetCustomer());
15
- dispatch(resetMenu());
16
- navigate('/');
17
- close();
18
- }, [dispatch, navigate, close]);
19
9
  var handlers = useMemo(function () { return ({ close: close }); }, [close]);
20
10
  useEffect(function () {
11
+ var handleInactivity = function () {
12
+ dispatch(resetPosCheckout());
13
+ dispatch(setOrderId(null));
14
+ dispatch(resetCart());
15
+ dispatch(resetCustomerIdentify());
16
+ dispatch(resetCustomer());
17
+ dispatch(resetMenu());
18
+ dispatch(setIsIdle(false));
19
+ navigate('/');
20
+ close();
21
+ };
21
22
  var timeout = setTimeout(handleInactivity, WAITING_TIME_IN_SECONDS * 1000);
22
23
  return function () { return clearTimeout(timeout); };
23
- // eslint-disable-next-line react-hooks/exhaustive-deps
24
- }, []);
24
+ }, [dispatch, navigate, close]);
25
25
  if (!config)
26
26
  return null;
27
27
  return children({ config: config, modalContentConfig: modalContentConfig, handlers: handlers });
@@ -1,22 +1,24 @@
1
- import { setIdleTimerId, setIsIdle } from '../slices';
1
+ import { setHasOrder, setIdleTimerId, setIsIdle } from '../slices';
2
2
  var DEFAULT_PAGE_TIMEOUT = 60;
3
3
  export var idleMiddleware = function (store) { return function (next) { return function (action) {
4
4
  var _a, _b;
5
5
  var result = next(action);
6
+ var state = store.getState();
7
+ var _c = state.idle, hasOrder = _c.hasOrder, isIdle = _c.isIdle;
6
8
  if (action.type === setIsIdle.type || action.type === setIdleTimerId.type) {
7
9
  return result;
8
10
  }
9
- var state = store.getState();
10
- var isIdle = state.idle.isIdle;
11
+ if (!hasOrder)
12
+ store.dispatch(setHasOrder(true));
11
13
  if (isIdle)
12
14
  store.dispatch(setIsIdle(false));
13
15
  var prevTimerId = state.idle.timerId;
14
16
  clearTimeout(prevTimerId);
15
17
  var pageTimeout = (_b = (_a = state.kiosk.store) === null || _a === void 0 ? void 0 : _a.page_timeout) !== null && _b !== void 0 ? _b : 0;
16
- var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT * 1000;
18
+ var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT;
17
19
  var timerId = setTimeout(function () {
18
20
  store.dispatch(setIsIdle(true));
19
- }, timeout);
21
+ }, timeout * 1000);
20
22
  store.dispatch(setIdleTimerId(timerId));
21
23
  return result;
22
24
  }; }; };
@@ -1,9 +1,10 @@
1
1
  import { AppState } from '../app';
2
2
  export interface IdleState {
3
3
  timerId: number | undefined;
4
+ hasOrder: boolean;
4
5
  isIdle: boolean;
5
6
  statusChanged: boolean;
6
7
  }
7
- export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setIdleTimerId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIdleTimerId">, setIsIdle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIsIdle">, setStatusChanged: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/setStatusChanged">;
8
+ export declare const resetIdleState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/resetIdleState">, setHasOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setHasOrder">, setIdleTimerId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIdleTimerId">, setIsIdle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "idle/setIsIdle">, setStatusChanged: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"idle/setStatusChanged">;
8
9
  export declare const selectIdleState: (state: AppState) => IdleState;
9
10
  export declare const idleReducer: import("redux").Reducer<IdleState>;
@@ -3,6 +3,7 @@ import { createSlice } from '@reduxjs/toolkit';
3
3
  import { ReducerType } from './types';
4
4
  var initialState = {
5
5
  timerId: undefined,
6
+ hasOrder: false,
6
7
  isIdle: false,
7
8
  statusChanged: false
8
9
  };
@@ -14,6 +15,9 @@ var idleSlice = createSlice({
14
15
  setIdleTimerId: function (state, action) {
15
16
  state.timerId = action.payload;
16
17
  },
18
+ setHasOrder: function (state, action) {
19
+ state.isIdle = action.payload;
20
+ },
17
21
  setIsIdle: function (state, action) {
18
22
  state.isIdle = action.payload;
19
23
  },
@@ -22,6 +26,6 @@ var idleSlice = createSlice({
22
26
  }
23
27
  }
24
28
  });
25
- export var resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), setIdleTimerId = _a.setIdleTimerId, setIsIdle = _a.setIsIdle, setStatusChanged = _a.setStatusChanged;
29
+ export var resetIdleState = (_a = idleSlice.actions, _a.resetIdleState), setHasOrder = _a.setHasOrder, setIdleTimerId = _a.setIdleTimerId, setIsIdle = _a.setIsIdle, setStatusChanged = _a.setStatusChanged;
26
30
  export var selectIdleState = function (state) { return state.idle; };
27
31
  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.142",
3
+ "version": "1.1.144",
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",