@open-tender/store 0.3.18 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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, PrepStation, 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
  }>;
@@ -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
  });
@@ -17,6 +17,8 @@ export interface PrepStation {
17
17
  assembly_options: KdsAssemblyOptions;
18
18
  show_print: boolean;
19
19
  show_reset: boolean;
20
+ done_only: boolean;
21
+ require_complete: boolean;
20
22
  }
21
23
  export declare type PrepStations = PrepStation[];
22
24
  export interface KdsTerminal {
@@ -126,14 +126,16 @@ var filterOrdersByItemType = function (orders, itemTypeIds) {
126
126
  };
127
127
  exports.filterOrdersByItemType = filterOrdersByItemType;
128
128
  var makeOrdersForPrepStation = function (orders, prepStation, orderType) {
129
- var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type;
129
+ var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type, done_only = prepStation.done_only;
130
130
  var ordersOfType = (0, exports.makeOrdersOfType)(orders, orderType);
131
131
  if (orderType === 'COMPLETED') {
132
132
  return (0, exports.filterOrdersByItemType)(ordersOfType, item_type_ids);
133
133
  }
134
134
  var filteredOrders = prep_type === 'ASSEMBLY'
135
135
  ? ordersOfType.filter(function (i) { return (0, exports.notDone)(i.prep_status); })
136
- : ordersOfType.filter(function (i) { return i.prep_status === 'DONE'; });
136
+ : ordersOfType.filter(function (i) {
137
+ return done_only ? i.prep_status === 'DONE' : (0, exports.notCompleted)(i.prep_status);
138
+ });
137
139
  var filtered = (0, exports.filterOrdersByItemType)(filteredOrders, item_type_ids);
138
140
  return prep_type === 'EXPO'
139
141
  ? filtered
@@ -221,14 +223,24 @@ exports.makeKdsStationCount = makeKdsStationCount;
221
223
  var makeKdsStationCounts = function (orders, prepStations) {
222
224
  var _a = (0, exports.makeCurrentAndFutureOrders)(orders), currentOrders = _a.current, futureOrders = _a.future;
223
225
  var currentAssembly = currentOrders.filter(function (i) { return (0, exports.notDone)(i.prep_status); });
224
- var currentExpo = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
225
226
  var futureAssembly = futureOrders.filter(function (i) { return (0, exports.notDone)(i.prep_status); });
226
- var futureExpo = futureOrders.filter(function (i) { return i.prep_status === 'DONE'; });
227
+ var currentExpoDone = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
228
+ var currentExpo = currentOrders.filter(function (i) { return (0, exports.notCompleted)(i.prep_status); });
229
+ var futureExpoDone = futureOrders.filter(function (i) { return i.prep_status === 'DONE'; });
230
+ var futureExpo = futureOrders.filter(function (i) { return (0, exports.notCompleted)(i.prep_status); });
227
231
  return prepStations.reduce(function (obj, i) {
228
232
  var _a;
229
- var currentFiltered = i.prep_type === 'ASSEMBLY' ? currentAssembly : currentExpo;
233
+ var currentFiltered = i.prep_type === 'ASSEMBLY'
234
+ ? currentAssembly
235
+ : i.done_only
236
+ ? currentExpoDone
237
+ : currentExpo;
230
238
  var current = (0, exports.makeKdsStationCount)(currentFiltered, i.item_type_ids);
231
- var futureFiltered = i.prep_type === 'ASSEMBLY' ? futureAssembly : futureExpo;
239
+ var futureFiltered = i.prep_type === 'ASSEMBLY'
240
+ ? futureAssembly
241
+ : i.done_only
242
+ ? futureExpoDone
243
+ : futureExpo;
232
244
  var future = (0, exports.makeKdsStationCount)(futureFiltered, i.item_type_ids);
233
245
  return tslib_1.__assign(tslib_1.__assign({}, obj), (_a = {}, _a[i.prep_station_id] = { CURRENT: current, FUTURE: future }, _a));
234
246
  }, {});
@@ -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, PrepStation, 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
  }>;
@@ -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
  });
