mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-08-01 15:34:30 +02:00
Conceptual MenuItem caching - WIP for testing, will impl. in others if it seems good
This commit is contained in:
parent
a121d60c1b
commit
548ff41467
2 changed files with 21 additions and 3 deletions
|
@ -64,6 +64,11 @@ function VerticalMenuView(options) {
|
|||
return;
|
||||
}
|
||||
|
||||
const cached = this.getRenderCacheItem(index, item.focused);
|
||||
if(cached) {
|
||||
return self.client.term.write(`${ansi.goto(item.row, self.position.col)}${cached}`);
|
||||
}
|
||||
|
||||
let text;
|
||||
let sgr;
|
||||
if(item.focused && self.hasFocusItems()) {
|
||||
|
@ -78,9 +83,9 @@ function VerticalMenuView(options) {
|
|||
sgr = (index === self.focusedItemIndex ? self.getFocusSGR() : self.getSGR());
|
||||
}
|
||||
|
||||
self.client.term.write(
|
||||
`${ansi.goto(item.row, self.position.col)}${sgr}${strUtil.pad(text, this.dimens.width, this.fillChar, this.justify)}`
|
||||
);
|
||||
text = `${sgr}${strUtil.pad(text, this.dimens.width, this.fillChar, this.justify)}`;
|
||||
self.client.term.write(`${ansi.goto(item.row, self.position.col)}${text}`);
|
||||
this.setRenderCacheItem(index, text, item.focused);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue