fixed & improved history navigation - context menu now indicates current, "future" and "past" items

This commit is contained in:
zadam 2020-03-17 21:15:57 +01:00
parent 8a9875ecfa
commit c3b44b9a91
2 changed files with 22 additions and 3 deletions

View File

@ -136,11 +136,27 @@ export default class Entrypoints extends Component {
}
backInNoteHistoryCommand() {
window.history.back();
if (utils.isElectron()) {
const webContents = require('electron').remote.getCurrentWebContents();
const activeIndex = parseInt(webContents.getActiveIndex());
webContents.goToIndex(activeIndex - 1);
}
else {
window.history.back();
}
}
forwardInNoteHistoryCommand() {
window.history.forward();
if (utils.isElectron()) {
const webContents = require('electron').remote.getCurrentWebContents();
const activeIndex = parseInt(webContents.getActiveIndex());
webContents.goToIndex(activeIndex + 1);
}
else {
window.history.forward();
}
}
async searchForResultsCommand({searchText}) {

View File

@ -58,6 +58,8 @@ export default class HistoryNavigationWidget extends BasicWidget {
async showContextMenu(e) {
let items = [];
const activeIndex = this.webContents.getActiveIndex();
for (const idx in this.webContents.history) {
const url = this.webContents.history[idx];
const [_, notePathWithTab] = url.split('#');
@ -68,7 +70,8 @@ export default class HistoryNavigationWidget extends BasicWidget {
items.push({
title,
idx,
uiIcon: "empty"
uiIcon: idx == activeIndex ? "radio-circle-marked" : // compare with type coercion!
(idx < activeIndex ? "left-arrow-alt" : "right-arrow-alt")
});
}