@os1-platform/dispatch-mobile 2.1.2 → 2.1.3

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 (619) hide show
  1. package/dispatch-mobile.podspec +35 -0
  2. package/ios/DispatchSdk-Bridging-Header.h +3 -0
  3. package/ios/DispatchSdk.m +9 -0
  4. package/ios/DispatchSdk.swift +8 -0
  5. package/ios/DispatchSdk.xcodeproj/project.pbxproj +317 -0
  6. package/ios/EventEmitter.swift +21 -0
  7. package/ios/EventsConstant.swift +13 -0
  8. package/ios/RNEventEmitter.m +15 -0
  9. package/ios/RNEventEmitter.swift +24 -0
  10. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js +3 -4
  11. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
  12. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +13 -8
  13. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
  14. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +3 -4
  15. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
  16. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +3 -4
  17. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
  18. package/lib/commonjs/components/executiontasks/deliver/DeliverETInput.js.map +1 -1
  19. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +112 -27
  20. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  21. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +7 -8
  22. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
  23. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +113 -48
  24. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
  25. package/lib/commonjs/components/executiontasks/doodle/SignatureSchema.js.map +1 -1
  26. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +3 -4
  27. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  28. package/lib/commonjs/components/executiontasks/dropCash/DropCashSchema.js.map +1 -1
  29. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +7 -8
  30. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  31. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +6 -7
  32. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  33. package/lib/commonjs/components/executiontasks/forms/FormSchema.js.map +1 -1
  34. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +4 -5
  35. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  36. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js +3 -4
  37. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js.map +1 -1
  38. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +3 -4
  39. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  40. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js +3 -4
  41. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js.map +1 -1
  42. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js +3 -4
  43. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js.map +1 -1
  44. package/lib/commonjs/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
  45. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +138 -25
  46. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  47. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +228 -132
  48. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  49. package/lib/commonjs/components/executiontasks/imageCapture/camera.svg +3 -0
  50. package/lib/commonjs/components/executiontasks/imageCapture/circle-xmark.svg +5 -0
  51. package/lib/commonjs/components/executiontasks/payments/PaymentStyles.js +6 -7
  52. package/lib/commonjs/components/executiontasks/payments/PaymentStyles.js.map +1 -1
  53. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +6 -7
  54. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  55. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentSchema.js.map +1 -1
  56. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +4 -5
  57. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  58. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentSchema.js.map +1 -1
  59. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +4 -5
  60. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  61. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentSchema.js.map +1 -1
  62. package/lib/commonjs/components/executiontasks/pickup/PickpSchema.js.map +1 -1
  63. package/lib/commonjs/components/executiontasks/pickup/PickupET.js +3 -4
  64. package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
  65. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +89 -17
  66. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  67. package/lib/commonjs/components/executiontasks/scan/ScanET.js +14 -15
  68. package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
  69. package/lib/commonjs/components/executiontasks/scan/ScanSchema.js +1 -2
  70. package/lib/commonjs/components/executiontasks/scan/ScanSchema.js.map +1 -1
  71. package/lib/commonjs/components/executiontasks/scan/constants.js +6 -12
  72. package/lib/commonjs/components/executiontasks/scan/constants.js.map +1 -1
  73. package/lib/commonjs/components/executiontasks/scan/interfaces.js +4 -8
  74. package/lib/commonjs/components/executiontasks/scan/interfaces.js.map +1 -1
  75. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js +4 -5
  76. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  77. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js +5 -6
  78. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  79. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +8 -9
  80. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  81. package/lib/commonjs/components/executiontasks/scan/utils.js +2 -2
  82. package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
  83. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +8 -9
  84. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  85. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +1 -2
  86. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
  87. package/lib/commonjs/components/executiontasks/validateOTP/constants.js +6 -12
  88. package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
  89. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +5 -6
  90. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  91. package/lib/commonjs/components/executiontasks/validateOTP/utils.js +2 -2
  92. package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
  93. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js +2 -2
  94. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js.map +1 -1
  95. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js +3 -4
  96. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js.map +1 -1
  97. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +3 -4
  98. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
  99. package/lib/commonjs/components/widgets/AlertDisplay.js +14 -9
  100. package/lib/commonjs/components/widgets/AlertDisplay.js.map +1 -1
  101. package/lib/commonjs/components/widgets/CancelOrderDialog.js +5 -6
  102. package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
  103. package/lib/commonjs/components/widgets/Card.js +2 -3
  104. package/lib/commonjs/components/widgets/Card.js.map +1 -1
  105. package/lib/commonjs/components/widgets/GoBackModal.js +1 -2
  106. package/lib/commonjs/components/widgets/GoBackModal.js.map +1 -1
  107. package/lib/commonjs/components/widgets/IconButton.js +1 -2
  108. package/lib/commonjs/components/widgets/IconButton.js.map +1 -1
  109. package/lib/commonjs/components/widgets/ModalWidget.js +3 -4
  110. package/lib/commonjs/components/widgets/ModalWidget.js.map +1 -1
  111. package/lib/commonjs/components/widgets/ProgressDialog.js +2 -3
  112. package/lib/commonjs/components/widgets/ProgressDialog.js.map +1 -1
  113. package/lib/commonjs/components/widgets/SearchBar.js +1 -2
  114. package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
  115. package/lib/commonjs/components/widgets/SnackBarCustom.js +3 -5
  116. package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
  117. package/lib/commonjs/components/widgets/SplitTextInput.js +3 -4
  118. package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
  119. package/lib/commonjs/components/widgets/TabsComponent.js +3 -4
  120. package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
  121. package/lib/commonjs/config/DispatchSDKConfig.js +1 -2
  122. package/lib/commonjs/config/DispatchSDKConfig.js.map +1 -1
  123. package/lib/commonjs/constants/apiConstants.js +2 -4
  124. package/lib/commonjs/constants/apiConstants.js.map +1 -1
  125. package/lib/commonjs/constants/constants.js +11 -22
  126. package/lib/commonjs/constants/constants.js.map +1 -1
  127. package/lib/commonjs/constants/statuscode.js +1 -2
  128. package/lib/commonjs/constants/statuscode.js.map +1 -1
  129. package/lib/commonjs/errors/ErrorCodes.js +7 -14
  130. package/lib/commonjs/errors/ErrorCodes.js.map +1 -1
  131. package/lib/commonjs/events/EventDispatcher.js +5 -3
  132. package/lib/commonjs/events/EventDispatcher.js.map +1 -1
  133. package/lib/commonjs/events/EventListener.js +1 -2
  134. package/lib/commonjs/events/EventListener.js.map +1 -1
  135. package/lib/commonjs/events/constants.js +1 -2
  136. package/lib/commonjs/events/constants.js.map +1 -1
  137. package/lib/commonjs/events/index.js +1 -2
  138. package/lib/commonjs/events/index.js.map +1 -1
  139. package/lib/commonjs/icons/ScanIcon.js +1 -2
  140. package/lib/commonjs/icons/ScanIcon.js.map +1 -1
  141. package/lib/commonjs/icons/circleMark.svg +3 -0
  142. package/lib/commonjs/icons/file.js +1 -2
  143. package/lib/commonjs/icons/file.js.map +1 -1
  144. package/lib/commonjs/index.js +15 -2
  145. package/lib/commonjs/index.js.map +1 -1
  146. package/lib/commonjs/locale/Str.js +21 -0
  147. package/lib/commonjs/locale/Str.js.map +1 -0
  148. package/lib/commonjs/locale/en.json +7 -0
  149. package/lib/commonjs/locale/i18n.js +32 -0
  150. package/lib/commonjs/locale/i18n.js.map +1 -0
  151. package/lib/commonjs/locale/util.js +27 -0
  152. package/lib/commonjs/locale/util.js.map +1 -0
  153. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +5 -3
  154. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  155. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js +2 -0
  156. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  157. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js +4 -2
  158. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  159. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +4 -2
  160. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  161. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js +4 -2
  162. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  163. package/lib/commonjs/manager/location/LocationManager.js +7 -4
  164. package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
  165. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +4 -2
  166. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  167. package/lib/commonjs/manager/sdk/DispatchSdkCache.js +2 -0
  168. package/lib/commonjs/manager/sdk/DispatchSdkCache.js.map +1 -1
  169. package/lib/commonjs/manager/sdk/callbacksHandler.js +1 -2
  170. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  171. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +4 -2
  172. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  173. package/lib/commonjs/manager/syncmanager/DBConfig.js +15 -26
  174. package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
  175. package/lib/commonjs/manager/syncmanager/NativeSyncManager.js +1 -2
  176. package/lib/commonjs/manager/syncmanager/NativeSyncManager.js.map +1 -1
  177. package/lib/commonjs/manager/syncmanager/constants.js +5 -10
  178. package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
  179. package/lib/commonjs/manager/syncmanager/database.js +2 -2
  180. package/lib/commonjs/manager/syncmanager/database.js.map +1 -1
  181. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +5 -4
  182. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  183. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +4 -2
  184. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  185. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +4 -2
  186. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  187. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +15 -3
  188. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  189. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +4 -2
  190. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  191. package/lib/commonjs/models/DispatchModels.js +1 -2
  192. package/lib/commonjs/models/DispatchModels.js.map +1 -1
  193. package/lib/commonjs/models/execTasks/ETConfig.js +6 -12
  194. package/lib/commonjs/models/execTasks/ETConfig.js.map +1 -1
  195. package/lib/commonjs/models/fcm.js.map +1 -1
  196. package/lib/commonjs/models/sdk.js +1 -2
  197. package/lib/commonjs/models/sdk.js.map +1 -1
  198. package/lib/commonjs/native/signature/SignatureCapture.js +1 -2
  199. package/lib/commonjs/native/signature/SignatureCapture.js.map +1 -1
  200. package/lib/commonjs/network/GraphQLClient.js +48 -4
  201. package/lib/commonjs/network/GraphQLClient.js.map +1 -1
  202. package/lib/commonjs/network/Queries.js +5 -10
  203. package/lib/commonjs/network/Queries.js.map +1 -1
  204. package/lib/commonjs/res/strings.js +1 -2
  205. package/lib/commonjs/res/strings.js.map +1 -1
  206. package/lib/commonjs/resources/Login.js +1 -2
  207. package/lib/commonjs/resources/Login.js.map +1 -1
  208. package/lib/commonjs/resources/network.js +1 -2
  209. package/lib/commonjs/resources/network.js.map +1 -1
  210. package/lib/commonjs/styles/SdkColors.js +2 -4
  211. package/lib/commonjs/styles/SdkColors.js.map +1 -1
  212. package/lib/commonjs/styles/executionTasks/CommonStyles.js +8 -11
  213. package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
  214. package/lib/commonjs/ui/screens/CancellationScreen.js +3 -4
  215. package/lib/commonjs/ui/screens/CancellationScreen.js.map +1 -1
  216. package/lib/commonjs/ui/screens/CaptureInputScreen.js +5 -5
  217. package/lib/commonjs/ui/screens/CaptureInputScreen.js.map +1 -1
  218. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -4
  219. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  220. package/lib/commonjs/ui/screens/DeliverScreen.js +36 -10
  221. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  222. package/lib/commonjs/ui/screens/DisplayScreen.js +3 -4
  223. package/lib/commonjs/ui/screens/DisplayScreen.js.map +1 -1
  224. package/lib/commonjs/ui/screens/DoodleScreen.js +27 -6
  225. package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
  226. package/lib/commonjs/ui/screens/DropCashScreen.js +29 -10
  227. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  228. package/lib/commonjs/ui/screens/FormsScreen.js +25 -5
  229. package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
  230. package/lib/commonjs/ui/screens/GeofenceScreen.js +3 -4
  231. package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
  232. package/lib/commonjs/ui/screens/HttpRequestScreen.js +1 -2
  233. package/lib/commonjs/ui/screens/HttpRequestScreen.js.map +1 -1
  234. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +27 -9
  235. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  236. package/lib/commonjs/ui/screens/PaymentScreen.js +31 -10
  237. package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
  238. package/lib/commonjs/ui/screens/PickupScreen.js +38 -10
  239. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  240. package/lib/commonjs/ui/screens/ScanScreen.js +3 -4
  241. package/lib/commonjs/ui/screens/ScanScreen.js.map +1 -1
  242. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +8 -7
  243. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  244. package/lib/commonjs/ui/screens/ValidateOTPScreen.js +3 -4
  245. package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
  246. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js +4 -4
  247. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  248. package/lib/commonjs/ui/uiConfig/RouteParams.js +1 -2
  249. package/lib/commonjs/ui/uiConfig/RouteParams.js.map +1 -1
  250. package/lib/commonjs/utils/ApiUtils.js +2 -4
  251. package/lib/commonjs/utils/ApiUtils.js.map +1 -1
  252. package/lib/commonjs/utils/Logger.js +10 -9
  253. package/lib/commonjs/utils/Logger.js.map +1 -1
  254. package/lib/commonjs/utils/NetworkUtil.js +1 -2
  255. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  256. package/lib/commonjs/utils/SdkUtils.js +12 -8
  257. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  258. package/lib/commonjs/utils/SyncManagerUtils.js +2 -2
  259. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  260. package/lib/commonjs/utils/fcm/FCM.js +3 -4
  261. package/lib/commonjs/utils/fcm/FCM.js.map +1 -1
  262. package/lib/commonjs/utils/fcm/FcmUtils.js +14 -2
  263. package/lib/commonjs/utils/fcm/FcmUtils.js.map +1 -1
  264. package/lib/commonjs/utils/helper.js +46 -4
  265. package/lib/commonjs/utils/helper.js.map +1 -1
  266. package/lib/commonjs/utils/hooks/useModal.js +3 -4
  267. package/lib/commonjs/utils/hooks/useModal.js.map +1 -1
  268. package/lib/commonjs/utils/hooks/useTimer.js +1 -2
  269. package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
  270. package/lib/commonjs/utils/loginHelper.js +1 -2
  271. package/lib/commonjs/utils/loginHelper.js.map +1 -1
  272. package/lib/commonjs/utils/storage.js +71 -13
  273. package/lib/commonjs/utils/storage.js.map +1 -1
  274. package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
  275. package/lib/module/components/executiontasks/cancellation/CancelET.js +11 -5
  276. package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
  277. package/lib/module/components/executiontasks/deliver/DeliverETInput.js.map +1 -1
  278. package/lib/module/components/executiontasks/deliver/SLDeliverET.js +112 -25
  279. package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  280. package/lib/module/components/executiontasks/display/DisplayModalET.js +5 -5
  281. package/lib/module/components/executiontasks/display/DisplayModalET.js.map +1 -1
  282. package/lib/module/components/executiontasks/doodle/SignatureET.js +111 -45
  283. package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
  284. package/lib/module/components/executiontasks/doodle/SignatureSchema.js.map +1 -1
  285. package/lib/module/components/executiontasks/dropCash/DropCashSchema.js.map +1 -1
  286. package/lib/module/components/executiontasks/dropCash/SLDropCash.js +5 -5
  287. package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  288. package/lib/module/components/executiontasks/forms/FormGenerator.js +4 -4
  289. package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
  290. package/lib/module/components/executiontasks/forms/FormSchema.js.map +1 -1
  291. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js +1 -1
  292. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  293. package/lib/module/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
  294. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +133 -21
  295. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  296. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +226 -130
  297. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  298. package/lib/module/components/executiontasks/imageCapture/camera.svg +3 -0
  299. package/lib/module/components/executiontasks/imageCapture/circle-xmark.svg +5 -0
  300. package/lib/module/components/executiontasks/payments/PaymentStyles.js +6 -6
  301. package/lib/module/components/executiontasks/payments/PaymentStyles.js.map +1 -1
  302. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js +4 -4
  303. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  304. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentSchema.js.map +1 -1
  305. package/lib/module/components/executiontasks/payments/init/InitPaymentET.js +1 -1
  306. package/lib/module/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  307. package/lib/module/components/executiontasks/payments/init/InitPaymentSchema.js.map +1 -1
  308. package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js +1 -1
  309. package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  310. package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentSchema.js.map +1 -1
  311. package/lib/module/components/executiontasks/pickup/PickpSchema.js.map +1 -1
  312. package/lib/module/components/executiontasks/pickup/SLPickupET.js +89 -16
  313. package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  314. package/lib/module/components/executiontasks/scan/ScanET.js +12 -12
  315. package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
  316. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js +2 -2
  317. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  318. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js +3 -3
  319. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  320. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +6 -6
  321. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  322. package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
  323. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +6 -6
  324. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  325. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +3 -3
  326. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  327. package/lib/module/components/widgets/AlertDisplay.js +12 -7
  328. package/lib/module/components/widgets/AlertDisplay.js.map +1 -1
  329. package/lib/module/components/widgets/CancelOrderDialog.js +3 -3
  330. package/lib/module/components/widgets/CancelOrderDialog.js.map +1 -1
  331. package/lib/module/components/widgets/Card.js +1 -1
  332. package/lib/module/components/widgets/Card.js.map +1 -1
  333. package/lib/module/components/widgets/ModalWidget.js +3 -3
  334. package/lib/module/components/widgets/ModalWidget.js.map +1 -1
  335. package/lib/module/components/widgets/ProgressDialog.js +2 -2
  336. package/lib/module/components/widgets/ProgressDialog.js.map +1 -1
  337. package/lib/module/components/widgets/SnackBarCustom.js +2 -2
  338. package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
  339. package/lib/module/constants/constants.js +1 -1
  340. package/lib/module/constants/constants.js.map +1 -1
  341. package/lib/module/events/EventDispatcher.js +5 -2
  342. package/lib/module/events/EventDispatcher.js.map +1 -1
  343. package/lib/module/icons/circleMark.svg +3 -0
  344. package/lib/module/index.js +4 -2
  345. package/lib/module/index.js.map +1 -1
  346. package/lib/module/locale/Str.js +15 -0
  347. package/lib/module/locale/Str.js.map +1 -0
  348. package/lib/module/locale/en.json +7 -0
  349. package/lib/module/locale/i18n.js +25 -0
  350. package/lib/module/locale/i18n.js.map +1 -0
  351. package/lib/module/locale/util.js +18 -0
  352. package/lib/module/locale/util.js.map +1 -0
  353. package/lib/module/manager/dispatch/DispatchStateContainer.js +3 -1
  354. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  355. package/lib/module/manager/dispatchCodes/EventCodeContainer.js +2 -0
  356. package/lib/module/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  357. package/lib/module/manager/dispatchCodes/EventCodeRepo.js +2 -0
  358. package/lib/module/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  359. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +2 -0
  360. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  361. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js +2 -0
  362. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  363. package/lib/module/manager/location/LocationManager.js +2 -0
  364. package/lib/module/manager/location/LocationManager.js.map +1 -1
  365. package/lib/module/manager/sdk/DispatchSDKManager.js +2 -0
  366. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  367. package/lib/module/manager/sdk/DispatchSdkCache.js +2 -0
  368. package/lib/module/manager/sdk/DispatchSdkCache.js.map +1 -1
  369. package/lib/module/manager/syncmanager/AppSyncManager.js +2 -0
  370. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  371. package/lib/module/manager/syncmanager/DBConfig.js +1 -0
  372. package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
  373. package/lib/module/manager/syncmanager/document/DocumentManager.js +2 -0
  374. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  375. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +2 -0
  376. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  377. package/lib/module/manager/syncmanager/events/ETEventsManager.js +13 -1
  378. package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  379. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +2 -0
  380. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  381. package/lib/module/models/fcm.js.map +1 -1
  382. package/lib/module/network/GraphQLClient.js +48 -3
  383. package/lib/module/network/GraphQLClient.js.map +1 -1
  384. package/lib/module/styles/executionTasks/CommonStyles.js +2 -1
  385. package/lib/module/styles/executionTasks/CommonStyles.js.map +1 -1
  386. package/lib/module/ui/screens/CaptureInputScreen.js +2 -1
  387. package/lib/module/ui/screens/CaptureInputScreen.js.map +1 -1
  388. package/lib/module/ui/screens/DeliverScreen.js +33 -6
  389. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  390. package/lib/module/ui/screens/DoodleScreen.js +24 -2
  391. package/lib/module/ui/screens/DoodleScreen.js.map +1 -1
  392. package/lib/module/ui/screens/DropCashScreen.js +26 -6
  393. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  394. package/lib/module/ui/screens/FormsScreen.js +22 -1
  395. package/lib/module/ui/screens/FormsScreen.js.map +1 -1
  396. package/lib/module/ui/screens/ImageCaptureScreen.js +24 -5
  397. package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
  398. package/lib/module/ui/screens/PaymentScreen.js +28 -6
  399. package/lib/module/ui/screens/PaymentScreen.js.map +1 -1
  400. package/lib/module/ui/screens/PickupScreen.js +35 -6
  401. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  402. package/lib/module/ui/screens/StartWorkFlowScreen.js +6 -4
  403. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  404. package/lib/module/ui/screens/WithBaseDispatchScreen.js +1 -0
  405. package/lib/module/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  406. package/lib/module/utils/Logger.js +2 -0
  407. package/lib/module/utils/Logger.js.map +1 -1
  408. package/lib/module/utils/SdkUtils.js +11 -7
  409. package/lib/module/utils/SdkUtils.js.map +1 -1
  410. package/lib/module/utils/fcm/FcmUtils.js +11 -0
  411. package/lib/module/utils/fcm/FcmUtils.js.map +1 -1
  412. package/lib/module/utils/helper.js +46 -4
  413. package/lib/module/utils/helper.js.map +1 -1
  414. package/lib/module/utils/storage.js +69 -10
  415. package/lib/module/utils/storage.js.map +1 -1
  416. package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +5 -0
  417. package/lib/typescript/components/executiontasks/doodle/SignatureSchema.d.ts +1 -0
  418. package/lib/typescript/components/executiontasks/dropCash/DropCashSchema.d.ts +1 -0
  419. package/lib/typescript/components/executiontasks/forms/FormSchema.d.ts +1 -0
  420. package/lib/typescript/components/executiontasks/imageCapture/CaptureSchema.d.ts +1 -0
  421. package/lib/typescript/components/executiontasks/imageCapture/CaptureUtils.d.ts +6 -1
  422. package/lib/typescript/components/executiontasks/imageCapture/ImageCapture.d.ts +1 -2
  423. package/lib/typescript/components/executiontasks/payments/PaymentStyles.d.ts +4 -5
  424. package/lib/typescript/components/executiontasks/payments/completePayment/CompletePaymentSchema.d.ts +1 -0
  425. package/lib/typescript/components/executiontasks/payments/init/InitPaymentSchema.d.ts +1 -0
  426. package/lib/typescript/components/executiontasks/payments/processPayment/ProcessPaymentSchema.d.ts +1 -0
  427. package/lib/typescript/components/executiontasks/pickup/PickpSchema.d.ts +2 -0
  428. package/lib/typescript/components/widgets/SnackBarCustom.d.ts +1 -1
  429. package/lib/typescript/constants/constants.d.ts +1 -1
  430. package/lib/typescript/index.d.ts +4 -2
  431. package/lib/typescript/locale/Str.d.ts +13 -0
  432. package/lib/typescript/locale/i18n.d.ts +3 -0
  433. package/lib/typescript/locale/util.d.ts +2 -0
  434. package/lib/typescript/manager/syncmanager/DBConfig.d.ts +2 -1
  435. package/lib/typescript/models/fcm.d.ts +3 -0
  436. package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +1 -0
  437. package/lib/typescript/utils/fcm/FcmUtils.d.ts +2 -1
  438. package/lib/typescript/utils/helper.d.ts +4 -3
  439. package/lib/typescript/utils/storage.d.ts +3 -2
  440. package/package.json +22 -7
  441. package/src/@types/assets/index.d.ts +6 -0
  442. package/src/components/dispatch/DispatchExecNavigator.tsx +273 -0
  443. package/src/components/executiontasks/CompletedWFSchema.ts +24 -0
  444. package/src/components/executiontasks/ExecutionTasksIndex.ts +137 -0
  445. package/src/components/executiontasks/cancellation/CancelET.tsx +281 -0
  446. package/src/components/executiontasks/cancellation/CancellationSchema.ts +30 -0
  447. package/src/components/executiontasks/captureInput/CaptureInputSchema.ts +52 -0
  448. package/src/components/executiontasks/captureInput/CaptureText.tsx +172 -0
  449. package/src/components/executiontasks/captureInput/utils.ts +9 -0
  450. package/src/components/executiontasks/deliver/DeliverET.tsx +124 -0
  451. package/src/components/executiontasks/deliver/DeliverETInput.ts +52 -0
  452. package/src/components/executiontasks/deliver/SLDeliverET.tsx +522 -0
  453. package/src/components/executiontasks/display/DisplayModalET.tsx +174 -0
  454. package/src/components/executiontasks/display/DisplaySchema.ts +29 -0
  455. package/src/components/executiontasks/doodle/SignatureET.tsx +325 -0
  456. package/src/components/executiontasks/doodle/SignatureSchema.ts +52 -0
  457. package/src/components/executiontasks/dropCash/DropCashET.tsx +145 -0
  458. package/src/components/executiontasks/dropCash/DropCashSchema.ts +23 -0
  459. package/src/components/executiontasks/dropCash/SLDropCash.tsx +286 -0
  460. package/src/components/executiontasks/forms/FormGenerator.tsx +283 -0
  461. package/src/components/executiontasks/forms/FormSchema.ts +30 -0
  462. package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +144 -0
  463. package/src/components/executiontasks/forms/widgets/DropdownWidget.tsx +52 -0
  464. package/src/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.tsx +158 -0
  465. package/src/components/executiontasks/forms/widgets/TimeRangeSelector.tsx +38 -0
  466. package/src/components/executiontasks/httpRequest/HttpEtUtils.ts +49 -0
  467. package/src/components/executiontasks/httpRequest/HttpRequestET.tsx +59 -0
  468. package/src/components/executiontasks/httpRequest/HttpRequestETSchema.ts +42 -0
  469. package/src/components/executiontasks/imageCapture/CaptureSchema.ts +94 -0
  470. package/src/components/executiontasks/imageCapture/CaptureUtils.ts +321 -0
  471. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +457 -0
  472. package/src/components/executiontasks/imageCapture/camera.svg +3 -0
  473. package/src/components/executiontasks/imageCapture/circle-xmark.svg +5 -0
  474. package/src/components/executiontasks/payments/PaymentStyles.ts +93 -0
  475. package/src/components/executiontasks/payments/PaymentUtils.ts +7 -0
  476. package/src/components/executiontasks/payments/completePayment/CompletePaymentET.tsx +238 -0
  477. package/src/components/executiontasks/payments/completePayment/CompletePaymentSchema.ts +24 -0
  478. package/src/components/executiontasks/payments/init/InitPaymentET.tsx +246 -0
  479. package/src/components/executiontasks/payments/init/InitPaymentSchema.ts +38 -0
  480. package/src/components/executiontasks/payments/processPayment/ProcessPaymentET.tsx +273 -0
  481. package/src/components/executiontasks/payments/processPayment/ProcessPaymentSchema.ts +39 -0
  482. package/src/components/executiontasks/pickup/PickpSchema.ts +30 -0
  483. package/src/components/executiontasks/pickup/PickupET.tsx +126 -0
  484. package/src/components/executiontasks/pickup/SLPickupET.tsx +372 -0
  485. package/src/components/executiontasks/scan/ScanET.tsx +1059 -0
  486. package/src/components/executiontasks/scan/ScanSchema.ts +121 -0
  487. package/src/components/executiontasks/scan/constants.ts +6 -0
  488. package/src/components/executiontasks/scan/interfaces.ts +109 -0
  489. package/src/components/executiontasks/scan/modalConstant.ts +120 -0
  490. package/src/components/executiontasks/scan/sub_components/CScanner.tsx +107 -0
  491. package/src/components/executiontasks/scan/sub_components/DropDownUtils.ts +119 -0
  492. package/src/components/executiontasks/scan/sub_components/ERDropDown.tsx +134 -0
  493. package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +1296 -0
  494. package/src/components/executiontasks/scan/utils.ts +1108 -0
  495. package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +436 -0
  496. package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +68 -0
  497. package/src/components/executiontasks/validateOTP/constants.ts +24 -0
  498. package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +83 -0
  499. package/src/components/executiontasks/validateOTP/utils.ts +180 -0
  500. package/src/components/executiontasks/verifyInput/VerifyInputSchema.ts +49 -0
  501. package/src/components/executiontasks/verifyLocation/GeofenceUtils.ts +55 -0
  502. package/src/components/executiontasks/verifyLocation/VerifyLocSchema.ts +56 -0
  503. package/src/components/executiontasks/verifyLocation/VerifyLocationET.tsx +69 -0
  504. package/src/components/executiontasks/verifyOtp/VerifyOtpET.tsx +96 -0
  505. package/src/components/executiontasks/verifyOtp/VerifyOtpSchema.ts +27 -0
  506. package/src/components/utils/index.ts +18 -0
  507. package/src/components/widgets/AlertDisplay.tsx +38 -0
  508. package/src/components/widgets/CancelOrderDialog.tsx +112 -0
  509. package/src/components/widgets/Card.tsx +99 -0
  510. package/src/components/widgets/GoBackModal.tsx +49 -0
  511. package/src/components/widgets/IconButton.tsx +32 -0
  512. package/src/components/widgets/ModalWidget.tsx +157 -0
  513. package/src/components/widgets/ProgressDialog.tsx +54 -0
  514. package/src/components/widgets/SearchBar.tsx +71 -0
  515. package/src/components/widgets/SnackBarCustom.tsx +212 -0
  516. package/src/components/widgets/SplitTextInput.tsx +116 -0
  517. package/src/components/widgets/TabsComponent.tsx +84 -0
  518. package/src/components/widgets/Toaster.ts +8 -0
  519. package/src/config/DispatchSDKConfig.ts +4 -0
  520. package/src/constants/apiConstants.ts +11 -0
  521. package/src/constants/constants.ts +12 -0
  522. package/src/constants/statuscode.ts +8 -0
  523. package/src/errors/BaseError.ts +16 -0
  524. package/src/errors/ErrorCodes.ts +38 -0
  525. package/src/events/EventDispatcher.ts +22 -0
  526. package/src/events/EventListener.ts +14 -0
  527. package/src/events/constants.ts +7 -0
  528. package/src/events/index.ts +3 -0
  529. package/src/events/interface.ts +1 -0
  530. package/src/icons/ScanIcon.tsx +24 -0
  531. package/src/icons/circleMark.svg +3 -0
  532. package/src/icons/file.tsx +24 -0
  533. package/src/icons/interface.ts +5 -0
  534. package/src/index.tsx +82 -0
  535. package/src/locale/Str.ts +15 -0
  536. package/src/locale/en.json +7 -0
  537. package/src/locale/i18n.ts +26 -0
  538. package/src/locale/util.ts +20 -0
  539. package/src/manager/dispatch/DispatchStateContainer.tsx +842 -0
  540. package/src/manager/dispatchCodes/EventCodeContainer.ts +75 -0
  541. package/src/manager/dispatchCodes/EventCodeRepo.ts +82 -0
  542. package/src/manager/dispatchCodes/ReasonCodeContainer.ts +121 -0
  543. package/src/manager/dispatchCodes/ReasonCodeRepo.ts +90 -0
  544. package/src/manager/dispatchCodes/reasonCodes.json +137 -0
  545. package/src/manager/jobRemoval/JobRemovalManager.ts +21 -0
  546. package/src/manager/location/LocationManager.ts +77 -0
  547. package/src/manager/sdk/DispatchSDKManager.ts +99 -0
  548. package/src/manager/sdk/DispatchSdkCache.ts +47 -0
  549. package/src/manager/sdk/callbacksHandler.ts +25 -0
  550. package/src/manager/syncmanager/AppSyncManager.ts +187 -0
  551. package/src/manager/syncmanager/DBConfig.ts +181 -0
  552. package/src/manager/syncmanager/NativeSyncManager.ts +14 -0
  553. package/src/manager/syncmanager/constants.ts +5 -0
  554. package/src/manager/syncmanager/database.ts +93 -0
  555. package/src/manager/syncmanager/document/DocumentHttpClient.ts +111 -0
  556. package/src/manager/syncmanager/document/DocumentManager.ts +143 -0
  557. package/src/manager/syncmanager/document/DocumentSyncManager.ts +233 -0
  558. package/src/manager/syncmanager/document/models.ts +4 -0
  559. package/src/manager/syncmanager/events/ETEventsManager.ts +647 -0
  560. package/src/manager/syncmanager/events/EventsGraphQLClient.ts +0 -0
  561. package/src/manager/syncmanager/events/EventsSyncManager.ts +490 -0
  562. package/src/manager/syncmanager/events/SyncHttpClient.ts +202 -0
  563. package/src/models/DispatchModels.ts +97 -0
  564. package/src/models/ReasonCodes.ts +12 -0
  565. package/src/models/auth.ts +43 -0
  566. package/src/models/execTasks/ETBaseModels.ts +113 -0
  567. package/src/models/execTasks/ETConfig.ts +94 -0
  568. package/src/models/execution.ts +9 -0
  569. package/src/models/fcm.ts +6 -0
  570. package/src/models/sdk.ts +35 -0
  571. package/src/native/signature/SignatureCapture.tsx +110 -0
  572. package/src/network/GraphQLClient.ts +147 -0
  573. package/src/network/NetworkClient.ts +58 -0
  574. package/src/network/NetworkUtils.ts +41 -0
  575. package/src/network/Queries.ts +46 -0
  576. package/src/network/client.ts +61 -0
  577. package/src/res/strings.ts +1 -0
  578. package/src/resources/Login.ts +36 -0
  579. package/src/resources/network.ts +13 -0
  580. package/src/styles/SdkColors.ts +24 -0
  581. package/src/styles/executionTasks/CommonStyles.ts +189 -0
  582. package/src/ui/screens/CancellationScreen.tsx +144 -0
  583. package/src/ui/screens/CaptureInputScreen.tsx +79 -0
  584. package/src/ui/screens/CompleteObjectiveScreen.tsx +72 -0
  585. package/src/ui/screens/DeliverScreen.tsx +136 -0
  586. package/src/ui/screens/DisplayScreen.tsx +52 -0
  587. package/src/ui/screens/DoodleScreen.tsx +107 -0
  588. package/src/ui/screens/DropCashScreen.tsx +132 -0
  589. package/src/ui/screens/ETScreensIndex.ts +35 -0
  590. package/src/ui/screens/FormsScreen.tsx +186 -0
  591. package/src/ui/screens/GeofenceScreen.tsx +54 -0
  592. package/src/ui/screens/HttpRequestScreen.tsx +47 -0
  593. package/src/ui/screens/ImageCaptureScreen.tsx +95 -0
  594. package/src/ui/screens/PaymentScreen.tsx +213 -0
  595. package/src/ui/screens/PickupScreen.tsx +112 -0
  596. package/src/ui/screens/ScanScreen.tsx +159 -0
  597. package/src/ui/screens/StartWorkFlowScreen.tsx +233 -0
  598. package/src/ui/screens/ValidateOTPScreen.tsx +62 -0
  599. package/src/ui/screens/WithBaseDispatchScreen.tsx +33 -0
  600. package/src/ui/uiConfig/RouteParams.ts +28 -0
  601. package/src/utils/ApiUtils.ts +157 -0
  602. package/src/utils/ExecTaskUtils.ts +214 -0
  603. package/src/utils/Logger.ts +110 -0
  604. package/src/utils/NetworkUtil.ts +50 -0
  605. package/src/utils/SdkUtils.ts +155 -0
  606. package/src/utils/SyncManagerUtils.ts +223 -0
  607. package/src/utils/fcm/FCM.ts +118 -0
  608. package/src/utils/fcm/FcmUtils.ts +130 -0
  609. package/src/utils/helper.ts +67 -0
  610. package/src/utils/hooks/useModal.tsx +67 -0
  611. package/src/utils/hooks/useTimer.ts +44 -0
  612. package/src/utils/loginHelper.ts +51 -0
  613. package/src/utils/storage.ts +292 -0
  614. package/src/utils/test.json +17 -0
  615. package/src/utils/utils.ts +30 -0
  616. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  617. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  618. package/android/gradlew +0 -185
  619. package/android/gradlew.bat +0 -89
