refactor(centralui): NotificationReport adopts OffsetPager + DateTimeRangeFilter + tokenized backdrop (T35d)
This commit is contained in:
+11
-27
@@ -72,16 +72,9 @@
|
|||||||
data-test="notif-filter-node"
|
data-test="notif-filter-node"
|
||||||
@bind="_nodeFilter" />
|
@bind="_nodeFilter" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<DateTimeRangeFilter From="_fromFilter" FromChanged="(v => _fromFilter = v)"
|
||||||
<label class="form-label small mb-1" for="no-from">From</label>
|
To="_toFilter" ToChanged="(v => _toFilter = v)"
|
||||||
<input id="no-from" type="datetime-local" class="form-control form-control-sm"
|
IdPrefix="no" />
|
||||||
@bind="_fromFilter" />
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<label class="form-label small mb-1" for="no-to">To</label>
|
|
||||||
<input id="no-to" type="datetime-local" class="form-control form-control-sm"
|
|
||||||
@bind="_toFilter" />
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<label class="form-label small mb-1" for="no-search">Subject keyword</label>
|
<label class="form-label small mb-1" for="no-search">Subject keyword</label>
|
||||||
<input id="no-search" type="search" class="form-control form-control-sm"
|
<input id="no-search" type="search" class="form-control form-control-sm"
|
||||||
@@ -205,20 +198,12 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if (_totalCount > _pageSize)
|
<OffsetPager Page="_pageNumber"
|
||||||
{
|
PageChanged="OnPageChanged"
|
||||||
<div class="d-flex justify-content-between align-items-center">
|
HasNextPage="@(_notifications.Count >= _pageSize)"
|
||||||
<span class="text-muted small">
|
TotalCount="_totalCount"
|
||||||
Page @_pageNumber of @((_totalCount + _pageSize - 1) / _pageSize) · @_totalCount total
|
PageSize="_pageSize"
|
||||||
</span>
|
Disabled="_loading" />
|
||||||
<div>
|
|
||||||
<button class="btn btn-outline-secondary btn-sm me-1"
|
|
||||||
@onclick="PrevPage" disabled="@(_pageNumber <= 1 || _loading)">Previous</button>
|
|
||||||
<button class="btn btn-outline-secondary btn-sm"
|
|
||||||
@onclick="NextPage" disabled="@(_notifications.Count < _pageSize || _loading)">Next</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -226,7 +211,7 @@
|
|||||||
@if (_detailNotification != null)
|
@if (_detailNotification != null)
|
||||||
{
|
{
|
||||||
var d = _detailNotification;
|
var d = _detailNotification;
|
||||||
<div class="modal show d-block" tabindex="-1" style="background: rgba(0,0,0,0.4);"
|
<div class="modal show d-block sb-modal-backdrop" tabindex="-1"
|
||||||
@onclick="CloseDetail">
|
@onclick="CloseDetail">
|
||||||
<div class="modal-dialog modal-dialog-scrollable modal-lg" @onclick:stopPropagation="true">
|
<div class="modal-dialog modal-dialog-scrollable modal-lg" @onclick:stopPropagation="true">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
@@ -432,8 +417,7 @@
|
|||||||
await FetchPage();
|
await FetchPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task PrevPage() { _pageNumber--; await FetchPage(); }
|
private async Task OnPageChanged(int page) { _pageNumber = page; await FetchPage(); }
|
||||||
private async Task NextPage() { _pageNumber++; await FetchPage(); }
|
|
||||||
|
|
||||||
private async Task FetchPage()
|
private async Task FetchPage()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user