@open-tender/store 0.3.17 → 0.3.19

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.
@@ -62,6 +62,7 @@ declare class PosAPI {
62
62
  postTicketsPrint(orderId: string, data?: OrderUpdate): Promise<Order | null | undefined>;
63
63
  postTicketsReset(orderId: string): Promise<Order | null | undefined>;
64
64
  postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order | null | undefined>;
65
+ putTicketStatus(orderId: string, ticketNo: number, data: TicketUpdate): Promise<Order | null | undefined>;
65
66
  postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order | null | undefined>;
66
67
  getArrivals(): Promise<Arrivals | null | undefined>;
67
68
  postAcknowledgeArrival(orderId: string): Promise<Order | null | undefined>;
@@ -303,6 +303,10 @@ var PosAPI = /** @class */ (function () {
303
303
  var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/print");
304
304
  return this.request(endpoint, 'POST', data);
305
305
  };
306
+ PosAPI.prototype.putTicketStatus = function (orderId, ticketNo, data) {
307
+ var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo);
308
+ return this.request(endpoint, 'PUT', data);
309
+ };
306
310
  PosAPI.prototype.postTicketStatus = function (orderId, ticketNo, status) {
307
311
  var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/").concat(status);
308
312
  return this.request(endpoint, 'POST', {});
@@ -1,5 +1,5 @@
1
1
  import { AppState } from '../app';
2
- import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus, TicketStatusUpdate } from '../types';
2
+ import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStation, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus } from '../types';
3
3
  import { ReducerType } from './types';
4
4
  export interface KdsState {
5
5
  itemTypes: ItemTypes | null;
@@ -63,7 +63,25 @@ export declare const printTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
63
63
  export declare const updateTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
64
64
  orderId: string;
65
65
  ticketNo: number;
66
- status: TicketStatusUpdate;
66
+ status: TicketStatus;
67
+ }, {
68
+ state: AppState;
69
+ }>;
70
+ export declare const resetTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
71
+ orderId: string;
72
+ ticketNo: number;
73
+ }, {
74
+ state: AppState;
75
+ }>;
76
+ export declare const doneTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
77
+ orderId: string;
78
+ ticketNo: number;
79
+ }, {
80
+ state: AppState;
81
+ }>;
82
+ export declare const completeTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
83
+ orderId: string;
84
+ ticketNo: number;
67
85
  }, {
68
86
  state: AppState;
69
87
  }>;
@@ -171,7 +189,7 @@ export declare const kdsSlice: import("@reduxjs/toolkit").Slice<KdsState, {
171
189
  order: OrderKds | null;
172
190
  stationCounts: KdsStationCounts;
173
191
  itemTypes: import("immer/dist/internal").WritableDraft<import("../types").ItemType>[] | null;
174
- prepStations: import("immer/dist/internal").WritableDraft<import("../types").PrepStation>[];
192
+ prepStations: import("immer/dist/internal").WritableDraft<PrepStation>[];
175
193
  prepStationId: number | null;
176
194
  orderType: KdsOrderType;
177
195
  columns: number;
@@ -193,7 +211,7 @@ export declare const selectKds: (state: AppState) => KdsState;
193
211
  export declare const selectKdsItemTypes: (state: AppState) => ItemTypes | null;
194
212
  export declare const selectKdsPrepStations: (state: AppState) => PrepStations;
195
213
  export declare const selectKdsPrepStationId: (state: AppState) => number | null;
196
- export declare const selectKdsPrepStation: (state: AppState) => import("../types").PrepStation | undefined;
214
+ export declare const selectKdsPrepStation: (state: AppState) => PrepStation | null;
197
215
  export declare const selectKdsOrderType: (state: AppState) => KdsOrderType;
198
216
  export declare const selectKdsColumns: (state: AppState) => number;
199
217
  export declare const selectKdsBoxes: (state: AppState) => number;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.kdsReducer = exports.selectKdsOrdersCounts = exports.selectKdsPrepStationOrders = exports.selectKdsFutureCount = 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.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.updateTicket = exports.printTicket = exports.resetTickets = exports.printTickets = exports.printKdsOrder = exports.updateKdsOrder = exports.fetchKdsOrders = exports.KdsActionType = void 0;
4
+ exports.selectKdsPrepStationOrders = exports.selectKdsFutureCount = 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.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.printTickets = exports.printKdsOrder = exports.updateKdsOrder = exports.fetchKdsOrders = exports.KdsActionType = void 0;
5
+ exports.kdsReducer = exports.selectKdsOrdersCounts = void 0;
5
6
  var tslib_1 = require("tslib");
6
7
  var toolkit_1 = require("@reduxjs/toolkit");
7
8
  var types_1 = require("./types");
@@ -195,13 +196,14 @@ exports.updateTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicke
195
196
  var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
196
197
  var getState = _b.getState, dispatch = _b.dispatch;
197
198
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
198
- var api, order, err_7, detail;
199
+ var api, data, order, err_7, detail;
199
200
  return tslib_1.__generator(this, function (_c) {
200
201
  switch (_c.label) {
201
202
  case 0:
202
203
  _c.trys.push([0, 2, , 3]);
203
204
  api = getState().config.api;
204
- return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, status)];
205
+ data = status ? { ticket_status: status } : {};
206
+ return [4 /*yield*/, api.putTicketStatus(orderId, ticketNo, data)];
205
207
  case 1:
206
208
  order = _c.sent();
207
209
  dispatch((0, exports.replaceKdsOrder)(order));
@@ -216,6 +218,81 @@ exports.updateTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicke
216
218
  });
217
219
  });
218
220
  });
