mirror of
https://github.com/mudabbir-ahmad/Project-MAD-crudler.git
synced 2026-10-08 04:40:20 +00:00
Added modify screen routing
This commit is contained in:
1 parent
6cd703af33
commit
1f76cd8015
3 files changed
+32
-11
No files matched your search
@@ -3,7 +3,7 @@ import FullWidthImage from "react-native-fullwidth-image";
|
||||
import {Button, ButtonTray} from "../../UI/Button";
|
||||
import Icons from "../../UI/Icons.js"
|
||||
|
||||
const ModuleView = ({module, onDelete}) => {
|
||||
const ModuleView = ({module, onDelete, onModify}) => {
|
||||
// Initialisation -------------
|
||||
// State ----------------------
|
||||
// Handlers -------------------
|
||||
@@ -35,7 +35,11 @@ const ModuleView = ({module, onDelete}) => {
|
||||
</View>
|
||||
|
||||
<ButtonTray>
|
||||
<Button icon={<Icons.Edit/>} label={"Modify"}/>
|
||||
<Button
|
||||
icon={<Icons.Edit/>}
|
||||
label={"Modify"}
|
||||
onClick={onModify}
|
||||
/>
|
||||
<Button
|
||||
icon={<Icons.Delete/>}
|
||||
label={"Delete"}
|
||||
|
||||
@@ -15,7 +15,6 @@ const ModuleListScreen = ({navigation}) => {
|
||||
// State ----------------------
|
||||
const [modules, setModules] = useState(initialModules);
|
||||
|
||||
|
||||
// Handlers -------------------
|
||||
|
||||
const handleDelete = (module) =>
|
||||
@@ -27,17 +26,28 @@ const ModuleListScreen = ({navigation}) => {
|
||||
navigation.goBack();
|
||||
}
|
||||
|
||||
const handleAdd = (module) => setModules([ ...modules, module]);
|
||||
const handleAdd = (module) => setModules([...modules, module]);
|
||||
|
||||
const handleModify = (updatedModule) => setModules(
|
||||
modules.map((module) => (module.ModuleID === updatedModule.ModuleID) ? updatedModule : module),
|
||||
);
|
||||
|
||||
const onAdd = (module) => {
|
||||
handleAdd(module);
|
||||
navigation.goBack();
|
||||
};
|
||||
|
||||
const onModify = (module) => {
|
||||
handleModify(module);
|
||||
navigation.navigate('ModuleListScreen');
|
||||
};
|
||||
|
||||
const goToViewScreen = (module) =>
|
||||
navigation.navigate('ModuleViewScreen', {module, onDelete});
|
||||
navigation.navigate('ModuleViewScreen', {module, onDelete, onModify});
|
||||
|
||||
const goToAddScreen = () =>
|
||||
navigation.navigate('ModuleAddScreen', {onAdd});
|
||||
|
||||
const goToAddScreen = () => navigation.navigate('ModuleAddScreen', {onAdd});
|
||||
|
||||
// View -----------------------
|
||||
|
||||
@@ -45,9 +55,9 @@ const ModuleListScreen = ({navigation}) => {
|
||||
<Screen>
|
||||
{/*<RenderCount/>*/}
|
||||
<ButtonTray>
|
||||
<Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen} />
|
||||
<Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen}/>
|
||||
</ButtonTray>
|
||||
<ModuleList modules={modules} onSelect={goToViewScreen} />
|
||||
<ModuleList modules={modules} onSelect={goToViewScreen}/>
|
||||
</Screen>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -3,16 +3,23 @@ import Screen from "../layout/Screen";
|
||||
import ModuleView from "../entity/modules/ModuleView";
|
||||
|
||||
|
||||
export const ModuleViewScreen = ({route}) => {
|
||||
export const ModuleViewScreen = ({navigation, route}) => {
|
||||
// Initialisation -------------
|
||||
|
||||
const {module, onDelete} = route.params;
|
||||
const {module, onDelete, onModify} = route.params;
|
||||
|
||||
// State ----------------------
|
||||
// Handlers -------------------
|
||||
|
||||
const goToModifyScreen = () => navigation.navigate("ModuleModifyScreen");
|
||||
|
||||
// View -----------------------
|
||||
return (<Screen>
|
||||
<ModuleView module={module} onDelete={onDelete} />
|
||||
<ModuleView
|
||||
module={module}
|
||||
onDelete={onDelete}
|
||||
onModify={goToModifyScreen}
|
||||
/>
|
||||
</Screen>);
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user