diff --git a/system/typemill/author/js/vue-contentnavi.js b/system/typemill/author/js/vue-contentnavi.js index 968b68e..3961956 100644 --- a/system/typemill/author/js/vue-contentnavi.js +++ b/system/typemill/author/js/vue-contentnavi.js @@ -70,7 +70,7 @@ const navigation = Vue.createApp({ { return tmaxios.defaults.baseURL + '/tm/content/' + data.settings.editor; }, - toggleFolder(name) + toggleFolderOLD(name) { var index = this.expanded.indexOf(name); if (index > -1) @@ -84,40 +84,53 @@ const navigation = Vue.createApp({ } localStorage.setItem("expanded", this.expanded.toString()); }, + toggleFolder(url) + { + var index = this.expanded.indexOf(url); + if (index > -1) + { + this.expanded.splice(index, 1); + } + else + { + this.expanded.push(url); + } + localStorage.setItem("expanded", this.expanded.toString()); + }, expandNavigation() { - this.expanded = this.getFolderNames(this.navigation, []); + this.expanded = this.getFolderUrls(this.navigation, []); localStorage.setItem("expanded", this.expanded.toString()); }, collapseNavigation() { - this.expanded = this.getActiveNames(this.navigation, []); + this.expanded = this.getActiveUrls(this.navigation, []); localStorage.setItem("expanded", this.expanded.toString()); }, - getActiveNames(navigation, expanded) + getActiveUrls(navigation, expanded) { for (const item of navigation) { if(item.activeParent || item.active) { - expanded.push(item.name); + expanded.push(item.urlRelWoF); } if (item.elementType == 'folder') { - this.getActiveNames(item.folderContent, expanded); + this.getActiveUrls(item.folderContent, expanded); } } return expanded; }, - getFolderNames(navigation, result) + getFolderUrls(navigation, result) { for (const item of navigation) { if (item.elementType == 'folder') { - result.push(item.name); - this.getFolderNames(item.folderContent, result); + result.push(item.urlRelWoF); + this.getFolderUrls(item.folderContent, result); } } return result; @@ -169,8 +182,8 @@ navigation.component('navilevel',{ -