Fix Android Keyboard display issue
This commit is contained in:
@@ -53,7 +53,7 @@ export function CostCenterSelect(props) {
|
|||||||
inputSearchStyle={styles.inputSearchStyle}
|
inputSearchStyle={styles.inputSearchStyle}
|
||||||
iconStyle={styles.iconStyle}
|
iconStyle={styles.iconStyle}
|
||||||
|
|
||||||
maxHeight={300}
|
maxHeight={200}
|
||||||
labelField="label"
|
labelField="label"
|
||||||
valueField="value"
|
valueField="value"
|
||||||
placeholder={!isFocus ? t("selectcostcenter.labels.placeholder") : t("selectcostcenter.labels.selectedplaceholder")}
|
placeholder={!isFocus ? t("selectcostcenter.labels.placeholder") : t("selectcostcenter.labels.selectedplaceholder")}
|
||||||
@@ -82,7 +82,7 @@ const styles = StyleSheet.create({
|
|||||||
alignContent: "center",
|
alignContent: "center",
|
||||||
},
|
},
|
||||||
dropdown: {
|
dropdown: {
|
||||||
height: 48,
|
height: 50,
|
||||||
borderColor: "gray",
|
borderColor: "gray",
|
||||||
borderWidth: 0.5,
|
borderWidth: 0.5,
|
||||||
borderRadius: 4,
|
borderRadius: 4,
|
||||||
@@ -101,10 +101,10 @@ const styles = StyleSheet.create({
|
|||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
placeholderStyle: {
|
placeholderStyle: {
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
selectedTextStyle: {
|
selectedTextStyle: {
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
iconStyle: {
|
iconStyle: {
|
||||||
width: 20,
|
width: 20,
|
||||||
@@ -112,6 +112,6 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
inputSearchStyle: {
|
inputSearchStyle: {
|
||||||
height: 40,
|
height: 40,
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ export function JobIdSearchSelect(
|
|||||||
}, [data, idData]);
|
}, [data, idData]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (typeof theOptions !== "undefined") {
|
||||||
// console.log("useEfectDependentOn: [theOptions]");
|
// console.log("useEfectDependentOn: [theOptions]");
|
||||||
var count = Object.keys(theOptions).length;
|
var count = Object.keys(theOptions).length;
|
||||||
// console.log("useEfectDependentOn: [theOptions] count:", count);
|
// console.log("useEfectDependentOn: [theOptions] count:", count);
|
||||||
@@ -101,14 +102,19 @@ export function JobIdSearchSelect(
|
|||||||
for (let i = 0; i < count; i++) {
|
for (let i = 0; i < count; i++) {
|
||||||
selectDataArray.push({
|
selectDataArray.push({
|
||||||
value: theOptions[i].id,
|
value: theOptions[i].id,
|
||||||
label: `${clm_no && theOptions[i].clm_no ? `${theOptions[i].clm_no} | ` : ""}${
|
label: `${
|
||||||
|
clm_no && theOptions[i].clm_no ? `${theOptions[i].clm_no} | ` : ""
|
||||||
|
}${
|
||||||
theOptions[i].ro_number || t("general.labels.na")
|
theOptions[i].ro_number || t("general.labels.na")
|
||||||
} | ${OwnerNameDisplayFunction(theOptions[i])} | ${theOptions[i].v_model_yr || ""} ${theOptions[i].v_make_desc || ""} ${
|
} | ${OwnerNameDisplayFunction(theOptions[i])} | ${
|
||||||
|
theOptions[i].v_model_yr || ""
|
||||||
|
} ${theOptions[i].v_make_desc || ""} ${
|
||||||
theOptions[i].v_model_desc || ""
|
theOptions[i].v_model_desc || ""
|
||||||
}`,
|
}`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
setSelectorData(selectDataArray);
|
setSelectorData(selectDataArray);
|
||||||
|
}
|
||||||
}, [theOptions]);
|
}, [theOptions]);
|
||||||
|
|
||||||
// useEffect(() => {
|
// useEffect(() => {
|
||||||
@@ -128,7 +134,7 @@ export function JobIdSearchSelect(
|
|||||||
inputSearchStyle={styles.inputSearchStyle}
|
inputSearchStyle={styles.inputSearchStyle}
|
||||||
iconStyle={styles.iconStyle}
|
iconStyle={styles.iconStyle}
|
||||||
search
|
search
|
||||||
maxHeight={300}
|
maxHeight={200}
|
||||||
labelField="label"
|
labelField="label"
|
||||||
valueField="value"
|
valueField="value"
|
||||||
placeholder={!isFocus ? t("selectjobid.labels.placeholder") : t("selectjobid.labels.selectedplaceholder")}
|
placeholder={!isFocus ? t("selectjobid.labels.placeholder") : t("selectjobid.labels.selectedplaceholder")}
|
||||||
@@ -137,7 +143,14 @@ export function JobIdSearchSelect(
|
|||||||
onBlur={() => setIsFocus(false)}
|
onBlur={() => setIsFocus(false)}
|
||||||
data={selectorData}
|
data={selectorData}
|
||||||
value={props.currentValue?.value} //{selectedvalue}
|
value={props.currentValue?.value} //{selectedvalue}
|
||||||
onChange={(item) => props.onJobSelected(item)}//TODO: add setIsFocus(false); to this
|
onChange={(item) => {
|
||||||
|
// console.log("onChange Fired!!!!");
|
||||||
|
props.onJobSelected(item);
|
||||||
|
setIsFocus(false);
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
//TODO: add setIsFocus(false); to this
|
||||||
// {
|
// {
|
||||||
// console.log("onValueSelected!!!!");
|
// console.log("onValueSelected!!!!");
|
||||||
// // (item) => {onJobSelected(item.value)};
|
// // (item) => {onJobSelected(item.value)};
|
||||||
@@ -198,10 +211,10 @@ const styles = StyleSheet.create({
|
|||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
placeholderStyle: {
|
placeholderStyle: {
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
selectedTextStyle: {
|
selectedTextStyle: {
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
iconStyle: {
|
iconStyle: {
|
||||||
width: 20,
|
width: 20,
|
||||||
@@ -209,6 +222,6 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
inputSearchStyle: {
|
inputSearchStyle: {
|
||||||
height: 40,
|
height: 40,
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
31
components/keyboards/KeyboardAvoidingComponent.js
Normal file
31
components/keyboards/KeyboardAvoidingComponent.js
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
import { View, Text, Platform } from "react-native";
|
||||||
|
import React from "react";
|
||||||
|
import { KeyboardAvoidingView } from "react-native";
|
||||||
|
import { StyleSheet } from "react-native";
|
||||||
|
import { TouchableWithoutFeedback } from "react-native";
|
||||||
|
import { Keyboard } from "react-native";
|
||||||
|
|
||||||
|
const KeyboardAvoidingComponent = ({ children }) => {
|
||||||
|
return (
|
||||||
|
<KeyboardAvoidingView
|
||||||
|
enabled
|
||||||
|
behavior={Platform.OS === "ios" ? "padding":"height" }
|
||||||
|
style={styles.container}
|
||||||
|
>
|
||||||
|
{/* <TouchableWithoutFeedback onPress={Keyboard.dismiss}> */}
|
||||||
|
<View style={styles.inner}>{children}</View>
|
||||||
|
{/* </TouchableWithoutFeedback> */}
|
||||||
|
</KeyboardAvoidingView>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
container: {
|
||||||
|
flex: 1,
|
||||||
|
},
|
||||||
|
inner: {
|
||||||
|
flex: 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export default KeyboardAvoidingComponent;
|
||||||
@@ -50,6 +50,8 @@ import ClockedinListItem from "../time-ticket-items/clockedin-list-item.componen
|
|||||||
import SignOutButton from "../Buttons/employee-sign-out-button.component";
|
import SignOutButton from "../Buttons/employee-sign-out-button.component";
|
||||||
import AddTimeTicketButton from "../Buttons/create-time-ticket-button.component";
|
import AddTimeTicketButton from "../Buttons/create-time-ticket-button.component";
|
||||||
|
|
||||||
|
import KeyboardAvoidingComponent from "../keyboards/KeyboardAvoidingComponent";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
currentEmployee: selectCurrentEmployee,
|
currentEmployee: selectCurrentEmployee,
|
||||||
loaderGettingRates: selectGettingRates,
|
loaderGettingRates: selectGettingRates,
|
||||||
@@ -198,6 +200,7 @@ export function ScreenTimeTicketBrowser({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={styles.cardBackground}>
|
<View style={styles.cardBackground}>
|
||||||
|
<KeyboardAvoidingComponent>
|
||||||
<FlatList
|
<FlatList
|
||||||
ListHeaderComponent={
|
ListHeaderComponent={
|
||||||
<Card style={localStyles.localCardStyle}>
|
<Card style={localStyles.localCardStyle}>
|
||||||
@@ -267,6 +270,7 @@ export function ScreenTimeTicketBrowser({
|
|||||||
<RefreshControl refreshing={loading} onRefresh={onRefresh} />
|
<RefreshControl refreshing={loading} onRefresh={onRefresh} />
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
</KeyboardAvoidingComponent>
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user