@@ -0,0 +1,1059 @@
1
+ import {
2
+ View,
3
+ Text,
4
+ StyleSheet,
5
+ TextInput,
6
+ TouchableOpacity,
7
+ BackHandler,
8
+ Platform,
9
+ } from 'react-native';
10
+ import React, { useEffect, useRef, useState, useLayoutEffect } from 'react';
11
+ import { DeliverState, type ScannerInput } from './ScanSchema';
12
+ import {
13
+ CommonStyles,
14
+ Fonts,
15
+ } from '../../../styles/executionTasks/CommonStyles';
16
+ import ProgressDialog from '../../widgets/ProgressDialog';
17
+ import { PLEASE_WAIT } from '../../../res/strings';
18
+ import CScanner from './sub_components/CScanner';
19
+ import {
20
+ checkForValidation,
21
+ clearScanOutput,
22
+ getBarCodeTypes,
23
+ getErrorMessage,
24
+ getEventType,
25
+ getScanETOutput,
26
+ getScanMappedOutput,
27
+ getScannedItemCount,
28
+ getShipmentData,
29
+ getSplitIds,
30
+ getUpdatedScanETOutput,
31
+ isETCompleted,
32
+ isReplacement,
33
+ resetObjective,
34
+ triggerScanEvent,
35
+ updatePendingSharedPreference,
36
+ updateSharedPreference,
37
+ } from './utils';
38
+ import SnackBarCustom, { SnackBarType } from '../../widgets/SnackBarCustom';
39
+ import { Button, Modal, Portal, Provider } from 'react-native-paper';
40
+ import { useFocusEffect } from '@react-navigation/native';
41
+ import { isEmptyOrBlank } from '../../../utils/utils';
42
+ import {
43
+ BlindScan,
44
+ MergedScan,
45
+ PROCEED_STATUS,
46
+ SCAN_STATUS,
47
+ } from './interfaces';
48
+ import { getBaseETResponse } from '../../../utils/ExecTaskUtils';
49
+ import {
50
+ EntityCode,
51
+ ExecutionTaskID,
52
+ } from '../../../models/execTasks/ETConfig';
53
+ import { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';
54
+ import {
55
+ ADD_SHIPMENT,
56
+ EMPTY_AWB,
57
+ ER_MISSING,
58
+ INVALID_SHIPMENT,
59
+ MAX_SHIPMENT_REACHED,
60
+ SHIPMENT_ALREADY_ADDED,
61
+ } from './constants';
62
+ import ERDropDown, { ercItem } from './sub_components/ERDropDown';
63
+ import {
64
+ getDefaultERCLabel,
65
+ getErcDropDownItems,
66
+ } from './sub_components/DropDownUtils';
67
+ import {
68
+ GO_BACK_EVENT_CODE,
69
+ REASON_NOT_USED,
70
+ } from '../../../constants/constants';
71
+ import Icon from 'react-native-vector-icons/MaterialIcons';
72
+ import type { ScannerOutput } from './ScanSchema';
73
+ import {
74
+ DispatchExecutor,
75
+ IDispatch,
76
+ } from '@os1-platform/platform-coreos-execution-engine-sdk';
77
+ import SummaryPage from './sub_components/SummaryPage';
78
+ import { RouteParams } from '../../../ui/uiConfig/RouteParams';
79
+ import { BULK_DATA_LIMIT } from '../../../manager/syncmanager/constants';
80
+ import { AntDesign } from '@expo/vector-icons';
81
+ import GoBackModal from '../../../components/widgets/GoBackModal';
82
+ import { hasGoBackConnector } from '../../../components/utils';
83
+ import ToggleSwitch from 'toggle-switch-react-native';
84
+ import ScanIcon from '../../../icons/ScanIcon';
85
+
86
+ /**
87
+ *
88
+ * @param props interface ScannerInput
89
+ * @returns JSX
90
+ *
91
+ * props has key validation which defines different UI cases
92
+ * validation: interface Validation
93
+ *
94
+ * when validation.selectedIndex === 0 => Receives validation.logic as array of scans
95
+ * when validation.selectedIndex === 1 => Receives validation.logic as validation regex
96
+ * when validation.selectedIndex === 0 => Receives validation.logic as API
97
+ */
98
+
99
+ const ScanET = (props: ScannerInput) => {
100
+ const prefixedMergedObjectiveId =
101
+ props.route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;
102
+
103
+ const [isScreenLoaded, setIsScreenLoaded] = useState({
104
+ ercSelectorLoaded: false,
105
+ shipmentCountLoaded: false,
106
+ previousDataLoaded: false,
107
+ });
108
+ const isErcSelector = props.ercSelector ? true : false;
109
+ const isMultiObjectiveEnable = props.wfMeta?.enableMultiObjectiveFlow;
110
+ const allowMultiObjectivePartial =
111
+ (isMultiObjectiveEnable === true &&
112
+ props.additionalMultiConfig?.validationType === 'SUBSET_OF_LIST') ||
113
+ false;
114
+
115
+ const SINGLE_MODE_COUNT: number = props.meta?.singleModeCount || 1;
116
+ const [showScanList, setShowScanList] = useState(false); // To show shipments List
117
+ const [showProgress, setShowProgress] = useState(false); // To pause implementation while a barcode was scanned
118
+ const [showScanner, setShowScanner] = useState(true); // To show the barcode scanner on screen and refresh on successful scan
119
+ const [showCamera, setShowCamera] = useState(true);
120
+ const [scanText, setScanText] = useState(''); // Show scan text
121
+ const [snackBar, setSnackBar] = useState({
122
+ show: false,
123
+ type: SnackBarType.SUCCESS,
124
+ message: '',
125
+ });
126
+
127
+ /**
128
+ * scansMap: is used to add the scanned shipment related data on each scan.
129
+ * scansMap data structure (MergedScan) is the same format as the output of scanET alongwith jobId,
130
+ * which is used to create the final output of the ET and pass the scanned id to each merged objective.
131
+ */
132
+
133
+ const [scansMap, setScansMap] = useState<Map<string, MergedScan>>(new Map());
134
+
135
+ const [scannedInput, setScannedInput] = useState<string>(''); // state to capture scan
136
+ const refInput = useRef<TextInput>(null);
137
+ const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector
138
+ const [selectedEventCode, setSelectedEventCode] = useState<ercItem>(); // reason code from ercSelector
139
+ const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes
140
+ const [eventCodeItems, setEventCodeItems] = useState<ercItem[]>(); // list of event codes
141
+
142
+ const [showBackModal, setShowBackModal] = useState(false);
143
+ const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =
144
+ useState(false);
145
+
146
+ const [shipmentCount, setShipmentCount] = useState({
147
+ scannedCount: 0,
148
+ totalCount: 0,
149
+ });
150
+ const [mergedScanETOutput, setMergedScanETOutput] = useState<ScannerOutput>(
151
+ {}
152
+ );
153
+
154
+ const fetchShipmentCount = async () => {
155
+ try {
156
+ const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(
157
+ props.mergedObjectiveId
158
+ );
159
+ if (_shipmentCount) {
160
+ setShipmentCount({
161
+ scannedCount: _shipmentCount.scannedCount || 0,
162
+ totalCount: _shipmentCount.totalCount || 0,
163
+ });
164
+ // setIsScreenLoaded((isScreenLoaded) => ({
165
+ // ...isScreenLoaded,
166
+ // shipmentCountLoaded: true,
167
+ // }));
168
+ }
169
+ } catch (error) {}
170
+ };
171
+
172
+ const fetchPreviousScannedData = async () => {
173
+ try {
174
+ const scanOutput = (await getScanMappedOutput()) || {};
175
+ setMergedScanETOutput(scanOutput[prefixedMergedObjectiveId] || {});
176
+ } catch (error) {}
177
+ };
178
+
179
+ const fetchERC = async () => {
180
+ if (props.ercSelector) {
181
+ try {
182
+ let response = await getErcDropDownItems(
183
+ 'EVENT',
184
+ props.ercSelector || []
185
+ );
186
+ setEventCodeItems(response);
187
+ setSelectedEventCode(response[0]);
188
+ } catch (error) {}
189
+ }
190
+ };
191
+
192
+ const fetchAllData = async () => {
193
+ try {
194
+ await Promise.all([
195
+ fetchERC(),
196
+ fetchPreviousScannedData(),
197
+ fetchShipmentCount(),
198
+ ]);
199
+ } catch (error) {
200
+ } finally {
201
+ setIsScreenLoaded({
202
+ ercSelectorLoaded: true,
203
+ previousDataLoaded: true,
204
+ shipmentCountLoaded: true,
205
+ });
206
+ }
207
+ };
208
+
209
+ useEffect(() => {
210
+ fetchAllData();
211
+ }, []);
212
+
213
+ useEffect(() => props.showProgress(true), []);
214
+ useEffect(() => {
215
+ if (
216
+ isScreenLoaded.ercSelectorLoaded &&
217
+ isScreenLoaded.previousDataLoaded &&
218
+ isScreenLoaded.shipmentCountLoaded
219
+ ) {
220
+ props.showProgress(false);
221
+ }
222
+ }, [isScreenLoaded]);
223
+
224
+ useLayoutEffect(() => {
225
+ props.navigation.setOptions({
226
+ title: props.title,
227
+ headerLeft: () => {
228
+ return (
229
+ <Icon
230
+ onPress={() => {
231
+ if (
232
+ props.taskMeta?.enableGoBack &&
233
+ hasGoBackConnector(props.applicableReasons)
234
+ )
235
+ setShowBackModal(true);
236
+ else {
237
+ if (showScanList) setShowScanList(false);
238
+ else setShowUnscannedShipmentModal(true);
239
+ }
240
+ }}
241
+ name="arrow-back"
242
+ color={'black'}
243
+ size={25}
244
+ style={{
245
+ paddingRight: 15,
246
+ paddingTop: 5,
247
+ }}
248
+ />
249
+ );
250
+ },
251
+ });
252
+ }, [props.navigation, props.title, showScanList]);
253
+
254
+ useEffect(() => {
255
+ selectedEventCode?.code &&
256
+ (async () => {
257
+ let response = await getErcDropDownItems(
258
+ 'REASON',
259
+ props.ercSelector || [],
260
+ selectedEventCode?.code
261
+ );
262
+ if (response.length) {
263
+ setReasonItems(response);
264
+ setSelectedReason(response[0]);
265
+ } else {
266
+ setReasonItems([]);
267
+ setSelectedReason(undefined);
268
+ }
269
+ })();
270
+ }, [selectedEventCode?.code]);
271
+
272
+ useEffect(() => {
273
+ scannedInput &&
274
+ (async () => {
275
+ await addScans();
276
+ setScannedInput('');
277
+ setScanText('');
278
+ })();
279
+ if (refInput) refInput.current?.focus();
280
+ }, [scannedInput]);
281
+
282
+ useEffect(() => {
283
+ if (!showCamera && refInput) refInput.current?.focus();
284
+ }, [showCamera]);
285
+
286
+ const handleSubmitET = async (
287
+ status: PROCEED_STATUS,
288
+ count: number,
289
+ erc: { ec: string; rc: string } | undefined
290
+ ) => {
291
+ if (status === PROCEED_STATUS.DELIVER_LATER) {
292
+ if (shipmentCount.scannedCount === 0) {
293
+ props.navigation.goBack();
294
+ } else {
295
+ const etOutput = await getScanETOutput(
296
+ mergedScanETOutput,
297
+ props.mergedObjectiveId,
298
+ eventCodeItems || [],
299
+ props.defaultERC,
300
+ DeliverState.DELIVERE_LATER,
301
+ true,
302
+ count
303
+ );
304
+ props.onSubmitET(etOutput);
305
+ }
306
+ } else {
307
+ if (shipmentCount.scannedCount < shipmentCount.totalCount) {
308
+ if (erc) {
309
+ const prefixedMergedObjectiveId =
310
+ props.route.params[RouteParams.ROOT_META_DATA]
311
+ .prefixedMergedObjectiveId;
312
+
313
+ const etOutput = await getScanETOutput(
314
+ mergedScanETOutput,
315
+ props.mergedObjectiveId,
316
+ eventCodeItems || [],
317
+ { eventCode: erc.ec, reasonCode: erc.rc },
318
+ DeliverState.DELIVER_NOW,
319
+ true,
320
+ count
321
+ );
322
+
323
+ let hasNextPage = true;
324
+ let offset = 0;
325
+ const limit = BULK_DATA_LIMIT;
326
+ let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };
327
+
328
+ const scannedData: any = [];
329
+ do {
330
+ scans = await DispatchExecutor.filterWFIData(
331
+ props.taskName,
332
+ [prefixedMergedObjectiveId],
333
+ limit,
334
+ offset
335
+ );
336
+
337
+ scans.data.forEach((scan) => {
338
+ scannedData.push({
339
+ groupId: scan.displayInfo.groupId,
340
+ jobId: scan.jobId,
341
+ shipmentFlow: scan.displayInfo.shipmentFlow,
342
+ scanValue: scan.scannableId,
343
+ });
344
+ });
345
+
346
+ offset += limit;
347
+ hasNextPage = scans.totalCount - offset + 1 > 0;
348
+ } while (hasNextPage);
349
+
350
+ triggerScanEvent(
351
+ 'ON_SCAN',
352
+ props.route,
353
+ scannedData,
354
+ etOutput['default'].output
355
+ );
356
+
357
+ // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT
358
+ // updatePendingSharedPreference(eventType, prefixedMergedObjectiveId);
359
+
360
+ props.onSubmitET(etOutput);
361
+ }
362
+ } else {
363
+ if (shipmentCount.totalCount === 0) props.navigation.goBack();
364
+ else {
365
+ const etOutput = await getScanETOutput(
366
+ mergedScanETOutput,
367
+ props.mergedObjectiveId,
368
+ eventCodeItems || [],
369
+ props.defaultERC,
370
+ DeliverState.DELIVER_NOW,
371
+ false,
372
+ count
373
+ );
374
+ props.onSubmitET(etOutput);
375
+ }
376
+ }
377
+ }
378
+ };
379
+
380
+ const _handleBarCodeScanned = async (scan: string) => {
381
+ if (!isEmptyOrBlank(scan)) {
382
+ setShowScanner(false);
383
+ setScannedInput(scan);
384
+ }
385
+ };
386
+
387
+ const updateShipmentCount = async (
388
+ scannedCountChanged: number,
389
+ totalCountChanged: number,
390
+ type: 'SCAN' | 'REMOVE' = 'SCAN'
391
+ ) => {
392
+ if (type === 'SCAN') {
393
+ // UPDATE THE Count
394
+ setShipmentCount((_shipmentCount) => {
395
+ return {
396
+ scannedCount: _shipmentCount.scannedCount + scannedCountChanged,
397
+ totalCount: _shipmentCount.totalCount + totalCountChanged,
398
+ };
399
+ });
400
+ } else {
401
+ const currentIds = [
402
+ ...new Set([
403
+ ...props.mergedObjectiveId,
404
+ ...getSplitIds(mergedScanETOutput),
405
+ prefixedMergedObjectiveId,
406
+ ]),
407
+ ];
408
+ const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(
409
+ currentIds
410
+ );
411
+ if (_shipmentCount) {
412
+ setShipmentCount({
413
+ scannedCount: _shipmentCount.scannedCount || 0,
414
+ totalCount: _shipmentCount.totalCount || 0,
415
+ });
416
+ // setIsScreenLoaded((isScreenLoaded) => ({
417
+ // ...isScreenLoaded,
418
+ // shipmentCountLoaded: true,
419
+ // }));
420
+ }
421
+ }
422
+ };
423
+
424
+ const addScans = async () => {
425
+ const scan = scannedInput;
426
+ if (isEmptyOrBlank(scan)) {
427
+ // showToast('Empty AWB Code');
428
+ setSnackBar({
429
+ show: true,
430
+ message: EMPTY_AWB,
431
+ type: SnackBarType.FAILURE,
432
+ });
433
+ return;
434
+ }
435
+
436
+ if (isErcSelector && (!selectedEventCode || !selectedEventCode.code)) {
437
+ // showToast('Empty AWB Code');
438
+ setSnackBar({
439
+ show: true,
440
+ message: ER_MISSING.replace('<shipment_id>', scan),
441
+ type: SnackBarType.FAILURE,
442
+ });
443
+ return;
444
+ }
445
+
446
+ setShowProgress(true);
447
+ let isValidated = await checkForValidation(scan, props.validation);
448
+
449
+ if (isValidated) {
450
+ // NEW CODE
451
+ try {
452
+ const eventType = getEventType(
453
+ eventCodeItems || [],
454
+ selectedEventCode?.code || ''
455
+ );
456
+
457
+ const result = await DispatchExecutor.updateWIMapping(
458
+ prefixedMergedObjectiveId,
459
+ scan,
460
+ {
461
+ ec: selectedEventCode?.code || '',
462
+ rc: selectedReason?.code || '',
463
+ },
464
+ props.scanToMerge || false
465
+ );
466
+
467
+ if ('data' in result) {
468
+ const data: IDispatch.MappingUpdateResponse = result.data;
469
+ const {
470
+ message: { title, subTitle },
471
+ } = data;
472
+ if (subTitle) {
473
+ setSnackBar({
474
+ show: true,
475
+ message: `#${scan}\n${title}\n${subTitle}`,
476
+ type: SnackBarType.WARNING,
477
+ });
478
+ } else {
479
+ setSnackBar({
480
+ show: true,
481
+ message: `#${scan}\nShipment updated successfully!`,
482
+ type: SnackBarType.SUCCESS,
483
+ });
484
+ }
485
+
486
+ setScanText('');
487
+
488
+ const _scanOutput = await getUpdatedScanETOutput(
489
+ mergedScanETOutput,
490
+ result,
491
+ eventType,
492
+ selectedEventCode?.code || '',
493
+ selectedReason?.code || '',
494
+ props.route,
495
+ {
496
+ jobId: data.jobId,
497
+ displayInfo: data.displayInfo,
498
+ isScan: true,
499
+ scanId: scan,
500
+ }
501
+ );
502
+
503
+ // UPDATE SHARED PREFERENCE
504
+ updateSharedPreference(
505
+ eventType,
506
+ data.mwId,
507
+ prefixedMergedObjectiveId
508
+ );
509
+
510
+ // UPDATE SCAN OUTPUT
511
+ setMergedScanETOutput(_scanOutput);
512
+
513
+ // UPDATE THE Count
514
+ setShipmentCount((_shipmentCount) => {
515
+ return {
516
+ scannedCount: _shipmentCount.scannedCount + data.scanned,
517
+ totalCount: _shipmentCount.totalCount + data.total,
518
+ };
519
+ });
520
+ }
521
+ } catch (error: any) {
522
+ setScanText('');
523
+ if (props.exitOnError) {
524
+ setShowProgress(false);
525
+
526
+ const etOutput = await getScanETOutput(
527
+ mergedScanETOutput,
528
+ props.mergedObjectiveId,
529
+ eventCodeItems || [],
530
+ props.defaultERC,
531
+ DeliverState.CANCELLED,
532
+ false,
533
+ 0
534
+ );
535
+
536
+ props.onSubmitET(etOutput);
537
+ } else {
538
+ setSnackBar({
539
+ show: true,
540
+ ...getErrorMessage(scan, error),
541
+ });
542
+ }
543
+ }
544
+ } else {
545
+ setScanText('');
546
+ if (props.exitOnError) {
547
+ setShowProgress(false);
548
+ const etOutput = await getScanETOutput(
549
+ mergedScanETOutput,
550
+ props.mergedObjectiveId,
551
+ eventCodeItems || [],
552
+ props.defaultERC,
553
+ DeliverState.CANCELLED,
554
+ false,
555
+ 0
556
+ );
557
+
558
+ props.onSubmitET(etOutput);
559
+ } else {
560
+ setSnackBar({
561
+ show: true,
562
+ message: INVALID_SHIPMENT,
563
+ type: SnackBarType.FAILURE,
564
+ });
565
+ }
566
+ }
567
+
568
+ setShowProgress(false);
569
+ };
570
+
571
+ const renderActionButtons = () => {
572
+ // NEW CODE
573
+ return (
574
+ <View>
575
+ <Button
576
+ labelStyle={CommonStyles.nextButtonLabel}
577
+ style={CommonStyles.nextButton}
578
+ uppercase={false}
579
+ onPress={() => {
580
+ setSnackBar({
581
+ show: false,
582
+ message: '',
583
+ type: SnackBarType.SUCCESS,
584
+ });
585
+ setShowScanList(!showScanList);
586
+ }}
587
+ >
588
+ {`View Summary`}
589
+ </Button>
590
+ </View>
591
+ );
592
+ };
593
+
594
+ // Handle back-button click when scanList was being viewed
595
+ useFocusEffect(
596
+ React.useCallback(() => {
597
+ const onBackPress = () => {
598
+ if (showScanList) {
599
+ setShowScanList(false);
600
+ return true;
601
+ } else {
602
+ setShowUnscannedShipmentModal(true);
603
+ // props.navigation.goBack();
604
+ return true;
605
+ }
606
+ };
607
+ BackHandler.addEventListener('hardwareBackPress', onBackPress);
608
+ return () =>
609
+ BackHandler.removeEventListener('hardwareBackPress', onBackPress);
610
+ }, [showScanList])
611
+ );
612
+
613
+ useEffect(() => {
614
+ if (showScanList) {
615
+ props.navigation.setOptions({
616
+ title: 'Summary',
617
+ });
618
+ } else {
619
+ props.navigation.setOptions({
620
+ title: `${props.title}`,
621
+ });
622
+ }
623
+ }, [showScanList]);
624
+
625
+ useEffect(() => {
626
+ let timeout: ReturnType<typeof setTimeout>;
627
+ if (!showScanner) {
628
+ timeout = setTimeout(() => {
629
+ setShowScanner(true);
630
+ }, 500);
631
+ }
632
+ return () => {
633
+ clearTimeout(timeout);
634
+ };
635
+ }, [showScanner]);
636
+
637
+ const renderModal = () => {
638
+ return (
639
+ <GoBackModal
640
+ showModal={showBackModal}
641
+ setShowModal={setShowBackModal}
642
+ onSuccess={async () => {
643
+ const output = await getBaseETResponse(
644
+ EntityCode.SCAN,
645
+ false,
646
+ GO_BACK_EVENT_CODE,
647
+ '',
648
+ props.mergedObjectiveId,
649
+ ExecutionTaskID.SCAN
650
+ );
651
+ const _scanOutput = {
652
+ ['default']: { output, count: shipmentCount.totalCount },
653
+ };
654
+ props.onSubmitET(_scanOutput);
655
+ setShowBackModal(false);
656
+ }}
657
+ onFailure={() => setShowBackModal(false)}
658
+ />
659
+ );
660
+ };
661
+
662
+ // TODO: Modify to Modal Widget
663
+ const renderUnscannedShipmentModal = () => {
664
+ return (
665
+ <Portal>
666
+ <Modal
667
+ visible={showUnscannedShipmentModal}
668
+ dismissable={true}
669
+ contentContainerStyle={[
670
+ styles.modalContent,
671
+ { marginStart: 40, marginEnd: 40 },
672
+ ]}
673
+ >
674
+ <View style={styles.modalView}>
675
+ <View
676
+ style={{
677
+ justifyContent: 'center',
678
+ alignItems: 'center',
679
+ marginBottom: 10,
680
+ }}
681
+ >
682
+ <AntDesign name="exclamationcircleo" size={40} color="#D97706" />
683
+ </View>
684
+ <Text style={styles.titleText}>{'Exit scan flow?'}</Text>
685
+ <Text
686
+ style={[
687
+ styles.unscannedShipmentModalSubText,
688
+ { textAlign: 'center' },
689
+ ]}
690
+ >
691
+ {'All the progress made will be lost'}
692
+ </Text>
693
+
694
+ <Button
695
+ labelStyle={CommonStyles.nextButtonLabel}
696
+ style={{ ...CommonStyles.nextButton, marginTop: 20 }}
697
+ uppercase={false}
698
+ onPress={() => setShowUnscannedShipmentModal(false)}
699
+ >
700
+ Continue Scanning
701
+ </Button>
702
+ <TouchableOpacity
703
+ style={{
704
+ ...CommonStyles.cancelButton,
705
+ marginTop: 10,
706
+ height: 40,
707
+ borderRadius: 6,
708
+ justifyContent: 'center',
709
+ alignItems: 'center',
710
+ }}
711
+ onPress={async () => {
712
+ setSnackBar({
713
+ show: false,
714
+ message: '',
715
+ type: SnackBarType.SUCCESS,
716
+ });
717
+
718
+ // Trigger Scan Removal Event
719
+ await resetObjective(props);
720
+
721
+ // Clear Scan
722
+ await Promise.all([
723
+ clearScanOutput(prefixedMergedObjectiveId),
724
+ DispatchExecutor.removeShipment(prefixedMergedObjectiveId),
725
+ ]);
726
+
727
+ props.navigation.goBack();
728
+ }}
729
+ >
730
+ <Text style={CommonStyles.cancelButtonLabel}>Exit Scan Flow</Text>
731
+ </TouchableOpacity>
732
+ </View>
733
+ </Modal>
734
+ </Portal>
735
+ );
736
+ };
737
+
738
+ const renderShipmentCount = () => {
739
+ return (
740
+ <View
741
+ style={{
742
+ justifyContent: 'flex-end',
743
+ marginStart: 10,
744
+ marginEnd: 10,
745
+ marginBottom: 10,
746
+ }}
747
+ >
748
+ {isMultiObjectiveEnable ||
749
+ props.scanMode === 'SINGLE' ||
750
+ props.validation.selectedIndex === 0 ||
751
+ props.scanCountLimit ? (
752
+ <Text>{`${shipmentCount.scannedCount}/${shipmentCount.totalCount} shipments scanned.`}</Text>
753
+ ) : props.validation.selectedIndex === 1 ||
754
+ props.validation.selectedIndex === 2 ? (
755
+ <Text>{`${shipmentCount.scannedCount} shipments scanned.`}</Text>
756
+ ) : null}
757
+ </View>
758
+ );
759
+ };
760
+
761
+ if (showScanList) {
762
+ return (
763
+ <Provider>
764
+ {renderModal()}
765
+ <View style={CommonStyles.mainContainer}>
766
+ <SummaryPage
767
+ ercSelector={props.ercSelector || []}
768
+ eventCodeItems={eventCodeItems ?? []}
769
+ handleSubmitET={handleSubmitET}
770
+ shipmentCount={shipmentCount}
771
+ updateShipmentCount={updateShipmentCount}
772
+ scanProps={props}
773
+ mergedScanETOutput={mergedScanETOutput}
774
+ />
775
+ </View>
776
+ </Provider>
777
+ );
778
+ } else {
779
+ return (
780
+ <Provider>
781
+ <View style={CommonStyles.mainContainer}>
782
+ {renderModal()}
783
+ {renderUnscannedShipmentModal()}
784
+ <ProgressDialog visible={showProgress} label={PLEASE_WAIT} />
785
+ <View style={{ flex: 1 }}>
786
+ {props.ercSelector && (
787
+ <View style={{ marginHorizontal: 16, marginBottom: 30 }}>
788
+ <View style={{ marginBottom: 16 }}>
789
+ <ERDropDown
790
+ title={'Event'}
791
+ style={{ height: 50 }}
792
+ selectedReason={selectedEventCode}
793
+ items={eventCodeItems ?? []}
794
+ onItemChange={(eventItem: ercItem | null) => {
795
+ if (eventItem !== null) setSelectedEventCode(eventItem);
796
+ }}
797
+ />
798
+ </View>
799
+ <View style={{ marginVertical: 16 }}>
800
+ <ERDropDown
801
+ title={'Reason'}
802
+ style={{ height: 50 }}
803
+ selectedReason={selectedReason}
804
+ disabled={
805
+ !reasonItems || !reasonItems?.length ? true : false
806
+ }
807
+ items={reasonItems ?? []}
808
+ onItemChange={(reasonItem: ercItem | null) => {
809
+ if (reasonItem !== null) setSelectedReason(reasonItem);
810
+ }}
811
+ />
812
+ </View>
813
+ </View>
814
+ )}
815
+ <View style={styles.addShipmentStyle}>
816
+ <Text style={styles.toggleText}>Use camera for scanning</Text>
817
+ <ToggleSwitch
818
+ onColor="#5B80F7"
819
+ offColor="#E0E3EB"
820
+ isOn={showCamera}
821
+ onToggle={() => setShowCamera(!showCamera)}
822
+ />
823
+ </View>
824
+ <View
825
+ style={
826
+ showCamera
827
+ ? [styles.cameraContainer, { backgroundColor: '#000' }]
828
+ : styles.cameraContainer
829
+ }
830
+ >
831
+ {showCamera && showScanner ? (
832
+ <CScanner
833
+ barCodeTypes={getBarCodeTypes(props)}
834
+ onScanned={_handleBarCodeScanned}
835
+ />
836
+ ) : (
837
+ <>
838
+ <View style={styles.scanIcon}>
839
+ <ScanIcon />
840
+ <Text
841
+ style={{
842
+ color: '#A3AAC2',
843
+ fontFamily:
844
+ Platform.OS === 'android'
845
+ ? Fonts.IBMPlexSans_500Medium
846
+ : 'IBMPlexSans-Medium',
847
+ fontSize: 14,
848
+ fontStyle: 'normal',
849
+ fontWeight: '500',
850
+ }}
851
+ >
852
+ Enter manually or use barcode scanner
853
+ </Text>
854
+ </View>
855
+ <View style={styles.addShipmentStyle}>
856
+ <TextInput
857
+ returnKeyType={'done'}
858
+ ref={refInput}
859
+ onSubmitEditing={async () => {
860
+ setScannedInput(scanText);
861
+ }}
862
+ value={scanText}
863
+ onChangeText={setScanText}
864
+ style={{
865
+ borderColor: '#5B80F7',
866
+ borderWidth: 1,
867
+ borderRadius: 6,
868
+ paddingVertical: 9,
869
+ paddingHorizontal: 13,
870
+ marginEnd: 20,
871
+ flex: 1,
872
+ fontSize: 16,
873
+ fontFamily:
874
+ Platform.OS === 'android'
875
+ ? Fonts.IBMPlexSans_600SemiBold
876
+ : 'IBMPlexSans-SemiBold',
877
+ color: '#A3AAC2',
878
+ }}
879
+ placeholder={'Enter Shipment ID'}
880
+ />
881
+ <TouchableOpacity
882
+ style={{
883
+ borderColor: '#E0E3EB',
884
+ borderWidth: 1,
885
+ borderRadius: 6,
886
+ paddingVertical: 9,
887
+ paddingHorizontal: 17,
888
+ alignSelf: 'center',
889
+ justifyContent: 'center',
890
+ }}
891
+ onPress={async () => {
892
+ setSnackBar({
893
+ show: false,
894
+ message: '',
895
+ type: SnackBarType.SUCCESS,
896
+ });
897
+ setScannedInput(scanText);
898
+ }}
899
+ >
900
+ <Text
901
+ style={{
902
+ fontSize: 14,
903
+ fontFamily:
904
+ Platform.OS === 'android'
905
+ ? Fonts.IBMPlexSans_500Medium
906
+ : 'IBMPlexSans-Medium',
907
+ color: '#3D445C',
908
+ }}
909
+ >
910
+ {'Apply'}
911
+ </Text>
912
+ </TouchableOpacity>
913
+ </View>
914
+ </>
915
+ )}
916
+ </View>
917
+ </View>
918
+ <View style={{ justifyContent: 'flex-end' }}>
919
+ <SnackBarCustom
920
+ type={snackBar.type}
921
+ message={`${snackBar.message}`}
922
+ visible={snackBar.show}
923
+ onDismiss={() => {
924
+ setSnackBar({
925
+ show: false,
926
+ message: '',
927
+ type: SnackBarType.SUCCESS,
928
+ });
929
+ }}
930
+ customBottom={20}
931
+ />
932
+ </View>
933
+ <View style={styles.bottomView}>
934
+ {renderShipmentCount()}
935
+ {renderActionButtons()}
936
+ </View>
937
+ </View>
938
+ </Provider>
939
+ );
940
+ }
941
+ };
942
+
943
+ export default ScanET;
944
+
945
+ const styles = StyleSheet.create({
946
+ cameraContainer: {
947
+ flex: 1,
948
+ justifyContent: 'center',
949
+ alignItems: 'center',
950
+ zIndex: -1,
951
+ },
952
+ addShipmentStyle: {
953
+ marginVertical: 24,
954
+ marginHorizontal: 16,
955
+ flexDirection: 'row',
956
+ justifyContent: 'space-between',
957
+ zIndex: -1,
958
+ },
959
+ bottomView: {
960
+ paddingBottom: 16,
961
+ justifyContent: 'flex-end',
962
+ marginVertical: 10,
963
+ marginHorizontal: 16,
964
+ },
965
+ addButtonLabel: {
966
+ color: '#3D445C',
967
+ fontFamily:
968
+ Platform.OS === 'android'
969
+ ? Fonts.IBMPlexSans_600SemiBold
970
+ : 'IBMPlexSans-SemiBold',
971
+ fontSize: 16,
972
+ fontWeight: '600',
973
+ lineHeight: 20,
974
+ letterSpacing: 1.56,
975
+ textAlign: 'center',
976
+ fontStyle: 'normal',
977
+ },
978
+ centerView: {
979
+ flex: 1,
980
+ justifyContent: 'center',
981
+ alignContent: 'center',
982
+ },
983
+ modalContent: {
984
+ marginStart: 60,
985
+ marginEnd: 60,
986
+ flex: 1,
987
+ marginBottom: 60,
988
+ },
989
+ modalView: {
990
+ backgroundColor: 'white',
991
+ padding: 15,
992
+ borderRadius: 9,
993
+ },
994
+ titleText: {
995
+ justifyContent: 'center',
996
+ fontFamily:
997
+ Platform.OS === 'android'
998
+ ? Fonts.IBMPlexSans_600SemiBold
999
+ : 'IBMPlexSans-SemiBold',
1000
+ fontStyle: 'normal',
1001
+ fontSize: 14,
1002
+ lineHeight: 20,
1003
+ textAlign: 'center',
1004
+ color: '#111111',
1005
+ marginBottom: 10,
1006
+ },
1007
+ subText: {
1008
+ justifyContent: 'center',
1009
+ fontFamily:
1010
+ Platform.OS === 'android'
1011
+ ? Fonts.IBMPlexSans_400Regular
1012
+ : 'IBMPlexSans-Regular',
1013
+ fontStyle: 'normal',
1014
+ fontSize: 14,
1015
+ letterSpacing: 0.25,
1016
+ lineHeight: 20,
1017
+ textAlign: 'center',
1018
+ color: '#000000',
1019
+ marginBottom: 10,
1020
+ },
1021
+ bottomButtons: {
1022
+ justifyContent: 'space-between',
1023
+ flexDirection: 'row',
1024
+ marginTop: 8,
1025
+ },
1026
+ unscannedShipmentModalSubText: {
1027
+ justifyContent: 'center',
1028
+ fontFamily:
1029
+ Platform.OS === 'android'
1030
+ ? Fonts.IBMPlexSans_400Regular
1031
+ : 'IBMPlexSans-Regular',
1032
+ fontStyle: 'normal',
1033
+ fontSize: 14,
1034
+ letterSpacing: 0.25,
1035
+ lineHeight: 20,
1036
+ color: '#000000',
1037
+ marginBottom: 10,
1038
+ },
1039
+ modalDefaultERCStyle: {
1040
+ color: '#A3AAC2',
1041
+ fontSize: 14,
1042
+ fontFamily:
1043
+ Platform.OS === 'android'
1044
+ ? Fonts.IBMPlexSans_400Regular
1045
+ : 'IBMPlexSans-Regular',
1046
+ },
1047
+ toggleText: {
1048
+ fontSize: 14,
1049
+ fontFamily:
1050
+ Platform.OS === 'android'
1051
+ ? Fonts.IBMPlexSans_500Medium
1052
+ : 'IBMPlexSans-Medium',
1053
+ color: '#3D445C',
1054
+ },
1055
+ scanIcon: {
1056
+ justifyContent: 'center',
1057
+ alignItems: 'center',
1058
+ },
1059
+ });