@open-tender/store 0.3.40 → 0.3.42

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.
@@ -15,6 +15,8 @@ export interface KdsState {
15
15
  search: string | null;
16
16
  businessDate: DateString | null;
17
17
  summary: boolean;
18
+ allDay: boolean;
19
+ allDayMods: boolean;
18
20
  orders: OrdersKds;
19
21
  loading: RequestStatus;
20
22
  error: RequestError;
@@ -147,6 +149,8 @@ export declare const kdsSlice: import("@reduxjs/toolkit").Slice<KdsState, {
147
149
  type: string;
148
150
  }) => void;
149
151
  toggleKdsSummary: (state: import("immer/dist/internal").WritableDraft<KdsState>) => void;
152
+ toggleKdsAllDay: (state: import("immer/dist/internal").WritableDraft<KdsState>) => void;
153
+ toggleKdsAllDayMods: (state: import("immer/dist/internal").WritableDraft<KdsState>) => void;
150
154
  setKdsOrder: (state: import("immer/dist/internal").WritableDraft<KdsState>, action: {
151
155
  payload: any;
152
156
  type: string;
@@ -212,12 +216,14 @@ export declare const kdsSlice: import("@reduxjs/toolkit").Slice<KdsState, {
212
216
  search: string | null;
213
217
  businessDate: DateString | null;
214
218
  summary: boolean;
219
+ allDay: boolean;
220
+ allDayMods: boolean;
215
221
  loading: RequestStatus;
216
222
  error: import("immer/dist/internal").WritableDraft<RequestErrorAPI> | null | undefined;
217
223
  counts: import("immer/dist/internal").WritableDraft<OrderCounts>;
218
224
  };
219
225
  }, ReducerType.Kds>;
220
- export declare const resetkds: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsItemTypes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStations: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStationId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsColumns: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBoxes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsCardWidth: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsView: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBusinessDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsSearch: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, toggleKdsSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, replaceKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
226
+ export declare const resetkds: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsItemTypes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStations: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStationId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsColumns: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBoxes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsCardWidth: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsView: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBusinessDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsSearch: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, toggleKdsSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, toggleKdsAllDay: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, toggleKdsAllDayMods: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, replaceKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
221
227
  export declare const selectKds: (state: AppState) => KdsState;
222
228
  export declare const selectKdsItemTypes: (state: AppState) => ItemTypes | null;
223
229
  export declare const selectKdsPrepStations: (state: AppState) => PrepStations;
@@ -230,6 +236,8 @@ export declare const selectKdsBoxes: (state: AppState) => number;
230
236
  export declare const selectKdsCardWidth: (state: AppState) => number;
231
237
  export declare const selectKdsFontSize: (state: AppState) => KdsFontSize;
232
238
  export declare const selectKdsSummary: (state: AppState) => boolean;
239
+ export declare const selectKdsAllDay: (state: AppState) => boolean;
240
+ export declare const selectKdsAllDayMods: (state: AppState) => boolean;
233
241
  export declare const selectKdsPage: (state: AppState) => number;
234
242
  export declare const selectKdsPageIndex: (state: AppState) => number;
235
243
  export declare const selectKdsView: (state: AppState) => KdsView | null;
@@ -253,6 +261,7 @@ export declare const selectKdsFutureOrders: (state: AppState) => {
253
261
  };
254
262
  export declare const selectKdsFutureCount: (state: AppState) => number;
255
263
  export declare const selectKdsPrepStationOrders: (state: AppState) => OrdersKds;
264
+ export declare const selectKdsPrepStationAllDay: (state: AppState) => Record<string, import("../types").OrderItemCount>;
256
265
  export declare const selectKdsPrepStationAllIncomplete: (state: AppState) => OrdersKds;
257
266
  export declare const selectKdsPrepStationAllIncompleteToday: (state: AppState) => OrdersKds;
258
267
  export declare const selectKdsOrdersCounts: (state: AppState) => {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.selectKdsFutureOrders = exports.selectKdsCurrentCount = exports.selectKdsCurrentOrders = exports.selectKdsOrders = exports.selectKdsOrder = exports.selectKdsBusinessDate = exports.selectKdsView = exports.selectKdsPageIndex = exports.selectKdsPage = exports.selectKdsSummary = exports.selectKdsFontSize = exports.selectKdsCardWidth = exports.selectKdsBoxes = exports.selectKdsColumns = exports.selectKdsOrderType = exports.selectKdsPrepType = exports.selectKdsPrepStation = exports.selectKdsPrepStationId = exports.selectKdsPrepStations = exports.selectKdsItemTypes = exports.selectKds = exports.replaceKdsOrder = exports.setKdsOrder = exports.toggleKdsSummary = exports.setKdsSearch = exports.setKdsBusinessDate = exports.setKdsView = exports.setKdsPage = exports.setKdsFontSize = exports.setKdsCardWidth = exports.setKdsBoxes = exports.setKdsColumns = exports.setKdsOrderType = exports.setKdsPrepStationId = exports.setKdsPrepStations = exports.setKdsItemTypes = exports.resetkds = exports.kdsSlice = exports.completeTicket = exports.doneTicket = exports.resetTicket = exports.updateTicket = exports.printTicket = exports.resetTickets = exports.updateTickets = exports.printTickets = exports.printKdsOrder = exports.updateKdsOrder = exports.fetchKdsOrders = exports.KdsActionType = void 0;
5
- exports.kdsReducer = exports.selectKdsOrdersCounts = exports.selectKdsPrepStationAllIncompleteToday = exports.selectKdsPrepStationAllIncomplete = exports.selectKdsPrepStationOrders = exports.selectKdsFutureCount = void 0;
4
+ exports.selectKdsOrder = exports.selectKdsBusinessDate = exports.selectKdsView = exports.selectKdsPageIndex = exports.selectKdsPage = exports.selectKdsAllDayMods = exports.selectKdsAllDay = exports.selectKdsSummary = exports.selectKdsFontSize = exports.selectKdsCardWidth = exports.selectKdsBoxes = exports.selectKdsColumns = exports.selectKdsOrderType = exports.selectKdsPrepType = exports.selectKdsPrepStation = exports.selectKdsPrepStationId = exports.selectKdsPrepStations = exports.selectKdsItemTypes = exports.selectKds = exports.replaceKdsOrder = exports.setKdsOrder = exports.toggleKdsAllDayMods = exports.toggleKdsAllDay = exports.toggleKdsSummary = exports.setKdsSearch = exports.setKdsBusinessDate = exports.setKdsView = exports.setKdsPage = exports.setKdsFontSize = exports.setKdsCardWidth = exports.setKdsBoxes = exports.setKdsColumns = exports.setKdsOrderType = exports.setKdsPrepStationId = exports.setKdsPrepStations = exports.setKdsItemTypes = exports.resetkds = exports.kdsSlice = exports.completeTicket = exports.doneTicket = exports.resetTicket = exports.updateTicket = exports.printTicket = exports.resetTickets = exports.updateTickets = exports.printTickets = exports.printKdsOrder = exports.updateKdsOrder = exports.fetchKdsOrders = exports.KdsActionType = void 0;
5
+ exports.kdsReducer = exports.selectKdsOrdersCounts = exports.selectKdsPrepStationAllIncompleteToday = exports.selectKdsPrepStationAllIncomplete = exports.selectKdsPrepStationAllDay = exports.selectKdsPrepStationOrders = exports.selectKdsFutureCount = exports.selectKdsFutureOrders = exports.selectKdsCurrentCount = exports.selectKdsCurrentOrders = exports.selectKdsOrders = void 0;
6
6
  var tslib_1 = require("tslib");
7
7
  var toolkit_1 = require("@reduxjs/toolkit");
8
8
  var types_1 = require("./types");
@@ -22,6 +22,8 @@ var initialState = {
22
22
  search: null,
23
23
  businessDate: null,
24
24
  summary: true,
25
+ allDay: false,
26
+ allDayMods: false,
25
27
  orders: [],
26
28
  loading: 'idle',
27
29
  error: null,
@@ -371,6 +373,12 @@ exports.kdsSlice = (0, toolkit_1.createSlice)({
371
373
  toggleKdsSummary: function (state) {
372
374
  state.summary = !state.summary;
373
375
  },
376
+ toggleKdsAllDay: function (state) {
377
+ state.allDay = !state.allDay;
378
+ },
379
+ toggleKdsAllDayMods: function (state) {
380
+ state.allDayMods = !state.allDayMods;
381
+ },
374
382
  setKdsOrder: function (state, action) {
375
383
  state.order = action.payload;
376
384
  },
@@ -499,7 +507,7 @@ exports.kdsSlice = (0, toolkit_1.createSlice)({
499
507
  });
500
508
  }
501
509
  });
502
- exports.resetkds = (_a = exports.kdsSlice.actions, _a.resetkds), exports.setKdsItemTypes = _a.setKdsItemTypes, exports.setKdsPrepStations = _a.setKdsPrepStations, exports.setKdsPrepStationId = _a.setKdsPrepStationId, exports.setKdsOrderType = _a.setKdsOrderType, exports.setKdsColumns = _a.setKdsColumns, exports.setKdsBoxes = _a.setKdsBoxes, exports.setKdsCardWidth = _a.setKdsCardWidth, exports.setKdsFontSize = _a.setKdsFontSize, exports.setKdsPage = _a.setKdsPage, exports.setKdsView = _a.setKdsView, exports.setKdsBusinessDate = _a.setKdsBusinessDate, exports.setKdsSearch = _a.setKdsSearch, exports.toggleKdsSummary = _a.toggleKdsSummary, exports.setKdsOrder = _a.setKdsOrder, exports.replaceKdsOrder = _a.replaceKdsOrder;
510
+ exports.resetkds = (_a = exports.kdsSlice.actions, _a.resetkds), exports.setKdsItemTypes = _a.setKdsItemTypes, exports.setKdsPrepStations = _a.setKdsPrepStations, exports.setKdsPrepStationId = _a.setKdsPrepStationId, exports.setKdsOrderType = _a.setKdsOrderType, exports.setKdsColumns = _a.setKdsColumns, exports.setKdsBoxes = _a.setKdsBoxes, exports.setKdsCardWidth = _a.setKdsCardWidth, exports.setKdsFontSize = _a.setKdsFontSize, exports.setKdsPage = _a.setKdsPage, exports.setKdsView = _a.setKdsView, exports.setKdsBusinessDate = _a.setKdsBusinessDate, exports.setKdsSearch = _a.setKdsSearch, exports.toggleKdsSummary = _a.toggleKdsSummary, exports.toggleKdsAllDay = _a.toggleKdsAllDay, exports.toggleKdsAllDayMods = _a.toggleKdsAllDayMods, exports.setKdsOrder = _a.setKdsOrder, exports.replaceKdsOrder = _a.replaceKdsOrder;
503
511
  var selectKds = function (state) { return state.kds; };
504
512
  exports.selectKds = selectKds;
505
513
  var selectKdsItemTypes = function (state) { return state.kds.itemTypes; };
@@ -533,6 +541,10 @@ var selectKdsFontSize = function (state) { return state.kds.fontSize; };
533
541
  exports.selectKdsFontSize = selectKdsFontSize;
534
542
  var selectKdsSummary = function (state) { return state.kds.summary; };
535
543
  exports.selectKdsSummary = selectKdsSummary;
544
+ var selectKdsAllDay = function (state) { return state.kds.allDay; };
545
+ exports.selectKdsAllDay = selectKdsAllDay;
546
+ var selectKdsAllDayMods = function (state) { return state.kds.allDayMods; };
547
+ exports.selectKdsAllDayMods = selectKdsAllDayMods;
536
548
  var selectKdsPage = function (state) { return state.kds.page; };
537
549
  exports.selectKdsPage = selectKdsPage;
538
550
  var selectKdsPageIndex = function (state) { return state.kds.page - 1; };
@@ -588,6 +600,12 @@ var selectKdsPrepStationOrders = function (state) {
588
600
  return (0, utils_1.makeOrdersForPrepStation)(orders, prepStation, orderType);
589
601
  };
590
602
  exports.selectKdsPrepStationOrders = selectKdsPrepStationOrders;
603
+ var selectKdsPrepStationAllDay = function (state) {
604
+ var orders = (0, exports.selectKdsPrepStationOrders)(state);
605
+ var withMods = state.kds.allDayMods;
606
+ return (0, utils_1.makeItemCounts)(orders, withMods);
607
+ };
608
+ exports.selectKdsPrepStationAllDay = selectKdsPrepStationAllDay;
591
609
  var selectKdsPrepStationAllIncomplete = function (state) {
592
610
  var _a = state.kds, prepStations = _a.prepStations, prepStationId = _a.prepStationId, orders = _a.orders;
593
611
  var prepStation = prepStations.find(function (i) { return i.prep_station_id === prepStationId; });
@@ -395,3 +395,7 @@ export interface OrderKdsStatus {
395
395
  DONE: boolean;
396
396
  COMPLETED: boolean;
397
397
  }
398
+ export interface OrderItemCount {
399
+ item: OrderItem;
400
+ count: number;
401
+ }
@@ -133,7 +133,7 @@ export declare const makeCartItem: (item: MenuItem, isEdit?: boolean, soldOut?:
133
133
  upsellItems: number[];
134
134
  similarItems: number[];
135
135
  };
136
- export declare const makeCartItemSignature: (item: CartItem) => string;
136
+ export declare const makeCartItemSignature: (item: CartItem, withNotes?: boolean) => string;
137
137
  export declare const addItem: (cart: Cart, item: CartItem) => {
138
138
  cart: Cart;
139
139
  cartCounts: {};
@@ -216,7 +216,8 @@ var makeCartItem = function (item, isEdit, soldOut, simpleItem, hasPoints) {
216
216
  return pricedItem;
217
217
  };
218
218
  exports.makeCartItem = makeCartItem;
219
- var makeCartItemSignature = function (item) {
219
+ var makeCartItemSignature = function (item, withNotes) {
220
+ if (withNotes === void 0) { withNotes = true; }
220
221
  var optionIds = item.groups
221
222
  .reduce(function (arr, group) {
222
223
  var ids = group.options
@@ -230,8 +231,7 @@ var makeCartItemSignature = function (item) {
230
231
  }, [])
231
232
  .sort(function (a, b) { return a - b; });
232
233
  var itemIds = tslib_1.__spreadArray([item.id], optionIds, true).join('.');
233
- var signature = "".concat(itemIds, ".").concat(item.madeFor, ".").concat(item.notes);
234
- return signature;
234
+ return withNotes ? "".concat(itemIds, ".").concat(item.madeFor, ".").concat(item.notes) : itemIds;
235
235
  };
236
236
  exports.makeCartItemSignature = makeCartItemSignature;
237
237
  var addItem = function (cart, item) {
@@ -1,4 +1,4 @@
1
- import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, KdsOrderType, KdsStationCounts, KdsStationOrderTypeCount, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderKds, Orders, OrdersKds, OrderTickets, OrderTimes, PrepStation, PrepStations, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
1
+ import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, KdsOrderType, KdsStationCounts, KdsStationOrderTypeCount, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderItemCount, OrderKds, Orders, OrdersKds, OrderTickets, OrderTimes, PrepStation, PrepStations, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
2
2
  export declare const prepStatus: PrepStatusMap;
3
3
  export declare const makeFetchOrdersArgs: ({ businessDate, receiptType, channelType, prepStatus, search, sortBy, sortDirection, parentOrderId }: FetchOrdersArgs) => FetchOrdersAPIArgs;
4
4
  export declare const notDone: (prep_status: PrepStatus) => boolean;
@@ -15,6 +15,8 @@ export declare const makeOrdersOfType: (orders: OrdersKds, orderType: KdsOrderTy
15
15
  export declare const filterOrdersByItemType: (orders: OrdersKds, itemTypeIds: number[] | null) => OrdersKds;
16
16
  export declare const filterOrdersToday: (orders: OrdersKds) => OrdersKds;
17
17
  export declare const makeOrdersForPrepStation: (orders: OrdersKds, prepStation: PrepStation, orderType: KdsOrderType) => OrdersKds;
18
+ export declare const makeOrderItemSignature: (item: OrderItem, withNotes?: boolean) => string;
19
+ export declare const makeItemCounts: (orders: OrdersKds, withMods?: boolean) => Record<string, OrderItemCount>;
18
20
  export declare const makeKdsCounts: (itemTypes: ItemTypes | null, orders: OrdersKds | null) => {
19
21
  current: null;
20
22
  future: null;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeOrderTimes = exports.makeBucketColor = exports.displayCounts = exports.makeDisplayCounts = exports.makeTicketGroups = exports.makeModifiersMetadataLookup = exports.makeCartLookup = exports.makeItemTypesMap = exports.makeItemTypeSettings = exports.makeTicketCounts = exports.makeOrderBucketsCounts = exports.makeOrderBuckets = exports.makeKdsStationCounts = exports.makeKdsStationCount = exports.makeCurrentAndFutureOrders = exports.makeKdsCounts = exports.makeOrdersForPrepStation = exports.filterOrdersToday = exports.filterOrdersByItemType = exports.makeOrdersOfType = exports.makeCompletedOrders = exports.makeIncompleteOrders = exports.makeFutureOrders = exports.makeCurrentOrders = exports.makeKdsOrders = exports.isFutureOrder = exports.isCompleted = exports.notCompleted = exports.isDone = exports.notDone = exports.makeFetchOrdersArgs = exports.prepStatus = void 0;
3
+ exports.makeOrderTimes = exports.makeBucketColor = exports.displayCounts = exports.makeDisplayCounts = exports.makeTicketGroups = exports.makeModifiersMetadataLookup = exports.makeCartLookup = exports.makeItemTypesMap = exports.makeItemTypeSettings = exports.makeTicketCounts = exports.makeOrderBucketsCounts = exports.makeOrderBuckets = exports.makeKdsStationCounts = exports.makeKdsStationCount = exports.makeCurrentAndFutureOrders = exports.makeKdsCounts = exports.makeItemCounts = exports.makeOrderItemSignature = exports.makeOrdersForPrepStation = exports.filterOrdersToday = exports.filterOrdersByItemType = exports.makeOrdersOfType = exports.makeCompletedOrders = exports.makeIncompleteOrders = exports.makeFutureOrders = exports.makeCurrentOrders = exports.makeKdsOrders = exports.isFutureOrder = exports.isCompleted = exports.notCompleted = exports.isDone = exports.notDone = exports.makeFetchOrdersArgs = exports.prepStatus = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var datetimes_1 = require("./datetimes");
6
6
  exports.prepStatus = {
@@ -173,6 +173,39 @@ var makeOrdersForPrepStation = function (orders, prepStation, orderType) {
173
173
  : filtered.filter(function (i) { return i.tickets.filter(function (t) { return (0, exports.notDone)(t.ticket_status); }).length; });
174
174
  };
175
175
  exports.makeOrdersForPrepStation = makeOrdersForPrepStation;
176
+ var makeOrderItemSignature = function (item, withNotes) {
177
+ if (withNotes === void 0) { withNotes = false; }
178
+ var groups = item.groups || [];
179
+ var optionIds = groups
180
+ .reduce(function (arr, group) {
181
+ var ids = group.options
182
+ .filter(function (o) { return o.quantity > 0; })
183
+ .reduce(function (optionsArr, o) {
184
+ var optionArr = new Array(o.quantity);
185
+ optionArr.fill(o.id);
186
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], optionsArr, true), optionArr, true);
187
+ }, []);
188
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], arr, true), ids, true);
189
+ }, [])
190
+ .sort(function (a, b) { return a - b; });
191
+ var itemIds = tslib_1.__spreadArray([item.id], optionIds, true).join('.');
192
+ return withNotes ? "".concat(itemIds, ".").concat(item.made_for, ".").concat(item.notes) : itemIds;
193
+ };
194
+ exports.makeOrderItemSignature = makeOrderItemSignature;
195
+ var makeItemCounts = function (orders, withMods) {
196
+ if (withMods === void 0) { withMods = true; }
197
+ return orders.reduce(function (obj, order) {
198
+ order.cart.forEach(function (item) {
199
+ var itemId = withMods ? (0, exports.makeOrderItemSignature)(item) : "".concat(item.id);
200
+ var existing = obj[itemId];
201
+ obj[itemId] = existing
202
+ ? { item: item, count: (existing.count += item.quantity) }
203
+ : { item: item, count: item.quantity };
204
+ });
205
+ return obj;
206
+ }, {});
207
+ };
208
+ exports.makeItemCounts = makeItemCounts;
176
209
  var updateCounts = function (counts, ticketCounts) {
177
210
  // console.log('BEFORE', counts, ticketCounts)
178
211
  var updated = Object.entries(counts).reduce(function (obj, _a) {
@@ -15,6 +15,8 @@ export interface KdsState {
15
15
  search: string | null;
16
16
  businessDate: DateString | null;
17
17
  summary: boolean;
18
+ allDay: boolean;
19
+ allDayMods: boolean;
18
20
  orders: OrdersKds;
19
21
  loading: RequestStatus;
20
22
  error: RequestError;
@@ -147,6 +149,8 @@ export declare const kdsSlice: import("@reduxjs/toolkit").Slice<KdsState, {
147
149
  type: string;
148
150
  }) => void;
149
151
  toggleKdsSummary: (state: import("immer/dist/internal").WritableDraft<KdsState>) => void;
152
+ toggleKdsAllDay: (state: import("immer/dist/internal").WritableDraft<KdsState>) => void;
153
+ toggleKdsAllDayMods: (state: import("immer/dist/internal").WritableDraft<KdsState>) => void;
150
154
  setKdsOrder: (state: import("immer/dist/internal").WritableDraft<KdsState>, action: {
151
155
  payload: any;
152
156
  type: string;
@@ -212,12 +216,14 @@ export declare const kdsSlice: import("@reduxjs/toolkit").Slice<KdsState, {
212
216
  search: string | null;
213
217
  businessDate: DateString | null;
214
218
  summary: boolean;
219
+ allDay: boolean;
220
+ allDayMods: boolean;
215
221
  loading: RequestStatus;
216
222
  error: import("immer/dist/internal").WritableDraft<RequestErrorAPI> | null | undefined;
217
223
  counts: import("immer/dist/internal").WritableDraft<OrderCounts>;
218
224
  };
219
225
  }, ReducerType.Kds>;
220
- export declare const resetkds: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsItemTypes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStations: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStationId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsColumns: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBoxes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsCardWidth: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsView: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBusinessDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsSearch: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, toggleKdsSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, replaceKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
226
+ export declare const resetkds: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsItemTypes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStations: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPrepStationId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsColumns: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBoxes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsCardWidth: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsView: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsBusinessDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setKdsSearch: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, toggleKdsSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, toggleKdsAllDay: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, toggleKdsAllDayMods: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, replaceKdsOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
221
227
  export declare const selectKds: (state: AppState) => KdsState;
222
228
  export declare const selectKdsItemTypes: (state: AppState) => ItemTypes | null;
223
229
  export declare const selectKdsPrepStations: (state: AppState) => PrepStations;
@@ -230,6 +236,8 @@ export declare const selectKdsBoxes: (state: AppState) => number;
230
236
  export declare const selectKdsCardWidth: (state: AppState) => number;
231
237
  export declare const selectKdsFontSize: (state: AppState) => KdsFontSize;
232
238
  export declare const selectKdsSummary: (state: AppState) => boolean;
239
+ export declare const selectKdsAllDay: (state: AppState) => boolean;
240
+ export declare const selectKdsAllDayMods: (state: AppState) => boolean;
233
241
  export declare const selectKdsPage: (state: AppState) => number;
234
242
  export declare const selectKdsPageIndex: (state: AppState) => number;
235
243
  export declare const selectKdsView: (state: AppState) => KdsView | null;
@@ -253,6 +261,7 @@ export declare const selectKdsFutureOrders: (state: AppState) => {
253
261
  };
254
262
  export declare const selectKdsFutureCount: (state: AppState) => number;
255
263
  export declare const selectKdsPrepStationOrders: (state: AppState) => OrdersKds;
264
+ export declare const selectKdsPrepStationAllDay: (state: AppState) => Record<string, import("../types").OrderItemCount>;
256
265
  export declare const selectKdsPrepStationAllIncomplete: (state: AppState) => OrdersKds;
257
266
  export declare const selectKdsPrepStationAllIncompleteToday: (state: AppState) => OrdersKds;
258
267
  export declare const selectKdsOrdersCounts: (state: AppState) => {
@@ -2,7 +2,7 @@ var _a;
2
2
  import { __assign, __awaiter, __generator } from "tslib";
3
3
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
4
4
  import { ReducerType } from './types';
5
- import { currentLocalDate, filterOrdersToday, isoToDate, makeFetchOrdersArgs, makeKdsOrders, makeKdsStationCounts, makeOrdersForPrepStation, notDone, timezoneMap } from '../utils';
5
+ import { currentLocalDate, filterOrdersToday, isoToDate, makeFetchOrdersArgs, makeItemCounts, makeKdsOrders, makeKdsStationCounts, makeOrdersForPrepStation, notDone, timezoneMap } from '../utils';
6
6
  import { addAlert } from './alerts';
7
7
  var initialState = {
8
8
  itemTypes: null,
@@ -18,6 +18,8 @@ var initialState = {
18
18
  search: null,
19
19
  businessDate: null,
20
20
  summary: true,
21
+ allDay: false,
22
+ allDayMods: false,
21
23
  orders: [],
22
24
  loading: 'idle',
23
25
  error: null,
@@ -367,6 +369,12 @@ export var kdsSlice = createSlice({
367
369
  toggleKdsSummary: function (state) {
368
370
  state.summary = !state.summary;
369
371
  },
372
+ toggleKdsAllDay: function (state) {
373
+ state.allDay = !state.allDay;
374
+ },
375
+ toggleKdsAllDayMods: function (state) {
376
+ state.allDayMods = !state.allDayMods;
377
+ },
370
378
  setKdsOrder: function (state, action) {
371
379
  state.order = action.payload;
372
380
  },
@@ -495,7 +503,7 @@ export var kdsSlice = createSlice({
495
503
  });
496
504
  }
497
505
  });
498
- export var resetkds = (_a = kdsSlice.actions, _a.resetkds), setKdsItemTypes = _a.setKdsItemTypes, setKdsPrepStations = _a.setKdsPrepStations, setKdsPrepStationId = _a.setKdsPrepStationId, setKdsOrderType = _a.setKdsOrderType, setKdsColumns = _a.setKdsColumns, setKdsBoxes = _a.setKdsBoxes, setKdsCardWidth = _a.setKdsCardWidth, setKdsFontSize = _a.setKdsFontSize, setKdsPage = _a.setKdsPage, setKdsView = _a.setKdsView, setKdsBusinessDate = _a.setKdsBusinessDate, setKdsSearch = _a.setKdsSearch, toggleKdsSummary = _a.toggleKdsSummary, setKdsOrder = _a.setKdsOrder, replaceKdsOrder = _a.replaceKdsOrder;
506
+ export var resetkds = (_a = kdsSlice.actions, _a.resetkds), setKdsItemTypes = _a.setKdsItemTypes, setKdsPrepStations = _a.setKdsPrepStations, setKdsPrepStationId = _a.setKdsPrepStationId, setKdsOrderType = _a.setKdsOrderType, setKdsColumns = _a.setKdsColumns, setKdsBoxes = _a.setKdsBoxes, setKdsCardWidth = _a.setKdsCardWidth, setKdsFontSize = _a.setKdsFontSize, setKdsPage = _a.setKdsPage, setKdsView = _a.setKdsView, setKdsBusinessDate = _a.setKdsBusinessDate, setKdsSearch = _a.setKdsSearch, toggleKdsSummary = _a.toggleKdsSummary, toggleKdsAllDay = _a.toggleKdsAllDay, toggleKdsAllDayMods = _a.toggleKdsAllDayMods, setKdsOrder = _a.setKdsOrder, replaceKdsOrder = _a.replaceKdsOrder;
499
507
  export var selectKds = function (state) { return state.kds; };
500
508
  export var selectKdsItemTypes = function (state) { return state.kds.itemTypes; };
501
509
  export var selectKdsPrepStations = function (state) { return state.kds.prepStations; };
@@ -517,6 +525,8 @@ export var selectKdsBoxes = function (state) { return state.kds.boxes; };
517
525
  export var selectKdsCardWidth = function (state) { return state.kds.cardWidth; };
518
526
  export var selectKdsFontSize = function (state) { return state.kds.fontSize; };
519
527
  export var selectKdsSummary = function (state) { return state.kds.summary; };
528
+ export var selectKdsAllDay = function (state) { return state.kds.allDay; };
529
+ export var selectKdsAllDayMods = function (state) { return state.kds.allDayMods; };
520
530
  export var selectKdsPage = function (state) { return state.kds.page; };
521
531
  export var selectKdsPageIndex = function (state) { return state.kds.page - 1; };
522
532
  export var selectKdsView = function (state) { return state.kds.view; };
@@ -561,6 +571,11 @@ export var selectKdsPrepStationOrders = function (state) {
561
571
  return [];
562
572
  return makeOrdersForPrepStation(orders, prepStation, orderType);
563
573
  };
574
+ export var selectKdsPrepStationAllDay = function (state) {
575
+ var orders = selectKdsPrepStationOrders(state);
576
+ var withMods = state.kds.allDayMods;
577
+ return makeItemCounts(orders, withMods);
578
+ };
564
579
  export var selectKdsPrepStationAllIncomplete = function (state) {
565
580
  var _a = state.kds, prepStations = _a.prepStations, prepStationId = _a.prepStationId, orders = _a.orders;
566
581
  var prepStation = prepStations.find(function (i) { return i.prep_station_id === prepStationId; });
@@ -395,3 +395,7 @@ export interface OrderKdsStatus {
395
395
  DONE: boolean;
396
396
  COMPLETED: boolean;
397
397
  }
398
+ export interface OrderItemCount {
399
+ item: OrderItem;
400
+ count: number;
401
+ }
@@ -133,7 +133,7 @@ export declare const makeCartItem: (item: MenuItem, isEdit?: boolean, soldOut?:
133
133
  upsellItems: number[];
134
134
  similarItems: number[];
135
135
  };
136
- export declare const makeCartItemSignature: (item: CartItem) => string;
136
+ export declare const makeCartItemSignature: (item: CartItem, withNotes?: boolean) => string;
137
137
  export declare const addItem: (cart: Cart, item: CartItem) => {
138
138
  cart: Cart;
139
139
  cartCounts: {};
@@ -208,7 +208,8 @@ export var makeCartItem = function (item, isEdit, soldOut, simpleItem, hasPoints
208
208
  var pricedItem = calcPrices(orderItem);
209
209
  return pricedItem;
210
210
  };
211
- export var makeCartItemSignature = function (item) {
211
+ export var makeCartItemSignature = function (item, withNotes) {
212
+ if (withNotes === void 0) { withNotes = true; }
212
213
  var optionIds = item.groups
213
214
  .reduce(function (arr, group) {
214
215
  var ids = group.options
@@ -222,8 +223,7 @@ export var makeCartItemSignature = function (item) {
222
223
  }, [])
223
224
  .sort(function (a, b) { return a - b; });
224
225
  var itemIds = __spreadArray([item.id], optionIds, true).join('.');
225
- var signature = "".concat(itemIds, ".").concat(item.madeFor, ".").concat(item.notes);
226
- return signature;
226
+ return withNotes ? "".concat(itemIds, ".").concat(item.madeFor, ".").concat(item.notes) : itemIds;
227
227
  };
228
228
  export var addItem = function (cart, item) {
229
229
  if (typeof item.index === 'undefined') {
@@ -1,4 +1,4 @@
1
- import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, KdsOrderType, KdsStationCounts, KdsStationOrderTypeCount, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderKds, Orders, OrdersKds, OrderTickets, OrderTimes, PrepStation, PrepStations, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
1
+ import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, KdsOrderType, KdsStationCounts, KdsStationOrderTypeCount, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderItemCount, OrderKds, Orders, OrdersKds, OrderTickets, OrderTimes, PrepStation, PrepStations, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
2
2
  export declare const prepStatus: PrepStatusMap;
3
3
  export declare const makeFetchOrdersArgs: ({ businessDate, receiptType, channelType, prepStatus, search, sortBy, sortDirection, parentOrderId }: FetchOrdersArgs) => FetchOrdersAPIArgs;
4
4
  export declare const notDone: (prep_status: PrepStatus) => boolean;
@@ -15,6 +15,8 @@ export declare const makeOrdersOfType: (orders: OrdersKds, orderType: KdsOrderTy
15
15
  export declare const filterOrdersByItemType: (orders: OrdersKds, itemTypeIds: number[] | null) => OrdersKds;
16
16
  export declare const filterOrdersToday: (orders: OrdersKds) => OrdersKds;
17
17
  export declare const makeOrdersForPrepStation: (orders: OrdersKds, prepStation: PrepStation, orderType: KdsOrderType) => OrdersKds;
18
+ export declare const makeOrderItemSignature: (item: OrderItem, withNotes?: boolean) => string;
19
+ export declare const makeItemCounts: (orders: OrdersKds, withMods?: boolean) => Record<string, OrderItemCount>;
18
20
  export declare const makeKdsCounts: (itemTypes: ItemTypes | null, orders: OrdersKds | null) => {
19
21
  current: null;
20
22
  future: null;
@@ -155,6 +155,37 @@ export var makeOrdersForPrepStation = function (orders, prepStation, orderType)
155
155
  ? filtered
156
156
  : filtered.filter(function (i) { return i.tickets.filter(function (t) { return notDone(t.ticket_status); }).length; });
157
157
  };
158
+ export var makeOrderItemSignature = function (item, withNotes) {
159
+ if (withNotes === void 0) { withNotes = false; }
160
+ var groups = item.groups || [];
161
+ var optionIds = groups
162
+ .reduce(function (arr, group) {
163
+ var ids = group.options
164
+ .filter(function (o) { return o.quantity > 0; })
165
+ .reduce(function (optionsArr, o) {
166
+ var optionArr = new Array(o.quantity);
167
+ optionArr.fill(o.id);
168
+ return __spreadArray(__spreadArray([], optionsArr, true), optionArr, true);
169
+ }, []);
170
+ return __spreadArray(__spreadArray([], arr, true), ids, true);
171
+ }, [])
172
+ .sort(function (a, b) { return a - b; });
173
+ var itemIds = __spreadArray([item.id], optionIds, true).join('.');
174
+ return withNotes ? "".concat(itemIds, ".").concat(item.made_for, ".").concat(item.notes) : itemIds;
175
+ };
176
+ export var makeItemCounts = function (orders, withMods) {
177
+ if (withMods === void 0) { withMods = true; }
178
+ return orders.reduce(function (obj, order) {
179
+ order.cart.forEach(function (item) {
180
+ var itemId = withMods ? makeOrderItemSignature(item) : "".concat(item.id);
181
+ var existing = obj[itemId];
182
+ obj[itemId] = existing
183
+ ? { item: item, count: (existing.count += item.quantity) }
184
+ : { item: item, count: item.quantity };
185
+ });
186
+ return obj;
187
+ }, {});
188
+ };
158
189
  var updateCounts = function (counts, ticketCounts) {
159
190
  // console.log('BEFORE', counts, ticketCounts)
160
191
  var updated = Object.entries(counts).reduce(function (obj, _a) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "0.3.40",
3
+ "version": "0.3.42",
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",