221
+ exports.resetTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicket, function (_a, _b) {
222
+ var orderId = _a.orderId, ticketNo = _a.ticketNo;
223
+ var getState = _b.getState, dispatch = _b.dispatch;
224
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
225
+ var api, order, err_8, detail;
226
+ return tslib_1.__generator(this, function (_c) {
227
+ switch (_c.label) {
228
+ case 0:
229
+ _c.trys.push([0, 2, , 3]);
230
+ api = getState().config.api;
231
+ return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'reset')];
232
+ case 1:
233
+ order = _c.sent();
234
+ dispatch((0, exports.replaceKdsOrder)(order));
235
+ return [3 /*break*/, 3];
236
+ case 2:
237
+ err_8 = _c.sent();
238
+ detail = err_8.detail;
239
+ dispatch((0, alerts_1.addAlert)(detail));
240
+ return [3 /*break*/, 3];
241
+ case 3: return [2 /*return*/];
242
+ }
243
+ });
244
+ });
245
+ });
246
+ exports.doneTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicket, function (_a, _b) {
247
+ var orderId = _a.orderId, ticketNo = _a.ticketNo;
248
+ var getState = _b.getState, dispatch = _b.dispatch;
249
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
250
+ var api, order, err_9, detail;
251
+ return tslib_1.__generator(this, function (_c) {
252
+ switch (_c.label) {
253
+ case 0:
254
+ _c.trys.push([0, 2, , 3]);
255
+ api = getState().config.api;
256
+ return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'done')];
257
+ case 1:
258
+ order = _c.sent();
259
+ dispatch((0, exports.replaceKdsOrder)(order));
260
+ return [3 /*break*/, 3];
261
+ case 2:
262
+ err_9 = _c.sent();
263
+ detail = err_9.detail;
264
+ dispatch((0, alerts_1.addAlert)(detail));
265
+ return [3 /*break*/, 3];
266
+ case 3: return [2 /*return*/];
267
+ }
268
+ });
269
+ });
270
+ });
271
+ exports.completeTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicket, function (_a, _b) {
272
+ var orderId = _a.orderId, ticketNo = _a.ticketNo;
273
+ var getState = _b.getState, dispatch = _b.dispatch;
274
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
275
+ var api, order, err_10, detail;
276
+ return tslib_1.__generator(this, function (_c) {
277
+ switch (_c.label) {
278
+ case 0:
279
+ _c.trys.push([0, 2, , 3]);
280
+ api = getState().config.api;
281
+ return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'complete')];
282
+ case 1:
283
+ order = _c.sent();
284
+ dispatch((0, exports.replaceKdsOrder)(order));
285
+ return [3 /*break*/, 3];
286
+ case 2:
287
+ err_10 = _c.sent();
288
+ detail = err_10.detail;
289
+ dispatch((0, alerts_1.addAlert)(detail));
290
+ return [3 /*break*/, 3];
291
+ case 3: return [2 /*return*/];
292
+ }
293
+ });
294
+ });
295
+ });
219
296
  exports.kdsSlice = (0, toolkit_1.createSlice)({
220
297
  name: types_1.ReducerType.Kds,
221
298
  initialState: initialState,
@@ -355,6 +432,36 @@ exports.kdsSlice = (0, toolkit_1.createSlice)({
355
432
  })
356
433
  .addCase(exports.updateTicket.rejected, function (state) {
357
434
  state.loading = 'idle';
435
+ })
436
+ .addCase(exports.resetTicket.fulfilled, function (state) {
437
+ state.loading = 'idle';
438
+ state.error = null;
439
+ })
440
+ .addCase(exports.resetTicket.pending, function (state) {
441
+ state.loading = 'pending';
442
+ })
443
+ .addCase(exports.resetTicket.rejected, function (state) {
444
+ state.loading = 'idle';
445
+ })
446
+ .addCase(exports.doneTicket.fulfilled, function (state) {
447
+ state.loading = 'idle';
448
+ state.error = null;
449
+ })
450
+ .addCase(exports.doneTicket.pending, function (state) {
451
+ state.loading = 'pending';
452
+ })
453
+ .addCase(exports.doneTicket.rejected, function (state) {
454
+ state.loading = 'idle';
455
+ })
456
+ .addCase(exports.completeTicket.fulfilled, function (state) {
457
+ state.loading = 'idle';
458
+ state.error = null;
459
+ })
460
+ .addCase(exports.completeTicket.pending, function (state) {
461
+ state.loading = 'pending';
462
+ })
463
+ .addCase(exports.completeTicket.rejected, function (state) {
464
+ state.loading = 'idle';
358
465
  });
359
466
  }
360
467
  });
@@ -370,8 +477,9 @@ var selectKdsPrepStationId = function (state) {
370
477
  };
371
478
  exports.selectKdsPrepStationId = selectKdsPrepStationId;
372
479
  var selectKdsPrepStation = function (state) {
373
- var _a = state.kds, prepStations = _a.prepStations, prepStationId = _a.prepStationId;
374
- return prepStations.find(function (i) { return i.prep_station_id === prepStationId; });
480
+ var _a;
481
+ var _b = state.kds, prepStations = _b.prepStations, prepStationId = _b.prepStationId;
482
+ return (_a = prepStations.find(function (i) { return i.prep_station_id === prepStationId; })) !== null && _a !== void 0 ? _a : null;
375
483
  };
376
484
  exports.selectKdsPrepStation = selectKdsPrepStation;
377
485
  var selectKdsOrderType = function (state) { return state.kds.orderType; };
@@ -134,7 +134,10 @@ var makeOrdersForPrepStation = function (orders, prepStation, orderType) {
134
134
  var filteredOrders = prep_type === 'ASSEMBLY'
135
135
  ? ordersOfType.filter(function (i) { return (0, exports.notDone)(i.prep_status); })
136
136
  : ordersOfType.filter(function (i) { return i.prep_status === 'DONE'; });
137
- return (0, exports.filterOrdersByItemType)(filteredOrders, item_type_ids);
137
+ var filtered = (0, exports.filterOrdersByItemType)(filteredOrders, item_type_ids);
138
+ return prep_type === 'EXPO'
139
+ ? filtered
140
+ : filtered.filter(function (i) { return i.tickets.filter(function (t) { return (0, exports.notDone)(t.ticket_status); }).length; });
138
141
  };
139
142
  exports.makeOrdersForPrepStation = makeOrdersForPrepStation;
140
143
  var updateCounts = function (counts, ticketCounts) {
@@ -62,6 +62,7 @@ declare class PosAPI {
62
62
  postTicketsPrint(orderId: string, data?: OrderUpdate): Promise<Order | null | undefined>;
63
63
  postTicketsReset(orderId: string): Promise<Order | null | undefined>;
64
64
  postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order | null | undefined>;
65
+ putTicketStatus(orderId: string, ticketNo: number, data: TicketUpdate): Promise<Order | null | undefined>;
65
66
  postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order | null | undefined>;
66
67
  getArrivals(): Promise<Arrivals | null | undefined>;
67
68
  postAcknowledgeArrival(orderId: string): Promise<Order | null | undefined>;
@@ -301,6 +301,10 @@ var PosAPI = /** @class */ (function () {
301
301
  var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/print");
302
302
  return this.request(endpoint, 'POST', data);
303
303
  };
304
+ PosAPI.prototype.putTicketStatus = function (orderId, ticketNo, data) {
305
+ var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo);
306
+ return this.request(endpoint, 'PUT', data);
307
+ };
304
308
  PosAPI.prototype.postTicketStatus = function (orderId, ticketNo, status) {
305
309
  var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/").concat(status);
306
310
  return this.request(endpoint, 'POST', {});
@@ -1,5 +1,5 @@
1
1
  import { AppState } from '../app';
2
- import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus, TicketStatusUpdate } from '../types';
2
+ import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStation, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus } from '../types';
3
3
  import { ReducerType } from './types';
4
4
  export interface KdsState {
5
5
  itemTypes: ItemTypes | null;
@@ -63,7 +63,25 @@ export declare const printTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
63
63
  export declare const updateTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
64
64
  orderId: string;
65
65
  ticketNo: number;
66
- status: TicketStatusUpdate;
66
+ status: TicketStatus;
67
+ }, {
68
+ state: AppState;
69
+ }>;
70
+ export declare const resetTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
71
+ orderId: string;
72
+ ticketNo: number;
73
+ }, {
74
+ state: AppState;
75
+ }>;
76
+ export declare const doneTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
77
+ orderId: string;
78
+ ticketNo: number;
79
+ }, {
80
+ state: AppState;
81
+ }>;
82
+ export declare const completeTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
83
+ orderId: string;
84
+ ticketNo: number;
67
85
  }, {
68
86
  state: AppState;
69
87
  }>;
@@ -171,7 +189,7 @@ export declare const kdsSlice: import("@reduxjs/toolkit").Slice<KdsState, {
171
189
  order: OrderKds | null;
172
190
  stationCounts: KdsStationCounts;
173
191
  itemTypes: import("immer/dist/internal").WritableDraft<import("../types").ItemType>[] | null;
174
- prepStations: import("immer/dist/internal").WritableDraft<import("../types").PrepStation>[];
192
+ prepStations: import("immer/dist/internal").WritableDraft<PrepStation>[];
175
193
  prepStationId: number | null;
176
194
  orderType: KdsOrderType;
177
195
  columns: number;
@@ -193,7 +211,7 @@ export declare const selectKds: (state: AppState) => KdsState;
193
211
  export declare const selectKdsItemTypes: (state: AppState) => ItemTypes | null;
194
212
  export declare const selectKdsPrepStations: (state: AppState) => PrepStations;
195
213
  export declare const selectKdsPrepStationId: (state: AppState) => number | null;
196
- export declare const selectKdsPrepStation: (state: AppState) => import("../types").PrepStation | undefined;
214
+ export declare const selectKdsPrepStation: (state: AppState) => PrepStation | null;
197
215
  export declare const selectKdsOrderType: (state: AppState) => KdsOrderType;
198
216
  export declare const selectKdsColumns: (state: AppState) => number;
199
217
  export declare const selectKdsBoxes: (state: AppState) => number;
@@ -192,13 +192,14 @@ export var updateTicket = createAsyncThunk(KdsActionType.UpdateTicket, function
192
192
  var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
193
193
  var getState = _b.getState, dispatch = _b.dispatch;
194
194
  return __awaiter(void 0, void 0, void 0, function () {
195
- var api, order, err_7, detail;
195
+ var api, data, order, err_7, detail;
196
196
  return __generator(this, function (_c) {
197
197
  switch (_c.label) {
198
198
  case 0:
199
199
  _c.trys.push([0, 2, , 3]);
200
200
  api = getState().config.api;
201
- return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, status)];
201
+ data = status ? { ticket_status: status } : {};
202
+ return [4 /*yield*/, api.putTicketStatus(orderId, ticketNo, data)];
202
203
  case 1:
203
204
  order = _c.sent();
204
205
  dispatch(replaceKdsOrder(order));
@@ -213,6 +214,81 @@ export var updateTicket = createAsyncThunk(KdsActionType.UpdateTicket, function
213
214
  });
214
215
  });
215
216
  });
217
+ export var resetTicket = createAsyncThunk(KdsActionType.UpdateTicket, function (_a, _b) {
218
+ var orderId = _a.orderId, ticketNo = _a.ticketNo;
219
+ var getState = _b.getState, dispatch = _b.dispatch;
220
+ return __awaiter(void 0, void 0, void 0, function () {
221
+ var api, order, err_8, detail;
222
+ return __generator(this, function (_c) {
223
+ switch (_c.label) {
224
+ case 0:
225
+ _c.trys.push([0, 2, , 3]);
226
+ api = getState().config.api;
227
+ return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'reset')];
228
+ case 1:
229
+ order = _c.sent();
230
+ dispatch(replaceKdsOrder(order));
231
+ return [3 /*break*/, 3];
232
+ case 2:
233
+ err_8 = _c.sent();
234
+ detail = err_8.detail;
235
+ dispatch(addAlert(detail));
236
+ return [3 /*break*/, 3];
237
+ case 3: return [2 /*return*/];
238
+ }
239
+ });
240
+ });
241
+ });
242
+ export var doneTicket = createAsyncThunk(KdsActionType.UpdateTicket, function (_a, _b) {
243
+ var orderId = _a.orderId, ticketNo = _a.ticketNo;
244
+ var getState = _b.getState, dispatch = _b.dispatch;
245
+ return __awaiter(void 0, void 0, void 0, function () {
246
+ var api, order, err_9, detail;
247
+ return __generator(this, function (_c) {
248
+ switch (_c.label) {
249
+ case 0:
250
+ _c.trys.push([0, 2, , 3]);
251
+ api = getState().config.api;
252
+ return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'done')];
253
+ case 1:
254
+ order = _c.sent();
255
+ dispatch(replaceKdsOrder(order));
256
+ return [3 /*break*/, 3];
257
+ case 2:
258
+ err_9 = _c.sent();
259
+ detail = err_9.detail;
260
+ dispatch(addAlert(detail));
261
+ return [3 /*break*/, 3];
262
+ case 3: return [2 /*return*/];
263
+ }
264
+ });
265
+ });
266
+ });
267
+ export var completeTicket = createAsyncThunk(KdsActionType.UpdateTicket, function (_a, _b) {
268
+ var orderId = _a.orderId, ticketNo = _a.ticketNo;
269
+ var getState = _b.getState, dispatch = _b.dispatch;
270
+ return __awaiter(void 0, void 0, void 0, function () {
271
+ var api, order, err_10, detail;
272
+ return __generator(this, function (_c) {
273
+ switch (_c.label) {
274
+ case 0:
275
+ _c.trys.push([0, 2, , 3]);
276
+ api = getState().config.api;
277
+ return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'complete')];
278
+ case 1:
279
+ order = _c.sent();
280
+ dispatch(replaceKdsOrder(order));
281
+ return [3 /*break*/, 3];
282
+ case 2:
283
+ err_10 = _c.sent();
284
+ detail = err_10.detail;
285
+ dispatch(addAlert(detail));
286
+ return [3 /*break*/, 3];
287
+ case 3: return [2 /*return*/];
288
+ }
289
+ });
290
+ });
291
+ });
216
292
  export var kdsSlice = createSlice({
217
293
  name: ReducerType.Kds,
218
294
  initialState: initialState,
@@ -352,6 +428,36 @@ export var kdsSlice = createSlice({
352
428
  })
353
429
  .addCase(updateTicket.rejected, function (state) {
354
430
  state.loading = 'idle';
431
+ })
432
+ .addCase(resetTicket.fulfilled, function (state) {
433
+ state.loading = 'idle';
434
+ state.error = null;
435
+ })
436
+ .addCase(resetTicket.pending, function (state) {
437
+ state.loading = 'pending';
438
+ })
439
+ .addCase(resetTicket.rejected, function (state) {
440
+ state.loading = 'idle';
441
+ })
442
+ .addCase(doneTicket.fulfilled, function (state) {
443
+ state.loading = 'idle';
444
+ state.error = null;
445
+ })
446
+ .addCase(doneTicket.pending, function (state) {
447
+ state.loading = 'pending';
448
+ })
449
+ .addCase(doneTicket.rejected, function (state) {
450
+ state.loading = 'idle';
451
+ })
452
+ .addCase(completeTicket.fulfilled, function (state) {
453
+ state.loading = 'idle';
454
+ state.error = null;
455
+ })
456
+ .addCase(completeTicket.pending, function (state) {
457
+ state.loading = 'pending';
458
+ })
459
+ .addCase(completeTicket.rejected, function (state) {
460
+ state.loading = 'idle';
355
461
  });
356
462
  }
357
463
  });
@@ -363,8 +469,9 @@ export var selectKdsPrepStationId = function (state) {
363
469
  return state.kds.prepStationId;
364
470
  };
365
471
  export var selectKdsPrepStation = function (state) {
366
- var _a = state.kds, prepStations = _a.prepStations, prepStationId = _a.prepStationId;
367
- return prepStations.find(function (i) { return i.prep_station_id === prepStationId; });
472
+ var _a;
473
+ var _b = state.kds, prepStations = _b.prepStations, prepStationId = _b.prepStationId;
474
+ return (_a = prepStations.find(function (i) { return i.prep_station_id === prepStationId; })) !== null && _a !== void 0 ? _a : null;
368
475
  };
369
476
  export var selectKdsOrderType = function (state) { return state.kds.orderType; };
370
477
  export var selectKdsColumns = function (state) { return state.kds.columns; };
@@ -120,7 +120,10 @@ export var makeOrdersForPrepStation = function (orders, prepStation, orderType)
120
120
  var filteredOrders = prep_type === 'ASSEMBLY'
121
121
  ? ordersOfType.filter(function (i) { return notDone(i.prep_status); })
122
122
  : ordersOfType.filter(function (i) { return i.prep_status === 'DONE'; });
123
- return filterOrdersByItemType(filteredOrders, item_type_ids);
123
+ var filtered = filterOrdersByItemType(filteredOrders, item_type_ids);
124
+ return prep_type === 'EXPO'
125
+ ? filtered
126
+ : filtered.filter(function (i) { return i.tickets.filter(function (t) { return notDone(t.ticket_status); }).length; });
124
127
  };
125
128
  var updateCounts = function (counts, ticketCounts) {
126
129
  // console.log('BEFORE', counts, ticketCounts)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "0.3.17",
3
+ "version": "0.3.19",
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",