@open-tender/cloud 0.0.18 → 0.0.20

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.
@@ -76,4 +76,10 @@ export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithout
76
76
  export declare const selectTimezone: (state: AppState) => string;
77
77
  export declare const selectOrder: (state: AppState) => OrderState;
78
78
  export declare const selectCartQuantity: (state: AppState) => number;
79
+ export declare const selectCartTotal: (state: AppState) => number;
80
+ export declare const selectCanOrder: (state: AppState) => string | null;
81
+ export declare const selectOrderLimits: (state: AppState) => {
82
+ orderMinimum: number | `${number}.${number}` | null;
83
+ orderMaximum: string | number | null;
84
+ };
79
85
  export declare const orderReducer: import("redux").Reducer<OrderState, import("redux").AnyAction>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.orderReducer = exports.selectCartQuantity = exports.selectOrder = exports.selectTimezone = exports.setTable = exports.setServiceType = exports.setRevenueCenter = exports.setRequestedAt = exports.setPrepType = exports.setOrderType = exports.setOrderServiceType = exports.setOrderId = exports.setMenuVars = exports.setDeviceType = exports.setCurrentCategory = exports.setCurbside = exports.setCart = exports.setAlert = exports.setAddress = exports.resetRevenueCenter = exports.resetOrderType = exports.resetMessages = exports.resetLocation = exports.resetCart = exports.resetAlert = exports.removeMessage = exports.removeItemFromCart = exports.incrementItemInCart = exports.decrementItemInCart = exports.addMessage = exports.addItemToCart = exports.resetOrder = exports.reorderPastOrder = exports.editOrder = exports.refreshRevenueCenter = exports.revertMenu = exports.fetchLocation = exports.fetchRevenueCenter = exports.OrderActionType = void 0;
4
+ exports.orderReducer = exports.selectOrderLimits = exports.selectCanOrder = exports.selectCartTotal = exports.selectCartQuantity = exports.selectOrder = exports.selectTimezone = exports.setTable = exports.setServiceType = exports.setRevenueCenter = exports.setRequestedAt = exports.setPrepType = exports.setOrderType = exports.setOrderServiceType = exports.setOrderId = exports.setMenuVars = exports.setDeviceType = exports.setCurrentCategory = exports.setCurbside = exports.setCart = exports.setAlert = exports.setAddress = exports.resetRevenueCenter = exports.resetOrderType = exports.resetMessages = exports.resetLocation = exports.resetCart = exports.resetAlert = exports.removeMessage = exports.removeItemFromCart = exports.incrementItemInCart = exports.decrementItemInCart = exports.addMessage = exports.addItemToCart = exports.resetOrder = exports.reorderPastOrder = exports.editOrder = exports.refreshRevenueCenter = exports.revertMenu = exports.fetchLocation = exports.fetchRevenueCenter = exports.OrderActionType = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const toolkit_1 = require("@reduxjs/toolkit");
7
7
  const types_1 = require("./types");
@@ -431,4 +431,30 @@ const selectCartQuantity = (state) => {
431
431
  : 0;
432
432
  };
433
433
  exports.selectCartQuantity = selectCartQuantity;
434
+ const selectCartTotal = (state) => {
435
+ return state.order.cart
436
+ ? state.order.cart.reduce((t, i) => (t += i.totalPrice), 0.0)
437
+ : 0.0;
438
+ };
439
+ exports.selectCartTotal = selectCartTotal;
440
+ const selectCanOrder = (state) => state.order.revenueCenter &&
441
+ state.order.serviceType &&
442
+ state.order.requestedAt;
443
+ exports.selectCanOrder = selectCanOrder;
444
+ const selectOrderLimits = (state) => {
445
+ const { revenueCenter, serviceType } = state.order;
446
+ if (!revenueCenter || !serviceType) {
447
+ return { orderMinimum: null, orderMaximum: null };
448
+ }
449
+ const { cartGuest, spendingLimit } = state.groupOrder;
450
+ const { order_maximum, order_minimum } = revenueCenter.settings || revenueCenter;
451
+ const orderMax = cartGuest && spendingLimit ? spendingLimit : (order_maximum ? order_maximum[serviceType] : 0);
452
+ const orderMaximum = orderMax;
453
+ const orderMinimum = order_minimum ? order_minimum[serviceType] : 0;
454
+ return {
455
+ orderMinimum: orderMinimum > 0 ? orderMinimum : null,
456
+ orderMaximum: orderMaximum > 0 ? orderMaximum : null,
457
+ };
458
+ };
459
+ exports.selectOrderLimits = selectOrderLimits;
434
460
  exports.orderReducer = orderSlice.reducer;
