meemup-library 1.0.11 → 1.0.13

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.
Files changed (251) hide show
  1. package/lib/controllers/ApiController.d.ts +19 -0
  2. package/lib/controllers/ApiController.js +92 -0
  3. package/lib/controllers/DashboardController.d.ts +20 -0
  4. package/lib/controllers/DashboardController.js +150 -0
  5. package/lib/controllers/DateTimeController.d.ts +20 -0
  6. package/lib/controllers/DateTimeController.js +301 -0
  7. package/lib/controllers/LogController.d.ts +14 -0
  8. package/lib/controllers/LogController.js +99 -0
  9. package/lib/controllers/LogScreenController.d.ts +10 -0
  10. package/lib/controllers/LogScreenController.js +63 -0
  11. package/lib/controllers/MoneyController.d.ts +10 -0
  12. package/lib/controllers/MoneyController.js +40 -0
  13. package/lib/controllers/OrderScreenController.d.ts +14 -0
  14. package/lib/controllers/OrderScreenController.js +67 -0
  15. package/lib/controllers/PhoneController.d.ts +6 -0
  16. package/lib/controllers/PhoneController.js +35 -0
  17. package/lib/controllers/PrintContentController.d.ts +25 -0
  18. package/lib/controllers/PrintContentController.js +510 -0
  19. package/lib/controllers/ProductModalController.d.ts +36 -0
  20. package/lib/controllers/ProductModalController.js +440 -0
  21. package/lib/controllers/ToolController.d.ts +6 -0
  22. package/lib/controllers/ToolController.js +22 -0
  23. package/lib/controllers/ZoneController.d.ts +13 -0
  24. package/lib/controllers/ZoneController.js +22 -0
  25. package/lib/enums/EnumBasketStep.d.ts +5 -0
  26. package/lib/enums/EnumBasketStep.js +6 -0
  27. package/lib/enums/EnumCategoryAvailableIn.d.ts +7 -0
  28. package/lib/enums/EnumCategoryAvailableIn.js +8 -0
  29. package/lib/enums/EnumChannels.d.ts +9 -0
  30. package/lib/enums/EnumChannels.js +10 -0
  31. package/lib/enums/EnumDashboardSort.d.ts +7 -0
  32. package/lib/enums/EnumDashboardSort.js +8 -0
  33. package/lib/enums/EnumDiscountType.d.ts +6 -0
  34. package/lib/enums/EnumDiscountType.js +7 -0
  35. package/lib/enums/EnumFeeCalculationMode.d.ts +7 -0
  36. package/lib/enums/EnumFeeCalculationMode.js +8 -0
  37. package/lib/enums/EnumFeeType.d.ts +5 -0
  38. package/lib/enums/EnumFeeType.js +6 -0
  39. package/lib/enums/EnumGender.d.ts +6 -0
  40. package/lib/enums/EnumGender.js +7 -0
  41. package/lib/enums/EnumLogType.d.ts +7 -0
  42. package/lib/enums/EnumLogType.js +8 -0
  43. package/lib/enums/EnumNewOrderWarning.d.ts +6 -0
  44. package/lib/enums/EnumNewOrderWarning.js +7 -0
  45. package/lib/enums/EnumOpenCashDrawer.d.ts +5 -0
  46. package/lib/enums/EnumOpenCashDrawer.js +6 -0
  47. package/lib/enums/EnumOrderScreenTab.d.ts +6 -0
  48. package/lib/enums/EnumOrderScreenTab.js +7 -0
  49. package/lib/enums/EnumOrderState.d.ts +12 -0
  50. package/lib/enums/EnumOrderState.js +13 -0
  51. package/lib/enums/EnumOrderType.d.ts +6 -0
  52. package/lib/enums/EnumOrderType.js +7 -0
  53. package/lib/enums/EnumPaymentState.d.ts +6 -0
  54. package/lib/enums/EnumPaymentState.js +7 -0
  55. package/lib/enums/EnumPaymentType.d.ts +12 -0
  56. package/lib/enums/EnumPaymentType.js +13 -0
  57. package/lib/enums/EnumPizzaSide.d.ts +7 -0
  58. package/lib/enums/EnumPizzaSide.js +8 -0
  59. package/lib/enums/EnumPriceMidpointRounding.d.ts +13 -0
  60. package/lib/enums/EnumPriceMidpointRounding.js +56 -0
  61. package/lib/enums/EnumPrintCommand.d.ts +6 -0
  62. package/lib/enums/EnumPrintCommand.js +7 -0
  63. package/lib/enums/EnumProductAvailableMode.d.ts +8 -0
  64. package/lib/enums/EnumProductAvailableMode.js +9 -0
  65. package/lib/enums/EnumShowOrderMode.d.ts +6 -0
  66. package/lib/enums/EnumShowOrderMode.js +7 -0
  67. package/lib/enums/EnumSortMode.d.ts +5 -0
  68. package/lib/enums/EnumSortMode.js +6 -0
  69. package/lib/enums/EnumTipType.d.ts +6 -0
  70. package/lib/enums/EnumTipType.js +7 -0
  71. package/lib/index.d.ts +102 -0
  72. package/lib/index.js +102 -0
  73. package/lib/interfaces/IAccount.d.ts +12 -0
  74. package/lib/interfaces/IAccount.js +10 -0
  75. package/lib/interfaces/IAction.d.ts +6 -0
  76. package/lib/interfaces/IAction.js +1 -0
  77. package/lib/interfaces/IAllergicStuffs.d.ts +7 -0
  78. package/lib/interfaces/IAllergicStuffs.js +1 -0
  79. package/lib/interfaces/IAnswer.d.ts +9 -0
  80. package/lib/interfaces/IAnswer.js +7 -0
  81. package/lib/interfaces/IApiAllOrder.d.ts +7 -0
  82. package/lib/interfaces/IApiAllOrder.js +4 -0
  83. package/lib/interfaces/IApiEstimatedTimeBody.d.ts +6 -0
  84. package/lib/interfaces/IApiEstimatedTimeBody.js +1 -0
  85. package/lib/interfaces/IApiPayOnTerminalBody.d.ts +7 -0
  86. package/lib/interfaces/IApiPayOnTerminalBody.js +5 -0
  87. package/lib/interfaces/IApiShop.d.ts +32 -0
  88. package/lib/interfaces/IApiShop.js +22 -0
  89. package/lib/interfaces/ICalculateFeeResult.d.ts +6 -0
  90. package/lib/interfaces/ICalculateFeeResult.js +1 -0
  91. package/lib/interfaces/ICard.d.ts +9 -0
  92. package/lib/interfaces/ICard.js +1 -0
  93. package/lib/interfaces/ICategory.d.ts +31 -0
  94. package/lib/interfaces/ICategory.js +28 -0
  95. package/lib/interfaces/ICheckoutOption.d.ts +39 -0
  96. package/lib/interfaces/ICheckoutOption.js +36 -0
  97. package/lib/interfaces/ICompanyFee.d.ts +21 -0
  98. package/lib/interfaces/ICompanyFee.js +1 -0
  99. package/lib/interfaces/ICompanyInvoiceDetail.d.ts +14 -0
  100. package/lib/interfaces/ICompanyInvoiceDetail.js +1 -0
  101. package/lib/interfaces/IConfigTodayReport.d.ts +11 -0
  102. package/lib/interfaces/IConfigTodayReport.js +9 -0
  103. package/lib/interfaces/ICustomer.d.ts +12 -0
  104. package/lib/interfaces/ICustomer.js +15 -0
  105. package/lib/interfaces/ICustomerAddress.d.ts +17 -0
  106. package/lib/interfaces/ICustomerAddress.js +1 -0
  107. package/lib/interfaces/IDailyReportOtherData.d.ts +16 -0
  108. package/lib/interfaces/IDailyReportOtherData.js +1 -0
  109. package/lib/interfaces/IDashboardScreenState.d.ts +6 -0
  110. package/lib/interfaces/IDashboardScreenState.js +7 -0
  111. package/lib/interfaces/IExtra.d.ts +29 -0
  112. package/lib/interfaces/IExtra.js +1 -0
  113. package/lib/interfaces/IExtraItem.d.ts +18 -0
  114. package/lib/interfaces/IExtraItem.js +16 -0
  115. package/lib/interfaces/IGeneralInformation.d.ts +33 -0
  116. package/lib/interfaces/IGeneralInformation.js +43 -0
  117. package/lib/interfaces/IGeneralItems.d.ts +36 -0
  118. package/lib/interfaces/IGeneralItems.js +34 -0
  119. package/lib/interfaces/IKitchenScreenSetting.d.ts +8 -0
  120. package/lib/interfaces/IKitchenScreenSetting.js +6 -0
  121. package/lib/interfaces/ILocalSetting.d.ts +18 -0
  122. package/lib/interfaces/ILocalSetting.js +16 -0
  123. package/lib/interfaces/ILocation.d.ts +6 -0
  124. package/lib/interfaces/ILocation.js +4 -0
  125. package/lib/interfaces/ILog.d.ts +11 -0
  126. package/lib/interfaces/ILog.js +9 -0
  127. package/lib/interfaces/ILogin.d.ts +5 -0
  128. package/lib/interfaces/ILogin.js +1 -0
  129. package/lib/interfaces/IOnlineOrderItem.d.ts +33 -0
  130. package/lib/interfaces/IOnlineOrderItem.js +1 -0
  131. package/lib/interfaces/IOrderDetailOrderItem.d.ts +6 -0
  132. package/lib/interfaces/IOrderDetailOrderItem.js +1 -0
  133. package/lib/interfaces/IOrderScreenState.d.ts +11 -0
  134. package/lib/interfaces/IOrderScreenState.js +9 -0
  135. package/lib/interfaces/IOrderState.d.ts +6 -0
  136. package/lib/interfaces/IOrderState.js +1 -0
  137. package/lib/interfaces/IOrderTypeModal.d.ts +19 -0
  138. package/lib/interfaces/IOrderTypeModal.js +1 -0
  139. package/lib/interfaces/IPaymentStatusChanged.d.ts +8 -0
  140. package/lib/interfaces/IPaymentStatusChanged.js +5 -0
  141. package/lib/interfaces/IPreviuosOrder.d.ts +30 -0
  142. package/lib/interfaces/IPreviuosOrder.js +1 -0
  143. package/lib/interfaces/IPrintTemplate.d.ts +54 -0
  144. package/lib/interfaces/IPrintTemplate.js +53 -0
  145. package/lib/interfaces/IPrinterAndPrintCount.d.ts +5 -0
  146. package/lib/interfaces/IPrinterAndPrintCount.js +1 -0
  147. package/lib/interfaces/IProduct.d.ts +47 -0
  148. package/lib/interfaces/IProduct.js +1 -0
  149. package/lib/interfaces/IProductExtra.d.ts +16 -0
  150. package/lib/interfaces/IProductExtra.js +1 -0
  151. package/lib/interfaces/IProductModalState.d.ts +14 -0
  152. package/lib/interfaces/IProductModalState.js +10 -0
  153. package/lib/interfaces/ISaveOrder.d.ts +74 -0
  154. package/lib/interfaces/ISaveOrder.js +1 -0
  155. package/lib/interfaces/ISearchAddressDetail.d.ts +11 -0
  156. package/lib/interfaces/ISearchAddressDetail.js +1 -0
  157. package/lib/interfaces/ISelectedExtraItem.d.ts +7 -0
  158. package/lib/interfaces/ISelectedExtraItem.js +6 -0
  159. package/lib/interfaces/ISelectedProductExtra.d.ts +7 -0
  160. package/lib/interfaces/ISelectedProductExtra.js +4 -0
  161. package/lib/interfaces/ISetting.d.ts +31 -0
  162. package/lib/interfaces/ISetting.js +31 -0
  163. package/lib/interfaces/ISignalOrderChanged.d.ts +5 -0
  164. package/lib/interfaces/ISignalOrderChanged.js +1 -0
  165. package/lib/interfaces/ISpecificPayment.d.ts +8 -0
  166. package/lib/interfaces/ISpecificPayment.js +6 -0
  167. package/lib/interfaces/IStarMicronicPrintTask.d.ts +11 -0
  168. package/lib/interfaces/IStarMicronicPrintTask.js +1 -0
  169. package/lib/interfaces/IStarMicronicPrinter.d.ts +7 -0
  170. package/lib/interfaces/IStarMicronicPrinter.js +1 -0
  171. package/lib/interfaces/IStorageControler.d.ts +6 -0
  172. package/lib/interfaces/IStorageControler.js +1 -0
  173. package/lib/interfaces/IStore.d.ts +54 -0
  174. package/lib/interfaces/IStore.js +1 -0
  175. package/lib/interfaces/ISystem.d.ts +64 -0
  176. package/lib/interfaces/ISystem.js +58 -0
  177. package/lib/interfaces/ITask.d.ts +8 -0
  178. package/lib/interfaces/ITask.js +6 -0
  179. package/lib/interfaces/ITextValue.d.ts +5 -0
  180. package/lib/interfaces/ITextValue.js +1 -0
  181. package/lib/interfaces/ITodayOrderCount.d.ts +5 -0
  182. package/lib/interfaces/ITodayOrderCount.js +1 -0
  183. package/lib/interfaces/IUdpPacket.d.ts +7 -0
  184. package/lib/interfaces/IUdpPacket.js +5 -0
  185. package/lib/interfaces/IWebMessage.d.ts +5 -0
  186. package/lib/interfaces/IWebMessage.js +1 -0
  187. package/lib/interfaces/IWorkScreen.d.ts +10 -0
  188. package/lib/interfaces/IWorkScreen.js +7 -0
  189. package/lib/interfaces/IZone.d.ts +13 -0
  190. package/lib/interfaces/IZone.js +1 -0
  191. package/lib/interfaces/IZoneCost.d.ts +6 -0
  192. package/lib/interfaces/IZoneCost.js +1 -0
  193. package/lib/interfaces/agent/IPrintOrder.d.ts +10 -0
  194. package/lib/interfaces/agent/IPrintOrder.js +0 -0
  195. package/lib/interfaces/database/IDExtra.d.ts +14 -0
  196. package/lib/interfaces/database/IDExtra.js +1 -0
  197. package/lib/interfaces/database/IDExtraItem.d.ts +17 -0
  198. package/lib/interfaces/database/IDExtraItem.js +1 -0
  199. package/lib/interfaces/database/IDProduct.d.ts +48 -0
  200. package/lib/interfaces/database/IDProduct.js +1 -0
  201. package/lib/interfaces/database/IDProductDefaultExtra.d.ts +6 -0
  202. package/lib/interfaces/database/IDProductDefaultExtra.js +1 -0
  203. package/lib/interfaces/database/IDProductDefaultExtraItem.d.ts +7 -0
  204. package/lib/interfaces/database/IDProductDefaultExtraItem.js +1 -0
  205. package/lib/interfaces/database/IDProductExtra.d.ts +12 -0
  206. package/lib/interfaces/database/IDProductExtra.js +10 -0
  207. package/lib/interfaces/order/IOrder.d.ts +75 -0
  208. package/lib/interfaces/order/IOrder.js +82 -0
  209. package/lib/interfaces/order/IOrderExtraItem.d.ts +14 -0
  210. package/lib/interfaces/order/IOrderExtraItem.js +1 -0
  211. package/lib/interfaces/order/IOrderItem.d.ts +22 -0
  212. package/lib/interfaces/order/IOrderItem.js +1 -0
  213. package/lib/interfaces/print/IModifiedDetails.d.ts +7 -0
  214. package/lib/interfaces/print/IModifiedDetails.js +1 -0
  215. package/lib/interfaces/print/IModifiedDetailsItem.d.ts +6 -0
  216. package/lib/interfaces/print/IModifiedDetailsItem.js +1 -0
  217. package/lib/interfaces/print/IOrderDetailCustomer.d.ts +16 -0
  218. package/lib/interfaces/print/IOrderDetailCustomer.js +14 -0
  219. package/lib/interfaces/print/IOrderDetailDriver.d.ts +4 -0
  220. package/lib/interfaces/print/IOrderDetailDriver.js +1 -0
  221. package/lib/interfaces/print/IOrderDetailOrder.d.ts +50 -0
  222. package/lib/interfaces/print/IOrderDetailOrder.js +49 -0
  223. package/lib/interfaces/print/IOrderDetailPaymentInfo.d.ts +7 -0
  224. package/lib/interfaces/print/IOrderDetailPaymentInfo.js +1 -0
  225. package/lib/interfaces/print/IOrderDetailProduct.d.ts +17 -0
  226. package/lib/interfaces/print/IOrderDetailProduct.js +1 -0
  227. package/lib/interfaces/print/IOrderDetailProductsExtra.d.ts +14 -0
  228. package/lib/interfaces/print/IOrderDetailProductsExtra.js +1 -0
  229. package/lib/interfaces/print/IOrderDetails.d.ts +22 -0
  230. package/lib/interfaces/print/IOrderDetails.js +15 -0
  231. package/lib/regx/CreditCardRegx.d.ts +2 -0
  232. package/lib/regx/CreditCardRegx.js +3 -0
  233. package/lib/regx/DomainRegx.d.ts +2 -0
  234. package/lib/regx/DomainRegx.js +2 -0
  235. package/lib/regx/EmailRegx.d.ts +2 -0
  236. package/lib/regx/EmailRegx.js +2 -0
  237. package/lib/regx/MoneyRegx.d.ts +2 -0
  238. package/lib/regx/MoneyRegx.js +2 -0
  239. package/lib/regx/PhoneRegx.d.ts +2 -0
  240. package/lib/regx/PhoneRegx.js +3 -0
  241. package/lib/regx/PostalCodeRegx.d.ts +2 -0
  242. package/lib/regx/PostalCodeRegx.js +2 -0
  243. package/lib/statics.d.ts +6 -0
  244. package/lib/statics.js +8 -0
  245. package/lib/types/IOrderPayStatus.d.ts +1 -0
  246. package/lib/types/IOrderPayStatus.js +1 -0
  247. package/lib/types/TAnswer.d.ts +2 -0
  248. package/lib/types/TAnswer.js +1 -0
  249. package/lib/types/TBaseExtra.d.ts +3 -0
  250. package/lib/types/TBaseExtra.js +1 -0
  251. package/package.json +22 -24
