@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.
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js +24 -0
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -0
- package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js +44 -0
- package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -0
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +83 -0
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -0
- package/lib/commonjs/analytics/sentry/SentryModels.js +6 -0
- package/lib/commonjs/analytics/sentry/SentryModels.js.map +1 -0
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +78 -0
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -0
- package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +51 -0
- package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +23 -0
- package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
- package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +16 -0
- package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +52 -2
- package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +16 -0
- package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +41 -4
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +16 -0
- package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +23 -0
- package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +41 -18
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +14 -3
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +12 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +29 -16
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +71 -6
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +23 -0
- package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +37 -0
- package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +23 -0
- package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/pickup/PickupET.js +16 -0
- package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +44 -0
- package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/ScanET.js +40 -1
- package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +23 -0
- package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +30 -0
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +9 -0
- package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
- package/lib/commonjs/components/widgets/CancelOrderDialog.js +16 -0
- package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
- package/lib/commonjs/components/widgets/Card.js +17 -1
- package/lib/commonjs/components/widgets/Card.js.map +1 -1
- package/lib/commonjs/components/widgets/ModalWidget.js +22 -2
- package/lib/commonjs/components/widgets/ModalWidget.js.map +1 -1
- package/lib/commonjs/components/widgets/SearchBar.js +9 -0
- package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
- package/lib/commonjs/components/widgets/SnackBarCustom.js +9 -0
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/components/widgets/SplitTextInput.js +9 -0
- package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/commonjs/components/widgets/TabsComponent.js +12 -1
- package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
- package/lib/commonjs/index.js +53 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +9 -2
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSdkCache.js +3 -2
- package/lib/commonjs/manager/sdk/DispatchSdkCache.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +8 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js +3 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +206 -6
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/execTasks/ETBaseModels.js.map +1 -1
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/styles/executionTasks/CommonStyles.js +4 -4
- package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js +18 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DoodleScreen.js +9 -0
- package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js +10 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FormsScreen.js +7 -0
- package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/GeofenceScreen.js +12 -0
- package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js +9 -0
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentScreen.js +9 -0
- package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PickupScreen.js +9 -0
- package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js +12 -0
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js +30 -13
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +54 -41
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/SyncManagerUtils.js +12 -2
- package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
- package/lib/commonjs/utils/utils.js +24 -0
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/module/analytics/firebase/FirebaseLogging.js +17 -0
- package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -0
- package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js +37 -0
- package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -0
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +74 -0
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -0
- package/lib/module/analytics/sentry/SentryModels.js +2 -0
- package/lib/module/analytics/sentry/SentryModels.js.map +1 -0
- package/lib/module/analytics/sentry/SentrySdkConstants.js +72 -0
- package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -0
- package/lib/module/components/executiontasks/cancellation/CancelET.js +51 -0
- package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
- package/lib/module/components/executiontasks/captureInput/CaptureText.js +23 -0
- package/lib/module/components/executiontasks/captureInput/CaptureText.js.map +1 -1
- package/lib/module/components/executiontasks/deliver/DeliverET.js +16 -0
- package/lib/module/components/executiontasks/deliver/DeliverET.js.map +1 -1
- package/lib/module/components/executiontasks/deliver/SLDeliverET.js +52 -2
- package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
- package/lib/module/components/executiontasks/display/DisplayModalET.js +16 -0
- package/lib/module/components/executiontasks/display/DisplayModalET.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +41 -4
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/dropCash/DropCashET.js +16 -0
- package/lib/module/components/executiontasks/dropCash/DropCashET.js.map +1 -1
- package/lib/module/components/executiontasks/dropCash/SLDropCash.js +23 -0
- package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
- package/lib/module/components/executiontasks/forms/FormGenerator.js +41 -18
- package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
- package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js +14 -3
- package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +12 -1
- package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +29 -16
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +72 -7
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js +23 -0
- package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
- package/lib/module/components/executiontasks/payments/init/InitPaymentET.js +37 -0
- package/lib/module/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
- package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js +23 -0
- package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
- package/lib/module/components/executiontasks/pickup/PickupET.js +16 -0
- package/lib/module/components/executiontasks/pickup/PickupET.js.map +1 -1
- package/lib/module/components/executiontasks/pickup/SLPickupET.js +44 -0
- package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
- package/lib/module/components/executiontasks/scan/ScanET.js +40 -1
- package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +23 -0
- package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +30 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/module/components/executiontasks/verifyOtp/VerifyOtpET.js +9 -0
- package/lib/module/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
- package/lib/module/components/widgets/CancelOrderDialog.js +16 -0
- package/lib/module/components/widgets/CancelOrderDialog.js.map +1 -1
- package/lib/module/components/widgets/Card.js +17 -1
- package/lib/module/components/widgets/Card.js.map +1 -1
- package/lib/module/components/widgets/ModalWidget.js +22 -2
- package/lib/module/components/widgets/ModalWidget.js.map +1 -1
- package/lib/module/components/widgets/SearchBar.js +9 -0
- package/lib/module/components/widgets/SearchBar.js.map +1 -1
- package/lib/module/components/widgets/SnackBarCustom.js +9 -0
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/components/widgets/SplitTextInput.js +9 -0
- package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/module/components/widgets/TabsComponent.js +12 -1
- package/lib/module/components/widgets/TabsComponent.js.map +1 -1
- package/lib/module/index.js +11 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +9 -2
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSdkCache.js +3 -2
- package/lib/module/manager/sdk/DispatchSdkCache.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +8 -1
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/DBConfig.js +3 -1
- package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +207 -7
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/execTasks/ETBaseModels.js.map +1 -1
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/styles/executionTasks/CommonStyles.js +5 -5
- package/lib/module/styles/executionTasks/CommonStyles.js.map +1 -1
- package/lib/module/ui/screens/DeliverScreen.js +18 -1
- package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/module/ui/screens/DoodleScreen.js +9 -0
- package/lib/module/ui/screens/DoodleScreen.js.map +1 -1
- package/lib/module/ui/screens/DropCashScreen.js +10 -0
- package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/module/ui/screens/FormsScreen.js +7 -0
- package/lib/module/ui/screens/FormsScreen.js.map +1 -1
- package/lib/module/ui/screens/GeofenceScreen.js +12 -0
- package/lib/module/ui/screens/GeofenceScreen.js.map +1 -1
- package/lib/module/ui/screens/ImageCaptureScreen.js +9 -0
- package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentScreen.js +9 -0
- package/lib/module/ui/screens/PaymentScreen.js.map +1 -1
- package/lib/module/ui/screens/PickupScreen.js +9 -0
- package/lib/module/ui/screens/PickupScreen.js.map +1 -1
- package/lib/module/ui/screens/ValidateOTPScreen.js +12 -0
- package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js +30 -13
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/Logger.js +54 -39
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/SyncManagerUtils.js +12 -2
- package/lib/module/utils/SyncManagerUtils.js.map +1 -1
- package/lib/module/utils/utils.js +22 -0
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/typescript/analytics/firebase/FirebaseLogging.d.ts +2 -0
- package/lib/typescript/analytics/sentry/SentryAnalyticsSingleton.d.ts +11 -0
- package/lib/typescript/analytics/sentry/SentryAnalyticsUtils.d.ts +2 -0
- package/lib/typescript/analytics/sentry/SentryModels.d.ts +15 -0
- package/lib/typescript/analytics/sentry/SentrySdkConstants.d.ts +66 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureSchema.d.ts +4 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureUtils.d.ts +7 -1
- package/lib/typescript/index.d.ts +7 -0
- package/lib/typescript/manager/dispatch/DispatchStateContainer.d.ts +2 -0
- package/lib/typescript/manager/location/LocationManager.d.ts +1 -0
- package/lib/typescript/manager/sdk/DispatchSdkCache.d.ts +2 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/DBConfig.d.ts +4 -0
- package/lib/typescript/manager/syncmanager/document/DocumentManager.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/document/DocumentSyncManager.d.ts +5 -1
- package/lib/typescript/models/execTasks/ETBaseModels.d.ts +25 -6
- package/lib/typescript/models/sdk.d.ts +1 -0
- package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +4 -4
- package/lib/typescript/utils/Logger.d.ts +0 -3
- package/lib/typescript/utils/SyncManagerUtils.d.ts +1 -1
- package/lib/typescript/utils/utils.d.ts +4 -0
- package/package.json +10 -7
- package/src/analytics/firebase/FirebaseLogging.ts +25 -0
- package/src/analytics/sentry/SentryAnalyticsSingleton.ts +35 -0
- package/src/analytics/sentry/SentryAnalyticsUtils.ts +77 -0
- package/src/analytics/sentry/SentryModels.ts +18 -0
- package/src/analytics/sentry/SentrySdkConstants.ts +77 -0
- package/src/components/executiontasks/cancellation/CancelET.tsx +25 -2
- package/src/components/executiontasks/captureInput/CaptureText.tsx +15 -2
- package/src/components/executiontasks/deliver/DeliverET.tsx +8 -0
- package/src/components/executiontasks/deliver/SLDeliverET.tsx +22 -5
- package/src/components/executiontasks/display/DisplayModalET.tsx +8 -0
- package/src/components/executiontasks/doodle/SignatureET.tsx +37 -4
- package/src/components/executiontasks/dropCash/DropCashET.tsx +9 -0
- package/src/components/executiontasks/dropCash/SLDropCash.tsx +11 -0
- package/src/components/executiontasks/forms/FormGenerator.tsx +46 -29
- package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +10 -3
- package/src/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.tsx +8 -1
- package/src/components/executiontasks/imageCapture/CaptureSchema.ts +4 -0
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +45 -18
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +42 -7
- package/src/components/executiontasks/payments/completePayment/CompletePaymentET.tsx +11 -0
- package/src/components/executiontasks/payments/init/InitPaymentET.tsx +17 -0
- package/src/components/executiontasks/payments/processPayment/ProcessPaymentET.tsx +11 -0
- package/src/components/executiontasks/pickup/PickupET.tsx +8 -0
- package/src/components/executiontasks/pickup/SLPickupET.tsx +19 -0
- package/src/components/executiontasks/scan/ScanET.tsx +19 -1
- package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +11 -0
- package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +14 -0
- package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +2 -0
- package/src/components/executiontasks/verifyOtp/VerifyOtpET.tsx +5 -0
- package/src/components/widgets/CancelOrderDialog.tsx +7 -0
- package/src/components/widgets/Card.tsx +9 -1
- package/src/components/widgets/ModalWidget.tsx +16 -2
- package/src/components/widgets/SearchBar.tsx +6 -1
- package/src/components/widgets/SnackBarCustom.tsx +4 -0
- package/src/components/widgets/SplitTextInput.tsx +6 -0
- package/src/components/widgets/TabsComponent.tsx +8 -1
- package/src/index.tsx +10 -3
- package/src/manager/location/LocationManager.ts +8 -1
- package/src/manager/sdk/DispatchSDKManager.ts +8 -2
- package/src/manager/sdk/DispatchSdkCache.ts +2 -1
- package/src/manager/sdk/callbacksHandler.ts +12 -1
- package/src/manager/syncmanager/DBConfig.ts +4 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +105 -5
- package/src/manager/syncmanager/document/DocumentManager.ts +28 -2
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +230 -5
- package/src/models/execTasks/ETBaseModels.ts +20 -7
- package/src/models/sdk.ts +1 -0
- package/src/styles/executionTasks/CommonStyles.ts +5 -5
- package/src/ui/screens/DeliverScreen.tsx +9 -0
- package/src/ui/screens/DoodleScreen.tsx +5 -0
- package/src/ui/screens/DropCashScreen.tsx +6 -0
- package/src/ui/screens/FormsScreen.tsx +3 -0
- package/src/ui/screens/GeofenceScreen.tsx +11 -1
- package/src/ui/screens/ImageCaptureScreen.tsx +5 -0
- package/src/ui/screens/PaymentScreen.tsx +5 -0
- package/src/ui/screens/PickupScreen.tsx +7 -1
- package/src/ui/screens/ValidateOTPScreen.tsx +10 -0
- package/src/utils/ExecTaskUtils.ts +36 -10
- package/src/utils/Logger.ts +50 -51
- package/src/utils/SyncManagerUtils.ts +20 -2
- package/src/utils/utils.ts +23 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_DateTimeWidget","_interopRequireDefault","_TimeRangeSelector","_QRBarcodeScannerWidget","_DropdownWidget","_reactNativePaper","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_CommonStyles","_SdkColors","_MaterialIcons","_constants","_utils","_GoBackModal","_native","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","customWidgets","datePicker","DateTimeWidget","timeRangeSelector","TimeRangeSelector","scanner","QRBarcodeScannerWidget","select","DropdownWidget","FormGenerator","props","form","useRef","showBackModal","setShowBackModal","useState","onCancel","setOnCancel","useFocusEffect","React","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","navigation","goBack","BackHandler","addEventListener","removeEventListener","useLayoutEffect","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","FORMS","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","data","onFailure","Provider","KeyboardAvoidingView","CommonStyles","mainContainer","ScrollView","flex","flexGrow","View","padding","FormContext","value","defaultProps","requiredTitle","theme","primaryColor","SdkColors","ColorTheme","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","Platform","OS","Fonts","IBMPlexSans_400Regular","Text","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","getEventCodeByET","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","isSelfLoop","Button","cancelButton","marginEnd","labelStyle","cancelButtonLabel","mode","current","submit","nextButton","marginStart","nextButtonLabel","_default","exports","StyleSheet","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\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 <Icon\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 const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { marginEnd: 10, flexGrow: 1 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n }}\n >Cancel\n </Button>\n }\n <Button\n style={[CommonStyles.nextButton, { marginStart: 10, flexGrow: 1 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n }}\n >Proceed\n </Button>\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n backgroundColor: 'white',\n padding: 16,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_DateTimeWidget","_interopRequireDefault","_TimeRangeSelector","_QRBarcodeScannerWidget","_DropdownWidget","_reactNativePaper","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_CommonStyles","_SdkColors","_MaterialIcons","_constants","_utils","_GoBackModal","_native","_SentrySdkConstants","_SentryAnalyticsUtils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","customWidgets","datePicker","DateTimeWidget","timeRangeSelector","TimeRangeSelector","scanner","QRBarcodeScannerWidget","select","DropdownWidget","FormGenerator","props","form","useRef","showBackModal","setShowBackModal","useState","onCancel","setOnCancel","useFocusEffect","React","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","navigation","goBack","BackHandler","addEventListener","removeEventListener","useLayoutEffect","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","FORMS","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","data","onFailure","Provider","KeyboardAvoidingView","CommonStyles","mainContainer","ScrollView","flex","flexGrow","View","padding","FormContext","value","defaultProps","requiredTitle","theme","primaryColor","SdkColors","ColorTheme","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","Platform","OS","Fonts","IBMPlexSans_400Regular","Text","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","getEventCodeByET","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","Button","nextButton","width","marginStart","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","marginEnd","cancelButtonLabel","_default","exports","StyleSheet","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\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 <Icon\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.FORM_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 const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <View>\n <Button\n style={[CommonStyles.nextButton, { width: 165, marginStart: 10 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n <View>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { width: 165, marginEnd: 10 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _datetimepicker = _interopRequireDefault(require("@react-native-community/datetimepicker"));
|
|
10
10
|
var _rjsfNative = require("rjsf-native");
|
|
11
11
|
var _SdkColors = _interopRequireWildcard(require("../../../../styles/SdkColors"));
|
|
12
|
+
var _SentrySdkConstants = require("../../../../analytics/sentry/SentrySdkConstants");
|
|
13
|
+
var _SentryAnalyticsUtils = require("../../../../analytics/sentry/SentryAnalyticsUtils");
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -41,7 +43,7 @@ const DateTimeWidget = _ref => {
|
|
|
41
43
|
color: theme.textColor
|
|
42
44
|
};
|
|
43
45
|
const onDateChange = (_event, selectedDate) => {
|
|
44
|
-
setShow(
|
|
46
|
+
setShow(false);
|
|
45
47
|
if (selectedDate) {
|
|
46
48
|
const currentDate = selectedDate;
|
|
47
49
|
let dateTimeValue = getValueBasedOnMode(options, currentDate);
|
|
@@ -52,7 +54,16 @@ const DateTimeWidget = _ref => {
|
|
|
52
54
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
53
55
|
style: styles.container
|
|
54
56
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
55
|
-
onPress: () =>
|
|
57
|
+
onPress: () => {
|
|
58
|
+
setShow(true);
|
|
59
|
+
const cta = label;
|
|
60
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
61
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
62
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.BUTTON_CLICKED,
|
|
63
|
+
screenName: _SentrySdkConstants.ScreenNameSdkConstants.DATE_TIME_WIDGET_SCREEN,
|
|
64
|
+
cta: cta
|
|
65
|
+
});
|
|
66
|
+
}
|
|
56
67
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
|
57
68
|
editable: false,
|
|
58
69
|
onTouchStart: () => setShow(true),
|
|
@@ -74,7 +85,7 @@ const DateTimeWidget = _ref => {
|
|
|
74
85
|
minimumDate: options.mode === 'date' ? new Date() : undefined,
|
|
75
86
|
maximumDate: maxDate,
|
|
76
87
|
is24Hour: false,
|
|
77
|
-
display: _reactNative.Platform.OS === 'ios' ? '
|
|
88
|
+
display: _reactNative.Platform.OS === 'ios' ? 'inline' : 'default',
|
|
78
89
|
onChange: onDateChange,
|
|
79
90
|
value: date ?? new Date(),
|
|
80
91
|
textColor: 'red'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_datetimepicker","_interopRequireDefault","_rjsfNative","_SdkColors","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MODES","DATE","TIME","DATETIME","DateTimeWidget","_ref","id","label","value","onChange","onFocus","autofocus","options","rawErrors","maxDate","show","setShow","useState","date","setDate","theme","useFormContext","focused","setFocused","themedStyle","borderColor","length","errorColor","highlightColor","borderWidth","color","textColor","onDateChange","_event","selectedDate","Platform","OS","currentDate","dateTimeValue","getValueBasedOnMode","createElement","View","style","styles","container","TouchableOpacity","onPress","TextInput","editable","onTouchStart","placeholder","selectionColor","autoFocus","placeholderTextColor","input","testID","mode","getWidgetType","minimumDate","Date","undefined","maximumDate","is24Hour","display","uiOptions","toISOString","substring","toLocaleTimeString","slice","toLocaleString","StyleSheet","create","flex","SdkColors","ColorTheme","LIGHT","primaryButton","paddingHorizontal","paddingTop","paddingBottom","borderRadius","fontSize","_default","exports"],"sources":["DateTimeWidget.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Platform,\n StyleSheet,\n TextInput,\n TouchableOpacity,\n View,\n} from 'react-native';\nimport DateTimePicker, { Event } from '@react-native-community/datetimepicker';\nimport type { WidgetProps } from '@rjsf/core';\nimport { useFormContext } from 'rjsf-native';\nimport SdkColors, { ColorTheme } from '../../../../styles/SdkColors';\n\nconst MODES = {\n DATE: 'date',\n TIME: 'time',\n DATETIME: 'datetime',\n};\n\ntype DateWidgetProps = WidgetProps & {\n minDate?: Date;\n maxDate?: Date;\n};\n\nconst DateTimeWidget = ({\n id,\n label,\n value,\n onChange,\n onFocus,\n autofocus,\n options,\n rawErrors,\n maxDate,\n}: DateWidgetProps) => {\n const [show, setShow] = useState(false);\n const [date, setDate] = useState<Date | null>(null);\n const { theme } = useFormContext();\n const [focused, setFocused] = useState(false);\n\n const themedStyle = {\n borderColor:\n rawErrors?.length > 0\n ? theme.errorColor\n : focused\n ? theme.highlightColor\n : theme.borderColor,\n borderWidth: focused ? 2 : 1.5,\n color: theme.textColor,\n };\n const onDateChange = (_event: Event, selectedDate?: Date) => {\n setShow(Platform.OS === 'ios');\n if (selectedDate) {\n const currentDate = selectedDate;\n let dateTimeValue = getValueBasedOnMode(options, currentDate);\n setDate(currentDate);\n onChange(dateTimeValue);\n }\n };\n\n return (\n <View style={styles.container}>\n <TouchableOpacity onPress={() => setShow(true)}>\n <TextInput\n editable={false}\n onTouchStart={() => setShow(true)}\n value={getValueBasedOnMode(options, date)}\n placeholder={label}\n selectionColor={'#6200EE'}\n autoFocus={autofocus}\n onFocus={() => {\n setFocused(true);\n onFocus(id, value);\n }}\n placeholderTextColor={theme.placeholderTextColor}\n style={[styles.input, themedStyle]}\n />\n </TouchableOpacity>\n {show && (\n <DateTimePicker\n testID=\"dateTimePicker\"\n // @ts-ignore\n mode={getWidgetType(options.mode)}\n minimumDate={options.mode === 'date' ? new Date() : undefined}\n maximumDate={maxDate}\n is24Hour={false}\n display={Platform.OS === 'ios' ? 'compact' : 'default'}\n onChange={onDateChange}\n value={date ?? new Date()}\n textColor={'red'}\n />\n )}\n </View>\n );\n};\n\nfunction getWidgetType(mode: string): string {\n switch (mode) {\n case 'date':\n return MODES.DATE;\n case 'time':\n return MODES.TIME;\n case 'datetime':\n return MODES.DATETIME;\n default:\n return MODES.DATE;\n }\n}\n\nfunction getValueBasedOnMode(uiOptions: any, date: Date | null): string {\n if (!date) return '';\n switch (uiOptions.mode) {\n case 'date':\n return date.toISOString().substring(0, 10);\n case 'time':\n return date.toLocaleTimeString().slice(0, 5);\n case 'datetime':\n return date.toLocaleString();\n default:\n return date.toLocaleString();\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n input: {\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderWidth: 1,\n paddingHorizontal: 16,\n paddingTop: 15,\n paddingBottom: 15,\n borderRadius: 4,\n fontSize: 16,\n color: '#111111',\n },\n});\n\n/**\n * max and min date has to be implemented\n */\n\nexport default DateTimeWidget;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_datetimepicker","_interopRequireDefault","_rjsfNative","_SdkColors","_SentrySdkConstants","_SentryAnalyticsUtils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MODES","DATE","TIME","DATETIME","DateTimeWidget","_ref","id","label","value","onChange","onFocus","autofocus","options","rawErrors","maxDate","show","setShow","useState","date","setDate","theme","useFormContext","focused","setFocused","themedStyle","borderColor","length","errorColor","highlightColor","borderWidth","color","textColor","onDateChange","_event","selectedDate","currentDate","dateTimeValue","getValueBasedOnMode","createElement","View","style","styles","container","TouchableOpacity","onPress","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","DATE_TIME_WIDGET_SCREEN","TextInput","editable","onTouchStart","placeholder","selectionColor","autoFocus","placeholderTextColor","input","testID","mode","getWidgetType","minimumDate","Date","undefined","maximumDate","is24Hour","display","Platform","OS","uiOptions","toISOString","substring","toLocaleTimeString","slice","toLocaleString","StyleSheet","create","flex","SdkColors","ColorTheme","LIGHT","primaryButton","paddingHorizontal","paddingTop","paddingBottom","borderRadius","fontSize","_default","exports"],"sources":["DateTimeWidget.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Platform,\n StyleSheet,\n TextInput,\n TouchableOpacity,\n View,\n} from 'react-native';\nimport DateTimePicker, { Event } from '@react-native-community/datetimepicker';\nimport type { WidgetProps } from '@rjsf/core';\nimport { useFormContext } from 'rjsf-native';\nimport SdkColors, { ColorTheme } from '../../../../styles/SdkColors';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../../analytics/sentry/SentryAnalyticsUtils';\n\n\nconst MODES = {\n DATE: 'date',\n TIME: 'time',\n DATETIME: 'datetime',\n};\n\ntype DateWidgetProps = WidgetProps & {\n minDate?: Date;\n maxDate?: Date;\n};\n\nconst DateTimeWidget = ({\n id,\n label,\n value,\n onChange,\n onFocus,\n autofocus,\n options,\n rawErrors,\n maxDate,\n}: DateWidgetProps) => {\n const [show, setShow] = useState(false);\n const [date, setDate] = useState<Date | null>(null);\n const { theme } = useFormContext();\n const [focused, setFocused] = useState(false);\n\n const themedStyle = {\n borderColor:\n rawErrors?.length > 0\n ? theme.errorColor\n : focused\n ? theme.highlightColor\n : theme.borderColor,\n borderWidth: focused ? 2 : 1.5,\n color: theme.textColor,\n };\n const onDateChange = (_event: Event, selectedDate?: Date) => {\n setShow(false);\n if (selectedDate) {\n const currentDate = selectedDate;\n let dateTimeValue = getValueBasedOnMode(options, currentDate);\n setDate(currentDate);\n onChange(dateTimeValue);\n }\n };\n\n return (\n <View style={styles.container}>\n <TouchableOpacity onPress={() => {setShow(true)\n const cta = label;\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.DATE_TIME_WIDGET_SCREEN, cta: cta }); \n \n }}>\n <TextInput\n editable={false}\n onTouchStart={() => setShow(true)}\n value={getValueBasedOnMode(options, date)}\n placeholder={label}\n selectionColor={'#6200EE'}\n autoFocus={autofocus}\n onFocus={() => {\n setFocused(true);\n onFocus(id, value);\n }}\n placeholderTextColor={theme.placeholderTextColor}\n style={[styles.input, themedStyle]}\n />\n </TouchableOpacity>\n {show && (\n <DateTimePicker\n testID=\"dateTimePicker\"\n // @ts-ignore\n mode={getWidgetType(options.mode)}\n minimumDate={options.mode === 'date' ? new Date() : undefined}\n maximumDate={maxDate}\n is24Hour={false}\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={onDateChange}\n value={date ?? new Date()}\n textColor={'red'}\n />\n )}\n </View>\n );\n};\n\nfunction getWidgetType(mode: string): string {\n switch (mode) {\n case 'date':\n return MODES.DATE;\n case 'time':\n return MODES.TIME;\n case 'datetime':\n return MODES.DATETIME;\n default:\n return MODES.DATE;\n }\n}\n\nfunction getValueBasedOnMode(uiOptions: any, date: Date | null): string {\n if (!date) return '';\n switch (uiOptions.mode) {\n case 'date':\n return date.toISOString().substring(0, 10);\n case 'time':\n return date.toLocaleTimeString().slice(0, 5);\n case 'datetime':\n return date.toLocaleString();\n default:\n return date.toLocaleString();\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n input: {\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderWidth: 1,\n paddingHorizontal: 16,\n paddingTop: 15,\n paddingBottom: 15,\n borderRadius: 4,\n fontSize: 16,\n color: '#111111',\n },\n});\n\n/**\n * max and min date has to be implemented\n */\n\nexport default DateTimeWidget;\n"],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _rjsfNative = require("rjsf-native");
|
|
10
10
|
var _vectorIcons = require("@expo/vector-icons");
|
|
11
11
|
var _CScanner = _interopRequireDefault(require("../../scan/sub_components/CScanner"));
|
|
12
|
+
var _SentrySdkConstants = require("../../../../analytics/sentry/SentrySdkConstants");
|
|
13
|
+
var _SentryAnalyticsUtils = require("../../../../analytics/sentry/SentryAnalyticsUtils");
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -36,7 +38,16 @@ const QRBarcodeScannerWidget = _ref => {
|
|
|
36
38
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
37
39
|
style: styles.container
|
|
38
40
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
39
|
-
onPress: () =>
|
|
41
|
+
onPress: () => {
|
|
42
|
+
setShow(true);
|
|
43
|
+
const cta = label;
|
|
44
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
45
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
46
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.BUTTON_CLICKED,
|
|
47
|
+
screenName: _SentrySdkConstants.ScreenNameSdkConstants.QRBARCODE_WIDGET_SCREEN,
|
|
48
|
+
cta: cta
|
|
49
|
+
});
|
|
50
|
+
}
|
|
40
51
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
|
41
52
|
editable: false,
|
|
42
53
|
onTouchStart: () => setShow(true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_vectorIcons","_CScanner","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","QRBarcodeScannerWidget","_ref","id","label","value","onChange","onFocus","autofocus","rawErrors","show","setShow","useState","scannerOutput","setScannerOutput","React","theme","useFormContext","focused","setFocused","themedStyle","borderColor","length","errorColor","highlightColor","borderWidth","color","textColor","createElement","View","style","styles","container","TouchableOpacity","onPress","TextInput","editable","onTouchStart","placeholder","autoFocus","selectionColor","placeholderTextColor","input","ScannerDialog","onSubmitDialog","data","onModalClose","props","modalVisible","setModalVisible","centeredView","Modal","animationType","transparent","visible","onRequestClose","modalContent","Text","modalText","barCodeTypes","onScanned","result","AntDesign","name","size","StyleSheet","create","flex","justifyContent","alignItems","marginTop","margin","backgroundColor","borderRadius","padding","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","marginBottom","textAlign","paddingHorizontal","paddingTop","paddingBottom","fontSize","_default","exports"],"sources":["QRBarcodeScannerWidget.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Modal,\n StyleSheet,\n Text,\n TextInput,\n TouchableOpacity,\n View,\n} from 'react-native';\nimport type { WidgetProps } from '@rjsf/core';\nimport { useFormContext } from 'rjsf-native';\nimport { AntDesign } from '@expo/vector-icons';\nimport CScanner from '../../scan/sub_components/CScanner';\n\nconst QRBarcodeScannerWidget = ({\n id,\n label,\n value,\n onChange,\n onFocus,\n autofocus,\n rawErrors,\n}: WidgetProps) => {\n const [show, setShow] = useState(false);\n const [scannerOutput, setScannerOutput] = React.useState<string>('');\n const { theme } = useFormContext();\n const [focused, setFocused] = useState(false);\n\n const themedStyle = {\n borderColor:\n rawErrors?.length > 0\n ? theme.errorColor\n : focused\n ? theme.highlightColor\n : theme.borderColor,\n borderWidth: focused ? 2 : 1,\n color: theme.textColor,\n };\n\n return (\n <View style={styles.container}>\n <TouchableOpacity onPress={() => setShow(true)}>\n <TextInput\n editable={false}\n onTouchStart={() => setShow(true)}\n value={scannerOutput}\n placeholder={label}\n autoFocus={autofocus}\n onFocus={() => {\n setFocused(true);\n onFocus(id, value);\n }}\n selectionColor={theme.highlightColor}\n placeholderTextColor={theme.placeholderTextColor}\n style={[styles.input, themedStyle]}\n />\n </TouchableOpacity>\n {show && (\n <ScannerDialog\n onSubmitDialog={(data) => {\n setScannerOutput(data);\n onChange(data);\n }}\n /**\n * Failure case impl.*/\n onModalClose={() => setShow(false)}\n />\n )}\n </View>\n );\n};\n\nfunction ScannerDialog(props: ScannerDialogProps) {\n const [modalVisible, setModalVisible] = useState(true);\n\n return (\n <View style={styles.centeredView}>\n <Modal\n animationType=\"slide\"\n transparent={true}\n visible={modalVisible}\n onRequestClose={() => {\n setModalVisible(!modalVisible);\n props.onModalClose();\n }}\n >\n <View style={styles.centeredView}>\n <View style={styles.modalContent}>\n <Text style={styles.modalText}>Barcode/QR Scanner</Text>\n <CScanner\n barCodeTypes={[]}\n onScanned={(result) => {\n props.onSubmitDialog(result);\n setModalVisible(false);\n props.onModalClose();\n }}\n />\n <AntDesign\n name=\"closecircleo\"\n size={40}\n color=\"blue\"\n onPress={() => {\n setModalVisible(false);\n props.onModalClose();\n }}\n />\n </View>\n </View>\n </Modal>\n </View>\n );\n}\nconst styles = StyleSheet.create({\n centeredView: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n marginTop: 22,\n },\n modalContent: {\n margin: 20,\n backgroundColor: 'white',\n borderRadius: 20,\n padding: 35,\n alignItems: 'center',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n },\n modalText: {\n marginBottom: 15,\n textAlign: 'center',\n },\n container: {\n flex: 1,\n },\n input: {\n borderColor: '#979B9E',\n borderWidth: 1,\n paddingHorizontal: 16,\n paddingTop: 15,\n paddingBottom: 15,\n borderRadius: 4,\n fontSize: 16,\n color: '#333333',\n },\n});\n\nexport interface ScannerDialogProps {\n onSubmitDialog: (value: string) => void;\n onModalClose: () => void;\n}\nexport default QRBarcodeScannerWidget;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_vectorIcons","_CScanner","_interopRequireDefault","_SentrySdkConstants","_SentryAnalyticsUtils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","QRBarcodeScannerWidget","_ref","id","label","value","onChange","onFocus","autofocus","rawErrors","show","setShow","useState","scannerOutput","setScannerOutput","React","theme","useFormContext","focused","setFocused","themedStyle","borderColor","length","errorColor","highlightColor","borderWidth","color","textColor","createElement","View","style","styles","container","TouchableOpacity","onPress","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","QRBARCODE_WIDGET_SCREEN","TextInput","editable","onTouchStart","placeholder","autoFocus","selectionColor","placeholderTextColor","input","ScannerDialog","onSubmitDialog","data","onModalClose","props","modalVisible","setModalVisible","centeredView","Modal","animationType","transparent","visible","onRequestClose","modalContent","Text","modalText","barCodeTypes","onScanned","result","AntDesign","name","size","StyleSheet","create","flex","justifyContent","alignItems","marginTop","margin","backgroundColor","borderRadius","padding","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","marginBottom","textAlign","paddingHorizontal","paddingTop","paddingBottom","fontSize","_default","exports"],"sources":["QRBarcodeScannerWidget.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Modal,\n StyleSheet,\n Text,\n TextInput,\n TouchableOpacity,\n View,\n} from 'react-native';\nimport type { WidgetProps } from '@rjsf/core';\nimport { useFormContext } from 'rjsf-native';\nimport { AntDesign } from '@expo/vector-icons';\nimport CScanner from '../../scan/sub_components/CScanner';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst QRBarcodeScannerWidget = ({\n id,\n label,\n value,\n onChange,\n onFocus,\n autofocus,\n rawErrors,\n}: WidgetProps) => {\n const [show, setShow] = useState(false);\n const [scannerOutput, setScannerOutput] = React.useState<string>('');\n const { theme } = useFormContext();\n const [focused, setFocused] = useState(false);\n\n const themedStyle = {\n borderColor:\n rawErrors?.length > 0\n ? theme.errorColor\n : focused\n ? theme.highlightColor\n : theme.borderColor,\n borderWidth: focused ? 2 : 1,\n color: theme.textColor,\n };\n\n return (\n <View style={styles.container}>\n <TouchableOpacity onPress={() => {setShow(true)\n const cta = label;\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.QRBARCODE_WIDGET_SCREEN, cta: cta }); \n \n \n }}>\n <TextInput\n editable={false}\n onTouchStart={() => setShow(true)}\n value={scannerOutput}\n placeholder={label}\n autoFocus={autofocus}\n onFocus={() => {\n setFocused(true);\n onFocus(id, value);\n }}\n selectionColor={theme.highlightColor}\n placeholderTextColor={theme.placeholderTextColor}\n style={[styles.input, themedStyle]}\n />\n </TouchableOpacity>\n {show && (\n <ScannerDialog\n onSubmitDialog={(data) => {\n setScannerOutput(data);\n onChange(data);\n }}\n /**\n * Failure case impl.*/\n onModalClose={() => setShow(false)}\n />\n )}\n </View>\n );\n};\n\nfunction ScannerDialog(props: ScannerDialogProps) {\n const [modalVisible, setModalVisible] = useState(true);\n\n return (\n <View style={styles.centeredView}>\n <Modal\n animationType=\"slide\"\n transparent={true}\n visible={modalVisible}\n onRequestClose={() => {\n setModalVisible(!modalVisible);\n props.onModalClose();\n }}\n >\n <View style={styles.centeredView}>\n <View style={styles.modalContent}>\n <Text style={styles.modalText}>Barcode/QR Scanner</Text>\n <CScanner\n barCodeTypes={[]}\n onScanned={(result) => {\n props.onSubmitDialog(result);\n setModalVisible(false);\n props.onModalClose();\n }}\n />\n <AntDesign\n name=\"closecircleo\"\n size={40}\n color=\"blue\"\n onPress={() => {\n setModalVisible(false);\n props.onModalClose();\n }}\n />\n </View>\n </View>\n </Modal>\n </View>\n );\n}\nconst styles = StyleSheet.create({\n centeredView: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n marginTop: 22,\n },\n modalContent: {\n margin: 20,\n backgroundColor: 'white',\n borderRadius: 20,\n padding: 35,\n alignItems: 'center',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n },\n modalText: {\n marginBottom: 15,\n textAlign: 'center',\n },\n container: {\n flex: 1,\n },\n input: {\n borderColor: '#979B9E',\n borderWidth: 1,\n paddingHorizontal: 16,\n paddingTop: 15,\n paddingBottom: 15,\n borderRadius: 4,\n fontSize: 16,\n color: '#333333',\n },\n});\n\nexport interface ScannerDialogProps {\n onSubmitDialog: (value: string) => void;\n onModalClose: () => void;\n}\nexport default QRBarcodeScannerWidget;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["CaptureSchema.ts"],"sourcesContent":["/**\n * Length (in cm)\n */\nimport type {\n BaseETRequest,\n BaseETResponse,\n} from '../../../models/execTasks/ETBaseModels';\n\nexport interface CapturedImage {\n /**\n * Url of image\n */\n url: string;\n file?: { folder: string; name: string };\n\n /**\n * Epoch timestamp for the image capture\n */\n timestamp: number;\n}\n\nexport type CaptureOutput = BaseETResponse & {\n /**\n * Array of captured images\n */\n captures?: CapturedImage[];\n};\n\nexport type ImageData = {\n id: string;\n path: string;\n url: string;\n timestamp: number;\n};\n\n/**\n * Length (in cm)\n */\nexport type Length = number;\n/**\n * Breadth (in cm)\n */\nexport type Breadth = number;\n/**\n * Maximum Size limit (in kb) of image to be captured\n */\nexport type MaxFileSize = number;\n/**\n * Mode of capturing image\n */\nexport type CaptureMode = 'SINGLE' | 'MULTI';\n/**\n * Max limit of images to be captured in multi-capture mode\n */\nexport type MaxImageCount = number;\n/**\n * Title of instruction\n */\nexport type Title = string;\n/**\n * Message of instruction\n */\nexport type Message = string;\n/**\n * Can go back\n */\nexport type CanGoBack = boolean;\n\nexport type MultiAdditionalConfig = '1' | 'N';\n\nexport interface AdditionalMultiConfig {\n minCaptureCount: MultiAdditionalConfig;\n}\n\nexport type CaptureInput = BaseETRequest & {\n isSelfLoop: boolean;\n resolution: Resolution;\n fileSizeLimit: MaxFileSize;\n captureMode: CaptureMode;\n captureCountLimit?: MaxImageCount;\n additionalMultiConfig?: AdditionalMultiConfig;\n onSubmitET: (etOutput: CaptureOutput) => void;\n} & {\n captureCount: number;\n jobIds: string[];\n objRefs: string[];\n};\n/**\n * Resolution of image to be captured\n */\nexport interface Resolution {\n length: Length;\n breadth: Breadth;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["CaptureSchema.ts"],"sourcesContent":["/**\n * Length (in cm)\n */\nimport type {\n BaseETRequest,\n BaseETResponse,\n} from '../../../models/execTasks/ETBaseModels';\n\nexport interface CapturedImage {\n /**\n * Url of image\n */\n url: string;\n file?: { folder: string; name: string };\n\n /**\n * Epoch timestamp for the image capture\n */\n timestamp: number;\n}\n\nexport type CaptureOutput = BaseETResponse & {\n /**\n * Array of captured images\n */\n captures?: CapturedImage[];\n};\n\nexport type ImageData = {\n id: string;\n path: string;\n url: string;\n timestamp: number;\n lat: string;\n lng: string;\n accuracy: string;\n dateTime: string;\n};\n\n/**\n * Length (in cm)\n */\nexport type Length = number;\n/**\n * Breadth (in cm)\n */\nexport type Breadth = number;\n/**\n * Maximum Size limit (in kb) of image to be captured\n */\nexport type MaxFileSize = number;\n/**\n * Mode of capturing image\n */\nexport type CaptureMode = 'SINGLE' | 'MULTI';\n/**\n * Max limit of images to be captured in multi-capture mode\n */\nexport type MaxImageCount = number;\n/**\n * Title of instruction\n */\nexport type Title = string;\n/**\n * Message of instruction\n */\nexport type Message = string;\n/**\n * Can go back\n */\nexport type CanGoBack = boolean;\n\nexport type MultiAdditionalConfig = '1' | 'N';\n\nexport interface AdditionalMultiConfig {\n minCaptureCount: MultiAdditionalConfig;\n}\n\nexport type CaptureInput = BaseETRequest & {\n isSelfLoop: boolean;\n resolution: Resolution;\n fileSizeLimit: MaxFileSize;\n captureMode: CaptureMode;\n captureCountLimit?: MaxImageCount;\n additionalMultiConfig?: AdditionalMultiConfig;\n onSubmitET: (etOutput: CaptureOutput) => void;\n} & {\n captureCount: number;\n jobIds: string[];\n objRefs: string[];\n};\n/**\n * Resolution of image to be captured\n */\nexport interface Resolution {\n length: Length;\n breadth: Breadth;\n}\n"],"mappings":""}
|
|
@@ -15,7 +15,6 @@ var FileSystem = _interopRequireWildcard(require("expo-file-system"));
|
|
|
15
15
|
var _expoImagePicker = _interopRequireWildcard(require("expo-image-picker"));
|
|
16
16
|
var ImagePicker = _expoImagePicker;
|
|
17
17
|
var _Toaster = require("../../widgets/Toaster");
|
|
18
|
-
var ImageManipulator = _interopRequireWildcard(require("expo-image-manipulator"));
|
|
19
18
|
var _Logger = _interopRequireWildcard(require("../../../utils/Logger"));
|
|
20
19
|
var _ExecTaskUtils = require("../../../utils/ExecTaskUtils");
|
|
21
20
|
var _EventCodeContainer = require("../../../manager/dispatchCodes/EventCodeContainer");
|
|
@@ -25,6 +24,8 @@ var _ErrorCodes = _interopRequireDefault(require("../../../errors/ErrorCodes"));
|
|
|
25
24
|
var _DispatchSdkCache = _interopRequireDefault(require("../../../manager/sdk/DispatchSdkCache"));
|
|
26
25
|
var _SyncManagerUtils = require("../../../utils/SyncManagerUtils");
|
|
27
26
|
var _reactNativeImagePicker = require("react-native-image-picker");
|
|
27
|
+
var _reactNativeCompressor = require("react-native-compressor");
|
|
28
|
+
var _storage = _interopRequireDefault(require("../../../utils/storage"));
|
|
28
29
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
30
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
30
31
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -154,29 +155,40 @@ async function captureImage(imageWidth, imageHeight, fileSize) {
|
|
|
154
155
|
console.log("aks:uri-after=", uri);
|
|
155
156
|
//
|
|
156
157
|
if (uri != null) {
|
|
157
|
-
//
|
|
158
158
|
let compressionRatio = await getCompressionRatio(uri, fileSize);
|
|
159
|
-
console.log(
|
|
160
|
-
|
|
159
|
+
console.log('aks:compressionRatio=', compressionRatio);
|
|
160
|
+
_storage.default.getInstance().setItem('maxSize', String(fileSize));
|
|
161
|
+
_storage.default.getInstance().setItem('cRatio', String(compressionRatio));
|
|
162
|
+
console.log('aks:uri=', uri);
|
|
163
|
+
let resizedImage1 = await _reactNativeCompressor.Image.compress(uri, {
|
|
164
|
+
compressionMethod: 'manual',
|
|
165
|
+
quality: compressionRatio
|
|
166
|
+
});
|
|
161
167
|
//
|
|
162
|
-
|
|
163
|
-
|
|
168
|
+
console.log('aks:resizedImage1=', resizedImage1);
|
|
169
|
+
// If captured image file path does not have prefix file:// then we are addding manually
|
|
170
|
+
if (!resizedImage1.includes('file')) {
|
|
171
|
+
resizedImage1 = 'file://' + resizedImage1;
|
|
172
|
+
}
|
|
173
|
+
console.log('aks:resizedImage2=', resizedImage1);
|
|
174
|
+
let resizedImageResult = {
|
|
175
|
+
uri: resizedImage1,
|
|
176
|
+
width: imageWidth,
|
|
177
|
+
height: imageHeight,
|
|
178
|
+
base64: ''
|
|
164
179
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
console.log("aks:uri=", uri);
|
|
168
|
-
let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions);
|
|
169
|
-
//
|
|
170
|
-
console.log("aks:resizedImage=", resizedImage);
|
|
180
|
+
console.log('aks:resizedImageResult=', resizedImageResult);
|
|
181
|
+
|
|
171
182
|
//delete file
|
|
172
183
|
FileSystem.deleteAsync(uri).then(() => _Logger.default.getInstance().logEvent('CAPTURE_ET', 'File deleted success', _Logger.LOG_TYPE.SDK_DEBUG)).catch(error => {
|
|
173
184
|
_Logger.default.getInstance().logEvent('CAPTURE_ET', error.message, _Logger.LOG_TYPE.SDK_ERROR);
|
|
174
185
|
});
|
|
175
186
|
//
|
|
176
187
|
|
|
177
|
-
console.log("resizedImage=before")
|
|
178
|
-
console.log("resizedImage=", resizedImage)
|
|
179
|
-
|
|
188
|
+
// console.log("resizedImage=before")
|
|
189
|
+
// console.log("resizedImage=", resizedImage)
|
|
190
|
+
|
|
191
|
+
return resizedImageResult;
|
|
180
192
|
}
|
|
181
193
|
|
|
182
194
|
// if(Platform.OS = 'android'){
|
|
@@ -227,11 +239,12 @@ async function getImagesData(imagesDataList, captureProps) {
|
|
|
227
239
|
if (imagesDataList && imagesDataList.length > 0) {
|
|
228
240
|
let output = [];
|
|
229
241
|
const folderName = (await _DispatchSdkCache.default.getInstance().getKeyFromCache(_DispatchSdkCache.default.KEYS.FMS_FOLDER)) ?? 'NULL';
|
|
242
|
+
console.log('getImagesData:', folderName);
|
|
230
243
|
for (const data of imagesDataList) {
|
|
231
244
|
let insertID = await (0, _SyncManagerUtils.insertDocumentInDB)(data.id, folderName,
|
|
232
245
|
// JSON.stringify(captureProps.jobIds),
|
|
233
246
|
// JSON.stringify(captureProps.objRefs),
|
|
234
|
-
null, captureProps.title, data.path);
|
|
247
|
+
null, captureProps.title, data.path, data.dateTime, data.lat, data.lng, data.accuracy);
|
|
235
248
|
if (insertID) output.push({
|
|
236
249
|
url: '',
|
|
237
250
|
timestamp: data.timestamp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","FileSystem","_interopRequireWildcard","_expoImagePicker","ImagePicker","_Toaster","ImageManipulator","_Logger","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_BaseError","_ErrorCodes","_interopRequireDefault","_DispatchSdkCache","_SyncManagerUtils","_reactNativeImagePicker","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","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","Logger","getInstance","logEvent","message","LOG_TYPE","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","PermissionStatus","GRANTED","captureImage","imageWidth","imageHeight","Alert","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","launchCamera","didCancel","showToast","errorCode","errorMessage","assets","compressionRatio","saveOptions","compress","resizedImage","manipulateAsync","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","getBaseETResponse","EntityCode","IMAGE_CAPTURE","getEventCodeByET","ExecutionTaskID","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","DispatchSdkCache","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","insertDocumentInDB","title","push","url","timestamp","file","folder","name","BaseError","BaseErrorCodes","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":["_reactNative","require","FileSystem","_interopRequireWildcard","_expoImagePicker","ImagePicker","_Toaster","_Logger","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_BaseError","_ErrorCodes","_interopRequireDefault","_DispatchSdkCache","_SyncManagerUtils","_reactNativeImagePicker","_reactNativeCompressor","_storage","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","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","Logger","getInstance","logEvent","message","LOG_TYPE","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","PermissionStatus","GRANTED","captureImage","imageWidth","imageHeight","Alert","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","launchCamera","didCancel","showToast","errorCode","errorMessage","assets","compressionRatio","Storage","setItem","String","resizedImage1","Image","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","getBaseETResponse","EntityCode","IMAGE_CAPTURE","getEventCodeByET","ExecutionTaskID","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","DispatchSdkCache","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","insertDocumentInDB","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","BaseError","BaseErrorCodes","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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"}
|