@os1-platform/dispatch-mobile 2.1.5 → 2.1.7

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 (319) hide show
  1. package/lib/commonjs/analytics/firebase/FirebaseLogging.js +24 -0
  2. package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -0
  3. package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js +44 -0
  4. package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -0
  5. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +83 -0
  6. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -0
  7. package/lib/commonjs/analytics/sentry/SentryModels.js +6 -0
  8. package/lib/commonjs/analytics/sentry/SentryModels.js.map +1 -0
  9. package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +78 -0
  10. package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -0
  11. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +51 -0
  12. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
  13. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +23 -0
  14. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
  15. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +16 -0
  16. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
  17. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +52 -2
  18. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  19. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +16 -0
  20. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
  21. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +41 -4
  22. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
  23. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +16 -0
  24. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  25. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +23 -0
  26. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  27. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +41 -18
  28. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  29. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +14 -3
  30. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  31. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +12 -1
  32. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  33. package/lib/commonjs/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
  34. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +29 -16
  35. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  36. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +71 -6
  37. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  38. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +23 -0
  39. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  40. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +37 -0
  41. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  42. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +23 -0
  43. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  44. package/lib/commonjs/components/executiontasks/pickup/PickupET.js +16 -0
  45. package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
  46. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +44 -0
  47. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  48. package/lib/commonjs/components/executiontasks/scan/ScanET.js +40 -1
  49. package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
  50. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +23 -0
  51. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  52. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +30 -0
  53. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  54. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  55. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +9 -0
  56. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
  57. package/lib/commonjs/components/widgets/CancelOrderDialog.js +16 -0
  58. package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
  59. package/lib/commonjs/components/widgets/Card.js +17 -1
  60. package/lib/commonjs/components/widgets/Card.js.map +1 -1
  61. package/lib/commonjs/components/widgets/ModalWidget.js +22 -2
  62. package/lib/commonjs/components/widgets/ModalWidget.js.map +1 -1
  63. package/lib/commonjs/components/widgets/SearchBar.js +9 -0
  64. package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
  65. package/lib/commonjs/components/widgets/SnackBarCustom.js +9 -0
  66. package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
  67. package/lib/commonjs/components/widgets/SplitTextInput.js +9 -0
  68. package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
  69. package/lib/commonjs/components/widgets/TabsComponent.js +12 -1
  70. package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
  71. package/lib/commonjs/index.js +53 -0
  72. package/lib/commonjs/index.js.map +1 -1
  73. package/lib/commonjs/manager/location/LocationManager.js +9 -2
  74. package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
  75. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +3 -3
  76. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  77. package/lib/commonjs/manager/sdk/DispatchSdkCache.js +3 -2
  78. package/lib/commonjs/manager/sdk/DispatchSdkCache.js.map +1 -1
  79. package/lib/commonjs/manager/sdk/callbacksHandler.js +8 -1
  80. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  81. package/lib/commonjs/manager/syncmanager/DBConfig.js +3 -1
  82. package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
  83. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +77 -3
  84. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  85. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +17 -3
  86. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  87. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +206 -6
  88. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  89. package/lib/commonjs/models/execTasks/ETBaseModels.js.map +1 -1
  90. package/lib/commonjs/models/sdk.js.map +1 -1
  91. package/lib/commonjs/styles/executionTasks/CommonStyles.js +4 -4
  92. package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
  93. package/lib/commonjs/ui/screens/DeliverScreen.js +18 -1
  94. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/DoodleScreen.js +9 -0
  96. package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
  97. package/lib/commonjs/ui/screens/DropCashScreen.js +10 -1
  98. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  99. package/lib/commonjs/ui/screens/FormsScreen.js +7 -0
  100. package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
  101. package/lib/commonjs/ui/screens/GeofenceScreen.js +12 -0
  102. package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
  103. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +9 -0
  104. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  105. package/lib/commonjs/ui/screens/PaymentScreen.js +9 -0
  106. package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
  107. package/lib/commonjs/ui/screens/PickupScreen.js +9 -0
  108. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  109. package/lib/commonjs/ui/screens/ValidateOTPScreen.js +12 -0
  110. package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
  111. package/lib/commonjs/utils/ExecTaskUtils.js +30 -13
  112. package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
  113. package/lib/commonjs/utils/Logger.js +54 -41
  114. package/lib/commonjs/utils/Logger.js.map +1 -1
  115. package/lib/commonjs/utils/SyncManagerUtils.js +12 -2
  116. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  117. package/lib/commonjs/utils/utils.js +24 -0
  118. package/lib/commonjs/utils/utils.js.map +1 -1
  119. package/lib/module/analytics/firebase/FirebaseLogging.js +17 -0
  120. package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -0
  121. package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js +37 -0
  122. package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -0
  123. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +74 -0
  124. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -0
  125. package/lib/module/analytics/sentry/SentryModels.js +2 -0
  126. package/lib/module/analytics/sentry/SentryModels.js.map +1 -0
  127. package/lib/module/analytics/sentry/SentrySdkConstants.js +72 -0
  128. package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -0
  129. package/lib/module/components/executiontasks/cancellation/CancelET.js +51 -0
  130. package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
  131. package/lib/module/components/executiontasks/captureInput/CaptureText.js +23 -0
  132. package/lib/module/components/executiontasks/captureInput/CaptureText.js.map +1 -1
  133. package/lib/module/components/executiontasks/deliver/DeliverET.js +16 -0
  134. package/lib/module/components/executiontasks/deliver/DeliverET.js.map +1 -1
  135. package/lib/module/components/executiontasks/deliver/SLDeliverET.js +52 -2
  136. package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  137. package/lib/module/components/executiontasks/display/DisplayModalET.js +16 -0
  138. package/lib/module/components/executiontasks/display/DisplayModalET.js.map +1 -1
  139. package/lib/module/components/executiontasks/doodle/SignatureET.js +41 -4
  140. package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
  141. package/lib/module/components/executiontasks/dropCash/DropCashET.js +16 -0
  142. package/lib/module/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  143. package/lib/module/components/executiontasks/dropCash/SLDropCash.js +23 -0
  144. package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  145. package/lib/module/components/executiontasks/forms/FormGenerator.js +41 -18
  146. package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
  147. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js +14 -3
  148. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  149. package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +12 -1
  150. package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  151. package/lib/module/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
  152. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +29 -16
  153. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  154. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +72 -7
  155. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  156. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js +23 -0
  157. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  158. package/lib/module/components/executiontasks/payments/init/InitPaymentET.js +37 -0
  159. package/lib/module/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  160. package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js +23 -0
  161. package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  162. package/lib/module/components/executiontasks/pickup/PickupET.js +16 -0
  163. package/lib/module/components/executiontasks/pickup/PickupET.js.map +1 -1
  164. package/lib/module/components/executiontasks/pickup/SLPickupET.js +44 -0
  165. package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  166. package/lib/module/components/executiontasks/scan/ScanET.js +40 -1
  167. package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
  168. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +23 -0
  169. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  170. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +30 -0
  171. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  172. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  173. package/lib/module/components/executiontasks/verifyOtp/VerifyOtpET.js +9 -0
  174. package/lib/module/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
  175. package/lib/module/components/widgets/CancelOrderDialog.js +16 -0
  176. package/lib/module/components/widgets/CancelOrderDialog.js.map +1 -1
  177. package/lib/module/components/widgets/Card.js +17 -1
  178. package/lib/module/components/widgets/Card.js.map +1 -1
  179. package/lib/module/components/widgets/ModalWidget.js +22 -2
  180. package/lib/module/components/widgets/ModalWidget.js.map +1 -1
  181. package/lib/module/components/widgets/SearchBar.js +9 -0
  182. package/lib/module/components/widgets/SearchBar.js.map +1 -1
  183. package/lib/module/components/widgets/SnackBarCustom.js +9 -0
  184. package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
  185. package/lib/module/components/widgets/SplitTextInput.js +9 -0
  186. package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
  187. package/lib/module/components/widgets/TabsComponent.js +12 -1
  188. package/lib/module/components/widgets/TabsComponent.js.map +1 -1
  189. package/lib/module/index.js +11 -0
  190. package/lib/module/index.js.map +1 -1
  191. package/lib/module/manager/location/LocationManager.js +9 -2
  192. package/lib/module/manager/location/LocationManager.js.map +1 -1
  193. package/lib/module/manager/sdk/DispatchSDKManager.js +3 -3
  194. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  195. package/lib/module/manager/sdk/DispatchSdkCache.js +3 -2
  196. package/lib/module/manager/sdk/DispatchSdkCache.js.map +1 -1
  197. package/lib/module/manager/sdk/callbacksHandler.js +8 -1
  198. package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
  199. package/lib/module/manager/syncmanager/DBConfig.js +3 -1
  200. package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
  201. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +77 -3
  202. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  203. package/lib/module/manager/syncmanager/document/DocumentManager.js +17 -3
  204. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  205. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +207 -7
  206. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  207. package/lib/module/models/execTasks/ETBaseModels.js.map +1 -1
  208. package/lib/module/models/sdk.js.map +1 -1
  209. package/lib/module/styles/executionTasks/CommonStyles.js +5 -5
  210. package/lib/module/styles/executionTasks/CommonStyles.js.map +1 -1
  211. package/lib/module/ui/screens/DeliverScreen.js +18 -1
  212. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  213. package/lib/module/ui/screens/DoodleScreen.js +9 -0
  214. package/lib/module/ui/screens/DoodleScreen.js.map +1 -1
  215. package/lib/module/ui/screens/DropCashScreen.js +10 -0
  216. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  217. package/lib/module/ui/screens/FormsScreen.js +7 -0
  218. package/lib/module/ui/screens/FormsScreen.js.map +1 -1
  219. package/lib/module/ui/screens/GeofenceScreen.js +12 -0
  220. package/lib/module/ui/screens/GeofenceScreen.js.map +1 -1
  221. package/lib/module/ui/screens/ImageCaptureScreen.js +9 -0
  222. package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
  223. package/lib/module/ui/screens/PaymentScreen.js +9 -0
  224. package/lib/module/ui/screens/PaymentScreen.js.map +1 -1
  225. package/lib/module/ui/screens/PickupScreen.js +9 -0
  226. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  227. package/lib/module/ui/screens/ValidateOTPScreen.js +12 -0
  228. package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
  229. package/lib/module/utils/ExecTaskUtils.js +30 -13
  230. package/lib/module/utils/ExecTaskUtils.js.map +1 -1
  231. package/lib/module/utils/Logger.js +54 -39
  232. package/lib/module/utils/Logger.js.map +1 -1
  233. package/lib/module/utils/SyncManagerUtils.js +12 -2
  234. package/lib/module/utils/SyncManagerUtils.js.map +1 -1
  235. package/lib/module/utils/utils.js +22 -0
  236. package/lib/module/utils/utils.js.map +1 -1
  237. package/lib/typescript/analytics/firebase/FirebaseLogging.d.ts +2 -0
  238. package/lib/typescript/analytics/sentry/SentryAnalyticsSingleton.d.ts +11 -0
  239. package/lib/typescript/analytics/sentry/SentryAnalyticsUtils.d.ts +2 -0
  240. package/lib/typescript/analytics/sentry/SentryModels.d.ts +15 -0
  241. package/lib/typescript/analytics/sentry/SentrySdkConstants.d.ts +66 -0
  242. package/lib/typescript/components/executiontasks/imageCapture/CaptureSchema.d.ts +4 -0
  243. package/lib/typescript/components/executiontasks/imageCapture/CaptureUtils.d.ts +7 -1
  244. package/lib/typescript/index.d.ts +7 -0
  245. package/lib/typescript/manager/dispatch/DispatchStateContainer.d.ts +2 -0
  246. package/lib/typescript/manager/location/LocationManager.d.ts +1 -0
  247. package/lib/typescript/manager/sdk/DispatchSdkCache.d.ts +2 -0
  248. package/lib/typescript/manager/sdk/callbacksHandler.d.ts +3 -1
  249. package/lib/typescript/manager/syncmanager/DBConfig.d.ts +4 -0
  250. package/lib/typescript/manager/syncmanager/document/DocumentManager.d.ts +3 -1
  251. package/lib/typescript/manager/syncmanager/document/DocumentSyncManager.d.ts +5 -1
  252. package/lib/typescript/models/execTasks/ETBaseModels.d.ts +25 -6
  253. package/lib/typescript/models/sdk.d.ts +1 -0
  254. package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +4 -4
  255. package/lib/typescript/utils/Logger.d.ts +0 -3
  256. package/lib/typescript/utils/SyncManagerUtils.d.ts +1 -1
  257. package/lib/typescript/utils/utils.d.ts +4 -0
  258. package/package.json +10 -7
  259. package/src/analytics/firebase/FirebaseLogging.ts +25 -0
  260. package/src/analytics/sentry/SentryAnalyticsSingleton.ts +35 -0
  261. package/src/analytics/sentry/SentryAnalyticsUtils.ts +77 -0
  262. package/src/analytics/sentry/SentryModels.ts +18 -0
  263. package/src/analytics/sentry/SentrySdkConstants.ts +77 -0
  264. package/src/components/executiontasks/cancellation/CancelET.tsx +25 -2
  265. package/src/components/executiontasks/captureInput/CaptureText.tsx +15 -2
  266. package/src/components/executiontasks/deliver/DeliverET.tsx +8 -0
  267. package/src/components/executiontasks/deliver/SLDeliverET.tsx +22 -5
  268. package/src/components/executiontasks/display/DisplayModalET.tsx +8 -0
  269. package/src/components/executiontasks/doodle/SignatureET.tsx +37 -4
  270. package/src/components/executiontasks/dropCash/DropCashET.tsx +9 -0
  271. package/src/components/executiontasks/dropCash/SLDropCash.tsx +11 -0
  272. package/src/components/executiontasks/forms/FormGenerator.tsx +46 -29
  273. package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +10 -3
  274. package/src/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.tsx +8 -1
  275. package/src/components/executiontasks/imageCapture/CaptureSchema.ts +4 -0
  276. package/src/components/executiontasks/imageCapture/CaptureUtils.ts +45 -18
  277. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +42 -7
  278. package/src/components/executiontasks/payments/completePayment/CompletePaymentET.tsx +11 -0
  279. package/src/components/executiontasks/payments/init/InitPaymentET.tsx +17 -0
  280. package/src/components/executiontasks/payments/processPayment/ProcessPaymentET.tsx +11 -0
  281. package/src/components/executiontasks/pickup/PickupET.tsx +8 -0
  282. package/src/components/executiontasks/pickup/SLPickupET.tsx +19 -0
  283. package/src/components/executiontasks/scan/ScanET.tsx +19 -1
  284. package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +11 -0
  285. package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +14 -0
  286. package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +2 -0
  287. package/src/components/executiontasks/verifyOtp/VerifyOtpET.tsx +5 -0
  288. package/src/components/widgets/CancelOrderDialog.tsx +7 -0
  289. package/src/components/widgets/Card.tsx +9 -1
  290. package/src/components/widgets/ModalWidget.tsx +16 -2
  291. package/src/components/widgets/SearchBar.tsx +6 -1
  292. package/src/components/widgets/SnackBarCustom.tsx +4 -0
  293. package/src/components/widgets/SplitTextInput.tsx +6 -0
  294. package/src/components/widgets/TabsComponent.tsx +8 -1
  295. package/src/index.tsx +10 -3
  296. package/src/manager/location/LocationManager.ts +8 -1
  297. package/src/manager/sdk/DispatchSDKManager.ts +8 -2
  298. package/src/manager/sdk/DispatchSdkCache.ts +2 -1
  299. package/src/manager/sdk/callbacksHandler.ts +12 -1
  300. package/src/manager/syncmanager/DBConfig.ts +4 -0
  301. package/src/manager/syncmanager/document/DocumentHttpClient.ts +105 -5
  302. package/src/manager/syncmanager/document/DocumentManager.ts +28 -2
  303. package/src/manager/syncmanager/document/DocumentSyncManager.ts +230 -5
  304. package/src/models/execTasks/ETBaseModels.ts +20 -7
  305. package/src/models/sdk.ts +1 -0
  306. package/src/styles/executionTasks/CommonStyles.ts +5 -5
  307. package/src/ui/screens/DeliverScreen.tsx +9 -0
  308. package/src/ui/screens/DoodleScreen.tsx +5 -0
  309. package/src/ui/screens/DropCashScreen.tsx +6 -0
  310. package/src/ui/screens/FormsScreen.tsx +3 -0
  311. package/src/ui/screens/GeofenceScreen.tsx +11 -1
  312. package/src/ui/screens/ImageCaptureScreen.tsx +5 -0
  313. package/src/ui/screens/PaymentScreen.tsx +5 -0
  314. package/src/ui/screens/PickupScreen.tsx +7 -1
  315. package/src/ui/screens/ValidateOTPScreen.tsx +10 -0
  316. package/src/utils/ExecTaskUtils.ts +36 -10
  317. package/src/utils/Logger.ts +50 -51
  318. package/src/utils/SyncManagerUtils.ts +20 -2
  319. package/src/utils/utils.ts +23 -0
