@os1-platform/dispatch-mobile 2.0.3 → 2.0.5

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.
@@ -31,6 +31,8 @@ var _constants3 = require("../../../manager/syncmanager/constants");
31
31
  var _vectorIcons = require("@expo/vector-icons");
32
32
  var _GoBackModal = _interopRequireDefault(require("../../../components/widgets/GoBackModal"));
33
33
  var _utils3 = require("../../../components/utils");
34
+ var _toggleSwitchReactNative = _interopRequireDefault(require("toggle-switch-react-native"));
35
+ var _ScanIcon = _interopRequireDefault(require("../../../icons/ScanIcon"));
34
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
37
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
36
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -62,6 +64,7 @@ const ScanET = props => {
62
64
  const [showScanList, setShowScanList] = (0, _react.useState)(false); // To show shipments List
63
65
  const [showProgress, setShowProgress] = (0, _react.useState)(false); // To pause implementation while a barcode was scanned
64
66
  const [showScanner, setShowScanner] = (0, _react.useState)(true); // To show the barcode scanner on screen and refresh on successful scan
67
+ const [showCamera, setShowCamera] = (0, _react.useState)(true);
65
68
  const [scanText, setScanText] = (0, _react.useState)(''); // Show scan text
66
69
  const [snackBar, setSnackBar] = (0, _react.useState)({
67
70
  show: false,
@@ -140,21 +143,6 @@ const ScanET = props => {
140
143
  props.showProgress(false);
141
144
  }
142
145
  }, [isScreenLoaded]);
143
-
144
- // const [defaultERCLabel, setDefaultERCLabel] = useState({
145
- // eventCode: '',
146
- // reasonCode: '',
147
- // });
148
- // const fetchLabel = async () => {
149
- // const { eventCode, reasonCode } = await getDefaultERCLabel(
150
- // props.defaultERC
151
- // );
152
- // setDefaultERCLabel({ eventCode, reasonCode });
153
- // };
154
- // useEffect(() => {
155
- // fetchLabel();
156
- // }, [props.defaultERC]);
157
-
158
146
  (0, _react.useLayoutEffect)(() => {
159
147
  props.navigation.setOptions({
160
148
  title: props.title,
@@ -190,11 +178,18 @@ const ScanET = props => {
190
178
  })();
191
179
  }, [selectedEventCode === null || selectedEventCode === void 0 ? void 0 : selectedEventCode.code]);
192
180
  (0, _react.useEffect)(() => {
181
+ var _refInput$current;
193
182
  scannedInput && (async () => {
194
183
  await addScans();
195
184
  setScannedInput('');
185
+ setScanText('');
196
186
  })();
187
+ if (refInput) (_refInput$current = refInput.current) === null || _refInput$current === void 0 ? void 0 : _refInput$current.focus();
197
188
  }, [scannedInput]);
189
+ (0, _react.useEffect)(() => {
190
+ var _refInput$current2;
191
+ if (!showCamera && refInput) (_refInput$current2 = refInput.current) === null || _refInput$current2 === void 0 ? void 0 : _refInput$current2.focus();
192
+ }, [showCamera]);
198
193
  const handleSubmitET = async (status, count, erc) => {
199
194
  if (status === _interfaces.PROCEED_STATUS.DELIVER_LATER) {
200
195
  if (shipmentCount.scannedCount === 0) {
@@ -353,6 +348,7 @@ const ScanET = props => {
353
348
  });
354
349
  }
355
350
  } catch (error) {
351
+ setScanText('');
356
352
  if (props.exitOnError) {
357
353
  setShowProgress(false);
358
354
  const etOutput = await (0, _utils.getScanETOutput)(mergedScanETOutput, props.mergedObjectiveId, eventCodeItems || [], props.defaultERC, _ScanSchema.DeliverState.CANCELLED, false, 0);
@@ -365,6 +361,7 @@ const ScanET = props => {
365
361
  }
366
362
  }
367
363
  } else {
364
+ setScanText('');
368
365
  if (props.exitOnError) {
369
366
  setShowProgress(false);
370
367
  const etOutput = await (0, _utils.getScanETOutput)(mergedScanETOutput, props.mergedObjectiveId, eventCodeItems || [], props.defaultERC, _ScanSchema.DeliverState.CANCELLED, false, 0);
@@ -548,7 +545,8 @@ const ScanET = props => {
548
545
  }
549
546
  }, props.ercSelector && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
550
547
  style: {
551
- marginHorizontal: 16
548
+ marginHorizontal: 16,
549
+ marginBottom: 30
552
550
  }
553
551
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
554
552
  style: {
@@ -581,6 +579,32 @@ const ScanET = props => {
581
579
  }
582
580
  }))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
583
581
  style: styles.addShipmentStyle
582
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
583
+ style: styles.toggleText
584
+ }, "Use camera for scanning"), /*#__PURE__*/_react.default.createElement(_toggleSwitchReactNative.default, {
585
+ onColor: "#5B80F7",
586
+ offColor: "#E0E3EB",
587
+ isOn: showCamera,
588
+ onToggle: () => setShowCamera(!showCamera)
589
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
590
+ style: showCamera ? [styles.cameraContainer, {
591
+ backgroundColor: '#000'
592
+ }] : styles.cameraContainer
593
+ }, showCamera && showScanner ? /*#__PURE__*/_react.default.createElement(_CScanner.default, {
594
+ barCodeTypes: (0, _utils.getBarCodeTypes)(props),
595
+ onScanned: _handleBarCodeScanned
596
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
597
+ style: styles.scanIcon
598
+ }, /*#__PURE__*/_react.default.createElement(_ScanIcon.default, null), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
599
+ style: {
600
+ color: '#A3AAC2',
601
+ fontFamily: _CommonStyles.Fonts.IBMPlexSans_500Medium,
602
+ fontSize: 14,
603
+ fontStyle: 'normal',
604
+ fontWeight: '500'
605
+ }
606
+ }, "Enter manually or use barcode scanner")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
607
+ style: styles.addShipmentStyle
584
608
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
585
609
  returnKeyType: 'done',
586
610
  ref: refInput,
@@ -590,24 +614,27 @@ const ScanET = props => {
590
614
  value: scanText,
591
615
  onChangeText: setScanText,
592
616
  style: {
593
- borderBottomColor: '#DDDDDD',
594
- borderBottomWidth: 1,
617
+ borderColor: '#5B80F7',
618
+ borderWidth: 1,
619
+ borderRadius: 6,
620
+ paddingVertical: 9,
621
+ paddingHorizontal: 13,
595
622
  marginEnd: 20,
596
623
  flex: 1,
597
624
  fontSize: 16,
598
625
  fontFamily: _CommonStyles.Fonts.IBMPlexSans_600SemiBold,
599
- color: '#CECECE'
626
+ color: '#A3AAC2'
600
627
  },
601
628
  placeholder: 'Enter Shipment ID'
602
629
  }), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
603
630
  style: {
604
- alignSelf: 'center',
605
- justifyContent: 'center',
606
- paddingVertical: 9,
607
- paddingHorizontal: 17,
631
+ borderColor: '#E0E3EB',
608
632
  borderWidth: 1,
609
633
  borderRadius: 6,
610
- borderColor: '#E0E3EB'
634
+ paddingVertical: 9,
635
+ paddingHorizontal: 17,
636
+ alignSelf: 'center',
637
+ justifyContent: 'center'
611
638
  },
612
639
  onPress: async () => {
613
640
  setSnackBar({
@@ -621,15 +648,9 @@ const ScanET = props => {
621
648
  style: {
622
649
  fontSize: 14,
623
650
  fontFamily: _CommonStyles.Fonts.IBMPlexSans_500Medium,
624
- lineHeight: 20,
625
651
  color: '#3D445C'
626
652
  }
627
- }, 'APPLY'))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
628
- style: styles.cameraContainer
629
- }, showScanner ? /*#__PURE__*/_react.default.createElement(_CScanner.default, {
630
- barCodeTypes: (0, _utils.getBarCodeTypes)(props),
631
- onScanned: _handleBarCodeScanned
632
- }) : null)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
653
+ }, 'Apply')))))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
633
654
  style: {
634
655
  justifyContent: 'flex-end'
635
656
  }
