diff --git a/src/components/items_list.rs b/src/components/items_list.rs index d0c17d5..95e339f 100644 --- a/src/components/items_list.rs +++ b/src/components/items_list.rs @@ -1,13 +1,12 @@ use crate::components::editable_cell::EditableCell; use crate::components::editable_cell::InputType; -use crate::components::tag_editor::TagEditor; use leptos::*; use serde::Deserialize; use uuid::Uuid; use leptos::logging::log; use crate::models::item::Item; use std::collections::HashMap; -use std::sync::{Arc, Mutex}; +use std::sync::Arc; use wasm_bindgen::JsCast; #[derive(Deserialize, Clone, Debug)] @@ -36,7 +35,6 @@ pub fn ItemsList( id: Uuid::new_v4().to_string(), name: String::new(), description: String::new(), - tags: vec![], reviews: vec![], wikidata_id: None, custom_properties: HashMap::new(), @@ -100,7 +98,6 @@ pub fn ItemsList( id: Uuid::new_v4().to_string(), name: String::new(), description: String::new(), - tags: vec![], reviews: vec![], wikidata_id: None, custom_properties: HashMap::new(), @@ -118,24 +115,6 @@ pub fn ItemsList( }); }; - // Add a new tag to an item - let add_tag = move |index: usize, key: String, value: String| { - set_items.update(|items| { - if let Some(item) = items.get_mut(index) { - item.tags.push((key, value)); - } - }); - }; - - // Remove a tag from an item - let remove_tag = move |item_index: usize, tag_index: usize| { - set_items.update(|items| { - if let Some(item) = items.get_mut(item_index) { - item.tags.remove(tag_index); - } - }); - }; - // Remove an item let remove_item = move |index: usize| { set_items.update(|items| { @@ -144,7 +123,7 @@ pub fn ItemsList( }; // List of properties to display as rows - let properties = vec!["Name", "Description", "Tags", "Actions"]; + let properties = vec!["Name", "Description", "Actions"]; view! {
@@ -222,20 +201,12 @@ pub fn ItemsList( let label_for_display = suggestion.label.clone(); let description_for_click = suggestion.description.clone().unwrap_or_default(); let description_for_display = suggestion.description.clone().unwrap_or_default(); - let id = suggestion.id.clone(); - - // Tags for the item - let tags = vec![ - ("source".to_string(), "wikidata".to_string()), - ("wikidata_id".to_string(), id.clone()), - ]; - + let id = suggestion.id.clone(); view! {
  • }.into_view(), - "Tags" => view! { - - }.into_view(), "Actions" => view! { }.into_view(), diff --git a/src/components/mod.rs b/src/components/mod.rs index 2236103..8d7f430 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -1,4 +1,3 @@ pub mod item_form; pub mod items_list; -pub mod editable_cell; -pub mod tag_editor; \ No newline at end of file +pub mod editable_cell; \ No newline at end of file diff --git a/src/components/tag_editor.rs b/src/components/tag_editor.rs deleted file mode 100644 index e38e436..0000000 --- a/src/components/tag_editor.rs +++ /dev/null @@ -1,54 +0,0 @@ -use leptos::*; -use std::sync::{Arc, Mutex}; - - - -#[component] -pub fn TagEditor( - tags: Vec<(String, String)>, - on_add: impl Fn(String, String) + 'static, - on_remove: Arc>, -) -> impl IntoView { - let (key, set_key) = create_signal(String::new()); - let (value, set_value) = create_signal(String::new()); - - let add_tag = move |_| { - if !key.get().is_empty() && !value.get().is_empty() { - on_add(key.get(), value.get()); - set_key.set(String::new()); - set_value.set(String::new()); - } - }; - - view! { -
    -
      - {tags.iter().enumerate().map(|(index, (k, v))| { - let on_remove = on_remove.clone(); - view! { -
    • - {format!("{}: {}", k, v)} - -
    • - } - }).collect::>()} -
    - - - -
    - } -} diff --git a/src/models/item.rs b/src/models/item.rs index 6b031a2..9af23ad 100644 --- a/src/models/item.rs +++ b/src/models/item.rs @@ -7,7 +7,6 @@ pub struct Item { pub id: String, pub name: String, pub description: String, - pub tags: Vec<(String, String)>, pub reviews: Vec, pub wikidata_id: Option, pub custom_properties: HashMap,