< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Admin_Views_DataScopes_Index
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Admin/Views/DataScopes/Index.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 5
Coverable lines: 5
Total lines: 59
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 10
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%110100%
<ExecuteAsync()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Admin/Views/DataScopes/Index.cshtml

#LineLine coverage
 1@model List<DataScopeListItemVm>
 2@{
 03    var json = new System.Text.Json.JsonSerializerOptions(System.Text.Json.JsonSerializerDefaults.Web);
 4}
 5
 6<section class="admin-hero">
 7    <h1>Наборы данных</h1>
 8    <p class="subtitle">Ограничение доступных записей через Dynamic LINQ.</p>
 9    <p class="subtitle-help">Наборы назначаются ролям и пользователям.</p>
 10</section>
 11
 12<nav class="admin-quick-links">
 13    <a asp-area="Admin" asp-controller="Roles" asp-action="Index"><i class="bi bi-person-badge"></i>Роли</a>
 14    <a asp-area="Admin" asp-controller="Users" asp-action="Index"><i class="bi bi-people"></i>Пользователи</a>
 15    <a asp-area="Admin" asp-controller="Pages" asp-action="Index"><i class="bi bi-window-stack"></i>Страницы</a>
 16</nav>
 17
 18<section class="admin-intro">
 19    <i class="bi bi-info-circle"></i>
 20    <div>Шаблоны помогают собрать выражение без ручного написания Dynamic LINQ.</div>
 21</section>
 22
 23<div class="admin-toolbar admin-surface">
 024    <div class="bsx-dir-stats"><span class="bsx-dir-stat">Всего наборов <b>@Model.Count</b></span></div>
 25    <div class="d-flex gap-2">
 26        <a asp-action="Templates" class="btn btn-primary btn-sm"><i class="bi bi-magic"></i> Создать из шаблона</a>
 27        <a asp-action="Create" class="btn btn-outline-primary btn-sm"><i class="bi bi-plus-lg"></i> Вручную (Dynamic LIN
 28    </div>
 29</div>
 30
 031@await Html.PartialAsync("~/Areas/Studio2/Views/Shared/_BsxDirectoryGrid.cshtml", new BsxDirectoryGridViewModel("admScop
 032<script type="application/json" id="admScopesData">@Html.Raw(System.Text.Json.JsonSerializer.Serialize(Model, json))</sc
 33
 34@section Scripts {
 35    <script>
 36        (function () {
 37            const A = window.AdminGrid, D = window.BsxDirectory, esc = A.esc;
 038            const url = (action, id) => '@Url.Action("Index")'.replace(/\/Index$/, '') + '/' + action + '/' + id;
 39            A.grid({
 40                key: 'admScopes', prefix: 'admScopes', rows: A.data('admScopesData'),
 41                rowUrl: r => url('Edit', r.id),
 42                columnDefs: [
 43                    D.setCol({ colId: 'entityName', field: 'entityName', headerName: 'Сущность', width: 140, cellRendere
 44                    A.code({ colId: 'code', field: 'code', headerName: 'Код' }),
 45                    { colId: 'displayName', field: 'displayName', headerName: 'Название', minWidth: 180, flex: 1, cellCl
 46                    { colId: 'filterSummary', field: 'filterSummary', headerName: 'Расшифровка', minWidth: 220, flex: 2,
 47                    { colId: 'filterExpression', field: 'filterExpression', headerName: 'Dynamic LINQ', minWidth: 240, f
 48                      cellRenderer: p => '<span class="admin-expr">' + esc(p.value || '') + '</span>' },
 49                    A.check({ colId: 'isActive', field: 'isActive', headerName: 'Активно' }),
 50                    D.actionsCol(r => [
 51                        { icon: 'fa-pen', title: 'Изменить', kind: 'edit', href: url('Edit', r.id) },
 52                        { icon: 'fa-trash', title: 'Удалить набор', kind: 'danger',
 53                          onClick: row => A.confirmPost(url('Delete', row.id), {}, { title: 'Удалить набор данных', mess
 54                    ], { width: 110 })
 55                ]
 56            });
 57        })();
 58    </script>
 59}

Methods/Properties

ExecuteAsync()
<ExecuteAsync()