refactoring and fix icon assignment

This commit is contained in:
zadam 2019-03-18 22:10:10 +01:00
parent 1faf2c6ecd
commit 3f656ea76f

View file

@ -3,6 +3,7 @@ import utils from './utils.js';
import server from './server.js'; import server from './server.js';
import infoService from "./info.js"; import infoService from "./info.js";
import treeCache from "./tree_cache.js"; import treeCache from "./tree_cache.js";
import treeBuilder from "./tree_builder.js";
async function moveBeforeNode(nodesToMove, beforeNode) { async function moveBeforeNode(nodesToMove, beforeNode) {
nodesToMove = filterRootNote(nodesToMove); nodesToMove = filterRootNote(nodesToMove);
@ -138,6 +139,22 @@ async function moveNodeUpInHierarchy(node) {
node); node);
} }
async function checkFolderStatus(node) {
const children = node.getChildren();
const note = await treeCache.getNote(node.data.noteId);
if (!children || children.length === 0) {
node.folder = false;
node.icon = await treeBuilder.getIcon(note);
node.renderTitle();
}
else if (children && children.length > 0) {
node.folder = true;
node.icon = await treeBuilder.getIcon(note);
node.renderTitle();
}
}
async function changeNode(func, node, beforeNoteId = null, afterNoteId = null) { async function changeNode(func, node, beforeNoteId = null, afterNoteId = null) {
utils.assertArguments(func, node); utils.assertArguments(func, node);
@ -159,15 +176,8 @@ async function changeNode(func, node, beforeNoteId = null, afterNoteId = null) {
treeService.setCurrentNotePathToHash(node); treeService.setCurrentNotePathToHash(node);
if (!thisOldParentNode.getChildren() || thisOldParentNode.getChildren().length === 0) { await checkFolderStatus(thisOldParentNode);
thisOldParentNode.folder = false; await checkFolderStatus(thisNewParentNode);
thisOldParentNode.renderTitle();
}
if (!thisNewParentNode.folder) {
thisNewParentNode.folder = true;
thisNewParentNode.renderTitle();
}
if (!thisNewParentNode.isExpanded()) { if (!thisNewParentNode.isExpanded()) {
// this expands the note in case it become the folder only after the move // this expands the note in case it become the folder only after the move
@ -181,8 +191,8 @@ async function changeNode(func, node, beforeNoteId = null, afterNoteId = null) {
} }
newParentNode.load(true); // force reload to show up new note newParentNode.load(true); // force reload to show up new note
newParentNode.folder = true;
newParentNode.renderTitle(); await checkFolderStatus(newParentNode);
} }
for (const oldParentNode of treeService.getNodesByNoteId(thisOldParentNode.data.noteId)) { for (const oldParentNode of treeService.getNodesByNoteId(thisOldParentNode.data.noteId)) {
@ -193,11 +203,7 @@ async function changeNode(func, node, beforeNoteId = null, afterNoteId = null) {
await oldParentNode.load(true); // force reload to show up new note await oldParentNode.load(true); // force reload to show up new note
if (oldParentNode.getChildren().length === 0) { await checkFolderStatus(oldParentNode);
oldParentNode.folder = false;
}
oldParentNode.renderTitle();
} }
} }