@@ -15,7 +15,7 @@ export declare const fetchOrderFulfillment: import("@reduxjs/toolkit").AsyncThun
15
15
  }>;
16
16
  export declare const updateOrderFulfillment: import("@reduxjs/toolkit").AsyncThunk<Partial<OrderFulfillment>, {
17
17
  orderId: number;
18
- data: OrderFulfillment;
18
+ data: Partial<OrderFulfillment>;
19
19
  }, {
20
20
  state: AppState;
21
21
  rejectValue: any;
@@ -76,4 +76,10 @@ export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithout
76
76
  export declare const selectTimezone: (state: AppState) => string;
77
77
  export declare const selectOrder: (state: AppState) => OrderState;
78
78
  export declare const selectCartQuantity: (state: AppState) => number;
79
+ export declare const selectCartTotal: (state: AppState) => number;
80
+ export declare const selectCanOrder: (state: AppState) => string | null;
81
+ export declare const selectOrderLimits: (state: AppState) => {
82
+ orderMinimum: number | `${number}.${number}` | null;
83
+ orderMaximum: string | number | null;
84
+ };
79
85
  export declare const orderReducer: import("redux").Reducer<OrderState, import("redux").AnyAction>;
@@ -426,4 +426,27 @@ export const selectCartQuantity = (state) => {
426
426
  ? state.order.cart.reduce((t, i) => (t += i.quantity), 0)
427
427
  : 0;
428
428
  };
429
+ export const selectCartTotal = (state) => {
430
+ return state.order.cart
431
+ ? state.order.cart.reduce((t, i) => (t += i.totalPrice), 0.0)
432
+ : 0.0;
433
+ };
434
+ export const selectCanOrder = (state) => state.order.revenueCenter &&
435
+ state.order.serviceType &&
436
+ state.order.requestedAt;
437
+ export const selectOrderLimits = (state) => {
438
+ const { revenueCenter, serviceType } = state.order;
439
+ if (!revenueCenter || !serviceType) {
440
+ return { orderMinimum: null, orderMaximum: null };
441
+ }
442
+ const { cartGuest, spendingLimit } = state.groupOrder;
443
+ const { order_maximum, order_minimum } = revenueCenter.settings || revenueCenter;
444
+ const orderMax = cartGuest && spendingLimit ? spendingLimit : (order_maximum ? order_maximum[serviceType] : 0);
445
+ const orderMaximum = orderMax;
446
+ const orderMinimum = order_minimum ? order_minimum[serviceType] : 0;
447
+ return {
448
+ orderMinimum: orderMinimum > 0 ? orderMinimum : null,
449
+ orderMaximum: orderMaximum > 0 ? orderMaximum : null,
450
+ };
451
+ };
429
452
  export const orderReducer = orderSlice.reducer;
@@ -15,7 +15,7 @@ export declare const fetchOrderFulfillment: import("@reduxjs/toolkit").AsyncThun
15
15
  }>;
16
16
  export declare const updateOrderFulfillment: import("@reduxjs/toolkit").AsyncThunk<Partial<OrderFulfillment>, {
17
17
  orderId: number;
18
- data: OrderFulfillment;
18
+ data: Partial<OrderFulfillment>;
19
19
  }, {
20
20
  state: AppState;
21
21
  rejectValue: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/cloud",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -55,7 +55,7 @@
55
55
  "react": "^18.2.0"
56
56
  },
57
57
  "dependencies": {
58
- "@open-tender/types": "^0.0.59",
58
+ "@open-tender/types": "^0.0.60",
59
59
  "@open-tender/utils": "^0.0.9"
60
60
  }
61
61
  }