@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.
- package/dist/cjs/app/hooks.d.ts +1 -8
- package/dist/cjs/app/store.d.ts +3 -24
- package/dist/cjs/slices/config.js +2 -2
- package/dist/cjs/slices/kds.d.ts +183 -82
- package/dist/cjs/slices/kds.js +354 -17
- package/dist/cjs/slices/orders.d.ts +4 -61
- package/dist/cjs/slices/orders.js +6 -345
- package/dist/cjs/types/api/order.d.ts +8 -3
- package/dist/cjs/types/global.d.ts +2 -1
- package/dist/cjs/utils/orders.d.ts +7 -6
- package/dist/cjs/utils/orders.js +17 -13
- package/dist/esm/app/hooks.d.ts +1 -8
- package/dist/esm/app/store.d.ts +3 -24
- package/dist/esm/slices/config.js +2 -2
- package/dist/esm/slices/kds.d.ts +183 -82
- package/dist/esm/slices/kds.js +347 -15
- package/dist/esm/slices/orders.d.ts +4 -61
- package/dist/esm/slices/orders.js +7 -342
- package/dist/esm/types/api/order.d.ts +8 -3
- package/dist/esm/types/global.d.ts +2 -1
- package/dist/esm/utils/orders.d.ts +7 -6
- package/dist/esm/utils/orders.js +14 -11
- package/package.json +1 -1
|
@@ -1,50 +1,31 @@
|
|
|
1
1
|
var _a;
|
|
2
|
-
import {
|
|
2
|
+
import { __awaiter, __generator } from "tslib";
|
|
3
3
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
4
4
|
import { ReducerType } from './types';
|
|
5
|
-
import {
|
|
6
|
-
import { addAlert } from './alerts';
|
|
5
|
+
import { makeFetchOrdersArgs } from '../utils';
|
|
7
6
|
var initialState = {
|
|
8
|
-
// businessDate: null,
|
|
9
|
-
// receiptType: 'BOTH',
|
|
10
|
-
// channelType: ['POS', 'KIOSK'],
|
|
11
|
-
// prepStatus: ['COMPLETED'],
|
|
12
|
-
// search: null,
|
|
13
7
|
entities: [],
|
|
14
8
|
loading: 'idle',
|
|
15
9
|
error: null,
|
|
16
10
|
current: null,
|
|
17
|
-
refund: null
|
|
18
|
-
counts: { current: null, future: null, qa: null },
|
|
19
|
-
itemTypes: null
|
|
11
|
+
refund: null
|
|
20
12
|
};
|
|
21
13
|
export var OrdersActionType;
|
|
22
14
|
(function (OrdersActionType) {
|
|
23
15
|
OrdersActionType["FetchOrders"] = "orders/fetchOrders";
|
|
24
|
-
OrdersActionType["RefreshOrders"] = "orders/refreshOrders";
|
|
25
|
-
OrdersActionType["UpdateOrder"] = "orders/updateOrder";
|
|
26
|
-
OrdersActionType["PrintTickets"] = "orders/printTickets";
|
|
27
|
-
OrdersActionType["ResetTickets"] = "orders/resetTickets";
|
|
28
|
-
OrdersActionType["PrintReceipt"] = "orders/printReceipt";
|
|
29
|
-
OrdersActionType["PrintTicket"] = "orders/printTicket";
|
|
30
|
-
OrdersActionType["UpdateTicket"] = "orders/updateTicket";
|
|
31
16
|
})(OrdersActionType || (OrdersActionType = {}));
|
|
32
17
|
export var fetchOrders = createAsyncThunk(OrdersActionType.FetchOrders, function (params, _a) {
|
|
33
18
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
34
19
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
35
|
-
var api,
|
|
20
|
+
var api, args, err_1;
|
|
36
21
|
return __generator(this, function (_b) {
|
|
37
22
|
switch (_b.label) {
|
|
38
23
|
case 0:
|
|
39
24
|
_b.trys.push([0, 2, , 3]);
|
|
40
25
|
api = getState().config.api;
|
|
41
|
-
itemTypes = getState().orders.itemTypes;
|
|
42
26
|
args = makeFetchOrdersArgs(params);
|
|
43
27
|
return [4 /*yield*/, api.getOrders(args)];
|
|
44
|
-
case 1:
|
|
45
|
-
orders = _b.sent();
|
|
46
|
-
counts = makeOrdersCounts(itemTypes, orders);
|
|
47
|
-
return [2 /*return*/, { orders: orders, counts: counts }];
|
|
28
|
+
case 1: return [2 /*return*/, _b.sent()];
|
|
48
29
|
case 2:
|
|
49
30
|
err_1 = _b.sent();
|
|
50
31
|
return [2 /*return*/, rejectWithValue(err_1)];
|
|
@@ -53,226 +34,22 @@ export var fetchOrders = createAsyncThunk(OrdersActionType.FetchOrders, function
|
|
|
53
34
|
});
|
|
54
35
|
});
|
|
55
36
|
});
|
|
56
|
-
export var updateOrder = createAsyncThunk(OrdersActionType.UpdateOrder, function (_a, _b) {
|
|
57
|
-
var orderId = _a.orderId, data = _a.data;
|
|
58
|
-
var getState = _b.getState, dispatch = _b.dispatch;
|
|
59
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
60
|
-
var api, order, err_2, detail;
|
|
61
|
-
return __generator(this, function (_c) {
|
|
62
|
-
switch (_c.label) {
|
|
63
|
-
case 0:
|
|
64
|
-
_c.trys.push([0, 2, , 3]);
|
|
65
|
-
api = getState().config.api;
|
|
66
|
-
return [4 /*yield*/, api.patchOrder(orderId, data)];
|
|
67
|
-
case 1:
|
|
68
|
-
order = _c.sent();
|
|
69
|
-
dispatch(updateOrdersOrder(order));
|
|
70
|
-
return [3 /*break*/, 3];
|
|
71
|
-
case 2:
|
|
72
|
-
err_2 = _c.sent();
|
|
73
|
-
detail = err_2.detail;
|
|
74
|
-
dispatch(addAlert(detail));
|
|
75
|
-
return [3 /*break*/, 3];
|
|
76
|
-
case 3: return [2 /*return*/];
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
export var printReceipt = createAsyncThunk(OrdersActionType.PrintReceipt, function (orderId, _a) {
|
|
82
|
-
var getState = _a.getState, dispatch = _a.dispatch;
|
|
83
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
84
|
-
var api, order, err_3, detail;
|
|
85
|
-
return __generator(this, function (_b) {
|
|
86
|
-
switch (_b.label) {
|
|
87
|
-
case 0:
|
|
88
|
-
_b.trys.push([0, 2, , 3]);
|
|
89
|
-
api = getState().config.api;
|
|
90
|
-
return [4 /*yield*/, api.postReceipt(orderId)];
|
|
91
|
-
case 1:
|
|
92
|
-
order = _b.sent();
|
|
93
|
-
dispatch(updateOrdersOrder(order));
|
|
94
|
-
return [3 /*break*/, 3];
|
|
95
|
-
case 2:
|
|
96
|
-
err_3 = _b.sent();
|
|
97
|
-
detail = err_3.detail;
|
|
98
|
-
dispatch(addAlert(detail));
|
|
99
|
-
return [3 /*break*/, 3];
|
|
100
|
-
case 3: return [2 /*return*/];
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
export var printTickets = createAsyncThunk(OrdersActionType.PrintTickets, function (_a, _b) {
|
|
106
|
-
var orderId = _a.orderId, data = _a.data;
|
|
107
|
-
var getState = _b.getState, dispatch = _b.dispatch;
|
|
108
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
109
|
-
var api, order, err_4, detail;
|
|
110
|
-
return __generator(this, function (_c) {
|
|
111
|
-
switch (_c.label) {
|
|
112
|
-
case 0:
|
|
113
|
-
_c.trys.push([0, 2, , 3]);
|
|
114
|
-
api = getState().config.api;
|
|
115
|
-
return [4 /*yield*/, api.postTicketsPrint(orderId, data)];
|
|
116
|
-
case 1:
|
|
117
|
-
order = _c.sent();
|
|
118
|
-
dispatch(updateOrdersOrder(order));
|
|
119
|
-
return [3 /*break*/, 3];
|
|
120
|
-
case 2:
|
|
121
|
-
err_4 = _c.sent();
|
|
122
|
-
detail = err_4.detail;
|
|
123
|
-
dispatch(addAlert(detail));
|
|
124
|
-
return [3 /*break*/, 3];
|
|
125
|
-
case 3: return [2 /*return*/];
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
export var resetTickets = createAsyncThunk(OrdersActionType.ResetTickets, function (orderId, _a) {
|
|
131
|
-
var getState = _a.getState, dispatch = _a.dispatch;
|
|
132
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
133
|
-
var api, order, err_5, detail;
|
|
134
|
-
return __generator(this, function (_b) {
|
|
135
|
-
switch (_b.label) {
|
|
136
|
-
case 0:
|
|
137
|
-
_b.trys.push([0, 2, , 3]);
|
|
138
|
-
api = getState().config.api;
|
|
139
|
-
return [4 /*yield*/, api.postTicketsReset(orderId)];
|
|
140
|
-
case 1:
|
|
141
|
-
order = _b.sent();
|
|
142
|
-
dispatch(updateOrdersOrder(order));
|
|
143
|
-
return [3 /*break*/, 3];
|
|
144
|
-
case 2:
|
|
145
|
-
err_5 = _b.sent();
|
|
146
|
-
detail = err_5.detail;
|
|
147
|
-
dispatch(addAlert(detail));
|
|
148
|
-
return [3 /*break*/, 3];
|
|
149
|
-
case 3: return [2 /*return*/];
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
export var printTicket = createAsyncThunk(OrdersActionType.PrintTicket, function (_a, _b) {
|
|
155
|
-
var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
|
|
156
|
-
var getState = _b.getState, dispatch = _b.dispatch;
|
|
157
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
158
|
-
var api, data, order, err_6, detail;
|
|
159
|
-
return __generator(this, function (_c) {
|
|
160
|
-
switch (_c.label) {
|
|
161
|
-
case 0:
|
|
162
|
-
_c.trys.push([0, 2, , 3]);
|
|
163
|
-
api = getState().config.api;
|
|
164
|
-
data = status ? { ticket_status: status } : {};
|
|
165
|
-
return [4 /*yield*/, api.postTicketPrint(orderId, ticketNo, data)];
|
|
166
|
-
case 1:
|
|
167
|
-
order = _c.sent();
|
|
168
|
-
dispatch(updateOrdersOrder(order));
|
|
169
|
-
return [3 /*break*/, 3];
|
|
170
|
-
case 2:
|
|
171
|
-
err_6 = _c.sent();
|
|
172
|
-
detail = err_6.detail;
|
|
173
|
-
dispatch(addAlert(detail));
|
|
174
|
-
return [3 /*break*/, 3];
|
|
175
|
-
case 3: return [2 /*return*/];
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
export var updateTicket = createAsyncThunk(OrdersActionType.UpdateTicket, function (_a, _b) {
|
|
181
|
-
var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
|
|
182
|
-
var getState = _b.getState, dispatch = _b.dispatch;
|
|
183
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
184
|
-
var api, order, err_7, detail;
|
|
185
|
-
return __generator(this, function (_c) {
|
|
186
|
-
switch (_c.label) {
|
|
187
|
-
case 0:
|
|
188
|
-
_c.trys.push([0, 2, , 3]);
|
|
189
|
-
api = getState().config.api;
|
|
190
|
-
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, status)];
|
|
191
|
-
case 1:
|
|
192
|
-
order = _c.sent();
|
|
193
|
-
dispatch(updateOrdersOrder(order));
|
|
194
|
-
return [3 /*break*/, 3];
|
|
195
|
-
case 2:
|
|
196
|
-
err_7 = _c.sent();
|
|
197
|
-
detail = err_7.detail;
|
|
198
|
-
dispatch(addAlert(detail));
|
|
199
|
-
return [3 /*break*/, 3];
|
|
200
|
-
case 3: return [2 /*return*/];
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
// export const refreshOrders = createAsyncThunk<
|
|
206
|
-
// OrdersAndCounts,
|
|
207
|
-
// void,
|
|
208
|
-
// { state: AppState; rejectValue: RequestError }
|
|
209
|
-
// >(OrdersActionType.RefreshOrders, async (_, { getState, rejectWithValue }) => {
|
|
210
|
-
// try {
|
|
211
|
-
// const { api, itemTypes } = getState().config
|
|
212
|
-
// const { businessDate, receiptType, channelType, prepStatus, search } =
|
|
213
|
-
// getState().orders
|
|
214
|
-
// const args = makeFetchOrdersArgs({
|
|
215
|
-
// businessDate,
|
|
216
|
-
// receiptType,
|
|
217
|
-
// channelType,
|
|
218
|
-
// prepStatus,
|
|
219
|
-
// search
|
|
220
|
-
// })
|
|
221
|
-
// const orders = await api.getOrders(args)
|
|
222
|
-
// const counts = makeOrdersCounts(itemTypes, orders)
|
|
223
|
-
// return { orders, counts }
|
|
224
|
-
// } catch (err) {
|
|
225
|
-
// return rejectWithValue(err as RequestError)
|
|
226
|
-
// }
|
|
227
|
-
// })
|
|
228
37
|
var ordersSlice = createSlice({
|
|
229
38
|
name: ReducerType.Orders,
|
|
230
39
|
initialState: initialState,
|
|
231
40
|
reducers: {
|
|
232
41
|
resetOrders: function () { return initialState; },
|
|
233
|
-
setOrdersItemTypes: function (state, action) {
|
|
234
|
-
state.itemTypes = action.payload;
|
|
235
|
-
},
|
|
236
|
-
// setOrdersBusinessDate: (state, action) => {
|
|
237
|
-
// state.businessDate = action.payload
|
|
238
|
-
// },
|
|
239
|
-
// setOrdersChannelType: (state, action) => {
|
|
240
|
-
// state.channelType = action.payload
|
|
241
|
-
// },
|
|
242
|
-
// setOrdersPrepStatus: (state, action) => {
|
|
243
|
-
// state.prepStatus = action.payload
|
|
244
|
-
// },
|
|
245
|
-
// setOrdersSearch: (state, action) => {
|
|
246
|
-
// state.search = action.payload
|
|
247
|
-
// },
|
|
248
42
|
setOrdersCurrent: function (state, action) {
|
|
249
43
|
state.current = action.payload;
|
|
250
44
|
},
|
|
251
45
|
setOrdersRefund: function (state, action) {
|
|
252
46
|
state.refund = action.payload;
|
|
253
|
-
},
|
|
254
|
-
updateOrdersOrder: function (state, action) {
|
|
255
|
-
var order = action.payload;
|
|
256
|
-
var tz = timezoneMap[order.timezone];
|
|
257
|
-
var updated = state.entities
|
|
258
|
-
.map(function (i) {
|
|
259
|
-
return i.order_uuid === order.order_uuid ? order : i;
|
|
260
|
-
})
|
|
261
|
-
.filter(function (i) { return i.fire_at; });
|
|
262
|
-
var entities = updated
|
|
263
|
-
.map(function (i) { return (__assign(__assign({}, i), { fireAt: isoToDate(i.fire_at, tz) })); })
|
|
264
|
-
.sort(function (a, b) { return a.fireAt.getTime() - b.fireAt.getTime(); });
|
|
265
|
-
var counts = makeOrdersCounts(state.itemTypes, entities);
|
|
266
|
-
var current = state.current ? order : null;
|
|
267
|
-
return __assign(__assign({}, state), { entities: entities, current: current, counts: counts });
|
|
268
47
|
}
|
|
269
48
|
},
|
|
270
49
|
extraReducers: function (builder) {
|
|
271
50
|
builder
|
|
272
51
|
.addCase(fetchOrders.fulfilled, function (state, action) {
|
|
273
|
-
|
|
274
|
-
state.entities = orders;
|
|
275
|
-
state.counts = counts;
|
|
52
|
+
state.entities = action.payload;
|
|
276
53
|
state.loading = 'idle';
|
|
277
54
|
state.error = null;
|
|
278
55
|
})
|
|
@@ -282,123 +59,11 @@ var ordersSlice = createSlice({
|
|
|
282
59
|
.addCase(fetchOrders.rejected, function (state, action) {
|
|
283
60
|
state.error = action.payload;
|
|
284
61
|
state.loading = 'idle';
|
|
285
|
-
})
|
|
286
|
-
.addCase(updateOrder.fulfilled, function (state) {
|
|
287
|
-
state.loading = 'idle';
|
|
288
|
-
state.error = null;
|
|
289
|
-
})
|
|
290
|
-
.addCase(updateOrder.pending, function (state) {
|
|
291
|
-
state.loading = 'pending';
|
|
292
|
-
})
|
|
293
|
-
.addCase(updateOrder.rejected, function (state) {
|
|
294
|
-
state.loading = 'idle';
|
|
295
|
-
})
|
|
296
|
-
.addCase(printReceipt.fulfilled, function (state) {
|
|
297
|
-
state.loading = 'idle';
|
|
298
|
-
state.error = null;
|
|
299
|
-
})
|
|
300
|
-
.addCase(printReceipt.pending, function (state) {
|
|
301
|
-
state.loading = 'pending';
|
|
302
|
-
})
|
|
303
|
-
.addCase(printReceipt.rejected, function (state) {
|
|
304
|
-
state.loading = 'idle';
|
|
305
|
-
})
|
|
306
|
-
.addCase(printTickets.fulfilled, function (state) {
|
|
307
|
-
state.loading = 'idle';
|
|
308
|
-
state.error = null;
|
|
309
|
-
})
|
|
310
|
-
.addCase(printTickets.pending, function (state) {
|
|
311
|
-
state.loading = 'pending';
|
|
312
|
-
})
|
|
313
|
-
.addCase(printTickets.rejected, function (state) {
|
|
314
|
-
state.loading = 'idle';
|
|
315
|
-
})
|
|
316
|
-
.addCase(resetTickets.fulfilled, function (state) {
|
|
317
|
-
state.loading = 'idle';
|
|
318
|
-
state.error = null;
|
|
319
|
-
})
|
|
320
|
-
.addCase(resetTickets.pending, function (state) {
|
|
321
|
-
state.loading = 'pending';
|
|
322
|
-
})
|
|
323
|
-
.addCase(resetTickets.rejected, function (state) {
|
|
324
|
-
state.loading = 'idle';
|
|
325
|
-
})
|
|
326
|
-
.addCase(printTicket.fulfilled, function (state) {
|
|
327
|
-
state.loading = 'idle';
|
|
328
|
-
state.error = null;
|
|
329
|
-
})
|
|
330
|
-
.addCase(printTicket.pending, function (state) {
|
|
331
|
-
state.loading = 'pending';
|
|
332
|
-
})
|
|
333
|
-
.addCase(printTicket.rejected, function (state) {
|
|
334
|
-
state.loading = 'idle';
|
|
335
|
-
})
|
|
336
|
-
.addCase(updateTicket.fulfilled, function (state) {
|
|
337
|
-
state.loading = 'idle';
|
|
338
|
-
state.error = null;
|
|
339
|
-
})
|
|
340
|
-
.addCase(updateTicket.pending, function (state) {
|
|
341
|
-
state.loading = 'pending';
|
|
342
|
-
})
|
|
343
|
-
.addCase(updateTicket.rejected, function (state) {
|
|
344
|
-
state.loading = 'idle';
|
|
345
62
|
});
|
|
346
|
-
// .addCase(refreshOrders.fulfilled, (state, action) => {
|
|
347
|
-
// const { orders, counts } = action.payload
|
|
348
|
-
// state.entities = orders
|
|
349
|
-
// state.counts = counts
|
|
350
|
-
// state.loading = 'idle'
|
|
351
|
-
// state.error = null
|
|
352
|
-
// })
|
|
353
|
-
// .addCase(refreshOrders.pending, state => {
|
|
354
|
-
// state.loading = 'pending'
|
|
355
|
-
// })
|
|
356
|
-
// .addCase(refreshOrders.rejected, (state, action) => {
|
|
357
|
-
// state.error = action.payload
|
|
358
|
-
// state.loading = 'idle'
|
|
359
|
-
// })
|
|
360
63
|
}
|
|
361
64
|
});
|
|
362
|
-
export var resetOrders = (_a = ordersSlice.actions, _a.resetOrders),
|
|
363
|
-
// setOrdersBusinessDate,
|
|
364
|
-
// setOrdersChannelType,
|
|
365
|
-
// setOrdersPrepStatus,
|
|
366
|
-
// setOrdersSearch,
|
|
367
|
-
setOrdersCurrent = _a.setOrdersCurrent, setOrdersRefund = _a.setOrdersRefund, updateOrdersOrder = _a.updateOrdersOrder;
|
|
368
|
-
export var selectItemTypes = function (state) { return state.orders.itemTypes; };
|
|
65
|
+
export var resetOrders = (_a = ordersSlice.actions, _a.resetOrders), setOrdersCurrent = _a.setOrdersCurrent, setOrdersRefund = _a.setOrdersRefund;
|
|
369
66
|
export var selectOrders = function (state) { return state.orders; };
|
|
370
|
-
// export const selectOrdersArgs = (state: AppState) => {
|
|
371
|
-
// const { businessDate, receiptType, channelType, prepStatus, search } =
|
|
372
|
-
// state.orders
|
|
373
|
-
// return { businessDate, receiptType, channelType, prepStatus, search }
|
|
374
|
-
// }
|
|
375
|
-
// export const selectOrdersBusinessDate = (state: AppState) =>
|
|
376
|
-
// state.orders.businessDate
|
|
377
|
-
// export const selectOrdersSearch = (state: AppState) => state.orders.search
|
|
378
67
|
export var selectOrdersCurrent = function (state) { return state.orders.current; };
|
|
379
68
|
export var selectOrdersRefund = function (state) { return state.orders.refund; };
|
|
380
|
-
export var selectCurrentOrders = function (state) {
|
|
381
|
-
var _a = state.orders, entities = _a.entities, loading = _a.loading, error = _a.error;
|
|
382
|
-
var orders = entities.filter(function (i) {
|
|
383
|
-
var tz = timezoneMap[i.timezone];
|
|
384
|
-
var fireDate = i.fire_at ? isoToDate(i.fire_at, tz) : null;
|
|
385
|
-
var currentDate = currentLocalDate(tz);
|
|
386
|
-
return notDone(i.prep_status) && fireDate && fireDate < currentDate;
|
|
387
|
-
});
|
|
388
|
-
return { orders: orders, loading: loading, error: error };
|
|
389
|
-
};
|
|
390
|
-
export var selectFutureOrders = function (state) {
|
|
391
|
-
var _a = state.orders, entities = _a.entities, loading = _a.loading, error = _a.error;
|
|
392
|
-
var orders = entities.filter(function (i) {
|
|
393
|
-
var tz = timezoneMap[i.timezone];
|
|
394
|
-
var fireDate = i.fire_at ? isoToDate(i.fire_at, tz) : null;
|
|
395
|
-
var currentDate = currentLocalDate(tz);
|
|
396
|
-
return notDone(i.prep_status) && fireDate && fireDate > currentDate;
|
|
397
|
-
});
|
|
398
|
-
return { orders: orders, loading: loading, error: error };
|
|
399
|
-
};
|
|
400
|
-
export var selectOrdersCounts = function (state) {
|
|
401
|
-
var _a = state.orders.counts, current = _a.current, future = _a.future, qa = _a.qa;
|
|
402
|
-
return { current: current, future: future, qa: qa };
|
|
403
|
-
};
|
|
404
69
|
export var 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
|
|
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
|
|
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:
|
|
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,
|
|
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
|
|
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:
|
|
18
|
-
export declare const makeOrderBucketsCounts: (itemTypes?: ItemTypes, orders?:
|
|
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) =>
|
|
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:
|
|
35
|
+
export declare const makeOrderTimes: (order: OrderKds, amPm?: boolean, warningMinutes?: number, alertMinutes?: number) => OrderTimes;
|
package/dist/esm/utils/orders.js
CHANGED
|
@@ -60,6 +60,9 @@ export var isCompleted = function (prep_status) {
|
|
|
60
60
|
var completeStates = [prepStatus.COMPLETED, prepStatus.FULFILLED];
|
|
61
61
|
return completeStates.includes(prep_status);
|
|
62
62
|
};
|
|
63
|
+
export var makeKdsOrders = function (orders) {
|
|
64
|
+
return orders.filter(function (i) { return i.expected_at && i.fire_at && i.tickets; });
|
|
65
|
+
};
|
|
63
66
|
var updateCounts = function (counts, ticketCounts) {
|
|
64
67
|
// console.log('BEFORE', counts, ticketCounts)
|
|
65
68
|
var updated = Object.entries(counts).reduce(function (obj, _a) {
|
|
@@ -71,11 +74,11 @@ var updateCounts = function (counts, ticketCounts) {
|
|
|
71
74
|
// console.log('AFTER', updated)
|
|
72
75
|
return updated;
|
|
73
76
|
};
|
|
74
|
-
export var
|
|
77
|
+
export var makeKdsCounts = function (itemTypes, orders) {
|
|
75
78
|
if (!itemTypes || !orders) {
|
|
76
79
|
return { current: null, future: null, qa: null };
|
|
77
80
|
}
|
|
78
|
-
console.time('
|
|
81
|
+
console.time('makeKdsCounts');
|
|
79
82
|
var itemTypeCounts = itemTypes
|
|
80
83
|
.filter(function (i) { return i.is_default; })
|
|
81
84
|
.reduce(function (obj, i) {
|
|
@@ -109,7 +112,7 @@ export var makeOrdersCounts = function (itemTypes, orders) {
|
|
|
109
112
|
future = updateCounts(future, ticketCounts);
|
|
110
113
|
}
|
|
111
114
|
});
|
|
112
|
-
console.timeEnd('
|
|
115
|
+
console.timeEnd('makeKdsCounts');
|
|
113
116
|
return { current: current, future: future, qa: qa };
|
|
114
117
|
};
|
|
115
118
|
export var makeOrderBuckets = function (orders, tz, prepStates) {
|
|
@@ -165,12 +168,10 @@ export var makeItemTypeSettings = function (itemType) {
|
|
|
165
168
|
};
|
|
166
169
|
};
|
|
167
170
|
export var makeItemTypesMap = function (itemTypes) {
|
|
168
|
-
return itemTypes
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}, {})
|
|
173
|
-
: null;
|
|
171
|
+
return itemTypes.reduce(function (obj, i) {
|
|
172
|
+
var _a;
|
|
173
|
+
return (__assign(__assign({}, obj), (_a = {}, _a[i.item_type_id] = i, _a)));
|
|
174
|
+
}, {});
|
|
174
175
|
};
|
|
175
176
|
export var makeCartLookup = function (cart) {
|
|
176
177
|
return cart.reduce(function (obj, i) {
|
|
@@ -190,17 +191,19 @@ export var makeTicketGroups = function (tickets, itemTypes, isAssembly, cart, mo
|
|
|
190
191
|
: modifiersMetadata
|
|
191
192
|
? makeModifiersMetadataLookup(modifiersMetadata)
|
|
192
193
|
: {};
|
|
194
|
+
var itemTypesMap = makeItemTypesMap(itemTypes);
|
|
193
195
|
var grouped = tickets.reduce(function (obj, i) {
|
|
194
196
|
var _a;
|
|
195
197
|
var items = i.item_nos.map(function (n) { return lookup[n.toString()]; });
|
|
196
|
-
var settings = makeItemTypeSettings(
|
|
198
|
+
var settings = makeItemTypeSettings(itemTypesMap[i.item_type_id]);
|
|
197
199
|
var hideTicket = isAssembly && settings.is_hidden_assembly;
|
|
198
200
|
var ticket = __assign(__assign(__assign({}, i), { items: items }), settings);
|
|
199
201
|
var group = obj[i.item_type_id.toString()] || [];
|
|
200
202
|
var newGroup = hideTicket ? group : __spreadArray(__spreadArray([], group, true), [ticket], false);
|
|
201
203
|
return __assign(__assign({}, obj), (_a = {}, _a[i.item_type_id] = newGroup, _a));
|
|
202
204
|
}, {});
|
|
203
|
-
|
|
205
|
+
var groups = Object.values(grouped);
|
|
206
|
+
return groups.filter(function (group) { return group.length; });
|
|
204
207
|
};
|
|
205
208
|
export var makeDisplayCounts = function (counts) {
|
|
206
209
|
if (!counts)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
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",
|