feat: implement title method for an entity
This commit is contained in:
@@ -105,6 +105,10 @@ impl Entity {
|
||||
self.role
|
||||
}
|
||||
|
||||
pub fn title(&self) -> String {
|
||||
format!("[{} {}]", self.name(), self.role())
|
||||
}
|
||||
|
||||
pub fn key_data(&self) -> KeyData {
|
||||
self.key.key_data().clone()
|
||||
}
|
||||
|
||||
13
src/main.rs
13
src/main.rs
@@ -262,17 +262,12 @@ impl Handler for AppServer {
|
||||
};
|
||||
|
||||
let terminal = Terminal::with_options(backend, options).unwrap();
|
||||
let title = {
|
||||
let entity = self.entity().await;
|
||||
let entity = entity.read().await;
|
||||
format!("[{} {}]", entity.name(), entity.role())
|
||||
};
|
||||
|
||||
let mut textarea = TextArea::default();
|
||||
textarea.set_block(
|
||||
Block::bordered()
|
||||
.border_type(BorderType::Rounded)
|
||||
.title(title),
|
||||
.title(self.entity().await.read().await.title()),
|
||||
);
|
||||
|
||||
let mut clients = self.clients.write().await;
|
||||
@@ -382,18 +377,16 @@ impl Handler for AppServer {
|
||||
let mut clients = self.clients.write().await;
|
||||
let client = clients.get_mut(id).unwrap();
|
||||
|
||||
let title = format!("[{} {}]", ent.name(), ent.role());
|
||||
|
||||
let block = Block::bordered()
|
||||
.border_type(BorderType::Rounded)
|
||||
.title(title);
|
||||
.title(ent.title());
|
||||
client.textarea.set_block(block);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO: re-render the textarea since it displays the current
|
||||
// user's details
|
||||
// re-render
|
||||
self.render().await;
|
||||
}
|
||||
// Alt-Return for multiline
|
||||
|
||||
Reference in New Issue
Block a user