@open-tender/store 0.2.111 → 0.3.1

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.
@@ -1,53 +1,34 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ordersReducer = exports.selectOrdersCounts = exports.selectFutureOrders = exports.selectCurrentOrders = exports.selectOrdersRefund = exports.selectOrdersCurrent = exports.selectOrders = exports.selectItemTypes = exports.updateOrdersOrder = exports.setOrdersRefund = exports.setOrdersCurrent = exports.setOrdersItemTypes = exports.resetOrders = exports.updateTicket = exports.printTicket = exports.resetTickets = exports.printTickets = exports.printReceipt = exports.updateOrder = exports.fetchOrders = exports.OrdersActionType = void 0;
4
+ exports.ordersReducer = exports.selectOrdersRefund = exports.selectOrdersCurrent = exports.selectOrders = exports.setOrdersRefund = exports.setOrdersCurrent = exports.resetOrders = exports.fetchOrders = exports.OrdersActionType = void 0;
5
5
  var tslib_1 = require("tslib");
6
6
  var toolkit_1 = require("@reduxjs/toolkit");
7
7
  var types_1 = require("./types");
8
8
  var utils_1 = require("../utils");
9
- var alerts_1 = require("./alerts");
10
9
  var initialState = {
11
- // businessDate: null,
12
- // receiptType: 'BOTH',
13
- // channelType: ['POS', 'KIOSK'],
14
- // prepStatus: ['COMPLETED'],
15
- // search: null,
16
10
  entities: [],
17
11
  loading: 'idle',
18
12
  error: null,
19
13
  current: null,
20
- refund: null,
21
- counts: { current: null, future: null, qa: null },
22
- itemTypes: null
14
+ refund: null
23
15
  };
24
16
  var OrdersActionType;
25
17
  (function (OrdersActionType) {
26
18
  OrdersActionType["FetchOrders"] = "orders/fetchOrders";
27
- OrdersActionType["RefreshOrders"] = "orders/refreshOrders";
28
- OrdersActionType["UpdateOrder"] = "orders/updateOrder";
29
- OrdersActionType["PrintTickets"] = "orders/printTickets";
30
- OrdersActionType["ResetTickets"] = "orders/resetTickets";
31
- OrdersActionType["PrintReceipt"] = "orders/printReceipt";
32
- OrdersActionType["PrintTicket"] = "orders/printTicket";
33
- OrdersActionType["UpdateTicket"] = "orders/updateTicket";
34
19
  })(OrdersActionType = exports.OrdersActionType || (exports.OrdersActionType = {}));
35
20
  exports.fetchOrders = (0, toolkit_1.createAsyncThunk)(OrdersActionType.FetchOrders, function (params, _a) {
36
21
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
37
22
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
38
- var api, itemTypes, args, orders, counts, err_1;
23
+ var api, args, err_1;
39
24
  return tslib_1.__generator(this, function (_b) {
40
25
  switch (_b.label) {
41
26
  case 0:
42
27
  _b.trys.push([0, 2, , 3]);
43
28
  api = getState().config.api;
44
- itemTypes = getState().orders.itemTypes;
45
29
  args = (0, utils_1.makeFetchOrdersArgs)(params);
46
30
  return [4 /*yield*/, api.getOrders(args)];
47
- case 1:
48
- orders = _b.sent();
49
- counts = (0, utils_1.makeOrdersCounts)(itemTypes, orders);
50
- return [2 /*return*/, { orders: orders, counts: counts }];
31
+ case 1: return [2 /*return*/, _b.sent()];
51
32
  case 2:
52
33
  err_1 = _b.sent();
53
34
  return [2 /*return*/, rejectWithValue(err_1)];
@@ -56,226 +37,22 @@ exports.fetchOrders = (0, toolkit_1.createAsyncThunk)(OrdersActionType.FetchOrde
56
37
  });
57
38
  });
58
39
  });
