Conceptual MenuItem caching - WIP for testing, will impl. in others if it seems good

This commit is contained in:
Bryan Ashby 2018-02-01 20:29:26 -07:00
parent a121d60c1b
commit 548ff41467
2 changed files with 21 additions and 3 deletions

View file

@ -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);
};
}