@os1-platform/dispatch-mobile 3.0.0 → 3.0.2
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/7.5/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.idea/caches/deviceStreaming.xml +11 -0
- package/android/build.gradle +1 -0
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/dispatchsdk/DispatchSdkPackage.kt +5 -1
- package/android/src/main/java/com/dispatchsdk/location/LocationModule.kt +79 -0
- package/android/src/main/java/com/dispatchsdk/permissions/PermissionModule.kt +135 -0
- package/android/src/main/java/com/dispatchsdk/sync/SyncManagerService.kt +31 -23
- package/ios/EventEmitter.swift +13 -1
- package/ios/LocationManager.swift +143 -0
- package/ios/LocationModule.m +19 -0
- package/ios/LocationModule.swift +32 -0
- package/ios/PermissionsModule.m +21 -0
- package/ios/PermissionsModule.swift +24 -0
- package/ios/RNEventEmitter.m +2 -8
- package/ios/RNEventEmitter.swift +13 -19
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +5 -3
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +5 -3
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +91 -46
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/native/LocationModule.js +47 -0
- package/lib/commonjs/native/LocationModule.js.map +1 -0
- package/lib/commonjs/native/PermissionModule.js +25 -0
- package/lib/commonjs/native/PermissionModule.js.map +1 -0
- package/lib/commonjs/utils/ExecTaskUtils.js +3 -3
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +13 -4
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +5 -3
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +5 -3
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +90 -44
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/native/LocationModule.js +41 -0
- package/lib/module/native/LocationModule.js.map +1 -0
- package/lib/module/native/PermissionModule.js +19 -0
- package/lib/module/native/PermissionModule.js.map +1 -0
- package/lib/module/utils/ExecTaskUtils.js +3 -3
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +13 -4
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/typescript/manager/location/LocationManager.d.ts +4 -2
- package/lib/typescript/native/LocationModule.d.ts +14 -0
- package/lib/typescript/native/PermissionModule.d.ts +7 -0
- package/package.json +4 -4
- package/src/components/executiontasks/doodle/SignatureET.tsx +6 -4
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +6 -3
- package/src/manager/location/LocationManager.ts +93 -41
- package/src/native/LocationModule.ts +52 -0
- package/src/native/PermissionModule.ts +27 -0
- package/src/utils/ExecTaskUtils.ts +3 -3
- package/src/utils/SdkUtils.ts +16 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useState","useLayoutEffect","BackHandler","FlatList","Image","Platform","StyleSheet","Text","TouchableOpacity","View","CaptureUtils","getCaptureOutput","showToast","Iconn","CommonStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","GO_BACK_EVENT_CODE","Button","Provider","Logger","LOG_TYPE","hasGoBackConnector","GoBackModal","useFocusEffect","Circle","CameraIcon","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","LocationManager","callbackHandler","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","undefined","length","arr","i","push","path","ImageItem","item","index","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","captureImage","uppercase","labelStyle","fontFamily","OS","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","IMAGE_CAPTURE","mergedObjectiveId","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","dateTime","getDateTime","id","getImagesFileName","url","timestamp","Date","now","lat","getInstance","getLastLocation","latitude","lng","longitude","accuracy","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","logEvent","SDK_ERROR","renderItem","mainContainer","styles","etMessageView","etMessage","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","failure","lineHeight","textAlign","marginHorizontal","disabled","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport LocationManager from '../../../manager/location/LocationManager';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n 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 imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n dateTime: dateTime,\n lat: LocationManager.getInstance().getLastLocation().latitude,\n lng: LocationManager.getInstance().getLastLocation().longitude,\n accuracy: LocationManager.getInstance().getLastLocation().accuracy,\n };\n setImagesDummy([...imgArray])\n console.log(\"images211:\", JSON.stringify(imgArray));\n\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true;\n }\n }\n setButtonProceed(initialProceedValue);\n\n try {\n // setImagesDummy(filteredImages);\n // setButtonProceed(false);\n } catch (err: any) {\n Logger.getInstance().logEvent('deleteImageError', err.message, LOG_TYPE.SDK_ERROR);\n console.error(\"Error updating state after deletion:\", err);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n const cta = \"Delete Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>{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","useCallback","useEffect","useState","useLayoutEffect","BackHandler","FlatList","Image","Platform","StyleSheet","Text","TouchableOpacity","View","CaptureUtils","getCaptureOutput","showToast","Iconn","CommonStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","GO_BACK_EVENT_CODE","Button","Provider","Logger","LOG_TYPE","hasGoBackConnector","GoBackModal","useFocusEffect","Circle","CameraIcon","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","LocationManager","callbackHandler","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","undefined","length","arr","i","push","path","ImageItem","item","index","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","captureImage","uppercase","labelStyle","fontFamily","OS","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","IMAGE_CAPTURE","mergedObjectiveId","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","dateTime","getDateTime","lastLocation","getInstance","getLastLocation","id","getImagesFileName","url","timestamp","Date","now","lat","latitude","lng","longitude","accuracy","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","logEvent","SDK_ERROR","renderItem","mainContainer","styles","etMessageView","etMessage","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","failure","lineHeight","textAlign","marginHorizontal","disabled","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport LocationManager from '../../../manager/location/LocationManager';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta });\n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n 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":[]}
|
|
@@ -2,24 +2,36 @@ var _LocationManager;
|
|
|
2
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
3
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
5
|
+
import { Platform } from 'react-native';
|
|
6
|
+
import PermissionModule from '../../native/PermissionModule';
|
|
7
|
+
import LocationModule from '../../native/LocationModule';
|
|
8
8
|
export default class LocationManager {
|
|
9
9
|
constructor() {
|
|
10
|
-
_defineProperty(this, "
|
|
10
|
+
_defineProperty(this, "lastLocationAndroid", null);
|
|
11
|
+
_defineProperty(this, "lastLocationiOS", null);
|
|
11
12
|
_defineProperty(this, "stopUpdate", void 0);
|
|
13
|
+
_defineProperty(this, "subscription", null);
|
|
12
14
|
}
|
|
13
15
|
async checkForLocationPermissions() {
|
|
14
|
-
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
16
|
+
console.log("checkForLocationPermissions");
|
|
17
|
+
if (Platform.OS === 'ios') {
|
|
18
|
+
// old code checking for permissions using expo-location
|
|
19
|
+
// let permissionResponse = await Location.getForegroundPermissionsAsync();
|
|
20
|
+
// if (permissionResponse.status === 'granted') {
|
|
21
|
+
// this.startUpdates();
|
|
22
|
+
// return true;
|
|
23
|
+
// } else {
|
|
24
|
+
// let { status } = await Location.requestForegroundPermissionsAsync();
|
|
25
|
+
// if (status === 'granted') {
|
|
26
|
+
// this.startUpdates();
|
|
27
|
+
// return true;
|
|
28
|
+
// } else {
|
|
29
|
+
// this.stopLocationUpdates();
|
|
30
|
+
// return false;
|
|
31
|
+
// }
|
|
32
|
+
// }
|
|
33
|
+
let foregroundPermission = await PermissionModule.requestForegroundPermissions();
|
|
34
|
+
if (foregroundPermission) {
|
|
23
35
|
this.startUpdates();
|
|
24
36
|
return true;
|
|
25
37
|
} else {
|
|
@@ -27,6 +39,17 @@ export default class LocationManager {
|
|
|
27
39
|
return false;
|
|
28
40
|
}
|
|
29
41
|
}
|
|
42
|
+
if (Platform.OS === 'android') {
|
|
43
|
+
let foregroundPermission = await PermissionModule.requestForegroundPermissions();
|
|
44
|
+
if (foregroundPermission) {
|
|
45
|
+
this.startUpdates();
|
|
46
|
+
return true;
|
|
47
|
+
} else {
|
|
48
|
+
this.stopLocationUpdates();
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
30
53
|
}
|
|
31
54
|
static getInstance() {
|
|
32
55
|
if (!LocationManager.instance) {
|
|
@@ -35,44 +58,67 @@ export default class LocationManager {
|
|
|
35
58
|
return LocationManager.instance;
|
|
36
59
|
}
|
|
37
60
|
startUpdates() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
61
|
+
if (Platform.OS === 'android') {
|
|
62
|
+
LocationModule.startLocationUpdates();
|
|
63
|
+
this.subscription = LocationModule.addLocationListener(location => {
|
|
64
|
+
console.log('Location updated:', location);
|
|
65
|
+
if (location != null) {
|
|
66
|
+
this.lastLocationAndroid = location;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (Platform.OS === 'ios') {
|
|
71
|
+
console.log("startUpdates");
|
|
72
|
+
LocationModule.startLocationUpdates();
|
|
73
|
+
// this.subscription = LocationModule.addLocationListener((location) => {
|
|
74
|
+
// console.log('Location updated:', location);
|
|
75
|
+
// if (location != null) {
|
|
76
|
+
// this.lastLocationiOS = location
|
|
77
|
+
// }
|
|
78
|
+
// });
|
|
79
|
+
}
|
|
52
80
|
}
|
|
53
|
-
getLastLocation() {
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
if (this.lastLocation.coords.accuracy !== null) {
|
|
57
|
-
let accuracyVal = Math.round(this.lastLocation.coords.accuracy);
|
|
58
|
-
accuracy = accuracyVal.toString();
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
latitude: this.lastLocation.coords.latitude.toString(),
|
|
62
|
-
longitude: this.lastLocation.coords.longitude.toString(),
|
|
63
|
-
accuracy: accuracy
|
|
64
|
-
};
|
|
65
|
-
} else {
|
|
81
|
+
async getLastLocation() {
|
|
82
|
+
if (Platform.OS === 'android' && this.lastLocationAndroid != null) {
|
|
83
|
+
console.log("lastLocationAndroid:", this.lastLocationAndroid);
|
|
66
84
|
return {
|
|
67
|
-
latitude:
|
|
68
|
-
longitude:
|
|
69
|
-
accuracy:
|
|
85
|
+
latitude: this.lastLocationAndroid.latitude.toString(),
|
|
86
|
+
longitude: this.lastLocationAndroid.longitude.toString(),
|
|
87
|
+
accuracy: this.lastLocationAndroid.accuracy.toString()
|
|
70
88
|
};
|
|
71
89
|
}
|
|
90
|
+
if (Platform.OS === 'ios') {
|
|
91
|
+
this.lastLocationiOS = await LocationModule.getLastLocation();
|
|
92
|
+
console.log("lastLocationiOS:", this.lastLocationiOS);
|
|
93
|
+
if (this.lastLocationiOS) {
|
|
94
|
+
return {
|
|
95
|
+
latitude: this.lastLocationiOS.latitude.toString(),
|
|
96
|
+
longitude: this.lastLocationiOS.longitude.toString(),
|
|
97
|
+
accuracy: this.lastLocationiOS.accuracy.toString()
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
latitude: 'null',
|
|
103
|
+
longitude: 'null',
|
|
104
|
+
accuracy: 'null'
|
|
105
|
+
};
|
|
72
106
|
}
|
|
73
107
|
stopLocationUpdates() {
|
|
74
108
|
try {
|
|
75
|
-
|
|
109
|
+
// code for android
|
|
110
|
+
if (Platform.OS === 'android') {
|
|
111
|
+
if (this.subscription) {
|
|
112
|
+
LocationModule.removeLocationListener(this.subscription);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// code for ios
|
|
117
|
+
if (Platform.OS === 'ios') {
|
|
118
|
+
if (this.subscription) {
|
|
119
|
+
LocationModule.removeLocationListener(this.subscription);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
76
122
|
} catch (error) {}
|
|
77
123
|
}
|
|
78
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Platform","PermissionModule","LocationModule","LocationManager","constructor","_defineProperty","checkForLocationPermissions","console","log","OS","foregroundPermission","requestForegroundPermissions","startUpdates","stopLocationUpdates","getInstance","instance","startLocationUpdates","subscription","addLocationListener","location","lastLocationAndroid","getLastLocation","latitude","toString","longitude","accuracy","lastLocationiOS","removeLocationListener","error","_LocationManager"],"sources":["LocationManager.ts"],"sourcesContent":["import * as Location from 'expo-location';\nimport { Accuracy, LocationObject } from 'expo-location';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { EmitterSubscription, Platform } from 'react-native';\nimport PermissionModule from '../../native/PermissionModule';\nimport LocationModule, { LocationType } from '../../native/LocationModule';\n\nexport default class LocationManager {\n private static instance: LocationManager;\n private lastLocationAndroid: LocationType | null = null;\n private lastLocationiOS: LocationType | null = null;\n private stopUpdate: { remove(): void } | undefined;\n private subscription: EmitterSubscription | null = null;\n\n public async checkForLocationPermissions(): Promise<boolean> {\n console.log(\"checkForLocationPermissions\");\n if (Platform.OS === 'ios') {\n // old code checking for permissions using expo-location\n // let permissionResponse = await Location.getForegroundPermissionsAsync();\n // if (permissionResponse.status === 'granted') {\n // this.startUpdates();\n // return true;\n // } else {\n // let { status } = await Location.requestForegroundPermissionsAsync();\n // if (status === 'granted') {\n // this.startUpdates();\n // return true;\n // } else {\n // this.stopLocationUpdates();\n // return false;\n // }\n // }\n let foregroundPermission = await PermissionModule.requestForegroundPermissions();\n if (foregroundPermission) {\n this.startUpdates();\n return true;\n } else {\n this.stopLocationUpdates();\n return false;\n }\n }\n if (Platform.OS === 'android') {\n let foregroundPermission = await PermissionModule.requestForegroundPermissions();\n if (foregroundPermission) {\n this.startUpdates();\n return true;\n } else {\n this.stopLocationUpdates();\n return false;\n }\n }\n return true;\n }\n\n public static getInstance(): LocationManager {\n if (!LocationManager.instance) {\n LocationManager.instance = new LocationManager();\n }\n return LocationManager.instance;\n }\n\n public startUpdates() {\n if (Platform.OS === 'android') {\n LocationModule.startLocationUpdates();\n this.subscription = LocationModule.addLocationListener((location) => {\n console.log('Location updated:', location);\n if (location != null) {\n this.lastLocationAndroid = location\n }\n });\n }\n\n if (Platform.OS === 'ios') {\n console.log(\"startUpdates\");\n LocationModule.startLocationUpdates();\n // this.subscription = LocationModule.addLocationListener((location) => {\n // console.log('Location updated:', location);\n // if (location != null) {\n // this.lastLocationiOS = location\n // }\n // });\n }\n }\n\n public async getLastLocation(): Promise<DLocation> {\n if (Platform.OS === 'android' && this.lastLocationAndroid != null) {\n console.log(\"lastLocationAndroid:\", this.lastLocationAndroid);\n return {\n latitude: this.lastLocationAndroid.latitude.toString(),\n longitude: this.lastLocationAndroid.longitude.toString(),\n accuracy: this.lastLocationAndroid.accuracy.toString(),\n };\n }\n if (Platform.OS === 'ios') {\n this.lastLocationiOS = await LocationModule.getLastLocation();\n console.log(\"lastLocationiOS:\", this.lastLocationiOS);\n if(this.lastLocationiOS){\n return {\n latitude: this.lastLocationiOS.latitude.toString(),\n longitude: this.lastLocationiOS.longitude.toString(),\n accuracy: this.lastLocationiOS.accuracy.toString(),\n };\n }\n }\n return {\n latitude: 'null',\n longitude: 'null',\n accuracy: 'null',\n };\n }\n\n\n public stopLocationUpdates() {\n try {\n // code for android\n if (Platform.OS === 'android') {\n if (this.subscription) {\n LocationModule.removeLocationListener(this.subscription);\n }\n }\n\n // code for ios\n if (Platform.OS === 'ios') {\n if (this.subscription) {\n LocationModule.removeLocationListener(this.subscription);\n }\n }\n } catch (error: any) { }\n }\n}\n\nexport interface DLocation {\n latitude: string;\n longitude: string;\n accuracy: string;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NativeModules, NativeEventEmitter } from 'react-native';
|
|
2
|
+
const {
|
|
3
|
+
LocationModule
|
|
4
|
+
} = NativeModules;
|
|
5
|
+
const locationEventEmitter = new NativeEventEmitter(LocationModule);
|
|
6
|
+
const startLocationUpdates = async () => {
|
|
7
|
+
try {
|
|
8
|
+
await LocationModule.startLocationUpdates();
|
|
9
|
+
} catch (error) {
|
|
10
|
+
console.error(error);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const stopLocationUpdates = async () => {
|
|
14
|
+
try {
|
|
15
|
+
await LocationModule.stopLocationUpdates();
|
|
16
|
+
} catch (error) {
|
|
17
|
+
console.error(error);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const getLastLocation = async () => {
|
|
21
|
+
try {
|
|
22
|
+
return LocationModule.getLastLocation();
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error(error);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const addLocationListener = callback => {
|
|
29
|
+
return locationEventEmitter.addListener('locationUpdated', callback);
|
|
30
|
+
};
|
|
31
|
+
const removeLocationListener = subscription => {
|
|
32
|
+
subscription.remove();
|
|
33
|
+
};
|
|
34
|
+
export default {
|
|
35
|
+
startLocationUpdates,
|
|
36
|
+
stopLocationUpdates,
|
|
37
|
+
addLocationListener,
|
|
38
|
+
removeLocationListener,
|
|
39
|
+
getLastLocation
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=LocationModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","LocationModule","locationEventEmitter","startLocationUpdates","error","console","stopLocationUpdates","getLastLocation","addLocationListener","callback","addListener","removeLocationListener","subscription","remove"],"sources":["LocationModule.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\n\nconst { LocationModule } = NativeModules;\nconst locationEventEmitter = new NativeEventEmitter(LocationModule);\n\nconst startLocationUpdates = async (): Promise<void> => {\n try {\n await LocationModule.startLocationUpdates();\n } catch (error) {\n console.error(error);\n }\n};\n\nconst stopLocationUpdates = async (): Promise<void> => {\n try {\n await LocationModule.stopLocationUpdates();\n } catch (error) {\n console.error(error);\n }\n};\n\nconst getLastLocation = async (): Promise<any> => {\n try {\n return LocationModule.getLastLocation();\n } catch (error) {\n console.error(error);\n return null\n }\n}\n\n\nexport interface LocationType {\n latitude: number;\n longitude: number;\n accuracy: number;\n}\n\nconst addLocationListener = (callback: (location: LocationType) => void): EmitterSubscription => {\n return locationEventEmitter.addListener('locationUpdated', callback);\n};\n\nconst removeLocationListener = (subscription: EmitterSubscription): void => {\n subscription.remove();\n};\n\nexport default {\n startLocationUpdates,\n stopLocationUpdates,\n addLocationListener,\n removeLocationListener,\n getLastLocation,\n};"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAA6B,cAAc;AAErF,MAAM;EAAEC;AAAe,CAAC,GAAGF,aAAa;AACxC,MAAMG,oBAAoB,GAAG,IAAIF,kBAAkB,CAACC,cAAc,CAAC;AAEnE,MAAME,oBAAoB,GAAG,MAAAA,CAAA,KAA2B;EACpD,IAAI;IACA,MAAMF,cAAc,CAACE,oBAAoB,CAAC,CAAC;EAC/C,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ,CAAC;AAED,MAAME,mBAAmB,GAAG,MAAAA,CAAA,KAA2B;EACnD,IAAI;IACA,MAAML,cAAc,CAACK,mBAAmB,CAAC,CAAC;EAC9C,CAAC,CAAC,OAAOF,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ,CAAC;AAED,MAAMG,eAAe,GAAG,MAAAA,CAAA,KAA0B;EAC9C,IAAI;IACA,OAAON,cAAc,CAACM,eAAe,CAAC,CAAC;EAC3C,CAAC,CAAC,OAAOH,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACpB,OAAO,IAAI;EACf;AACJ,CAAC;AASD,MAAMI,mBAAmB,GAAIC,QAA0C,IAA0B;EAC7F,OAAOP,oBAAoB,CAACQ,WAAW,CAAC,iBAAiB,EAAED,QAAQ,CAAC;AACxE,CAAC;AAED,MAAME,sBAAsB,GAAIC,YAAiC,IAAW;EACxEA,YAAY,CAACC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,eAAe;EACXV,oBAAoB;EACpBG,mBAAmB;EACnBE,mBAAmB;EACnBG,sBAAsB;EACtBJ;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NativeModules } from 'react-native';
|
|
2
|
+
const {
|
|
3
|
+
PermissionsModule
|
|
4
|
+
} = NativeModules;
|
|
5
|
+
const requestForegroundPermissions = async () => {
|
|
6
|
+
return PermissionsModule.requestForegroundPermissions();
|
|
7
|
+
};
|
|
8
|
+
const requestBackgroundPermissions = async () => {
|
|
9
|
+
return PermissionsModule.requestBackgroundPermissions();
|
|
10
|
+
};
|
|
11
|
+
const requestWakeLockPermissions = async () => {
|
|
12
|
+
return PermissionsModule.requestWakeLockPermissions();
|
|
13
|
+
};
|
|
14
|
+
export default {
|
|
15
|
+
requestForegroundPermissions,
|
|
16
|
+
requestBackgroundPermissions,
|
|
17
|
+
requestWakeLockPermissions
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=PermissionModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","PermissionsModule","requestForegroundPermissions","requestBackgroundPermissions","requestWakeLockPermissions"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n requestWakeLockPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nconst requestWakeLockPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestWakeLockPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n requestWakeLockPermissions\n} as PermissionsModuleType;"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAM;EAAEC;AAAkB,CAAC,GAAGD,aAAa;AAQ3C,MAAME,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOD,iBAAiB,CAACC,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,0BAA0B,GAAG,MAAAA,CAAA,KAA8B;EAC7D,OAAOH,iBAAiB,CAACG,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAED,eAAe;EACXF,4BAA4B;EAC5BC,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';
|
|
|
4
4
|
import dispatchEvent from '../events/EventDispatcher';
|
|
5
5
|
import { JSONPath } from 'jsonpath-plus';
|
|
6
6
|
export async function getBaseETResponse(entityCode, success, eventCode, reasonCode, mergedObjectiveIds, taskId) {
|
|
7
|
-
let lastLocation = LocationManager.getInstance().getLastLocation();
|
|
7
|
+
let lastLocation = await LocationManager.getInstance().getLastLocation();
|
|
8
8
|
console.log("getBaseETResponse:lastLocation:", JSON.stringify(lastLocation));
|
|
9
9
|
let cache = DispatchSdkCache.getInstance();
|
|
10
10
|
const sdkConfig = await cache.getObjectFromCache(DispatchSdkCache.KEYS.SDK_CONFIG);
|
|
@@ -104,12 +104,12 @@ export function onTaskStart(eventData, customData, triggerEvent = true) {
|
|
|
104
104
|
const keys = DispatchSdkCache.KEYS;
|
|
105
105
|
const cache = DispatchSdkCache.getInstance();
|
|
106
106
|
(async () => {
|
|
107
|
-
let lastLocation = LocationManager.getInstance().getLastLocation();
|
|
107
|
+
let lastLocation = await LocationManager.getInstance().getLastLocation();
|
|
108
|
+
console.log("onTaskStart:lastLocation:", JSON.stringify(lastLocation));
|
|
108
109
|
let location = {
|
|
109
110
|
latitude: lastLocation.latitude,
|
|
110
111
|
longitude: lastLocation.longitude
|
|
111
112
|
};
|
|
112
|
-
console.log("onTaskStart:lastLocation:", location);
|
|
113
113
|
await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());
|
|
114
114
|
await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);
|
|
115
115
|
await cache.setObjectInCache(keys.TASK_START_LOCATION, location);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","CAPTURE_INPUT","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n console.log(\"onTaskStart:lastLocation:\",location)\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","CAPTURE_INPUT","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|