Skip to content

Commit 909ed5b

Browse files
committed
data verification to prevent crash
1 parent 33ba3d1 commit 909ed5b

File tree

4 files changed

+38
-18
lines changed

4 files changed

+38
-18
lines changed

index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ declare module 'global-input-react' {
6565
DisplayMobileConnect:WhenFunction;
6666
setFieldValueById:SetFieldValueByIdFunction;
6767
setOnFieldChanged:(onFieldChanged:OnFieldChangedFunction)=>void;
68-
initData:InitData;
68+
initDataID:string;
6969
}
7070

7171
type WhenFunction=(props:any)=>any;

src/globalinput.js

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ export const initialData={
1010
fields:[],
1111
values:[],
1212
setters:[],
13-
initData:null,
14-
},
15-
onFieldChanged:()=>{},
13+
initData:null,
14+
},
15+
onFieldChanged:()=>{},
16+
1617
};
17-
export const getValues = mobile => mobile.current.data.values;
18-
export const getFields = mobile => mobile.current.data.fields;
19-
export const getSetters = mobile => mobile.current.data.setters;
18+
export const getValues = mobile => mobile.current.data && mobile.current.data.values;
19+
export const getFields = mobile => mobile.current.data && mobile.current.data.fields;
20+
export const getSetters = mobile => mobile.current.data && mobile.current.data.setters;
21+
export const getInitDataID = mobile => mobile.current.data && mobile.current.data.initData && mobile.current.data.initData.id;
2022

2123
export const setOnFieldChanged=(mobile,onFieldChanged)=>{
2224
mobile.current.onFieldChanged=onFieldChanged;
@@ -26,12 +28,13 @@ export const closeConnection=(mobile)=>{
2628
if(mobile.current.connector){
2729
mobile.current.connector.disconnect();
2830
mobile.current.connector=null;
29-
mobile.current.data=null;
31+
mobile.current.data=null;
3032
}
3133
};
3234

3335

3436

37+
3538
export const onFieldChanged=(mobile,field,setFieldValueById,setInitData)=>{
3639
if(field && mobile.current.onFieldChanged){
3740
mobile.current.onFieldChanged({
@@ -99,10 +102,12 @@ export const startConnect =(mobile,dispatch,configData) => {
99102
}
100103
},
101104
onSenderConnected:(sender, senders) => {
102-
dispatch({type:ACTION_TYPES.SENDER_CONNECTED, senders,sender});
105+
dispatch({type:ACTION_TYPES.SENDER_CONNECTED, senders,sender});
103106
},
104-
onSenderDisconnected:(sender, senders) => {
105-
dispatch({type:ACTION_TYPES.SENDER_DISCONNECTED, senders,sender});
107+
onSenderDisconnected:(sender, senders) => {
108+
closeConnection(mobile);
109+
dispatch({type:ACTION_TYPES.SENDER_DISCONNECTED});
110+
106111
},
107112
onError:errorMessage => {
108113
dispatch({type:ACTION_TYPES.ON_CONNECTION_ERROR,errorMessage});
@@ -252,3 +257,17 @@ export const displayWhen = (children,mobileState,st)=>{
252257

253258

254259

260+
const styles={
261+
barcode:{
262+
backgroundColor:"white",
263+
padding:20,
264+
display:"flex",
265+
flexDirection:"column",
266+
justifyContent:"flex-start",
267+
alignItems:"center"
268+
},
269+
label:{
270+
paddingTop:20,
271+
color:"#A9C8E6", //#4880ED
272+
}
273+
}

src/reducer.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export const initialState={
55
connectionCode:null,
66
errorMessage:null,
77
senders:null,
8-
field:null
8+
field:null
99
};
1010

1111

@@ -37,11 +37,11 @@ export default (state, action)=>{
3737
case ACTION_TYPES.SENDER_CONNECTED:
3838
return {...state,senders:action.senders, mobileState:MobileState.MOBILE_CONNECTED};
3939

40-
case ACTION_TYPES.SENDER_DISCONNECTED:
41-
{
42-
const mobileState=action.senders && action.senders.length >0 ? state.mobileState:MobileState.WAITING_FOR_MOBILE;
43-
return {...state,senders:action.senders,mobileState};
44-
}
40+
case ACTION_TYPES.SENDER_DISCONNECTED:
41+
return {...state,
42+
senders:null,
43+
mobileState:MobileState.DISCONNECTED
44+
};
4545
case ACTION_TYPES.ON_CONNECTION_ERROR:
4646
return {...state,
4747
errorMessage:action.errorMessage,

src/useGlobalInputApp.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ export default (configData, dependencies)=>{
6464
WhenWaiting,
6565
WhenConnected,
6666
WhenDisconnected,
67-
WhenError,
67+
WhenError,
68+
initDataID:globalInput.getInitDataID(mobile)
6869
};
6970
};
7071

0 commit comments

Comments
 (0)