Loaded edit pages for each
This commit is contained in:
parent
661127b7e9
commit
71ec8e2234
@ -6,7 +6,7 @@ use yew_router::prelude::use_navigator;
|
||||
|
||||
use crate::{
|
||||
api::backend::{
|
||||
get_project_listing, get_agent_with_id,
|
||||
get_project_listing, get_agent_with_id, get_unit_with_id,
|
||||
},
|
||||
components::{
|
||||
admin_nav_bar::AdminNavigationBar,
|
||||
@ -23,6 +23,8 @@ pub fn edit_page(props: &AdminEditPageProps) -> Html {
|
||||
let unit = use_state(|| None);
|
||||
use_state(|| {
|
||||
let listing = listing.clone();
|
||||
let agent = agent.clone();
|
||||
let unit = unit.clone();
|
||||
match props.edit_item {
|
||||
EditItem::Agent => {
|
||||
match props.edit_type {
|
||||
@ -56,7 +58,22 @@ pub fn edit_page(props: &AdminEditPageProps) -> Html {
|
||||
}
|
||||
};
|
||||
}
|
||||
EditItem::Unit(_) => {}
|
||||
EditItem::Unit(_) => {
|
||||
match props.edit_type {
|
||||
EditType::New => {}
|
||||
EditType::Existing(uid) => {
|
||||
wasm_bindgen_futures::spawn_local(async move {
|
||||
let unit_result = get_unit_with_id(&uid).await;
|
||||
match unit_result {
|
||||
Ok(unit_persisted) => {
|
||||
unit.set(Some(unit_persisted));
|
||||
}
|
||||
Err(error) => log::error!("Error loading unit: {error}"),
|
||||
};
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@ -78,9 +95,9 @@ pub fn edit_page(props: &AdminEditPageProps) -> Html {
|
||||
<div class={"admin-project-fields-container"}>
|
||||
{
|
||||
match props.edit_item {
|
||||
EditItem::Agent => { html! { <AgentFields edittype={props.edit_type.clone()} agent={(*agent).clone()} /> } },
|
||||
EditItem::Agent => { html! { <AgentFields agent={(*agent).clone()} edittype={props.edit_type.clone()} /> } },
|
||||
EditItem::Project => { html! { <ProjectFields listing={(*listing).clone()} edittype={props.edit_type.clone()}/> } },
|
||||
EditItem::Unit(project_id) => { html! { <UnitFields edittype={props.edit_type.clone()} unit={}/> } },
|
||||
EditItem::Unit(project_id) => { html! { <UnitFields edittype={props.edit_type.clone()} unit={(*unit).clone()} projectid={project_id}/> } },
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
@ -1,4 +1,5 @@
|
||||
use jl_types::domain::unit::Unit;
|
||||
use uuid::Uuid;
|
||||
use yew::prelude::*;
|
||||
use yew_router::prelude::use_navigator;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user