@@ -655,16 +676,15 @@ exports.default = _default;
655
676
  const styles = _reactNative.StyleSheet.create({
656
677
  cameraContainer: {
657
678
  flex: 1,
658
- backgroundColor: '#000',
659
679
  justifyContent: 'center',
660
680
  alignItems: 'center',
661
681
  zIndex: -1
662
682
  },
663
683
  addShipmentStyle: {
664
- marginTop: 32,
665
- marginBottom: 10,
684
+ marginVertical: 24,
666
685
  marginHorizontal: 16,
667
686
  flexDirection: 'row',
687
+ justifyContent: 'space-between',
668
688
  zIndex: -1
669
689
  },
670
690
  bottomView: {
@@ -739,6 +759,15 @@ const styles = _reactNative.StyleSheet.create({
739
759
  color: '#A3AAC2',
740
760
  fontSize: 14,
741
761
  fontFamily: _CommonStyles.Fonts.IBMPlexSans_400Regular
762
+ },
763
+ toggleText: {
764
+ fontSize: 14,
765
+ fontFamily: _CommonStyles.Fonts.IBMPlexSans_500Medium,
766
+ color: '#3D445C'
767
+ },
768
+ scanIcon: {
769
+ justifyContent: 'center',
770
+ alignItems: 'center'
742
771
  }
743
772
  });
744
773
  //# sourceMappingURL=ScanET.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_ScanSchema","_CommonStyles","_ProgressDialog","_interopRequireDefault","_strings","_CScanner","_utils","_SnackBarCustom","_reactNativePaper","_native","_utils2","_interfaces","_ExecTaskUtils","_ETConfig","_constants","_ERDropDown","_DropDownUtils","_constants2","_MaterialIcons","_platformCoreosExecutionEngineSdk","_SummaryPage","_RouteParams","_constants3","_vectorIcons","_GoBackModal","_utils3","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ScanET","props","_props$wfMeta","_props$additionalMult","_props$meta","prefixedMergedObjectiveId","route","params","RouteParams","ROOT_META_DATA","isScreenLoaded","setIsScreenLoaded","useState","ercSelectorLoaded","shipmentCountLoaded","previousDataLoaded","isErcSelector","ercSelector","isMultiObjectiveEnable","wfMeta","enableMultiObjectiveFlow","allowMultiObjectivePartial","additionalMultiConfig","validationType","SINGLE_MODE_COUNT","meta","singleModeCount","showScanList","setShowScanList","showProgress","setShowProgress","showScanner","setShowScanner","scanText","setScanText","snackBar","setSnackBar","show","type","SnackBarType","SUCCESS","message","scansMap","setScansMap","Map","scannedInput","setScannedInput","refInput","useRef","selectedReason","setSelectedReason","selectedEventCode","setSelectedEventCode","reasonItems","setReasonItems","eventCodeItems","setEventCodeItems","showBackModal","setShowBackModal","showUnscannedShipmentModal","setShowUnscannedShipmentModal","shipmentCount","setShipmentCount","scannedCount","totalCount","mergedScanETOutput","setMergedScanETOutput","fetchShipmentCount","_shipmentCount","DispatchExecutor","getScannedShipmentsCount","mergedObjectiveId","error","fetchPreviousScannedData","scanOutput","getScanMappedOutput","fetchERC","response","getErcDropDownItems","fetchAllData","Promise","all","useEffect","useLayoutEffect","navigation","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","name","color","size","style","paddingRight","paddingTop","code","length","undefined","addScans","handleSubmitET","status","count","erc","PROCEED_STATUS","DELIVER_LATER","goBack","etOutput","getScanETOutput","defaultERC","DeliverState","DELIVERE_LATER","onSubmitET","eventCode","ec","reasonCode","rc","DELIVER_NOW","hasNextPage","offset","limit","BULK_DATA_LIMIT","scans","data","scannedData","filterWFIData","taskName","forEach","scan","push","groupId","displayInfo","jobId","shipmentFlow","scanValue","scannableId","triggerScanEvent","output","_handleBarCodeScanned","isEmptyOrBlank","updateShipmentCount","scannedCountChanged","totalCountChanged","arguments","currentIds","Set","getSplitIds","EMPTY_AWB","FAILURE","ER_MISSING","replace","isValidated","checkForValidation","validation","eventType","getEventType","result","updateWIMapping","scanToMerge","subTitle","WARNING","_scanOutput","getUpdatedScanETOutput","isScan","scanId","updateSharedPreference","mwId","scanned","total","exitOnError","CANCELLED","getErrorMessage","INVALID_SHIPMENT","renderActionButtons","View","Button","labelStyle","CommonStyles","nextButtonLabel","nextButton","uppercase","useFocusEffect","React","useCallback","onBackPress","BackHandler","addEventListener","removeEventListener","timeout","setTimeout","clearTimeout","renderModal","showModal","setShowModal","onSuccess","getBaseETResponse","EntityCode","SCAN","GO_BACK_EVENT_CODE","ExecutionTaskID","onFailure","renderUnscannedShipmentModal","Portal","Modal","visible","dismissable","contentContainerStyle","styles","modalContent","marginStart","marginEnd","modalView","justifyContent","alignItems","marginBottom","AntDesign","Text","titleText","unscannedShipmentModalSubText","textAlign","marginTop","TouchableOpacity","cancelButton","height","borderRadius","resetObjective","clearScanOutput","removeShipment","cancelButtonLabel","renderShipmentCount","scanMode","selectedIndex","scanCountLimit","Provider","mainContainer","scanProps","label","PLEASE_WAIT","flex","marginHorizontal","items","onItemChange","eventItem","marginVertical","disabled","reasonItem","addShipmentStyle","TextInput","returnKeyType","ref","onSubmitEditing","value","onChangeText","borderBottomColor","borderBottomWidth","fontSize","fontFamily","Fonts","IBMPlexSans_600SemiBold","placeholder","alignSelf","paddingVertical","paddingHorizontal","borderWidth","borderColor","IBMPlexSans_500Medium","lineHeight","cameraContainer","barCodeTypes","getBarCodeTypes","onScanned","onDismiss","customBottom","bottomView","_default","exports","StyleSheet","create","backgroundColor","zIndex","flexDirection","paddingBottom","addButtonLabel","fontWeight","letterSpacing","fontStyle","centerView","alignContent","padding","subText","bottomButtons","modalDefaultERCStyle","IBMPlexSans_400Regular"],"sources":["ScanET.tsx"],"sourcesContent":["import {\n View,\n Text,\n StyleSheet,\n TextInput,\n TouchableOpacity,\n BackHandler,\n} from 'react-native';\nimport React, { useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { DeliverState, type ScannerInput } from './ScanSchema';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport ProgressDialog from '../../widgets/ProgressDialog';\nimport { PLEASE_WAIT } from '../../../res/strings';\nimport CScanner from './sub_components/CScanner';\nimport {\n checkForValidation,\n clearScanOutput,\n getBarCodeTypes,\n getErrorMessage,\n getEventType,\n getScanETOutput,\n getScanMappedOutput,\n getScannedItemCount,\n getShipmentData,\n getSplitIds,\n getUpdatedScanETOutput,\n isETCompleted,\n isReplacement,\n resetObjective,\n triggerScanEvent,\n updatePendingSharedPreference,\n updateSharedPreference,\n} from './utils';\nimport SnackBarCustom, { SnackBarType } from '../../widgets/SnackBarCustom';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BlindScan,\n MergedScan,\n PROCEED_STATUS,\n SCAN_STATUS,\n} from './interfaces';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n ADD_SHIPMENT,\n EMPTY_AWB,\n ER_MISSING,\n INVALID_SHIPMENT,\n MAX_SHIPMENT_REACHED,\n SHIPMENT_ALREADY_ADDED,\n} from './constants';\nimport ERDropDown, { ercItem } from './sub_components/ERDropDown';\nimport {\n getDefaultERCLabel,\n getErcDropDownItems,\n} from './sub_components/DropDownUtils';\nimport {\n GO_BACK_EVENT_CODE,\n REASON_NOT_USED,\n} from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport type { ScannerOutput } from './ScanSchema';\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport SummaryPage from './sub_components/SummaryPage';\nimport { RouteParams } from '../../../ui/uiConfig/RouteParams';\nimport { BULK_DATA_LIMIT } from '../../../manager/syncmanager/constants';\nimport { AntDesign } from '@expo/vector-icons';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { hasGoBackConnector } from '../../../components/utils';\n\n/**\n *\n * @param props interface ScannerInput\n * @returns JSX\n *\n * props has key validation which defines different UI cases\n * validation: interface Validation\n *\n * when validation.selectedIndex === 0 => Receives validation.logic as array of scans\n * when validation.selectedIndex === 1 => Receives validation.logic as validation regex\n * when validation.selectedIndex === 0 => Receives validation.logic as API\n */\n\nconst ScanET = (props: ScannerInput) => {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n const [isScreenLoaded, setIsScreenLoaded] = useState({\n ercSelectorLoaded: false,\n shipmentCountLoaded: false,\n previousDataLoaded: false,\n });\n const isErcSelector = props.ercSelector ? true : false;\n const isMultiObjectiveEnable = props.wfMeta?.enableMultiObjectiveFlow;\n const allowMultiObjectivePartial =\n (isMultiObjectiveEnable === true &&\n props.additionalMultiConfig?.validationType === 'SUBSET_OF_LIST') ||\n false;\n\n const SINGLE_MODE_COUNT: number = props.meta?.singleModeCount || 1;\n const [showScanList, setShowScanList] = useState(false); // To show shipments List\n const [showProgress, setShowProgress] = useState(false); // To pause implementation while a barcode was scanned\n const [showScanner, setShowScanner] = useState(true); // To show the barcode scanner on screen and refresh on successful scan\n const [scanText, setScanText] = useState(''); // Show scan text\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n\n /**\n * scansMap: is used to add the scanned shipment related data on each scan.\n * scansMap data structure (MergedScan) is the same format as the output of scanET alongwith jobId,\n * which is used to create the final output of the ET and pass the scanned id to each merged objective.\n */\n\n const [scansMap, setScansMap] = useState<Map<string, MergedScan>>(new Map());\n\n const [scannedInput, setScannedInput] = useState<string>(''); // state to capture scan\n const refInput = useRef<TextInput>(null);\n const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector\n const [selectedEventCode, setSelectedEventCode] = useState<ercItem>(); // reason code from ercSelector\n const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes\n const [eventCodeItems, setEventCodeItems] = useState<ercItem[]>(); // list of event codes\n\n const [showBackModal, setShowBackModal] = useState(false);\n const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =\n useState(false);\n\n const [shipmentCount, setShipmentCount] = useState({\n scannedCount: 0,\n totalCount: 0,\n });\n const [mergedScanETOutput, setMergedScanETOutput] = useState<ScannerOutput>(\n {}\n );\n\n const fetchShipmentCount = async () => {\n try {\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n props.mergedObjectiveId\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n } catch (error) {}\n };\n\n const fetchPreviousScannedData = async () => {\n try {\n const scanOutput = (await getScanMappedOutput()) || {};\n setMergedScanETOutput(scanOutput[prefixedMergedObjectiveId] || {});\n } catch (error) {}\n };\n\n const fetchERC = async () => {\n if (props.ercSelector) {\n try {\n let response = await getErcDropDownItems(\n 'EVENT',\n props.ercSelector || []\n );\n setEventCodeItems(response);\n setSelectedEventCode(response[0]);\n } catch (error) {}\n }\n };\n\n const fetchAllData = async () => {\n try {\n await Promise.all([\n fetchERC(),\n fetchPreviousScannedData(),\n fetchShipmentCount(),\n ]);\n } catch (error) {\n } finally {\n setIsScreenLoaded({\n ercSelectorLoaded: true,\n previousDataLoaded: true,\n shipmentCountLoaded: true,\n });\n }\n };\n\n useEffect(() => {\n fetchAllData();\n }, []);\n\n useEffect(() => props.showProgress(true), []);\n useEffect(() => {\n if (\n isScreenLoaded.ercSelectorLoaded &&\n isScreenLoaded.previousDataLoaded &&\n isScreenLoaded.shipmentCountLoaded\n ) {\n props.showProgress(false);\n }\n }, [isScreenLoaded]);\n\n // const [defaultERCLabel, setDefaultERCLabel] = useState({\n // eventCode: '',\n // reasonCode: '',\n // });\n // const fetchLabel = async () => {\n // const { eventCode, reasonCode } = await getDefaultERCLabel(\n // props.defaultERC\n // );\n // setDefaultERCLabel({ eventCode, reasonCode });\n // };\n // useEffect(() => {\n // fetchLabel();\n // }, [props.defaultERC]);\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else {\n if (showScanList) setShowScanList(false);\n else setShowUnscannedShipmentModal(true);\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, showScanList]);\n\n useEffect(() => {\n selectedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n selectedEventCode?.code\n );\n if (response.length) {\n setReasonItems(response);\n setSelectedReason(response[0]);\n } else {\n setReasonItems([]);\n setSelectedReason(undefined);\n }\n })();\n }, [selectedEventCode?.code]);\n\n useEffect(() => {\n scannedInput &&\n (async () => {\n await addScans();\n setScannedInput('');\n })();\n }, [scannedInput]);\n\n const handleSubmitET = async (\n status: PROCEED_STATUS,\n count: number,\n erc: { ec: string; rc: string } | undefined\n ) => {\n if (status === PROCEED_STATUS.DELIVER_LATER) {\n if (shipmentCount.scannedCount === 0) {\n props.navigation.goBack();\n } else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVERE_LATER,\n true,\n count\n );\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.scannedCount < shipmentCount.totalCount) {\n if (erc) {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n { eventCode: erc.ec, reasonCode: erc.rc },\n DeliverState.DELIVER_NOW,\n true,\n count\n );\n\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n const scannedData: any = [];\n do {\n scans = await DispatchExecutor.filterWFIData(\n props.taskName,\n [prefixedMergedObjectiveId],\n limit,\n offset\n );\n\n scans.data.forEach((scan) => {\n scannedData.push({\n groupId: scan.displayInfo.groupId,\n jobId: scan.jobId,\n shipmentFlow: scan.displayInfo.shipmentFlow,\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n\n triggerScanEvent(\n 'ON_SCAN',\n props.route,\n scannedData,\n etOutput['default'].output\n );\n\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n // updatePendingSharedPreference(eventType, prefixedMergedObjectiveId);\n\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.totalCount === 0) props.navigation.goBack();\n else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVER_NOW,\n false,\n count\n );\n props.onSubmitET(etOutput);\n }\n }\n }\n };\n\n const _handleBarCodeScanned = async (scan: string) => {\n if (!isEmptyOrBlank(scan)) {\n setShowScanner(false);\n setScannedInput(scan);\n }\n };\n\n const updateShipmentCount = async (\n scannedCountChanged: number,\n totalCountChanged: number,\n type: 'SCAN' | 'REMOVE' = 'SCAN'\n ) => {\n if (type === 'SCAN') {\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + scannedCountChanged,\n totalCount: _shipmentCount.totalCount + totalCountChanged,\n };\n });\n } else {\n const currentIds = [\n ...new Set([\n ...props.mergedObjectiveId,\n ...getSplitIds(mergedScanETOutput),\n prefixedMergedObjectiveId,\n ]),\n ];\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n currentIds\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n }\n };\n\n const addScans = async () => {\n const scan = scannedInput;\n if (isEmptyOrBlank(scan)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: EMPTY_AWB,\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n if (isErcSelector && (!selectedEventCode || !selectedEventCode.code)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: ER_MISSING.replace('<shipment_id>', scan),\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n setShowProgress(true);\n let isValidated = await checkForValidation(scan, props.validation);\n\n if (isValidated) {\n // NEW CODE\n try {\n const eventType = getEventType(\n eventCodeItems || [],\n selectedEventCode?.code || ''\n );\n\n const result = await DispatchExecutor.updateWIMapping(\n prefixedMergedObjectiveId,\n scan,\n {\n ec: selectedEventCode?.code || '',\n rc: selectedReason?.code || '',\n },\n props.scanToMerge || false\n );\n\n if ('data' in result) {\n const data: IDispatch.MappingUpdateResponse = result.data;\n const {\n message: { title, subTitle },\n } = data;\n if (subTitle) {\n setSnackBar({\n show: true,\n message: `#${scan}\\n${title}\\n${subTitle}`,\n type: SnackBarType.WARNING,\n });\n } else {\n setSnackBar({\n show: true,\n message: `#${scan}\\nShipment updated successfully!`,\n type: SnackBarType.SUCCESS,\n });\n }\n\n setScanText('');\n\n const _scanOutput = await getUpdatedScanETOutput(\n mergedScanETOutput,\n result,\n eventType,\n selectedEventCode?.code || '',\n selectedReason?.code || '',\n props.route,\n {\n jobId: data.jobId,\n displayInfo: data.displayInfo,\n isScan: true,\n scanId: scan,\n }\n );\n\n // UPDATE SHARED PREFERENCE\n updateSharedPreference(\n eventType,\n data.mwId,\n prefixedMergedObjectiveId\n );\n\n // UPDATE SCAN OUTPUT\n setMergedScanETOutput(_scanOutput);\n\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + data.scanned,\n totalCount: _shipmentCount.totalCount + data.total,\n };\n });\n }\n } catch (error: any) {\n if (props.exitOnError) {\n setShowProgress(false);\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n ...getErrorMessage(scan, error),\n });\n }\n }\n } else {\n if (props.exitOnError) {\n setShowProgress(false);\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n message: INVALID_SHIPMENT,\n type: SnackBarType.FAILURE,\n });\n }\n }\n\n setShowProgress(false);\n };\n\n const renderActionButtons = () => {\n // NEW CODE\n return (\n <View>\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={CommonStyles.nextButton}\n uppercase={false}\n onPress={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setShowScanList(!showScanList);\n }}\n >\n {`View Summary`}\n </Button>\n </View>\n );\n };\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (showScanList) {\n setShowScanList(false);\n return true;\n } else {\n setShowUnscannedShipmentModal(true);\n // props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [showScanList])\n );\n\n useEffect(() => {\n if (showScanList) {\n props.navigation.setOptions({\n title: 'Summary',\n });\n } else {\n props.navigation.setOptions({\n title: `${props.title}`,\n });\n }\n }, [showScanList]);\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n if (!showScanner) {\n timeout = setTimeout(() => {\n setShowScanner(true);\n }, 500);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [showScanner]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n const _scanOutput = {\n ['default']: { output, count: shipmentCount.totalCount },\n };\n props.onSubmitET(_scanOutput);\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n // TODO: Modify to Modal Widget\n const renderUnscannedShipmentModal = () => {\n return (\n <Portal>\n <Modal\n visible={showUnscannedShipmentModal}\n dismissable={true}\n contentContainerStyle={[\n styles.modalContent,\n { marginStart: 40, marginEnd: 40 },\n ]}\n >\n <View style={styles.modalView}>\n <View\n style={{\n justifyContent: 'center',\n alignItems: 'center',\n marginBottom: 10,\n }}\n >\n <AntDesign name=\"exclamationcircleo\" size={40} color=\"#D97706\" />\n </View>\n <Text style={styles.titleText}>{'Exit scan flow?'}</Text>\n <Text\n style={[\n styles.unscannedShipmentModalSubText,\n { textAlign: 'center' },\n ]}\n >\n {'All the progress made will be lost'}\n </Text>\n\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={{ ...CommonStyles.nextButton, marginTop: 20 }}\n uppercase={false}\n onPress={() => setShowUnscannedShipmentModal(false)}\n >\n Continue Scanning\n </Button>\n <TouchableOpacity\n style={{\n ...CommonStyles.cancelButton,\n marginTop: 10,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n\n // Trigger Scan Removal Event\n await resetObjective(props);\n\n // Clear Scan\n await Promise.all([\n clearScanOutput(prefixedMergedObjectiveId),\n DispatchExecutor.removeShipment(prefixedMergedObjectiveId),\n ]);\n\n props.navigation.goBack();\n }}\n >\n <Text style={CommonStyles.cancelButtonLabel}>Exit Scan Flow</Text>\n </TouchableOpacity>\n </View>\n </Modal>\n </Portal>\n );\n };\n\n const renderShipmentCount = () => {\n return (\n <View\n style={{\n justifyContent: 'flex-end',\n marginStart: 10,\n marginEnd: 10,\n marginBottom: 10,\n }}\n >\n {isMultiObjectiveEnable ||\n props.scanMode === 'SINGLE' ||\n props.validation.selectedIndex === 0 ||\n props.scanCountLimit ? (\n <Text>{`${shipmentCount.scannedCount}/${shipmentCount.totalCount} shipments scanned.`}</Text>\n ) : props.validation.selectedIndex === 1 ||\n props.validation.selectedIndex === 2 ? (\n <Text>{`${shipmentCount.scannedCount} shipments scanned.`}</Text>\n ) : null}\n </View>\n );\n };\n\n if (showScanList) {\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n <SummaryPage\n ercSelector={props.ercSelector || []}\n eventCodeItems={eventCodeItems ?? []}\n handleSubmitET={handleSubmitET}\n shipmentCount={shipmentCount}\n updateShipmentCount={updateShipmentCount}\n scanProps={props}\n mergedScanETOutput={mergedScanETOutput}\n />\n </View>\n </Provider>\n );\n } else {\n return (\n <Provider>\n <View style={CommonStyles.mainContainer}>\n {renderModal()}\n {renderUnscannedShipmentModal()}\n <ProgressDialog visible={showProgress} label={PLEASE_WAIT} />\n <View style={{ flex: 1 }}>\n {props.ercSelector && (\n <View style={{ marginHorizontal: 16 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={selectedEventCode}\n items={eventCodeItems ?? []}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setSelectedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 16 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={selectedReason}\n disabled={\n !reasonItems || !reasonItems?.length ? true : false\n }\n items={reasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setSelectedReason(reasonItem);\n }}\n />\n </View>\n </View>\n )}\n <View style={styles.addShipmentStyle}>\n <TextInput\n returnKeyType={'done'}\n ref={refInput}\n onSubmitEditing={async () => {\n setScannedInput(scanText);\n }}\n value={scanText}\n onChangeText={setScanText}\n style={{\n borderBottomColor: '#DDDDDD',\n borderBottomWidth: 1,\n marginEnd: 20,\n flex: 1,\n fontSize: 16,\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n color: '#CECECE',\n }}\n placeholder={'Enter Shipment ID'}\n />\n <TouchableOpacity\n style={{\n alignSelf: 'center',\n justifyContent: 'center',\n paddingVertical: 9,\n paddingHorizontal: 17,\n borderWidth: 1,\n borderRadius: 6,\n borderColor: '#E0E3EB',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setScannedInput(scanText);\n }}\n >\n <Text\n style={{\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_500Medium,\n lineHeight: 20,\n color: '#3D445C',\n }}\n >\n {'APPLY'}\n </Text>\n </TouchableOpacity>\n </View>\n <View style={styles.cameraContainer}>\n {showScanner ? (\n <CScanner\n barCodeTypes={getBarCodeTypes(props)}\n onScanned={_handleBarCodeScanned}\n />\n ) : null}\n </View>\n </View>\n <View style={{ justifyContent: 'flex-end' }}>\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n customBottom={20}\n />\n </View>\n <View style={styles.bottomView}>\n {renderShipmentCount()}\n {renderActionButtons()}\n </View>\n </View>\n </Provider>\n );\n }\n};\n\nexport default ScanET;\n\nconst styles = StyleSheet.create({\n cameraContainer: {\n flex: 1,\n backgroundColor: '#000',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: -1,\n },\n addShipmentStyle: {\n marginTop: 32,\n marginBottom: 10,\n marginHorizontal: 16,\n flexDirection: 'row',\n zIndex: -1,\n },\n bottomView: {\n paddingBottom: 16,\n justifyContent: 'flex-end',\n marginVertical: 10,\n marginHorizontal: 16,\n },\n addButtonLabel: {\n color: '#3D445C',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 20,\n letterSpacing: 1.56,\n textAlign: 'center',\n fontStyle: 'normal',\n },\n centerView: {\n flex: 1,\n justifyContent: 'center',\n alignContent: 'center',\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n titleText: {\n justifyContent: 'center',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontStyle: 'normal',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n color: '#111111',\n marginBottom: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n bottomButtons: {\n justifyContent: 'space-between',\n flexDirection: 'row',\n marginTop: 8,\n },\n unscannedShipmentModalSubText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n color: '#000000',\n marginBottom: 10,\n },\n modalDefaultERCStyle: {\n color: '#A3AAC2',\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_ScanSchema","_CommonStyles","_ProgressDialog","_interopRequireDefault","_strings","_CScanner","_utils","_SnackBarCustom","_reactNativePaper","_native","_utils2","_interfaces","_ExecTaskUtils","_ETConfig","_constants","_ERDropDown","_DropDownUtils","_constants2","_MaterialIcons","_platformCoreosExecutionEngineSdk","_SummaryPage","_RouteParams","_constants3","_vectorIcons","_GoBackModal","_utils3","_toggleSwitchReactNative","_ScanIcon","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ScanET","props","_props$wfMeta","_props$additionalMult","_props$meta","prefixedMergedObjectiveId","route","params","RouteParams","ROOT_META_DATA","isScreenLoaded","setIsScreenLoaded","useState","ercSelectorLoaded","shipmentCountLoaded","previousDataLoaded","isErcSelector","ercSelector","isMultiObjectiveEnable","wfMeta","enableMultiObjectiveFlow","allowMultiObjectivePartial","additionalMultiConfig","validationType","SINGLE_MODE_COUNT","meta","singleModeCount","showScanList","setShowScanList","showProgress","setShowProgress","showScanner","setShowScanner","showCamera","setShowCamera","scanText","setScanText","snackBar","setSnackBar","show","type","SnackBarType","SUCCESS","message","scansMap","setScansMap","Map","scannedInput","setScannedInput","refInput","useRef","selectedReason","setSelectedReason","selectedEventCode","setSelectedEventCode","reasonItems","setReasonItems","eventCodeItems","setEventCodeItems","showBackModal","setShowBackModal","showUnscannedShipmentModal","setShowUnscannedShipmentModal","shipmentCount","setShipmentCount","scannedCount","totalCount","mergedScanETOutput","setMergedScanETOutput","fetchShipmentCount","_shipmentCount","DispatchExecutor","getScannedShipmentsCount","mergedObjectiveId","error","fetchPreviousScannedData","scanOutput","getScanMappedOutput","fetchERC","response","getErcDropDownItems","fetchAllData","Promise","all","useEffect","useLayoutEffect","navigation","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","name","color","size","style","paddingRight","paddingTop","code","length","undefined","_refInput$current","addScans","current","focus","_refInput$current2","handleSubmitET","status","count","erc","PROCEED_STATUS","DELIVER_LATER","goBack","etOutput","getScanETOutput","defaultERC","DeliverState","DELIVERE_LATER","onSubmitET","eventCode","ec","reasonCode","rc","DELIVER_NOW","hasNextPage","offset","limit","BULK_DATA_LIMIT","scans","data","scannedData","filterWFIData","taskName","forEach","scan","push","groupId","displayInfo","jobId","shipmentFlow","scanValue","scannableId","triggerScanEvent","output","_handleBarCodeScanned","isEmptyOrBlank","updateShipmentCount","scannedCountChanged","totalCountChanged","arguments","currentIds","Set","getSplitIds","EMPTY_AWB","FAILURE","ER_MISSING","replace","isValidated","checkForValidation","validation","eventType","getEventType","result","updateWIMapping","scanToMerge","subTitle","WARNING","_scanOutput","getUpdatedScanETOutput","isScan","scanId","updateSharedPreference","mwId","scanned","total","exitOnError","CANCELLED","getErrorMessage","INVALID_SHIPMENT","renderActionButtons","View","Button","labelStyle","CommonStyles","nextButtonLabel","nextButton","uppercase","useFocusEffect","React","useCallback","onBackPress","BackHandler","addEventListener","removeEventListener","timeout","setTimeout","clearTimeout","renderModal","showModal","setShowModal","onSuccess","getBaseETResponse","EntityCode","SCAN","GO_BACK_EVENT_CODE","ExecutionTaskID","onFailure","renderUnscannedShipmentModal","Portal","Modal","visible","dismissable","contentContainerStyle","styles","modalContent","marginStart","marginEnd","modalView","justifyContent","alignItems","marginBottom","AntDesign","Text","titleText","unscannedShipmentModalSubText","textAlign","marginTop","TouchableOpacity","cancelButton","height","borderRadius","resetObjective","clearScanOutput","removeShipment","cancelButtonLabel","renderShipmentCount","scanMode","selectedIndex","scanCountLimit","Provider","mainContainer","scanProps","label","PLEASE_WAIT","flex","marginHorizontal","items","onItemChange","eventItem","marginVertical","disabled","reasonItem","addShipmentStyle","toggleText","onColor","offColor","isOn","onToggle","cameraContainer","backgroundColor","barCodeTypes","getBarCodeTypes","onScanned","Fragment","scanIcon","fontFamily","Fonts","IBMPlexSans_500Medium","fontSize","fontStyle","fontWeight","TextInput","returnKeyType","ref","onSubmitEditing","value","onChangeText","borderColor","borderWidth","paddingVertical","paddingHorizontal","IBMPlexSans_600SemiBold","placeholder","alignSelf","onDismiss","customBottom","bottomView","_default","exports","StyleSheet","create","zIndex","flexDirection","paddingBottom","addButtonLabel","lineHeight","letterSpacing","centerView","alignContent","padding","subText","bottomButtons","modalDefaultERCStyle","IBMPlexSans_400Regular"],"sources":["ScanET.tsx"],"sourcesContent":["import {\n View,\n Text,\n StyleSheet,\n TextInput,\n TouchableOpacity,\n BackHandler,\n} from 'react-native';\nimport React, { useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { DeliverState, type ScannerInput } from './ScanSchema';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport ProgressDialog from '../../widgets/ProgressDialog';\nimport { PLEASE_WAIT } from '../../../res/strings';\nimport CScanner from './sub_components/CScanner';\nimport {\n checkForValidation,\n clearScanOutput,\n getBarCodeTypes,\n getErrorMessage,\n getEventType,\n getScanETOutput,\n getScanMappedOutput,\n getScannedItemCount,\n getShipmentData,\n getSplitIds,\n getUpdatedScanETOutput,\n isETCompleted,\n isReplacement,\n resetObjective,\n triggerScanEvent,\n updatePendingSharedPreference,\n updateSharedPreference,\n} from './utils';\nimport SnackBarCustom, { SnackBarType } from '../../widgets/SnackBarCustom';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BlindScan,\n MergedScan,\n PROCEED_STATUS,\n SCAN_STATUS,\n} from './interfaces';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n ADD_SHIPMENT,\n EMPTY_AWB,\n ER_MISSING,\n INVALID_SHIPMENT,\n MAX_SHIPMENT_REACHED,\n SHIPMENT_ALREADY_ADDED,\n} from './constants';\nimport ERDropDown, { ercItem } from './sub_components/ERDropDown';\nimport {\n getDefaultERCLabel,\n getErcDropDownItems,\n} from './sub_components/DropDownUtils';\nimport {\n GO_BACK_EVENT_CODE,\n REASON_NOT_USED,\n} from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport type { ScannerOutput } from './ScanSchema';\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport SummaryPage from './sub_components/SummaryPage';\nimport { RouteParams } from '../../../ui/uiConfig/RouteParams';\nimport { BULK_DATA_LIMIT } from '../../../manager/syncmanager/constants';\nimport { AntDesign } from '@expo/vector-icons';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport ToggleSwitch from 'toggle-switch-react-native';\nimport ScanIcon from '../../../icons/ScanIcon';\n\n/**\n *\n * @param props interface ScannerInput\n * @returns JSX\n *\n * props has key validation which defines different UI cases\n * validation: interface Validation\n *\n * when validation.selectedIndex === 0 => Receives validation.logic as array of scans\n * when validation.selectedIndex === 1 => Receives validation.logic as validation regex\n * when validation.selectedIndex === 0 => Receives validation.logic as API\n */\n\nconst ScanET = (props: ScannerInput) => {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n const [isScreenLoaded, setIsScreenLoaded] = useState({\n ercSelectorLoaded: false,\n shipmentCountLoaded: false,\n previousDataLoaded: false,\n });\n const isErcSelector = props.ercSelector ? true : false;\n const isMultiObjectiveEnable = props.wfMeta?.enableMultiObjectiveFlow;\n const allowMultiObjectivePartial =\n (isMultiObjectiveEnable === true &&\n props.additionalMultiConfig?.validationType === 'SUBSET_OF_LIST') ||\n false;\n\n const SINGLE_MODE_COUNT: number = props.meta?.singleModeCount || 1;\n const [showScanList, setShowScanList] = useState(false); // To show shipments List\n const [showProgress, setShowProgress] = useState(false); // To pause implementation while a barcode was scanned\n const [showScanner, setShowScanner] = useState(true); // To show the barcode scanner on screen and refresh on successful scan\n const [showCamera, setShowCamera] = useState(true);\n const [scanText, setScanText] = useState(''); // Show scan text\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n\n /**\n * scansMap: is used to add the scanned shipment related data on each scan.\n * scansMap data structure (MergedScan) is the same format as the output of scanET alongwith jobId,\n * which is used to create the final output of the ET and pass the scanned id to each merged objective.\n */\n\n const [scansMap, setScansMap] = useState<Map<string, MergedScan>>(new Map());\n\n const [scannedInput, setScannedInput] = useState<string>(''); // state to capture scan\n const refInput = useRef<TextInput>(null);\n const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector\n const [selectedEventCode, setSelectedEventCode] = useState<ercItem>(); // reason code from ercSelector\n const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes\n const [eventCodeItems, setEventCodeItems] = useState<ercItem[]>(); // list of event codes\n\n const [showBackModal, setShowBackModal] = useState(false);\n const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =\n useState(false);\n\n const [shipmentCount, setShipmentCount] = useState({\n scannedCount: 0,\n totalCount: 0,\n });\n const [mergedScanETOutput, setMergedScanETOutput] = useState<ScannerOutput>(\n {}\n );\n\n const fetchShipmentCount = async () => {\n try {\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n props.mergedObjectiveId\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n } catch (error) {}\n };\n\n const fetchPreviousScannedData = async () => {\n try {\n const scanOutput = (await getScanMappedOutput()) || {};\n setMergedScanETOutput(scanOutput[prefixedMergedObjectiveId] || {});\n } catch (error) {}\n };\n\n const fetchERC = async () => {\n if (props.ercSelector) {\n try {\n let response = await getErcDropDownItems(\n 'EVENT',\n props.ercSelector || []\n );\n setEventCodeItems(response);\n setSelectedEventCode(response[0]);\n } catch (error) {}\n }\n };\n\n const fetchAllData = async () => {\n try {\n await Promise.all([\n fetchERC(),\n fetchPreviousScannedData(),\n fetchShipmentCount(),\n ]);\n } catch (error) {\n } finally {\n setIsScreenLoaded({\n ercSelectorLoaded: true,\n previousDataLoaded: true,\n shipmentCountLoaded: true,\n });\n }\n };\n\n useEffect(() => {\n fetchAllData();\n }, []);\n\n useEffect(() => props.showProgress(true), []);\n useEffect(() => {\n if (\n isScreenLoaded.ercSelectorLoaded &&\n isScreenLoaded.previousDataLoaded &&\n isScreenLoaded.shipmentCountLoaded\n ) {\n props.showProgress(false);\n }\n }, [isScreenLoaded]);\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else {\n if (showScanList) setShowScanList(false);\n else setShowUnscannedShipmentModal(true);\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, showScanList]);\n\n useEffect(() => {\n selectedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n selectedEventCode?.code\n );\n if (response.length) {\n setReasonItems(response);\n setSelectedReason(response[0]);\n } else {\n setReasonItems([]);\n setSelectedReason(undefined);\n }\n })();\n }, [selectedEventCode?.code]);\n\n useEffect(() => {\n scannedInput &&\n (async () => {\n await addScans();\n setScannedInput('');\n setScanText('');\n })();\n if (refInput) refInput.current?.focus();\n }, [scannedInput]);\n\n useEffect(() => {\n if (!showCamera && refInput) refInput.current?.focus();\n }, [showCamera]);\n\n const handleSubmitET = async (\n status: PROCEED_STATUS,\n count: number,\n erc: { ec: string; rc: string } | undefined\n ) => {\n if (status === PROCEED_STATUS.DELIVER_LATER) {\n if (shipmentCount.scannedCount === 0) {\n props.navigation.goBack();\n } else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVERE_LATER,\n true,\n count\n );\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.scannedCount < shipmentCount.totalCount) {\n if (erc) {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n { eventCode: erc.ec, reasonCode: erc.rc },\n DeliverState.DELIVER_NOW,\n true,\n count\n );\n\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n const scannedData: any = [];\n do {\n scans = await DispatchExecutor.filterWFIData(\n props.taskName,\n [prefixedMergedObjectiveId],\n limit,\n offset\n );\n\n scans.data.forEach((scan) => {\n scannedData.push({\n groupId: scan.displayInfo.groupId,\n jobId: scan.jobId,\n shipmentFlow: scan.displayInfo.shipmentFlow,\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n\n triggerScanEvent(\n 'ON_SCAN',\n props.route,\n scannedData,\n etOutput['default'].output\n );\n\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n // updatePendingSharedPreference(eventType, prefixedMergedObjectiveId);\n\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.totalCount === 0) props.navigation.goBack();\n else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVER_NOW,\n false,\n count\n );\n props.onSubmitET(etOutput);\n }\n }\n }\n };\n\n const _handleBarCodeScanned = async (scan: string) => {\n if (!isEmptyOrBlank(scan)) {\n setShowScanner(false);\n setScannedInput(scan);\n }\n };\n\n const updateShipmentCount = async (\n scannedCountChanged: number,\n totalCountChanged: number,\n type: 'SCAN' | 'REMOVE' = 'SCAN'\n ) => {\n if (type === 'SCAN') {\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + scannedCountChanged,\n totalCount: _shipmentCount.totalCount + totalCountChanged,\n };\n });\n } else {\n const currentIds = [\n ...new Set([\n ...props.mergedObjectiveId,\n ...getSplitIds(mergedScanETOutput),\n prefixedMergedObjectiveId,\n ]),\n ];\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n currentIds\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n }\n };\n\n const addScans = async () => {\n const scan = scannedInput;\n if (isEmptyOrBlank(scan)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: EMPTY_AWB,\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n if (isErcSelector && (!selectedEventCode || !selectedEventCode.code)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: ER_MISSING.replace('<shipment_id>', scan),\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n setShowProgress(true);\n let isValidated = await checkForValidation(scan, props.validation);\n\n if (isValidated) {\n // NEW CODE\n try {\n const eventType = getEventType(\n eventCodeItems || [],\n selectedEventCode?.code || ''\n );\n\n const result = await DispatchExecutor.updateWIMapping(\n prefixedMergedObjectiveId,\n scan,\n {\n ec: selectedEventCode?.code || '',\n rc: selectedReason?.code || '',\n },\n props.scanToMerge || false\n );\n\n if ('data' in result) {\n const data: IDispatch.MappingUpdateResponse = result.data;\n const {\n message: { title, subTitle },\n } = data;\n if (subTitle) {\n setSnackBar({\n show: true,\n message: `#${scan}\\n${title}\\n${subTitle}`,\n type: SnackBarType.WARNING,\n });\n } else {\n setSnackBar({\n show: true,\n message: `#${scan}\\nShipment updated successfully!`,\n type: SnackBarType.SUCCESS,\n });\n }\n\n setScanText('');\n\n const _scanOutput = await getUpdatedScanETOutput(\n mergedScanETOutput,\n result,\n eventType,\n selectedEventCode?.code || '',\n selectedReason?.code || '',\n props.route,\n {\n jobId: data.jobId,\n displayInfo: data.displayInfo,\n isScan: true,\n scanId: scan,\n }\n );\n\n // UPDATE SHARED PREFERENCE\n updateSharedPreference(\n eventType,\n data.mwId,\n prefixedMergedObjectiveId\n );\n\n // UPDATE SCAN OUTPUT\n setMergedScanETOutput(_scanOutput);\n\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + data.scanned,\n totalCount: _shipmentCount.totalCount + data.total,\n };\n });\n }\n } catch (error: any) {\n setScanText('');\n if (props.exitOnError) {\n setShowProgress(false);\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n ...getErrorMessage(scan, error),\n });\n }\n }\n } else {\n setScanText('');\n if (props.exitOnError) {\n setShowProgress(false);\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n message: INVALID_SHIPMENT,\n type: SnackBarType.FAILURE,\n });\n }\n }\n\n setShowProgress(false);\n };\n\n const renderActionButtons = () => {\n // NEW CODE\n return (\n <View>\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={CommonStyles.nextButton}\n uppercase={false}\n onPress={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setShowScanList(!showScanList);\n }}\n >\n {`View Summary`}\n </Button>\n </View>\n );\n };\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (showScanList) {\n setShowScanList(false);\n return true;\n } else {\n setShowUnscannedShipmentModal(true);\n // props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [showScanList])\n );\n\n useEffect(() => {\n if (showScanList) {\n props.navigation.setOptions({\n title: 'Summary',\n });\n } else {\n props.navigation.setOptions({\n title: `${props.title}`,\n });\n }\n }, [showScanList]);\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n if (!showScanner) {\n timeout = setTimeout(() => {\n setShowScanner(true);\n }, 500);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [showScanner]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n const _scanOutput = {\n ['default']: { output, count: shipmentCount.totalCount },\n };\n props.onSubmitET(_scanOutput);\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n // TODO: Modify to Modal Widget\n const renderUnscannedShipmentModal = () => {\n return (\n <Portal>\n <Modal\n visible={showUnscannedShipmentModal}\n dismissable={true}\n contentContainerStyle={[\n styles.modalContent,\n { marginStart: 40, marginEnd: 40 },\n ]}\n >\n <View style={styles.modalView}>\n <View\n style={{\n justifyContent: 'center',\n alignItems: 'center',\n marginBottom: 10,\n }}\n >\n <AntDesign name=\"exclamationcircleo\" size={40} color=\"#D97706\" />\n </View>\n <Text style={styles.titleText}>{'Exit scan flow?'}</Text>\n <Text\n style={[\n styles.unscannedShipmentModalSubText,\n { textAlign: 'center' },\n ]}\n >\n {'All the progress made will be lost'}\n </Text>\n\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={{ ...CommonStyles.nextButton, marginTop: 20 }}\n uppercase={false}\n onPress={() => setShowUnscannedShipmentModal(false)}\n >\n Continue Scanning\n </Button>\n <TouchableOpacity\n style={{\n ...CommonStyles.cancelButton,\n marginTop: 10,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n\n // Trigger Scan Removal Event\n await resetObjective(props);\n\n // Clear Scan\n await Promise.all([\n clearScanOutput(prefixedMergedObjectiveId),\n DispatchExecutor.removeShipment(prefixedMergedObjectiveId),\n ]);\n\n props.navigation.goBack();\n }}\n >\n <Text style={CommonStyles.cancelButtonLabel}>Exit Scan Flow</Text>\n </TouchableOpacity>\n </View>\n </Modal>\n </Portal>\n );\n };\n\n const renderShipmentCount = () => {\n return (\n <View\n style={{\n justifyContent: 'flex-end',\n marginStart: 10,\n marginEnd: 10,\n marginBottom: 10,\n }}\n >\n {isMultiObjectiveEnable ||\n props.scanMode === 'SINGLE' ||\n props.validation.selectedIndex === 0 ||\n props.scanCountLimit ? (\n <Text>{`${shipmentCount.scannedCount}/${shipmentCount.totalCount} shipments scanned.`}</Text>\n ) : props.validation.selectedIndex === 1 ||\n props.validation.selectedIndex === 2 ? (\n <Text>{`${shipmentCount.scannedCount} shipments scanned.`}</Text>\n ) : null}\n </View>\n );\n };\n\n if (showScanList) {\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n <SummaryPage\n ercSelector={props.ercSelector || []}\n eventCodeItems={eventCodeItems ?? []}\n handleSubmitET={handleSubmitET}\n shipmentCount={shipmentCount}\n updateShipmentCount={updateShipmentCount}\n scanProps={props}\n mergedScanETOutput={mergedScanETOutput}\n />\n </View>\n </Provider>\n );\n } else {\n return (\n <Provider>\n <View style={CommonStyles.mainContainer}>\n {renderModal()}\n {renderUnscannedShipmentModal()}\n <ProgressDialog visible={showProgress} label={PLEASE_WAIT} />\n <View style={{ flex: 1 }}>\n {props.ercSelector && (\n <View style={{ marginHorizontal: 16, marginBottom: 30 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={selectedEventCode}\n items={eventCodeItems ?? []}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setSelectedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 16 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={selectedReason}\n disabled={\n !reasonItems || !reasonItems?.length ? true : false\n }\n items={reasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setSelectedReason(reasonItem);\n }}\n />\n </View>\n </View>\n )}\n <View style={styles.addShipmentStyle}>\n <Text style={styles.toggleText}>Use camera for scanning</Text>\n <ToggleSwitch\n onColor=\"#5B80F7\"\n offColor=\"#E0E3EB\"\n isOn={showCamera}\n onToggle={() => setShowCamera(!showCamera)}\n />\n </View>\n <View\n style={\n showCamera\n ? [styles.cameraContainer, { backgroundColor: '#000' }]\n : styles.cameraContainer\n }\n >\n {showCamera && showScanner ? (\n <CScanner\n barCodeTypes={getBarCodeTypes(props)}\n onScanned={_handleBarCodeScanned}\n />\n ) : (\n <>\n <View style={styles.scanIcon}>\n <ScanIcon />\n <Text\n style={{\n color: '#A3AAC2',\n fontFamily: Fonts.IBMPlexSans_500Medium,\n fontSize: 14,\n fontStyle: 'normal',\n fontWeight: '500',\n }}\n >\n Enter manually or use barcode scanner\n </Text>\n </View>\n <View style={styles.addShipmentStyle}>\n <TextInput\n returnKeyType={'done'}\n ref={refInput}\n onSubmitEditing={async () => {\n setScannedInput(scanText);\n }}\n value={scanText}\n onChangeText={setScanText}\n style={{\n borderColor: '#5B80F7',\n borderWidth: 1,\n borderRadius: 6,\n paddingVertical: 9,\n paddingHorizontal: 13,\n marginEnd: 20,\n flex: 1,\n fontSize: 16,\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n color: '#A3AAC2',\n }}\n placeholder={'Enter Shipment ID'}\n />\n <TouchableOpacity\n style={{\n borderColor: '#E0E3EB',\n borderWidth: 1,\n borderRadius: 6,\n paddingVertical: 9,\n paddingHorizontal: 17,\n alignSelf: 'center',\n justifyContent: 'center',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setScannedInput(scanText);\n }}\n >\n <Text\n style={{\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_500Medium,\n color: '#3D445C',\n }}\n >\n {'Apply'}\n </Text>\n </TouchableOpacity>\n </View>\n </>\n )}\n </View>\n </View>\n <View style={{ justifyContent: 'flex-end' }}>\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n customBottom={20}\n />\n </View>\n <View style={styles.bottomView}>\n {renderShipmentCount()}\n {renderActionButtons()}\n </View>\n </View>\n </Provider>\n );\n }\n};\n\nexport default ScanET;\n\nconst styles = StyleSheet.create({\n cameraContainer: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: -1,\n },\n addShipmentStyle: {\n marginVertical: 24,\n marginHorizontal: 16,\n flexDirection: 'row',\n justifyContent: 'space-between',\n zIndex: -1,\n },\n bottomView: {\n paddingBottom: 16,\n justifyContent: 'flex-end',\n marginVertical: 10,\n marginHorizontal: 16,\n },\n addButtonLabel: {\n color: '#3D445C',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 20,\n letterSpacing: 1.56,\n textAlign: 'center',\n fontStyle: 'normal',\n },\n centerView: {\n flex: 1,\n justifyContent: 'center',\n alignContent: 'center',\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n titleText: {\n justifyContent: 'center',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontStyle: 'normal',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n color: '#111111',\n marginBottom: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n bottomButtons: {\n justifyContent: 'space-between',\n flexDirection: 'row',\n marginTop: 8,\n },\n unscannedShipmentModalSubText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n color: '#000000',\n marginBottom: 10,\n },\n modalDefaultERCStyle: {\n color: '#A3AAC2',\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n },\n toggleText: {\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_500Medium,\n color: '#3D445C',\n },\n scanIcon: {\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNativeSvg = require("react-native-svg");
9
+ var _reactNative = require("react-native");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const ScanIcon = props => {
12
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Svg, {
13
+ width: props.width || '80',
14
+ height: props.height || '80',
15
+ viewBox: "0 0 80 80",
16
+ fill: "none"
17
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Path, {
18
+ d: "M30.8889 25.2222C29.9417 25.2222 29.1667 25.9972 29.1667 26.9445V51.0556C29.1667 52.0028 29.9417 52.7778 30.8889 52.7778C31.8361 52.7778 32.6111 52.0028 32.6111 51.0556V26.9445C32.6111 25.9972 31.8361 25.2222 30.8889 25.2222ZM55 52.7778C55.952 52.7778 56.7222 52.0076 56.7222 51.1524V27.0413C56.7222 25.9972 55.9472 25.2222 55 25.2222C54.0528 25.2222 53.2778 25.9972 53.2778 26.9445V51.0556C53.2778 52.0028 54.0528 52.7778 55 52.7778ZM37.7778 25.2222C36.8306 25.2222 36.0556 25.9972 36.0556 26.9445V51.0556C36.0556 52.0028 36.8306 52.7778 37.7778 52.7778C38.725 52.7778 39.5 52.0075 39.5 51.0556V26.9445C39.5 25.9972 38.725 25.2222 37.7778 25.2222ZM46.3889 25.2222C45.4369 25.2222 44.6667 25.9925 44.6667 26.9445V51.0556C44.6667 52.0075 45.4369 52.7778 46.3889 52.7778C47.3408 52.7778 48.1111 52.0075 48.1111 51.0556V26.9445C48.1111 25.9972 47.3361 25.2222 46.3889 25.2222ZM24 25.2222C23.0528 25.2222 22.2778 25.9972 22.2778 26.9445V51.0556C22.2778 52.0028 23.0528 52.7778 24 52.7778C24.9472 52.7778 25.7222 52.0028 25.7222 51.0556V26.9445C25.7222 25.9972 24.9472 25.2222 24 25.2222ZM24 11.4445H10.2222C9.27026 11.4445 8.5 12.2147 8.5 13.1667V26.9445C8.5 27.8917 9.27026 28.6667 10.2222 28.6667C11.1742 28.6667 11.9444 27.8917 11.9444 26.9445V14.8889H24C24.9472 14.8889 25.7222 14.1182 25.7222 13.1667C25.7222 12.2152 24.9472 11.4445 24 11.4445ZM68.7778 11.4445H55C54.0528 11.4445 53.2778 12.2147 53.2778 13.1667C53.2778 14.1186 54.0528 14.8889 55 14.8889H67.0556V26.9445C67.0556 27.8917 67.8306 28.6667 68.7778 28.6667C69.725 28.6667 70.5 27.8917 70.5 26.9445V13.1667C70.5 12.2147 69.725 11.4445 68.7778 11.4445ZM68.7778 49.3334C67.8258 49.3334 67.0556 50.1036 67.0556 51.0556V63.1111H55C54.048 63.1111 53.2778 63.8814 53.2778 64.8334C53.2778 65.7853 54.048 66.5556 55 66.5556H68.7778C69.7297 66.5556 70.5 65.7853 70.5 64.8334V51.0556C70.5 50.1083 69.725 49.3334 68.7778 49.3334ZM24 63.1111H11.9444V51.0556C11.9444 50.1083 11.1737 49.3334 10.2222 49.3334C9.27069 49.3334 8.5 50.1083 8.5 51.0556V64.8334C8.5 65.7806 9.27026 66.5556 10.2222 66.5556H24C24.9472 66.5556 25.7222 65.7806 25.7222 64.8334C25.7222 63.8861 24.9472 63.1111 24 63.1111Z",
19
+ fill: props.fill || '#5B80F7'
20
+ })));
21
+ };
22
+ var _default = ScanIcon;
23
+ exports.default = _default;
24
+ //# sourceMappingURL=ScanIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_reactNative","obj","__esModule","default","ScanIcon","props","createElement","View","Svg","width","height","viewBox","fill","Path","d","_default","exports"],"sources":["ScanIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './interface';\nimport { Path, Svg } from 'react-native-svg';\nimport { View } from 'react-native';\n\nconst ScanIcon = (props: IconProps) => {\n return (\n <View>\n <Svg\n width={props.width || '80'}\n height={props.height || '80'}\n viewBox=\"0 0 80 80\"\n fill=\"none\"\n >\n <Path\n d=\"M30.8889 25.2222C29.9417 25.2222 29.1667 25.9972 29.1667 26.9445V51.0556C29.1667 52.0028 29.9417 52.7778 30.8889 52.7778C31.8361 52.7778 32.6111 52.0028 32.6111 51.0556V26.9445C32.6111 25.9972 31.8361 25.2222 30.8889 25.2222ZM55 52.7778C55.952 52.7778 56.7222 52.0076 56.7222 51.1524V27.0413C56.7222 25.9972 55.9472 25.2222 55 25.2222C54.0528 25.2222 53.2778 25.9972 53.2778 26.9445V51.0556C53.2778 52.0028 54.0528 52.7778 55 52.7778ZM37.7778 25.2222C36.8306 25.2222 36.0556 25.9972 36.0556 26.9445V51.0556C36.0556 52.0028 36.8306 52.7778 37.7778 52.7778C38.725 52.7778 39.5 52.0075 39.5 51.0556V26.9445C39.5 25.9972 38.725 25.2222 37.7778 25.2222ZM46.3889 25.2222C45.4369 25.2222 44.6667 25.9925 44.6667 26.9445V51.0556C44.6667 52.0075 45.4369 52.7778 46.3889 52.7778C47.3408 52.7778 48.1111 52.0075 48.1111 51.0556V26.9445C48.1111 25.9972 47.3361 25.2222 46.3889 25.2222ZM24 25.2222C23.0528 25.2222 22.2778 25.9972 22.2778 26.9445V51.0556C22.2778 52.0028 23.0528 52.7778 24 52.7778C24.9472 52.7778 25.7222 52.0028 25.7222 51.0556V26.9445C25.7222 25.9972 24.9472 25.2222 24 25.2222ZM24 11.4445H10.2222C9.27026 11.4445 8.5 12.2147 8.5 13.1667V26.9445C8.5 27.8917 9.27026 28.6667 10.2222 28.6667C11.1742 28.6667 11.9444 27.8917 11.9444 26.9445V14.8889H24C24.9472 14.8889 25.7222 14.1182 25.7222 13.1667C25.7222 12.2152 24.9472 11.4445 24 11.4445ZM68.7778 11.4445H55C54.0528 11.4445 53.2778 12.2147 53.2778 13.1667C53.2778 14.1186 54.0528 14.8889 55 14.8889H67.0556V26.9445C67.0556 27.8917 67.8306 28.6667 68.7778 28.6667C69.725 28.6667 70.5 27.8917 70.5 26.9445V13.1667C70.5 12.2147 69.725 11.4445 68.7778 11.4445ZM68.7778 49.3334C67.8258 49.3334 67.0556 50.1036 67.0556 51.0556V63.1111H55C54.048 63.1111 53.2778 63.8814 53.2778 64.8334C53.2778 65.7853 54.048 66.5556 55 66.5556H68.7778C69.7297 66.5556 70.5 65.7853 70.5 64.8334V51.0556C70.5 50.1083 69.725 49.3334 68.7778 49.3334ZM24 63.1111H11.9444V51.0556C11.9444 50.1083 11.1737 49.3334 10.2222 49.3334C9.27069 49.3334 8.5 50.1083 8.5 51.0556V64.8334C8.5 65.7806 9.27026 66.5556 10.2222 66.5556H24C24.9472 66.5556 25.7222 65.7806 25.7222 64.8334C25.7222 63.8861 24.9472 63.1111 24 63.1111Z\"\n fill={props.fill || '#5B80F7'}\n />\n </Svg>\n </View>\n );\n};\n\nexport default ScanIcon;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAAoC,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,QAAQ,GAAIC,KAAgB,IAAK;EACrC,oBACET,MAAA,CAAAO,OAAA,CAAAG,aAAA,CAACN,YAAA,CAAAO,IAAI,qBACHX,MAAA,CAAAO,OAAA,CAAAG,aAAA,CAACP,eAAA,CAAAS,GAAG;IACFC,KAAK,EAAEJ,KAAK,CAACI,KAAK,IAAI,IAAK;IAC3BC,MAAM,EAAEL,KAAK,CAACK,MAAM,IAAI,IAAK;IAC7BC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC;EAAM,gBAEXhB,MAAA,CAAAO,OAAA,CAAAG,aAAA,CAACP,eAAA,CAAAc,IAAI;IACHC,CAAC,EAAC,gmEAAgmE;IAClmEF,IAAI,EAAEP,KAAK,CAACO,IAAI,IAAI;EAAU,CAC/B,CACE,CACD,CAAC;AAEX,CAAC;AAAC,IAAAG,QAAA,GAEaX,QAAQ;AAAAY,OAAA,CAAAb,OAAA,GAAAY,QAAA"}
@@ -25,6 +25,8 @@ import { BULK_DATA_LIMIT } from '../../../manager/syncmanager/constants';
25
25
  import { AntDesign } from '@expo/vector-icons';
26
26
  import GoBackModal from '../../../components/widgets/GoBackModal';
27
27
  import { hasGoBackConnector } from '../../../components/utils';
28
+ import ToggleSwitch from 'toggle-switch-react-native';
29
+ import ScanIcon from '../../../icons/ScanIcon';
28
30
 
29
31
  /**
30
32
  *
@@ -54,6 +56,7 @@ const ScanET = props => {
54
56
  const [showScanList, setShowScanList] = useState(false); // To show shipments List
55
57
  const [showProgress, setShowProgress] = useState(false); // To pause implementation while a barcode was scanned
56
58
  const [showScanner, setShowScanner] = useState(true); // To show the barcode scanner on screen and refresh on successful scan
59
+ const [showCamera, setShowCamera] = useState(true);
57
60
  const [scanText, setScanText] = useState(''); // Show scan text
58
61
  const [snackBar, setSnackBar] = useState({
59
62
  show: false,
@@ -132,21 +135,6 @@ const ScanET = props => {
132
135
  props.showProgress(false);
133
136
  }
134
137
  }, [isScreenLoaded]);
135
-
136
- // const [defaultERCLabel, setDefaultERCLabel] = useState({
137
- // eventCode: '',
138
- // reasonCode: '',
139
- // });
140
- // const fetchLabel = async () => {
141
- // const { eventCode, reasonCode } = await getDefaultERCLabel(
142
- // props.defaultERC
143
- // );
144
- // setDefaultERCLabel({ eventCode, reasonCode });
145
- // };
146
- // useEffect(() => {
147
- // fetchLabel();
148
- // }, [props.defaultERC]);
149
-
150
138
  useLayoutEffect(() => {
151
139
  props.navigation.setOptions({
152
140
  title: props.title,
@@ -182,11 +170,18 @@ const ScanET = props => {
182
170
  })();
183
171
  }, [selectedEventCode === null || selectedEventCode === void 0 ? void 0 : selectedEventCode.code]);
184
172
  useEffect(() => {
173
+ var _refInput$current;
185
174
  scannedInput && (async () => {
186
175
  await addScans();
187
176
  setScannedInput('');
177
+ setScanText('');
188
178
  })();
179
+ if (refInput) (_refInput$current = refInput.current) === null || _refInput$current === void 0 ? void 0 : _refInput$current.focus();
189
180
  }, [scannedInput]);
181
+ useEffect(() => {
182
+ var _refInput$current2;
183
+ if (!showCamera && refInput) (_refInput$current2 = refInput.current) === null || _refInput$current2 === void 0 ? void 0 : _refInput$current2.focus();
184
+ }, [showCamera]);
190
185
  const handleSubmitET = async (status, count, erc) => {
191
186
  if (status === PROCEED_STATUS.DELIVER_LATER) {
192
187
  if (shipmentCount.scannedCount === 0) {
@@ -345,6 +340,7 @@ const ScanET = props => {
345
340
  });
346
341
  }
347
342
  } catch (error) {
343
+ setScanText('');
348
344
  if (props.exitOnError) {
349
345
  setShowProgress(false);
350
346
  const etOutput = await getScanETOutput(mergedScanETOutput, props.mergedObjectiveId, eventCodeItems || [], props.defaultERC, DeliverState.CANCELLED, false, 0);
@@ -357,6 +353,7 @@ const ScanET = props => {
357
353
  }
358
354
  }
359
355
  } else {
356
+ setScanText('');
360
357
  if (props.exitOnError) {
361
358
  setShowProgress(false);
362
359
  const etOutput = await getScanETOutput(mergedScanETOutput, props.mergedObjectiveId, eventCodeItems || [], props.defaultERC, DeliverState.CANCELLED, false, 0);
@@ -540,7 +537,8 @@ const ScanET = props => {
540
537
  }
541
538
  }, props.ercSelector && /*#__PURE__*/React.createElement(View, {
542
539
  style: {
543
- marginHorizontal: 16
540
+ marginHorizontal: 16,
541
+ marginBottom: 30
544
542
  }
545
543
  }, /*#__PURE__*/React.createElement(View, {
546
544
  style: {
@@ -573,6 +571,32 @@ const ScanET = props => {
573
571
  }
574
572
  }))), /*#__PURE__*/React.createElement(View, {
575
573
  style: styles.addShipmentStyle
574
+ }, /*#__PURE__*/React.createElement(Text, {
575
+ style: styles.toggleText
576
+ }, "Use camera for scanning"), /*#__PURE__*/React.createElement(ToggleSwitch, {
577
+ onColor: "#5B80F7",
578
+ offColor: "#E0E3EB",
579
+ isOn: showCamera,
580
+ onToggle: () => setShowCamera(!showCamera)
581
+ })), /*#__PURE__*/React.createElement(View, {
582
+ style: showCamera ? [styles.cameraContainer, {
583
+ backgroundColor: '#000'
584
+ }] : styles.cameraContainer
585
+ }, showCamera && showScanner ? /*#__PURE__*/React.createElement(CScanner, {
586
+ barCodeTypes: getBarCodeTypes(props),
587
+ onScanned: _handleBarCodeScanned
588
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
589
+ style: styles.scanIcon
590
+ }, /*#__PURE__*/React.createElement(ScanIcon, null), /*#__PURE__*/React.createElement(Text, {
591
+ style: {
592
+ color: '#A3AAC2',
593
+ fontFamily: Fonts.IBMPlexSans_500Medium,
594
+ fontSize: 14,
595
+ fontStyle: 'normal',
596
+ fontWeight: '500'
597
+ }
598
+ }, "Enter manually or use barcode scanner")), /*#__PURE__*/React.createElement(View, {
599
+ style: styles.addShipmentStyle
576
600
  }, /*#__PURE__*/React.createElement(TextInput, {
577
601
  returnKeyType: 'done',
578
602
  ref: refInput,
@@ -582,24 +606,27 @@ const ScanET = props => {
582
606
  value: scanText,
583
607
  onChangeText: setScanText,
584
608
  style: {
585
- borderBottomColor: '#DDDDDD',
586
- borderBottomWidth: 1,
609
+ borderColor: '#5B80F7',
610
+ borderWidth: 1,
611
+ borderRadius: 6,
612
+ paddingVertical: 9,
613
+ paddingHorizontal: 13,
587
614
  marginEnd: 20,
588
615
  flex: 1,
589
616
  fontSize: 16,
590
617
  fontFamily: Fonts.IBMPlexSans_600SemiBold,
591
- color: '#CECECE'
618
+ color: '#A3AAC2'
592
619
  },
593
620
  placeholder: 'Enter Shipment ID'
594
621
  }), /*#__PURE__*/React.createElement(TouchableOpacity, {
595
622
  style: {
596
- alignSelf: 'center',
597
- justifyContent: 'center',
598
- paddingVertical: 9,
599
- paddingHorizontal: 17,
623
+ borderColor: '#E0E3EB',
600
624
  borderWidth: 1,
601
625
  borderRadius: 6,
602
- borderColor: '#E0E3EB'
626
+ paddingVertical: 9,
627
+ paddingHorizontal: 17,
628
+ alignSelf: 'center',
629
+ justifyContent: 'center'
603
630
  },
604
631
  onPress: async () => {
605
632
  setSnackBar({
@@ -613,15 +640,9 @@ const ScanET = props => {
613
640
  style: {
614
641
  fontSize: 14,
615
642
  fontFamily: Fonts.IBMPlexSans_500Medium,
616
- lineHeight: 20,
617
643
  color: '#3D445C'
618
644
  }
619
- }, 'APPLY'))), /*#__PURE__*/React.createElement(View, {
620
- style: styles.cameraContainer
621
- }, showScanner ? /*#__PURE__*/React.createElement(CScanner, {
622
- barCodeTypes: getBarCodeTypes(props),
623
- onScanned: _handleBarCodeScanned
624
- }) : null)), /*#__PURE__*/React.createElement(View, {
645
+ }, 'Apply')))))), /*#__PURE__*/React.createElement(View, {
625
646
  style: {
626
647
  justifyContent: 'flex-end'
627
648
  }
@@ -646,16 +667,15 @@ export default ScanET;
646
667
  const styles = StyleSheet.create({
647
668
  cameraContainer: {
648
669
  flex: 1,
649
- backgroundColor: '#000',
650
670
  justifyContent: 'center',
651
671
  alignItems: 'center',
652
672
  zIndex: -1
653
673
  },
654
674
  addShipmentStyle: {
655
- marginTop: 32,
656
- marginBottom: 10,
675
+ marginVertical: 24,
657
676
  marginHorizontal: 16,
658
677
  flexDirection: 'row',
678
+ justifyContent: 'space-between',
659
679
  zIndex: -1
660
680
  },
661
681
  bottomView: {
@@ -730,6 +750,15 @@ const styles = StyleSheet.create({
730
750
  color: '#A3AAC2',
731
751
  fontSize: 14,
732
752
  fontFamily: Fonts.IBMPlexSans_400Regular
753
+ },
754
+ toggleText: {
755
+ fontSize: 14,
756
+ fontFamily: Fonts.IBMPlexSans_500Medium,
757
+ color: '#3D445C'
758
+ },
759
+ scanIcon: {
760
+ justifyContent: 'center',
761
+ alignItems: 'center'
733
762
  }
734
763
  });
735
764
  //# sourceMappingURL=ScanET.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","StyleSheet","TextInput","TouchableOpacity","BackHandler","React","useEffect","useRef","useState","useLayoutEffect","DeliverState","CommonStyles","Fonts","ProgressDialog","PLEASE_WAIT","CScanner","checkForValidation","clearScanOutput","getBarCodeTypes","getErrorMessage","getEventType","getScanETOutput","getScanMappedOutput","getSplitIds","getUpdatedScanETOutput","resetObjective","triggerScanEvent","updateSharedPreference","SnackBarCustom","SnackBarType","Button","Modal","Portal","Provider","useFocusEffect","isEmptyOrBlank","PROCEED_STATUS","getBaseETResponse","EntityCode","ExecutionTaskID","EMPTY_AWB","ER_MISSING","INVALID_SHIPMENT","ERDropDown","getErcDropDownItems","GO_BACK_EVENT_CODE","Icon","DispatchExecutor","SummaryPage","RouteParams","BULK_DATA_LIMIT","AntDesign","GoBackModal","hasGoBackConnector","ScanET","props","_props$wfMeta","_props$additionalMult","_props$meta","prefixedMergedObjectiveId","route","params","ROOT_META_DATA","isScreenLoaded","setIsScreenLoaded","ercSelectorLoaded","shipmentCountLoaded","previousDataLoaded","isErcSelector","ercSelector","isMultiObjectiveEnable","wfMeta","enableMultiObjectiveFlow","allowMultiObjectivePartial","additionalMultiConfig","validationType","SINGLE_MODE_COUNT","meta","singleModeCount","showScanList","setShowScanList","showProgress","setShowProgress","showScanner","setShowScanner","scanText","setScanText","snackBar","setSnackBar","show","type","SUCCESS","message","scansMap","setScansMap","Map","scannedInput","setScannedInput","refInput","selectedReason","setSelectedReason","selectedEventCode","setSelectedEventCode","reasonItems","setReasonItems","eventCodeItems","setEventCodeItems","showBackModal","setShowBackModal","showUnscannedShipmentModal","setShowUnscannedShipmentModal","shipmentCount","setShipmentCount","scannedCount","totalCount","mergedScanETOutput","setMergedScanETOutput","fetchShipmentCount","_shipmentCount","getScannedShipmentsCount","mergedObjectiveId","error","fetchPreviousScannedData","scanOutput","fetchERC","response","fetchAllData","Promise","all","navigation","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","name","color","size","style","paddingRight","paddingTop","code","length","undefined","addScans","handleSubmitET","status","count","erc","DELIVER_LATER","goBack","etOutput","defaultERC","DELIVERE_LATER","onSubmitET","eventCode","ec","reasonCode","rc","DELIVER_NOW","hasNextPage","offset","limit","scans","data","scannedData","filterWFIData","taskName","forEach","scan","push","groupId","displayInfo","jobId","shipmentFlow","scanValue","scannableId","output","_handleBarCodeScanned","updateShipmentCount","scannedCountChanged","totalCountChanged","arguments","currentIds","Set","FAILURE","replace","isValidated","validation","eventType","result","updateWIMapping","scanToMerge","subTitle","WARNING","_scanOutput","isScan","scanId","mwId","scanned","total","exitOnError","CANCELLED","renderActionButtons","labelStyle","nextButtonLabel","nextButton","uppercase","useCallback","onBackPress","addEventListener","removeEventListener","timeout","setTimeout","clearTimeout","renderModal","showModal","setShowModal","onSuccess","SCAN","onFailure","renderUnscannedShipmentModal","visible","dismissable","contentContainerStyle","styles","modalContent","marginStart","marginEnd","modalView","justifyContent","alignItems","marginBottom","titleText","unscannedShipmentModalSubText","textAlign","marginTop","cancelButton","height","borderRadius","removeShipment","cancelButtonLabel","renderShipmentCount","scanMode","selectedIndex","scanCountLimit","mainContainer","scanProps","label","flex","marginHorizontal","items","onItemChange","eventItem","marginVertical","disabled","reasonItem","addShipmentStyle","returnKeyType","ref","onSubmitEditing","value","onChangeText","borderBottomColor","borderBottomWidth","fontSize","fontFamily","IBMPlexSans_600SemiBold","placeholder","alignSelf","paddingVertical","paddingHorizontal","borderWidth","borderColor","IBMPlexSans_500Medium","lineHeight","cameraContainer","barCodeTypes","onScanned","onDismiss","customBottom","bottomView","create","backgroundColor","zIndex","flexDirection","paddingBottom","addButtonLabel","fontWeight","letterSpacing","fontStyle","centerView","alignContent","padding","subText","bottomButtons","modalDefaultERCStyle","IBMPlexSans_400Regular"],"sources":["ScanET.tsx"],"sourcesContent":["import {\n View,\n Text,\n StyleSheet,\n TextInput,\n TouchableOpacity,\n BackHandler,\n} from 'react-native';\nimport React, { useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { DeliverState, type ScannerInput } from './ScanSchema';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport ProgressDialog from '../../widgets/ProgressDialog';\nimport { PLEASE_WAIT } from '../../../res/strings';\nimport CScanner from './sub_components/CScanner';\nimport {\n checkForValidation,\n clearScanOutput,\n getBarCodeTypes,\n getErrorMessage,\n getEventType,\n getScanETOutput,\n getScanMappedOutput,\n getScannedItemCount,\n getShipmentData,\n getSplitIds,\n getUpdatedScanETOutput,\n isETCompleted,\n isReplacement,\n resetObjective,\n triggerScanEvent,\n updatePendingSharedPreference,\n updateSharedPreference,\n} from './utils';\nimport SnackBarCustom, { SnackBarType } from '../../widgets/SnackBarCustom';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BlindScan,\n MergedScan,\n PROCEED_STATUS,\n SCAN_STATUS,\n} from './interfaces';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n ADD_SHIPMENT,\n EMPTY_AWB,\n ER_MISSING,\n INVALID_SHIPMENT,\n MAX_SHIPMENT_REACHED,\n SHIPMENT_ALREADY_ADDED,\n} from './constants';\nimport ERDropDown, { ercItem } from './sub_components/ERDropDown';\nimport {\n getDefaultERCLabel,\n getErcDropDownItems,\n} from './sub_components/DropDownUtils';\nimport {\n GO_BACK_EVENT_CODE,\n REASON_NOT_USED,\n} from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport type { ScannerOutput } from './ScanSchema';\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport SummaryPage from './sub_components/SummaryPage';\nimport { RouteParams } from '../../../ui/uiConfig/RouteParams';\nimport { BULK_DATA_LIMIT } from '../../../manager/syncmanager/constants';\nimport { AntDesign } from '@expo/vector-icons';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { hasGoBackConnector } from '../../../components/utils';\n\n/**\n *\n * @param props interface ScannerInput\n * @returns JSX\n *\n * props has key validation which defines different UI cases\n * validation: interface Validation\n *\n * when validation.selectedIndex === 0 => Receives validation.logic as array of scans\n * when validation.selectedIndex === 1 => Receives validation.logic as validation regex\n * when validation.selectedIndex === 0 => Receives validation.logic as API\n */\n\nconst ScanET = (props: ScannerInput) => {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n const [isScreenLoaded, setIsScreenLoaded] = useState({\n ercSelectorLoaded: false,\n shipmentCountLoaded: false,\n previousDataLoaded: false,\n });\n const isErcSelector = props.ercSelector ? true : false;\n const isMultiObjectiveEnable = props.wfMeta?.enableMultiObjectiveFlow;\n const allowMultiObjectivePartial =\n (isMultiObjectiveEnable === true &&\n props.additionalMultiConfig?.validationType === 'SUBSET_OF_LIST') ||\n false;\n\n const SINGLE_MODE_COUNT: number = props.meta?.singleModeCount || 1;\n const [showScanList, setShowScanList] = useState(false); // To show shipments List\n const [showProgress, setShowProgress] = useState(false); // To pause implementation while a barcode was scanned\n const [showScanner, setShowScanner] = useState(true); // To show the barcode scanner on screen and refresh on successful scan\n const [scanText, setScanText] = useState(''); // Show scan text\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n\n /**\n * scansMap: is used to add the scanned shipment related data on each scan.\n * scansMap data structure (MergedScan) is the same format as the output of scanET alongwith jobId,\n * which is used to create the final output of the ET and pass the scanned id to each merged objective.\n */\n\n const [scansMap, setScansMap] = useState<Map<string, MergedScan>>(new Map());\n\n const [scannedInput, setScannedInput] = useState<string>(''); // state to capture scan\n const refInput = useRef<TextInput>(null);\n const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector\n const [selectedEventCode, setSelectedEventCode] = useState<ercItem>(); // reason code from ercSelector\n const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes\n const [eventCodeItems, setEventCodeItems] = useState<ercItem[]>(); // list of event codes\n\n const [showBackModal, setShowBackModal] = useState(false);\n const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =\n useState(false);\n\n const [shipmentCount, setShipmentCount] = useState({\n scannedCount: 0,\n totalCount: 0,\n });\n const [mergedScanETOutput, setMergedScanETOutput] = useState<ScannerOutput>(\n {}\n );\n\n const fetchShipmentCount = async () => {\n try {\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n props.mergedObjectiveId\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n } catch (error) {}\n };\n\n const fetchPreviousScannedData = async () => {\n try {\n const scanOutput = (await getScanMappedOutput()) || {};\n setMergedScanETOutput(scanOutput[prefixedMergedObjectiveId] || {});\n } catch (error) {}\n };\n\n const fetchERC = async () => {\n if (props.ercSelector) {\n try {\n let response = await getErcDropDownItems(\n 'EVENT',\n props.ercSelector || []\n );\n setEventCodeItems(response);\n setSelectedEventCode(response[0]);\n } catch (error) {}\n }\n };\n\n const fetchAllData = async () => {\n try {\n await Promise.all([\n fetchERC(),\n fetchPreviousScannedData(),\n fetchShipmentCount(),\n ]);\n } catch (error) {\n } finally {\n setIsScreenLoaded({\n ercSelectorLoaded: true,\n previousDataLoaded: true,\n shipmentCountLoaded: true,\n });\n }\n };\n\n useEffect(() => {\n fetchAllData();\n }, []);\n\n useEffect(() => props.showProgress(true), []);\n useEffect(() => {\n if (\n isScreenLoaded.ercSelectorLoaded &&\n isScreenLoaded.previousDataLoaded &&\n isScreenLoaded.shipmentCountLoaded\n ) {\n props.showProgress(false);\n }\n }, [isScreenLoaded]);\n\n // const [defaultERCLabel, setDefaultERCLabel] = useState({\n // eventCode: '',\n // reasonCode: '',\n // });\n // const fetchLabel = async () => {\n // const { eventCode, reasonCode } = await getDefaultERCLabel(\n // props.defaultERC\n // );\n // setDefaultERCLabel({ eventCode, reasonCode });\n // };\n // useEffect(() => {\n // fetchLabel();\n // }, [props.defaultERC]);\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else {\n if (showScanList) setShowScanList(false);\n else setShowUnscannedShipmentModal(true);\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, showScanList]);\n\n useEffect(() => {\n selectedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n selectedEventCode?.code\n );\n if (response.length) {\n setReasonItems(response);\n setSelectedReason(response[0]);\n } else {\n setReasonItems([]);\n setSelectedReason(undefined);\n }\n })();\n }, [selectedEventCode?.code]);\n\n useEffect(() => {\n scannedInput &&\n (async () => {\n await addScans();\n setScannedInput('');\n })();\n }, [scannedInput]);\n\n const handleSubmitET = async (\n status: PROCEED_STATUS,\n count: number,\n erc: { ec: string; rc: string } | undefined\n ) => {\n if (status === PROCEED_STATUS.DELIVER_LATER) {\n if (shipmentCount.scannedCount === 0) {\n props.navigation.goBack();\n } else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVERE_LATER,\n true,\n count\n );\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.scannedCount < shipmentCount.totalCount) {\n if (erc) {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n { eventCode: erc.ec, reasonCode: erc.rc },\n DeliverState.DELIVER_NOW,\n true,\n count\n );\n\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n const scannedData: any = [];\n do {\n scans = await DispatchExecutor.filterWFIData(\n props.taskName,\n [prefixedMergedObjectiveId],\n limit,\n offset\n );\n\n scans.data.forEach((scan) => {\n scannedData.push({\n groupId: scan.displayInfo.groupId,\n jobId: scan.jobId,\n shipmentFlow: scan.displayInfo.shipmentFlow,\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n\n triggerScanEvent(\n 'ON_SCAN',\n props.route,\n scannedData,\n etOutput['default'].output\n );\n\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n // updatePendingSharedPreference(eventType, prefixedMergedObjectiveId);\n\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.totalCount === 0) props.navigation.goBack();\n else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVER_NOW,\n false,\n count\n );\n props.onSubmitET(etOutput);\n }\n }\n }\n };\n\n const _handleBarCodeScanned = async (scan: string) => {\n if (!isEmptyOrBlank(scan)) {\n setShowScanner(false);\n setScannedInput(scan);\n }\n };\n\n const updateShipmentCount = async (\n scannedCountChanged: number,\n totalCountChanged: number,\n type: 'SCAN' | 'REMOVE' = 'SCAN'\n ) => {\n if (type === 'SCAN') {\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + scannedCountChanged,\n totalCount: _shipmentCount.totalCount + totalCountChanged,\n };\n });\n } else {\n const currentIds = [\n ...new Set([\n ...props.mergedObjectiveId,\n ...getSplitIds(mergedScanETOutput),\n prefixedMergedObjectiveId,\n ]),\n ];\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n currentIds\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n }\n };\n\n const addScans = async () => {\n const scan = scannedInput;\n if (isEmptyOrBlank(scan)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: EMPTY_AWB,\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n if (isErcSelector && (!selectedEventCode || !selectedEventCode.code)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: ER_MISSING.replace('<shipment_id>', scan),\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n setShowProgress(true);\n let isValidated = await checkForValidation(scan, props.validation);\n\n if (isValidated) {\n // NEW CODE\n try {\n const eventType = getEventType(\n eventCodeItems || [],\n selectedEventCode?.code || ''\n );\n\n const result = await DispatchExecutor.updateWIMapping(\n prefixedMergedObjectiveId,\n scan,\n {\n ec: selectedEventCode?.code || '',\n rc: selectedReason?.code || '',\n },\n props.scanToMerge || false\n );\n\n if ('data' in result) {\n const data: IDispatch.MappingUpdateResponse = result.data;\n const {\n message: { title, subTitle },\n } = data;\n if (subTitle) {\n setSnackBar({\n show: true,\n message: `#${scan}\\n${title}\\n${subTitle}`,\n type: SnackBarType.WARNING,\n });\n } else {\n setSnackBar({\n show: true,\n message: `#${scan}\\nShipment updated successfully!`,\n type: SnackBarType.SUCCESS,\n });\n }\n\n setScanText('');\n\n const _scanOutput = await getUpdatedScanETOutput(\n mergedScanETOutput,\n result,\n eventType,\n selectedEventCode?.code || '',\n selectedReason?.code || '',\n props.route,\n {\n jobId: data.jobId,\n displayInfo: data.displayInfo,\n isScan: true,\n scanId: scan,\n }\n );\n\n // UPDATE SHARED PREFERENCE\n updateSharedPreference(\n eventType,\n data.mwId,\n prefixedMergedObjectiveId\n );\n\n // UPDATE SCAN OUTPUT\n setMergedScanETOutput(_scanOutput);\n\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + data.scanned,\n totalCount: _shipmentCount.totalCount + data.total,\n };\n });\n }\n } catch (error: any) {\n if (props.exitOnError) {\n setShowProgress(false);\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n ...getErrorMessage(scan, error),\n });\n }\n }\n } else {\n if (props.exitOnError) {\n setShowProgress(false);\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n message: INVALID_SHIPMENT,\n type: SnackBarType.FAILURE,\n });\n }\n }\n\n setShowProgress(false);\n };\n\n const renderActionButtons = () => {\n // NEW CODE\n return (\n <View>\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={CommonStyles.nextButton}\n uppercase={false}\n onPress={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setShowScanList(!showScanList);\n }}\n >\n {`View Summary`}\n </Button>\n </View>\n );\n };\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (showScanList) {\n setShowScanList(false);\n return true;\n } else {\n setShowUnscannedShipmentModal(true);\n // props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [showScanList])\n );\n\n useEffect(() => {\n if (showScanList) {\n props.navigation.setOptions({\n title: 'Summary',\n });\n } else {\n props.navigation.setOptions({\n title: `${props.title}`,\n });\n }\n }, [showScanList]);\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n if (!showScanner) {\n timeout = setTimeout(() => {\n setShowScanner(true);\n }, 500);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [showScanner]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n const _scanOutput = {\n ['default']: { output, count: shipmentCount.totalCount },\n };\n props.onSubmitET(_scanOutput);\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n // TODO: Modify to Modal Widget\n const renderUnscannedShipmentModal = () => {\n return (\n <Portal>\n <Modal\n visible={showUnscannedShipmentModal}\n dismissable={true}\n contentContainerStyle={[\n styles.modalContent,\n { marginStart: 40, marginEnd: 40 },\n ]}\n >\n <View style={styles.modalView}>\n <View\n style={{\n justifyContent: 'center',\n alignItems: 'center',\n marginBottom: 10,\n }}\n >\n <AntDesign name=\"exclamationcircleo\" size={40} color=\"#D97706\" />\n </View>\n <Text style={styles.titleText}>{'Exit scan flow?'}</Text>\n <Text\n style={[\n styles.unscannedShipmentModalSubText,\n { textAlign: 'center' },\n ]}\n >\n {'All the progress made will be lost'}\n </Text>\n\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={{ ...CommonStyles.nextButton, marginTop: 20 }}\n uppercase={false}\n onPress={() => setShowUnscannedShipmentModal(false)}\n >\n Continue Scanning\n </Button>\n <TouchableOpacity\n style={{\n ...CommonStyles.cancelButton,\n marginTop: 10,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n\n // Trigger Scan Removal Event\n await resetObjective(props);\n\n // Clear Scan\n await Promise.all([\n clearScanOutput(prefixedMergedObjectiveId),\n DispatchExecutor.removeShipment(prefixedMergedObjectiveId),\n ]);\n\n props.navigation.goBack();\n }}\n >\n <Text style={CommonStyles.cancelButtonLabel}>Exit Scan Flow</Text>\n </TouchableOpacity>\n </View>\n </Modal>\n </Portal>\n );\n };\n\n const renderShipmentCount = () => {\n return (\n <View\n style={{\n justifyContent: 'flex-end',\n marginStart: 10,\n marginEnd: 10,\n marginBottom: 10,\n }}\n >\n {isMultiObjectiveEnable ||\n props.scanMode === 'SINGLE' ||\n props.validation.selectedIndex === 0 ||\n props.scanCountLimit ? (\n <Text>{`${shipmentCount.scannedCount}/${shipmentCount.totalCount} shipments scanned.`}</Text>\n ) : props.validation.selectedIndex === 1 ||\n props.validation.selectedIndex === 2 ? (\n <Text>{`${shipmentCount.scannedCount} shipments scanned.`}</Text>\n ) : null}\n </View>\n );\n };\n\n if (showScanList) {\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n <SummaryPage\n ercSelector={props.ercSelector || []}\n eventCodeItems={eventCodeItems ?? []}\n handleSubmitET={handleSubmitET}\n shipmentCount={shipmentCount}\n updateShipmentCount={updateShipmentCount}\n scanProps={props}\n mergedScanETOutput={mergedScanETOutput}\n />\n </View>\n </Provider>\n );\n } else {\n return (\n <Provider>\n <View style={CommonStyles.mainContainer}>\n {renderModal()}\n {renderUnscannedShipmentModal()}\n <ProgressDialog visible={showProgress} label={PLEASE_WAIT} />\n <View style={{ flex: 1 }}>\n {props.ercSelector && (\n <View style={{ marginHorizontal: 16 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={selectedEventCode}\n items={eventCodeItems ?? []}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setSelectedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 16 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={selectedReason}\n disabled={\n !reasonItems || !reasonItems?.length ? true : false\n }\n items={reasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setSelectedReason(reasonItem);\n }}\n />\n </View>\n </View>\n )}\n <View style={styles.addShipmentStyle}>\n <TextInput\n returnKeyType={'done'}\n ref={refInput}\n onSubmitEditing={async () => {\n setScannedInput(scanText);\n }}\n value={scanText}\n onChangeText={setScanText}\n style={{\n borderBottomColor: '#DDDDDD',\n borderBottomWidth: 1,\n marginEnd: 20,\n flex: 1,\n fontSize: 16,\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n color: '#CECECE',\n }}\n placeholder={'Enter Shipment ID'}\n />\n <TouchableOpacity\n style={{\n alignSelf: 'center',\n justifyContent: 'center',\n paddingVertical: 9,\n paddingHorizontal: 17,\n borderWidth: 1,\n borderRadius: 6,\n borderColor: '#E0E3EB',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setScannedInput(scanText);\n }}\n >\n <Text\n style={{\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_500Medium,\n lineHeight: 20,\n color: '#3D445C',\n }}\n >\n {'APPLY'}\n </Text>\n </TouchableOpacity>\n </View>\n <View style={styles.cameraContainer}>\n {showScanner ? (\n <CScanner\n barCodeTypes={getBarCodeTypes(props)}\n onScanned={_handleBarCodeScanned}\n />\n ) : null}\n </View>\n </View>\n <View style={{ justifyContent: 'flex-end' }}>\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n customBottom={20}\n />\n </View>\n <View style={styles.bottomView}>\n {renderShipmentCount()}\n {renderActionButtons()}\n </View>\n </View>\n </Provider>\n );\n }\n};\n\nexport default ScanET;\n\nconst styles = StyleSheet.create({\n cameraContainer: {\n flex: 1,\n backgroundColor: '#000',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: -1,\n },\n addShipmentStyle: {\n marginTop: 32,\n marginBottom: 10,\n marginHorizontal: 16,\n flexDirection: 'row',\n zIndex: -1,\n },\n bottomView: {\n paddingBottom: 16,\n justifyContent: 'flex-end',\n marginVertical: 10,\n marginHorizontal: 16,\n },\n addButtonLabel: {\n color: '#3D445C',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 20,\n letterSpacing: 1.56,\n textAlign: 'center',\n fontStyle: 'normal',\n },\n centerView: {\n flex: 1,\n justifyContent: 'center',\n alignContent: 'center',\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n titleText: {\n justifyContent: 'center',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontStyle: 'normal',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n color: '#111111',\n marginBottom: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n bottomButtons: {\n justifyContent: 'space-between',\n flexDirection: 'row',\n marginTop: 8,\n },\n unscannedShipmentModalSubText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n color: '#000000',\n marginBottom: 10,\n },\n modalDefaultERCStyle: {\n color: '#A3AAC2',\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","Text","StyleSheet","TextInput","TouchableOpacity","BackHandler","React","useEffect","useRef","useState","useLayoutEffect","DeliverState","CommonStyles","Fonts","ProgressDialog","PLEASE_WAIT","CScanner","checkForValidation","clearScanOutput","getBarCodeTypes","getErrorMessage","getEventType","getScanETOutput","getScanMappedOutput","getSplitIds","getUpdatedScanETOutput","resetObjective","triggerScanEvent","updateSharedPreference","SnackBarCustom","SnackBarType","Button","Modal","Portal","Provider","useFocusEffect","isEmptyOrBlank","PROCEED_STATUS","getBaseETResponse","EntityCode","ExecutionTaskID","EMPTY_AWB","ER_MISSING","INVALID_SHIPMENT","ERDropDown","getErcDropDownItems","GO_BACK_EVENT_CODE","Icon","DispatchExecutor","SummaryPage","RouteParams","BULK_DATA_LIMIT","AntDesign","GoBackModal","hasGoBackConnector","ToggleSwitch","ScanIcon","ScanET","props","_props$wfMeta","_props$additionalMult","_props$meta","prefixedMergedObjectiveId","route","params","ROOT_META_DATA","isScreenLoaded","setIsScreenLoaded","ercSelectorLoaded","shipmentCountLoaded","previousDataLoaded","isErcSelector","ercSelector","isMultiObjectiveEnable","wfMeta","enableMultiObjectiveFlow","allowMultiObjectivePartial","additionalMultiConfig","validationType","SINGLE_MODE_COUNT","meta","singleModeCount","showScanList","setShowScanList","showProgress","setShowProgress","showScanner","setShowScanner","showCamera","setShowCamera","scanText","setScanText","snackBar","setSnackBar","show","type","SUCCESS","message","scansMap","setScansMap","Map","scannedInput","setScannedInput","refInput","selectedReason","setSelectedReason","selectedEventCode","setSelectedEventCode","reasonItems","setReasonItems","eventCodeItems","setEventCodeItems","showBackModal","setShowBackModal","showUnscannedShipmentModal","setShowUnscannedShipmentModal","shipmentCount","setShipmentCount","scannedCount","totalCount","mergedScanETOutput","setMergedScanETOutput","fetchShipmentCount","_shipmentCount","getScannedShipmentsCount","mergedObjectiveId","error","fetchPreviousScannedData","scanOutput","fetchERC","response","fetchAllData","Promise","all","navigation","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","name","color","size","style","paddingRight","paddingTop","code","length","undefined","_refInput$current","addScans","current","focus","_refInput$current2","handleSubmitET","status","count","erc","DELIVER_LATER","goBack","etOutput","defaultERC","DELIVERE_LATER","onSubmitET","eventCode","ec","reasonCode","rc","DELIVER_NOW","hasNextPage","offset","limit","scans","data","scannedData","filterWFIData","taskName","forEach","scan","push","groupId","displayInfo","jobId","shipmentFlow","scanValue","scannableId","output","_handleBarCodeScanned","updateShipmentCount","scannedCountChanged","totalCountChanged","arguments","currentIds","Set","FAILURE","replace","isValidated","validation","eventType","result","updateWIMapping","scanToMerge","subTitle","WARNING","_scanOutput","isScan","scanId","mwId","scanned","total","exitOnError","CANCELLED","renderActionButtons","labelStyle","nextButtonLabel","nextButton","uppercase","useCallback","onBackPress","addEventListener","removeEventListener","timeout","setTimeout","clearTimeout","renderModal","showModal","setShowModal","onSuccess","SCAN","onFailure","renderUnscannedShipmentModal","visible","dismissable","contentContainerStyle","styles","modalContent","marginStart","marginEnd","modalView","justifyContent","alignItems","marginBottom","titleText","unscannedShipmentModalSubText","textAlign","marginTop","cancelButton","height","borderRadius","removeShipment","cancelButtonLabel","renderShipmentCount","scanMode","selectedIndex","scanCountLimit","mainContainer","scanProps","label","flex","marginHorizontal","items","onItemChange","eventItem","marginVertical","disabled","reasonItem","addShipmentStyle","toggleText","onColor","offColor","isOn","onToggle","cameraContainer","backgroundColor","barCodeTypes","onScanned","Fragment","scanIcon","fontFamily","IBMPlexSans_500Medium","fontSize","fontStyle","fontWeight","returnKeyType","ref","onSubmitEditing","value","onChangeText","borderColor","borderWidth","paddingVertical","paddingHorizontal","IBMPlexSans_600SemiBold","placeholder","alignSelf","onDismiss","customBottom","bottomView","create","zIndex","flexDirection","paddingBottom","addButtonLabel","lineHeight","letterSpacing","centerView","alignContent","padding","subText","bottomButtons","modalDefaultERCStyle","IBMPlexSans_400Regular"],"sources":["ScanET.tsx"],"sourcesContent":["import {\n View,\n Text,\n StyleSheet,\n TextInput,\n TouchableOpacity,\n BackHandler,\n} from 'react-native';\nimport React, { useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { DeliverState, type ScannerInput } from './ScanSchema';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport ProgressDialog from '../../widgets/ProgressDialog';\nimport { PLEASE_WAIT } from '../../../res/strings';\nimport CScanner from './sub_components/CScanner';\nimport {\n checkForValidation,\n clearScanOutput,\n getBarCodeTypes,\n getErrorMessage,\n getEventType,\n getScanETOutput,\n getScanMappedOutput,\n getScannedItemCount,\n getShipmentData,\n getSplitIds,\n getUpdatedScanETOutput,\n isETCompleted,\n isReplacement,\n resetObjective,\n triggerScanEvent,\n updatePendingSharedPreference,\n updateSharedPreference,\n} from './utils';\nimport SnackBarCustom, { SnackBarType } from '../../widgets/SnackBarCustom';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BlindScan,\n MergedScan,\n PROCEED_STATUS,\n SCAN_STATUS,\n} from './interfaces';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n ADD_SHIPMENT,\n EMPTY_AWB,\n ER_MISSING,\n INVALID_SHIPMENT,\n MAX_SHIPMENT_REACHED,\n SHIPMENT_ALREADY_ADDED,\n} from './constants';\nimport ERDropDown, { ercItem } from './sub_components/ERDropDown';\nimport {\n getDefaultERCLabel,\n getErcDropDownItems,\n} from './sub_components/DropDownUtils';\nimport {\n GO_BACK_EVENT_CODE,\n REASON_NOT_USED,\n} from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport type { ScannerOutput } from './ScanSchema';\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport SummaryPage from './sub_components/SummaryPage';\nimport { RouteParams } from '../../../ui/uiConfig/RouteParams';\nimport { BULK_DATA_LIMIT } from '../../../manager/syncmanager/constants';\nimport { AntDesign } from '@expo/vector-icons';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport ToggleSwitch from 'toggle-switch-react-native';\nimport ScanIcon from '../../../icons/ScanIcon';\n\n/**\n *\n * @param props interface ScannerInput\n * @returns JSX\n *\n * props has key validation which defines different UI cases\n * validation: interface Validation\n *\n * when validation.selectedIndex === 0 => Receives validation.logic as array of scans\n * when validation.selectedIndex === 1 => Receives validation.logic as validation regex\n * when validation.selectedIndex === 0 => Receives validation.logic as API\n */\n\nconst ScanET = (props: ScannerInput) => {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n const [isScreenLoaded, setIsScreenLoaded] = useState({\n ercSelectorLoaded: false,\n shipmentCountLoaded: false,\n previousDataLoaded: false,\n });\n const isErcSelector = props.ercSelector ? true : false;\n const isMultiObjectiveEnable = props.wfMeta?.enableMultiObjectiveFlow;\n const allowMultiObjectivePartial =\n (isMultiObjectiveEnable === true &&\n props.additionalMultiConfig?.validationType === 'SUBSET_OF_LIST') ||\n false;\n\n const SINGLE_MODE_COUNT: number = props.meta?.singleModeCount || 1;\n const [showScanList, setShowScanList] = useState(false); // To show shipments List\n const [showProgress, setShowProgress] = useState(false); // To pause implementation while a barcode was scanned\n const [showScanner, setShowScanner] = useState(true); // To show the barcode scanner on screen and refresh on successful scan\n const [showCamera, setShowCamera] = useState(true);\n const [scanText, setScanText] = useState(''); // Show scan text\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n\n /**\n * scansMap: is used to add the scanned shipment related data on each scan.\n * scansMap data structure (MergedScan) is the same format as the output of scanET alongwith jobId,\n * which is used to create the final output of the ET and pass the scanned id to each merged objective.\n */\n\n const [scansMap, setScansMap] = useState<Map<string, MergedScan>>(new Map());\n\n const [scannedInput, setScannedInput] = useState<string>(''); // state to capture scan\n const refInput = useRef<TextInput>(null);\n const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector\n const [selectedEventCode, setSelectedEventCode] = useState<ercItem>(); // reason code from ercSelector\n const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes\n const [eventCodeItems, setEventCodeItems] = useState<ercItem[]>(); // list of event codes\n\n const [showBackModal, setShowBackModal] = useState(false);\n const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =\n useState(false);\n\n const [shipmentCount, setShipmentCount] = useState({\n scannedCount: 0,\n totalCount: 0,\n });\n const [mergedScanETOutput, setMergedScanETOutput] = useState<ScannerOutput>(\n {}\n );\n\n const fetchShipmentCount = async () => {\n try {\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n props.mergedObjectiveId\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n } catch (error) {}\n };\n\n const fetchPreviousScannedData = async () => {\n try {\n const scanOutput = (await getScanMappedOutput()) || {};\n setMergedScanETOutput(scanOutput[prefixedMergedObjectiveId] || {});\n } catch (error) {}\n };\n\n const fetchERC = async () => {\n if (props.ercSelector) {\n try {\n let response = await getErcDropDownItems(\n 'EVENT',\n props.ercSelector || []\n );\n setEventCodeItems(response);\n setSelectedEventCode(response[0]);\n } catch (error) {}\n }\n };\n\n const fetchAllData = async () => {\n try {\n await Promise.all([\n fetchERC(),\n fetchPreviousScannedData(),\n fetchShipmentCount(),\n ]);\n } catch (error) {\n } finally {\n setIsScreenLoaded({\n ercSelectorLoaded: true,\n previousDataLoaded: true,\n shipmentCountLoaded: true,\n });\n }\n };\n\n useEffect(() => {\n fetchAllData();\n }, []);\n\n useEffect(() => props.showProgress(true), []);\n useEffect(() => {\n if (\n isScreenLoaded.ercSelectorLoaded &&\n isScreenLoaded.previousDataLoaded &&\n isScreenLoaded.shipmentCountLoaded\n ) {\n props.showProgress(false);\n }\n }, [isScreenLoaded]);\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else {\n if (showScanList) setShowScanList(false);\n else setShowUnscannedShipmentModal(true);\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, showScanList]);\n\n useEffect(() => {\n selectedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n selectedEventCode?.code\n );\n if (response.length) {\n setReasonItems(response);\n setSelectedReason(response[0]);\n } else {\n setReasonItems([]);\n setSelectedReason(undefined);\n }\n })();\n }, [selectedEventCode?.code]);\n\n useEffect(() => {\n scannedInput &&\n (async () => {\n await addScans();\n setScannedInput('');\n setScanText('');\n })();\n if (refInput) refInput.current?.focus();\n }, [scannedInput]);\n\n useEffect(() => {\n if (!showCamera && refInput) refInput.current?.focus();\n }, [showCamera]);\n\n const handleSubmitET = async (\n status: PROCEED_STATUS,\n count: number,\n erc: { ec: string; rc: string } | undefined\n ) => {\n if (status === PROCEED_STATUS.DELIVER_LATER) {\n if (shipmentCount.scannedCount === 0) {\n props.navigation.goBack();\n } else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVERE_LATER,\n true,\n count\n );\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.scannedCount < shipmentCount.totalCount) {\n if (erc) {\n const prefixedMergedObjectiveId =\n props.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n { eventCode: erc.ec, reasonCode: erc.rc },\n DeliverState.DELIVER_NOW,\n true,\n count\n );\n\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n const scannedData: any = [];\n do {\n scans = await DispatchExecutor.filterWFIData(\n props.taskName,\n [prefixedMergedObjectiveId],\n limit,\n offset\n );\n\n scans.data.forEach((scan) => {\n scannedData.push({\n groupId: scan.displayInfo.groupId,\n jobId: scan.jobId,\n shipmentFlow: scan.displayInfo.shipmentFlow,\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n\n triggerScanEvent(\n 'ON_SCAN',\n props.route,\n scannedData,\n etOutput['default'].output\n );\n\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n // updatePendingSharedPreference(eventType, prefixedMergedObjectiveId);\n\n props.onSubmitET(etOutput);\n }\n } else {\n if (shipmentCount.totalCount === 0) props.navigation.goBack();\n else {\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.DELIVER_NOW,\n false,\n count\n );\n props.onSubmitET(etOutput);\n }\n }\n }\n };\n\n const _handleBarCodeScanned = async (scan: string) => {\n if (!isEmptyOrBlank(scan)) {\n setShowScanner(false);\n setScannedInput(scan);\n }\n };\n\n const updateShipmentCount = async (\n scannedCountChanged: number,\n totalCountChanged: number,\n type: 'SCAN' | 'REMOVE' = 'SCAN'\n ) => {\n if (type === 'SCAN') {\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + scannedCountChanged,\n totalCount: _shipmentCount.totalCount + totalCountChanged,\n };\n });\n } else {\n const currentIds = [\n ...new Set([\n ...props.mergedObjectiveId,\n ...getSplitIds(mergedScanETOutput),\n prefixedMergedObjectiveId,\n ]),\n ];\n const _shipmentCount = await DispatchExecutor.getScannedShipmentsCount(\n currentIds\n );\n if (_shipmentCount) {\n setShipmentCount({\n scannedCount: _shipmentCount.scannedCount || 0,\n totalCount: _shipmentCount.totalCount || 0,\n });\n // setIsScreenLoaded((isScreenLoaded) => ({\n // ...isScreenLoaded,\n // shipmentCountLoaded: true,\n // }));\n }\n }\n };\n\n const addScans = async () => {\n const scan = scannedInput;\n if (isEmptyOrBlank(scan)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: EMPTY_AWB,\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n if (isErcSelector && (!selectedEventCode || !selectedEventCode.code)) {\n // showToast('Empty AWB Code');\n setSnackBar({\n show: true,\n message: ER_MISSING.replace('<shipment_id>', scan),\n type: SnackBarType.FAILURE,\n });\n return;\n }\n\n setShowProgress(true);\n let isValidated = await checkForValidation(scan, props.validation);\n\n if (isValidated) {\n // NEW CODE\n try {\n const eventType = getEventType(\n eventCodeItems || [],\n selectedEventCode?.code || ''\n );\n\n const result = await DispatchExecutor.updateWIMapping(\n prefixedMergedObjectiveId,\n scan,\n {\n ec: selectedEventCode?.code || '',\n rc: selectedReason?.code || '',\n },\n props.scanToMerge || false\n );\n\n if ('data' in result) {\n const data: IDispatch.MappingUpdateResponse = result.data;\n const {\n message: { title, subTitle },\n } = data;\n if (subTitle) {\n setSnackBar({\n show: true,\n message: `#${scan}\\n${title}\\n${subTitle}`,\n type: SnackBarType.WARNING,\n });\n } else {\n setSnackBar({\n show: true,\n message: `#${scan}\\nShipment updated successfully!`,\n type: SnackBarType.SUCCESS,\n });\n }\n\n setScanText('');\n\n const _scanOutput = await getUpdatedScanETOutput(\n mergedScanETOutput,\n result,\n eventType,\n selectedEventCode?.code || '',\n selectedReason?.code || '',\n props.route,\n {\n jobId: data.jobId,\n displayInfo: data.displayInfo,\n isScan: true,\n scanId: scan,\n }\n );\n\n // UPDATE SHARED PREFERENCE\n updateSharedPreference(\n eventType,\n data.mwId,\n prefixedMergedObjectiveId\n );\n\n // UPDATE SCAN OUTPUT\n setMergedScanETOutput(_scanOutput);\n\n // UPDATE THE Count\n setShipmentCount((_shipmentCount) => {\n return {\n scannedCount: _shipmentCount.scannedCount + data.scanned,\n totalCount: _shipmentCount.totalCount + data.total,\n };\n });\n }\n } catch (error: any) {\n setScanText('');\n if (props.exitOnError) {\n setShowProgress(false);\n\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n ...getErrorMessage(scan, error),\n });\n }\n }\n } else {\n setScanText('');\n if (props.exitOnError) {\n setShowProgress(false);\n const etOutput = await getScanETOutput(\n mergedScanETOutput,\n props.mergedObjectiveId,\n eventCodeItems || [],\n props.defaultERC,\n DeliverState.CANCELLED,\n false,\n 0\n );\n\n props.onSubmitET(etOutput);\n } else {\n setSnackBar({\n show: true,\n message: INVALID_SHIPMENT,\n type: SnackBarType.FAILURE,\n });\n }\n }\n\n setShowProgress(false);\n };\n\n const renderActionButtons = () => {\n // NEW CODE\n return (\n <View>\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={CommonStyles.nextButton}\n uppercase={false}\n onPress={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setShowScanList(!showScanList);\n }}\n >\n {`View Summary`}\n </Button>\n </View>\n );\n };\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (showScanList) {\n setShowScanList(false);\n return true;\n } else {\n setShowUnscannedShipmentModal(true);\n // props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [showScanList])\n );\n\n useEffect(() => {\n if (showScanList) {\n props.navigation.setOptions({\n title: 'Summary',\n });\n } else {\n props.navigation.setOptions({\n title: `${props.title}`,\n });\n }\n }, [showScanList]);\n\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n if (!showScanner) {\n timeout = setTimeout(() => {\n setShowScanner(true);\n }, 500);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [showScanner]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n const _scanOutput = {\n ['default']: { output, count: shipmentCount.totalCount },\n };\n props.onSubmitET(_scanOutput);\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n // TODO: Modify to Modal Widget\n const renderUnscannedShipmentModal = () => {\n return (\n <Portal>\n <Modal\n visible={showUnscannedShipmentModal}\n dismissable={true}\n contentContainerStyle={[\n styles.modalContent,\n { marginStart: 40, marginEnd: 40 },\n ]}\n >\n <View style={styles.modalView}>\n <View\n style={{\n justifyContent: 'center',\n alignItems: 'center',\n marginBottom: 10,\n }}\n >\n <AntDesign name=\"exclamationcircleo\" size={40} color=\"#D97706\" />\n </View>\n <Text style={styles.titleText}>{'Exit scan flow?'}</Text>\n <Text\n style={[\n styles.unscannedShipmentModalSubText,\n { textAlign: 'center' },\n ]}\n >\n {'All the progress made will be lost'}\n </Text>\n\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={{ ...CommonStyles.nextButton, marginTop: 20 }}\n uppercase={false}\n onPress={() => setShowUnscannedShipmentModal(false)}\n >\n Continue Scanning\n </Button>\n <TouchableOpacity\n style={{\n ...CommonStyles.cancelButton,\n marginTop: 10,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n\n // Trigger Scan Removal Event\n await resetObjective(props);\n\n // Clear Scan\n await Promise.all([\n clearScanOutput(prefixedMergedObjectiveId),\n DispatchExecutor.removeShipment(prefixedMergedObjectiveId),\n ]);\n\n props.navigation.goBack();\n }}\n >\n <Text style={CommonStyles.cancelButtonLabel}>Exit Scan Flow</Text>\n </TouchableOpacity>\n </View>\n </Modal>\n </Portal>\n );\n };\n\n const renderShipmentCount = () => {\n return (\n <View\n style={{\n justifyContent: 'flex-end',\n marginStart: 10,\n marginEnd: 10,\n marginBottom: 10,\n }}\n >\n {isMultiObjectiveEnable ||\n props.scanMode === 'SINGLE' ||\n props.validation.selectedIndex === 0 ||\n props.scanCountLimit ? (\n <Text>{`${shipmentCount.scannedCount}/${shipmentCount.totalCount} shipments scanned.`}</Text>\n ) : props.validation.selectedIndex === 1 ||\n props.validation.selectedIndex === 2 ? (\n <Text>{`${shipmentCount.scannedCount} shipments scanned.`}</Text>\n ) : null}\n </View>\n );\n };\n\n if (showScanList) {\n return (\n <Provider>\n {renderModal()}\n <View style={CommonStyles.mainContainer}>\n <SummaryPage\n ercSelector={props.ercSelector || []}\n eventCodeItems={eventCodeItems ?? []}\n handleSubmitET={handleSubmitET}\n shipmentCount={shipmentCount}\n updateShipmentCount={updateShipmentCount}\n scanProps={props}\n mergedScanETOutput={mergedScanETOutput}\n />\n </View>\n </Provider>\n );\n } else {\n return (\n <Provider>\n <View style={CommonStyles.mainContainer}>\n {renderModal()}\n {renderUnscannedShipmentModal()}\n <ProgressDialog visible={showProgress} label={PLEASE_WAIT} />\n <View style={{ flex: 1 }}>\n {props.ercSelector && (\n <View style={{ marginHorizontal: 16, marginBottom: 30 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={selectedEventCode}\n items={eventCodeItems ?? []}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setSelectedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 16 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={selectedReason}\n disabled={\n !reasonItems || !reasonItems?.length ? true : false\n }\n items={reasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setSelectedReason(reasonItem);\n }}\n />\n </View>\n </View>\n )}\n <View style={styles.addShipmentStyle}>\n <Text style={styles.toggleText}>Use camera for scanning</Text>\n <ToggleSwitch\n onColor=\"#5B80F7\"\n offColor=\"#E0E3EB\"\n isOn={showCamera}\n onToggle={() => setShowCamera(!showCamera)}\n />\n </View>\n <View\n style={\n showCamera\n ? [styles.cameraContainer, { backgroundColor: '#000' }]\n : styles.cameraContainer\n }\n >\n {showCamera && showScanner ? (\n <CScanner\n barCodeTypes={getBarCodeTypes(props)}\n onScanned={_handleBarCodeScanned}\n />\n ) : (\n <>\n <View style={styles.scanIcon}>\n <ScanIcon />\n <Text\n style={{\n color: '#A3AAC2',\n fontFamily: Fonts.IBMPlexSans_500Medium,\n fontSize: 14,\n fontStyle: 'normal',\n fontWeight: '500',\n }}\n >\n Enter manually or use barcode scanner\n </Text>\n </View>\n <View style={styles.addShipmentStyle}>\n <TextInput\n returnKeyType={'done'}\n ref={refInput}\n onSubmitEditing={async () => {\n setScannedInput(scanText);\n }}\n value={scanText}\n onChangeText={setScanText}\n style={{\n borderColor: '#5B80F7',\n borderWidth: 1,\n borderRadius: 6,\n paddingVertical: 9,\n paddingHorizontal: 13,\n marginEnd: 20,\n flex: 1,\n fontSize: 16,\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n color: '#A3AAC2',\n }}\n placeholder={'Enter Shipment ID'}\n />\n <TouchableOpacity\n style={{\n borderColor: '#E0E3EB',\n borderWidth: 1,\n borderRadius: 6,\n paddingVertical: 9,\n paddingHorizontal: 17,\n alignSelf: 'center',\n justifyContent: 'center',\n }}\n onPress={async () => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n setScannedInput(scanText);\n }}\n >\n <Text\n style={{\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_500Medium,\n color: '#3D445C',\n }}\n >\n {'Apply'}\n </Text>\n </TouchableOpacity>\n </View>\n </>\n )}\n </View>\n </View>\n <View style={{ justifyContent: 'flex-end' }}>\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n customBottom={20}\n />\n </View>\n <View style={styles.bottomView}>\n {renderShipmentCount()}\n {renderActionButtons()}\n </View>\n </View>\n </Provider>\n );\n }\n};\n\nexport default ScanET;\n\nconst styles = StyleSheet.create({\n cameraContainer: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: -1,\n },\n addShipmentStyle: {\n marginVertical: 24,\n marginHorizontal: 16,\n flexDirection: 'row',\n justifyContent: 'space-between',\n zIndex: -1,\n },\n bottomView: {\n paddingBottom: 16,\n justifyContent: 'flex-end',\n marginVertical: 10,\n marginHorizontal: 16,\n },\n addButtonLabel: {\n color: '#3D445C',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 20,\n letterSpacing: 1.56,\n textAlign: 'center',\n fontStyle: 'normal',\n },\n centerView: {\n flex: 1,\n justifyContent: 'center',\n alignContent: 'center',\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n titleText: {\n justifyContent: 'center',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontStyle: 'normal',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n color: '#111111',\n marginBottom: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n bottomButtons: {\n justifyContent: 'space-between',\n flexDirection: 'row',\n marginTop: 8,\n },\n unscannedShipmentModalSubText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n color: '#000000',\n marginBottom: 10,\n },\n modalDefaultERCStyle: {\n color: '#A3AAC2',\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n },\n toggleText: {\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_500Medium,\n color: '#3D445C',\n },\n scanIcon: {\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { Path, Svg } from 'react-native-svg';
3
+ import { View } from 'react-native';
4
+ const ScanIcon = props => {
5
+ return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Svg, {
6
+ width: props.width || '80',
7
+ height: props.height || '80',
8
+ viewBox: "0 0 80 80",
9
+ fill: "none"
10
+ }, /*#__PURE__*/React.createElement(Path, {
11
+ d: "M30.8889 25.2222C29.9417 25.2222 29.1667 25.9972 29.1667 26.9445V51.0556C29.1667 52.0028 29.9417 52.7778 30.8889 52.7778C31.8361 52.7778 32.6111 52.0028 32.6111 51.0556V26.9445C32.6111 25.9972 31.8361 25.2222 30.8889 25.2222ZM55 52.7778C55.952 52.7778 56.7222 52.0076 56.7222 51.1524V27.0413C56.7222 25.9972 55.9472 25.2222 55 25.2222C54.0528 25.2222 53.2778 25.9972 53.2778 26.9445V51.0556C53.2778 52.0028 54.0528 52.7778 55 52.7778ZM37.7778 25.2222C36.8306 25.2222 36.0556 25.9972 36.0556 26.9445V51.0556C36.0556 52.0028 36.8306 52.7778 37.7778 52.7778C38.725 52.7778 39.5 52.0075 39.5 51.0556V26.9445C39.5 25.9972 38.725 25.2222 37.7778 25.2222ZM46.3889 25.2222C45.4369 25.2222 44.6667 25.9925 44.6667 26.9445V51.0556C44.6667 52.0075 45.4369 52.7778 46.3889 52.7778C47.3408 52.7778 48.1111 52.0075 48.1111 51.0556V26.9445C48.1111 25.9972 47.3361 25.2222 46.3889 25.2222ZM24 25.2222C23.0528 25.2222 22.2778 25.9972 22.2778 26.9445V51.0556C22.2778 52.0028 23.0528 52.7778 24 52.7778C24.9472 52.7778 25.7222 52.0028 25.7222 51.0556V26.9445C25.7222 25.9972 24.9472 25.2222 24 25.2222ZM24 11.4445H10.2222C9.27026 11.4445 8.5 12.2147 8.5 13.1667V26.9445C8.5 27.8917 9.27026 28.6667 10.2222 28.6667C11.1742 28.6667 11.9444 27.8917 11.9444 26.9445V14.8889H24C24.9472 14.8889 25.7222 14.1182 25.7222 13.1667C25.7222 12.2152 24.9472 11.4445 24 11.4445ZM68.7778 11.4445H55C54.0528 11.4445 53.2778 12.2147 53.2778 13.1667C53.2778 14.1186 54.0528 14.8889 55 14.8889H67.0556V26.9445C67.0556 27.8917 67.8306 28.6667 68.7778 28.6667C69.725 28.6667 70.5 27.8917 70.5 26.9445V13.1667C70.5 12.2147 69.725 11.4445 68.7778 11.4445ZM68.7778 49.3334C67.8258 49.3334 67.0556 50.1036 67.0556 51.0556V63.1111H55C54.048 63.1111 53.2778 63.8814 53.2778 64.8334C53.2778 65.7853 54.048 66.5556 55 66.5556H68.7778C69.7297 66.5556 70.5 65.7853 70.5 64.8334V51.0556C70.5 50.1083 69.725 49.3334 68.7778 49.3334ZM24 63.1111H11.9444V51.0556C11.9444 50.1083 11.1737 49.3334 10.2222 49.3334C9.27069 49.3334 8.5 50.1083 8.5 51.0556V64.8334C8.5 65.7806 9.27026 66.5556 10.2222 66.5556H24C24.9472 66.5556 25.7222 65.7806 25.7222 64.8334C25.7222 63.8861 24.9472 63.1111 24 63.1111Z",
12
+ fill: props.fill || '#5B80F7'
13
+ })));
14
+ };
15
+ export default ScanIcon;
16
+ //# sourceMappingURL=ScanIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Path","Svg","View","ScanIcon","props","createElement","width","height","viewBox","fill","d"],"sources":["ScanIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { IconProps } from './interface';\nimport { Path, Svg } from 'react-native-svg';\nimport { View } from 'react-native';\n\nconst ScanIcon = (props: IconProps) => {\n return (\n <View>\n <Svg\n width={props.width || '80'}\n height={props.height || '80'}\n viewBox=\"0 0 80 80\"\n fill=\"none\"\n >\n <Path\n d=\"M30.8889 25.2222C29.9417 25.2222 29.1667 25.9972 29.1667 26.9445V51.0556C29.1667 52.0028 29.9417 52.7778 30.8889 52.7778C31.8361 52.7778 32.6111 52.0028 32.6111 51.0556V26.9445C32.6111 25.9972 31.8361 25.2222 30.8889 25.2222ZM55 52.7778C55.952 52.7778 56.7222 52.0076 56.7222 51.1524V27.0413C56.7222 25.9972 55.9472 25.2222 55 25.2222C54.0528 25.2222 53.2778 25.9972 53.2778 26.9445V51.0556C53.2778 52.0028 54.0528 52.7778 55 52.7778ZM37.7778 25.2222C36.8306 25.2222 36.0556 25.9972 36.0556 26.9445V51.0556C36.0556 52.0028 36.8306 52.7778 37.7778 52.7778C38.725 52.7778 39.5 52.0075 39.5 51.0556V26.9445C39.5 25.9972 38.725 25.2222 37.7778 25.2222ZM46.3889 25.2222C45.4369 25.2222 44.6667 25.9925 44.6667 26.9445V51.0556C44.6667 52.0075 45.4369 52.7778 46.3889 52.7778C47.3408 52.7778 48.1111 52.0075 48.1111 51.0556V26.9445C48.1111 25.9972 47.3361 25.2222 46.3889 25.2222ZM24 25.2222C23.0528 25.2222 22.2778 25.9972 22.2778 26.9445V51.0556C22.2778 52.0028 23.0528 52.7778 24 52.7778C24.9472 52.7778 25.7222 52.0028 25.7222 51.0556V26.9445C25.7222 25.9972 24.9472 25.2222 24 25.2222ZM24 11.4445H10.2222C9.27026 11.4445 8.5 12.2147 8.5 13.1667V26.9445C8.5 27.8917 9.27026 28.6667 10.2222 28.6667C11.1742 28.6667 11.9444 27.8917 11.9444 26.9445V14.8889H24C24.9472 14.8889 25.7222 14.1182 25.7222 13.1667C25.7222 12.2152 24.9472 11.4445 24 11.4445ZM68.7778 11.4445H55C54.0528 11.4445 53.2778 12.2147 53.2778 13.1667C53.2778 14.1186 54.0528 14.8889 55 14.8889H67.0556V26.9445C67.0556 27.8917 67.8306 28.6667 68.7778 28.6667C69.725 28.6667 70.5 27.8917 70.5 26.9445V13.1667C70.5 12.2147 69.725 11.4445 68.7778 11.4445ZM68.7778 49.3334C67.8258 49.3334 67.0556 50.1036 67.0556 51.0556V63.1111H55C54.048 63.1111 53.2778 63.8814 53.2778 64.8334C53.2778 65.7853 54.048 66.5556 55 66.5556H68.7778C69.7297 66.5556 70.5 65.7853 70.5 64.8334V51.0556C70.5 50.1083 69.725 49.3334 68.7778 49.3334ZM24 63.1111H11.9444V51.0556C11.9444 50.1083 11.1737 49.3334 10.2222 49.3334C9.27069 49.3334 8.5 50.1083 8.5 51.0556V64.8334C8.5 65.7806 9.27026 66.5556 10.2222 66.5556H24C24.9472 66.5556 25.7222 65.7806 25.7222 64.8334C25.7222 63.8861 24.9472 63.1111 24 63.1111Z\"\n fill={props.fill || '#5B80F7'}\n />\n </Svg>\n </View>\n );\n};\n\nexport default ScanIcon;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,IAAI,EAAEC,GAAG,QAAQ,kBAAkB;AAC5C,SAASC,IAAI,QAAQ,cAAc;AAEnC,MAAMC,QAAQ,GAAIC,KAAgB,IAAK;EACrC,oBACEL,KAAA,CAAAM,aAAA,CAACH,IAAI,qBACHH,KAAA,CAAAM,aAAA,CAACJ,GAAG;IACFK,KAAK,EAAEF,KAAK,CAACE,KAAK,IAAI,IAAK;IAC3BC,MAAM,EAAEH,KAAK,CAACG,MAAM,IAAI,IAAK;IAC7BC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC;EAAM,gBAEXV,KAAA,CAAAM,aAAA,CAACL,IAAI;IACHU,CAAC,EAAC,gmEAAgmE;IAClmED,IAAI,EAAEL,KAAK,CAACK,IAAI,IAAI;EAAU,CAC/B,CACE,CACD,CAAC;AAEX,CAAC;AAED,eAAeN,QAAQ"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from './interface';
3
+ declare const ScanIcon: (props: IconProps) => React.JSX.Element;
4
+ export default ScanIcon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os1-platform/dispatch-mobile",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "Dispatch SDK React Native Package",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -255,6 +255,7 @@
255
255
  "react-native-otp-textinput": "0.0.8",
256
256
  "react-native-svg": "^13.6.0",
257
257
  "recyclerlistview": "^4.2.0",
258
- "rjsf-native": "^1.0.14"
258
+ "rjsf-native": "^1.0.14",
259
+ "toggle-switch-react-native": "^3.3.0"
259
260
  }
260
261
  }