Factorize some ron api types
This commit is contained in:
parent
ca2227037f
commit
67e13d9074
3 changed files with 62 additions and 211 deletions
|
|
@ -273,7 +273,7 @@ pub fn setup_page(recipe_id: i64) -> Result<(), JsValue> {
|
|||
))
|
||||
.await
|
||||
{
|
||||
let body = ron_api::Remove { recipe_id };
|
||||
let body = ron_api::Id { id: recipe_id };
|
||||
let _ = request::delete::<(), _>("recipe/remove", body).await;
|
||||
window().location().set_href("/").unwrap();
|
||||
|
||||
|
|
@ -316,12 +316,11 @@ pub fn setup_page(recipe_id: i64) -> Result<(), JsValue> {
|
|||
{
|
||||
let button_add_group: HtmlInputElement = by_id("input-add-group");
|
||||
let on_click_add_group = EventListener::new(&button_add_group, "click", move |_event| {
|
||||
let body = ron_api::AddRecipeGroup { recipe_id };
|
||||
let body = ron_api::Id { id: recipe_id };
|
||||
spawn_local(async move {
|
||||
let response: ron_api::AddRecipeGroupResult =
|
||||
request::post("recipe/add_group", body).await.unwrap();
|
||||
let response: ron_api::Id = request::post("recipe/add_group", body).await.unwrap();
|
||||
create_group_element(&ron_api::Group {
|
||||
id: response.group_id,
|
||||
id: response.id,
|
||||
name: "".to_string(),
|
||||
comment: "".to_string(),
|
||||
steps: vec![],
|
||||
|
|
@ -344,13 +343,13 @@ fn create_group_element(group: &ron_api::Group) -> Element {
|
|||
|
||||
set_draggable(&group_element, "group", |_element| {
|
||||
spawn_local(async move {
|
||||
let group_ids = by_id::<Element>("groups-container")
|
||||
let ids = by_id::<Element>("groups-container")
|
||||
.selector_all::<Element>(".group")
|
||||
.into_iter()
|
||||
.map(|e| e.id()[6..].parse::<i64>().unwrap())
|
||||
.collect();
|
||||
|
||||
let body = ron_api::SetGroupOrders { group_ids };
|
||||
let body = ron_api::Ids { ids };
|
||||
let _ = request::put::<(), _>("recipe/set_groups_order", body).await;
|
||||
});
|
||||
});
|
||||
|
|
@ -400,7 +399,7 @@ fn create_group_element(group: &ron_api::Group) -> Element {
|
|||
.value();
|
||||
spawn_local(async move {
|
||||
if modal_dialog::show(&format!("Are you sure to delete the group '{}'", name)).await {
|
||||
let body = ron_api::RemoveRecipeGroup { group_id };
|
||||
let body = ron_api::Id { id: group_id };
|
||||
let _ = request::delete::<(), _>("recipe/remove_group", body).await;
|
||||
let group_element = by_id::<Element>(&format!("group-{}", group_id));
|
||||
group_element.next_element_sibling().unwrap().remove();
|
||||
|
|
@ -414,13 +413,12 @@ fn create_group_element(group: &ron_api::Group) -> Element {
|
|||
let add_step_button: HtmlInputElement = group_element.selector(".input-add-step");
|
||||
EventListener::new(&add_step_button, "click", move |_event| {
|
||||
spawn_local(async move {
|
||||
let body = ron_api::AddRecipeStep { group_id };
|
||||
let response: ron_api::AddRecipeStepResult =
|
||||
request::post("recipe/add_step", body).await.unwrap();
|
||||
let body = ron_api::Id { id: group_id };
|
||||
let response: ron_api::Id = request::post("recipe/add_step", body).await.unwrap();
|
||||
create_step_element(
|
||||
&selector::<Element>(&format!("#group-{} .steps", group_id)),
|
||||
&ron_api::Step {
|
||||
id: response.step_id,
|
||||
id: response.id,
|
||||
action: "".to_string(),
|
||||
ingredients: vec![],
|
||||
},
|
||||
|
|
@ -494,7 +492,7 @@ fn create_step_element(group_element: &Element, step: &ron_api::Step) -> Element
|
|||
set_draggable(&step_element, "step", |element| {
|
||||
let element = element.clone();
|
||||
spawn_local(async move {
|
||||
let step_ids = element
|
||||
let ids = element
|
||||
.parent_element()
|
||||
.unwrap()
|
||||
.selector_all::<Element>(".step")
|
||||
|
|
@ -502,7 +500,7 @@ fn create_step_element(group_element: &Element, step: &ron_api::Step) -> Element
|
|||
.map(|e| e.id()[5..].parse::<i64>().unwrap())
|
||||
.collect();
|
||||
|
||||
let body = ron_api::SetStepOrders { step_ids };
|
||||
let body = ron_api::Ids { ids };
|
||||
let _ = request::put::<(), _>("recipe/set_steps_order", body).await;
|
||||
});
|
||||
});
|
||||
|
|
@ -534,7 +532,7 @@ fn create_step_element(group_element: &Element, step: &ron_api::Step) -> Element
|
|||
.value();
|
||||
spawn_local(async move {
|
||||
if modal_dialog::show(&format!("Are you sure to delete the step '{}'", action)).await {
|
||||
let body = ron_api::RemoveRecipeStep { step_id };
|
||||
let body = ron_api::Id { id: step_id };
|
||||
let _ = request::delete::<(), _>("recipe/remove_step", body).await;
|
||||
let step_element = by_id::<Element>(&format!("step-{}", step_id));
|
||||
step_element.next_element_sibling().unwrap().remove();
|
||||
|
|
@ -548,13 +546,12 @@ fn create_step_element(group_element: &Element, step: &ron_api::Step) -> Element
|
|||
let add_ingredient_button: HtmlInputElement = step_element.selector(".input-add-ingredient");
|
||||
EventListener::new(&add_ingredient_button, "click", move |_event| {
|
||||
spawn_local(async move {
|
||||
let body = ron_api::AddRecipeIngredient { step_id };
|
||||
let response: ron_api::AddRecipeIngredientResult =
|
||||
request::post("recipe/add_ingredient", body).await.unwrap();
|
||||
let body = ron_api::Id { id: step_id };
|
||||
let response: ron_api::Id = request::post("recipe/add_ingredient", body).await.unwrap();
|
||||
create_ingredient_element(
|
||||
&selector::<Element>(&format!("#step-{} .ingredients", step_id)),
|
||||
&ron_api::Ingredient {
|
||||
id: response.ingredient_id,
|
||||
id: response.id,
|
||||
name: "".to_string(),
|
||||
comment: "".to_string(),
|
||||
quantity_value: None,
|
||||
|
|
@ -577,7 +574,7 @@ fn create_ingredient_element(step_element: &Element, ingredient: &ron_api::Ingre
|
|||
set_draggable(&ingredient_element, "ingredient", |element| {
|
||||
let element = element.clone();
|
||||
spawn_local(async move {
|
||||
let ingredient_ids = element
|
||||
let ids = element
|
||||
.parent_element()
|
||||
.unwrap()
|
||||
.selector_all::<Element>(".ingredient")
|
||||
|
|
@ -585,7 +582,7 @@ fn create_ingredient_element(step_element: &Element, ingredient: &ron_api::Ingre
|
|||
.map(|e| e.id()[11..].parse::<i64>().unwrap())
|
||||
.collect();
|
||||
|
||||
let body = ron_api::SetIngredientOrders { ingredient_ids };
|
||||
let body = ron_api::Ids { ids };
|
||||
let _ = request::put::<(), _>("recipe/set_ingredients_order", body).await;
|
||||
});
|
||||
});
|
||||
|
|
@ -682,7 +679,7 @@ fn create_ingredient_element(step_element: &Element, ingredient: &ron_api::Ingre
|
|||
if modal_dialog::show(&format!("Are you sure to delete the ingredient '{}'", name))
|
||||
.await
|
||||
{
|
||||
let body = ron_api::RemoveRecipeIngredient { ingredient_id };
|
||||
let body = ron_api::Id { id: ingredient_id };
|
||||
let _ = request::delete::<(), _>("recipe/remove_ingredient", body).await;
|
||||
by_id::<Element>(&format!("ingredient-{}", ingredient_id)).remove();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue