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 {Button, ButtonTray} from "../../UI/Button";
|
||||||
import Icons from "../../UI/Icons.js"
|
import Icons from "../../UI/Icons.js"
|
||||||
|
|
||||||
const ModuleView = ({module, onDelete}) => {
|
const ModuleView = ({module, onDelete, onModify}) => {
|
||||||
// Initialisation -------------
|
// Initialisation -------------
|
||||||
// State ----------------------
|
// State ----------------------
|
||||||
// Handlers -------------------
|
// Handlers -------------------
|
||||||
@@ -35,7 +35,11 @@ const ModuleView = ({module, onDelete}) => {
|
|||||||
</View>
|
</View>
|
||||||
|
|
||||||
<ButtonTray>
|
<ButtonTray>
|
||||||
<Button icon={<Icons.Edit/>} label={"Modify"}/>
|
<Button
|
||||||
|
icon={<Icons.Edit/>}
|
||||||
|
label={"Modify"}
|
||||||
|
onClick={onModify}
|
||||||
|
/>
|
||||||
<Button
|
<Button
|
||||||
icon={<Icons.Delete/>}
|
icon={<Icons.Delete/>}
|
||||||
label={"Delete"}
|
label={"Delete"}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ const ModuleListScreen = ({navigation}) => {
|
|||||||
// State ----------------------
|
// State ----------------------
|
||||||
const [modules, setModules] = useState(initialModules);
|
const [modules, setModules] = useState(initialModules);
|
||||||
|
|
||||||
|
|
||||||
// Handlers -------------------
|
// Handlers -------------------
|
||||||
|
|
||||||
const handleDelete = (module) =>
|
const handleDelete = (module) =>
|
||||||
@@ -27,17 +26,28 @@ const ModuleListScreen = ({navigation}) => {
|
|||||||
navigation.goBack();
|
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) => {
|
const onAdd = (module) => {
|
||||||
handleAdd(module);
|
handleAdd(module);
|
||||||
navigation.goBack();
|
navigation.goBack();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onModify = (module) => {
|
||||||
|
handleModify(module);
|
||||||
|
navigation.navigate('ModuleListScreen');
|
||||||
|
};
|
||||||
|
|
||||||
const goToViewScreen = (module) =>
|
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 -----------------------
|
// View -----------------------
|
||||||
|
|
||||||
@@ -45,9 +55,9 @@ const ModuleListScreen = ({navigation}) => {
|
|||||||
<Screen>
|
<Screen>
|
||||||
{/*<RenderCount/>*/}
|
{/*<RenderCount/>*/}
|
||||||
<ButtonTray>
|
<ButtonTray>
|
||||||
<Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen} />
|
<Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen}/>
|
||||||
</ButtonTray>
|
</ButtonTray>
|
||||||
<ModuleList modules={modules} onSelect={goToViewScreen} />
|
<ModuleList modules={modules} onSelect={goToViewScreen}/>
|
||||||
</Screen>
|
</Screen>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,16 +3,23 @@ import Screen from "../layout/Screen";
|
|||||||
import ModuleView from "../entity/modules/ModuleView";
|
import ModuleView from "../entity/modules/ModuleView";
|
||||||
|
|
||||||
|
|
||||||
export const ModuleViewScreen = ({route}) => {
|
export const ModuleViewScreen = ({navigation, route}) => {
|
||||||
// Initialisation -------------
|
// Initialisation -------------
|
||||||
|
|
||||||
const {module, onDelete} = route.params;
|
const {module, onDelete, onModify} = route.params;
|
||||||
|
|
||||||
// State ----------------------
|
// State ----------------------
|
||||||
// Handlers -------------------
|
// Handlers -------------------
|
||||||
|
|
||||||
|
const goToModifyScreen = () => navigation.navigate("ModuleModifyScreen");
|
||||||
|
|
||||||
// View -----------------------
|
// View -----------------------
|
||||||
return (<Screen>
|
return (<Screen>
|
||||||
<ModuleView module={module} onDelete={onDelete} />
|
<ModuleView
|
||||||
|
module={module}
|
||||||
|
onDelete={onDelete}
|
||||||
|
onModify={goToModifyScreen}
|
||||||
|
/>
|
||||||
</Screen>);
|
</Screen>);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user