59
- exports.updateOrder = (0, toolkit_1.createAsyncThunk)(OrdersActionType.UpdateOrder, function (_a, _b) {
60
- var orderId = _a.orderId, data = _a.data;
61
- var getState = _b.getState, dispatch = _b.dispatch;
62
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
63
- var api, order, err_2, detail;
64
- return tslib_1.__generator(this, function (_c) {
65
- switch (_c.label) {
66
- case 0:
67
- _c.trys.push([0, 2, , 3]);
68
- api = getState().config.api;
69
- return [4 /*yield*/, api.patchOrder(orderId, data)];
70
- case 1:
71
- order = _c.sent();
72
- dispatch((0, exports.updateOrdersOrder)(order));
73
- return [3 /*break*/, 3];
74
- case 2:
75
- err_2 = _c.sent();
76
- detail = err_2.detail;
77
- dispatch((0, alerts_1.addAlert)(detail));
78
- return [3 /*break*/, 3];
79
- case 3: return [2 /*return*/];
80
- }
81
- });
82
- });
83
- });
84
- exports.printReceipt = (0, toolkit_1.createAsyncThunk)(OrdersActionType.PrintReceipt, function (orderId, _a) {
85
- var getState = _a.getState, dispatch = _a.dispatch;
86
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
87
- var api, order, err_3, detail;
88
- return tslib_1.__generator(this, function (_b) {
89
- switch (_b.label) {
90
- case 0:
91
- _b.trys.push([0, 2, , 3]);
92
- api = getState().config.api;
93
- return [4 /*yield*/, api.postReceipt(orderId)];
94
- case 1:
95
- order = _b.sent();
96
- dispatch((0, exports.updateOrdersOrder)(order));
97
- return [3 /*break*/, 3];
98
- case 2:
99
- err_3 = _b.sent();
100
- detail = err_3.detail;
101
- dispatch((0, alerts_1.addAlert)(detail));
102
- return [3 /*break*/, 3];
103
- case 3: return [2 /*return*/];
104
- }
105
- });
106
- });
107
- });
108
- exports.printTickets = (0, toolkit_1.createAsyncThunk)(OrdersActionType.PrintTickets, function (_a, _b) {
109
- var orderId = _a.orderId, data = _a.data;
110
- var getState = _b.getState, dispatch = _b.dispatch;
111
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
112
- var api, order, err_4, detail;
113
- return tslib_1.__generator(this, function (_c) {
114
- switch (_c.label) {
115
- case 0:
116
- _c.trys.push([0, 2, , 3]);
117
- api = getState().config.api;
118
- return [4 /*yield*/, api.postTicketsPrint(orderId, data)];
119
- case 1:
120
- order = _c.sent();
121
- dispatch((0, exports.updateOrdersOrder)(order));
122
- return [3 /*break*/, 3];
123
- case 2:
124
- err_4 = _c.sent();
125
- detail = err_4.detail;
126
- dispatch((0, alerts_1.addAlert)(detail));
127
- return [3 /*break*/, 3];
128
- case 3: return [2 /*return*/];
129
- }
130
- });
131
- });
132
- });
133
- exports.resetTickets = (0, toolkit_1.createAsyncThunk)(OrdersActionType.ResetTickets, function (orderId, _a) {
134
- var getState = _a.getState, dispatch = _a.dispatch;
135
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
136
- var api, order, err_5, detail;
137
- return tslib_1.__generator(this, function (_b) {
138
- switch (_b.label) {
139
- case 0:
140
- _b.trys.push([0, 2, , 3]);
141
- api = getState().config.api;
142
- return [4 /*yield*/, api.postTicketsReset(orderId)];
143
- case 1:
144
- order = _b.sent();
145
- dispatch((0, exports.updateOrdersOrder)(order));
146
- return [3 /*break*/, 3];
147
- case 2:
148
- err_5 = _b.sent();
149
- detail = err_5.detail;
150
- dispatch((0, alerts_1.addAlert)(detail));
151
- return [3 /*break*/, 3];
152
- case 3: return [2 /*return*/];
153
- }
154
- });
155
- });
156
- });
157
- exports.printTicket = (0, toolkit_1.createAsyncThunk)(OrdersActionType.PrintTicket, function (_a, _b) {
158
- var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
159
- var getState = _b.getState, dispatch = _b.dispatch;
160
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
161
- var api, data, order, err_6, detail;
162
- return tslib_1.__generator(this, function (_c) {
163
- switch (_c.label) {
164
- case 0:
165
- _c.trys.push([0, 2, , 3]);
166
- api = getState().config.api;
167
- data = status ? { ticket_status: status } : {};
168
- return [4 /*yield*/, api.postTicketPrint(orderId, ticketNo, data)];
169
- case 1:
170
- order = _c.sent();
171
- dispatch((0, exports.updateOrdersOrder)(order));
172
- return [3 /*break*/, 3];
173
- case 2:
174
- err_6 = _c.sent();
175
- detail = err_6.detail;
176
- dispatch((0, alerts_1.addAlert)(detail));
177
- return [3 /*break*/, 3];
178
- case 3: return [2 /*return*/];
179
- }
180
- });
181
- });
182
- });
183
- exports.updateTicket = (0, toolkit_1.createAsyncThunk)(OrdersActionType.UpdateTicket, function (_a, _b) {
184
- var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
185
- var getState = _b.getState, dispatch = _b.dispatch;
186
- return tslib_1.__awaiter(void 0, void 0, void 0, function () {
187
- var api, order, err_7, detail;
188
- return tslib_1.__generator(this, function (_c) {
189
- switch (_c.label) {
190
- case 0:
191
- _c.trys.push([0, 2, , 3]);
192
- api = getState().config.api;
193
- return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, status)];
194
- case 1:
195
- order = _c.sent();
196
- dispatch((0, exports.updateOrdersOrder)(order));
197
- return [3 /*break*/, 3];
198
- case 2:
199
- err_7 = _c.sent();
200
- detail = err_7.detail;
201
- dispatch((0, alerts_1.addAlert)(detail));
202
- return [3 /*break*/, 3];
203
- case 3: return [2 /*return*/];
204
- }
205
- });
206
- });
207
- });
208
- // export const refreshOrders = createAsyncThunk<
209
- // OrdersAndCounts,
210
- // void,
211
- // { state: AppState; rejectValue: RequestError }
212
- // >(OrdersActionType.RefreshOrders, async (_, { getState, rejectWithValue }) => {
213
- // try {
214
- // const { api, itemTypes } = getState().config
215
- // const { businessDate, receiptType, channelType, prepStatus, search } =
216
- // getState().orders
217
- // const args = makeFetchOrdersArgs({
218
- // businessDate,
219
- // receiptType,
220
- // channelType,
221
- // prepStatus,
222
- // search
223
- // })
224
- // const orders = await api.getOrders(args)
225
- // const counts = makeOrdersCounts(itemTypes, orders)
226
- // return { orders, counts }
227
- // } catch (err) {
228
- // return rejectWithValue(err as RequestError)
229
- // }
230
- // })
231
40
  var ordersSlice = (0, toolkit_1.createSlice)({
232
41
  name: types_1.ReducerType.Orders,
233
42
  initialState: initialState,
234
43
  reducers: {
235
44
  resetOrders: function () { return initialState; },
236
- setOrdersItemTypes: function (state, action) {
237
- state.itemTypes = action.payload;
238
- },
239
- // setOrdersBusinessDate: (state, action) => {
240
- // state.businessDate = action.payload
241
- // },
242
- // setOrdersChannelType: (state, action) => {
243
- // state.channelType = action.payload
244
- // },
245
- // setOrdersPrepStatus: (state, action) => {
246
- // state.prepStatus = action.payload
247
- // },
248
- // setOrdersSearch: (state, action) => {
249
- // state.search = action.payload
250
- // },
251
45
  setOrdersCurrent: function (state, action) {
252
46
  state.current = action.payload;
253
47
  },
254
48
  setOrdersRefund: function (state, action) {
255
49
  state.refund = action.payload;
256
- },
257
- updateOrdersOrder: function (state, action) {
258
- var order = action.payload;
259
- var tz = utils_1.timezoneMap[order.timezone];
260
- var updated = state.entities
261
- .map(function (i) {
262
- return i.order_uuid === order.order_uuid ? order : i;
263
- })
264
- .filter(function (i) { return i.fire_at; });
265
- var entities = updated
266
- .map(function (i) { return (tslib_1.__assign(tslib_1.__assign({}, i), { fireAt: (0, utils_1.isoToDate)(i.fire_at, tz) })); })
267
- .sort(function (a, b) { return a.fireAt.getTime() - b.fireAt.getTime(); });
268
- var counts = (0, utils_1.makeOrdersCounts)(state.itemTypes, entities);
269
- var current = state.current ? order : null;
270
- return tslib_1.__assign(tslib_1.__assign({}, state), { entities: entities, current: current, counts: counts });
271
50
  }
272
51
  },
273
52
  extraReducers: function (builder) {
274
53
  builder
275
54
  .addCase(exports.fetchOrders.fulfilled, function (state, action) {
276
- var _a = action.payload, orders = _a.orders, counts = _a.counts;
277
- state.entities = orders;
278
- state.counts = counts;
55
+ state.entities = action.payload;
279
56
  state.loading = 'idle';
280
57
  state.error = null;
281
58
  })
@@ -285,130 +62,14 @@ var ordersSlice = (0, toolkit_1.createSlice)({
285
62
  .addCase(exports.fetchOrders.rejected, function (state, action) {
286
63
  state.error = action.payload;
287
64
  state.loading = 'idle';
288
- })
289
- .addCase(exports.updateOrder.fulfilled, function (state) {
290
- state.loading = 'idle';
291
- state.error = null;
292
- })
293
- .addCase(exports.updateOrder.pending, function (state) {
294
- state.loading = 'pending';
295
- })
296
- .addCase(exports.updateOrder.rejected, function (state) {
297
- state.loading = 'idle';
298
- })
299
- .addCase(exports.printReceipt.fulfilled, function (state) {
300
- state.loading = 'idle';
301
- state.error = null;
302
- })
303
- .addCase(exports.printReceipt.pending, function (state) {
304
- state.loading = 'pending';
305
- })
306
- .addCase(exports.printReceipt.rejected, function (state) {
307
- state.loading = 'idle';
308
- })
309
- .addCase(exports.printTickets.fulfilled, function (state) {
310
- state.loading = 'idle';
311
- state.error = null;
312
- })
313
- .addCase(exports.printTickets.pending, function (state) {
314
- state.loading = 'pending';
315
- })
316
- .addCase(exports.printTickets.rejected, function (state) {
317
- state.loading = 'idle';
318
- })
319
- .addCase(exports.resetTickets.fulfilled, function (state) {
320
- state.loading = 'idle';
321
- state.error = null;
322
- })
323
- .addCase(exports.resetTickets.pending, function (state) {
324
- state.loading = 'pending';
325
- })
326
- .addCase(exports.resetTickets.rejected, function (state) {
327
- state.loading = 'idle';
328
- })
329
- .addCase(exports.printTicket.fulfilled, function (state) {
330
- state.loading = 'idle';
331
- state.error = null;
332
- })
333
- .addCase(exports.printTicket.pending, function (state) {
334
- state.loading = 'pending';
335
- })
336
- .addCase(exports.printTicket.rejected, function (state) {
337
- state.loading = 'idle';
338
- })
339
- .addCase(exports.updateTicket.fulfilled, function (state) {
340
- state.loading = 'idle';
341
- state.error = null;
342
- })
343
- .addCase(exports.updateTicket.pending, function (state) {
344
- state.loading = 'pending';
345
- })
346
- .addCase(exports.updateTicket.rejected, function (state) {
347
- state.loading = 'idle';
348
65
  });
349
- // .addCase(refreshOrders.fulfilled, (state, action) => {
350
- // const { orders, counts } = action.payload
351
- // state.entities = orders
352
- // state.counts = counts
353
- // state.loading = 'idle'
354
- // state.error = null
355
- // })
356
- // .addCase(refreshOrders.pending, state => {
357
- // state.loading = 'pending'
358
- // })
359
- // .addCase(refreshOrders.rejected, (state, action) => {
360
- // state.error = action.payload
361
- // state.loading = 'idle'
362
- // })
363
66
  }
364
67
  });
365
- exports.resetOrders = (_a = ordersSlice.actions, _a.resetOrders), exports.setOrdersItemTypes = _a.setOrdersItemTypes,
366
- // setOrdersBusinessDate,
367
- // setOrdersChannelType,
368
- // setOrdersPrepStatus,
369
- // setOrdersSearch,
370
- exports.setOrdersCurrent = _a.setOrdersCurrent, exports.setOrdersRefund = _a.setOrdersRefund, exports.updateOrdersOrder = _a.updateOrdersOrder;
371
- var selectItemTypes = function (state) { return state.orders.itemTypes; };
372
- exports.selectItemTypes = selectItemTypes;
68
+ exports.resetOrders = (_a = ordersSlice.actions, _a.resetOrders), exports.setOrdersCurrent = _a.setOrdersCurrent, exports.setOrdersRefund = _a.setOrdersRefund;
373
69
  var selectOrders = function (state) { return state.orders; };
374
70
  exports.selectOrders = selectOrders;
375
- // export const selectOrdersArgs = (state: AppState) => {
376
- // const { businessDate, receiptType, channelType, prepStatus, search } =
377
- // state.orders
378
- // return { businessDate, receiptType, channelType, prepStatus, search }
379
- // }
380
- // export const selectOrdersBusinessDate = (state: AppState) =>
381
- // state.orders.businessDate
382
- // export const selectOrdersSearch = (state: AppState) => state.orders.search
383
71
  var selectOrdersCurrent = function (state) { return state.orders.current; };
384
72
  exports.selectOrdersCurrent = selectOrdersCurrent;
385
73
  var selectOrdersRefund = function (state) { return state.orders.refund; };
386
74
  exports.selectOrdersRefund = selectOrdersRefund;
387
- var selectCurrentOrders = function (state) {
388
- var _a = state.orders, entities = _a.entities, loading = _a.loading, error = _a.error;
389
- var orders = entities.filter(function (i) {
390
- var tz = utils_1.timezoneMap[i.timezone];
391
- var fireDate = i.fire_at ? (0, utils_1.isoToDate)(i.fire_at, tz) : null;
392
- var currentDate = (0, utils_1.currentLocalDate)(tz);
393
- return (0, utils_1.notDone)(i.prep_status) && fireDate && fireDate < currentDate;
394
- });
395
- return { orders: orders, loading: loading, error: error };
396
- };
397
- exports.selectCurrentOrders = selectCurrentOrders;
398
- var selectFutureOrders = function (state) {
399
- var _a = state.orders, entities = _a.entities, loading = _a.loading, error = _a.error;
400
- var orders = entities.filter(function (i) {
401
- var tz = utils_1.timezoneMap[i.timezone];
402
- var fireDate = i.fire_at ? (0, utils_1.isoToDate)(i.fire_at, tz) : null;
403
- var currentDate = (0, utils_1.currentLocalDate)(tz);
404
- return (0, utils_1.notDone)(i.prep_status) && fireDate && fireDate > currentDate;
405
- });
406
- return { orders: orders, loading: loading, error: error };
407
- };
408
- exports.selectFutureOrders = selectFutureOrders;
409
- var selectOrdersCounts = function (state) {
410
- var _a = state.orders.counts, current = _a.current, future = _a.future, qa = _a.qa;
411
- return { current: current, future: future, qa: qa };
412
- };
413
- exports.selectOrdersCounts = selectOrdersCounts;
414
75
  exports.ordersReducer = ordersSlice.reducer;
@@ -309,12 +309,12 @@ export interface Order {
309
309
  totals: OrderTotals;
310
310
  }
311
311
  export declare type Orders = Array<Order>;
312
- export interface OrderKDS extends Omit<Order, 'fire_at' | 'tickets' | 'expected_at'> {
312
+ export interface OrderKds extends Omit<Order, 'fire_at' | 'tickets' | 'expected_at'> {
313
313
  expected_at: ISOStringOffset;
314
314
  fire_at: ISOStringOffset;
315
315
  tickets: OrderTickets;
316
316
  }
317
- export declare type OrdersKDS = Array<OrderKDS>;
317
+ export declare type OrdersKds = Array<OrderKds>;
318
318
  export interface FetchOrdersArgs {
319
319
  businessDate?: DateString | null;
320
320
  receiptType?: ReceiptType | 'BOTH';
@@ -341,7 +341,7 @@ export interface OrderCounts {
341
341
  qa: Record<string, number> | null;
342
342
  }
343
343
  export interface OrdersAndCounts {
344
- orders: Orders;
344
+ orders: OrdersKds;
345
345
  counts: OrderCounts;
346
346
  }
347
347
  export interface OrderUpdate {
@@ -385,3 +385,8 @@ export interface Ticket {
385
385
  }
386
386
  export declare type TicketGroup = Ticket[];
387
387
  export declare type TicketGroups = TicketGroup[];
388
+ export interface OrderKdsStatus {
389
+ NOT_DONE: boolean;
390
+ DONE: boolean;
391
+ COMPLETED: boolean;
392
+ }
@@ -33,4 +33,5 @@ export declare type TicketStatus = 'TODO' | 'IN_PROGRESS' | 'DONE' | 'COMPLETED'
33
33
  export declare type OrderStatus = 'OPEN' | 'HELD' | 'CLOSED' | 'VOID';
34
34
  export declare type TenderStatus = 'AUTHORIZED' | 'PAID' | 'REFUNDED' | 'VOID' | 'FAILED';
35
35
  export declare type EntityType = 'TIME_PUNCH' | 'CASH_EVENT' | 'ORDER' | 'DEPARTMENT' | 'DEVICES' | 'DISCOUNT' | 'EMPLOYEE' | 'HOUSE_ACCOUNT' | 'LOCATION' | 'MENU' | 'MENU_PAGE' | 'SELECT_OPTION' | 'SURCHARGE' | 'TAX' | 'STORE' | 'REVENUE_CENTER' | 'ITEM_TYPE' | 'QRCODE';
36
- export declare type KdsView = 'column' | 'grid' | 'list';
36
+ export declare type KdsView = 'column' | 'grid' | 'list' | 'tiles';
37
+ export declare type KdsFontSize = 'xsmall' | 'small' | 'medium' | 'large';
@@ -1,11 +1,12 @@
1
- import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderKDS, Orders, OrdersKDS, OrderTickets, OrderTimes, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
1
+ import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderKds, Orders, OrdersKds, OrderTickets, OrderTimes, 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;
5
5
  export declare const isDone: (prep_status: PrepStatus) => boolean;
6
6
  export declare const notCompleted: (prep_status: PrepStatus) => boolean;
7
7
  export declare const isCompleted: (prep_status: PrepStatus) => boolean;
8
- export declare const makeOrdersCounts: (itemTypes: ItemTypes | null, orders: Orders | null) => {
8
+ export declare const makeKdsOrders: (orders: Orders) => OrdersKds;
9
+ export declare const makeKdsCounts: (itemTypes: ItemTypes | null, orders: OrdersKds | null) => {
9
10
  current: null;
10
11
  future: null;
11
12
  qa: null;
@@ -14,8 +15,8 @@ export declare const makeOrdersCounts: (itemTypes: ItemTypes | null, orders: Ord
14
15
  future: Record<string, number>;
15
16
  qa: Record<string, number>;
16
17
  };
17
- export declare const makeOrderBuckets: (orders: OrdersKDS, tz: Timezone, prepStates?: Array<PrepStatus>) => OrderBuckets;
18
- export declare const makeOrderBucketsCounts: (itemTypes?: ItemTypes, orders?: OrdersKDS) => Record<string, number>;
18
+ export declare const makeOrderBuckets: (orders: OrdersKds, tz: Timezone, prepStates?: Array<PrepStatus>) => OrderBuckets;
19
+ export declare const makeOrderBucketsCounts: (itemTypes?: ItemTypes, orders?: OrdersKds) => Record<string, number>;
19
20
  export declare const makeTicketCounts: (tickets: OrderTickets) => Record<string, number>;
20
21
  export declare const makeItemTypeSettings: (itemType: ItemType) => {
21
22
  is_default: boolean;
@@ -24,11 +25,11 @@ export declare const makeItemTypeSettings: (itemType: ItemType) => {
24
25
  is_hidden_qa: boolean;
25
26
  print_on_completed: boolean;
26
27
  };
27
- export declare const makeItemTypesMap: (itemTypes: ItemTypes) => {} | null;
28
+ export declare const makeItemTypesMap: (itemTypes: ItemTypes) => Record<string, ItemType>;
28
29
  export declare const makeCartLookup: (cart: OrderCart) => Record<string, OrderItem>;
29
30
  export declare const makeModifiersMetadataLookup: (cart: ModifiersMetadata) => Record<string, OrderItem>;
30
31
  export declare const makeTicketGroups: (tickets: OrderTickets, itemTypes: ItemTypes, isAssembly: boolean, cart: OrderCart, modifiersMetadata?: ModifiersMetadata | null) => TicketGroups;
31
32
  export declare const makeDisplayCounts: (counts: Record<string, number>) => number[] | "";
32
33
  export declare const displayCounts: (counts: Record<string, number>) => string;
33
34
  export declare const makeBucketColor: (settings: Store, minutes: number) => "" | "error" | "alert" | "text";
34
- export declare const makeOrderTimes: (order: OrderKDS, amPm?: boolean, warningMinutes?: number, alertMinutes?: number) => OrderTimes;
35
+ export declare const makeOrderTimes: (order: OrderKds, amPm?: boolean, warningMinutes?: number, alertMinutes?: number) => OrderTimes;
@@ -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.makeOrdersCounts = 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.makeKdsCounts = exports.makeKdsOrders = 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 = {
@@ -68,6 +68,10 @@ var isCompleted = function (prep_status) {
68
68
  return completeStates.includes(prep_status);
69
69
  };
70
70
  exports.isCompleted = isCompleted;
71
+ var makeKdsOrders = function (orders) {
72
+ return orders.filter(function (i) { return i.expected_at && i.fire_at && i.tickets; });
73
+ };
74
+ exports.makeKdsOrders = makeKdsOrders;
71
75
  var updateCounts = function (counts, ticketCounts) {
72
76
  // console.log('BEFORE', counts, ticketCounts)
73
77
  var updated = Object.entries(counts).reduce(function (obj, _a) {
@@ -79,11 +83,11 @@ var updateCounts = function (counts, ticketCounts) {
79
83
  // console.log('AFTER', updated)
80
84
  return updated;
81
85
  };
82
- var makeOrdersCounts = function (itemTypes, orders) {
86
+ var makeKdsCounts = function (itemTypes, orders) {
83
87
  if (!itemTypes || !orders) {
84
88
  return { current: null, future: null, qa: null };
85
89
  }
86
- console.time('makeOrdersCounts');
90
+ console.time('makeKdsCounts');
87
91
  var itemTypeCounts = itemTypes
88
92
  .filter(function (i) { return i.is_default; })
89
93
  .reduce(function (obj, i) {
@@ -117,10 +121,10 @@ var makeOrdersCounts = function (itemTypes, orders) {
117
121
  future = updateCounts(future, ticketCounts);
118
122
  }
119
123
  });
120
- console.timeEnd('makeOrdersCounts');
124
+ console.timeEnd('makeKdsCounts');
121
125
  return { current: current, future: future, qa: qa };
122
126
  };
123
- exports.makeOrdersCounts = makeOrdersCounts;
127
+ exports.makeKdsCounts = makeKdsCounts;
124
128
  var makeOrderBuckets = function (orders, tz, prepStates) {
125
129
  if (prepStates === void 0) { prepStates = []; }
126
130
  var intervals = (0, datetimes_1.makeIntervals)(tz);
@@ -178,12 +182,10 @@ var makeItemTypeSettings = function (itemType) {
178
182
  };
179
183
  exports.makeItemTypeSettings = makeItemTypeSettings;
180
184
  var makeItemTypesMap = function (itemTypes) {
181
- return itemTypes
182
- ? itemTypes.reduce(function (obj, i) {
183
- var _a;
184
- return (tslib_1.__assign(tslib_1.__assign({}, obj), (_a = {}, _a[i.item_type_id] = i, _a)));
185
- }, {})
186
- : null;
185
+ return itemTypes.reduce(function (obj, i) {
186
+ var _a;
187
+ return (tslib_1.__assign(tslib_1.__assign({}, obj), (_a = {}, _a[i.item_type_id] = i, _a)));
188
+ }, {});
187
189
  };
188
190
  exports.makeItemTypesMap = makeItemTypesMap;
189
191
  var makeCartLookup = function (cart) {
@@ -206,17 +208,19 @@ var makeTicketGroups = function (tickets, itemTypes, isAssembly, cart, modifiers
206
208
  : modifiersMetadata
207
209
  ? (0, exports.makeModifiersMetadataLookup)(modifiersMetadata)
208
210
  : {};
211
+ var itemTypesMap = (0, exports.makeItemTypesMap)(itemTypes);
209
212
  var grouped = tickets.reduce(function (obj, i) {
210
213
  var _a;
211
214
  var items = i.item_nos.map(function (n) { return lookup[n.toString()]; });
212
- var settings = (0, exports.makeItemTypeSettings)(itemTypes[i.item_type_id]);
215
+ var settings = (0, exports.makeItemTypeSettings)(itemTypesMap[i.item_type_id]);
213
216
  var hideTicket = isAssembly && settings.is_hidden_assembly;
214
217
  var ticket = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, i), { items: items }), settings);
215
218
  var group = obj[i.item_type_id.toString()] || [];
216
219
  var newGroup = hideTicket ? group : tslib_1.__spreadArray(tslib_1.__spreadArray([], group, true), [ticket], false);
217
220
  return tslib_1.__assign(tslib_1.__assign({}, obj), (_a = {}, _a[i.item_type_id] = newGroup, _a));
218
221
  }, {});
219
- return Object.values(grouped);
222
+ var groups = Object.values(grouped);
223
+ return groups.filter(function (group) { return group.length; });
220
224
  };
221
225
  exports.makeTicketGroups = makeTicketGroups;
222
226
  var makeDisplayCounts = function (counts) {
@@ -8,14 +8,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
8
8
  config: import("..").ConfigState;
9
9
  discounts: import("..").DiscountsState;
10
10
  errorAlerts: import("..").ErrorAlertsState;
11
- kds: {
12
- summary: boolean;
13
- page: null;
14
- view: null;
15
- order: null;
16
- businessDate: null;
17
- alarm: boolean;
18
- };
11
+ kds: import("..").KdsState;
19
12
  menu: import("..").MenuState;
20
13
  menuPages: import("..").MenuPagesState;
21
14
  modal: import("..").ModalState;
@@ -7,14 +7,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
7
7
  config: import("../slices").ConfigState;
8
8
  discounts: import("../slices").DiscountsState;
9
9
  errorAlerts: import("../slices").ErrorAlertsState;
10
- kds: {
11
- summary: boolean;
12
- page: null;
13
- view: null;
14
- order: null;
15
- businessDate: null;
16
- alarm: boolean;
17
- };
10
+ kds: import("../slices").KdsState;
18
11
  menu: import("../slices").MenuState;
19
12
  menuPages: import("../slices").MenuPagesState;
20
13
  modal: import("../slices").ModalState;
@@ -39,14 +32,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
39
32
  config: import("../slices").ConfigState;
40
33
  discounts: import("../slices").DiscountsState;
41
34
  errorAlerts: import("../slices").ErrorAlertsState;
42
- kds: {
43
- summary: boolean;
44
- page: null;
45
- view: null;
46
- order: null;
47
- businessDate: null;
48
- alarm: boolean;
49
- };
35
+ kds: import("../slices").KdsState;
50
36
  menu: import("../slices").MenuState;
51
37
  menuPages: import("../slices").MenuPagesState;
52
38
  modal: import("../slices").ModalState;
@@ -69,14 +55,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
69
55
  config: import("../slices").ConfigState;
70
56
  discounts: import("../slices").DiscountsState;
71
57
  errorAlerts: import("../slices").ErrorAlertsState;
72
- kds: {
73
- summary: boolean;
74
- page: null;
75
- view: null;
76
- order: null;
77
- businessDate: null;
78
- alarm: boolean;
79
- };
58
+ kds: import("../slices").KdsState;
80
59
  menu: import("../slices").MenuState;
81
60
  menuPages: import("../slices").MenuPagesState;
82
61
  modal: import("../slices").ModalState;
@@ -6,7 +6,7 @@ import { ReducerType } from './types';
6
6
  import { timezoneMap, getUserTimezone, currentLocalDateStr } from '../utils';
7
7
  import { errorsApi } from '../services/errors';
8
8
  import { setCashier } from './pos';
9
- import { setOrdersItemTypes } from './orders';
9
+ import { setKdsItemTypes } from './kds';
10
10
  var initialState = {
11
11
  api: null,
12
12
  app: null,
@@ -67,7 +67,7 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
67
67
  err_1 = _g.sent();
68
68
  return [3 /*break*/, 5];
69
69
  case 5:
70
- dispatch(setOrdersItemTypes(itemTypes));
70
+ dispatch(setKdsItemTypes(itemTypes));
71
71
  revenueCenterId = store.revenue_center_id;
72
72
  name_1 = config.name, ipAddress = config.ip_address, hasPinpad = config.has_pinpad, hasCashDrawer = config.has_cashdrawer;
73
73
  return [2 /*return*/, {