Ingredients can now be manually ordered

This commit is contained in:
Greg Burri 2025-01-16 00:17:08 +01:00
parent afd42ba1d0
commit ca2227037f
11 changed files with 205 additions and 32 deletions

View file

@ -574,6 +574,22 @@ fn create_ingredient_element(step_element: &Element, ingredient: &ron_api::Ingre
ingredient_element.set_id(&format!("ingredient-{}", ingredient.id));
step_element.append_child(&ingredient_element).unwrap();
set_draggable(&ingredient_element, "ingredient", |element| {
let element = element.clone();
spawn_local(async move {
let ingredient_ids = element
.parent_element()
.unwrap()
.selector_all::<Element>(".ingredient")
.into_iter()
.map(|e| e.id()[11..].parse::<i64>().unwrap())
.collect();
let body = ron_api::SetIngredientOrders { ingredient_ids };
let _ = request::put::<(), _>("recipe/set_ingredients_order", body).await;
});
});
// Ingredient name.
let name: HtmlInputElement = ingredient_element.selector(".input-ingredient-name");
name.set_value(&ingredient.name);