@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.
- package/lib/commonjs/components/executiontasks/scan/ScanET.js +63 -34
- package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/commonjs/icons/ScanIcon.js +24 -0
- package/lib/commonjs/icons/ScanIcon.js.map +1 -0
- package/lib/module/components/executiontasks/scan/ScanET.js +63 -34
- package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/module/icons/ScanIcon.js +16 -0
- package/lib/module/icons/ScanIcon.js.map +1 -0
- package/lib/typescript/icons/ScanIcon.d.ts +4 -0
- package/package.json +3 -2
|
@@ -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
|
-
|
|
594
|
-
|
|
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: '#
|
|
626
|
+
color: '#A3AAC2'
|
|
600
627
|
},
|
|
601
628
|
placeholder: 'Enter Shipment ID'
|
|
602
629
|
}), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
603
630
|
style: {
|
|
604
|
-
|
|
605
|
-
justifyContent: 'center',
|
|
606
|
-
paddingVertical: 9,
|
|
607
|
-
paddingHorizontal: 17,
|
|
631
|
+
borderColor: '#E0E3EB',
|
|
608
632
|
borderWidth: 1,
|
|
609
633
|
borderRadius: 6,
|
|
610
|
-
|
|
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
|
-
}, '
|
|
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
|
-
|
|
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
|
-
|
|
586
|
-
|
|
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: '#
|
|
618
|
+
color: '#A3AAC2'
|
|
592
619
|
},
|
|
593
620
|
placeholder: 'Enter Shipment ID'
|
|
594
621
|
}), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
595
622
|
style: {
|
|
596
|
-
|
|
597
|
-
justifyContent: 'center',
|
|
598
|
-
paddingVertical: 9,
|
|
599
|
-
paddingHorizontal: 17,
|
|
623
|
+
borderColor: '#E0E3EB',
|
|
600
624
|
borderWidth: 1,
|
|
601
625
|
borderRadius: 6,
|
|
602
|
-
|
|
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
|
-
}, '
|
|
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
|
-
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os1-platform/dispatch-mobile",
|
|
3
|
-
"version": "2.0.
|
|
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
|
}
|