better behavior on default loading detail / switching between tree and detail

This commit is contained in:
azivner 2018-12-30 22:36:39 +01:00
parent 86bc84a2ad
commit 32220476aa
2 changed files with 24 additions and 9 deletions

View file

@ -21,9 +21,19 @@ function togglePanes() {
}
}
$closeDetailButton.click(togglePanes);
function showDetailPane() {
if (!$detail.is(":visible")) {
$detail.removeClass("d-none");
$leftPane.addClass("d-none");
}
}
let firstLoad = true;
$closeDetailButton.click(() => {
// no page is opened
document.location.hash = '-';
togglePanes();
});
async function showTree() {
const tree = await treeService.loadTree();
@ -42,12 +52,7 @@ async function showTree() {
treeService.setCurrentNotePathToHash(node);
if (!firstLoad) {
togglePanes();
}
else {
firstLoad = false;
}
showDetailPane();
noteDetailService.switchToNote(noteId, true);
},
@ -115,4 +120,9 @@ $("#log-out-button").click(() => {
$("#logout-form").submit();
});
// this is done so that startNotePath is not used
if (!document.location.hash) {
document.location.hash = '-';
}
showTree();

View file

@ -337,6 +337,10 @@ function clearSelectedNodes() {
}
async function treeInitialized() {
if (startNotePath === '-') {
return;
}
const noteId = treeUtils.getNoteIdFromNotePath(startNotePath);
if (!await treeCache.getNote(noteId)) {
@ -344,6 +348,7 @@ async function treeInitialized() {
startNotePath = null;
}
// - is used in mobile to indicate that we don't want to activate any note after load
if (startNotePath) {
const node = await activateNote(startNotePath);
@ -652,7 +657,7 @@ utils.bindShortcut('ctrl+.', scrollToCurrentNote);
$(window).bind('hashchange', function() {
const notePath = getNotePathFromAddress();
if (getCurrentNotePath() !== notePath) {
if (notePath !== '-' && getCurrentNotePath() !== notePath) {
console.debug("Switching to " + notePath + " because of hash change");
activateNote(notePath);