@@ -17,6 +17,8 @@ export interface PrepStation {
17
17
  assembly_options: KdsAssemblyOptions;
18
18
  show_print: boolean;
19
19
  show_reset: boolean;
20
+ done_only: boolean;
21
+ require_complete: boolean;
20
22
  }
21
23
  export declare type PrepStations = PrepStation[];
22
24
  export interface KdsTerminal {
@@ -112,14 +112,16 @@ export var filterOrdersByItemType = function (orders, itemTypeIds) {
112
112
  .filter(function (i) { return i.tickets.length; });
113
113
  };
114
114
  export var makeOrdersForPrepStation = function (orders, prepStation, orderType) {
115
- var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type;
115
+ var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type, done_only = prepStation.done_only;
116
116
  var ordersOfType = makeOrdersOfType(orders, orderType);
117
117
  if (orderType === 'COMPLETED') {
118
118
  return filterOrdersByItemType(ordersOfType, item_type_ids);
119
119
  }
120
120
  var filteredOrders = prep_type === 'ASSEMBLY'
121
121
  ? ordersOfType.filter(function (i) { return notDone(i.prep_status); })
122
- : ordersOfType.filter(function (i) { return i.prep_status === 'DONE'; });
122
+ : ordersOfType.filter(function (i) {
123
+ return done_only ? i.prep_status === 'DONE' : notCompleted(i.prep_status);
124
+ });
123
125
  var filtered = filterOrdersByItemType(filteredOrders, item_type_ids);
124
126
  return prep_type === 'EXPO'
125
127
  ? filtered
@@ -203,14 +205,24 @@ export var makeKdsStationCount = function (orders, itemTypeIds) {
203
205
  export var makeKdsStationCounts = function (orders, prepStations) {
204
206
  var _a = makeCurrentAndFutureOrders(orders), currentOrders = _a.current, futureOrders = _a.future;
205
207
  var currentAssembly = currentOrders.filter(function (i) { return notDone(i.prep_status); });
206
- var currentExpo = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
207
208
  var futureAssembly = futureOrders.filter(function (i) { return notDone(i.prep_status); });
208
- var futureExpo = futureOrders.filter(function (i) { return i.prep_status === 'DONE'; });
209
+ var currentExpoDone = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
210
+ var currentExpo = currentOrders.filter(function (i) { return notCompleted(i.prep_status); });
211
+ var futureExpoDone = futureOrders.filter(function (i) { return i.prep_status === 'DONE'; });
212
+ var futureExpo = futureOrders.filter(function (i) { return notCompleted(i.prep_status); });
209
213
  return prepStations.reduce(function (obj, i) {
210
214
  var _a;
211
- var currentFiltered = i.prep_type === 'ASSEMBLY' ? currentAssembly : currentExpo;
215
+ var currentFiltered = i.prep_type === 'ASSEMBLY'
216
+ ? currentAssembly
217
+ : i.done_only
218
+ ? currentExpoDone
219
+ : currentExpo;
212
220
  var current = makeKdsStationCount(currentFiltered, i.item_type_ids);
213
- var futureFiltered = i.prep_type === 'ASSEMBLY' ? futureAssembly : futureExpo;
221
+ var futureFiltered = i.prep_type === 'ASSEMBLY'
222
+ ? futureAssembly
223
+ : i.done_only
224
+ ? futureExpoDone
225
+ : futureExpo;
214
226
  var future = makeKdsStationCount(futureFiltered, i.item_type_ids);
215
227
  return __assign(__assign({}, obj), (_a = {}, _a[i.prep_station_id] = { CURRENT: current, FUTURE: future }, _a));
216
228
  }, {});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "0.3.18",
3
+ "version": "0.3.20",
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",