< Summary

Class:MUNity.BlazorServer.Shared.TopMenu.TopMenuComponent
Assembly:MUNity.BlazorServer
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNity.BlazorServer\Shared\TopMenu\TopMenuComponent.razor
Covered lines:0
Uncovered lines:37
Coverable lines:37
Total lines:101
Line coverage:0% (0 of 37)
Covered branches:0
Total branches:8
Branch coverage:0% (0 of 8)
Covered methods:0
Total methods:7
Method coverage:0% (0 of 7)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
BuildRenderTree(...)0%80%
.ctor()100%10%
get_Title()100%10%
get_PageId()100%10%
get_SubItems()100%10%
get_ConferenceId()100%10%
OnInitialized()100%10%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNity.BlazorServer\Shared\TopMenu\TopMenuComponent.razor

#LineLine coverage
 1@inject NavigationManager navManager;
 2@inject MUNity.Database.Context.MunityContext munityContext
 3
 04@if (menuItems != null)
 05{
 6    <div id="top-menu" class="app-top-menu">
 7    <!-- BEGIN menu -->
 8        <div class="menu" style="margin-left: @(scrollMarginLeft)px;">
 9
 010            @foreach (var menuItem in menuItems)
 011            {
 012                @if (menuItem.SubItems.Count == 0)
 013                {
 14                    <div class="menu-item">
 15                        <a href="@($"/web/conference/{ConferenceId}/{menuItem.PageId}")" class="menu-link">
 16                            @*<div class="menu-icon">
 17                                <i class="oi oi-home"></i>
 18                            </div>*@
 019                            <div class="menu-text">@menuItem.Title</div>
 20                        </a>
 21                    </div>
 022                }
 23                else
 024                {
 25                    <div class="menu-item has-sub">
 26                        <a href="javascript:;" class="menu-link">
 27                            @*<div class="menu-icon">
 28                                <i class="oi oi-home"></i>
 29                            </div>*@
 030                            <div class="menu-text">@menuItem.Title</div>
 31                            <div class="menu-caret"></div>
 32                        </a>
 33                        <div class="menu-submenu">
 034                            @foreach (var subMenuItem in menuItem.SubItems)
 035                            {
 36                                <div class="menu-item">
 037                                    <a href="@($"/web/conference/{ConferenceId}/{subMenuItem.PageId}")" class="menu-link
 38                                </div>
 039                            }
 40                        </div>
 41                    </div>
 042                }
 043            }
 44
 45
 46            <div class="menu-item">
 47                <a href="@($"/web/conference/{ConferenceId}/register")" class="menu-link">
 48                    @*<div class="menu-icon">
 49                        <i class="oi oi-home"></i>
 50                    </div>*@
 51                    <div class="menu-text">Anmeldung <span class="menu-label">jetzt offen</span></div>
 52                </a>
 53            </div>
 54
 55
 56            <!-- Start and Stop scroll Buttons -->
 57            @*<div class="menu-item menu-control menu-control-start show">
 58                        <a class="menu-link" @onclick="() => scrollMarginLeft += 200"><i class="fa fa-angle-left"></i></
 59                    </div>
 60                    <div class="menu-item menu-control menu-control-end show">
 61                        <a class="menu-link"  @onclick="() => scrollMarginLeft -= 200"><i class="fa fa-angle-right"></i>
 62                    </div>
 63                </div>*@
 64            <!-- END menu -->
 65        </div>
 66    </div>
 067}
 68
 69@code {
 070    private int scrollMarginLeft = 0;
 71
 72    private class menuItemStruct
 73    {
 074        public string Title { get; set; }
 75
 076        public string PageId { get; set; }
 77
 078        public List<menuItemStruct> SubItems { get; set; }
 79    }
 80
 81    private List<menuItemStruct> menuItems;
 82
 083    private string ConferenceId => navManager.Uri.Split("/")[5];
 84
 85    protected override void OnInitialized()
 086    {
 087        base.OnInitialized();
 088        this.menuItems = munityContext.ConferenceWebMenuEntries
 089        .Where(n => n.Conference.ConferenceId == ConferenceId && n.Parent == null)
 090        .Select(n => new menuItemStruct()
 091            {
 092                PageId = n.TargetedPage.ConferenceWebPageId,
 093                Title = n.Title,
 094                SubItems = n.ChildEntries.Select(a => new menuItemStruct()
 095                {
 096                    PageId = a.TargetedPage.ConferenceWebPageId,
 097                    Title = a.Title
 098                }).ToList()
 099        }).ToList();
 0100    }
 101}