bugfixing
This commit is contained in:
parent
c73be7166f
commit
ae5ce58eec
6 changed files with 103 additions and 44 deletions
|
|
@ -13,7 +13,7 @@ pub struct LogView {
|
|||
}
|
||||
|
||||
impl LogView {
|
||||
pub fn selected(&self) -> Option<Rc<LogEntry>> {
|
||||
pub fn selected(&self) -> Option<(Rc<LogEntry>, usize)> {
|
||||
let mut temp_iter = self.iter.clone();
|
||||
for _ in 0..self.selection_offset {
|
||||
let _ = temp_iter.next()?;
|
||||
|
|
@ -89,7 +89,7 @@ impl LogViewer {
|
|||
) -> Option<Box<dyn LogStream>> {
|
||||
let mut temp_stream = stream.clone();
|
||||
let mut max = 100usize;
|
||||
while let Some(curr) = temp_stream.next() {
|
||||
while let Some((curr, _)) = temp_stream.next() {
|
||||
if Rc::ptr_eq(&curr, elem) {
|
||||
return Some(temp_stream);
|
||||
}
|
||||
|
|
@ -107,7 +107,7 @@ impl LogViewer {
|
|||
let mut new_stack = Vec::<LogView>::new();
|
||||
|
||||
'outer: for (elem, old_offset) in offsets_list {
|
||||
let Some(elem) = elem else {
|
||||
let Some((elem, _)) = elem else {
|
||||
break;
|
||||
};
|
||||
|
||||
|
|
@ -181,14 +181,14 @@ impl LogViewer {
|
|||
}
|
||||
|
||||
pub fn footer_fields(&self) -> Vec<(String, serde_json::Value)> {
|
||||
if let Some(selected) = self.selected() {
|
||||
if let Some((selected, _)) = self.selected() {
|
||||
selected.all_fields().fields.into_iter().collect::<Vec<_>>()
|
||||
} else {
|
||||
Vec::new()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn items(&self, max: usize) -> Option<(Vec<Rc<LogEntry>>, usize)> {
|
||||
pub fn items(&self, max: usize) -> Option<(Vec<(Rc<LogEntry>, usize)>, usize)> {
|
||||
let mut temp_iter = self.curr.iter.clone();
|
||||
let mut res = Vec::new();
|
||||
for _ in 0..max {
|
||||
|
|
@ -201,7 +201,7 @@ impl LogViewer {
|
|||
Some((res, self.curr.selection_offset))
|
||||
}
|
||||
|
||||
pub fn selected(&self) -> Option<Rc<LogEntry>> {
|
||||
pub fn selected(&self) -> Option<(Rc<LogEntry>, usize)> {
|
||||
self.curr.selected()
|
||||
}
|
||||
|
||||
|
|
@ -278,10 +278,10 @@ impl LogViewer {
|
|||
|
||||
pub fn enter(&mut self) {
|
||||
if !self.footer_selected {
|
||||
let Some(s) = self.selected() else {
|
||||
let Some((s, _)) = self.selected() else {
|
||||
return;
|
||||
};
|
||||
let Some(i) = s.from_start() else {
|
||||
let Some(i) = s.from_start(0) else {
|
||||
return;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue