@open-tender/store 0.7.3 → 0.7.5
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/.DS_Store +0 -0
- package/dist/cjs/slices/checkout.js +1 -2
- package/dist/cjs/slices/config.d.ts +1 -3
- package/dist/cjs/slices/config.js +15 -18
- package/dist/cjs/slices/order.d.ts +8 -23
- package/dist/cjs/slices/order.js +18 -76
- package/dist/cjs/slices/pos.js +1 -1
- package/dist/cjs/types/api/store.d.ts +9 -16
- package/dist/cjs/types/global.d.ts +3 -1
- package/dist/cjs/utils/datetimes.d.ts +1 -1
- package/dist/cjs/utils/order.js +0 -1
- package/dist/esm/slices/checkout.js +1 -2
- package/dist/esm/slices/config.d.ts +1 -3
- package/dist/esm/slices/config.js +15 -17
- package/dist/esm/slices/order.d.ts +8 -23
- package/dist/esm/slices/order.js +18 -74
- package/dist/esm/slices/pos.js +1 -1
- package/dist/esm/types/api/store.d.ts +9 -16
- package/dist/esm/types/global.d.ts +3 -1
- package/dist/esm/utils/datetimes.d.ts +1 -1
- package/dist/esm/utils/order.js +0 -1
- package/package.json +1 -1
package/dist/.DS_Store
ADDED
|
Binary file
|
|
@@ -36,12 +36,11 @@ var getAmountDue = function (check) {
|
|
|
36
36
|
return check && check.totals ? check.totals.amount_due : null;
|
|
37
37
|
};
|
|
38
38
|
var prepareOrder = function (order, checkout) {
|
|
39
|
-
var order_uuid = order.orderId, requested_at = order.requestedAt, service_type = order.serviceType, order_type = order.orderType,
|
|
39
|
+
var order_uuid = order.orderId, requested_at = order.requestedAt, service_type = order.serviceType, order_type = order.orderType, revenue_center_id = order.revenueCenterId;
|
|
40
40
|
if (!order_uuid)
|
|
41
41
|
return null;
|
|
42
42
|
var simpleCart = (0, order_1.makeSimpleCart)(order.cart);
|
|
43
43
|
var cart = simpleCart.filter(function (item) { return item; });
|
|
44
|
-
var revenue_center_id = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.revenue_center_id;
|
|
45
44
|
if (!revenue_center_id || !order_type || !service_type) {
|
|
46
45
|
return null;
|
|
47
46
|
}
|
|
@@ -10,7 +10,6 @@ export interface ConfigState {
|
|
|
10
10
|
version?: string | null;
|
|
11
11
|
devices: Devices | null;
|
|
12
12
|
store: Store | null;
|
|
13
|
-
revenueCenterId: number | null;
|
|
14
13
|
selectOptions: SelectOptions | null;
|
|
15
14
|
menuColors: MenuColors | null;
|
|
16
15
|
name: string | null;
|
|
@@ -42,10 +41,9 @@ export declare const selectApi: (state: AppState) => PosAPI;
|
|
|
42
41
|
export declare const selectVersion: (state: AppState) => string | null | undefined;
|
|
43
42
|
export declare const selectDevices: (state: AppState) => Devices | null;
|
|
44
43
|
export declare const selectStore: (state: AppState) => Store | null;
|
|
45
|
-
export declare const selectRevenueCenterId: (state: AppState) => number | null;
|
|
46
44
|
export declare const selectSelectOptions: (state: AppState) => SelectOptions;
|
|
47
45
|
export declare const selectMenuColors: (state: AppState) => MenuColors;
|
|
48
|
-
export declare const selectTimezone: (
|
|
46
|
+
export declare const selectTimezone: () => Timezone;
|
|
49
47
|
export declare const selectLoyalty: (state: AppState) => boolean;
|
|
50
48
|
export declare const selectPinpad: (state: AppState) => boolean;
|
|
51
49
|
export declare const selectCashDrawer: (state: AppState) => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.configReducer = exports.selectCashDrawer = exports.selectPinpad = exports.selectLoyalty = exports.selectTimezone = exports.selectMenuColors = exports.selectSelectOptions = exports.
|
|
4
|
+
exports.configReducer = exports.selectCashDrawer = exports.selectPinpad = exports.selectLoyalty = exports.selectTimezone = exports.selectMenuColors = exports.selectSelectOptions = exports.selectStore = exports.selectDevices = exports.selectVersion = exports.selectApi = exports.selectConfig = exports.setApi = exports.setVersion = exports.incrementRetries = exports.resetRetries = exports.resetConfig = exports.fetchConfig = exports.ConfigActionType = void 0;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
var toolkit_1 = require("@reduxjs/toolkit");
|
|
7
7
|
var services_1 = require("../services");
|
|
@@ -10,6 +10,7 @@ var utils_1 = require("../utils");
|
|
|
10
10
|
var errors_1 = require("../services/errors");
|
|
11
11
|
var pos_1 = require("./pos");
|
|
12
12
|
var kds_1 = require("./kds");
|
|
13
|
+
var order_1 = require("./order");
|
|
13
14
|
var defaultApiUrl = "http://".concat(window.location.hostname, ":5001/pos-api");
|
|
14
15
|
var initialState = {
|
|
15
16
|
api: new services_1.PosAPI({ apiUrl: defaultApiUrl }),
|
|
@@ -17,7 +18,6 @@ var initialState = {
|
|
|
17
18
|
version: null,
|
|
18
19
|
devices: null,
|
|
19
20
|
store: null,
|
|
20
|
-
revenueCenterId: null,
|
|
21
21
|
selectOptions: null,
|
|
22
22
|
menuColors: null,
|
|
23
23
|
name: null,
|
|
@@ -38,7 +38,7 @@ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConf
|
|
|
38
38
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
39
39
|
var app, api, _c, _d,
|
|
40
40
|
// config,
|
|
41
|
-
devicesList, _e, stores, _f, selectOptions, _g, itemTypes, store, devices, err, cashier, employee, tz, businessDate, err_1,
|
|
41
|
+
devicesList, _e, stores, _f, selectOptions, _g, itemTypes, store, devices, err, cashier, employee, tz, businessDate, err_1, menuColors, err_2;
|
|
42
42
|
return tslib_1.__generator(this, function (_h) {
|
|
43
43
|
switch (_h.label) {
|
|
44
44
|
case 0:
|
|
@@ -66,10 +66,13 @@ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConf
|
|
|
66
66
|
_h.label = 2;
|
|
67
67
|
case 2:
|
|
68
68
|
_h.trys.push([2, 4, , 5]);
|
|
69
|
-
return [4 /*yield*/, api.getCashier()
|
|
69
|
+
return [4 /*yield*/, api.getCashier()
|
|
70
|
+
// TODO: figure out how to get the timezone from BE
|
|
71
|
+
// const tz = timezoneMap[store.timezone]
|
|
72
|
+
];
|
|
70
73
|
case 3:
|
|
71
74
|
employee = _h.sent();
|
|
72
|
-
tz = utils_1.
|
|
75
|
+
tz = (0, utils_1.getUserTimezone)();
|
|
73
76
|
businessDate = (0, utils_1.currentLocalDateStr)(tz);
|
|
74
77
|
dispatch((0, pos_1.setCashier)(tslib_1.__assign(tslib_1.__assign({}, employee), { businessDate: businessDate })));
|
|
75
78
|
return [3 /*break*/, 5];
|
|
@@ -77,7 +80,7 @@ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConf
|
|
|
77
80
|
err_1 = _h.sent();
|
|
78
81
|
return [3 /*break*/, 5];
|
|
79
82
|
case 5:
|
|
80
|
-
|
|
83
|
+
dispatch((0, order_1.setRevenueCenterId)(store.revenue_center_id));
|
|
81
84
|
dispatch((0, kds_1.setKdsItemTypes)(itemTypes));
|
|
82
85
|
dispatch((0, kds_1.setKdsPrepStations)(devices.prep_stations));
|
|
83
86
|
menuColors = [];
|
|
@@ -86,7 +89,6 @@ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConf
|
|
|
86
89
|
app: app,
|
|
87
90
|
devices: devices,
|
|
88
91
|
store: store,
|
|
89
|
-
revenueCenterId: revenueCenterId,
|
|
90
92
|
selectOptions: selectOptions,
|
|
91
93
|
menuColors: menuColors,
|
|
92
94
|
name: 'Name',
|
|
@@ -129,12 +131,11 @@ var configSlice = (0, toolkit_1.createSlice)({
|
|
|
129
131
|
state.loading = 'pending';
|
|
130
132
|
})
|
|
131
133
|
.addCase(exports.fetchConfig.fulfilled, function (state, action) {
|
|
132
|
-
var _a = action.payload, api = _a.api, app = _a.app, devices = _a.devices, store = _a.store,
|
|
134
|
+
var _a = action.payload, api = _a.api, app = _a.app, devices = _a.devices, store = _a.store, selectOptions = _a.selectOptions, menuColors = _a.menuColors;
|
|
133
135
|
state.api = api;
|
|
134
136
|
state.app = app;
|
|
135
137
|
state.store = store;
|
|
136
138
|
state.devices = devices;
|
|
137
|
-
state.revenueCenterId = revenueCenterId;
|
|
138
139
|
state.selectOptions = selectOptions;
|
|
139
140
|
state.menuColors = menuColors;
|
|
140
141
|
state.loading = 'idle';
|
|
@@ -158,10 +159,6 @@ var selectDevices = function (state) { return state.config.devices; };
|
|
|
158
159
|
exports.selectDevices = selectDevices;
|
|
159
160
|
var selectStore = function (state) { return state.config.store; };
|
|
160
161
|
exports.selectStore = selectStore;
|
|
161
|
-
var selectRevenueCenterId = function (state) {
|
|
162
|
-
return state.config.revenueCenterId;
|
|
163
|
-
};
|
|
164
|
-
exports.selectRevenueCenterId = selectRevenueCenterId;
|
|
165
162
|
var selectSelectOptions = function (state) {
|
|
166
163
|
return state.config.selectOptions || [];
|
|
167
164
|
};
|
|
@@ -170,11 +167,11 @@ var selectMenuColors = function (state) {
|
|
|
170
167
|
return state.config.menuColors || [];
|
|
171
168
|
};
|
|
172
169
|
exports.selectMenuColors = selectMenuColors;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
};
|
|
170
|
+
// export const selectTimezone = (state: AppState): Timezone =>
|
|
171
|
+
// state.config.store
|
|
172
|
+
// ? timezoneMap[state.config.store.timezone as TimezonePython]
|
|
173
|
+
// : (getUserTimezone() as Timezone)
|
|
174
|
+
var selectTimezone = function () { return (0, utils_1.getUserTimezone)(); };
|
|
178
175
|
exports.selectTimezone = selectTimezone;
|
|
179
176
|
var selectLoyalty = function (state) {
|
|
180
177
|
return state.config.store ? state.config.store.has_loyalty : false;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Cart, CartCounts, CartItem, MenuCategory, MenuVendor, Messages, OrderType, RequestedAt, RequestError, RequestStatus,
|
|
1
|
+
import { Cart, CartCounts, CartItem, MenuCategory, MenuVendor, Messages, OrderType, RequestedAt, RequestError, RequestStatus, ServiceType } from '../types';
|
|
2
2
|
import { AppState } from '../app';
|
|
3
3
|
export interface OrderState {
|
|
4
4
|
orderId: string | null;
|
|
5
5
|
orderType: OrderType | null;
|
|
6
6
|
serviceType: ServiceType | null;
|
|
7
|
-
|
|
7
|
+
revenueCenterId: number | null;
|
|
8
8
|
table: string | null;
|
|
9
9
|
prepType: 'EAT_HERE' | 'TAKE_OUT' | null;
|
|
10
10
|
requestedAt: RequestedAt;
|
|
@@ -21,17 +21,7 @@ export interface OrderState {
|
|
|
21
21
|
export declare enum OrderActionType {
|
|
22
22
|
FetchRevenueCenter = "orders/fetchRevenueCenter"
|
|
23
23
|
}
|
|
24
|
-
export declare const
|
|
25
|
-
state: AppState;
|
|
26
|
-
rejectValue: RequestError;
|
|
27
|
-
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
28
|
-
extra?: unknown;
|
|
29
|
-
serializedErrorType?: unknown;
|
|
30
|
-
pendingMeta?: unknown;
|
|
31
|
-
fulfilledMeta?: unknown;
|
|
32
|
-
rejectedMeta?: unknown;
|
|
33
|
-
}>;
|
|
34
|
-
export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrder">, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrderType">, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetRevenueCenter">, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetLocation">, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetCart">, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetMessages">, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetAlert">, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setAlert">, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderId">, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderType">, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setServiceType">, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRequestedAt">, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRevenueCenter">, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setTable">, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setPrepType">, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderServiceType">, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setMenuVars">, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCart">, setCurrentVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentVendor">, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentCategory">, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentItem">, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addItemToCart">, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeItemFromCart">, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/incrementItemInCart">, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/decrementItemInCart">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addMessage">, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeMessage">;
|
|
24
|
+
export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrder">, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrderType">, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetRevenueCenter">, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetLocation">, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetCart">, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetMessages">, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetAlert">, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setAlert">, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderId">, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderType">, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setServiceType">, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRequestedAt">, setRevenueCenterId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRevenueCenterId">, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setTable">, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setPrepType">, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderServiceType">, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setMenuVars">, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCart">, setCurrentVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentVendor">, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentCategory">, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentItem">, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addItemToCart">, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeItemFromCart">, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/incrementItemInCart">, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/decrementItemInCart">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addMessage">, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeMessage">;
|
|
35
25
|
export declare const selectAlert: (state: AppState) => string | null;
|
|
36
26
|
export declare const selectMessages: (state: AppState) => Messages;
|
|
37
27
|
export declare const selectOrder: (state: AppState) => OrderState;
|
|
@@ -40,15 +30,10 @@ export declare const selectOrderTypeName: (state: AppState) => string;
|
|
|
40
30
|
export declare const selectServiceType: (state: AppState) => ServiceType | null;
|
|
41
31
|
export declare const selectServiceTypeName: (state: AppState) => string;
|
|
42
32
|
export declare const selectRequestedAt: (state: AppState) => `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | "ASAP";
|
|
43
|
-
export declare const
|
|
44
|
-
export declare const selectRevenueCenterName: (state: AppState) => string | null;
|
|
33
|
+
export declare const selectRevenueCenterId: (state: AppState) => number | null;
|
|
45
34
|
export declare const selectMenuSlug: (state: AppState) => string;
|
|
46
35
|
export declare const selectMenuVars: (state: AppState) => {
|
|
47
|
-
revenueCenterId
|
|
48
|
-
serviceType?: undefined;
|
|
49
|
-
requestedAt?: undefined;
|
|
50
|
-
} | {
|
|
51
|
-
revenueCenterId: number;
|
|
36
|
+
revenueCenterId: number | null;
|
|
52
37
|
serviceType: ServiceType | null;
|
|
53
38
|
requestedAt: RequestedAt;
|
|
54
39
|
};
|
|
@@ -60,11 +45,11 @@ export declare const selectCartIds: (state: AppState) => number[];
|
|
|
60
45
|
export declare const selectCartQuantity: (state: AppState) => number;
|
|
61
46
|
export declare const selectCartTotal: (state: AppState) => number;
|
|
62
47
|
export declare const selectCartCounts: (state: AppState) => CartCounts;
|
|
63
|
-
export declare const selectCanOrder: (state: AppState) => RequestedAt | null;
|
|
48
|
+
export declare const selectCanOrder: (state: AppState) => 0 | RequestedAt | null;
|
|
64
49
|
export declare const selectCartValidate: (state: AppState) => {
|
|
65
|
-
revenueCenterId: number;
|
|
50
|
+
revenueCenterId: number | null;
|
|
66
51
|
serviceType: ServiceType | null;
|
|
67
52
|
requestedAt: RequestedAt;
|
|
68
53
|
cart: Cart;
|
|
69
|
-
}
|
|
54
|
+
};
|
|
70
55
|
export declare const orderReducer: import("redux").Reducer<OrderState>;
|
package/dist/cjs/slices/order.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.selectCanOrder = exports.selectCartCounts = exports.selectCartTotal = exports.selectCartQuantity = exports.selectCartIds = exports.selectCart = exports.selectCurrentItem = exports.selectCurrentCategory = exports.selectCurrentVendor = exports.selectMenuVars = exports.selectMenuSlug = exports.
|
|
5
|
-
exports.orderReducer = exports.selectCartValidate = void 0;
|
|
4
|
+
exports.orderReducer = exports.selectCartValidate = exports.selectCanOrder = exports.selectCartCounts = exports.selectCartTotal = exports.selectCartQuantity = exports.selectCartIds = exports.selectCart = exports.selectCurrentItem = exports.selectCurrentCategory = exports.selectCurrentVendor = exports.selectMenuVars = exports.selectMenuSlug = exports.selectRevenueCenterId = exports.selectRequestedAt = exports.selectServiceTypeName = exports.selectServiceType = exports.selectOrderTypeName = exports.selectOrderType = exports.selectOrder = exports.selectMessages = exports.selectAlert = exports.removeMessage = exports.addMessage = exports.decrementItemInCart = exports.incrementItemInCart = exports.removeItemFromCart = exports.addItemToCart = exports.setCurrentItem = exports.setCurrentCategory = exports.setCurrentVendor = exports.setCart = exports.setMenuVars = exports.setOrderServiceType = exports.setPrepType = exports.setTable = exports.setRevenueCenterId = exports.setRequestedAt = exports.setServiceType = exports.setOrderType = exports.setOrderId = exports.setAlert = exports.resetAlert = exports.resetMessages = exports.resetCart = exports.resetLocation = exports.resetRevenueCenter = exports.resetOrderType = exports.resetOrder = exports.OrderActionType = void 0;
|
|
6
5
|
var tslib_1 = require("tslib");
|
|
7
6
|
var toolkit_1 = require("@reduxjs/toolkit");
|
|
8
7
|
var utils_1 = require("../utils");
|
|
@@ -11,7 +10,7 @@ var initialState = {
|
|
|
11
10
|
orderId: null,
|
|
12
11
|
orderType: null,
|
|
13
12
|
serviceType: null,
|
|
14
|
-
|
|
13
|
+
revenueCenterId: null,
|
|
15
14
|
table: null,
|
|
16
15
|
prepType: null,
|
|
17
16
|
requestedAt: 'asap',
|
|
@@ -29,25 +28,6 @@ var OrderActionType;
|
|
|
29
28
|
(function (OrderActionType) {
|
|
30
29
|
OrderActionType["FetchRevenueCenter"] = "orders/fetchRevenueCenter";
|
|
31
30
|
})(OrderActionType || (exports.OrderActionType = OrderActionType = {}));
|
|
32
|
-
exports.fetchRevenueCenter = (0, toolkit_1.createAsyncThunk)(OrderActionType.FetchRevenueCenter, function (revenueCenterId, _a) {
|
|
33
|
-
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
34
|
-
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
35
|
-
var api, err_1;
|
|
36
|
-
return tslib_1.__generator(this, function (_b) {
|
|
37
|
-
switch (_b.label) {
|
|
38
|
-
case 0:
|
|
39
|
-
_b.trys.push([0, 2, , 3]);
|
|
40
|
-
api = getState().config.api;
|
|
41
|
-
return [4 /*yield*/, api.getRevenueCenter(revenueCenterId)];
|
|
42
|
-
case 1: return [2 /*return*/, _b.sent()];
|
|
43
|
-
case 2:
|
|
44
|
-
err_1 = _b.sent();
|
|
45
|
-
return [2 /*return*/, rejectWithValue(err_1)];
|
|
46
|
-
case 3: return [2 /*return*/];
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
31
|
var orderSlice = (0, toolkit_1.createSlice)({
|
|
52
32
|
name: types_1.ReducerType.Orders,
|
|
53
33
|
initialState: initialState,
|
|
@@ -58,15 +38,15 @@ var orderSlice = (0, toolkit_1.createSlice)({
|
|
|
58
38
|
state.orderType = null;
|
|
59
39
|
state.serviceType = null;
|
|
60
40
|
state.prepType = null;
|
|
61
|
-
state.
|
|
41
|
+
state.revenueCenterId = null;
|
|
62
42
|
state.table = null;
|
|
63
43
|
state.requestedAt = 'asap';
|
|
64
44
|
},
|
|
65
45
|
resetRevenueCenter: function (state) {
|
|
66
|
-
state.
|
|
46
|
+
state.revenueCenterId = null;
|
|
67
47
|
},
|
|
68
48
|
resetLocation: function (state) {
|
|
69
|
-
state.
|
|
49
|
+
state.revenueCenterId = null;
|
|
70
50
|
},
|
|
71
51
|
resetCart: function (state) {
|
|
72
52
|
state.cart = [];
|
|
@@ -93,8 +73,8 @@ var orderSlice = (0, toolkit_1.createSlice)({
|
|
|
93
73
|
setRequestedAt: function (state, action) {
|
|
94
74
|
state.requestedAt = action.payload;
|
|
95
75
|
},
|
|
96
|
-
|
|
97
|
-
state.
|
|
76
|
+
setRevenueCenterId: function (state, action) {
|
|
77
|
+
state.revenueCenterId = action.payload;
|
|
98
78
|
},
|
|
99
79
|
setTable: function (state, action) {
|
|
100
80
|
state.table = action.payload;
|
|
@@ -108,8 +88,8 @@ var orderSlice = (0, toolkit_1.createSlice)({
|
|
|
108
88
|
state.serviceType = serviceType;
|
|
109
89
|
},
|
|
110
90
|
setMenuVars: function (state, action) {
|
|
111
|
-
var _a = action.payload,
|
|
112
|
-
state.
|
|
91
|
+
var _a = action.payload, revenueCenterId = _a.revenueCenterId, serviceType = _a.serviceType, requestedAt = _a.requestedAt;
|
|
92
|
+
state.revenueCenterId = revenueCenterId;
|
|
113
93
|
state.serviceType = serviceType;
|
|
114
94
|
state.requestedAt = requestedAt;
|
|
115
95
|
},
|
|
@@ -163,24 +143,9 @@ var orderSlice = (0, toolkit_1.createSlice)({
|
|
|
163
143
|
removeMessage: function (state, action) {
|
|
164
144
|
state.messages = state.messages.filter(function (i) { return i.id !== action.payload; });
|
|
165
145
|
}
|
|
166
|
-
},
|
|
167
|
-
extraReducers: function (builder) {
|
|
168
|
-
builder
|
|
169
|
-
.addCase(exports.fetchRevenueCenter.fulfilled, function (state, action) {
|
|
170
|
-
state.revenueCenter = action.payload;
|
|
171
|
-
state.loading = 'idle';
|
|
172
|
-
state.error = null;
|
|
173
|
-
})
|
|
174
|
-
.addCase(exports.fetchRevenueCenter.pending, function (state) {
|
|
175
|
-
state.loading = 'pending';
|
|
176
|
-
})
|
|
177
|
-
.addCase(exports.fetchRevenueCenter.rejected, function (state, action) {
|
|
178
|
-
state.error = action.payload;
|
|
179
|
-
state.loading = 'idle';
|
|
180
|
-
});
|
|
181
146
|
}
|
|
182
147
|
});
|
|
183
|
-
exports.resetOrder = (_a = orderSlice.actions, _a.resetOrder), exports.resetOrderType = _a.resetOrderType, exports.resetRevenueCenter = _a.resetRevenueCenter, exports.resetLocation = _a.resetLocation, exports.resetCart = _a.resetCart, exports.resetMessages = _a.resetMessages, exports.resetAlert = _a.resetAlert, exports.setAlert = _a.setAlert, exports.setOrderId = _a.setOrderId, exports.setOrderType = _a.setOrderType, exports.setServiceType = _a.setServiceType, exports.setRequestedAt = _a.setRequestedAt, exports.
|
|
148
|
+
exports.resetOrder = (_a = orderSlice.actions, _a.resetOrder), exports.resetOrderType = _a.resetOrderType, exports.resetRevenueCenter = _a.resetRevenueCenter, exports.resetLocation = _a.resetLocation, exports.resetCart = _a.resetCart, exports.resetMessages = _a.resetMessages, exports.resetAlert = _a.resetAlert, exports.setAlert = _a.setAlert, exports.setOrderId = _a.setOrderId, exports.setOrderType = _a.setOrderType, exports.setServiceType = _a.setServiceType, exports.setRequestedAt = _a.setRequestedAt, exports.setRevenueCenterId = _a.setRevenueCenterId, exports.setTable = _a.setTable, exports.setPrepType = _a.setPrepType, exports.setOrderServiceType = _a.setOrderServiceType, exports.setMenuVars = _a.setMenuVars, exports.setCart = _a.setCart, exports.setCurrentVendor = _a.setCurrentVendor, exports.setCurrentCategory = _a.setCurrentCategory, exports.setCurrentItem = _a.setCurrentItem, exports.addItemToCart = _a.addItemToCart, exports.removeItemFromCart = _a.removeItemFromCart, exports.incrementItemInCart = _a.incrementItemInCart, exports.decrementItemInCart = _a.decrementItemInCart, exports.addMessage = _a.addMessage, exports.removeMessage = _a.removeMessage;
|
|
184
149
|
var selectAlert = function (state) { return state.order.alert; };
|
|
185
150
|
exports.selectAlert = selectAlert;
|
|
186
151
|
var selectMessages = function (state) { return state.order.messages; };
|
|
@@ -203,38 +168,18 @@ var selectRequestedAt = function (state) {
|
|
|
203
168
|
return state.order.requestedAt === 'asap' ? 'ASAP' : state.order.requestedAt;
|
|
204
169
|
};
|
|
205
170
|
exports.selectRequestedAt = selectRequestedAt;
|
|
206
|
-
var
|
|
207
|
-
return state.order.
|
|
208
|
-
};
|
|
209
|
-
exports.selectRevenueCenter = selectRevenueCenter;
|
|
210
|
-
var selectRevenueCenterName = function (state) {
|
|
211
|
-
return state.order.revenueCenter ? state.order.revenueCenter.name : null;
|
|
171
|
+
var selectRevenueCenterId = function (state) {
|
|
172
|
+
return state.order.revenueCenterId;
|
|
212
173
|
};
|
|
213
|
-
exports.
|
|
214
|
-
// export const selectOrderLimits = (state: AppState) => {
|
|
215
|
-
// const { revenueCenter, serviceType } = state.order
|
|
216
|
-
// if (!revenueCenter || !serviceType) {
|
|
217
|
-
// return { orderMinimum: null, orderMaximum: null }
|
|
218
|
-
// }
|
|
219
|
-
// const { order_maximum, order_minimum } = revenueCenter
|
|
220
|
-
// const orderMax = order_maximum[serviceType]
|
|
221
|
-
// const orderMaximum = parseFloat(orderMax)
|
|
222
|
-
// const orderMinimum = parseFloat(order_minimum[serviceType])
|
|
223
|
-
// return {
|
|
224
|
-
// orderMinimum: orderMinimum > 0 ? orderMinimum : null,
|
|
225
|
-
// orderMaximum: orderMaximum > 0 ? orderMaximum : null
|
|
226
|
-
// }
|
|
227
|
-
// }
|
|
174
|
+
exports.selectRevenueCenterId = selectRevenueCenterId;
|
|
228
175
|
var selectMenuSlug = function (state) {
|
|
229
|
-
var
|
|
230
|
-
return
|
|
176
|
+
var slug = (state.config.store || {}).slug;
|
|
177
|
+
return slug ? "/menu/".concat(slug) : '/';
|
|
231
178
|
};
|
|
232
179
|
exports.selectMenuSlug = selectMenuSlug;
|
|
233
180
|
var selectMenuVars = function (state) {
|
|
234
|
-
if (!state.order.revenueCenter)
|
|
235
|
-
return {};
|
|
236
181
|
return {
|
|
237
|
-
revenueCenterId: state.order.
|
|
182
|
+
revenueCenterId: state.order.revenueCenterId,
|
|
238
183
|
serviceType: state.order.serviceType,
|
|
239
184
|
requestedAt: state.order.requestedAt
|
|
240
185
|
};
|
|
@@ -273,16 +218,13 @@ var selectCartCounts = function (state) {
|
|
|
273
218
|
};
|
|
274
219
|
exports.selectCartCounts = selectCartCounts;
|
|
275
220
|
var selectCanOrder = function (state) {
|
|
276
|
-
return state.order.
|
|
221
|
+
return state.order.revenueCenterId &&
|
|
277
222
|
state.order.serviceType &&
|
|
278
223
|
state.order.requestedAt;
|
|
279
224
|
};
|
|
280
225
|
exports.selectCanOrder = selectCanOrder;
|
|
281
226
|
var selectCartValidate = function (state) {
|
|
282
|
-
var _a = state.order || {},
|
|
283
|
-
if (!revenueCenter)
|
|
284
|
-
return null;
|
|
285
|
-
var revenueCenterId = revenueCenter.revenue_center_id;
|
|
227
|
+
var _a = state.order || {}, revenueCenterId = _a.revenueCenterId, serviceType = _a.serviceType, requestedAt = _a.requestedAt, cart = _a.cart;
|
|
286
228
|
return {
|
|
287
229
|
revenueCenterId: revenueCenterId,
|
|
288
230
|
serviceType: serviceType,
|
package/dist/cjs/slices/pos.js
CHANGED
|
@@ -197,7 +197,7 @@ var selectCashier = function (state) {
|
|
|
197
197
|
var cashier = state.pos.cashier;
|
|
198
198
|
if (!cashier)
|
|
199
199
|
return { cashier: null, isExpired: false };
|
|
200
|
-
var tz = (0, config_1.selectTimezone)(
|
|
200
|
+
var tz = (0, config_1.selectTimezone)();
|
|
201
201
|
var businessDate = (0, utils_1.currentLocalDateStr)(tz);
|
|
202
202
|
var isExpired = businessDate !== cashier.businessDate;
|
|
203
203
|
if (isExpired)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TimeString
|
|
2
|
-
import { Decimal, Money,
|
|
1
|
+
import { TimeString } from '../datetimes';
|
|
2
|
+
import { Decimal, Money, ServiceTypes, TenderTypes, Weekday } from '../global';
|
|
3
3
|
export type PaymentProcessor = 'NONE' | 'CARDCONNECT' | 'VANTIV' | 'CLOVER' | 'NMI';
|
|
4
4
|
export interface PaymentProcessing {
|
|
5
5
|
integration: PaymentProcessor;
|
|
@@ -22,10 +22,11 @@ export interface StoreTax {
|
|
|
22
22
|
tax_id: number;
|
|
23
23
|
tax_type: number;
|
|
24
24
|
}
|
|
25
|
+
export type StoreTaxes = StoreTax[];
|
|
25
26
|
export interface StoreTenderTypes {
|
|
26
|
-
DELIVERY:
|
|
27
|
-
PICKUP:
|
|
28
|
-
WALKIN:
|
|
27
|
+
DELIVERY: TenderTypes;
|
|
28
|
+
PICKUP: TenderTypes;
|
|
29
|
+
WALKIN: TenderTypes;
|
|
29
30
|
}
|
|
30
31
|
export interface StoreAddress {
|
|
31
32
|
city: string;
|
|
@@ -57,9 +58,8 @@ export interface StoreMessage {
|
|
|
57
58
|
export type StorePunchType = 'PIN' | 'CARD';
|
|
58
59
|
export interface Store {
|
|
59
60
|
address: StoreAddress;
|
|
60
|
-
auth_type: 'PIN' | 'CARD';
|
|
61
61
|
alert_minutes: number;
|
|
62
|
-
|
|
62
|
+
auth_type: 'PIN' | 'CARD';
|
|
63
63
|
credit: PaymentProcessing;
|
|
64
64
|
delivery_minutes: number;
|
|
65
65
|
dine_in_prompt: boolean;
|
|
@@ -74,16 +74,11 @@ export interface Store {
|
|
|
74
74
|
has_loyalty: boolean;
|
|
75
75
|
hide_default_mods: boolean;
|
|
76
76
|
hide_delay: boolean;
|
|
77
|
-
is_closed: boolean;
|
|
78
77
|
is_outpost: boolean;
|
|
79
|
-
is_temporarily_closed: boolean;
|
|
80
78
|
item_discount_approval: boolean;
|
|
81
|
-
levelup?: LevelUp;
|
|
82
|
-
messages: Array<StoreMessage> | null;
|
|
83
79
|
name: string;
|
|
84
80
|
number: string;
|
|
85
81
|
order_page_swipe: boolean;
|
|
86
|
-
origin: Url | null;
|
|
87
82
|
overtime_threshold: number;
|
|
88
83
|
overtime_threshold_daily: number;
|
|
89
84
|
page_timeout: number;
|
|
@@ -95,16 +90,14 @@ export interface Store {
|
|
|
95
90
|
receipt_header: string;
|
|
96
91
|
receipt_phone: boolean;
|
|
97
92
|
revenue_center_id: number;
|
|
98
|
-
|
|
99
|
-
service_types: Array<ServiceType>;
|
|
93
|
+
service_types: ServiceTypes;
|
|
100
94
|
short_name: string;
|
|
101
95
|
slug: string;
|
|
102
96
|
starting_cash: Decimal;
|
|
103
97
|
store_id: number;
|
|
104
98
|
tax_exempt_approval: boolean;
|
|
105
|
-
taxes:
|
|
99
|
+
taxes: StoreTaxes;
|
|
106
100
|
tender_types: StoreTenderTypes;
|
|
107
|
-
timezone: TimezonePython;
|
|
108
101
|
walkin_minutes: number;
|
|
109
102
|
walkin_prep_minutes: number;
|
|
110
103
|
warning_minutes: number;
|
|
@@ -10,11 +10,13 @@ export type FullOrderType = OrderType | 'MAIN_MENU' | 'ECOMMERCE';
|
|
|
10
10
|
export type OrderTypeMap = {
|
|
11
11
|
[Property in OrderType]: string;
|
|
12
12
|
};
|
|
13
|
-
export type ServiceType = 'WALKIN' | 'PICKUP' | 'DELIVERY'
|
|
13
|
+
export type ServiceType = 'WALKIN' | 'PICKUP' | 'DELIVERY';
|
|
14
|
+
export type ServiceTypes = ServiceType[];
|
|
14
15
|
export type ServiceTypeMap = {
|
|
15
16
|
[Property in ServiceType]: string;
|
|
16
17
|
};
|
|
17
18
|
export type TenderType = 'CASH' | 'CREDIT' | 'HOUSE_ACCOUNT' | 'GIFT_CARD' | 'COMP';
|
|
19
|
+
export type TenderTypes = TenderType[];
|
|
18
20
|
export type TenderTypeMap = {
|
|
19
21
|
[Property in TenderType]: string;
|
|
20
22
|
};
|
|
@@ -6,7 +6,7 @@ export declare const HUMAN_TIME = "h:mma";
|
|
|
6
6
|
export declare const HUMAN_DATETIME = "MMM d, h:mma";
|
|
7
7
|
export declare const ISO_STRING = "yyyy-MM-dd'T'HH:mm:ssXXX";
|
|
8
8
|
export declare const timezoneMap: TimezoneMap;
|
|
9
|
-
export declare const getUserTimezone: () =>
|
|
9
|
+
export declare const getUserTimezone: () => Timezone;
|
|
10
10
|
export declare const currentLocalDate: (tz: Timezone) => Date;
|
|
11
11
|
export declare const currentLocalDateStr: (tz: Timezone, fmt?: string) => string;
|
|
12
12
|
export declare const currentLocalIso: (tz: Timezone) => string;
|
package/dist/cjs/utils/order.js
CHANGED
|
@@ -33,12 +33,11 @@ var getAmountDue = function (check) {
|
|
|
33
33
|
return check && check.totals ? check.totals.amount_due : null;
|
|
34
34
|
};
|
|
35
35
|
var prepareOrder = function (order, checkout) {
|
|
36
|
-
var order_uuid = order.orderId, requested_at = order.requestedAt, service_type = order.serviceType, order_type = order.orderType,
|
|
36
|
+
var order_uuid = order.orderId, requested_at = order.requestedAt, service_type = order.serviceType, order_type = order.orderType, revenue_center_id = order.revenueCenterId;
|
|
37
37
|
if (!order_uuid)
|
|
38
38
|
return null;
|
|
39
39
|
var simpleCart = makeSimpleCart(order.cart);
|
|
40
40
|
var cart = simpleCart.filter(function (item) { return item; });
|
|
41
|
-
var revenue_center_id = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.revenue_center_id;
|
|
42
41
|
if (!revenue_center_id || !order_type || !service_type) {
|
|
43
42
|
return null;
|
|
44
43
|
}
|
|
@@ -10,7 +10,6 @@ export interface ConfigState {
|
|
|
10
10
|
version?: string | null;
|
|
11
11
|
devices: Devices | null;
|
|
12
12
|
store: Store | null;
|
|
13
|
-
revenueCenterId: number | null;
|
|
14
13
|
selectOptions: SelectOptions | null;
|
|
15
14
|
menuColors: MenuColors | null;
|
|
16
15
|
name: string | null;
|
|
@@ -42,10 +41,9 @@ export declare const selectApi: (state: AppState) => PosAPI;
|
|
|
42
41
|
export declare const selectVersion: (state: AppState) => string | null | undefined;
|
|
43
42
|
export declare const selectDevices: (state: AppState) => Devices | null;
|
|
44
43
|
export declare const selectStore: (state: AppState) => Store | null;
|
|
45
|
-
export declare const selectRevenueCenterId: (state: AppState) => number | null;
|
|
46
44
|
export declare const selectSelectOptions: (state: AppState) => SelectOptions;
|
|
47
45
|
export declare const selectMenuColors: (state: AppState) => MenuColors;
|
|
48
|
-
export declare const selectTimezone: (
|
|
46
|
+
export declare const selectTimezone: () => Timezone;
|
|
49
47
|
export declare const selectLoyalty: (state: AppState) => boolean;
|
|
50
48
|
export declare const selectPinpad: (state: AppState) => boolean;
|
|
51
49
|
export declare const selectCashDrawer: (state: AppState) => boolean;
|
|
@@ -3,10 +3,11 @@ import { __assign, __awaiter, __generator } from "tslib";
|
|
|
3
3
|
import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';
|
|
4
4
|
import { PosAPI } from '../services';
|
|
5
5
|
import { ReducerType } from './types';
|
|
6
|
-
import {
|
|
6
|
+
import { getUserTimezone, currentLocalDateStr } from '../utils';
|
|
7
7
|
import { errorsApi } from '../services/errors';
|
|
8
8
|
import { setCashier } from './pos';
|
|
9
9
|
import { setKdsItemTypes, setKdsPrepStations } from './kds';
|
|
10
|
+
import { setRevenueCenterId } from './order';
|
|
10
11
|
var defaultApiUrl = "http://".concat(window.location.hostname, ":5001/pos-api");
|
|
11
12
|
var initialState = {
|
|
12
13
|
api: new PosAPI({ apiUrl: defaultApiUrl }),
|
|
@@ -14,7 +15,6 @@ var initialState = {
|
|
|
14
15
|
version: null,
|
|
15
16
|
devices: null,
|
|
16
17
|
store: null,
|
|
17
|
-
revenueCenterId: null,
|
|
18
18
|
selectOptions: null,
|
|
19
19
|
menuColors: null,
|
|
20
20
|
name: null,
|
|
@@ -35,7 +35,7 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
|
|
|
35
35
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
36
36
|
var app, api, _c, _d,
|
|
37
37
|
// config,
|
|
38
|
-
devicesList, _e, stores, _f, selectOptions, _g, itemTypes, store, devices, err, cashier, employee, tz, businessDate, err_1,
|
|
38
|
+
devicesList, _e, stores, _f, selectOptions, _g, itemTypes, store, devices, err, cashier, employee, tz, businessDate, err_1, menuColors, err_2;
|
|
39
39
|
return __generator(this, function (_h) {
|
|
40
40
|
switch (_h.label) {
|
|
41
41
|
case 0:
|
|
@@ -63,10 +63,13 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
|
|
|
63
63
|
_h.label = 2;
|
|
64
64
|
case 2:
|
|
65
65
|
_h.trys.push([2, 4, , 5]);
|
|
66
|
-
return [4 /*yield*/, api.getCashier()
|
|
66
|
+
return [4 /*yield*/, api.getCashier()
|
|
67
|
+
// TODO: figure out how to get the timezone from BE
|
|
68
|
+
// const tz = timezoneMap[store.timezone]
|
|
69
|
+
];
|
|
67
70
|
case 3:
|
|
68
71
|
employee = _h.sent();
|
|
69
|
-
tz =
|
|
72
|
+
tz = getUserTimezone();
|
|
70
73
|
businessDate = currentLocalDateStr(tz);
|
|
71
74
|
dispatch(setCashier(__assign(__assign({}, employee), { businessDate: businessDate })));
|
|
72
75
|
return [3 /*break*/, 5];
|
|
@@ -74,7 +77,7 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
|
|
|
74
77
|
err_1 = _h.sent();
|
|
75
78
|
return [3 /*break*/, 5];
|
|
76
79
|
case 5:
|
|
77
|
-
|
|
80
|
+
dispatch(setRevenueCenterId(store.revenue_center_id));
|
|
78
81
|
dispatch(setKdsItemTypes(itemTypes));
|
|
79
82
|
dispatch(setKdsPrepStations(devices.prep_stations));
|
|
80
83
|
menuColors = [];
|
|
@@ -83,7 +86,6 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
|
|
|
83
86
|
app: app,
|
|
84
87
|
devices: devices,
|
|
85
88
|
store: store,
|
|
86
|
-
revenueCenterId: revenueCenterId,
|
|
87
89
|
selectOptions: selectOptions,
|
|
88
90
|
menuColors: menuColors,
|
|
89
91
|
name: 'Name',
|
|
@@ -126,12 +128,11 @@ var configSlice = createSlice({
|
|
|
126
128
|
state.loading = 'pending';
|
|
127
129
|
})
|
|
128
130
|
.addCase(fetchConfig.fulfilled, function (state, action) {
|
|
129
|
-
var _a = action.payload, api = _a.api, app = _a.app, devices = _a.devices, store = _a.store,
|
|
131
|
+
var _a = action.payload, api = _a.api, app = _a.app, devices = _a.devices, store = _a.store, selectOptions = _a.selectOptions, menuColors = _a.menuColors;
|
|
130
132
|
state.api = api;
|
|
131
133
|
state.app = app;
|
|
132
134
|
state.store = store;
|
|
133
135
|
state.devices = devices;
|
|
134
|
-
state.revenueCenterId = revenueCenterId;
|
|
135
136
|
state.selectOptions = selectOptions;
|
|
136
137
|
state.menuColors = menuColors;
|
|
137
138
|
state.loading = 'idle';
|
|
@@ -150,20 +151,17 @@ export var selectApi = function (state) { return state.config.api; };
|
|
|
150
151
|
export var selectVersion = function (state) { return state.config.version; };
|
|
151
152
|
export var selectDevices = function (state) { return state.config.devices; };
|
|
152
153
|
export var selectStore = function (state) { return state.config.store; };
|
|
153
|
-
export var selectRevenueCenterId = function (state) {
|
|
154
|
-
return state.config.revenueCenterId;
|
|
155
|
-
};
|
|
156
154
|
export var selectSelectOptions = function (state) {
|
|
157
155
|
return state.config.selectOptions || [];
|
|
158
156
|
};
|
|
159
157
|
export var selectMenuColors = function (state) {
|
|
160
158
|
return state.config.menuColors || [];
|
|
161
159
|
};
|
|
162
|
-
export
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
};
|
|
160
|
+
// export const selectTimezone = (state: AppState): Timezone =>
|
|
161
|
+
// state.config.store
|
|
162
|
+
// ? timezoneMap[state.config.store.timezone as TimezonePython]
|
|
163
|
+
// : (getUserTimezone() as Timezone)
|
|
164
|
+
export var selectTimezone = function () { return getUserTimezone(); };
|
|
167
165
|
export var selectLoyalty = function (state) {
|
|
168
166
|
return state.config.store ? state.config.store.has_loyalty : false;
|
|
169
167
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Cart, CartCounts, CartItem, MenuCategory, MenuVendor, Messages, OrderType, RequestedAt, RequestError, RequestStatus,
|
|
1
|
+
import { Cart, CartCounts, CartItem, MenuCategory, MenuVendor, Messages, OrderType, RequestedAt, RequestError, RequestStatus, ServiceType } from '../types';
|
|
2
2
|
import { AppState } from '../app';
|
|
3
3
|
export interface OrderState {
|
|
4
4
|
orderId: string | null;
|
|
5
5
|
orderType: OrderType | null;
|
|
6
6
|
serviceType: ServiceType | null;
|
|
7
|
-
|
|
7
|
+
revenueCenterId: number | null;
|
|
8
8
|
table: string | null;
|
|
9
9
|
prepType: 'EAT_HERE' | 'TAKE_OUT' | null;
|
|
10
10
|
requestedAt: RequestedAt;
|
|
@@ -21,17 +21,7 @@ export interface OrderState {
|
|
|
21
21
|
export declare enum OrderActionType {
|
|
22
22
|
FetchRevenueCenter = "orders/fetchRevenueCenter"
|
|
23
23
|
}
|
|
24
|
-
export declare const
|
|
25
|
-
state: AppState;
|
|
26
|
-
rejectValue: RequestError;
|
|
27
|
-
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
28
|
-
extra?: unknown;
|
|
29
|
-
serializedErrorType?: unknown;
|
|
30
|
-
pendingMeta?: unknown;
|
|
31
|
-
fulfilledMeta?: unknown;
|
|
32
|
-
rejectedMeta?: unknown;
|
|
33
|
-
}>;
|
|
34
|
-
export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrder">, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrderType">, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetRevenueCenter">, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetLocation">, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetCart">, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetMessages">, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetAlert">, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setAlert">, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderId">, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderType">, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setServiceType">, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRequestedAt">, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRevenueCenter">, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setTable">, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setPrepType">, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderServiceType">, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setMenuVars">, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCart">, setCurrentVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentVendor">, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentCategory">, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentItem">, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addItemToCart">, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeItemFromCart">, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/incrementItemInCart">, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/decrementItemInCart">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addMessage">, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeMessage">;
|
|
24
|
+
export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrder">, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetOrderType">, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetRevenueCenter">, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetLocation">, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetCart">, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetMessages">, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orders/resetAlert">, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setAlert">, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderId">, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderType">, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setServiceType">, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRequestedAt">, setRevenueCenterId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setRevenueCenterId">, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setTable">, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setPrepType">, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setOrderServiceType">, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setMenuVars">, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCart">, setCurrentVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentVendor">, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentCategory">, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/setCurrentItem">, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addItemToCart">, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeItemFromCart">, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/incrementItemInCart">, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/decrementItemInCart">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/addMessage">, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "orders/removeMessage">;
|
|
35
25
|
export declare const selectAlert: (state: AppState) => string | null;
|
|
36
26
|
export declare const selectMessages: (state: AppState) => Messages;
|
|
37
27
|
export declare const selectOrder: (state: AppState) => OrderState;
|
|
@@ -40,15 +30,10 @@ export declare const selectOrderTypeName: (state: AppState) => string;
|
|
|
40
30
|
export declare const selectServiceType: (state: AppState) => ServiceType | null;
|
|
41
31
|
export declare const selectServiceTypeName: (state: AppState) => string;
|
|
42
32
|
export declare const selectRequestedAt: (state: AppState) => `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | "ASAP";
|
|
43
|
-
export declare const
|
|
44
|
-
export declare const selectRevenueCenterName: (state: AppState) => string | null;
|
|
33
|
+
export declare const selectRevenueCenterId: (state: AppState) => number | null;
|
|
45
34
|
export declare const selectMenuSlug: (state: AppState) => string;
|
|
46
35
|
export declare const selectMenuVars: (state: AppState) => {
|
|
47
|
-
revenueCenterId
|
|
48
|
-
serviceType?: undefined;
|
|
49
|
-
requestedAt?: undefined;
|
|
50
|
-
} | {
|
|
51
|
-
revenueCenterId: number;
|
|
36
|
+
revenueCenterId: number | null;
|
|
52
37
|
serviceType: ServiceType | null;
|
|
53
38
|
requestedAt: RequestedAt;
|
|
54
39
|
};
|
|
@@ -60,11 +45,11 @@ export declare const selectCartIds: (state: AppState) => number[];
|
|
|
60
45
|
export declare const selectCartQuantity: (state: AppState) => number;
|
|
61
46
|
export declare const selectCartTotal: (state: AppState) => number;
|
|
62
47
|
export declare const selectCartCounts: (state: AppState) => CartCounts;
|
|
63
|
-
export declare const selectCanOrder: (state: AppState) => RequestedAt | null;
|
|
48
|
+
export declare const selectCanOrder: (state: AppState) => 0 | RequestedAt | null;
|
|
64
49
|
export declare const selectCartValidate: (state: AppState) => {
|
|
65
|
-
revenueCenterId: number;
|
|
50
|
+
revenueCenterId: number | null;
|
|
66
51
|
serviceType: ServiceType | null;
|
|
67
52
|
requestedAt: RequestedAt;
|
|
68
53
|
cart: Cart;
|
|
69
|
-
}
|
|
54
|
+
};
|
|
70
55
|
export declare const orderReducer: import("redux").Reducer<OrderState>;
|
package/dist/esm/slices/order.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
var _a;
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { __spreadArray } from "tslib";
|
|
3
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
4
4
|
import { addItem, calcCartCounts, decrementItem, incrementItem, makeRandomNumberString, orderTypeNamesMap, removeItem, serviceTypeNamesMap } from '../utils';
|
|
5
5
|
import { ReducerType } from './types';
|
|
6
6
|
var initialState = {
|
|
7
7
|
orderId: null,
|
|
8
8
|
orderType: null,
|
|
9
9
|
serviceType: null,
|
|
10
|
-
|
|
10
|
+
revenueCenterId: null,
|
|
11
11
|
table: null,
|
|
12
12
|
prepType: null,
|
|
13
13
|
requestedAt: 'asap',
|
|
@@ -25,25 +25,6 @@ export var OrderActionType;
|
|
|
25
25
|
(function (OrderActionType) {
|
|
26
26
|
OrderActionType["FetchRevenueCenter"] = "orders/fetchRevenueCenter";
|
|
27
27
|
})(OrderActionType || (OrderActionType = {}));
|
|
28
|
-
export var fetchRevenueCenter = createAsyncThunk(OrderActionType.FetchRevenueCenter, function (revenueCenterId, _a) {
|
|
29
|
-
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
30
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
31
|
-
var api, err_1;
|
|
32
|
-
return __generator(this, function (_b) {
|
|
33
|
-
switch (_b.label) {
|
|
34
|
-
case 0:
|
|
35
|
-
_b.trys.push([0, 2, , 3]);
|
|
36
|
-
api = getState().config.api;
|
|
37
|
-
return [4 /*yield*/, api.getRevenueCenter(revenueCenterId)];
|
|
38
|
-
case 1: return [2 /*return*/, _b.sent()];
|
|
39
|
-
case 2:
|
|
40
|
-
err_1 = _b.sent();
|
|
41
|
-
return [2 /*return*/, rejectWithValue(err_1)];
|
|
42
|
-
case 3: return [2 /*return*/];
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
28
|
var orderSlice = createSlice({
|
|
48
29
|
name: ReducerType.Orders,
|
|
49
30
|
initialState: initialState,
|
|
@@ -54,15 +35,15 @@ var orderSlice = createSlice({
|
|
|
54
35
|
state.orderType = null;
|
|
55
36
|
state.serviceType = null;
|
|
56
37
|
state.prepType = null;
|
|
57
|
-
state.
|
|
38
|
+
state.revenueCenterId = null;
|
|
58
39
|
state.table = null;
|
|
59
40
|
state.requestedAt = 'asap';
|
|
60
41
|
},
|
|
61
42
|
resetRevenueCenter: function (state) {
|
|
62
|
-
state.
|
|
43
|
+
state.revenueCenterId = null;
|
|
63
44
|
},
|
|
64
45
|
resetLocation: function (state) {
|
|
65
|
-
state.
|
|
46
|
+
state.revenueCenterId = null;
|
|
66
47
|
},
|
|
67
48
|
resetCart: function (state) {
|
|
68
49
|
state.cart = [];
|
|
@@ -89,8 +70,8 @@ var orderSlice = createSlice({
|
|
|
89
70
|
setRequestedAt: function (state, action) {
|
|
90
71
|
state.requestedAt = action.payload;
|
|
91
72
|
},
|
|
92
|
-
|
|
93
|
-
state.
|
|
73
|
+
setRevenueCenterId: function (state, action) {
|
|
74
|
+
state.revenueCenterId = action.payload;
|
|
94
75
|
},
|
|
95
76
|
setTable: function (state, action) {
|
|
96
77
|
state.table = action.payload;
|
|
@@ -104,8 +85,8 @@ var orderSlice = createSlice({
|
|
|
104
85
|
state.serviceType = serviceType;
|
|
105
86
|
},
|
|
106
87
|
setMenuVars: function (state, action) {
|
|
107
|
-
var _a = action.payload,
|
|
108
|
-
state.
|
|
88
|
+
var _a = action.payload, revenueCenterId = _a.revenueCenterId, serviceType = _a.serviceType, requestedAt = _a.requestedAt;
|
|
89
|
+
state.revenueCenterId = revenueCenterId;
|
|
109
90
|
state.serviceType = serviceType;
|
|
110
91
|
state.requestedAt = requestedAt;
|
|
111
92
|
},
|
|
@@ -159,24 +140,9 @@ var orderSlice = createSlice({
|
|
|
159
140
|
removeMessage: function (state, action) {
|
|
160
141
|
state.messages = state.messages.filter(function (i) { return i.id !== action.payload; });
|
|
161
142
|
}
|
|
162
|
-
},
|
|
163
|
-
extraReducers: function (builder) {
|
|
164
|
-
builder
|
|
165
|
-
.addCase(fetchRevenueCenter.fulfilled, function (state, action) {
|
|
166
|
-
state.revenueCenter = action.payload;
|
|
167
|
-
state.loading = 'idle';
|
|
168
|
-
state.error = null;
|
|
169
|
-
})
|
|
170
|
-
.addCase(fetchRevenueCenter.pending, function (state) {
|
|
171
|
-
state.loading = 'pending';
|
|
172
|
-
})
|
|
173
|
-
.addCase(fetchRevenueCenter.rejected, function (state, action) {
|
|
174
|
-
state.error = action.payload;
|
|
175
|
-
state.loading = 'idle';
|
|
176
|
-
});
|
|
177
143
|
}
|
|
178
144
|
});
|
|
179
|
-
export var resetOrder = (_a = orderSlice.actions, _a.resetOrder), resetOrderType = _a.resetOrderType, resetRevenueCenter = _a.resetRevenueCenter, resetLocation = _a.resetLocation, resetCart = _a.resetCart, resetMessages = _a.resetMessages, resetAlert = _a.resetAlert, setAlert = _a.setAlert, setOrderId = _a.setOrderId, setOrderType = _a.setOrderType, setServiceType = _a.setServiceType, setRequestedAt = _a.setRequestedAt,
|
|
145
|
+
export var resetOrder = (_a = orderSlice.actions, _a.resetOrder), resetOrderType = _a.resetOrderType, resetRevenueCenter = _a.resetRevenueCenter, resetLocation = _a.resetLocation, resetCart = _a.resetCart, resetMessages = _a.resetMessages, resetAlert = _a.resetAlert, setAlert = _a.setAlert, setOrderId = _a.setOrderId, setOrderType = _a.setOrderType, setServiceType = _a.setServiceType, setRequestedAt = _a.setRequestedAt, setRevenueCenterId = _a.setRevenueCenterId, setTable = _a.setTable, setPrepType = _a.setPrepType, setOrderServiceType = _a.setOrderServiceType, setMenuVars = _a.setMenuVars, setCart = _a.setCart, setCurrentVendor = _a.setCurrentVendor, setCurrentCategory = _a.setCurrentCategory, setCurrentItem = _a.setCurrentItem, addItemToCart = _a.addItemToCart, removeItemFromCart = _a.removeItemFromCart, incrementItemInCart = _a.incrementItemInCart, decrementItemInCart = _a.decrementItemInCart, addMessage = _a.addMessage, removeMessage = _a.removeMessage;
|
|
180
146
|
export var selectAlert = function (state) { return state.order.alert; };
|
|
181
147
|
export var selectMessages = function (state) { return state.order.messages; };
|
|
182
148
|
export var selectOrder = function (state) { return state.order; };
|
|
@@ -191,35 +157,16 @@ export var selectServiceTypeName = function (state) {
|
|
|
191
157
|
export var selectRequestedAt = function (state) {
|
|
192
158
|
return state.order.requestedAt === 'asap' ? 'ASAP' : state.order.requestedAt;
|
|
193
159
|
};
|
|
194
|
-
export var
|
|
195
|
-
return state.order.
|
|
196
|
-
};
|
|
197
|
-
export var selectRevenueCenterName = function (state) {
|
|
198
|
-
return state.order.revenueCenter ? state.order.revenueCenter.name : null;
|
|
160
|
+
export var selectRevenueCenterId = function (state) {
|
|
161
|
+
return state.order.revenueCenterId;
|
|
199
162
|
};
|
|
200
|
-
// export const selectOrderLimits = (state: AppState) => {
|
|
201
|
-
// const { revenueCenter, serviceType } = state.order
|
|
202
|
-
// if (!revenueCenter || !serviceType) {
|
|
203
|
-
// return { orderMinimum: null, orderMaximum: null }
|
|
204
|
-
// }
|
|
205
|
-
// const { order_maximum, order_minimum } = revenueCenter
|
|
206
|
-
// const orderMax = order_maximum[serviceType]
|
|
207
|
-
// const orderMaximum = parseFloat(orderMax)
|
|
208
|
-
// const orderMinimum = parseFloat(order_minimum[serviceType])
|
|
209
|
-
// return {
|
|
210
|
-
// orderMinimum: orderMinimum > 0 ? orderMinimum : null,
|
|
211
|
-
// orderMaximum: orderMaximum > 0 ? orderMaximum : null
|
|
212
|
-
// }
|
|
213
|
-
// }
|
|
214
163
|
export var selectMenuSlug = function (state) {
|
|
215
|
-
var
|
|
216
|
-
return
|
|
164
|
+
var slug = (state.config.store || {}).slug;
|
|
165
|
+
return slug ? "/menu/".concat(slug) : '/';
|
|
217
166
|
};
|
|
218
167
|
export var selectMenuVars = function (state) {
|
|
219
|
-
if (!state.order.revenueCenter)
|
|
220
|
-
return {};
|
|
221
168
|
return {
|
|
222
|
-
revenueCenterId: state.order.
|
|
169
|
+
revenueCenterId: state.order.revenueCenterId,
|
|
223
170
|
serviceType: state.order.serviceType,
|
|
224
171
|
requestedAt: state.order.requestedAt
|
|
225
172
|
};
|
|
@@ -249,15 +196,12 @@ export var selectCartCounts = function (state) {
|
|
|
249
196
|
return state.order.cartCounts || {};
|
|
250
197
|
};
|
|
251
198
|
export var selectCanOrder = function (state) {
|
|
252
|
-
return state.order.
|
|
199
|
+
return state.order.revenueCenterId &&
|
|
253
200
|
state.order.serviceType &&
|
|
254
201
|
state.order.requestedAt;
|
|
255
202
|
};
|
|
256
203
|
export var selectCartValidate = function (state) {
|
|
257
|
-
var _a = state.order || {},
|
|
258
|
-
if (!revenueCenter)
|
|
259
|
-
return null;
|
|
260
|
-
var revenueCenterId = revenueCenter.revenue_center_id;
|
|
204
|
+
var _a = state.order || {}, revenueCenterId = _a.revenueCenterId, serviceType = _a.serviceType, requestedAt = _a.requestedAt, cart = _a.cart;
|
|
261
205
|
return {
|
|
262
206
|
revenueCenterId: revenueCenterId,
|
|
263
207
|
serviceType: serviceType,
|
package/dist/esm/slices/pos.js
CHANGED
|
@@ -188,7 +188,7 @@ export var selectCashier = function (state) {
|
|
|
188
188
|
var cashier = state.pos.cashier;
|
|
189
189
|
if (!cashier)
|
|
190
190
|
return { cashier: null, isExpired: false };
|
|
191
|
-
var tz = selectTimezone(
|
|
191
|
+
var tz = selectTimezone();
|
|
192
192
|
var businessDate = currentLocalDateStr(tz);
|
|
193
193
|
var isExpired = businessDate !== cashier.businessDate;
|
|
194
194
|
if (isExpired)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TimeString
|
|
2
|
-
import { Decimal, Money,
|
|
1
|
+
import { TimeString } from '../datetimes';
|
|
2
|
+
import { Decimal, Money, ServiceTypes, TenderTypes, Weekday } from '../global';
|
|
3
3
|
export type PaymentProcessor = 'NONE' | 'CARDCONNECT' | 'VANTIV' | 'CLOVER' | 'NMI';
|
|
4
4
|
export interface PaymentProcessing {
|
|
5
5
|
integration: PaymentProcessor;
|
|
@@ -22,10 +22,11 @@ export interface StoreTax {
|
|
|
22
22
|
tax_id: number;
|
|
23
23
|
tax_type: number;
|
|
24
24
|
}
|
|
25
|
+
export type StoreTaxes = StoreTax[];
|
|
25
26
|
export interface StoreTenderTypes {
|
|
26
|
-
DELIVERY:
|
|
27
|
-
PICKUP:
|
|
28
|
-
WALKIN:
|
|
27
|
+
DELIVERY: TenderTypes;
|
|
28
|
+
PICKUP: TenderTypes;
|
|
29
|
+
WALKIN: TenderTypes;
|
|
29
30
|
}
|
|
30
31
|
export interface StoreAddress {
|
|
31
32
|
city: string;
|
|
@@ -57,9 +58,8 @@ export interface StoreMessage {
|
|
|
57
58
|
export type StorePunchType = 'PIN' | 'CARD';
|
|
58
59
|
export interface Store {
|
|
59
60
|
address: StoreAddress;
|
|
60
|
-
auth_type: 'PIN' | 'CARD';
|
|
61
61
|
alert_minutes: number;
|
|
62
|
-
|
|
62
|
+
auth_type: 'PIN' | 'CARD';
|
|
63
63
|
credit: PaymentProcessing;
|
|
64
64
|
delivery_minutes: number;
|
|
65
65
|
dine_in_prompt: boolean;
|
|
@@ -74,16 +74,11 @@ export interface Store {
|
|
|
74
74
|
has_loyalty: boolean;
|
|
75
75
|
hide_default_mods: boolean;
|
|
76
76
|
hide_delay: boolean;
|
|
77
|
-
is_closed: boolean;
|
|
78
77
|
is_outpost: boolean;
|
|
79
|
-
is_temporarily_closed: boolean;
|
|
80
78
|
item_discount_approval: boolean;
|
|
81
|
-
levelup?: LevelUp;
|
|
82
|
-
messages: Array<StoreMessage> | null;
|
|
83
79
|
name: string;
|
|
84
80
|
number: string;
|
|
85
81
|
order_page_swipe: boolean;
|
|
86
|
-
origin: Url | null;
|
|
87
82
|
overtime_threshold: number;
|
|
88
83
|
overtime_threshold_daily: number;
|
|
89
84
|
page_timeout: number;
|
|
@@ -95,16 +90,14 @@ export interface Store {
|
|
|
95
90
|
receipt_header: string;
|
|
96
91
|
receipt_phone: boolean;
|
|
97
92
|
revenue_center_id: number;
|
|
98
|
-
|
|
99
|
-
service_types: Array<ServiceType>;
|
|
93
|
+
service_types: ServiceTypes;
|
|
100
94
|
short_name: string;
|
|
101
95
|
slug: string;
|
|
102
96
|
starting_cash: Decimal;
|
|
103
97
|
store_id: number;
|
|
104
98
|
tax_exempt_approval: boolean;
|
|
105
|
-
taxes:
|
|
99
|
+
taxes: StoreTaxes;
|
|
106
100
|
tender_types: StoreTenderTypes;
|
|
107
|
-
timezone: TimezonePython;
|
|
108
101
|
walkin_minutes: number;
|
|
109
102
|
walkin_prep_minutes: number;
|
|
110
103
|
warning_minutes: number;
|
|
@@ -10,11 +10,13 @@ export type FullOrderType = OrderType | 'MAIN_MENU' | 'ECOMMERCE';
|
|
|
10
10
|
export type OrderTypeMap = {
|
|
11
11
|
[Property in OrderType]: string;
|
|
12
12
|
};
|
|
13
|
-
export type ServiceType = 'WALKIN' | 'PICKUP' | 'DELIVERY'
|
|
13
|
+
export type ServiceType = 'WALKIN' | 'PICKUP' | 'DELIVERY';
|
|
14
|
+
export type ServiceTypes = ServiceType[];
|
|
14
15
|
export type ServiceTypeMap = {
|
|
15
16
|
[Property in ServiceType]: string;
|
|
16
17
|
};
|
|
17
18
|
export type TenderType = 'CASH' | 'CREDIT' | 'HOUSE_ACCOUNT' | 'GIFT_CARD' | 'COMP';
|
|
19
|
+
export type TenderTypes = TenderType[];
|
|
18
20
|
export type TenderTypeMap = {
|
|
19
21
|
[Property in TenderType]: string;
|
|
20
22
|
};
|
|
@@ -6,7 +6,7 @@ export declare const HUMAN_TIME = "h:mma";
|
|
|
6
6
|
export declare const HUMAN_DATETIME = "MMM d, h:mma";
|
|
7
7
|
export declare const ISO_STRING = "yyyy-MM-dd'T'HH:mm:ssXXX";
|
|
8
8
|
export declare const timezoneMap: TimezoneMap;
|
|
9
|
-
export declare const getUserTimezone: () =>
|
|
9
|
+
export declare const getUserTimezone: () => Timezone;
|
|
10
10
|
export declare const currentLocalDate: (tz: Timezone) => Date;
|
|
11
11
|
export declare const currentLocalDateStr: (tz: Timezone, fmt?: string) => string;
|
|
12
12
|
export declare const currentLocalIso: (tz: Timezone) => string;
|
package/dist/esm/utils/order.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
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",
|