Fix editor bug
This commit is contained in:
1 parent
824a868d73
commit
8603e9b981
1 file changed
+6
-6
+6
-6
@@ -11,7 +11,7 @@ use iced::widget::{button, column, row, rule, scrollable, text};
|
||||
use iced::{Element, Fill};
|
||||
use iced_core::Padding;
|
||||
|
||||
pub struct WordEditor<Message> {
|
||||
pub struct WordEditor<Message : Clone> {
|
||||
state: AppState,
|
||||
pub word_handle: EntityHandle<WordData>,
|
||||
on_delete: Option<Message>,
|
||||
@@ -19,13 +19,13 @@ pub struct WordEditor<Message> {
|
||||
fields: Vec<CustomField>,
|
||||
}
|
||||
|
||||
impl<Message> WordEditor<Message> {
|
||||
impl<Message: std::clone::Clone> WordEditor<Message> {
|
||||
pub(crate) fn update(&mut self, message: WordMessage) -> Option<Message> {
|
||||
let dictionary = &mut self.state.dictionary.write();
|
||||
let word = dictionary.get_mut(&mut self.word_handle).unwrap();
|
||||
match message {
|
||||
Delete => {
|
||||
return self.on_delete.take();
|
||||
return self.on_delete.clone();
|
||||
}
|
||||
SetTags(n) => word.tags = n,
|
||||
SetKey(n) => {
|
||||
@@ -44,7 +44,7 @@ impl<Message> WordEditor<Message> {
|
||||
word.additional.remove(&key);
|
||||
}
|
||||
}
|
||||
self.on_edit.take()
|
||||
self.on_edit.clone()
|
||||
}
|
||||
|
||||
pub(crate) fn view(&self) -> Element<'_, WordMessage> {
|
||||
@@ -108,7 +108,7 @@ impl<Message> WordEditor<Message> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<Message> WordEditor<Message> {
|
||||
impl<Message: std::clone::Clone> WordEditor<Message> {
|
||||
pub fn new(handle: EntityHandle<WordData>, state: AppState) -> Self {
|
||||
let fields = state
|
||||
.custom_fields
|
||||
@@ -135,7 +135,7 @@ impl<Message> WordEditor<Message> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<Message> WordEditor<Message> {
|
||||
impl<Message: std::clone::Clone> WordEditor<Message> {
|
||||
fn get_view_for_more(&self, value: (&Id, &String)) -> Element<'_, WordMessage> {
|
||||
let field = self.fields.iter().find(|f| f.id == *value.0).unwrap();
|
||||
match value.0 {
|
||||
|
||||
Reference in new issue
Block a user