Skip to content
Snippets Groups Projects
Commit e70b6bfb authored by Thomas Hackl's avatar Thomas Hackl Committed by Elmar Ludwig
Browse files

Resolve "Fehlermeldung TypeError: this.initialNavigation is null auf Seiten,...

Resolve "Fehlermeldung TypeError: this.initialNavigation is null auf Seiten, die sich nicht in die Navigation einhängen"

Closes #2435

Merge request studip/studip!1627
parent f256e30a
No related branches found
No related tags found
No related merge requests found
......@@ -5,26 +5,34 @@
<a :href="item.url" :title="navigateToText(item.title)"
:aria-label="navigateToText(item.title)" tabindex="0">
<span class="navigation-icon">
<studip-icon v-if="isCourse" shape="seminar" role="info_alt" size="24" alt=""></studip-icon>
<img v-if="item.icon" :src="iconUrl" width="24" alt="">
<studip-icon v-if="isCourse" shape="seminar" role="info_alt" :size="24" alt=""></studip-icon>
<img v-if="item.icon" :src="iconUrl" width="24" alt="" />
</span>
<span class="navigation-text">
{{ item.title }}
</span>
</a>
</div>
<button class="styleless navigation-in"
:title="openNavigationText(item.title)"
:aria-label="openNavigationText(item.title)"
@click="moveTo(item.path)" @keydown.prevent.enter="moveTo(item.path)" @keydown.prevent.space="moveTo(item.path)">
<studip-icon shape="arr_1right" role="info_alt" size="20" alt=""></studip-icon>
<button
class="styleless navigation-in"
:title="openNavigationText(item.title)"
:aria-label="openNavigationText(item.title)"
@click="moveTo(item.path)"
@keydown.prevent.enter="moveTo(item.path)"
@keydown.prevent.space="moveTo(item.path)"
>
<studip-icon shape="arr_1right" role="info_alt" :size="20" alt=""></studip-icon>
</button>
</template>
<div v-else class="navigation-title">
<a :href="item.url" tabindex="0" :title="navigateToText(item.title)"
:aria-label="navigateToText(item.title)">
<studip-icon v-if="isCourse" shape="seminar" role="info_alt" size="24" alt=""></studip-icon>
<img v-if="item.icon" :src="iconUrl" width="24" alt="">
<a
:href="item.url"
tabindex="0"
:title="navigateToText(item.title)"
:aria-label="navigateToText(item.title)"
>
<studip-icon v-if="isCourse" shape="seminar" role="info_alt" :size="24" alt=""></studip-icon>
<img v-if="item.icon" :src="iconUrl" width="24" alt="" />
{{ item.title }}
</a>
</div>
......
......@@ -8,12 +8,12 @@
<div v-if="hasSidebar" class="contentbar-nav" ref="leftNav">
<button :class="sidebarIconClasses" @click.prevent="toggleSidebar" id="toggle-sidebar"
:title="$gettext('Sidebar öffnen')">
<studip-icon shape="sidebar3" size="24" ref="sidebarIcon"
<studip-icon shape="sidebar3" :size="24" ref="sidebarIcon"
alt=""></studip-icon>
</button>
</div>
<div class="contentbar-wrapper-left">
<studip-icon :shape="icon" size="24" role="info" class="text-bottom contentbar-icon"></studip-icon>
<studip-icon :shape="icon" :size="24" role="info" class="text-bottom contentbar-icon"></studip-icon>
<nav class="contentbar-breadcrumb" ref="breadcrumbs">
<span>{{ title }}</span>
</nav>
......
......@@ -150,7 +150,8 @@ export default {
iconSize: 28,
showMenu: false,
activeItem: this.navigation.activated.at(-1) ?? 'start',
currentNavigation: this.findItem(this.navigation.activated.at(0) ?? 'start', studipNavigation),
currentNavigation: this.findItem(this.navigation.activated.at(0) ?? 'start', studipNavigation)
?? this.studipNavigation,
initialNavigation: {},
initialTitle: '',
isAdmin: ['root','admin'].includes(this.me.perm),
......@@ -259,7 +260,7 @@ export default {
return found;
}
// No children left to search through, we are doomed.
// No children left to search through, we are doomed.
} else {
return null;
}
......@@ -345,7 +346,8 @@ export default {
*/
moveTo(path) {
this.avatarMenuOpen = false;
this.currentNavigation = this.findItem(path ? path : '/', this.studipNavigation);
this.currentNavigation =
this.findItem(path ? path : '/', this.studipNavigation) ?? this.studipNavigation;
this.$nextTick(() => {
const current = document.querySelector('.navigation-current')
? document.querySelector('.navigation-current .navigation-title button')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment