@os1-platform/dispatch-mobile 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  3. package/android/.idea/caches/deviceStreaming.xml +11 -0
  4. package/android/build.gradle +1 -0
  5. package/android/src/main/AndroidManifest.xml +1 -0
  6. package/android/src/main/java/com/dispatchsdk/DispatchSdkPackage.kt +5 -1
  7. package/android/src/main/java/com/dispatchsdk/location/LocationModule.kt +79 -0
  8. package/android/src/main/java/com/dispatchsdk/permissions/PermissionModule.kt +90 -0
  9. package/ios/EventEmitter.swift +13 -1
  10. package/ios/LocationManager.swift +143 -0
  11. package/ios/LocationModule.m +19 -0
  12. package/ios/LocationModule.swift +32 -0
  13. package/ios/PermissionsModule.m +21 -0
  14. package/ios/PermissionsModule.swift +24 -0
  15. package/ios/RNEventEmitter.m +2 -8
  16. package/ios/RNEventEmitter.swift +13 -19
  17. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +5 -3
  18. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
  19. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +5 -3
  20. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  21. package/lib/commonjs/manager/location/LocationManager.js +91 -46
  22. package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
  23. package/lib/commonjs/native/LocationModule.js +47 -0
  24. package/lib/commonjs/native/LocationModule.js.map +1 -0
  25. package/lib/commonjs/native/PermissionModule.js +21 -0
  26. package/lib/commonjs/native/PermissionModule.js.map +1 -0
  27. package/lib/commonjs/utils/ExecTaskUtils.js +3 -3
  28. package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
  29. package/lib/commonjs/utils/SdkUtils.js +12 -4
  30. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  31. package/lib/module/components/executiontasks/doodle/SignatureET.js +5 -3
  32. package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
  33. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +5 -3
  34. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  35. package/lib/module/manager/location/LocationManager.js +90 -44
  36. package/lib/module/manager/location/LocationManager.js.map +1 -1
  37. package/lib/module/native/LocationModule.js +41 -0
  38. package/lib/module/native/LocationModule.js.map +1 -0
  39. package/lib/module/native/PermissionModule.js +15 -0
  40. package/lib/module/native/PermissionModule.js.map +1 -0
  41. package/lib/module/utils/ExecTaskUtils.js +3 -3
  42. package/lib/module/utils/ExecTaskUtils.js.map +1 -1
  43. package/lib/module/utils/SdkUtils.js +12 -4
  44. package/lib/module/utils/SdkUtils.js.map +1 -1
  45. package/lib/typescript/manager/location/LocationManager.d.ts +4 -2
  46. package/lib/typescript/native/LocationModule.d.ts +14 -0
  47. package/lib/typescript/native/PermissionModule.d.ts +6 -0
  48. package/package.json +4 -4
  49. package/src/components/executiontasks/doodle/SignatureET.tsx +6 -4
  50. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +6 -3
  51. package/src/manager/location/LocationManager.ts +93 -41
  52. package/src/native/LocationModule.ts +52 -0
  53. package/src/native/PermissionModule.ts +21 -0
  54. package/src/utils/ExecTaskUtils.ts +3 -3
  55. package/src/utils/SdkUtils.ts +15 -5
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ LocationModule
10
+ } = _reactNative.NativeModules;
11
+ const locationEventEmitter = new _reactNative.NativeEventEmitter(LocationModule);
12
+ const startLocationUpdates = async () => {
13
+ try {
14
+ await LocationModule.startLocationUpdates();
15
+ } catch (error) {
16
+ console.error(error);
17
+ }
18
+ };
19
+ const stopLocationUpdates = async () => {
20
+ try {
21
+ await LocationModule.stopLocationUpdates();
22
+ } catch (error) {
23
+ console.error(error);
24
+ }
25
+ };
26
+ const getLastLocation = async () => {
27
+ try {
28
+ return LocationModule.getLastLocation();
29
+ } catch (error) {
30
+ console.error(error);
31
+ return null;
32
+ }
33
+ };
34
+ const addLocationListener = callback => {
35
+ return locationEventEmitter.addListener('locationUpdated', callback);
36
+ };
37
+ const removeLocationListener = subscription => {
38
+ subscription.remove();
39
+ };
40
+ var _default = exports.default = {
41
+ startLocationUpdates,
42
+ stopLocationUpdates,
43
+ addLocationListener,
44
+ removeLocationListener,
45
+ getLastLocation
46
+ };
47
+ //# sourceMappingURL=LocationModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","LocationModule","NativeModules","locationEventEmitter","NativeEventEmitter","startLocationUpdates","error","console","stopLocationUpdates","getLastLocation","addLocationListener","callback","addListener","removeLocationListener","subscription","remove","_default","exports","default"],"sources":["LocationModule.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\n\nconst { LocationModule } = NativeModules;\nconst locationEventEmitter = new NativeEventEmitter(LocationModule);\n\nconst startLocationUpdates = async (): Promise<void> => {\n try {\n await LocationModule.startLocationUpdates();\n } catch (error) {\n console.error(error);\n }\n};\n\nconst stopLocationUpdates = async (): Promise<void> => {\n try {\n await LocationModule.stopLocationUpdates();\n } catch (error) {\n console.error(error);\n }\n};\n\nconst getLastLocation = async (): Promise<any> => {\n try {\n return LocationModule.getLastLocation();\n } catch (error) {\n console.error(error);\n return null\n }\n}\n\n\nexport interface LocationType {\n latitude: number;\n longitude: number;\n accuracy: number;\n}\n\nconst addLocationListener = (callback: (location: LocationType) => void): EmitterSubscription => {\n return locationEventEmitter.addListener('locationUpdated', callback);\n};\n\nconst removeLocationListener = (subscription: EmitterSubscription): void => {\n subscription.remove();\n};\n\nexport default {\n startLocationUpdates,\n stopLocationUpdates,\n addLocationListener,\n removeLocationListener,\n getLastLocation,\n};"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC;AAAe,CAAC,GAAGC,0BAAa;AACxC,MAAMC,oBAAoB,GAAG,IAAIC,+BAAkB,CAACH,cAAc,CAAC;AAEnE,MAAMI,oBAAoB,GAAG,MAAAA,CAAA,KAA2B;EACpD,IAAI;IACA,MAAMJ,cAAc,CAACI,oBAAoB,CAAC,CAAC;EAC/C,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ,CAAC;AAED,MAAME,mBAAmB,GAAG,MAAAA,CAAA,KAA2B;EACnD,IAAI;IACA,MAAMP,cAAc,CAACO,mBAAmB,CAAC,CAAC;EAC9C,CAAC,CAAC,OAAOF,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ,CAAC;AAED,MAAMG,eAAe,GAAG,MAAAA,CAAA,KAA0B;EAC9C,IAAI;IACA,OAAOR,cAAc,CAACQ,eAAe,CAAC,CAAC;EAC3C,CAAC,CAAC,OAAOH,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACpB,OAAO,IAAI;EACf;AACJ,CAAC;AASD,MAAMI,mBAAmB,GAAIC,QAA0C,IAA0B;EAC7F,OAAOR,oBAAoB,CAACS,WAAW,CAAC,iBAAiB,EAAED,QAAQ,CAAC;AACxE,CAAC;AAED,MAAME,sBAAsB,GAAIC,YAAiC,IAAW;EACxEA,YAAY,CAACC,MAAM,CAAC,CAAC;AACzB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACXb,oBAAoB;EACpBG,mBAAmB;EACnBE,mBAAmB;EACnBG,sBAAsB;EACtBJ;AACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ PermissionsModule
10
+ } = _reactNative.NativeModules;
11
+ const requestForegroundPermissions = async () => {
12
+ return PermissionsModule.requestForegroundPermissions();
13
+ };
14
+ const requestBackgroundPermissions = async () => {
15
+ return PermissionsModule.requestBackgroundPermissions();
16
+ };
17
+ var _default = exports.default = {
18
+ requestForegroundPermissions,
19
+ requestBackgroundPermissions
20
+ };
21
+ //# sourceMappingURL=PermissionModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","PermissionsModule","NativeModules","requestForegroundPermissions","requestBackgroundPermissions","_default","exports","default"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n} as PermissionsModuleType;"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC;AAAkB,CAAC,GAAGC,0BAAa;AAO3C,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOH,iBAAiB,CAACG,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACXJ,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}
@@ -17,7 +17,7 @@ var _EventDispatcher = _interopRequireDefault(require("../events/EventDispatcher
17
17
  var _jsonpathPlus = require("jsonpath-plus");
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
19
  async function getBaseETResponse(entityCode, success, eventCode, reasonCode, mergedObjectiveIds, taskId) {
20
- let lastLocation = _LocationManager.default.getInstance().getLastLocation();
20
+ let lastLocation = await _LocationManager.default.getInstance().getLastLocation();
21
21
  console.log("getBaseETResponse:lastLocation:", JSON.stringify(lastLocation));
22
22
  let cache = _DispatchSdkCache.default.getInstance();
23
23
  const sdkConfig = await cache.getObjectFromCache(_DispatchSdkCache.default.KEYS.SDK_CONFIG);
@@ -117,12 +117,12 @@ function onTaskStart(eventData, customData, triggerEvent = true) {
117
117
  const keys = _DispatchSdkCache.default.KEYS;
118
118
  const cache = _DispatchSdkCache.default.getInstance();
119
119
  (async () => {
120
- let lastLocation = _LocationManager.default.getInstance().getLastLocation();
120
+ let lastLocation = await _LocationManager.default.getInstance().getLastLocation();
121
+ console.log("onTaskStart:lastLocation:", JSON.stringify(lastLocation));
121
122
  let location = {
122
123
  latitude: lastLocation.latitude,
123
124
  longitude: lastLocation.longitude
124
125
  };
125
- console.log("onTaskStart:lastLocation:", location);
126
126
  await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());
127
127
  await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);
128
128
  await cache.setObjectInCache(keys.TASK_START_LOCATION, location);
@@ -1 +1 @@
1
- {"version":3,"names":["_LocationManager","_interopRequireDefault","require","_DispatchSdkCache","_ETConfig","_EventDispatcher","_jsonpathPlus","e","__esModule","default","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","LocationManager","getInstance","getLastLocation","console","log","JSON","stringify","cache","DispatchSdkCache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","ExecutionTaskID","CAPTURE_INPUT","EntityCode","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","dispatchEvent","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","JSONPath","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice","exports"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n console.log(\"onTaskStart:lastLocation:\",location)\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_LocationManager","_interopRequireDefault","require","_DispatchSdkCache","_ETConfig","_EventDispatcher","_jsonpathPlus","e","__esModule","default","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","LocationManager","getInstance","getLastLocation","console","log","JSON","stringify","cache","DispatchSdkCache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","ExecutionTaskID","CAPTURE_INPUT","EntityCode","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","dispatchEvent","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","JSONPath","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice","exports"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,7 @@ var Location = _interopRequireWildcard(require("expo-location"));
12
12
  var _NetworkUtil = _interopRequireDefault(require("./NetworkUtil"));
13
13
  var _BaseError = require("../errors/BaseError");
14
14
  var _ErrorCodes = _interopRequireDefault(require("../errors/ErrorCodes"));
15
+ var _PermissionModule = _interopRequireDefault(require("../native/PermissionModule"));
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -88,8 +89,13 @@ class SdkUtils {
88
89
  });
89
90
  }
90
91
  static async checkMandatory() {
91
- if (_reactNative.Platform.OS === 'ios') return;
92
- // if (Platform.OS === 'ios') return true;
92
+ if (_reactNative.Platform.OS === 'ios') {
93
+ const foregroundLocation = await _PermissionModule.default.requestForegroundPermissions();
94
+ if (!foregroundLocation) {
95
+ throw new _BaseError.BaseError(_ErrorCodes.default.LOCATION_OR_GPS_NOT_ENABLED, 'Location or GPS not enabled');
96
+ }
97
+ return;
98
+ }
93
99
  const dateTimeCheck = await DispatchSdkUtils.isAutomaticDateTimeEnabled();
94
100
  if (!dateTimeCheck) {
95
101
  throw new _BaseError.BaseError(_ErrorCodes.default.SYSTEM_TIME_CHECK_FAILED, 'Automatic date/time not enabled!');
@@ -97,8 +103,10 @@ class SdkUtils {
97
103
  if (_reactNative.Platform.OS === 'android') {
98
104
  await Location.enableNetworkProviderAsync();
99
105
  let locationServicesCheck = await Location.hasServicesEnabledAsync();
100
- const foregroundLocation = await Location.requestForegroundPermissionsAsync();
101
- const bgLocation = await Location.requestBackgroundPermissionsAsync();
106
+ const foregroundLocation = await _PermissionModule.default.requestForegroundPermissions();
107
+ // await Location.requestForegroundPermissionsAsync(); //permission code using expo module
108
+ const bgLocation = await _PermissionModule.default.requestBackgroundPermissions();
109
+ // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module
102
110
  if (!(locationServicesCheck && foregroundLocation && bgLocation)) {
103
111
  throw new _BaseError.BaseError(_ErrorCodes.default.LOCATION_OR_GPS_NOT_ENABLED, 'Location or GPS not enabled');
104
112
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_remoteConfig","_interopRequireDefault","require","_Logger","_interopRequireWildcard","FileSystem","_reactNative","Location","_NetworkUtil","_BaseError","_ErrorCodes","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DispatchSdkUtils","NativeModules","exports","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","remoteConfig","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","Logger","getInstance","logEvent","LOG_TYPE","SDK_INFO","catch","err","error","downloadAPK","apkURL","version","callback","fileUri","cacheDirectory","fileInfo","getInfoAsync","currentDate","Date","toLocaleDateString","fileDate","modificationTime","exists","uri","downloadResumable","createDownloadResumable","downloadResult","downloadAsync","deleteApk","deleteAsync","openAPKFile","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","Platform","OS","dateTimeCheck","isAutomaticDateTimeEnabled","BaseError","ErrorCodes","SYSTEM_TIME_CHECK_FAILED","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","foregroundLocation","requestForegroundPermissionsAsync","bgLocation","requestBackgroundPermissionsAsync","LOCATION_OR_GPS_NOT_ENABLED","internet","NetworkUtil","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Function to download apk file from a public URL\n * @param apkURL - URL where apk is hosted\n * @param version - expected version of apk (used for naming the file)\n * @param callback - callback for getting progress of download\n */\n public static async downloadAPK(\n apkURL: string,\n version: string,\n callback: (progress: DownloadProgressData) => any\n ): Promise<string | undefined> {\n const fileUri = FileSystem.cacheDirectory + `${version}.apk`;\n const fileInfo = await FileSystem.getInfoAsync(fileUri);\n const currentDate = new Date().toLocaleDateString();\n const fileDate = new Date(\n fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0\n ).toLocaleDateString();\n if (fileInfo.exists && currentDate === fileDate) {\n return fileInfo.uri;\n }\n const downloadResumable = FileSystem.createDownloadResumable(\n apkURL,\n FileSystem.cacheDirectory + `${version}.apk`,\n {},\n callback\n );\n const downloadResult = await downloadResumable.downloadAsync();\n return downloadResult?.uri;\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios') return;\n // if (Platform.OS === 'ios') return true;\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation =\n await Location.requestForegroundPermissionsAsync();\n const bgLocation = await Location.requestBackgroundPermissionsAsync();\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_remoteConfig","_interopRequireDefault","require","_Logger","_interopRequireWildcard","FileSystem","_reactNative","Location","_NetworkUtil","_BaseError","_ErrorCodes","_PermissionModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DispatchSdkUtils","NativeModules","exports","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","remoteConfig","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","Logger","getInstance","logEvent","LOG_TYPE","SDK_INFO","catch","err","error","downloadAPK","apkURL","version","callback","fileUri","cacheDirectory","fileInfo","getInfoAsync","currentDate","Date","toLocaleDateString","fileDate","modificationTime","exists","uri","downloadResumable","createDownloadResumable","downloadResult","downloadAsync","deleteApk","deleteAsync","openAPKFile","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","Platform","OS","foregroundLocation","PermissionModule","requestForegroundPermissions","BaseError","ErrorCodes","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","NetworkUtil","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport PermissionModule from '../native/PermissionModule';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Function to download apk file from a public URL\n * @param apkURL - URL where apk is hosted\n * @param version - expected version of apk (used for naming the file)\n * @param callback - callback for getting progress of download\n */\n public static async downloadAPK(\n apkURL: string,\n version: string,\n callback: (progress: DownloadProgressData) => any\n ): Promise<string | undefined> {\n const fileUri = FileSystem.cacheDirectory + `${version}.apk`;\n const fileInfo = await FileSystem.getInfoAsync(fileUri);\n const currentDate = new Date().toLocaleDateString();\n const fileDate = new Date(\n fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0\n ).toLocaleDateString();\n if (fileInfo.exists && currentDate === fileDate) {\n return fileInfo.uri;\n }\n const downloadResumable = FileSystem.createDownloadResumable(\n apkURL,\n FileSystem.cacheDirectory + `${version}.apk`,\n {},\n callback\n );\n const downloadResult = await downloadResumable.downloadAsync();\n return downloadResult?.uri;\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios'){\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n if (!(foregroundLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n return;\n }\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n // await Location.requestForegroundPermissionsAsync(); //permission code using expo module\n const bgLocation = await PermissionModule.requestBackgroundPermissions();\n // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -107,9 +107,11 @@ const SignatureET = props => {
107
107
  const folderName = (await DispatchSdkCache.getInstance().getKeyFromCache(DispatchSdkCache.KEYS.FMS_FOLDER)) ?? 'NULL';
108
108
  const dateTime = await callbackHandler.getDateTime();
109
109
  console.log('saveAndSubmit:dateTime: ', dateTime);
110
- let lat = LocationManager.getInstance().getLastLocation().latitude;
111
- let lng = LocationManager.getInstance().getLastLocation().longitude;
112
- let accuracy = LocationManager.getInstance().getLastLocation().accuracy;
110
+ let lastLocation = await LocationManager.getInstance().getLastLocation();
111
+ console.log("signatureET:lastLocation:", JSON.stringify(lastLocation));
112
+ let lat = lastLocation.latitude;
113
+ let lng = lastLocation.longitude;
114
+ let accuracy = lastLocation.accuracy;
113
115
  let insertID = await insertDocumentInDB(fileName, folderName,
114
116
  // JSON.stringify(props.jobIDs),
115
117
  // JSON.stringify(props.objRefs),
@@ -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","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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","ignoreList":[]}
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","lastLocation","getLastLocation","JSON","stringify","lat","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 let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"signatureET:lastLocation:\",JSON.stringify(lastLocation));\n \n let lat = lastLocation.latitude;\n let lng = lastLocation.longitude;\n let accuracy = lastLocation.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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","ignoreList":[]}
@@ -253,6 +253,8 @@ const ImageCapture = props => {
253
253
  imgArray = imagesDummy;
254
254
  const dateTime = await callbackHandler.getDateTime();
255
255
  console.log('captureImage:dateTime: ', dateTime);
256
+ let lastLocation = await LocationManager.getInstance().getLastLocation();
257
+ console.log("captureImage:lastLocation:", JSON.stringify(lastLocation));
256
258
  imgArray[index] = {
257
259
  id: CaptureUtils.getImagesFileName(),
258
260
  // @ts-ignore
@@ -260,9 +262,9 @@ const ImageCapture = props => {
260
262
  url: '',
261
263
  timestamp: Date.now(),
262
264
  dateTime: dateTime,
263
- lat: LocationManager.getInstance().getLastLocation().latitude,
264
- lng: LocationManager.getInstance().getLastLocation().longitude,
265
- accuracy: LocationManager.getInstance().getLastLocation().accuracy
265
+ lat: lastLocation.latitude,
266
+ lng: lastLocation.longitude,
267
+ accuracy: lastLocation.accuracy
266
268
  };
267
269
  setImagesDummy([...imgArray]);
268
270
  console.log("images211:", JSON.stringify(imgArray));