diff --git a/src/entity.rs b/src/entity.rs index 7be95a8..b842d5f 100644 --- a/src/entity.rs +++ b/src/entity.rs @@ -79,7 +79,7 @@ impl Entity { } pub fn stock_id(&self) -> Option { - self.data().stock_id().cloned() + self.imp().data.borrow().stock_id().cloned() } pub fn is_inside_for_dt(&self, dt: DateTime) -> bool { diff --git a/src/entity_data.rs b/src/entity_data.rs index c826550..07045e3 100644 --- a/src/entity_data.rs +++ b/src/entity_data.rs @@ -55,9 +55,7 @@ entity_data_field! { StockId(StockId) => "Stock Name", Location(String) => "Location", ExpirationDt(DateTime) => "Expiration Date", - Photo(JpegImage) => "Photo", - Name(String) => "Name", Sex(Sex) => "Sex", Email(String) => "Email", @@ -106,9 +104,13 @@ impl EntityData { } entity_data_getter!(stock_id, StockId, &StockId); + entity_data_getter!(location, Location, &String); entity_data_getter!(expiration_dt, ExpirationDt, &DateTime); entity_data_getter!(photo, Photo, &JpegImage); entity_data_getter!(name, Name, &String); + entity_data_getter!(sex, Sex, &Sex); + entity_data_getter!(email, Email, &String); + entity_data_getter!(program, Program, &String); } impl Serialize for EntityData { diff --git a/src/ui/entities_view.rs b/src/ui/entities_view.rs index 0a1ae77..2cebb1c 100644 --- a/src/ui/entities_view.rs +++ b/src/ui/entities_view.rs @@ -402,10 +402,14 @@ mod imp { let fuzzy_filter = FuzzyFilter::new(|o| { let entity = o.downcast_ref::().unwrap(); + let entity_data = entity.data(); [ Some(entity.id().to_string()), entity.stock_id().map(|s| s.to_string()), - entity.data().name().cloned(), + entity_data.location().cloned(), + entity_data.name().cloned(), + entity_data.email().cloned(), + entity_data.program().cloned(), ] .into_iter() .flatten()