< Summary

Information
Class: AspNetCoreGeneratedDocument.Views_Shared__SidebarStructuredNav
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Views/Shared/_SidebarStructuredNav.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 41
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ExecuteAsync()0%620%
<ExecuteAsync()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Views/Shared/_SidebarStructuredNav.cshtml

#LineLine coverage
 1@using System.Text.Json
 2@using System.Text.Json.Serialization
 3@using OzonOrdersWeb.WebServices.Sidebar
 4@model SidebarNavViewModel
 5@{
 6    // Дерево и настройки уходят клиенту одним JSON-блоком: меню строится AG Grid (sidebar-navigation.js).
 07    var payload = JsonSerializer.Serialize(new
 08    {
 09        tree = Model.Tree,
 010        settings = Model.Settings,
 011        saveUrl = Model.SaveUrl,
 012        keyPrefix = Model.KeyPrefix
 013    }, new JsonSerializerOptions(JsonSerializerDefaults.Web)
 014    {
 015        DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
 016        Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
 017    }).Replace("</", "<\\/");
 18}
 19<nav class="sidebar-nav sidebar-nav--grid" data-sidebar-nav>
 20    <div class="sidebar-nav-search" data-sidebar-search>
 21        <span class="ag-icon ag-icon-search sidebar-nav-search-icon" role="presentation"></span>
 22        <input id="sidebarNavSearch" type="search" autocomplete="off" placeholder="Раздел, действие или путь…" aria-labe
 23        <kbd>/</kbd>
 24        <button type="button" class="sidebar-nav-search-clear" aria-label="Очистить поиск" hidden>
 25            <span class="ag-icon ag-icon-cross" role="presentation"></span>
 26        </button>
 27    </div>
 28    <div id="sidebarNavGrid" class="sidebar-nav-grid" aria-label="Разделы"></div>
 29
 30    @* Источники счётчиков: внешние скрипты (job-logs-badges.js, ozon-chat-badge.js, инлайн в _Sidebar)
 31       адресуются к ним по id, а грид копирует их состояние в ячейки — строки грида виртуальные,
 32       и прямые ссылки на элементы внутри него жить не могут. *@
 33    <div class="sidebar-badge-sources" hidden>
 34        <span id="sidebar-order-control-badge" class="sidebar-nav-badge supplier-cart-badge" style="display:none;">0</sp
 35        <span id="sidebar-supplier-cart-badge" class="sidebar-nav-badge supplier-cart-badge" style="display:none;">0</sp
 36        <span id="sidebar-bitrix-stock-badge" class="sidebar-nav-badge" style="display:none;">0</span>
 37        <span id="sidebar-ozon-chat-badge" class="sidebar-nav-badge" style="display:none;">0</span>
 38        <span id="sidebar-job-logs-badge" class="sidebar-nav-badge" style="display:none;">0</span>
 39    </div>
 040    <script id="sidebarNavData" type="application/json">@Html.Raw(payload)</script>
 41</nav>

Methods/Properties

ExecuteAsync()
<ExecuteAsync()