@os1-platform/dispatch-mobile 3.1.6 → 3.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/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/android/build.gradle +4 -2
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +38 -45
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +121 -108
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +1 -0
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js +3 -5
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +62 -57
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +0 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -56
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +5 -6
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +2 -1
- package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
- package/lib/commonjs/network/client.js +8 -1
- package/lib/commonjs/network/client.js.map +1 -1
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js +12 -18
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -2
- package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js +13 -8
- package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js +14 -12
- package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js +2 -2
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PickupScreen.js +3 -8
- package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +2 -2
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/commonjs/utils/Constants.js +1 -2
- package/lib/commonjs/utils/Constants.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +20 -8
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +1 -0
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +38 -45
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/manager/dispatch/DispatchStateContainer.js +121 -108
- package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +1 -0
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/syncmanager/AppSyncManager.js +3 -5
- package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +62 -57
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +0 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -56
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js +5 -6
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/SyncHttpClient.js +2 -1
- package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
- package/lib/module/network/client.js +8 -1
- package/lib/module/network/client.js.map +1 -1
- package/lib/module/ui/screens/CollectPaymentScreen.js +12 -18
- package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/module/ui/screens/CompleteObjectiveScreen.js +3 -2
- package/lib/module/ui/screens/CompleteObjectiveScreen.js.map +1 -1
- package/lib/module/ui/screens/DeliverScreen.js +13 -8
- package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/module/ui/screens/DropCashScreen.js +13 -12
- package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/module/ui/screens/ImageCaptureScreen.js +2 -2
- package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/module/ui/screens/PickupScreen.js +3 -8
- package/lib/module/ui/screens/PickupScreen.js.map +1 -1
- package/lib/module/ui/screens/StartWorkFlowScreen.js +2 -2
- package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/module/utils/Constants.js +1 -2
- package/lib/module/utils/Constants.js.map +1 -1
- package/lib/module/utils/Logger.js +20 -8
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +1 -0
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/typescript/network/client.d.ts +2 -1
- package/lib/typescript/utils/Constants.d.ts +1 -1
- package/lib/typescript/utils/Logger.d.ts +3 -1
- package/package.json +2 -2
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +43 -54
- package/src/manager/dispatch/DispatchStateContainer.tsx +158 -164
- package/src/manager/sdk/DispatchSDKManager.ts +2 -1
- package/src/manager/syncmanager/AppSyncManager.ts +3 -17
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +90 -86
- package/src/manager/syncmanager/document/DocumentManager.ts +0 -1
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +6 -76
- package/src/manager/syncmanager/events/EventsSyncManager.ts +8 -29
- package/src/manager/syncmanager/events/SyncHttpClient.ts +2 -5
- package/src/network/client.ts +12 -2
- package/src/ui/screens/CollectPaymentScreen.tsx +14 -33
- package/src/ui/screens/CompleteObjectiveScreen.tsx +3 -6
- package/src/ui/screens/DeliverScreen.tsx +16 -11
- package/src/ui/screens/DropCashScreen.tsx +10 -10
- package/src/ui/screens/ImageCaptureScreen.tsx +2 -2
- package/src/ui/screens/PickupScreen.tsx +5 -12
- package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
- package/src/utils/Constants.ts +1 -2
- package/src/utils/Logger.ts +26 -18
- package/src/utils/SdkUtils.ts +1 -0
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Wed Apr 09 13:10:18 IST 2025
|
|
2
2
|
gradle.version=7.5
|
package/android/build.gradle
CHANGED
|
@@ -151,10 +151,12 @@ def reactNativeVersion = getReactNativeVersion()
|
|
|
151
151
|
def kotlin_version = getExtOrDefault('kotlinVersion')
|
|
152
152
|
|
|
153
153
|
dependencies {
|
|
154
|
-
//
|
|
154
|
+
//noinspection GradleDynamicVersion
|
|
155
155
|
//api 'com.facebook.react:react-native:+'
|
|
156
156
|
//implementation "com.facebook.react:react-native:${reactNativeVersion}"
|
|
157
157
|
implementation("com.facebook.react:react-native:0.72.10")
|
|
158
158
|
implementation 'com.google.android.material:material:1.4.0'
|
|
159
159
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
160
|
-
implementation 'com.google.android.gms:play-services-location:20.0.0'}
|
|
160
|
+
//implementation 'com.google.android.gms:play-services-location:20.0.0'}
|
|
161
|
+
implementation "com.google.android.gms:play-services-location:21.3.0"
|
|
162
|
+
}
|
|
@@ -16,7 +16,7 @@ var _ETConfig = require("../../../models/execTasks/ETConfig");
|
|
|
16
16
|
var _EventCodeContainer = require("../../../manager/dispatchCodes/EventCodeContainer");
|
|
17
17
|
var _constants = require("../../../constants/constants");
|
|
18
18
|
var _reactNativePaper = require("react-native-paper");
|
|
19
|
-
var _Logger =
|
|
19
|
+
var _Logger = _interopRequireDefault(require("../../../utils/Logger"));
|
|
20
20
|
var _utils = require("../../../components/utils");
|
|
21
21
|
var _GoBackModal = _interopRequireDefault(require("../../../components/widgets/GoBackModal"));
|
|
22
22
|
var _native = require("@react-navigation/native");
|
|
@@ -215,7 +215,6 @@ const ImageCapture = props => {
|
|
|
215
215
|
try {
|
|
216
216
|
setDisableProceed(true);
|
|
217
217
|
let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);
|
|
218
|
-
console.log('imagesArray:', JSON.stringify(imagesArray));
|
|
219
218
|
if (imagesArray.length > 0) {
|
|
220
219
|
props.onSubmitET(await (0, _CaptureUtils.getCaptureOutput)(imagesArray, props));
|
|
221
220
|
} else {
|
|
@@ -224,6 +223,7 @@ const ImageCapture = props => {
|
|
|
224
223
|
} catch (error) {
|
|
225
224
|
setDisableProceed(false);
|
|
226
225
|
(0, _Toaster.showToast)(error.message);
|
|
226
|
+
_Logger.default.getInstance().logCora("Error", `ImageCapture handleSubmit: ${error}`);
|
|
227
227
|
} finally {
|
|
228
228
|
setDisableProceed(false);
|
|
229
229
|
}
|
|
@@ -250,54 +250,47 @@ const ImageCapture = props => {
|
|
|
250
250
|
// }, [images, props, showCapture]);
|
|
251
251
|
|
|
252
252
|
const captureImage = (0, _react.useCallback)(async index => {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
accuracy: lastLocation.accuracy
|
|
277
|
-
};
|
|
278
|
-
setImagesDummy([...imgArray]);
|
|
279
|
-
console.log("images211:", JSON.stringify(imgArray));
|
|
253
|
+
try {
|
|
254
|
+
let imageDataResponse = await CaptureUtils.captureImage(props.resolution.breadth, props.resolution.length, props.fileSizeLimit);
|
|
255
|
+
if (imageDataResponse != null) {
|
|
256
|
+
setButtonProceed(true);
|
|
257
|
+
let imgArray = [];
|
|
258
|
+
imgArray = imagesDummy;
|
|
259
|
+
const dateTime = await _callbacksHandler.default.getDateTime();
|
|
260
|
+
let lastLocation = await _LocationManager.default.getInstance().getLastLocation();
|
|
261
|
+
imgArray[index] = {
|
|
262
|
+
id: CaptureUtils.getImagesFileName(),
|
|
263
|
+
// @ts-ignore
|
|
264
|
+
path: imageDataResponse.uri,
|
|
265
|
+
url: '',
|
|
266
|
+
timestamp: Date.now(),
|
|
267
|
+
dateTime: dateTime,
|
|
268
|
+
lat: lastLocation.latitude,
|
|
269
|
+
lng: lastLocation.longitude,
|
|
270
|
+
accuracy: lastLocation.accuracy
|
|
271
|
+
};
|
|
272
|
+
setImagesDummy([...imgArray]);
|
|
273
|
+
}
|
|
274
|
+
} catch (error) {
|
|
275
|
+
_Logger.default.getInstance().logCora("Error", `ImageCapture captureImage: ${error}`);
|
|
280
276
|
}
|
|
281
277
|
}, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);
|
|
282
278
|
const deleteImage = async index => {
|
|
283
|
-
let imageDummyArray = [];
|
|
284
|
-
imageDummyArray = imagesDummy;
|
|
285
|
-
imageDummyArray[index].path = "";
|
|
286
|
-
setImagesDummy([...imageDummyArray]);
|
|
287
|
-
let initialProceedValue = false;
|
|
288
|
-
for (let i = 0; i < imageDummyArray.length; i++) {
|
|
289
|
-
var _imageDummyArray$i;
|
|
290
|
-
if ((_imageDummyArray$i = imageDummyArray[i]) !== null && _imageDummyArray$i !== void 0 && _imageDummyArray$i.path) {
|
|
291
|
-
initialProceedValue = true;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
setButtonProceed(initialProceedValue);
|
|
295
279
|
try {
|
|
296
|
-
|
|
297
|
-
|
|
280
|
+
let imageDummyArray = [];
|
|
281
|
+
imageDummyArray = imagesDummy;
|
|
282
|
+
imageDummyArray[index].path = "";
|
|
283
|
+
setImagesDummy([...imageDummyArray]);
|
|
284
|
+
let initialProceedValue = false;
|
|
285
|
+
for (let i = 0; i < imageDummyArray.length; i++) {
|
|
286
|
+
var _imageDummyArray$i;
|
|
287
|
+
if ((_imageDummyArray$i = imageDummyArray[i]) !== null && _imageDummyArray$i !== void 0 && _imageDummyArray$i.path) {
|
|
288
|
+
initialProceedValue = true;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
setButtonProceed(initialProceedValue);
|
|
298
292
|
} catch (err) {
|
|
299
|
-
_Logger.default.getInstance().
|
|
300
|
-
console.error("Error updating state after deletion:", err);
|
|
293
|
+
_Logger.default.getInstance().logCora("Error", `ImageCapture deleteImage: ${err}`);
|
|
301
294
|
}
|
|
302
295
|
};
|
|
303
296
|
const renderItem = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CaptureUtils","CaptureUtils","_Toaster","_MaterialIcons","_interopRequireDefault","_CommonStyles","_ExecTaskUtils","_ETConfig","_EventCodeContainer","_constants","_reactNativePaper","_Logger","_utils","_GoBackModal","_native","_circleXmark","_camera","_SentrySdkConstants","_SentryAnalyticsUtils","_LocationManager","_callbacksHandler","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","useState","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","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","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","useEffect","undefined","length","arr","push","path","ImageItem","item","index","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","View","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","TouchableOpacity","Button","captureImage","uppercase","labelStyle","fontFamily","Platform","OS","Fonts","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","Image","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","IMAGE_CAPTURE","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","getCaptureOutput","showToast","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","dateTime","callbackHandler","getDateTime","lastLocation","LocationManager","getInstance","getLastLocation","id","getImagesFileName","url","timestamp","Date","now","lat","latitude","lng","longitude","accuracy","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","Logger","logEvent","LOG_TYPE","SDK_ERROR","renderItem","Provider","CommonStyles","mainContainer","styles","etMessageView","Text","etMessage","FlatList","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","getEventCodeByET","failure","lineHeight","textAlign","marginHorizontal","disabled","StyleSheet","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart","_default","exports"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport LocationManager from '../../../manager/location/LocationManager';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n if (numberOfImagesToCapture == undefined) {\n numberOfImagesToCapture = 2;\n }\n if (images.length === 0) {\n let arr: any = [];\n for (let i = 0; i < numberOfImagesToCapture; i++) {\n arr.push({ path: '' });\n }\n setImages(arr);\n }\n }, [images]);\n\n\n interface ImageItemProps {\n item: { path: string };\n index: number;\n onPress: () => void;\n }\n\n const ImageItem: React.FC<ImageItemProps> = ({ item, index, onPress }) => {\n\n return (\n <View\n style={{\n width: numColumns == 2 ? '43%' : '88%',\n height: numColumns == 2 ? 160 : numberOfImagesToCapture == 1 ? 336 : 180,\n backgroundColor: 'white',\n alignItems: 'center',\n alignSelf: 'center',\n borderWidth: 1,\n borderColor: '#A3AAC2',\n borderStyle: 'dashed',\n borderRadius: 3,\n marginTop: '6%',\n marginStart: numColumns == 2 ? 17 : numberOfImagesToCapture == 1 ? 0 : 0,\n }}\n >\n <View\n style={{\n alignItems: 'center',\n width: '80%',\n height: '98%',\n borderRadius: 3,\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : (\n <TouchableOpacity\n onPress={() => {\n onPress()\n const cta = \"Camera Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n >\n <View\n style={{\n marginTop:\n numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%',\n }}\n >\n <CameraIcon />\n </View>\n </TouchableOpacity>\n\n )}\n <Button\n onPress={() => {\n captureImage(index)\n const cta = \"Click Photo\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n uppercase={false}\n labelStyle={[\n {\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n color: '#5B80F7',\n },\n ]}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : 'Click Photo'}\n </Button>\n <Image\n source={{\n uri: imagesDummy?.length > index ? imagesDummy[index]?.path : item?.path,\n }}\n style={{\n height: numColumns == 2 ? '75%' : numberOfImagesToCapture == 1 ? '85%' : '85%',\n width: numColumns == 2 ? '105%' : '118%',\n borderRadius: 10,\n bottom:\n numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%',\n }}\n />\n <TouchableOpacity\n onPress={() => {\n onPress()\n const cta = \"Circle Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n style={{\n position: 'absolute',\n top: numColumns == 2 ? '17%' : '9%',\n marginRight: '2%',\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path && (\n <View\n style={{\n width: 25,\n height: 25,\n backgroundColor: 'white',\n borderRadius: 15,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: numColumns == 2 ? '78%' : '96%',\n }}\n >\n <Circle />\n </View>\n )}\n </TouchableOpacity>\n </View>\n </View>\n );\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const handleSubmit = async () => {\n try {\n setDisableProceed(true);\n let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);\n console.log('imagesArray:', JSON.stringify(imagesArray));\n\n if (imagesArray.length > 0) {\n props.onSubmitET(await getCaptureOutput(imagesArray, props));\n } else {\n showToast('No Images captured');\n }\n } catch (error: any) {\n setDisableProceed(false);\n showToast(error.message);\n } finally {\n setDisableProceed(false);\n }\n };\n\n // useEffect(() => {\n // if (props.captureMode === 'SINGLE') {\n // if (images.length > 0) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else if (\n // props.captureMode === 'MULTI' &&\n // props.captureCountLimit &&\n // props.captureCountLimit > 0\n // ) {\n // if (images.length === CaptureUtils.getMaxImagesCount(props)) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else {\n // if (images.length > 0) {\n // setShowCapture(true);\n // }\n // }\n // }, [images, props, showCapture]);\n\n const captureImage = useCallback(async (index) => {\n\n // // if (!showCapture) {\n // // showToast(`Max Image Limit reached`);\n // // return;\n // // }\n // console.log(\"captureImage\", CaptureUtils);\n let imageDataResponse = await CaptureUtils.captureImage(\n props.resolution.breadth,\n props.resolution.length,\n props.fileSizeLimit\n );\n\n if (imageDataResponse != null) {\n setButtonProceed(true);\n\n let imgArray = [];\n imgArray = imagesDummy;\n const dateTime = await callbackHandler.getDateTime();\n console.log('captureImage:dateTime: ', dateTime);\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"captureImage:lastLocation:\",JSON.stringify(lastLocation));\n\n imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n dateTime: dateTime,\n lat: lastLocation.latitude,\n lng: lastLocation.longitude,\n accuracy: lastLocation.accuracy,\n };\n setImagesDummy([...imgArray])\n console.log(\"images211:\", JSON.stringify(imgArray));\n\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true;\n }\n }\n setButtonProceed(initialProceedValue);\n\n try {\n // setImagesDummy(filteredImages);\n // setButtonProceed(false);\n } catch (err: any) {\n Logger.getInstance().logEvent('deleteImageError', err.message, LOG_TYPE.SDK_ERROR);\n console.error(\"Error updating state after deletion:\", err);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n const cta = \"Delete Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>{props.message}</Text>\n </View>\n )}\n <View\n style={{\n backgroundColor: 'white',\n width: 360,\n height: numColumns == 2 ? '82%' : numberOfImagesToCapture == 1 ? '63%' : '70%',\n alignSelf: 'center',\n marginTop: '5%',\n borderRadius: 7,\n borderColor: '#E0E3EB',\n borderWidth: 0.5,\n }}\n >\n <FlatList\n data={images}\n numColumns={numColumns}\n renderItem={renderItem}\n keyExtractor={(item) => item?.id}\n contentContainerStyle={{ paddingBottom: '30%' }}\n />\n </View>\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flexGrow: 1, marginStart: '3%' }]}\n mode=\"outlined\"\n labelStyle={[CommonStyles.cancelButtonLabel, { textTransform: 'capitalize' }]}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, props.applicableReasons?.failure),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n const cta = \"Cancel\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n >\n Cancel\n </Button>\n }\n <Button\n labelStyle={{\n color: buttonProceed ? '#ffff' : '#A3AAC2',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n textTransform: 'capitalize',\n }}\n style={{\n flexGrow: 1,\n marginHorizontal: '3%',\n backgroundColor: buttonProceed ? '#5B80F7' : '#E0E3EB',\n }}\n disabled={!buttonProceed}\n mode=\"contained\"\n onPress={async () => {\n await handleSubmit();\n const cta = \"Proceed\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n\n imageEtContainer: {\n display: 'flex',\n marginStart: 16,\n marginEnd: 16,\n borderWidth: 1,\n borderColor: '#A3AAC2',\n padding: 10,\n marginTop: 15,\n borderStyle: 'dashed',\n backgroundColor: '#FFFFFF',\n alignItems: 'center',\n justifyContent: 'center',\n height: 370,\n borderRadius: 5\n },\n\n bottomButtons: {\n width: \"100%\",\n justifyContent: \"space-between\",\n flexDirection: 'row',\n backgroundColor: \"white\",\n paddingVertical: 12,\n bottom: 0,\n position: \"absolute\",\n borderTopColor: \"#A3AAC2\",\n borderTopWidth: 0.5\n },\n etMessage: {\n // textAlign: 'center',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 16,\n display: 'flex',\n alignItems: 'center',\n color: '#000000',\n fontFamily: Fonts.IBMPlexSans_400Regular\n },\n etMessageView: {\n marginTop: 17,\n paddingStart: 17,\n paddingTop: 15,\n paddingBottom: 15,\n backgroundColor: '#ffffff'\n }\n});\n\nexport default ImageCapture;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CaptureUtils","CaptureUtils","_Toaster","_MaterialIcons","_interopRequireDefault","_CommonStyles","_ExecTaskUtils","_ETConfig","_EventCodeContainer","_constants","_reactNativePaper","_Logger","_utils","_GoBackModal","_native","_circleXmark","_camera","_SentrySdkConstants","_SentryAnalyticsUtils","_LocationManager","_callbacksHandler","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","useState","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","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","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","useEffect","undefined","length","arr","push","path","ImageItem","item","index","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","View","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","TouchableOpacity","Button","captureImage","uppercase","labelStyle","fontFamily","Platform","OS","Fonts","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","Image","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","IMAGE_CAPTURE","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","onFailure","handleSubmit","imagesArray","filter","getCaptureOutput","showToast","error","message","Logger","getInstance","logCora","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","dateTime","callbackHandler","getDateTime","lastLocation","LocationManager","getLastLocation","id","getImagesFileName","url","timestamp","Date","now","lat","latitude","lng","longitude","accuracy","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","renderItem","Provider","CommonStyles","mainContainer","styles","etMessageView","Text","etMessage","FlatList","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","getEventCodeByET","failure","lineHeight","textAlign","marginHorizontal","disabled","StyleSheet","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart","_default","exports"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport LocationManager from '../../../manager/location/LocationManager';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n if (numberOfImagesToCapture == undefined) {\n numberOfImagesToCapture = 2;\n }\n if (images.length === 0) {\n let arr: any = [];\n for (let i = 0; i < numberOfImagesToCapture; i++) {\n arr.push({ path: '' });\n }\n setImages(arr);\n }\n }, [images]);\n\n\n interface ImageItemProps {\n item: { path: string };\n index: number;\n onPress: () => void;\n }\n\n const ImageItem: React.FC<ImageItemProps> = ({ item, index, onPress }) => {\n\n return (\n <View\n style={{\n width: numColumns == 2 ? '43%' : '88%',\n height: numColumns == 2 ? 160 : numberOfImagesToCapture == 1 ? 336 : 180,\n backgroundColor: 'white',\n alignItems: 'center',\n alignSelf: 'center',\n borderWidth: 1,\n borderColor: '#A3AAC2',\n borderStyle: 'dashed',\n borderRadius: 3,\n marginTop: '6%',\n marginStart: numColumns == 2 ? 17 : numberOfImagesToCapture == 1 ? 0 : 0,\n }}\n >\n <View\n style={{\n alignItems: 'center',\n width: '80%',\n height: '98%',\n borderRadius: 3,\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : (\n <TouchableOpacity\n onPress={() => {\n onPress()\n const cta = \"Camera Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n >\n <View\n style={{\n marginTop:\n numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%',\n }}\n >\n <CameraIcon />\n </View>\n </TouchableOpacity>\n\n )}\n <Button\n onPress={() => {\n captureImage(index)\n const cta = \"Click Photo\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n uppercase={false}\n labelStyle={[\n {\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n color: '#5B80F7',\n },\n ]}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : 'Click Photo'}\n </Button>\n <Image\n source={{\n uri: imagesDummy?.length > index ? imagesDummy[index]?.path : item?.path,\n }}\n style={{\n height: numColumns == 2 ? '75%' : numberOfImagesToCapture == 1 ? '85%' : '85%',\n width: numColumns == 2 ? '105%' : '118%',\n borderRadius: 10,\n bottom:\n numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%',\n }}\n />\n <TouchableOpacity\n onPress={() => {\n onPress()\n const cta = \"Circle Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n style={{\n position: 'absolute',\n top: numColumns == 2 ? '17%' : '9%',\n marginRight: '2%',\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path && (\n <View\n style={{\n width: 25,\n height: 25,\n backgroundColor: 'white',\n borderRadius: 15,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: numColumns == 2 ? '78%' : '96%',\n }}\n >\n <Circle />\n </View>\n )}\n </TouchableOpacity>\n </View>\n </View>\n );\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const handleSubmit = async () => {\n try {\n setDisableProceed(true);\n let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);\n\n if (imagesArray.length > 0) {\n props.onSubmitET(await getCaptureOutput(imagesArray, props));\n } else {\n showToast('No Images captured');\n }\n } catch (error: any) {\n setDisableProceed(false);\n showToast(error.message);\n Logger.getInstance().logCora(\"Error\", `ImageCapture handleSubmit: ${error}`);\n } finally {\n setDisableProceed(false);\n }\n };\n\n // useEffect(() => {\n // if (props.captureMode === 'SINGLE') {\n // if (images.length > 0) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else if (\n // props.captureMode === 'MULTI' &&\n // props.captureCountLimit &&\n // props.captureCountLimit > 0\n // ) {\n // if (images.length === CaptureUtils.getMaxImagesCount(props)) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else {\n // if (images.length > 0) {\n // setShowCapture(true);\n // }\n // }\n // }, [images, props, showCapture]);\n\n const captureImage = useCallback(async (index) => {\n try {\n let imageDataResponse = await CaptureUtils.captureImage(\n props.resolution.breadth,\n props.resolution.length,\n props.fileSizeLimit\n );\n\n if (imageDataResponse != null) {\n setButtonProceed(true);\n\n let imgArray = [];\n imgArray = imagesDummy;\n const dateTime = await callbackHandler.getDateTime();\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n dateTime: dateTime,\n lat: lastLocation.latitude,\n lng: lastLocation.longitude,\n accuracy: lastLocation.accuracy,\n };\n setImagesDummy([...imgArray])\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `ImageCapture captureImage: ${error}`);\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n try {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true;\n }\n }\n setButtonProceed(initialProceedValue);\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `ImageCapture deleteImage: ${err}`);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n const cta = \"Delete Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>{props.message}</Text>\n </View>\n )}\n <View\n style={{\n backgroundColor: 'white',\n width: 360,\n height: numColumns == 2 ? '82%' : numberOfImagesToCapture == 1 ? '63%' : '70%',\n alignSelf: 'center',\n marginTop: '5%',\n borderRadius: 7,\n borderColor: '#E0E3EB',\n borderWidth: 0.5,\n }}\n >\n <FlatList\n data={images}\n numColumns={numColumns}\n renderItem={renderItem}\n keyExtractor={(item) => item?.id}\n contentContainerStyle={{ paddingBottom: '30%' }}\n />\n </View>\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flexGrow: 1, marginStart: '3%' }]}\n mode=\"outlined\"\n labelStyle={[CommonStyles.cancelButtonLabel, { textTransform: 'capitalize' }]}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, props.applicableReasons?.failure),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n const cta = \"Cancel\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n >\n Cancel\n </Button>\n }\n <Button\n labelStyle={{\n color: buttonProceed ? '#ffff' : '#A3AAC2',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n textTransform: 'capitalize',\n }}\n style={{\n flexGrow: 1,\n marginHorizontal: '3%',\n backgroundColor: buttonProceed ? '#5B80F7' : '#E0E3EB',\n }}\n disabled={!buttonProceed}\n mode=\"contained\"\n onPress={async () => {\n await handleSubmit();\n const cta = \"Proceed\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n\n imageEtContainer: {\n display: 'flex',\n marginStart: 16,\n marginEnd: 16,\n borderWidth: 1,\n borderColor: '#A3AAC2',\n padding: 10,\n marginTop: 15,\n borderStyle: 'dashed',\n backgroundColor: '#FFFFFF',\n alignItems: 'center',\n justifyContent: 'center',\n height: 370,\n borderRadius: 5\n },\n\n bottomButtons: {\n width: \"100%\",\n justifyContent: \"space-between\",\n flexDirection: 'row',\n backgroundColor: \"white\",\n paddingVertical: 12,\n bottom: 0,\n position: \"absolute\",\n borderTopColor: \"#A3AAC2\",\n borderTopWidth: 0.5\n },\n etMessage: {\n // textAlign: 'center',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 16,\n display: 'flex',\n alignItems: 'center',\n color: '#000000',\n fontFamily: Fonts.IBMPlexSans_400Regular\n },\n etMessageView: {\n marginTop: 17,\n paddingStart: 17,\n paddingTop: 15,\n paddingBottom: 15,\n backgroundColor: '#ffffff'\n }\n});\n\nexport default ImageCapture;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -47,7 +47,7 @@ class DispatchStateContainer {
|
|
|
47
47
|
await this.sendETOutput(etOutput, states, isMergedObjectiveBasedOutput);
|
|
48
48
|
await this.moveToNextET(etOutput, baseETProps, states, navigation, isLastTask);
|
|
49
49
|
} catch (error) {
|
|
50
|
-
_Logger.default.getInstance().
|
|
50
|
+
_Logger.default.getInstance().logCora("Error", `saveAndProceedToNextET: ${error}`);
|
|
51
51
|
baseETProps.showProgress(false);
|
|
52
52
|
(0, _Toaster.showToast)(error.message);
|
|
53
53
|
}
|
|
@@ -95,6 +95,7 @@ class DispatchStateContainer {
|
|
|
95
95
|
maxTaskReattempt,
|
|
96
96
|
eventSyncBatchSize: _constants2.BULK_DATA_LIMIT
|
|
97
97
|
});
|
|
98
|
+
_Logger.default.getInstance().logCora("Info", `DispatchExecutor started with ID: ${dispatchID}`);
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
// NEW CODE
|
|
@@ -111,132 +112,144 @@ class DispatchStateContainer {
|
|
|
111
112
|
|
|
112
113
|
async queryNextET(mergedObjectiveId, statusFilter) {
|
|
113
114
|
if (!mergedObjectiveId) {
|
|
114
|
-
_Logger.default.getInstance().
|
|
115
|
+
_Logger.default.getInstance().logCora("Error", `Merged Objective ID is null`);
|
|
115
116
|
throw new _BaseError.BaseError(_ErrorCodes.default.MERGING_ERROR, 'CONSTRAINTS FAILED');
|
|
116
117
|
}
|
|
117
118
|
return await _platformCoreosExecutionEngineSdk.DispatchExecutor.getNextTask(mergedObjectiveId[0], statusFilter);
|
|
118
119
|
}
|
|
119
120
|
async updateScanETOutputSharedPreference(etOutput, prefixedMergedObjectiveId, prefixKey) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
121
|
+
try {
|
|
122
|
+
etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;
|
|
123
|
+
let storage = _storage.default.getInstance();
|
|
124
|
+
const output = await storage.getSharedItem(_constants2.SHARED_PREFERENCE_SCAN_OUTPUT);
|
|
125
|
+
if (output) {
|
|
126
|
+
const scanETOutput = JSON.parse(output);
|
|
127
|
+
let _scanETOutput = {};
|
|
128
|
+
if (scanETOutput[prefixKey]) {
|
|
129
|
+
_scanETOutput = scanETOutput[prefixKey];
|
|
130
|
+
}
|
|
131
|
+
prefixedMergedObjectiveId.forEach(mergedId => {
|
|
132
|
+
_scanETOutput[mergedId] = etOutput;
|
|
133
|
+
});
|
|
132
134
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
135
|
+
// SAVE IN SHARED PREFERENCE
|
|
136
|
+
await storage.setSharedItem(_constants2.SHARED_PREFERENCE_SCAN_OUTPUT, JSON.stringify({
|
|
137
|
+
...scanETOutput,
|
|
138
|
+
[prefixKey]: _scanETOutput
|
|
139
|
+
}));
|
|
140
|
+
} else {
|
|
141
|
+
const scanETOutput = {};
|
|
142
|
+
prefixedMergedObjectiveId.forEach(mergedId => {
|
|
143
|
+
scanETOutput[mergedId] = etOutput;
|
|
144
|
+
});
|
|
145
|
+
// SAVE IN SHARED PREFERENCE
|
|
146
|
+
await storage.setSharedItem(_constants2.SHARED_PREFERENCE_SCAN_OUTPUT, JSON.stringify({
|
|
147
|
+
[prefixKey]: scanETOutput
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
} catch (error) {
|
|
151
|
+
_Logger.default.getInstance().logCora("Error", `updateScanETOutputSharedPreference: ${error}`);
|
|
147
152
|
}
|
|
148
153
|
}
|
|
149
154
|
async updatePendingSharedPreference(eventType, prefixedMergedObjectiveId, prefixKey) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
try {
|
|
156
|
+
let storage = _storage.default.getInstance();
|
|
157
|
+
const mergedIdOutput = await storage.getSharedItem(_constants2.SCAN_MERGED_OBJ_ID_OUTPUT);
|
|
158
|
+
if (mergedIdOutput) {
|
|
159
|
+
const mergedIds = JSON.parse(mergedIdOutput);
|
|
160
|
+
const _mergedIds = mergedIds[prefixKey];
|
|
161
|
+
if (_mergedIds) {
|
|
162
|
+
if (eventType) {
|
|
163
|
+
_mergedIds.success.push(...prefixedMergedObjectiveId);
|
|
164
|
+
_mergedIds.pending = [];
|
|
165
|
+
} else {
|
|
166
|
+
_mergedIds.failure.push(...prefixedMergedObjectiveId);
|
|
167
|
+
_mergedIds.pending = [];
|
|
168
|
+
}
|
|
169
|
+
await storage.setSharedItem(_constants2.SCAN_MERGED_OBJ_ID_OUTPUT, JSON.stringify({
|
|
170
|
+
...mergedIds,
|
|
171
|
+
[prefixKey]: _mergedIds
|
|
172
|
+
}));
|
|
162
173
|
}
|
|
163
|
-
await storage.setSharedItem(_constants2.SCAN_MERGED_OBJ_ID_OUTPUT, JSON.stringify({
|
|
164
|
-
...mergedIds,
|
|
165
|
-
[prefixKey]: _mergedIds
|
|
166
|
-
}));
|
|
167
174
|
}
|
|
175
|
+
} catch (error) {
|
|
176
|
+
_Logger.default.getInstance().logCora("Error", `updatePendingSharedPreference: ${error}`);
|
|
168
177
|
}
|
|
169
178
|
}
|
|
170
179
|
|
|
171
180
|
// NEW CODE
|
|
172
181
|
async sendETOutput(etOutput, states, isMergedObjectiveBasedOutput) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
182
|
+
try {
|
|
183
|
+
const mergedObjectiveIds = states[_RouteParams.RouteParams.NEXT_STATES].mergedObjectiveIds;
|
|
184
|
+
const taskName = states[_RouteParams.RouteParams.NEXT_STATES].taskName;
|
|
185
|
+
const taskID = states[_RouteParams.RouteParams.NEXT_STATES].taskId;
|
|
186
|
+
const input = states[_RouteParams.RouteParams.NEXT_STATES].input;
|
|
187
|
+
let lockTaskResponse = true;
|
|
188
|
+
if (isMergedObjectiveBasedOutput) {
|
|
189
|
+
// NEW CODE
|
|
190
|
+
const output = etOutput;
|
|
191
|
+
let promises = [];
|
|
192
|
+
const prefixKey = this.findPrefixKey(mergedObjectiveIds, etOutput, states);
|
|
193
|
+
let defaultConfig = {
|
|
194
|
+
index: -1,
|
|
195
|
+
success: false,
|
|
196
|
+
output: {}
|
|
197
|
+
};
|
|
198
|
+
let mergedIds = {
|
|
199
|
+
success: [],
|
|
200
|
+
failure: [],
|
|
201
|
+
pending: [prefixKey]
|
|
202
|
+
};
|
|
203
|
+
const filterIds = await (0, _utils.getScanMergedObjectID)();
|
|
204
|
+
if (filterIds) {
|
|
205
|
+
mergedIds = filterIds[prefixKey];
|
|
206
|
+
}
|
|
207
|
+
Object.keys(etOutput).forEach(mergedObjectiveId => {
|
|
208
|
+
const _output = output[mergedObjectiveId].output;
|
|
209
|
+
// PREFIX_KEY
|
|
210
|
+
if (mergedObjectiveId === 'default') {
|
|
211
|
+
const defaultOutput = output.default.output;
|
|
212
|
+
// DELIVER AT DIFF LOCATION
|
|
213
|
+
if (defaultOutput.eventCode === _constants.REASON_NOT_USED) {
|
|
214
|
+
// DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION
|
|
215
|
+
defaultOutput.eventCode = '';
|
|
216
|
+
defaultOutput.reasonCode = '';
|
|
217
|
+
lockTaskResponse = false;
|
|
218
|
+
} else {
|
|
219
|
+
defaultConfig = {
|
|
220
|
+
index: promises.length,
|
|
221
|
+
success: defaultOutput.success,
|
|
222
|
+
output: output.default
|
|
223
|
+
};
|
|
224
|
+
promises.push(_platformCoreosExecutionEngineSdk.DispatchExecutor.saveTaskOutput(mergedIds.pending, taskName, taskID, {
|
|
225
|
+
input,
|
|
226
|
+
output: defaultOutput
|
|
227
|
+
}, {
|
|
228
|
+
ec: defaultOutput.eventCode,
|
|
229
|
+
rc: defaultOutput.reasonCode || ''
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
208
232
|
} else {
|
|
209
|
-
|
|
210
|
-
index: promises.length,
|
|
211
|
-
success: defaultOutput.success,
|
|
212
|
-
output: output.default
|
|
213
|
-
};
|
|
214
|
-
promises.push(_platformCoreosExecutionEngineSdk.DispatchExecutor.saveTaskOutput(mergedIds.pending, taskName, taskID, {
|
|
233
|
+
promises.push(_platformCoreosExecutionEngineSdk.DispatchExecutor.saveTaskOutput([mergedObjectiveId], taskName, taskID, {
|
|
215
234
|
input,
|
|
216
|
-
output:
|
|
217
|
-
}, {
|
|
218
|
-
ec: defaultOutput.eventCode,
|
|
219
|
-
rc: defaultOutput.reasonCode || ''
|
|
235
|
+
output: _output
|
|
220
236
|
}));
|
|
221
237
|
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
238
|
+
});
|
|
239
|
+
const response = await Promise.all(promises);
|
|
240
|
+
if (defaultConfig.index !== -1) {
|
|
241
|
+
// UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT
|
|
242
|
+
this.updatePendingSharedPreference(defaultConfig.success, response[defaultConfig.index], prefixKey);
|
|
243
|
+
this.updateScanETOutputSharedPreference(defaultConfig.output, response[defaultConfig.index], prefixKey);
|
|
227
244
|
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
this.updateScanETOutputSharedPreference(defaultConfig.output, response[defaultConfig.index], prefixKey);
|
|
245
|
+
} else {
|
|
246
|
+
await _platformCoreosExecutionEngineSdk.DispatchExecutor.saveTaskOutput(mergedObjectiveIds, taskName, taskID, {
|
|
247
|
+
input,
|
|
248
|
+
output: etOutput
|
|
249
|
+
});
|
|
234
250
|
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
input,
|
|
238
|
-
output: etOutput
|
|
239
|
-
});
|
|
251
|
+
} catch (error) {
|
|
252
|
+
_Logger.default.getInstance().logCora("Error", `sendETOutput: ${error}`);
|
|
240
253
|
}
|
|
241
254
|
}
|
|
242
255
|
findPrefixKey(mergedObjectiveIds, scanOutput, routeParams) {
|
|
@@ -280,7 +293,7 @@ class DispatchStateContainer {
|
|
|
280
293
|
return response;
|
|
281
294
|
} else return response;
|
|
282
295
|
} catch (error) {
|
|
283
|
-
_Logger.default.getInstance().
|
|
296
|
+
_Logger.default.getInstance().logCora("Error", `getObjectiveSummary: ${error}`);
|
|
284
297
|
return [];
|
|
285
298
|
}
|
|
286
299
|
}
|
|
@@ -381,7 +394,7 @@ class DispatchStateContainer {
|
|
|
381
394
|
}
|
|
382
395
|
} catch (error) {
|
|
383
396
|
baseETProps.showProgress(false);
|
|
384
|
-
_Logger.default.getInstance().
|
|
397
|
+
_Logger.default.getInstance().logCora("Error", `navigateToNextTask: ${error}`);
|
|
385
398
|
}
|
|
386
399
|
}
|
|
387
400
|
async moveToNextET(etOutput, baseETProps, states, navigation, isLastTask) {
|
|
@@ -501,7 +514,7 @@ class DispatchStateContainer {
|
|
|
501
514
|
}
|
|
502
515
|
} catch (error) {
|
|
503
516
|
baseETProps.showProgress(false);
|
|
504
|
-
_Logger.default.getInstance().
|
|
517
|
+
_Logger.default.getInstance().logCora("Error", `moveToNextET: ${error}`);
|
|
505
518
|
}
|
|
506
519
|
}
|
|
507
520
|
async saveAndProceed(baseETProps, etOutput, states, navigation, isLastTask, isMergedObjectiveBasedOutput) {
|