@os1-platform/dispatch-mobile 2.1.6 → 2.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js +11 -2
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +6 -2
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +3 -0
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +8 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +14 -16
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +9 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +9 -2
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +8 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js +3 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +194 -6
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/SyncManagerUtils.js +12 -2
- package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
- package/lib/commonjs/utils/utils.js +24 -0
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/module/analytics/firebase/FirebaseLogging.js +11 -2
- package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +6 -2
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/module/analytics/sentry/SentrySdkConstants.js +3 -0
- package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +8 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +14 -16
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +9 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +9 -2
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +8 -1
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/DBConfig.js +3 -1
- package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +195 -7
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/SyncManagerUtils.js +12 -2
- package/lib/module/utils/SyncManagerUtils.js.map +1 -1
- package/lib/module/utils/utils.js +22 -0
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/typescript/analytics/sentry/SentrySdkConstants.d.ts +3 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureSchema.d.ts +4 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureUtils.d.ts +7 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/manager/location/LocationManager.d.ts +1 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/DBConfig.d.ts +4 -0
- package/lib/typescript/manager/syncmanager/document/DocumentManager.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/document/DocumentSyncManager.d.ts +5 -1
- package/lib/typescript/models/sdk.d.ts +1 -0
- package/lib/typescript/utils/SyncManagerUtils.d.ts +1 -1
- package/lib/typescript/utils/utils.d.ts +4 -0
- package/package.json +6 -5
- package/src/analytics/firebase/FirebaseLogging.ts +22 -10
- package/src/analytics/sentry/SentryAnalyticsUtils.ts +8 -2
- package/src/analytics/sentry/SentrySdkConstants.ts +3 -0
- package/src/components/executiontasks/doodle/SignatureET.tsx +14 -1
- package/src/components/executiontasks/imageCapture/CaptureSchema.ts +4 -0
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +32 -18
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +10 -2
- package/src/index.tsx +2 -0
- package/src/manager/location/LocationManager.ts +8 -1
- package/src/manager/sdk/DispatchSDKManager.ts +8 -2
- package/src/manager/sdk/callbacksHandler.ts +12 -1
- package/src/manager/syncmanager/DBConfig.ts +4 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +105 -5
- package/src/manager/syncmanager/document/DocumentManager.ts +28 -2
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +220 -5
- package/src/models/sdk.ts +1 -0
- package/src/utils/ExecTaskUtils.ts +1 -1
- package/src/utils/SyncManagerUtils.ts +20 -2
- package/src/utils/utils.ts +23 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","useLayoutEffect","BackHandler","Platform","StyleSheet","Text","TouchableOpacity","View","Button","Provider","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","showToast","DispatchSdkCache","CommonStyles","Fonts","insertDocumentInDB","SignatureCapture","SdkColors","ColorTheme","DEFAULT_SIGN_ET_MESSAGE","GO_BACK_EVENT_CODE","Icon","hasGoBackConnector","GoBackModal","useFocusEffect","getStr","Str","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","SignatureET","props","signatureViewRef","dragged","setDragged","dragRef","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","headerTitle","createElement","style","flexDirection","alignItems","marginRight","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","SIGNATURE_ET_SCREEN","name","color","size","paddingRight","fontSize","fontFamily","OS","IBMPlexSans_500Medium","lineHeight","title","renderModal","showModal","setShowModal","onSuccess","onSubmitET","DOODLE","mergedObjectiveId","onFailure","saveAndSubmit","cancel","image","_props$applicableReas","failure","fileName","Date","now","toString","folderName","getInstance","getKeyFromCache","KEYS","FMS_FOLDER","insertID","_props$applicableReas2","url","file","folder","success","styles","mainContainer","doodleView","paddingVertical","marginTop","backgroundColor","messageText","message","horizontalLine","_signatureViewRef$cur","current","resetImage","clearBtn","height","width","borderWidth","borderColor","alignSelf","borderRadius","overflow","ref","rotateClockwise","square","viewMode","showBorder","showNativeButtons","showTitleLabel","maxSize","Math","max","resolution","length","breadth","minStrokeWidth","maxStrokeWidth","strokeColor","penColor","flex","onSaveEvent","result","encoded","onDragEvent","drag","prevState","bottomButtons","isSelfLoop","cancelButton","marginEnd","labelStyle","cancelButtonLabel","mode","skip","textAlign","textTransform","nextButton","marginStart","_signatureViewRef$cur2","saveImage","create","justifyContent","LIGHT","primaryButton","IBMPlexSans_600SemiBold","IBMPlexSans_400Regular","messageText2"],"sources":["SignatureET.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect } from 'react';\nimport {\n BackHandler,\n Platform,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n} from 'react-native';\nimport type { SignatureInput } from './SignatureSchema';\nimport { Button, Provider } from 'react-native-paper';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { showToast } from '../../widgets/Toaster';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport SignatureCapture from '../../../native/signature/SignatureCapture';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport {\n DEFAULT_SIGN_ET_MESSAGE,\n GO_BACK_EVENT_CODE,\n} from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { getStr } from '../../../locale/util';\nimport Str from '../../../locale/Str';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst SignatureET = (props: SignatureInput) => {\n const signatureViewRef = useRef<any>();\n const [dragged, setDragged] = useState(0);\n const dragRef = useRef<number>(0);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n headerTitle: () => (\n <View style={{ flexDirection: 'row', alignItems: 'center', marginRight: \"50%\" }}>\n <Icon\n onPress={() => {\n if (props.taskMeta?.enableGoBack && props.applicableReasons) {\n setShowBackModal(true);\n } else {\n props.navigation.goBack();\n }\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n\n \n }}\n name=\"arrow-back\"\n color=\"black\"\n size={22}\n style={{ paddingRight: 6 }}\n />\n <Text style={{ fontSize: 16, fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\nlineHeight: 24 }}>{props.title}</Text>\n </View>\n ),\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DOODLE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DOODLE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n async function saveAndSubmit(cancel: boolean, image: string) {\n if (cancel) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DOODLE,\n false,\n getEventCodeByET(\n ExecutionTaskID.DOODLE,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DOODLE\n )),\n });\n } else {\n if (image != null) {\n const fileName = `SIG_${Date.now().toString()}.jpg`;\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n let insertID = await insertDocumentInDB(\n fileName,\n folderName,\n // JSON.stringify(props.jobIDs),\n // JSON.stringify(props.objRefs),\n image,\n props.title ?? 'Signature',\n null\n );\n if (insertID) {\n props.onSubmitET({\n url: '',\n file: {\n folder: folderName,\n name: fileName,\n },\n ...(await getBaseETResponse(\n EntityCode.DOODLE,\n true,\n getEventCodeByET(\n ExecutionTaskID.DOODLE,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DOODLE\n )),\n });\n } else {\n showToast('Failed to save signature');\n }\n } else {\n showToast('Please enter signature!');\n }\n }\n }\n\n return (\n <Provider>\n {renderModal()}\n <View style={styles.mainContainer}>\n <View style={styles.doodleView}>\n <View style={{ paddingVertical: 20, marginTop: 20, backgroundColor: \"#FFF\" }}>\n <Text style={styles.messageText}>\n {props.message || DEFAULT_SIGN_ET_MESSAGE}\n </Text>\n </View>\n <View style={styles.horizontalLine} />\n <View>\n {/* <Text style={styles.messageText2}>{'Received by'}</Text> */}\n <TouchableOpacity\n onPress={() => {\n if (Platform.OS === 'android') {\n setDragged(0);\n } else {\n dragRef.current = 0;\n }\n signatureViewRef.current?.resetImage();\n const cta = 'Clear';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n \n \n }}\n >\n <Text style={styles.clearBtn}>{''}</Text>\n </TouchableOpacity>\n </View>\n <View style={{ height: 470, width: 310, borderWidth: 1, borderColor: \"#E0E3EB\", alignSelf: \"center\", borderRadius: 10, overflow: 'hidden' }}>\n <SignatureCapture\n ref={signatureViewRef}\n rotateClockwise={false}\n square={false}\n viewMode={'PORTRAIT'}\n showBorder={false}\n showNativeButtons={false}\n showTitleLabel={false}\n maxSize={Math.max(\n props.resolution.length,\n props.resolution.breadth\n )}\n minStrokeWidth={8}\n maxStrokeWidth={6}\n strokeColor={props.penColor ?? 'black'}\n backgroundColor={'white'}\n style={{ flex: 1, borderColor: 'transparent', borderWidth: 1 }}\n onSaveEvent={async (result) => {\n if (Platform.OS === 'android') {\n if (dragged > 0) {\n await saveAndSubmit(false, result.encoded);\n } else {\n showToast('Please enter signature');\n }\n } else {\n if (dragRef.current > 0) {\n await saveAndSubmit(false, result.encoded);\n } else {\n showToast('Please enter signature');\n }\n }\n }}\n onDragEvent={(drag) => {\n if (drag.dragged) {\n if (Platform.OS === 'android') {\n setButtonProceed(true)\n setDragged((prevState) => prevState + 1);\n } else {\n setButtonProceed(true)\n dragRef.current = dragRef.current + 1;\n }\n }\n }}\n />\n </View>\n </View>\n <View style={{ backgroundColor: '#DDDDDD', width: '100%', height: 1 }} />\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flex: 1, marginEnd: 7 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={async () => {\n await saveAndSubmit(true, '');\n const cta = getStr(Str.skip);\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n\n }}>{getStr(Str.skip)}\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={[CommonStyles.nextButton, { flex: 1, marginStart: 8, backgroundColor: buttonProceed ? \"#5B80F7\" : \"#E0E3EB\" }]}\n mode={'contained'}\n onPress={async () => {signatureViewRef.current?.saveImage()\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n\n }\n \n }\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\nconst styles = StyleSheet.create({\n horizontalLine: {\n marginTop: 13,\n },\n doodleView: {\n flex: 1,\n // padding: 20,\n },\n mainContainer: {\n flex: 1,\n backgroundColor: '#F9F9F9',\n },\n bottomButtons: {\n justifyContent: 'flex-end',\n flexDirection: 'row',\n marginStart: 14,\n marginEnd: 14,\n backgroundColor: \"white\",\n paddingVertical: 12,\n },\n clearBtn: {\n color: SdkColors[ColorTheme.LIGHT].primaryButton,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_600SemiBold\n : 'IBMPlexSans-SemiBold',\n fontSize: 15,\n justifyContent: 'flex-end',\n textAlign: 'right',\n },\n messageText: {\n fontSize: 16,\n lineHeight: 20,\n color: '#111',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',\n marginStart: 20\n },\n messageText2: {\n flex: 1,\n fontSize: 16,\n lineHeight: 20,\n color: '#999999',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n});\nexport default SignatureET;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","useLayoutEffect","BackHandler","Platform","StyleSheet","Text","TouchableOpacity","View","Button","Provider","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","showToast","DispatchSdkCache","CommonStyles","Fonts","insertDocumentInDB","SignatureCapture","SdkColors","ColorTheme","DEFAULT_SIGN_ET_MESSAGE","GO_BACK_EVENT_CODE","Icon","hasGoBackConnector","GoBackModal","useFocusEffect","getStr","Str","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","LocationManager","callbackHandler","SignatureET","props","signatureViewRef","dragged","setDragged","dragRef","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","headerTitle","createElement","style","flexDirection","alignItems","marginRight","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","SIGNATURE_ET_SCREEN","name","color","size","paddingRight","fontSize","fontFamily","OS","IBMPlexSans_500Medium","lineHeight","title","renderModal","showModal","setShowModal","onSuccess","onSubmitET","DOODLE","mergedObjectiveId","onFailure","saveAndSubmit","cancel","image","_props$applicableReas","failure","fileName","Date","now","toString","folderName","getInstance","getKeyFromCache","KEYS","FMS_FOLDER","dateTime","getDateTime","console","log","lat","getLastLocation","latitude","lng","longitude","accuracy","insertID","_props$applicableReas2","url","file","folder","success","styles","mainContainer","doodleView","paddingVertical","marginTop","backgroundColor","messageText","message","horizontalLine","_signatureViewRef$cur","current","resetImage","clearBtn","height","width","borderWidth","borderColor","alignSelf","borderRadius","overflow","ref","rotateClockwise","square","viewMode","showBorder","showNativeButtons","showTitleLabel","maxSize","Math","max","resolution","length","breadth","minStrokeWidth","maxStrokeWidth","strokeColor","penColor","flex","onSaveEvent","result","encoded","onDragEvent","drag","prevState","bottomButtons","isSelfLoop","cancelButton","marginEnd","labelStyle","cancelButtonLabel","mode","skip","textAlign","textTransform","nextButton","marginStart","_signatureViewRef$cur2","saveImage","create","justifyContent","LIGHT","primaryButton","IBMPlexSans_600SemiBold","IBMPlexSans_400Regular","messageText2"],"sources":["SignatureET.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect } from 'react';\nimport {\n BackHandler,\n Platform,\n StyleSheet,\n Text,\n TouchableOpacity,\n View,\n} from 'react-native';\nimport type { SignatureInput } from './SignatureSchema';\nimport { Button, Provider } from 'react-native-paper';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { showToast } from '../../widgets/Toaster';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport SignatureCapture from '../../../native/signature/SignatureCapture';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport {\n DEFAULT_SIGN_ET_MESSAGE,\n GO_BACK_EVENT_CODE,\n} from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { getStr } from '../../../locale/util';\nimport Str from '../../../locale/Str';\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 SignatureET = (props: SignatureInput) => {\n const signatureViewRef = useRef<any>();\n const [dragged, setDragged] = useState(0);\n const dragRef = useRef<number>(0);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n headerTitle: () => (\n <View style={{ flexDirection: 'row', alignItems: 'center', marginRight: \"50%\" }}>\n <Icon\n onPress={() => {\n if (props.taskMeta?.enableGoBack && props.applicableReasons) {\n setShowBackModal(true);\n } else {\n props.navigation.goBack();\n }\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n\n \n }}\n name=\"arrow-back\"\n color=\"black\"\n size={22}\n style={{ paddingRight: 6 }}\n />\n <Text style={{ fontSize: 16, fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\nlineHeight: 24 }}>{props.title}</Text>\n </View>\n ),\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DOODLE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DOODLE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n async function saveAndSubmit(cancel: boolean, image: string) {\n if (cancel) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DOODLE,\n false,\n getEventCodeByET(\n ExecutionTaskID.DOODLE,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DOODLE\n )),\n });\n } else {\n if (image != null) {\n const fileName = `SIG_${Date.now().toString()}.jpg`;\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n const dateTime = await callbackHandler.getDateTime();\n console.log('saveAndSubmit:dateTime: ', dateTime);\n\n let lat = LocationManager.getInstance().getLastLocation().latitude;\n let lng = LocationManager.getInstance().getLastLocation().longitude;\n let accuracy = LocationManager.getInstance().getLastLocation().accuracy;\n\n let insertID = await insertDocumentInDB(\n fileName,\n folderName,\n // JSON.stringify(props.jobIDs),\n // JSON.stringify(props.objRefs),\n image,\n props.title ?? 'Signature',\n null,\n dateTime,\n lat,\n lng,\n accuracy\n );\n if (insertID) {\n props.onSubmitET({\n url: '',\n file: {\n folder: folderName,\n name: fileName,\n },\n ...(await getBaseETResponse(\n EntityCode.DOODLE,\n true,\n getEventCodeByET(\n ExecutionTaskID.DOODLE,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DOODLE\n )),\n });\n } else {\n showToast('Failed to save signature');\n }\n } else {\n showToast('Please enter signature!');\n }\n }\n }\n\n return (\n <Provider>\n {renderModal()}\n <View style={styles.mainContainer}>\n <View style={styles.doodleView}>\n <View style={{ paddingVertical: 20, marginTop: 20, backgroundColor: \"#FFF\" }}>\n <Text style={styles.messageText}>\n {props.message || DEFAULT_SIGN_ET_MESSAGE}\n </Text>\n </View>\n <View style={styles.horizontalLine} />\n <View>\n {/* <Text style={styles.messageText2}>{'Received by'}</Text> */}\n <TouchableOpacity\n onPress={() => {\n if (Platform.OS === 'android') {\n setDragged(0);\n } else {\n dragRef.current = 0;\n }\n signatureViewRef.current?.resetImage();\n const cta = 'Clear';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n \n \n }}\n >\n <Text style={styles.clearBtn}>{''}</Text>\n </TouchableOpacity>\n </View>\n <View style={{ height: 470, width: 310, borderWidth: 1, borderColor: \"#E0E3EB\", alignSelf: \"center\", borderRadius: 10, overflow: 'hidden' }}>\n <SignatureCapture\n ref={signatureViewRef}\n rotateClockwise={false}\n square={false}\n viewMode={'PORTRAIT'}\n showBorder={false}\n showNativeButtons={false}\n showTitleLabel={false}\n maxSize={Math.max(\n props.resolution.length,\n props.resolution.breadth\n )}\n minStrokeWidth={8}\n maxStrokeWidth={6}\n strokeColor={props.penColor ?? 'black'}\n backgroundColor={'white'}\n style={{ flex: 1, borderColor: 'transparent', borderWidth: 1 }}\n onSaveEvent={async (result) => {\n if (Platform.OS === 'android') {\n if (dragged > 0) {\n await saveAndSubmit(false, result.encoded);\n } else {\n showToast('Please enter signature');\n }\n } else {\n if (dragRef.current > 0) {\n await saveAndSubmit(false, result.encoded);\n } else {\n showToast('Please enter signature');\n }\n }\n }}\n onDragEvent={(drag) => {\n if (drag.dragged) {\n if (Platform.OS === 'android') {\n setButtonProceed(true)\n setDragged((prevState) => prevState + 1);\n } else {\n setButtonProceed(true)\n dragRef.current = dragRef.current + 1;\n }\n }\n }}\n />\n </View>\n </View>\n <View style={{ backgroundColor: '#DDDDDD', width: '100%', height: 1 }} />\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flex: 1, marginEnd: 7 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={async () => {\n await saveAndSubmit(true, '');\n const cta = getStr(Str.skip);\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n\n }}>{getStr(Str.skip)}\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={[CommonStyles.nextButton, { flex: 1, marginStart: 8, backgroundColor: buttonProceed ? \"#5B80F7\" : \"#E0E3EB\" }]}\n mode={'contained'}\n onPress={async () => {signatureViewRef.current?.saveImage()\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SIGNATURE_ET_SCREEN, cta: cta }); \n\n }\n \n }\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\nconst styles = StyleSheet.create({\n horizontalLine: {\n marginTop: 13,\n },\n doodleView: {\n flex: 1,\n // padding: 20,\n },\n mainContainer: {\n flex: 1,\n backgroundColor: '#F9F9F9',\n },\n bottomButtons: {\n justifyContent: 'flex-end',\n flexDirection: 'row',\n marginStart: 14,\n marginEnd: 14,\n backgroundColor: \"white\",\n paddingVertical: 12,\n },\n clearBtn: {\n color: SdkColors[ColorTheme.LIGHT].primaryButton,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_600SemiBold\n : 'IBMPlexSans-SemiBold',\n fontSize: 15,\n justifyContent: 'flex-end',\n textAlign: 'right',\n },\n messageText: {\n fontSize: 16,\n lineHeight: 20,\n color: '#111',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',\n marginStart: 20\n },\n messageText2: {\n flex: 1,\n fontSize: 16,\n lineHeight: 20,\n color: '#999999',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n});\nexport default SignatureET;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["CaptureSchema.ts"],"sourcesContent":["/**\n * Length (in cm)\n */\nimport type {\n BaseETRequest,\n BaseETResponse,\n} from '../../../models/execTasks/ETBaseModels';\n\nexport interface CapturedImage {\n /**\n * Url of image\n */\n url: string;\n file?: { folder: string; name: string };\n\n /**\n * Epoch timestamp for the image capture\n */\n timestamp: number;\n}\n\nexport type CaptureOutput = BaseETResponse & {\n /**\n * Array of captured images\n */\n captures?: CapturedImage[];\n};\n\nexport type ImageData = {\n id: string;\n path: string;\n url: string;\n timestamp: number;\n};\n\n/**\n * Length (in cm)\n */\nexport type Length = number;\n/**\n * Breadth (in cm)\n */\nexport type Breadth = number;\n/**\n * Maximum Size limit (in kb) of image to be captured\n */\nexport type MaxFileSize = number;\n/**\n * Mode of capturing image\n */\nexport type CaptureMode = 'SINGLE' | 'MULTI';\n/**\n * Max limit of images to be captured in multi-capture mode\n */\nexport type MaxImageCount = number;\n/**\n * Title of instruction\n */\nexport type Title = string;\n/**\n * Message of instruction\n */\nexport type Message = string;\n/**\n * Can go back\n */\nexport type CanGoBack = boolean;\n\nexport type MultiAdditionalConfig = '1' | 'N';\n\nexport interface AdditionalMultiConfig {\n minCaptureCount: MultiAdditionalConfig;\n}\n\nexport type CaptureInput = BaseETRequest & {\n isSelfLoop: boolean;\n resolution: Resolution;\n fileSizeLimit: MaxFileSize;\n captureMode: CaptureMode;\n captureCountLimit?: MaxImageCount;\n additionalMultiConfig?: AdditionalMultiConfig;\n onSubmitET: (etOutput: CaptureOutput) => void;\n} & {\n captureCount: number;\n jobIds: string[];\n objRefs: string[];\n};\n/**\n * Resolution of image to be captured\n */\nexport interface Resolution {\n length: Length;\n breadth: Breadth;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["CaptureSchema.ts"],"sourcesContent":["/**\n * Length (in cm)\n */\nimport type {\n BaseETRequest,\n BaseETResponse,\n} from '../../../models/execTasks/ETBaseModels';\n\nexport interface CapturedImage {\n /**\n * Url of image\n */\n url: string;\n file?: { folder: string; name: string };\n\n /**\n * Epoch timestamp for the image capture\n */\n timestamp: number;\n}\n\nexport type CaptureOutput = BaseETResponse & {\n /**\n * Array of captured images\n */\n captures?: CapturedImage[];\n};\n\nexport type ImageData = {\n id: string;\n path: string;\n url: string;\n timestamp: number;\n lat: string;\n lng: string;\n accuracy: string;\n dateTime: string;\n};\n\n/**\n * Length (in cm)\n */\nexport type Length = number;\n/**\n * Breadth (in cm)\n */\nexport type Breadth = number;\n/**\n * Maximum Size limit (in kb) of image to be captured\n */\nexport type MaxFileSize = number;\n/**\n * Mode of capturing image\n */\nexport type CaptureMode = 'SINGLE' | 'MULTI';\n/**\n * Max limit of images to be captured in multi-capture mode\n */\nexport type MaxImageCount = number;\n/**\n * Title of instruction\n */\nexport type Title = string;\n/**\n * Message of instruction\n */\nexport type Message = string;\n/**\n * Can go back\n */\nexport type CanGoBack = boolean;\n\nexport type MultiAdditionalConfig = '1' | 'N';\n\nexport interface AdditionalMultiConfig {\n minCaptureCount: MultiAdditionalConfig;\n}\n\nexport type CaptureInput = BaseETRequest & {\n isSelfLoop: boolean;\n resolution: Resolution;\n fileSizeLimit: MaxFileSize;\n captureMode: CaptureMode;\n captureCountLimit?: MaxImageCount;\n additionalMultiConfig?: AdditionalMultiConfig;\n onSubmitET: (etOutput: CaptureOutput) => void;\n} & {\n captureCount: number;\n jobIds: string[];\n objRefs: string[];\n};\n/**\n * Resolution of image to be captured\n */\nexport interface Resolution {\n length: Length;\n breadth: Breadth;\n}\n"],"mappings":""}
|
|
@@ -139,31 +139,28 @@ export async function captureImage(imageWidth, imageHeight, fileSize) {
|
|
|
139
139
|
console.log("aks:uri-after=", uri);
|
|
140
140
|
//
|
|
141
141
|
if (uri != null) {
|
|
142
|
-
//
|
|
143
|
-
|
|
144
|
-
console.log(
|
|
145
|
-
|
|
146
|
-
//
|
|
147
|
-
const saveOptions = {
|
|
148
|
-
compress: compressionRatio
|
|
149
|
-
};
|
|
150
|
-
//
|
|
151
|
-
console.log("aks:uri=blank");
|
|
152
|
-
console.log("aks:uri=", uri);
|
|
153
|
-
// let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);
|
|
154
|
-
|
|
155
|
-
const resizedImage1 = await Image.compress(uri, {
|
|
142
|
+
let compressionRatio = 0.80; //await getCompressionRatio(uri, fileSize);
|
|
143
|
+
console.log('aks:compressionRatio=', compressionRatio);
|
|
144
|
+
console.log('aks:uri=', uri);
|
|
145
|
+
let resizedImage1 = await Image.compress(uri, {
|
|
156
146
|
compressionMethod: 'manual',
|
|
157
147
|
quality: compressionRatio
|
|
158
148
|
});
|
|
159
149
|
//
|
|
150
|
+
console.log('aks:resizedImage1=', resizedImage1);
|
|
151
|
+
// If captured image file path does not have prefix file:// then we are addding manually
|
|
152
|
+
if (!resizedImage1.includes('file')) {
|
|
153
|
+
resizedImage1 = 'file://' + resizedImage1;
|
|
154
|
+
}
|
|
155
|
+
console.log('aks:resizedImage2=', resizedImage1);
|
|
160
156
|
let resizedImageResult = {
|
|
161
157
|
uri: resizedImage1,
|
|
162
158
|
width: imageWidth,
|
|
163
159
|
height: imageHeight,
|
|
164
160
|
base64: ''
|
|
165
161
|
};
|
|
166
|
-
console.log('aks:
|
|
162
|
+
console.log('aks:resizedImageResult=', resizedImageResult);
|
|
163
|
+
|
|
167
164
|
//delete file
|
|
168
165
|
FileSystem.deleteAsync(uri).then(() => Logger.getInstance().logEvent('CAPTURE_ET', 'File deleted success', LOG_TYPE.SDK_DEBUG)).catch(error => {
|
|
169
166
|
Logger.getInstance().logEvent('CAPTURE_ET', error.message, LOG_TYPE.SDK_ERROR);
|
|
@@ -224,11 +221,12 @@ async function getImagesData(imagesDataList, captureProps) {
|
|
|
224
221
|
if (imagesDataList && imagesDataList.length > 0) {
|
|
225
222
|
let output = [];
|
|
226
223
|
const folderName = (await DispatchSdkCache.getInstance().getKeyFromCache(DispatchSdkCache.KEYS.FMS_FOLDER)) ?? 'NULL';
|
|
224
|
+
console.log('getImagesData:', folderName);
|
|
227
225
|
for (const data of imagesDataList) {
|
|
228
226
|
let insertID = await insertDocumentInDB(data.id, folderName,
|
|
229
227
|
// JSON.stringify(captureProps.jobIds),
|
|
230
228
|
// JSON.stringify(captureProps.objRefs),
|
|
231
|
-
null, captureProps.title, data.path);
|
|
229
|
+
null, captureProps.title, data.path, data.dateTime, data.lat, data.lng, data.accuracy);
|
|
232
230
|
if (insertID) output.push({
|
|
233
231
|
url: '',
|
|
234
232
|
timestamp: data.timestamp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Alert","FileSystem","ImagePicker","PermissionStatus","showToast","Logger","LOG_TYPE","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","BaseError","BaseErrorCodes","DispatchSdkCache","insertDocumentInDB","launchCamera","Image","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","getInstance","logEvent","message","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","GRANTED","captureImage","imageWidth","imageHeight","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","didCancel","errorCode","errorMessage","assets","compressionRatio","saveOptions","compress","resizedImage1","compressionMethod","quality","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","IMAGE_CAPTURE","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","title","push","url","timestamp","file","folder","name","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport type { ActionResize, ImageResult } from 'expo-image-manipulator';\nimport * as ImageManipulator from 'expo-image-manipulator';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if(uri != null){ \n //\n let compressionRatio = await getCompressionRatio(uri, fileSize);\n console.log(\"aks:compressionRatio=\", compressionRatio)\n \n //\n const saveOptions = {\n compress: compressionRatio,\n }\n //\n console.log(\"aks:uri=blank\")\n console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n\n const resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImage1=', resizedImageResult);\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Alert","FileSystem","ImagePicker","PermissionStatus","showToast","Logger","LOG_TYPE","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","BaseError","BaseErrorCodes","DispatchSdkCache","insertDocumentInDB","launchCamera","Image","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","getInstance","logEvent","message","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","GRANTED","captureImage","imageWidth","imageHeight","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","didCancel","errorCode","errorMessage","assets","compressionRatio","resizedImage1","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","IMAGE_CAPTURE","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\nimport Storage from '../../../utils/storage';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\ndeclare type ImageResult = {\n uri: string;\n width: number;\n height: number;\n base64?: string;\n};\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if (uri != null) {\n \n let compressionRatio = 0.80 //await getCompressionRatio(uri, fileSize);\n console.log('aks:compressionRatio=', compressionRatio);\n \n\n console.log('aks:uri=', uri);\n\n let resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n console.log('aks:resizedImage1=', resizedImage1);\n // If captured image file path does not have prefix file:// then we are addding manually\n if (!resizedImage1.includes('file')) {\n resizedImage1 = 'file://' + resizedImage1; \n }\n\n console.log('aks:resizedImage2=', resizedImage1);\n\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImageResult=', resizedImageResult);\n\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n console.log('getImagesData:',folderName);\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path,\n data.dateTime,\n data.lat,\n data.lng,\n data.accuracy\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ import Circle from "./circle-xmark.svg";
|
|
|
18
18
|
import CameraIcon from "./camera.svg";
|
|
19
19
|
import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';
|
|
20
20
|
import { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';
|
|
21
|
+
import LocationManager from '../../../manager/location/LocationManager';
|
|
22
|
+
import callbackHandler from '../../../manager/sdk/callbacksHandler';
|
|
21
23
|
const ImageCapture = props => {
|
|
22
24
|
let numberOfImagesToCapture;
|
|
23
25
|
if (props.captureMode == "SINGLE") {
|
|
@@ -247,12 +249,18 @@ const ImageCapture = props => {
|
|
|
247
249
|
setButtonProceed(true);
|
|
248
250
|
let imgArray = [];
|
|
249
251
|
imgArray = imagesDummy;
|
|
252
|
+
const dateTime = await callbackHandler.getDateTime();
|
|
253
|
+
console.log('captureImage:dateTime: ', dateTime);
|
|
250
254
|
imgArray[index] = {
|
|
251
255
|
id: CaptureUtils.getImagesFileName(),
|
|
252
256
|
// @ts-ignore
|
|
253
257
|
path: imageDataResponse.uri,
|
|
254
258
|
url: '',
|
|
255
|
-
timestamp: Date.now()
|
|
259
|
+
timestamp: Date.now(),
|
|
260
|
+
dateTime: dateTime,
|
|
261
|
+
lat: LocationManager.getInstance().getLastLocation().latitude,
|
|
262
|
+
lng: LocationManager.getInstance().getLastLocation().longitude,
|
|
263
|
+
accuracy: LocationManager.getInstance().getLastLocation().accuracy
|
|
256
264
|
};
|
|
257
265
|
setImagesDummy([...imgArray]);
|
|
258
266
|
console.log("images211:", JSON.stringify(imgArray));
|
|
@@ -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","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","length","arr","i","push","path","ImageItem","_ref","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","item","index","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","captureImage","uppercase","labelStyle","fontFamily","OS","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","IMAGE_CAPTURE","mergedObjectiveId","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","id","getImagesFileName","url","timestamp","Date","now","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","getInstance","logEvent","SDK_ERROR","renderItem","_ref2","mainContainer","styles","etMessageView","etMessage","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","failure","lineHeight","textAlign","marginHorizontal","disabled","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\n\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n\n if (images.length === 0) {\n let arr: any = [];\n for (let i = 0; i < numberOfImagesToCapture; i++) {\n arr.push({ path: '' });\n }\n setImages(arr);\n }\n }, [images]);\n\n\n interface ImageItemProps {\n item: { path: string };\n index: number;\n onPress: () => void;\n }\n\n const ImageItem: React.FC<ImageItemProps> = ({ item, index, onPress }) => {\n\n return (\n <View\n style={{\n width: numColumns == 2 ? '43%' : '88%',\n height: numColumns == 2 ? 160 : numberOfImagesToCapture == 1 ? 336 : 180,\n backgroundColor: 'white',\n alignItems: 'center',\n alignSelf: 'center',\n borderWidth: 1,\n borderColor: '#A3AAC2',\n borderStyle: 'dashed',\n borderRadius: 3,\n marginTop: '6%',\n marginStart: numColumns == 2 ? 17 : numberOfImagesToCapture == 1 ? 0 : 0,\n }}\n >\n <View\n style={{\n alignItems: 'center',\n width: '80%',\n height: '98%',\n borderRadius: 3,\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : (\n <TouchableOpacity\n onPress={() => { onPress()\n const cta = \"Camera Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n >\n<View\nstyle={{\n marginTop:\n numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%',\n}}\n>\n<CameraIcon />\n</View>\n</TouchableOpacity>\n \n )}\n <Button\n onPress={() => { captureImage(index)\n const cta = \"Click Photo\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n uppercase={false}\n labelStyle={[\n {\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n color: '#5B80F7',\n },\n ]}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : 'Click Photo'}\n </Button>\n <Image\n source={{\n uri: imagesDummy?.length > index ? imagesDummy[index]?.path : item?.path,\n }}\n style={{\n height: numColumns == 2 ? '75%' : numberOfImagesToCapture == 1 ? '85%' : '85%',\n width: numColumns == 2 ? '105%' : '118%',\n borderRadius: 10,\n bottom:\n numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%',\n }}\n />\n <TouchableOpacity\n onPress={() => { onPress()\n const cta = \"Circle Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n style={{\n position: 'absolute',\n top: numColumns == 2 ? '17%' : '9%',\n marginRight: '2%',\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path && (\n <View\n style={{\n width: 25,\n height: 25,\n backgroundColor: 'white',\n borderRadius: 15,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: numColumns == 2 ? '78%' : '96%',\n }}\n >\n <Circle />\n </View>\n )}\n </TouchableOpacity>\n </View>\n </View>\n );\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const handleSubmit = async () => {\n try {\n setDisableProceed(true);\n let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);\n console.log('imagesArray:', JSON.stringify(imagesArray));\n\n if (imagesArray.length > 0) {\n props.onSubmitET(await getCaptureOutput(imagesArray, props));\n } else {\n showToast('No Images captured');\n }\n } catch (error: any) {\n setDisableProceed(false);\n showToast(error.message);\n } finally {\n setDisableProceed(false);\n }\n };\n\n // useEffect(() => {\n // if (props.captureMode === 'SINGLE') {\n // if (images.length > 0) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else if (\n // props.captureMode === 'MULTI' &&\n // props.captureCountLimit &&\n // props.captureCountLimit > 0\n // ) {\n // if (images.length === CaptureUtils.getMaxImagesCount(props)) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else {\n // if (images.length > 0) {\n // setShowCapture(true);\n // }\n // }\n // }, [images, props, showCapture]);\n\n const captureImage = useCallback(async (index) => {\n // // if (!showCapture) {\n // // showToast(`Max Image Limit reached`);\n // // return;\n // // }\n // console.log(\"captureImage\", CaptureUtils);\n let imageDataResponse = await CaptureUtils.captureImage(\n props.resolution.breadth,\n props.resolution.length,\n props.fileSizeLimit\n );\n\n if (imageDataResponse != null) {\n setButtonProceed(true);\n\n let imgArray = [];\n imgArray = imagesDummy;\n imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n };\n setImagesDummy([...imgArray])\n console.log(\"images211:\", JSON.stringify(imgArray));\n\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true\n }\n }\n setButtonProceed(initialProceedValue);\n\n try {\n // setImagesDummy(filteredImages);\n // setButtonProceed(false);\n } catch (err: any) {\n Logger.getInstance().logEvent('deleteImageError', err.message, LOG_TYPE.SDK_ERROR);\n console.error(\"Error updating state after deletion:\", err);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n const cta = \"Delete Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>\n Take a photo of the shipments. Please ensure the items are clearly visible.\n </Text>\n </View>\n )}\n <View\n style={{\n backgroundColor: 'white',\n width: 360,\n height: numColumns == 2 ? '82%' : numberOfImagesToCapture == 1 ? '63%' : '70%',\n alignSelf: 'center',\n marginTop: '5%',\n borderRadius: 7,\n borderColor: '#E0E3EB',\n borderWidth: 0.5,\n }}\n >\n <FlatList\n data={images}\n numColumns={numColumns}\n renderItem={renderItem}\n keyExtractor={(item) => item?.id}\n contentContainerStyle={{ paddingBottom: '30%' }}\n />\n </View>\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flexGrow: 1, marginStart: '3%' }]}\n mode=\"outlined\"\n labelStyle={[CommonStyles.cancelButtonLabel, { textTransform: 'capitalize' }]}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, props.applicableReasons?.failure),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n const cta = \"Cancel\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n <Button\n labelStyle={{\n color: buttonProceed ? '#ffff' : '#A3AAC2',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n textTransform: 'capitalize',\n }}\n style={{\n flexGrow: 1,\n marginHorizontal: '3%',\n backgroundColor: buttonProceed ? '#5B80F7' : '#E0E3EB',\n }}\n disabled={!buttonProceed}\n mode=\"contained\"\n onPress={async () => {\n await handleSubmit();\n const cta = \"Proceed\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n\n imageEtContainer: {\n display: 'flex',\n marginStart: 16,\n marginEnd: 16,\n borderWidth: 1,\n borderColor: '#A3AAC2',\n padding: 10,\n marginTop: 15,\n borderStyle: 'dashed',\n backgroundColor: '#FFFFFF',\n alignItems: 'center',\n justifyContent: 'center',\n height: 370,\n borderRadius: 5\n },\n\n bottomButtons: {\n width: \"100%\",\n justifyContent: \"space-between\",\n flexDirection: 'row',\n backgroundColor: \"white\",\n paddingVertical: 12,\n bottom: 0,\n position: \"absolute\",\n borderTopColor: \"#A3AAC2\",\n borderTopWidth: 0.5\n },\n etMessage: {\n // textAlign: 'center',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 16,\n display: 'flex',\n alignItems: 'center',\n color: '#000000',\n fontFamily: Fonts.IBMPlexSans_400Regular\n },\n etMessageView: {\n marginTop: 17,\n paddingStart: 17,\n paddingTop: 15,\n paddingBottom: 15,\n backgroundColor: '#ffffff'\n }\n});\n\nexport default ImageCapture;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,eAAe,QAAQ,OAAO;AAChF,SAASC,WAAW,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC/G,OAAO,KAAKC,YAAY,MAAM,gBAAgB;AAC9C,SAASC,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,SAAS,QAAQ,uBAAuB;AAGjD,OAAOC,KAAK,MAAM,yCAAyC;AAC3D,SAASC,YAAY,EAAEC,KAAK,QAAQ,6CAA6C;AACjF,SAASC,iBAAiB,QAAQ,8BAA8B;AAChE,SAASC,UAAU,EAAEC,eAAe,QAAQ,oCAAoC;AAChF,SAASC,gBAAgB,QAAQ,mDAAmD;AACpF,SAASC,kBAAkB,QAAQ,8BAA8B;AACjE,SAASC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AACrD,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,OAAOC,WAAW,MAAM,yCAAyC;AACjE,SAASC,cAAc,QAAQ,0BAA0B;AACzD,OAAOC,MAAM,MAAM,oBAAoB;AAEvC,OAAOC,UAAU,MAAM,cAAc;AACrC,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,8CAA8C;AACtI,SAASC,uBAAuB,QAAQ,gDAAgD;AAExF,MAAMC,YAAY,GAAIC,KAAU,IAAK;EACnC,IAAIC,uBAA4B;EAChC,IAAID,KAAK,CAACE,WAAW,IAAI,QAAQ,EAAE;IACjCD,uBAAuB,GAAG,CAAC;EAC7B,CAAC,MAAM,IAAID,KAAK,CAACE,WAAW,KAAK,OAAO,IAAIF,KAAK,CAACG,iBAAiB,IAAIH,KAAK,CAACG,iBAAiB,GAAG,CAAC,EAAE;IAClGF,uBAAuB,GAAGD,KAAK,CAACG,iBAAiB;EACnD;EAEA,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGxC,QAAQ,CAAC,EAAE,CAAC;EACxC,MAAM,CAACyC,WAAW,EAAEC,cAAc,CAAC,GAAG1C,QAAQ,CAAQ,EAAE,CAAC;EACzD,MAAM,CAAC2C,WAAW,EAAEC,cAAc,CAAC,GAAG5C,QAAQ,CAAC,IAAI,CAAC;EACpD,MAAM,CAAC6C,cAAc,EAAEC,iBAAiB,CAAC,GAAG9C,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAAC+C,aAAa,EAAEC,gBAAgB,CAAC,GAAGhD,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACiD,aAAa,EAAEC,gBAAgB,CAAC,GAAGlD,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACmD,UAAU,EAAEC,aAAa,CAAC,GAAGpD,QAAQ,CAACoC,uBAAuB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAElFT,cAAc,CACZ9B,KAAK,CAACC,WAAW,CAAC,MAAM;IACtB,MAAMuD,WAAW,GAAGA,CAAA,KAAM;MAAA,IAAAC,eAAA;MACxB,IACE,CAAAA,eAAA,GAAAnB,KAAK,CAACoB,QAAQ,cAAAD,eAAA,eAAdA,eAAA,CAAgBE,YAAY,IAC5B/B,kBAAkB,CAACU,KAAK,CAACsB,iBAAiB,CAAC,EAC3C;QACAT,gBAAgB,CAAC,IAAI,CAAC;QACtB,OAAO,IAAI;MACb,CAAC,MAAM;QACLb,KAAK,CAACuB,UAAU,CAACC,MAAM,CAAC,CAAC;QACzB,OAAO,IAAI;MACb;IACF,CAAC;IACDzD,WAAW,CAAC0D,gBAAgB,CAAC,mBAAmB,EAAEP,WAAW,CAAC;IAC9D,OAAO,MACLnD,WAAW,CAAC2D,mBAAmB,CAAC,mBAAmB,EAAER,WAAW,CAAC;EACrE,CAAC,EAAE,EAAE,CACP,CAAC;EAEDpD,eAAe,CAAC,MAAM;IACpBkC,KAAK,CAACuB,UAAU,CAACI,UAAU,CAAC;MAC1BC,KAAK,EAAE5B,KAAK,CAAC4B,KAAK;MAClBC,UAAU,EAAEA,CAAA,KAAM;QAChB,oBACEnE,KAAA,CAAAoE,aAAA,CAACpD,KAAK;UACJqD,OAAO,EAAEA,CAAA,KAAM;YAAA,IAAAC,gBAAA;YACb,IACE,CAAAA,gBAAA,GAAAhC,KAAK,CAACoB,QAAQ,cAAAY,gBAAA,eAAdA,gBAAA,CAAgBX,YAAY,IAC5B/B,kBAAkB,CAACU,KAAK,CAACsB,iBAAiB,CAAC,EAE3CT,gBAAgB,CAAC,IAAI,CAAC,CAAC,KACpBb,KAAK,CAACuB,UAAU,CAACC,MAAM,CAAC,CAAC;YAC9B,MAAMS,GAAG,GAAG,YAAY;YACxBnC,uBAAuB,CAAC;cAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;cAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;cAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;cAAEN,GAAG,EAAEA;YAAI,CAAC,CAAC;UAEjM,CAAE;UACFO,IAAI,EAAC,YAAY;UACjBC,KAAK,EAAE,OAAQ;UACfC,IAAI,EAAE,EAAG;UACTC,KAAK,EAAE;YACLC,YAAY,EAAE,EAAE;YAChBC,UAAU,EAAE;UACd;QAAE,CACH,CAAC;MAEN;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC7C,KAAK,CAACuB,UAAU,EAAEvB,KAAK,CAAC4B,KAAK,CAAC,CAAC;EAEnChE,SAAS,CAAC,MAAM;IAEd,IAAIwC,MAAM,CAAC0C,MAAM,KAAK,CAAC,EAAE;MACvB,IAAIC,GAAQ,GAAG,EAAE;MACjB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG/C,uBAAuB,EAAE+C,CAAC,EAAE,EAAE;QAChDD,GAAG,CAACE,IAAI,CAAC;UAAEC,IAAI,EAAE;QAAG,CAAC,CAAC;MACxB;MACA7C,SAAS,CAAC0C,GAAG,CAAC;IAChB;EACF,CAAC,EAAE,CAAC3C,MAAM,CAAC,CAAC;EASZ,MAAM+C,SAAmC,GAAGC,IAAA,IAA8B;IAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,mBAAA;IAAA,IAA7B;MAAEC,IAAI;MAAEC,KAAK;MAAE3B;IAAQ,CAAC,GAAAqB,IAAA;IAEnE,oBACE1F,KAAA,CAAAoE,aAAA,CAACxD,IAAI;MACHqE,KAAK,EAAE;QACLgB,KAAK,EAAE3C,UAAU,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK;QACtC4C,MAAM,EAAE5C,UAAU,IAAI,CAAC,GAAG,GAAG,GAAGf,uBAAuB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;QACxE4D,eAAe,EAAE,OAAO;QACxBC,UAAU,EAAE,QAAQ;QACpBC,SAAS,EAAE,QAAQ;QACnBC,WAAW,EAAE,CAAC;QACdC,WAAW,EAAE,SAAS;QACtBC,WAAW,EAAE,QAAQ;QACrBC,YAAY,EAAE,CAAC;QACfC,SAAS,EAAE,IAAI;QACfC,WAAW,EAAErD,UAAU,IAAI,CAAC,GAAG,EAAE,GAAGf,uBAAuB,IAAI,CAAC,GAAG,CAAC,GAAG;MACzE;IAAE,gBAEFvC,KAAA,CAAAoE,aAAA,CAACxD,IAAI;MACHqE,KAAK,EAAE;QACLmB,UAAU,EAAE,QAAQ;QACpBH,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,KAAK;QACbO,YAAY,EAAE;MAChB;IAAE,GAED,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwC,MAAM,IAAGY,KAAK,KAAAL,kBAAA,GAAI/C,WAAW,CAACoD,KAAK,CAAC,cAAAL,kBAAA,eAAlBA,kBAAA,CAAoBH,IAAI,GAAG,IAAI,gBACvExF,KAAA,CAAAoE,aAAA,CAACzD,gBAAgB;MACjB0D,OAAO,EAAEA,CAAA,KAAM;QAAEA,OAAO,CAAC,CAAC;QACxB,MAAME,GAAG,GAAG,aAAa;QACzBnC,uBAAuB,CAAC;UAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;UAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;UAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;UAAEN,GAAG,EAAEA;QAAI,CAAC,CAAC;MAEjM;IAAE,gBAEJvE,KAAA,CAAAoE,aAAA,CAACxD,IAAI;MACLqE,KAAK,EAAE;QACLyB,SAAS,EACTpD,UAAU,KAAK,CAAC,GAAG,KAAK,GAAGf,uBAAuB,KAAK,CAAC,GAAG,KAAK,GAAG;MACrE;IAAE,gBAEFvC,KAAA,CAAAoE,aAAA,CAACpC,UAAU,MAAE,CACP,CACY,CAEP,eACDhC,KAAA,CAAAoE,aAAA,CAAC5C,MAAM;MACL6C,OAAO,EAAEA,CAAA,KAAM;QAAEuC,YAAY,CAACZ,KAAK,CAAC;QAClC,MAAMzB,GAAG,GAAG,aAAa;QACzBnC,uBAAuB,CAAC;UAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;UAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;UAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;UAAEN,GAAG,EAAEA;QAAI,CAAC,CAAC;MAEjM,CAAE;MACFsC,SAAS,EAAE,KAAM;MACjBC,UAAU,EAAE,CACV;QACEC,UAAU,EAAEvG,QAAQ,CAACwG,EAAE,KAAK,SAAS,GAAG9F,KAAK,CAAC+F,qBAAqB,GAAG,oBAAoB;QAC1FC,SAAS,EAAE,QAAQ;QACnBC,UAAU,EAAE,QAAQ;QACpBC,QAAQ,EAAE,EAAE;QACZC,aAAa,EAAE,IAAI;QACnBtC,KAAK,EAAE;MACT,CAAC;IACD,GAED,CAAAnC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwC,MAAM,IAAGY,KAAK,KAAAJ,mBAAA,GAAIhD,WAAW,CAACoD,KAAK,CAAC,cAAAJ,mBAAA,eAAlBA,mBAAA,CAAoBJ,IAAI,GAAG,IAAI,GAAG,aAC5D,CAAC,eACTxF,KAAA,CAAAoE,aAAA,CAAC7D,KAAK;MACJ+G,MAAM,EAAE;QACNC,GAAG,EAAE,CAAA3E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwC,MAAM,IAAGY,KAAK,IAAAH,mBAAA,GAAGjD,WAAW,CAACoD,KAAK,CAAC,cAAAH,mBAAA,uBAAlBA,mBAAA,CAAoBL,IAAI,GAAGO,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEP;MACtE,CAAE;MACFP,KAAK,EAAE;QACLiB,MAAM,EAAE5C,UAAU,IAAI,CAAC,GAAG,KAAK,GAAGf,uBAAuB,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK;QAC9E0D,KAAK,EAAE3C,UAAU,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM;QACxCmD,YAAY,EAAE,EAAE;QAChBe,MAAM,EACJlE,UAAU,IAAI,CAAC,GAAG,IAAI,GAAGf,uBAAuB,IAAI,CAAC,GAAG,IAAI,GAAG;MACnE;IAAE,CACH,CAAC,eACFvC,KAAA,CAAAoE,aAAA,CAACzD,gBAAgB;MACf0D,OAAO,EAAEA,CAAA,KAAM;QAAEA,OAAO,CAAC,CAAC;QACxB,MAAME,GAAG,GAAG,aAAa;QACzBnC,uBAAuB,CAAC;UAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;UAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;UAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;UAAEN,GAAG,EAAEA;QAAI,CAAC,CAAC;MAEjM,CAAE;MACFU,KAAK,EAAE;QACLwC,QAAQ,EAAE,UAAU;QACpBC,GAAG,EAAEpE,UAAU,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;QACnCqE,WAAW,EAAE;MACf;IAAE,GAED,CAAA/E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwC,MAAM,IAAGY,KAAK,MAAAF,mBAAA,GAAIlD,WAAW,CAACoD,KAAK,CAAC,cAAAF,mBAAA,uBAAlBA,mBAAA,CAAoBN,IAAI,kBACtDxF,KAAA,CAAAoE,aAAA,CAACxD,IAAI;MACHqE,KAAK,EAAE;QACLgB,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVC,eAAe,EAAE,OAAO;QACxBM,YAAY,EAAE,EAAE;QAChBL,UAAU,EAAE,QAAQ;QACpBwB,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAEvE,UAAU,IAAI,CAAC,GAAG,KAAK,GAAG;MACxC;IAAE,gBAEFtD,KAAA,CAAAoE,aAAA,CAACrC,MAAM,MAAE,CACL,CAEQ,CACd,CACF,CAAC;EAEX,CAAC;EAED,MAAM+F,WAAW,GAAGA,CAAA,KAAM;IACxB,oBACE9H,KAAA,CAAAoE,aAAA,CAACvC,WAAW;MACVkG,SAAS,EAAE7E,aAAc;MACzB8E,YAAY,EAAE7E,gBAAiB;MAC/B8E,SAAS,EAAE,MAAAA,CAAA,KAAY;QACrB3F,KAAK,CAAC4F,UAAU,CAAC;UACf,IAAI,MAAM/G,iBAAiB,CACzBC,UAAU,CAAC+G,aAAa,EACxB,KAAK,EACL5G,kBAAkB,EAClB,EAAE,EACFe,KAAK,CAAC8F,iBAAiB,EACvB/G,eAAe,CAAC8G,aAClB,CAAC;QACH,CAAC,CAAC;QACFhF,gBAAgB,CAAC,KAAK,CAAC;MACzB,CAAE;MACFkF,SAAS,EAAEA,CAAA,KAAMlF,gBAAgB,CAAC,KAAK;IAAE,CAC1C,CAAC;EAEN,CAAC;EAED,MAAMmF,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAI;MACFrF,iBAAiB,CAAC,IAAI,CAAC;MACvB,IAAIsF,WAAW,GAAG3F,WAAW,CAAC4F,MAAM,CAACzC,IAAI,IAAIA,IAAI,IAAI,IAAI,IAAIA,IAAI,CAACP,IAAI,IAAI,IAAI,IAAIO,IAAI,CAACP,IAAI,CAACJ,MAAM,IAAI,CAAC,CAAC;MACxGqD,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEC,IAAI,CAACC,SAAS,CAACL,WAAW,CAAC,CAAC;MAExD,IAAIA,WAAW,CAACnD,MAAM,GAAG,CAAC,EAAE;QAC1B9C,KAAK,CAAC4F,UAAU,CAAC,MAAMpH,gBAAgB,CAACyH,WAAW,EAAEjG,KAAK,CAAC,CAAC;MAC9D,CAAC,MAAM;QACLvB,SAAS,CAAC,oBAAoB,CAAC;MACjC;IACF,CAAC,CAAC,OAAO8H,KAAU,EAAE;MACnB5F,iBAAiB,CAAC,KAAK,CAAC;MACxBlC,SAAS,CAAC8H,KAAK,CAACC,OAAO,CAAC;IAC1B,CAAC,SAAS;MACR7F,iBAAiB,CAAC,KAAK,CAAC;IAC1B;EACF,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAM2D,YAAY,GAAG3G,WAAW,CAAC,MAAO+F,KAAK,IAAK;IAChD;IACA;IACA;IACA;IACA;IACA,IAAI+C,iBAAiB,GAAG,MAAMlI,YAAY,CAAC+F,YAAY,CACrDtE,KAAK,CAAC0G,UAAU,CAACC,OAAO,EACxB3G,KAAK,CAAC0G,UAAU,CAAC5D,MAAM,EACvB9C,KAAK,CAAC4G,aACR,CAAC;IAED,IAAIH,iBAAiB,IAAI,IAAI,EAAE;MAC7B1F,gBAAgB,CAAC,IAAI,CAAC;MAEtB,IAAI8F,QAAQ,GAAG,EAAE;MACjBA,QAAQ,GAAGvG,WAAW;MACtBuG,QAAQ,CAACnD,KAAK,CAAC,GAAG;QAChBoD,EAAE,EAAEvI,YAAY,CAACwI,iBAAiB,CAAC,CAAC;QACpC;QACA7D,IAAI,EAAEuD,iBAAiB,CAACxB,GAAG;QAC3B+B,GAAG,EAAE,EAAE;QACPC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;MACtB,CAAC;MACD5G,cAAc,CAAC,CAAC,GAAGsG,QAAQ,CAAC,CAAC;MAC7BV,OAAO,CAACC,GAAG,CAAC,YAAY,EAAEC,IAAI,CAACC,SAAS,CAACO,QAAQ,CAAC,CAAC;IAErD;EACF,CAAC,EAAE,CAAC7G,KAAK,CAAC0G,UAAU,CAACC,OAAO,EAAE3G,KAAK,CAAC0G,UAAU,CAAC5D,MAAM,EAAE9C,KAAK,CAAC4G,aAAa,CAAC,CAAC;EAG5E,MAAMQ,WAAW,GAAG,MAAO1D,KAAU,IAAK;IACxC,IAAI2D,eAAe,GAAG,EAAE;IACxBA,eAAe,GAAG/G,WAAW;IAC7B+G,eAAe,CAAC3D,KAAK,CAAC,CAACR,IAAI,GAAG,EAAE;IAChC3C,cAAc,CAAC,CAAC,GAAG8G,eAAe,CAAC,CAAC;IAEpC,IAAIC,mBAAmB,GAAG,KAAK;IAC/B,KAAK,IAAItE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqE,eAAe,CAACvE,MAAM,EAAEE,CAAC,EAAE,EAAE;MAAA,IAAAuE,kBAAA;MAC/C,KAAAA,kBAAA,GAAIF,eAAe,CAACrE,CAAC,CAAC,cAAAuE,kBAAA,eAAlBA,kBAAA,CAAoBrE,IAAI,EAAE;QAC5BoE,mBAAmB,GAAG,IAAI;MAC5B;IACF;IACAvG,gBAAgB,CAACuG,mBAAmB,CAAC;IAErC,IAAI;MACF;MACA;IAAA,CACD,CAAC,OAAOE,GAAQ,EAAE;MACjBpI,MAAM,CAACqI,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,EAAEF,GAAG,CAAChB,OAAO,EAAEnH,QAAQ,CAACsI,SAAS,CAAC;MAClFxB,OAAO,CAACI,KAAK,CAAC,sCAAsC,EAAEiB,GAAG,CAAC;IAC5D;EACF,CAAC;EAED,MAAMI,UAAU,GAAGC,KAAA,IAAgD;IAAA,IAA/C;MAAEpE,IAAI;MAAEC;IAAiC,CAAC,GAAAmE,KAAA;IAC5D,oBACEnK,KAAA,CAAAoE,aAAA,CAACqB,SAAS;MACRM,IAAI,EAAEA,IAAK;MACXC,KAAK,EAAEA,KAAM;MACb3B,OAAO,EAAE,MAAAA,CAAA,KAAY;QACnB,MAAMqF,WAAW,CAAC1D,KAAK,CAAC;QACxB,MAAMzB,GAAG,GAAG,aAAa;QACzBnC,uBAAuB,CAAC;UAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;UAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;UAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;UAAEN,GAAG,EAAEA;QAAI,CAAC,CAAC;MAEjM;IAAE,CACH,CAAC;EAEN,CAAC;EAED,oBACEvE,KAAA,CAAAoE,aAAA,CAAC3C,QAAQ,QACNqG,WAAW,CAAC,CAAC,eACd9H,KAAA,CAAAoE,aAAA,CAACxD,IAAI;IAACqE,KAAK,EAAEhE,YAAY,CAACmJ;EAAc,GACrC9H,KAAK,CAACwG,OAAO,iBACZ9I,KAAA,CAAAoE,aAAA,CAACxD,IAAI;IAACqE,KAAK,EAAEoF,MAAM,CAACC;EAAc,gBAChCtK,KAAA,CAAAoE,aAAA,CAAC1D,IAAI;IAACuE,KAAK,EAAEoF,MAAM,CAACE;EAAU,GAAC,6EAEzB,CACF,CACP,eACDvK,KAAA,CAAAoE,aAAA,CAACxD,IAAI;IACHqE,KAAK,EAAE;MACLkB,eAAe,EAAE,OAAO;MACxBF,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE5C,UAAU,IAAI,CAAC,GAAG,KAAK,GAAGf,uBAAuB,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK;MAC9E8D,SAAS,EAAE,QAAQ;MACnBK,SAAS,EAAE,IAAI;MACfD,YAAY,EAAE,CAAC;MACfF,WAAW,EAAE,SAAS;MACtBD,WAAW,EAAE;IACf;EAAE,gBAEFtG,KAAA,CAAAoE,aAAA,CAAC9D,QAAQ;IACPkK,IAAI,EAAE9H,MAAO;IACbY,UAAU,EAAEA,UAAW;IACvB4G,UAAU,EAAEA,UAAW;IACvBO,YAAY,EAAG1E,IAAI,IAAKA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqD,EAAG;IACjCsB,qBAAqB,EAAE;MAAEC,aAAa,EAAE;IAAM;EAAE,CACjD,CACG,CAAC,eACP3K,KAAA,CAAAoE,aAAA,CAACxD,IAAI;IAACqE,KAAK,EAAEoF,MAAM,CAACO;EAAc,GAC9BtI,KAAK,CAACuI,UAAU,IAAI,KAAK,iBAAK7K,KAAA,CAAAoE,aAAA,CAAC5C,MAAM;IACrCyD,KAAK,EAAE,CAAChE,YAAY,CAAC6J,YAAY,EAAE;MAAEC,QAAQ,EAAE,CAAC;MAAEpE,WAAW,EAAE;IAAK,CAAC,CAAE;IACvEqE,IAAI,EAAC,UAAU;IACflE,UAAU,EAAE,CAAC7F,YAAY,CAACgK,iBAAiB,EAAE;MAAEC,aAAa,EAAE;IAAa,CAAC,CAAE;IAC9E7G,OAAO,EAAE,MAAAA,CAAA,KAAY;MAAA,IAAA8G,qBAAA;MACnB7I,KAAK,CAAC4F,UAAU,CAAC;QACf,IAAI,MAAM/G,iBAAiB,CACzBC,UAAU,CAAC+G,aAAa,EACxB,KAAK,EACL7G,gBAAgB,CAACD,eAAe,CAAC8G,aAAa,EAAE,KAAK,GAAAgD,qBAAA,GAAE7I,KAAK,CAACsB,iBAAiB,cAAAuH,qBAAA,uBAAvBA,qBAAA,CAAyBC,OAAO,CAAC,EACxF,EAAE,EACF9I,KAAK,CAAC8F,iBAAiB,EACvB/G,eAAe,CAAC8G,aAClB,CAAC;MACH,CAAC,CAAC;MACF,MAAM5D,GAAG,GAAG,QAAQ;MACpBnC,uBAAuB,CAAC;QAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;QAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;QAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;QAAEN,GAAG,EAAEA;MAAI,CAAC,CAAC;IAEjM;EAAE,GACH,QAEO,CAAC,eAETvE,KAAA,CAAAoE,aAAA,CAAC5C,MAAM;IACLsF,UAAU,EAAE;MACV/B,KAAK,EAAE3B,aAAa,GAAG,OAAO,GAAG,SAAS;MAC1C2D,UAAU,EAAEvG,QAAQ,CAACwG,EAAE,KAAK,SAAS,GAAG9F,KAAK,CAAC+F,qBAAqB,GAAG,oBAAoB;MAC1FG,QAAQ,EAAE,EAAE;MACZiE,UAAU,EAAE,EAAE;MACdC,SAAS,EAAE,QAAQ;MACnBJ,aAAa,EAAE;IACjB,CAAE;IACFjG,KAAK,EAAE;MACL8F,QAAQ,EAAE,CAAC;MACXQ,gBAAgB,EAAE,IAAI;MACtBpF,eAAe,EAAE/C,aAAa,GAAG,SAAS,GAAG;IAC/C,CAAE;IACFoI,QAAQ,EAAE,CAACpI,aAAc;IACzB4H,IAAI,EAAC,WAAW;IAChB3G,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMiE,YAAY,CAAC,CAAC;MACpB,MAAM/D,GAAG,GAAG,SAAS;MACrBnC,uBAAuB,CAAC;QAAEoC,aAAa,EAAErC,kBAAkB,CAACsC,GAAG;QAAEC,SAAS,EAAExC,2BAA2B,CAACyC,cAAc;QAAEC,UAAU,EAAE3C,sBAAsB,CAAC4C,uBAAuB;QAAEN,GAAG,EAAEA;MAAI,CAAC,CAAC;IAEjM;EAAE,GACH,SAEO,CACJ,CACF,CACE,CAAC;AAEf,CAAC;AAED,MAAM8F,MAAM,GAAG5J,UAAU,CAACgL,MAAM,CAAC;EAE/BC,gBAAgB,EAAE;IAChBC,OAAO,EAAE,MAAM;IACfhF,WAAW,EAAE,EAAE;IACfiF,SAAS,EAAE,EAAE;IACbtF,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,SAAS;IACtBsF,OAAO,EAAE,EAAE;IACXnF,SAAS,EAAE,EAAE;IACbF,WAAW,EAAE,QAAQ;IACrBL,eAAe,EAAE,SAAS;IAC1BC,UAAU,EAAE,QAAQ;IACpBwB,cAAc,EAAE,QAAQ;IACxB1B,MAAM,EAAE,GAAG;IACXO,YAAY,EAAE;EAChB,CAAC;EAEDmE,aAAa,EAAE;IACb3E,KAAK,EAAE,MAAM;IACb2B,cAAc,EAAE,eAAe;IAC/BkE,aAAa,EAAE,KAAK;IACpB3F,eAAe,EAAE,OAAO;IACxB4F,eAAe,EAAE,EAAE;IACnBvE,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,UAAU;IACpBuE,cAAc,EAAE,SAAS;IACzBC,cAAc,EAAE;EAClB,CAAC;EACD1B,SAAS,EAAE;IACT;IACArD,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,KAAK;IACjBC,QAAQ,EAAE,EAAE;IACZuE,OAAO,EAAE,MAAM;IACfvF,UAAU,EAAE,QAAQ;IACpBrB,KAAK,EAAE,SAAS;IAChBgC,UAAU,EAAE7F,KAAK,CAACgL;EACpB,CAAC;EACD5B,aAAa,EAAE;IACb5D,SAAS,EAAE,EAAE;IACbyF,YAAY,EAAE,EAAE;IAChBhH,UAAU,EAAE,EAAE;IACdwF,aAAa,EAAE,EAAE;IACjBxE,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAEF,eAAe9D,YAAY"}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useState","useLayoutEffect","BackHandler","FlatList","Image","Platform","StyleSheet","Text","TouchableOpacity","View","CaptureUtils","getCaptureOutput","showToast","Iconn","CommonStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","GO_BACK_EVENT_CODE","Button","Provider","Logger","LOG_TYPE","hasGoBackConnector","GoBackModal","useFocusEffect","Circle","CameraIcon","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","LocationManager","callbackHandler","ImageCapture","props","numberOfImagesToCapture","captureMode","captureCountLimit","images","setImages","imagesDummy","setImagesDummy","showCapture","setShowCapture","disableProceed","setDisableProceed","showBackModal","setShowBackModal","buttonProceed","setButtonProceed","numColumns","setNumColumns","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","CAPTURE_IMAGE_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","length","arr","i","push","path","ImageItem","_ref","_imagesDummy$index","_imagesDummy$index2","_imagesDummy$index3","_imagesDummy$index4","item","index","width","height","backgroundColor","alignItems","alignSelf","borderWidth","borderColor","borderStyle","borderRadius","marginTop","marginStart","captureImage","uppercase","labelStyle","fontFamily","OS","IBMPlexSans_500Medium","fontStyle","fontWeight","fontSize","letterSpacing","source","uri","bottom","position","top","marginRight","justifyContent","marginLeft","renderModal","showModal","setShowModal","onSuccess","onSubmitET","IMAGE_CAPTURE","mergedObjectiveId","onFailure","handleSubmit","imagesArray","filter","console","log","JSON","stringify","error","message","imageDataResponse","resolution","breadth","fileSizeLimit","imgArray","dateTime","getDateTime","id","getImagesFileName","url","timestamp","Date","now","lat","getInstance","getLastLocation","latitude","lng","longitude","accuracy","deleteImage","imageDummyArray","initialProceedValue","_imageDummyArray$i","err","logEvent","SDK_ERROR","renderItem","_ref2","mainContainer","styles","etMessageView","etMessage","data","keyExtractor","contentContainerStyle","paddingBottom","bottomButtons","isSelfLoop","cancelButton","flexGrow","mode","cancelButtonLabel","textTransform","_props$applicableReas","failure","lineHeight","textAlign","marginHorizontal","disabled","create","imageEtContainer","display","marginEnd","padding","flexDirection","paddingVertical","borderTopColor","borderTopWidth","IBMPlexSans_400Regular","paddingStart"],"sources":["ImageCapture.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Image, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\nimport * as CaptureUtils from './CaptureUtils';\nimport { getCaptureOutput } from './CaptureUtils';\nimport { showToast } from '../../widgets/Toaster';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/Feather';\nimport Iconn from 'react-native-vector-icons/MaterialIcons';\nimport { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { Button, Provider } from 'react-native-paper';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Circle from \"./circle-xmark.svg\"\nimport CameraIcon from \"./camera.svg\"\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport LocationManager from '../../../manager/location/LocationManager';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst ImageCapture = (props: any) => {\n let numberOfImagesToCapture: any;\n if (props.captureMode == \"SINGLE\") {\n numberOfImagesToCapture = 1;\n } else if (props.captureMode === 'MULTI' && props.captureCountLimit && props.captureCountLimit > 0) {\n numberOfImagesToCapture = props.captureCountLimit;\n }\n\n const [images, setImages] = useState([]);\n const [imagesDummy, setImagesDummy] = useState<any[]>([]);\n const [showCapture, setShowCapture] = useState(true);\n const [disableProceed, setDisableProceed] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const [buttonProceed, setButtonProceed] = useState(false);\n const [numColumns, setNumColumns] = useState(numberOfImagesToCapture <= 2 ? 1 : 2);\n\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Iconn\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = \"Back Arrow\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n useEffect(() => {\n\n if (images.length === 0) {\n let arr: any = [];\n for (let i = 0; i < numberOfImagesToCapture; i++) {\n arr.push({ path: '' });\n }\n setImages(arr);\n }\n }, [images]);\n\n\n interface ImageItemProps {\n item: { path: string };\n index: number;\n onPress: () => void;\n }\n\n const ImageItem: React.FC<ImageItemProps> = ({ item, index, onPress }) => {\n\n return (\n <View\n style={{\n width: numColumns == 2 ? '43%' : '88%',\n height: numColumns == 2 ? 160 : numberOfImagesToCapture == 1 ? 336 : 180,\n backgroundColor: 'white',\n alignItems: 'center',\n alignSelf: 'center',\n borderWidth: 1,\n borderColor: '#A3AAC2',\n borderStyle: 'dashed',\n borderRadius: 3,\n marginTop: '6%',\n marginStart: numColumns == 2 ? 17 : numberOfImagesToCapture == 1 ? 0 : 0,\n }}\n >\n <View\n style={{\n alignItems: 'center',\n width: '80%',\n height: '98%',\n borderRadius: 3,\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : (\n <TouchableOpacity\n onPress={() => { onPress()\n const cta = \"Camera Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n >\n<View\nstyle={{\n marginTop:\n numColumns === 2 ? '32%' : numberOfImagesToCapture === 1 ? '50%' : '20%',\n}}\n>\n<CameraIcon />\n</View>\n</TouchableOpacity>\n \n )}\n <Button\n onPress={() => { captureImage(index)\n const cta = \"Click Photo\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n\n }}\n uppercase={false}\n labelStyle={[\n {\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n color: '#5B80F7',\n },\n ]}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path ? null : 'Click Photo'}\n </Button>\n <Image\n source={{\n uri: imagesDummy?.length > index ? imagesDummy[index]?.path : item?.path,\n }}\n style={{\n height: numColumns == 2 ? '75%' : numberOfImagesToCapture == 1 ? '85%' : '85%',\n width: numColumns == 2 ? '105%' : '118%',\n borderRadius: 10,\n bottom:\n numColumns == 2 ? '6%' : numberOfImagesToCapture == 1 ? '2%' : '11%',\n }}\n />\n <TouchableOpacity\n onPress={() => { onPress()\n const cta = \"Circle Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n style={{\n position: 'absolute',\n top: numColumns == 2 ? '17%' : '9%',\n marginRight: '2%',\n }}\n >\n {imagesDummy?.length > index && imagesDummy[index]?.path && (\n <View\n style={{\n width: 25,\n height: 25,\n backgroundColor: 'white',\n borderRadius: 15,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: numColumns == 2 ? '78%' : '96%',\n }}\n >\n <Circle />\n </View>\n )}\n </TouchableOpacity>\n </View>\n </View>\n );\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const handleSubmit = async () => {\n try {\n setDisableProceed(true);\n let imagesArray = imagesDummy.filter(item => item != null && item.path != null && item.path.length != 0);\n console.log('imagesArray:', JSON.stringify(imagesArray));\n\n if (imagesArray.length > 0) {\n props.onSubmitET(await getCaptureOutput(imagesArray, props));\n } else {\n showToast('No Images captured');\n }\n } catch (error: any) {\n setDisableProceed(false);\n showToast(error.message);\n } finally {\n setDisableProceed(false);\n }\n };\n\n // useEffect(() => {\n // if (props.captureMode === 'SINGLE') {\n // if (images.length > 0) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else if (\n // props.captureMode === 'MULTI' &&\n // props.captureCountLimit &&\n // props.captureCountLimit > 0\n // ) {\n // if (images.length === CaptureUtils.getMaxImagesCount(props)) {\n // setShowCapture(false);\n // } else setShowCapture(true);\n // } else {\n // if (images.length > 0) {\n // setShowCapture(true);\n // }\n // }\n // }, [images, props, showCapture]);\n\n const captureImage = useCallback(async (index) => {\n\n // // if (!showCapture) {\n // // showToast(`Max Image Limit reached`);\n // // return;\n // // }\n // console.log(\"captureImage\", CaptureUtils);\n let imageDataResponse = await CaptureUtils.captureImage(\n props.resolution.breadth,\n props.resolution.length,\n props.fileSizeLimit\n );\n\n if (imageDataResponse != null) {\n setButtonProceed(true);\n\n let imgArray = [];\n imgArray = imagesDummy;\n const dateTime = await callbackHandler.getDateTime();\n console.log('captureImage:dateTime: ',dateTime);\n imgArray[index] = {\n id: CaptureUtils.getImagesFileName(),\n // @ts-ignore\n path: imageDataResponse.uri,\n url: '',\n timestamp: Date.now(),\n dateTime: dateTime,\n lat: LocationManager.getInstance().getLastLocation().latitude,\n lng: LocationManager.getInstance().getLastLocation().longitude,\n accuracy: LocationManager.getInstance().getLastLocation().accuracy,\n };\n setImagesDummy([...imgArray])\n console.log(\"images211:\", JSON.stringify(imgArray));\n\n }\n }, [props.resolution.breadth, props.resolution.length, props.fileSizeLimit]);\n\n\n const deleteImage = async (index: any) => {\n let imageDummyArray = [];\n imageDummyArray = imagesDummy\n imageDummyArray[index].path = \"\"\n setImagesDummy([...imageDummyArray])\n\n let initialProceedValue = false;\n for (let i = 0; i < imageDummyArray.length; i++) {\n if (imageDummyArray[i]?.path) {\n initialProceedValue = true;\n }\n }\n setButtonProceed(initialProceedValue);\n\n try {\n // setImagesDummy(filteredImages);\n // setButtonProceed(false);\n } catch (err: any) {\n Logger.getInstance().logEvent('deleteImageError', err.message, LOG_TYPE.SDK_ERROR);\n console.error(\"Error updating state after deletion:\", err);\n }\n };\n\n const renderItem = ({ item, index }: { item: any; index: any }) => {\n return (\n <ImageItem\n item={item}\n index={index}\n onPress={async () => {\n await deleteImage(index);\n const cta = \"Delete Icon\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n {props.message && (\n <View style={styles.etMessageView}>\n <Text style={styles.etMessage}>\n Take a photo of the shipments. Please ensure the items are clearly visible.\n </Text>\n </View>\n )}\n <View\n style={{\n backgroundColor: 'white',\n width: 360,\n height: numColumns == 2 ? '82%' : numberOfImagesToCapture == 1 ? '63%' : '70%',\n alignSelf: 'center',\n marginTop: '5%',\n borderRadius: 7,\n borderColor: '#E0E3EB',\n borderWidth: 0.5,\n }}\n >\n <FlatList\n data={images}\n numColumns={numColumns}\n renderItem={renderItem}\n keyExtractor={(item) => item?.id}\n contentContainerStyle={{ paddingBottom: '30%' }}\n />\n </View>\n <View style={styles.bottomButtons}>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { flexGrow: 1, marginStart: '3%' }]}\n mode=\"outlined\"\n labelStyle={[CommonStyles.cancelButtonLabel, { textTransform: 'capitalize' }]}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(ExecutionTaskID.IMAGE_CAPTURE, false, props.applicableReasons?.failure),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n });\n const cta = \"Cancel\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n <Button\n labelStyle={{\n color: buttonProceed ? '#ffff' : '#A3AAC2',\n fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n textTransform: 'capitalize',\n }}\n style={{\n flexGrow: 1,\n marginHorizontal: '3%',\n backgroundColor: buttonProceed ? '#5B80F7' : '#E0E3EB',\n }}\n disabled={!buttonProceed}\n mode=\"contained\"\n onPress={async () => {\n await handleSubmit();\n const cta = \"Proceed\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.CAPTURE_IMAGE_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n\n imageEtContainer: {\n display: 'flex',\n marginStart: 16,\n marginEnd: 16,\n borderWidth: 1,\n borderColor: '#A3AAC2',\n padding: 10,\n marginTop: 15,\n borderStyle: 'dashed',\n backgroundColor: '#FFFFFF',\n alignItems: 'center',\n justifyContent: 'center',\n height: 370,\n borderRadius: 5\n },\n\n bottomButtons: {\n width: \"100%\",\n justifyContent: \"space-between\",\n flexDirection: 'row',\n backgroundColor: \"white\",\n paddingVertical: 12,\n bottom: 0,\n position: \"absolute\",\n borderTopColor: \"#A3AAC2\",\n borderTopWidth: 0.5\n },\n etMessage: {\n // textAlign: 'center',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 16,\n display: 'flex',\n alignItems: 'center',\n color: '#000000',\n fontFamily: Fonts.IBMPlexSans_400Regular\n },\n etMessageView: {\n marginTop: 17,\n paddingStart: 17,\n paddingTop: 15,\n paddingBottom: 15,\n backgroundColor: '#ffffff'\n }\n});\n\nexport default ImageCapture;\n"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import SentryAnalyticsSingleton from './analytics/sentry/SentryAnalyticsSingleto
|
|
|
21
21
|
import { fireEventWithScreenName } from './analytics/sentry/SentryAnalyticsUtils';
|
|
22
22
|
import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from './analytics/sentry/SentrySdkConstants';
|
|
23
23
|
import { DispatchAndUserData, SentryEvent } from './analytics/sentry/SentryModels';
|
|
24
|
+
import DocumentManager from './manager/syncmanager/document/DocumentManager';
|
|
24
25
|
export { DispatchExecutor, IDispatch, IDispatchExecutor };
|
|
25
26
|
export { Storage, DispatchExecNavigator };
|
|
26
27
|
export { DispatchSyncType };
|
|
@@ -36,4 +37,5 @@ export { MtsSdk };
|
|
|
36
37
|
export { Helper };
|
|
37
38
|
//sentry function export
|
|
38
39
|
export { SentryAnalyticsSingleton, fireEventWithScreenName, SeverityLevelValue, ScreenNameSdkConstants, SentryEventNameSdkConstants, DispatchAndUserData, SentryEvent };
|
|
40
|
+
export { DocumentManager };
|
|
39
41
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Storage","ExecutionTask","MtsSdk","NativeSyncManager","SyncMethod","DispatchSyncType","CancelOrderDialog","useFCMMessage","getFCMToken","registerBackgroundHandler","requestFirebasePermissions","onNotificationOpenedApp","onTokenRefresh","getInitialNotification","FCM","DispatchExecNavigator","DispatchStateContainer","DispatchSDKManager","Logger","LOG_TYPE","SdkUtils","AppSyncManager","SdkSyncType","EventListener","BaseEvents","DispatchExecutor","IDispatch","IDispatchExecutor","Helper","SentryAnalyticsSingleton","fireEventWithScreenName","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","DispatchAndUserData","SentryEvent"],"sources":["index.tsx"],"sourcesContent":["import Storage from './utils/storage';\nimport type * as ETaskSchema from './components/executiontasks/ExecutionTasksIndex';\nimport * as ExecutionTask from './components/executiontasks/ExecutionTasksIndex';\nimport type {\n MTSInitRequest,\n MTSStartRequest,\n} from '@foxtrotplatform/platform-coreos-mts-sdk';\nimport * as MtsSdk from '@foxtrotplatform/platform-coreos-mts-sdk';\nimport NativeSyncManager from './manager/syncmanager/NativeSyncManager';\nimport type { DocumentRow, EventRow } from './manager/syncmanager/DBConfig';\nimport { SyncMethod, DispatchSyncType } from './manager/syncmanager/DBConfig';\nimport CancelOrderDialog from './components/widgets/CancelOrderDialog';\nimport useFCMMessage, {\n getFCMToken,\n registerBackgroundHandler,\n requestFirebasePermissions,\n onNotificationOpenedApp,\n onTokenRefresh,\n getInitialNotification,\n} from './utils/fcm/FcmUtils';\nimport FCM from './utils/fcm/FCM';\nimport DispatchExecNavigator from './components/dispatch/DispatchExecNavigator';\nimport DispatchStateContainer from './manager/dispatch/DispatchStateContainer';\nimport { DispatchSDKManager } from './manager/sdk/DispatchSDKManager';\nimport Logger, { LOG_TYPE } from './utils/Logger';\nimport type {\n ETSummary,\n CompleteSummary,\n ObjectiveSummary,\n} from './models/execTasks/ETBaseModels';\nimport SdkUtils from './utils/SdkUtils';\nimport AppSyncManager from './manager/syncmanager/AppSyncManager';\nimport type {\n JobObjectiveType,\n endEvent,\n startEvent,\n onScanRemoveEvent,\n onScanEvent,\n} from './models/DispatchModels';\nimport { SdkSyncType } from './models/DispatchModels';\nimport EventListener from './events';\nimport { BaseEvents } from './events/constants';\nimport {\n DispatchExecutor,\n IDispatch,\n IDispatchExecutor,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport Helper from './utils/helper';\nimport SentryAnalyticsSingleton from './analytics/sentry/SentryAnalyticsSingleton';\nimport { fireEventWithScreenName } from './analytics/sentry/SentryAnalyticsUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from './analytics/sentry/SentrySdkConstants';\nimport { DispatchAndUserData, SentryEvent } from './analytics/sentry/SentryModels';\nexport { DispatchExecutor, IDispatch, IDispatchExecutor };\nexport { Storage, DispatchExecNavigator };\nexport { ETSummary, CompleteSummary, ObjectiveSummary, DispatchSyncType };\nexport { BaseEvents, endEvent, startEvent, onScanRemoveEvent, onScanEvent };\nexport {\n NativeSyncManager,\n AppSyncManager,\n SdkSyncType,\n EventRow,\n DocumentRow,\n useFCMMessage,\n getFCMToken,\n requestFirebasePermissions,\n FCM,\n registerBackgroundHandler,\n onNotificationOpenedApp,\n onTokenRefresh,\n getInitialNotification,\n DispatchStateContainer,\n SdkUtils,\n Logger,\n LOG_TYPE,\n EventListener,\n};\n//\nexport { SyncMethod, JobObjectiveType };\nexport type { ETaskSchema };\nexport { ExecutionTask, CancelOrderDialog };\nexport { DispatchSDKManager };\n//\nexport type { MTSStartRequest, MTSInitRequest };\nexport { MtsSdk };\nexport { Helper };\n//sentry function export\nexport { SentryAnalyticsSingleton, fireEventWithScreenName, SeverityLevelValue, ScreenNameSdkConstants, SentryEventNameSdkConstants, DispatchAndUserData, SentryEvent};\
|
|
1
|
+
{"version":3,"names":["Storage","ExecutionTask","MtsSdk","NativeSyncManager","SyncMethod","DispatchSyncType","CancelOrderDialog","useFCMMessage","getFCMToken","registerBackgroundHandler","requestFirebasePermissions","onNotificationOpenedApp","onTokenRefresh","getInitialNotification","FCM","DispatchExecNavigator","DispatchStateContainer","DispatchSDKManager","Logger","LOG_TYPE","SdkUtils","AppSyncManager","SdkSyncType","EventListener","BaseEvents","DispatchExecutor","IDispatch","IDispatchExecutor","Helper","SentryAnalyticsSingleton","fireEventWithScreenName","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","DispatchAndUserData","SentryEvent","DocumentManager"],"sources":["index.tsx"],"sourcesContent":["import Storage from './utils/storage';\nimport type * as ETaskSchema from './components/executiontasks/ExecutionTasksIndex';\nimport * as ExecutionTask from './components/executiontasks/ExecutionTasksIndex';\nimport type {\n MTSInitRequest,\n MTSStartRequest,\n} from '@foxtrotplatform/platform-coreos-mts-sdk';\nimport * as MtsSdk from '@foxtrotplatform/platform-coreos-mts-sdk';\nimport NativeSyncManager from './manager/syncmanager/NativeSyncManager';\nimport type { DocumentRow, EventRow } from './manager/syncmanager/DBConfig';\nimport { SyncMethod, DispatchSyncType } from './manager/syncmanager/DBConfig';\nimport CancelOrderDialog from './components/widgets/CancelOrderDialog';\nimport useFCMMessage, {\n getFCMToken,\n registerBackgroundHandler,\n requestFirebasePermissions,\n onNotificationOpenedApp,\n onTokenRefresh,\n getInitialNotification,\n} from './utils/fcm/FcmUtils';\nimport FCM from './utils/fcm/FCM';\nimport DispatchExecNavigator from './components/dispatch/DispatchExecNavigator';\nimport DispatchStateContainer from './manager/dispatch/DispatchStateContainer';\nimport { DispatchSDKManager } from './manager/sdk/DispatchSDKManager';\nimport Logger, { LOG_TYPE } from './utils/Logger';\nimport type {\n ETSummary,\n CompleteSummary,\n ObjectiveSummary,\n} from './models/execTasks/ETBaseModels';\nimport SdkUtils from './utils/SdkUtils';\nimport AppSyncManager from './manager/syncmanager/AppSyncManager';\nimport type {\n JobObjectiveType,\n endEvent,\n startEvent,\n onScanRemoveEvent,\n onScanEvent,\n} from './models/DispatchModels';\nimport { SdkSyncType } from './models/DispatchModels';\nimport EventListener from './events';\nimport { BaseEvents } from './events/constants';\nimport {\n DispatchExecutor,\n IDispatch,\n IDispatchExecutor,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport Helper from './utils/helper';\nimport SentryAnalyticsSingleton from './analytics/sentry/SentryAnalyticsSingleton';\nimport { fireEventWithScreenName } from './analytics/sentry/SentryAnalyticsUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from './analytics/sentry/SentrySdkConstants';\nimport { DispatchAndUserData, SentryEvent } from './analytics/sentry/SentryModels';\nimport DocumentManager from './manager/syncmanager/document/DocumentManager';\nexport { DispatchExecutor, IDispatch, IDispatchExecutor };\nexport { Storage, DispatchExecNavigator };\nexport { ETSummary, CompleteSummary, ObjectiveSummary, DispatchSyncType };\nexport { BaseEvents, endEvent, startEvent, onScanRemoveEvent, onScanEvent };\nexport {\n NativeSyncManager,\n AppSyncManager,\n SdkSyncType,\n EventRow,\n DocumentRow,\n useFCMMessage,\n getFCMToken,\n requestFirebasePermissions,\n FCM,\n registerBackgroundHandler,\n onNotificationOpenedApp,\n onTokenRefresh,\n getInitialNotification,\n DispatchStateContainer,\n SdkUtils,\n Logger,\n LOG_TYPE,\n EventListener,\n};\n//\nexport { SyncMethod, JobObjectiveType };\nexport type { ETaskSchema };\nexport { ExecutionTask, CancelOrderDialog };\nexport { DispatchSDKManager };\n//\nexport type { MTSStartRequest, MTSInitRequest };\nexport { MtsSdk };\nexport { Helper };\n//sentry function export\nexport { SentryAnalyticsSingleton, fireEventWithScreenName, SeverityLevelValue, ScreenNameSdkConstants, SentryEventNameSdkConstants, DispatchAndUserData, SentryEvent};\nexport { DocumentManager };"],"mappings":"AAAA,OAAOA,OAAO,MAAM,iBAAiB;AAErC,OAAO,KAAKC,aAAa,MAAM,iDAAiD;AAKhF,OAAO,KAAKC,MAAM,MAAM,0CAA0C;AAClE,OAAOC,iBAAiB,MAAM,yCAAyC;AAEvE,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,gCAAgC;AAC7E,OAAOC,iBAAiB,MAAM,wCAAwC;AACtE,OAAOC,aAAa,IAClBC,WAAW,EACXC,yBAAyB,EACzBC,0BAA0B,EAC1BC,uBAAuB,EACvBC,cAAc,EACdC,sBAAsB,QACjB,sBAAsB;AAC7B,OAAOC,GAAG,MAAM,iBAAiB;AACjC,OAAOC,qBAAqB,MAAM,6CAA6C;AAC/E,OAAOC,sBAAsB,MAAM,2CAA2C;AAC9E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,gBAAgB;AAMjD,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,OAAOC,cAAc,MAAM,sCAAsC;AAQjE,SAASC,WAAW,QAAQ,yBAAyB;AACrD,OAAOC,aAAa,MAAM,UAAU;AACpC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SACEC,gBAAgB,EAChBC,SAAS,EACTC,iBAAiB,QACZ,oDAAoD;AAC3D,OAAOC,MAAM,MAAM,gBAAgB;AACnC,OAAOC,wBAAwB,MAAM,6CAA6C;AAClF,SAASC,uBAAuB,QAAQ,yCAAyC;AACjF,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,uCAAuC;AAC/H,SAASC,mBAAmB,EAAEC,WAAW,QAAQ,iCAAiC;AAClF,OAAOC,eAAe,MAAM,gDAAgD;AAC5E,SAASX,gBAAgB,EAAEC,SAAS,EAAEC,iBAAiB;AACvD,SAAS3B,OAAO,EAAEe,qBAAqB;AACvC,SAAuDV,gBAAgB;AACvE,SAASmB,UAAU;AACnB,SACErB,iBAAiB,EACjBkB,cAAc,EACdC,WAAW,EAGXf,aAAa,EACbC,WAAW,EACXE,0BAA0B,EAC1BI,GAAG,EACHL,yBAAyB,EACzBE,uBAAuB,EACvBC,cAAc,EACdC,sBAAsB,EACtBG,sBAAsB,EACtBI,QAAQ,EACRF,MAAM,EACNC,QAAQ,EACRI,aAAa;AAEf;AACA,SAASnB,UAAU;AAEnB,SAASH,aAAa,EAAEK,iBAAiB;AACzC,SAASW,kBAAkB;AAC3B;;AAEA,SAASf,MAAM;AACf,SAAS0B,MAAM;AACf;AACA,SAASC,wBAAwB,EAAEC,uBAAuB,EAAEG,kBAAkB,EAAEF,sBAAsB,EAAEC,2BAA2B,EAAEE,mBAAmB,EAAEC,WAAW;AACrK,SAASC,eAAe"}
|
|
@@ -52,14 +52,21 @@ export default class LocationManager {
|
|
|
52
52
|
}
|
|
53
53
|
getLastLocation() {
|
|
54
54
|
if (this.lastLocation != null && this.lastLocation.coords != null) {
|
|
55
|
+
let accuracy = '';
|
|
56
|
+
if (this.lastLocation.coords.accuracy !== null) {
|
|
57
|
+
let accuracyVal = Math.round(this.lastLocation.coords.accuracy);
|
|
58
|
+
accuracy = accuracyVal.toString();
|
|
59
|
+
}
|
|
55
60
|
return {
|
|
56
61
|
latitude: this.lastLocation.coords.latitude.toString(),
|
|
57
|
-
longitude: this.lastLocation.coords.longitude.toString()
|
|
62
|
+
longitude: this.lastLocation.coords.longitude.toString(),
|
|
63
|
+
accuracy: accuracy
|
|
58
64
|
};
|
|
59
65
|
} else {
|
|
60
66
|
return {
|
|
61
67
|
latitude: 'null',
|
|
62
|
-
longitude: 'null'
|
|
68
|
+
longitude: 'null',
|
|
69
|
+
accuracy: 'null'
|
|
63
70
|
};
|
|
64
71
|
}
|
|
65
72
|
}
|