@@ -3,7 +3,6 @@ import * as FileSystem from 'expo-file-system';
3
3
  import * as ImagePicker from 'expo-image-picker';
4
4
  import { PermissionStatus } from 'expo-image-picker';
5
5
  import { showToast } from '../../widgets/Toaster';
6
- import * as ImageManipulator from 'expo-image-manipulator';
7
6
  import Logger, { LOG_TYPE } from '../../../utils/Logger';
8
7
  import { getBaseETResponse } from '../../../utils/ExecTaskUtils';
9
8
  import { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';
@@ -13,6 +12,8 @@ import BaseErrorCodes from '../../../errors/ErrorCodes';
13
12
  import DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';
14
13
  import { insertDocumentInDB } from '../../../utils/SyncManagerUtils';
15
14
  import { launchCamera } from 'react-native-image-picker';
15
+ import { Image } from 'react-native-compressor';
16
+ import Storage from '../../../utils/storage';
16
17
  export async function deleteImage(imageData, images) {
17
18
  await FileSystem.deleteAsync(imageData.path);
18
19
  let filtered = images.filter(ele => ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase());
@@ -139,29 +140,40 @@ export async function captureImage(imageWidth, imageHeight, fileSize) {
139
140
  console.log("aks:uri-after=", uri);
140
141
  //
141
142
  if (uri != null) {
142
- //
143
143
  let compressionRatio = await getCompressionRatio(uri, fileSize);
144
- console.log("aks:compressionRatio=", compressionRatio);
145
-
144
+ console.log('aks:compressionRatio=', compressionRatio);
145
+ Storage.getInstance().setItem('maxSize', String(fileSize));
146
+ Storage.getInstance().setItem('cRatio', String(compressionRatio));
147
+ console.log('aks:uri=', uri);
148
+ let resizedImage1 = await Image.compress(uri, {
149
+ compressionMethod: 'manual',
150
+ quality: compressionRatio
151
+ });
146
152
  //
147
- const saveOptions = {
148
- compress: compressionRatio
153
+ console.log('aks:resizedImage1=', resizedImage1);
154
+ // If captured image file path does not have prefix file:// then we are addding manually
155
+ if (!resizedImage1.includes('file')) {
156
+ resizedImage1 = 'file://' + resizedImage1;
157
+ }
158
+ console.log('aks:resizedImage2=', resizedImage1);
159
+ let resizedImageResult = {
160
+ uri: resizedImage1,
161
+ width: imageWidth,
162
+ height: imageHeight,
163
+ base64: ''
149
164
  };
150
- //
151
- console.log("aks:uri=blank");
152
- console.log("aks:uri=", uri);
153
- let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions);
154
- //
155
- console.log("aks:resizedImage=", resizedImage);
165
+ console.log('aks:resizedImageResult=', resizedImageResult);
166
+
156
167
  //delete file
157
168
  FileSystem.deleteAsync(uri).then(() => Logger.getInstance().logEvent('CAPTURE_ET', 'File deleted success', LOG_TYPE.SDK_DEBUG)).catch(error => {
158
169
  Logger.getInstance().logEvent('CAPTURE_ET', error.message, LOG_TYPE.SDK_ERROR);
159
170
  });
160
171
  //
161
172
 
162
- console.log("resizedImage=before");
163
- console.log("resizedImage=", resizedImage);
164
- return resizedImage;
173
+ // console.log("resizedImage=before")
174
+ // console.log("resizedImage=", resizedImage)
175
+
176
+ return resizedImageResult;
165
177
  }
166
178
 
167
179
  // if(Platform.OS = 'android'){
@@ -212,11 +224,12 @@ async function getImagesData(imagesDataList, captureProps) {
212
224
  if (imagesDataList && imagesDataList.length > 0) {
213
225
  let output = [];
214
226
  const folderName = (await DispatchSdkCache.getInstance().getKeyFromCache(DispatchSdkCache.KEYS.FMS_FOLDER)) ?? 'NULL';
227
+ console.log('getImagesData:', folderName);
215
228
  for (const data of imagesDataList) {
216
229
  let insertID = await insertDocumentInDB(data.id, folderName,
217
230
  // JSON.stringify(captureProps.jobIds),
218
231
  // JSON.stringify(captureProps.objRefs),
219
- null, captureProps.title, data.path);
232
+ null, captureProps.title, data.path, data.dateTime, data.lat, data.lng, data.accuracy);
220
233
  if (insertID) output.push({
221
234
  url: '',
222
235
  timestamp: data.timestamp,
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","FileSystem","ImagePicker","PermissionStatus","showToast","ImageManipulator","Logger","LOG_TYPE","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","BaseError","BaseErrorCodes","DispatchSdkCache","insertDocumentInDB","launchCamera","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","getInstance","logEvent","message","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","GRANTED","captureImage","imageWidth","imageHeight","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","didCancel","errorCode","errorMessage","assets","compressionRatio","saveOptions","compress","resizedImage","manipulateAsync","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","IMAGE_CAPTURE","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","title","push","url","timestamp","file","folder","name","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport type { ActionResize, ImageResult } from 'expo-image-manipulator';\nimport * as ImageManipulator from 'expo-image-manipulator';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if(uri != null){ \n //\n let compressionRatio = await getCompressionRatio(uri, fileSize);\n console.log(\"aks:compressionRatio=\", compressionRatio)\n \n //\n const saveOptions = {\n compress: compressionRatio,\n }\n //\n console.log(\"aks:uri=blank\")\n console.log(\"aks:uri=\", uri)\n let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n //\n console.log(\"aks:resizedImage=\", resizedImage)\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n console.log(\"resizedImage=before\")\n console.log(\"resizedImage=\", resizedImage)\n\n return resizedImage;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
1
+ {"version":3,"names":["Alert","FileSystem","ImagePicker","PermissionStatus","showToast","Logger","LOG_TYPE","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","BaseError","BaseErrorCodes","DispatchSdkCache","insertDocumentInDB","launchCamera","Image","Storage","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","getInstance","logEvent","message","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","GRANTED","captureImage","imageWidth","imageHeight","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","didCancel","errorCode","errorMessage","assets","compressionRatio","setItem","String","resizedImage1","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","IMAGE_CAPTURE","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\nimport Storage from '../../../utils/storage';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\ndeclare type ImageResult = {\n uri: string;\n width: number;\n height: number;\n base64?: string;\n};\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if (uri != null) {\n \n let compressionRatio = await getCompressionRatio(uri, fileSize);\n console.log('aks:compressionRatio=', compressionRatio);\n Storage.getInstance().setItem('maxSize', String(fileSize));\n Storage.getInstance().setItem('cRatio', String(compressionRatio));\n\n console.log('aks:uri=', uri);\n\n let resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n console.log('aks:resizedImage1=', resizedImage1);\n // If captured image file path does not have prefix file:// then we are addding manually\n if (!resizedImage1.includes('file')) {\n resizedImage1 = 'file://' + resizedImage1; \n }\n\n console.log('aks:resizedImage2=', resizedImage1);\n\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImageResult=', resizedImageResult);\n\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n console.log('getImagesData:',folderName);\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path,\n data.dateTime,\n data.lat,\n data.lng,\n data.accuracy\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';
2
- import { BackHandler, FlatList, Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
2
+ import { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
3
3
  import * as CaptureUtils from './CaptureUtils';
4
4
  import { getCaptureOutput } from './CaptureUtils';
5
5
  import { showToast } from '../../widgets/Toaster';
@@ -16,6 +16,10 @@ import GoBackModal from '../../../components/widgets/GoBackModal';
16
16
  import { useFocusEffect } from '@react-navigation/native';
17
17
  import Circle from "./circle-xmark.svg";
18
18
  import CameraIcon from "./camera.svg";
19
+ import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';
20
+ import { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';
21
+ import LocationManager from '../../../manager/location/LocationManager';
22
+ import callbackHandler from '../../../manager/sdk/callbacksHandler';
19
23
  const ImageCapture = props => {
20
24
  let numberOfImagesToCapture;
21
25
  if (props.captureMode == "SINGLE") {
@@ -52,6 +56,13 @@ const ImageCapture = props => {
52
56
  onPress: () => {
53
57
  var _props$taskMeta2;
54
58
  if ((_props$taskMeta2 = props.taskMeta) !== null && _props$taskMeta2 !== void 0 && _props$taskMeta2.enableGoBack && hasGoBackConnector(props.applicableReasons)) setShowBackModal(true);else props.navigation.goBack();
59
+ const cta = "Back Arrow";
60
+ fireEventWithScreenName({
61
+ severityLevel: SeverityLevelValue.LOG,
62
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
63
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
64
+ cta: cta
65
+ });
55
66
  },
56
67
  name: "arrow-back",
57
68
  color: 'black',
@@ -104,16 +115,34 @@ const ImageCapture = props => {
104
115
  borderRadius: 3
105
116
  }
106
117
  }, (imagesDummy === null || imagesDummy === void 0 ? void 0 : imagesDummy.length) > index && (_imagesDummy$index = imagesDummy[index]) !== null && _imagesDummy$index !== void 0 && _imagesDummy$index.path ? null : /*#__PURE__*/React.createElement(TouchableOpacity, {
107
- onPress: onPress
118
+ onPress: () => {
119
+ onPress();
120
+ const cta = "Camera Icon";
121
+ fireEventWithScreenName({
122
+ severityLevel: SeverityLevelValue.LOG,
123
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
124
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
125
+ cta: cta
126
+ });
127
+ }
108
128
  }, /*#__PURE__*/React.createElement(View, {
109
129
  style: {
110
130
  marginTop: numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%'
111
131
  }
112
132
  }, /*#__PURE__*/React.createElement(CameraIcon, null))), /*#__PURE__*/React.createElement(Button, {
113
- onPress: () => captureImage(index),
133
+ onPress: () => {
134
+ captureImage(index);
135
+ const cta = "Click Photo";
136
+ fireEventWithScreenName({
137
+ severityLevel: SeverityLevelValue.LOG,
138
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
139
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
140
+ cta: cta
141
+ });
142
+ },
114
143
  uppercase: false,
115
144
  labelStyle: [{
116
- fontFamily: Fonts.IBMPlexSans_500Medium,
145
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',
117
146
  fontStyle: 'normal',
118
147
  fontWeight: 'normal',
119
148
  fontSize: 14,
@@ -131,7 +160,16 @@ const ImageCapture = props => {
131
160
  bottom: numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%'
132
161
  }
133
162
  }), /*#__PURE__*/React.createElement(TouchableOpacity, {
134
- onPress: onPress,
163
+ onPress: () => {
164
+ onPress();
165
+ const cta = "Circle Icon";
166
+ fireEventWithScreenName({
167
+ severityLevel: SeverityLevelValue.LOG,
168
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
169
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
170
+ cta: cta
171
+ });
172
+ },
135
173
  style: {
136
174
  position: 'absolute',
137
175
  top: numColumns == 2 ? '17%' : '9%',
@@ -211,12 +249,18 @@ const ImageCapture = props => {
211
249
  setButtonProceed(true);
212
250
  let imgArray = [];
213
251
  imgArray = imagesDummy;
252
+ const dateTime = await callbackHandler.getDateTime();
253
+ console.log('captureImage:dateTime: ', dateTime);
214
254
  imgArray[index] = {
215
255
  id: CaptureUtils.getImagesFileName(),
216
256
  // @ts-ignore
217
257
  path: imageDataResponse.uri,
218
258
  url: '',
219
- timestamp: Date.now()
259
+ timestamp: Date.now(),
260
+ dateTime: dateTime,
261
+ lat: LocationManager.getInstance().getLastLocation().latitude,
262
+ lng: LocationManager.getInstance().getLastLocation().longitude,
263
+ accuracy: LocationManager.getInstance().getLastLocation().accuracy
220
264
  };
221
265
  setImagesDummy([...imgArray]);
222
266
  console.log("images211:", JSON.stringify(imgArray));
@@ -253,6 +297,13 @@ const ImageCapture = props => {
253
297
  index: index,
254
298
  onPress: async () => {
255
299
  await deleteImage(index);
300
+ const cta = "Delete Icon";
301
+ fireEventWithScreenName({
302
+ severityLevel: SeverityLevelValue.LOG,
303
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
304
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
305
+ cta: cta
306
+ });
256
307
  }
257
308
  });
258
309
  };
@@ -297,11 +348,18 @@ const ImageCapture = props => {
297
348
  props.onSubmitET({
298
349
  ...(await getBaseETResponse(EntityCode.IMAGE_CAPTURE, false, getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, (_props$applicableReas = props.applicableReasons) === null || _props$applicableReas === void 0 ? void 0 : _props$applicableReas.failure), '', props.mergedObjectiveId, ExecutionTaskID.IMAGE_CAPTURE))
299
350
  });
351
+ const cta = "Cancel";
352
+ fireEventWithScreenName({
353
+ severityLevel: SeverityLevelValue.LOG,
354
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
355
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
356
+ cta: cta
357
+ });
300
358
  }
301
359
  }, "Cancel"), /*#__PURE__*/React.createElement(Button, {
302
360
  labelStyle: {
303
361
  color: buttonProceed ? '#ffff' : '#A3AAC2',
304
- fontFamily: Fonts.IBMPlexSans_500Medium,
362
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',
305
363
  fontSize: 14,
306
364
  lineHeight: 20,
307
365
  textAlign: 'center',
@@ -316,6 +374,13 @@ const ImageCapture = props => {
316
374
  mode: "contained",
317
375
  onPress: async () => {
318
376
  await handleSubmit();
377
+ const cta = "Proceed";
378
+ fireEventWithScreenName({
379
+ severityLevel: SeverityLevelValue.LOG,
380
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
381
+ screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN,
382
+ cta: cta
383
+ });
319
384
  }
320
385
  }, "Proceed"))));
321
386
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useState","useLayoutEffect","BackHandler","FlatList","Image","StyleSheet","Text","TouchableOpacity","View","CaptureUtils","getCaptureOutput","showToast","Iconn","CommonStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","GO_BACK_EVENT_CODE","Button","Provider","Logger","LOG_TYPE","hasGoBackConnector","GoBackModal","useFocusEffect","Circle","CameraIcon","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","name","color","size","style","paddingRight","paddingTop","length","arr","i","push","path","ImageItem","_ref","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","item","index","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","captureImage","uppercase","labelStyle","fontFamily","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","IMAGE_CAPTURE","mergedObjectiveId","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","id","getImagesFileName","url","timestamp","Date","now","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","getInstance","logEvent","SDK_ERROR","renderItem","_ref2","mainContainer","styles","etMessageView","etMessage","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","failure","lineHeight","textAlign","marginHorizontal","disabled","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\n\nimport CameraIcon from \"./camera.svg\"\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n\n if (images.length === 0) {\n let arr: any = [];\n for (let i = 0; i < numberOfImagesToCapture; i++) {\n arr.push({ path: '' });\n }\n setImages(arr);\n }\n }, [images]);\n\n\n interface ImageItemProps {\n item: { path: string };\n index: number;\n onPress: () => void;\n }\n\n const ImageItem: React.FC<ImageItemProps> = ({ item, index, onPress }) => {\n\n return (\n <View\n style={{\n width: numColumns == 2 ? '43%' : '88%',\n height: numColumns == 2 ? 160 : numberOfImagesToCapture == 1 ? 336 : 180,\n backgroundColor: 'white',\n alignItems: 'center',\n alignSelf: 'center',\n borderWidth: 1,\n borderColor: '#A3AAC2',\n borderStyle: 'dashed',\n borderRadius: 3,\n marginTop: '6%',\n marginStart: numColumns == 2 ? 17 : numberOfImagesToCapture == 1 ? 0 : 0,\n }}\n >\n <View\n style={{\n alignItems: 'center',\n width: '80%',\n height: '98%',\n borderRadius: 3,\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : (\n <TouchableOpacity\n onPress={onPress}>\n<View\nstyle={{\n marginTop:\n numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%',\n}}\n>\n<CameraIcon />\n</View>\n</TouchableOpacity>\n \n )}\n <Button\n onPress={() => captureImage(index)}\n uppercase={false}\n labelStyle={[\n {\n fontFamily: Fonts.IBMPlexSans_500Medium,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n color: '#5B80F7',\n },\n ]}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : 'Click Photo'}\n </Button>\n <Image\n source={{\n uri: imagesDummy?.length > index ? imagesDummy[index]?.path : item?.path,\n }}\n style={{\n height: numColumns == 2 ? '75%' : numberOfImagesToCapture == 1 ? '85%' : '85%',\n width: numColumns == 2 ? '105%' : '118%',\n borderRadius: 10,\n bottom:\n numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%',\n }}\n />\n <TouchableOpacity\n onPress={onPress}\n style={{\n position: 'absolute',\n top: numColumns == 2 ? '17%' : '9%',\n marginRight: '2%',\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path && (\n <View\n style={{\n width: 25,\n height: 25,\n backgroundColor: 'white',\n borderRadius: 15,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: numColumns == 2 ? '78%' : '96%',\n }}\n >\n <Circle />\n </View>\n )}\n </TouchableOpacity>\n </View>\n </View>\n );\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const handleSubmit = async () => {\n try {\n setDisableProceed(true);\n let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);\n console.log('imagesArray:', JSON.stringify(imagesArray));\n\n if (imagesArray.length > 0) {\n props.onSubmitET(await getCaptureOutput(imagesArray, props));\n } else {\n showToast('No Images captured');\n }\n } catch (error: any) {\n setDisableProceed(false);\n showToast(error.message);\n } finally {\n setDisableProceed(false);\n }\n };\n\n // useEffect(() => {\n // if (props.captureMode === 'SINGLE') {\n // if (images.length > 0) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else if (\n // props.captureMode === 'MULTI' &&\n // props.captureCountLimit &&\n // props.captureCountLimit > 0\n // ) {\n // if (images.length === CaptureUtils.getMaxImagesCount(props)) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else {\n // if (images.length > 0) {\n // setShowCapture(true);\n // }\n // }\n // }, [images, props, showCapture]);\n\n const captureImage = useCallback(async (index) => {\n // // if (!showCapture) {\n // // showToast(`Max Image Limit reached`);\n // // return;\n // // }\n // console.log(\"captureImage\", CaptureUtils);\n let imageDataResponse = await CaptureUtils.captureImage(\n props.resolution.breadth,\n props.resolution.length,\n props.fileSizeLimit\n );\n\n if (imageDataResponse != null) {\n setButtonProceed(true);\n\n let imgArray = [];\n imgArray = imagesDummy;\n imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n };\n setImagesDummy([...imgArray])\n console.log(\"images211:\", JSON.stringify(imgArray));\n\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true\n }\n }\n setButtonProceed(initialProceedValue);\n\n try {\n // setImagesDummy(filteredImages);\n // setButtonProceed(false);\n } catch (err: any) {\n Logger.getInstance().logEvent('deleteImageError', err.message, LOG_TYPE.SDK_ERROR);\n console.error(\"Error updating state after deletion:\", err);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>\n Take a photo of the shipments. Please ensure the items are clearly visible.\n </Text>\n </View>\n )}\n <View\n style={{\n backgroundColor: 'white',\n width: 360,\n height: numColumns == 2 ? '82%' : numberOfImagesToCapture == 1 ? '63%' : '70%',\n alignSelf: 'center',\n marginTop: '5%',\n borderRadius: 7,\n borderColor: '#E0E3EB',\n borderWidth: 0.5,\n }}\n >\n <FlatList\n data={images}\n numColumns={numColumns}\n renderItem={renderItem}\n keyExtractor={(item) => item?.id}\n contentContainerStyle={{ paddingBottom: '30%' }}\n />\n </View>\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flexGrow: 1, marginStart: '3%' }]}\n mode=\"outlined\"\n labelStyle={[CommonStyles.cancelButtonLabel, { textTransform: 'capitalize' }]}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, props.applicableReasons?.failure),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n }}\n >\n Cancel\n </Button>\n }\n <Button\n labelStyle={{\n color: buttonProceed ? '#ffff' : '#A3AAC2',\n fontFamily: Fonts.IBMPlexSans_500Medium,\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n textTransform: 'capitalize',\n }}\n style={{\n flexGrow: 1,\n marginHorizontal: '3%',\n backgroundColor: buttonProceed ? '#5B80F7' : '#E0E3EB',\n }}\n disabled={!buttonProceed}\n mode=\"contained\"\n onPress={async () => {\n await handleSubmit();\n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n\n imageEtContainer: {\n display: 'flex',\n marginStart: 16,\n marginEnd: 16,\n borderWidth: 1,\n borderColor: '#A3AAC2',\n padding: 10,\n marginTop: 15,\n borderStyle: 'dashed',\n backgroundColor: '#FFFFFF',\n alignItems: 'center',\n justifyContent: 'center',\n height: 370,\n borderRadius: 5\n },\n\n bottomButtons: {\n width: \"100%\",\n justifyContent: \"space-between\",\n flexDirection: 'row',\n backgroundColor: \"white\",\n paddingVertical: 12,\n bottom: 0,\n position: \"absolute\",\n borderTopColor: \"#A3AAC2\",\n borderTopWidth: 0.5\n },\n etMessage: {\n // textAlign: 'center',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 16,\n display: 'flex',\n alignItems: 'center',\n color: '#000000',\n fontFamily: Fonts.IBMPlexSans_400Regular\n },\n etMessageView: {\n marginTop: 17,\n paddingStart: 17,\n paddingTop: 15,\n paddingBottom: 15,\n backgroundColor: '#ffffff'\n }\n});\n\nexport default ImageCapture;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useEffect","useState","useLayoutEffect","BackHandler","FlatList","Image","Platform","StyleSheet","Text","TouchableOpacity","View","CaptureUtils","getCaptureOutput","showToast","Iconn","CommonStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","GO_BACK_EVENT_CODE","Button","Provider","Logger","LOG_TYPE","hasGoBackConnector","GoBackModal","useFocusEffect","Circle","CameraIcon","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","LocationManager","callbackHandler","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","length","arr","i","push","path","ImageItem","_ref","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","item","index","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","captureImage","uppercase","labelStyle","fontFamily","OS","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","IMAGE_CAPTURE","mergedObjectiveId","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","dateTime","getDateTime","id","getImagesFileName","url","timestamp","Date","now","lat","getInstance","getLastLocation","latitude","lng","longitude","accuracy","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","logEvent","SDK_ERROR","renderItem","_ref2","mainContainer","styles","etMessageView","etMessage","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","failure","lineHeight","textAlign","marginHorizontal","disabled","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport LocationManager from '../../../manager/location/LocationManager';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n\n if (images.length === 0) {\n let arr: any = [];\n for (let i = 0; i < numberOfImagesToCapture; i++) {\n arr.push({ path: '' });\n }\n setImages(arr);\n }\n }, [images]);\n\n\n interface ImageItemProps {\n item: { path: string };\n index: number;\n onPress: () => void;\n }\n\n const ImageItem: React.FC<ImageItemProps> = ({ item, index, onPress }) => {\n\n return (\n <View\n style={{\n width: numColumns == 2 ? '43%' : '88%',\n height: numColumns == 2 ? 160 : numberOfImagesToCapture == 1 ? 336 : 180,\n backgroundColor: 'white',\n alignItems: 'center',\n alignSelf: 'center',\n borderWidth: 1,\n borderColor: '#A3AAC2',\n borderStyle: 'dashed',\n borderRadius: 3,\n marginTop: '6%',\n marginStart: numColumns == 2 ? 17 : numberOfImagesToCapture == 1 ? 0 : 0,\n }}\n >\n <View\n style={{\n alignItems: 'center',\n width: '80%',\n height: '98%',\n borderRadius: 3,\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : (\n <TouchableOpacity\n onPress={() => { onPress()\n const cta = \"Camera Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n >\n<View\nstyle={{\n marginTop:\n numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%',\n}}\n>\n<CameraIcon />\n</View>\n</TouchableOpacity>\n \n )}\n <Button\n onPress={() => { captureImage(index)\n const cta = \"Click Photo\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n uppercase={false}\n labelStyle={[\n {\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n color: '#5B80F7',\n },\n ]}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : 'Click Photo'}\n </Button>\n <Image\n source={{\n uri: imagesDummy?.length > index ? imagesDummy[index]?.path : item?.path,\n }}\n style={{\n height: numColumns == 2 ? '75%' : numberOfImagesToCapture == 1 ? '85%' : '85%',\n width: numColumns == 2 ? '105%' : '118%',\n borderRadius: 10,\n bottom:\n numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%',\n }}\n />\n <TouchableOpacity\n onPress={() => { onPress()\n const cta = \"Circle Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n style={{\n position: 'absolute',\n top: numColumns == 2 ? '17%' : '9%',\n marginRight: '2%',\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path && (\n <View\n style={{\n width: 25,\n height: 25,\n backgroundColor: 'white',\n borderRadius: 15,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: numColumns == 2 ? '78%' : '96%',\n }}\n >\n <Circle />\n </View>\n )}\n </TouchableOpacity>\n </View>\n </View>\n );\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const handleSubmit = async () => {\n try {\n setDisableProceed(true);\n let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);\n console.log('imagesArray:', JSON.stringify(imagesArray));\n\n if (imagesArray.length > 0) {\n props.onSubmitET(await getCaptureOutput(imagesArray, props));\n } else {\n showToast('No Images captured');\n }\n } catch (error: any) {\n setDisableProceed(false);\n showToast(error.message);\n } finally {\n setDisableProceed(false);\n }\n };\n\n // useEffect(() => {\n // if (props.captureMode === 'SINGLE') {\n // if (images.length > 0) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else if (\n // props.captureMode === 'MULTI' &&\n // props.captureCountLimit &&\n // props.captureCountLimit > 0\n // ) {\n // if (images.length === CaptureUtils.getMaxImagesCount(props)) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else {\n // if (images.length > 0) {\n // setShowCapture(true);\n // }\n // }\n // }, [images, props, showCapture]);\n\n const captureImage = useCallback(async (index) => {\n\n // // if (!showCapture) {\n // // showToast(`Max Image Limit reached`);\n // // return;\n // // }\n // console.log(\"captureImage\", CaptureUtils);\n let imageDataResponse = await CaptureUtils.captureImage(\n props.resolution.breadth,\n props.resolution.length,\n props.fileSizeLimit\n );\n\n if (imageDataResponse != null) {\n setButtonProceed(true);\n\n let imgArray = [];\n imgArray = imagesDummy;\n const dateTime = await callbackHandler.getDateTime();\n console.log('captureImage:dateTime: ',dateTime);\n imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n dateTime: dateTime,\n lat: LocationManager.getInstance().getLastLocation().latitude,\n lng: LocationManager.getInstance().getLastLocation().longitude,\n accuracy: LocationManager.getInstance().getLastLocation().accuracy,\n };\n setImagesDummy([...imgArray])\n console.log(\"images211:\", JSON.stringify(imgArray));\n\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true;\n }\n }\n setButtonProceed(initialProceedValue);\n\n try {\n // setImagesDummy(filteredImages);\n // setButtonProceed(false);\n } catch (err: any) {\n Logger.getInstance().logEvent('deleteImageError', err.message, LOG_TYPE.SDK_ERROR);\n console.error(\"Error updating state after deletion:\", err);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n const cta = \"Delete Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>\n Take a photo of the shipments. Please ensure the items are clearly visible.\n </Text>\n </View>\n )}\n <View\n style={{\n backgroundColor: 'white',\n width: 360,\n height: numColumns == 2 ? '82%' : numberOfImagesToCapture == 1 ? '63%' : '70%',\n alignSelf: 'center',\n marginTop: '5%',\n borderRadius: 7,\n borderColor: '#E0E3EB',\n borderWidth: 0.5,\n }}\n >\n <FlatList\n data={images}\n numColumns={numColumns}\n renderItem={renderItem}\n keyExtractor={(item) => item?.id}\n contentContainerStyle={{ paddingBottom: '30%' }}\n />\n </View>\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flexGrow: 1, marginStart: '3%' }]}\n mode=\"outlined\"\n labelStyle={[CommonStyles.cancelButtonLabel, { textTransform: 'capitalize' }]}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, props.applicableReasons?.failure),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n const cta = \"Cancel\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n <Button\n labelStyle={{\n color: buttonProceed ? '#ffff' : '#A3AAC2',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n textTransform: 'capitalize',\n }}\n style={{\n flexGrow: 1,\n marginHorizontal: '3%',\n backgroundColor: buttonProceed ? '#5B80F7' : '#E0E3EB',\n }}\n disabled={!buttonProceed}\n mode=\"contained\"\n onPress={async () => {\n await handleSubmit();\n const cta = \"Proceed\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n\n imageEtContainer: {\n display: 'flex',\n marginStart: 16,\n marginEnd: 16,\n borderWidth: 1,\n borderColor: '#A3AAC2',\n padding: 10,\n marginTop: 15,\n borderStyle: 'dashed',\n backgroundColor: '#FFFFFF',\n alignItems: 'center',\n justifyContent: 'center',\n height: 370,\n borderRadius: 5\n },\n\n bottomButtons: {\n width: \"100%\",\n justifyContent: \"space-between\",\n flexDirection: 'row',\n backgroundColor: \"white\",\n paddingVertical: 12,\n bottom: 0,\n position: \"absolute\",\n borderTopColor: \"#A3AAC2\",\n borderTopWidth: 0.5\n },\n etMessage: {\n // textAlign: 'center',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 16,\n display: 'flex',\n alignItems: 'center',\n color: '#000000',\n fontFamily: Fonts.IBMPlexSans_400Regular\n },\n etMessageView: {\n marginTop: 17,\n paddingStart: 17,\n paddingTop: 15,\n paddingBottom: 15,\n backgroundColor: '#ffffff'\n }\n});\n\nexport default ImageCapture;\n"],"mappings":"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"}
@@ -13,6 +13,8 @@ import GoBackModal from '../../../../components/widgets/GoBackModal';
13
13
  import { hasGoBackConnector } from '../../../../components/utils';
14
14
  import { useFocusEffect } from '@react-navigation/native';
15
15
  import { BackHandler } from 'react-native';
16
+ import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../../analytics/sentry/SentrySdkConstants';
17
+ import { fireEventWithScreenName } from '../../../../analytics/sentry/SentryAnalyticsUtils';
16
18
  const CompletePaymentET = props => {
17
19
  const [disableProceed, setDisableProceed] = useState(false);
18
20
  const [showBackModal, setShowBackModal] = useState(false);
@@ -40,6 +42,13 @@ const CompletePaymentET = props => {
40
42
  onPress: () => {
41
43
  var _props$taskMeta2;
42
44
  if ((_props$taskMeta2 = props.taskMeta) !== null && _props$taskMeta2 !== void 0 && _props$taskMeta2.enableGoBack && hasGoBackConnector(props.applicableReasons)) setShowBackModal(true);else props.navigation.goBack();
45
+ const cta = "Back Arrow";
46
+ fireEventWithScreenName({
47
+ severityLevel: SeverityLevelValue.LOG,
48
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
49
+ screenName: ScreenNameSdkConstants.COMPLETE_PAYMENT_ET_SCREEN,
50
+ cta: cta
51
+ });
43
52
  },
44
53
  name: "arrow-back",
45
54
  color: 'black',
@@ -103,6 +112,13 @@ const CompletePaymentET = props => {
103
112
  };
104
113
  setDisableProceed(true);
105
114
  props.onSubmitET(etOutput);
115
+ const cta = "Continue";
116
+ fireEventWithScreenName({
117
+ severityLevel: SeverityLevelValue.LOG,
118
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
119
+ screenName: ScreenNameSdkConstants.COMPLETE_PAYMENT_ET_SCREEN,
120
+ cta: cta
121
+ });
106
122
  }
107
123
  }, "Continue"), props.isSelfLoop == false && /*#__PURE__*/React.createElement(Button, {
108
124
  labelStyle: CommonStyles.cancelButtonLabel,
@@ -121,6 +137,13 @@ const CompletePaymentET = props => {
121
137
  };
122
138
  setDisableProceed(true);
123
139
  props.onSubmitET(etOutput);
140
+ const cta = "Cancel";
141
+ fireEventWithScreenName({
142
+ severityLevel: SeverityLevelValue.LOG,
143
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
144
+ screenName: ScreenNameSdkConstants.COMPLETE_PAYMENT_ET_SCREEN,
145
+ cta: cta
146
+ });
124
147
  }
125
148
  }, "Cancel"))))));
126
149
  };