@@ -0,0 +1,99 @@
1
+ import EnumLogType from "../enums/EnumLogType";
2
+ import DateTimeController from "./DateTimeController";
3
+ import { STORAGE_PRE_LOG_NAME } from "../statics";
4
+ export default class LogController {
5
+ constructor(pre_label, storageController, state) {
6
+ this.active = false;
7
+ this.label = "";
8
+ this.active = state;
9
+ this.label = pre_label;
10
+ this.storage = storageController;
11
+ }
12
+ console(data) {
13
+ if (this.active)
14
+ console.log(data);
15
+ }
16
+ description(title, description = null) {
17
+ if (!this.active)
18
+ return;
19
+ let log = {
20
+ partition: this.label,
21
+ title: title,
22
+ data: this.createLogDescription(description),
23
+ showDetail: false,
24
+ date: new Date(),
25
+ type: EnumLogType.description
26
+ };
27
+ this._log(log);
28
+ }
29
+ error(title, description = null) {
30
+ if (!this.active)
31
+ return;
32
+ let log = {
33
+ partition: this.label,
34
+ title: title,
35
+ data: this.createLogDescription(description),
36
+ showDetail: false,
37
+ date: new Date(),
38
+ type: EnumLogType.error
39
+ };
40
+ this._log(log);
41
+ }
42
+ info(title, description = null) {
43
+ if (!this.active)
44
+ return;
45
+ let log = {
46
+ partition: this.label,
47
+ title: title,
48
+ data: this.createLogDescription(description),
49
+ showDetail: false,
50
+ date: new Date(),
51
+ type: EnumLogType.info
52
+ };
53
+ this._log(log);
54
+ }
55
+ log(title, description = null) {
56
+ if (!this.active)
57
+ return;
58
+ let log = {
59
+ partition: this.label,
60
+ title: title,
61
+ data: this.createLogDescription(description),
62
+ showDetail: false,
63
+ date: new Date(),
64
+ type: EnumLogType.info
65
+ };
66
+ this._log(log);
67
+ }
68
+ createLogDescription(description) {
69
+ switch (typeof description) {
70
+ case "boolean":
71
+ return description ? "true" : "false";
72
+ case "bigint":
73
+ return description + "";
74
+ case "number":
75
+ return description + "";
76
+ case "object":
77
+ return JSON.stringify(description, null, 4);
78
+ case "string":
79
+ return description;
80
+ case "undefined":
81
+ return "undefined";
82
+ case "function":
83
+ return "Content is a function!";
84
+ case "symbol":
85
+ return "content is a symbol";
86
+ default:
87
+ return "";
88
+ }
89
+ }
90
+ _log(item) {
91
+ let value = this.storage.keys();
92
+ let logKeys = value.filter((i) => i.startsWith(STORAGE_PRE_LOG_NAME)).sort((a, b) => a > b ? -1 : 1);
93
+ while (logKeys.length > 100) {
94
+ this.storage.remove(logKeys[0]);
95
+ logKeys.shift();
96
+ }
97
+ this.storage.setKeyValue(`${STORAGE_PRE_LOG_NAME}${DateTimeController.dateToNumber(item.date)}`, item);
98
+ }
99
+ }
@@ -0,0 +1,10 @@
1
+ import EnumLogType from "../enums/EnumLogType";
2
+ import ILog from "../interfaces/ILog";
3
+ declare const _default: {
4
+ filterModeText(mode: EnumLogType): string;
5
+ getIcon(type: EnumLogType): "info" | "warning" | "assignment" | undefined;
6
+ getIconColor(type: EnumLogType): "info.300" | "danger.500" | "light.500" | "text.500";
7
+ filter(logs: ILog[], filterMode: EnumLogType): ILog[];
8
+ count(logs: ILog[], filterMode: EnumLogType): number;
9
+ };
10
+ export default _default;
@@ -0,0 +1,63 @@
1
+ import EnumLogType from "../enums/EnumLogType";
2
+ export default new class LogScreenController {
3
+ filterModeText(mode) {
4
+ switch (mode) {
5
+ case EnumLogType.all:
6
+ return "Logs";
7
+ case EnumLogType.description:
8
+ return "Description";
9
+ case EnumLogType.error:
10
+ return "Error";
11
+ case EnumLogType.info:
12
+ return "Information";
13
+ default:
14
+ return "";
15
+ }
16
+ }
17
+ getIcon(type) {
18
+ switch (type) {
19
+ case EnumLogType.info:
20
+ return "info";
21
+ case EnumLogType.error:
22
+ return "warning";
23
+ case EnumLogType.description:
24
+ return "assignment";
25
+ default:
26
+ return undefined;
27
+ }
28
+ }
29
+ getIconColor(type) {
30
+ switch (type) {
31
+ case EnumLogType.info:
32
+ return "info.300";
33
+ case EnumLogType.error:
34
+ return "danger.500";
35
+ case EnumLogType.description:
36
+ return "light.500";
37
+ default:
38
+ return "text.500";
39
+ }
40
+ }
41
+ // getDataBgColor(type: EnumLogType) {
42
+ // switch (type) {
43
+ // case EnumLogType.info:
44
+ // return "lightBlue.100";
45
+ // case EnumLogType.error:
46
+ // return "red.100";
47
+ // case EnumLogType.description:
48
+ // return "light.100";
49
+ // default:
50
+ // return ThemeConfigs.isDark ? "light.700" : "light.300";
51
+ // }
52
+ // }
53
+ filter(logs, filterMode) {
54
+ if (filterMode === EnumLogType.all)
55
+ return logs;
56
+ return logs.filter(i => i.type === filterMode);
57
+ }
58
+ count(logs, filterMode) {
59
+ if (filterMode === EnumLogType.all)
60
+ return logs.length;
61
+ return logs.filter(i => i.type === filterMode).length;
62
+ }
63
+ }();
@@ -0,0 +1,10 @@
1
+ declare class MoneyController {
2
+ private dollarUSLocale;
3
+ constructor();
4
+ round: (money: number | string) => number;
5
+ format(money: number | string, currency?: string, preText?: string): string;
6
+ sum(values: Array<number>): number;
7
+ sumAndFormat(values: number[], currency?: string, preText?: string): string;
8
+ }
9
+ declare const _default: MoneyController;
10
+ export default _default;
@@ -0,0 +1,40 @@
1
+ class MoneyController {
2
+ constructor() {
3
+ this.dollarUSLocale = null;
4
+ this.round = (money) => {
5
+ try {
6
+ let decimalPlaces = 2;
7
+ // let parts = (money + "").split(".");
8
+ // if (parts.length === 2 && parts[1].length === 2) {
9
+ // decimalPlaces = 1;
10
+ // }
11
+ let num = +(money + "");
12
+ let d = decimalPlaces || 0;
13
+ let m = Math.pow(10, d);
14
+ let n = +(d ? num * m : num).toFixed(8); // Avoid rounding errors
15
+ let i = Math.floor(n), f = n - i;
16
+ let e = 1e-8; // Allow for rounding errors in f
17
+ let r = (f > 0.5 - e && f < 0.5 + e) ?
18
+ ((i % 2 == 0) ? i : i + 1) : Math.round(n);
19
+ return d ? r / m : r;
20
+ }
21
+ catch (e) {
22
+ return +(money + "");
23
+ }
24
+ };
25
+ this.dollarUSLocale = Intl.NumberFormat("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
26
+ }
27
+ format(money, currency = "$", preText = "") {
28
+ return `${preText}${currency}${this.dollarUSLocale.format(money)}`;
29
+ }
30
+ sum(values) {
31
+ let sum = 0;
32
+ values.forEach(value => sum += value);
33
+ return sum;
34
+ }
35
+ sumAndFormat(values, currency = "$", preText = "") {
36
+ return this.format(this.sum(values), currency, preText);
37
+ }
38
+ }
39
+ ;
40
+ export default new MoneyController();
@@ -0,0 +1,14 @@
1
+ import IOrderScreenState from "../interfaces/IOrderScreenState";
2
+ import EnumOrderType from "../enums/EnumOrderType";
3
+ import IOrderItem from "../interfaces/order/IOrderItem";
4
+ import IDProduct from "../interfaces/database/IDProduct";
5
+ import ICategory from "../interfaces/ICategory";
6
+ declare const _default: {
7
+ checkDayWeek: (index: number, weekDays: number) => boolean;
8
+ fetchCategories(categories: ICategory[]): ICategory[];
9
+ fetchProducts(arg: IOrderScreenState, products: IDProduct[], categories: ICategory[]): IDProduct[];
10
+ searchProduct(products: IDProduct[], word: string): IDProduct[];
11
+ productPrice(product: IDProduct, orderType: EnumOrderType): number;
12
+ productCountInOrder(product: IDProduct, items: IOrderItem[]): number;
13
+ };
14
+ export default _default;
@@ -0,0 +1,67 @@
1
+ import EnumOrderType from "../enums/EnumOrderType";
2
+ import EnumCategoryAvailableIn from "../enums/EnumCategoryAvailableIn";
3
+ export default new class OrderScreenController {
4
+ constructor() {
5
+ this.checkDayWeek = (index, weekDays) => {
6
+ let val = 0;
7
+ while (val < weekDays)
8
+ val += 1;
9
+ const arr = [64, 32, 16, 8, 4, 2, 1];
10
+ for (let i = 0; i < arr.length; i++)
11
+ if (val >= arr[i] && arr[i] === Math.pow(2, index))
12
+ return true;
13
+ else
14
+ val -= arr[i];
15
+ return false;
16
+ };
17
+ }
18
+ fetchCategories(categories) {
19
+ let list = categories.filter(i => i.availableIn === EnumCategoryAvailableIn.EVERY_WHERE || i.availableIn === EnumCategoryAvailableIn.POS_ONLY);
20
+ list = list.filter(i => {
21
+ if (!i.informationTransmitter)
22
+ return true;
23
+ if (i.products.length === 0)
24
+ return false;
25
+ const { showToTime, showFromTime, showFromDate, showToDate, onlyOnWeekDays } = i;
26
+ let date = new Date().toISOString().split("T")[0];
27
+ let time = new Date().toISOString().split("T")[1];
28
+ let dateIsOk = (showFromDate !== null && showToDate !== null) ? date >= showFromDate && date <= showToDate : true;
29
+ let timeIsOk = (showFromTime !== null && showToTime !== null) ? time >= showFromTime && time <= showToTime : true;
30
+ let dayOfWeekIsOk = (onlyOnWeekDays === null || onlyOnWeekDays === undefined) ? true : this.checkDayWeek(new Date().getDay(), onlyOnWeekDays);
31
+ return dateIsOk && timeIsOk && dayOfWeekIsOk;
32
+ });
33
+ return list;
34
+ }
35
+ fetchProducts(arg, products, categories) {
36
+ var _a;
37
+ let productIdList = (_a = categories.find(i => i.id === arg.category)) === null || _a === void 0 ? void 0 : _a.products;
38
+ if (productIdList === undefined) {
39
+ return this.searchProduct(products, arg.word.toLowerCase());
40
+ }
41
+ else {
42
+ productIdList = [...productIdList];
43
+ return this.searchProduct(products.filter(i => productIdList === null || productIdList === void 0 ? void 0 : productIdList.includes(i.id)), arg.word.toLowerCase());
44
+ }
45
+ }
46
+ searchProduct(products, word) {
47
+ if (word.trim().length === 0)
48
+ return products;
49
+ return [...products].filter(i => i.posName.toLowerCase().search(word) !== -1 || i.name.toLowerCase().search(word) !== -1);
50
+ }
51
+ productPrice(product, orderType) {
52
+ switch (orderType) {
53
+ case EnumOrderType.delivery:
54
+ return product.deliveryPrice;
55
+ case EnumOrderType.pickup:
56
+ return product.pickupPrice;
57
+ default:
58
+ return product.diningPrice;
59
+ }
60
+ }
61
+ productCountInOrder(product, items) {
62
+ let quantities = items.filter(i => i.productId === product.id).map(i => +i.quantity);
63
+ if (quantities.length === 0)
64
+ return 0;
65
+ return quantities.reduce((previousValue, currentValue) => previousValue + currentValue);
66
+ }
67
+ }();
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ unFormatPhoneNumber(phone?: string | null): string;
3
+ formatPhoneNumber(phone?: string): string;
4
+ formatAccordingToLength(phone?: string): string;
5
+ };
6
+ export default _default;
@@ -0,0 +1,35 @@
1
+ export default new class {
2
+ unFormatPhoneNumber(phone = "(000) 000-0000") {
3
+ if (!phone)
4
+ return "";
5
+ phone = phone.replace(/\(/g, "");
6
+ phone = phone.replace(/\)/g, "");
7
+ phone = phone.replace(/-/g, "");
8
+ phone = phone.replace(/ /g, "");
9
+ phone = phone.replace(/\+/g, "");
10
+ return phone;
11
+ }
12
+ formatPhoneNumber(phone = "0000000000") {
13
+ let unFormat = this.unFormatPhoneNumber(phone);
14
+ const len = unFormat.length;
15
+ if (len < 10)
16
+ return unFormat;
17
+ let p1 = unFormat.slice(len - 10, len - 7);
18
+ let p2 = unFormat.slice(len - 7, len - 4);
19
+ let p3 = unFormat.slice(len - 4, len);
20
+ return `(${p1}) ${p2}-${p3}`;
21
+ }
22
+ formatAccordingToLength(phone = "0000000000") {
23
+ let unFormat = this.unFormatPhoneNumber(phone);
24
+ if (unFormat.length < 4)
25
+ return `(${unFormat}`;
26
+ else if (unFormat.length < 7)
27
+ return `(${unFormat.substring(0, 3)}) ${unFormat.substring(3, 6)}`;
28
+ else
29
+ return `(${unFormat.substring(0, 3)}) ${unFormat.substring(3, 6)}-${unFormat.substring(6)}`;
30
+ // let p1 = unFormat.slice(len - 10, len - 7);
31
+ // let p2 = unFormat.slice(len - 7, len - 4);
32
+ // let p3 = unFormat.slice(len - 4, len);
33
+ // return `(${p1}) ${p2}-${p3}`;
34
+ }
35
+ }();
@@ -0,0 +1,25 @@
1
+ import IAccount from "../interfaces/IAccount";
2
+ import IPrintTemplate from "../interfaces/IPrintTemplate";
3
+ import IOrderDetails from "../interfaces/print/IOrderDetails";
4
+ import IOrderDetailCustomer from "../interfaces/print/IOrderDetailCustomer";
5
+ import IOrderDetailProduct from "../interfaces/print/IOrderDetailProduct";
6
+ declare const _default: {
7
+ createAddressText: (customer: IOrderDetailCustomer) => null | [string, string];
8
+ ccyFormat: (num: number, pre?: string) => string;
9
+ calculatePaperSize: (paper: number, width: string | number) => string;
10
+ sortProduct: (products: IOrderDetailProduct[], sortType: number) => IOrderDetailProduct[];
11
+ filterByCategoryList: (products: IOrderDetailProduct[], catList: number[], onlyListCategory: boolean, productList: number[], onlyListProduct: boolean) => IOrderDetailProduct[];
12
+ sum(values: number[]): number;
13
+ convertTimeStringToDateByT(data?: Date | string | null): Date | string | null;
14
+ formatAMPMDate(date: Date | string | null): string;
15
+ formatDateTime(dateTime: string, mode?: string): string;
16
+ weekDayName(date: Date | string): string;
17
+ formatDate(date: Date | string): string | null;
18
+ substring(value: string | null, start: number, end: number): string;
19
+ defaultLayout(account: IAccount, detail: IOrderDetails, template: IPrintTemplate, symbol?: string): string;
20
+ labelLayout(detail: IOrderDetails, template: IPrintTemplate): string;
21
+ paymentFailed(detail: IOrderDetails, currency: string): string;
22
+ packageLabel(detail: IOrderDetails): string;
23
+ preview(account: IAccount, detail: IOrderDetails, template: IPrintTemplate, symbol?: string): string;
24
+ };
25
+ export default _default;