#478 contribs page
This commit is contained in:
parent
030a42e218
commit
25394f8b6e
@ -150,7 +150,7 @@
|
||||
</p>
|
||||
|
||||
<script src="~/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="~/js/bk.js?version=73"></script>
|
||||
<script src="~/js/bk.js?version=74"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=10"></script>
|
||||
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/chart.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -13,6 +13,7 @@ using RMuseum.Models.Generic.ViewModels;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
using System.Linq;
|
||||
using static Betalgo.Ranul.OpenAI.ObjectModels.RealtimeModels.RealtimeEventTypes;
|
||||
using Org.BouncyCastle.Asn1.Ocsp;
|
||||
|
||||
namespace GanjooRazor.Pages
|
||||
{
|
||||
@ -159,7 +160,7 @@ namespace GanjooRazor.Pages
|
||||
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await responseUsers.Content.ReadAsStringAsync()));
|
||||
}
|
||||
users = JArray.Parse(await responseUsers.Content.ReadAsStringAsync()).ToObject<List<GroupedByUserViewModel>>();
|
||||
usersPagination = JsonConvert.DeserializeObject<PaginationMetadata>(responseDays.Headers.GetValues("paging-headers").Single());
|
||||
usersPagination = JsonConvert.DeserializeObject<PaginationMetadata>(responseUsers.Headers.GetValues("paging-headers").Single());
|
||||
}
|
||||
|
||||
var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/contributions/{dataType}/summary");
|
||||
@ -190,6 +191,32 @@ namespace GanjooRazor.Pages
|
||||
|
||||
|
||||
public async Task<ActionResult> OnGetGroupedByDayAsync(string dataType, int pageNumber)
|
||||
{
|
||||
var responseUsers = await _httpClient.GetAsync($"{APIRoot.Url}/api/contributions/{dataType}/by/user?PageNumber=1&PageSize=30");
|
||||
|
||||
if (!responseUsers.IsSuccessStatusCode)
|
||||
{
|
||||
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await responseUsers.Content.ReadAsStringAsync()));
|
||||
}
|
||||
var users = JArray.Parse(await responseUsers.Content.ReadAsStringAsync()).ToObject<List<GroupedByUserViewModel>>();
|
||||
var usersPagination = JsonConvert.DeserializeObject<PaginationMetadata>(responseUsers.Headers.GetValues("paging-headers").Single());
|
||||
|
||||
return new PartialViewResult()
|
||||
{
|
||||
ViewName = "_GroupedByDateViewTablePartial",
|
||||
ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
|
||||
{
|
||||
Model = new _GroupedByDateViewTablePartialModel()
|
||||
{
|
||||
DataType = dataType,
|
||||
Users = users.ToArray(),
|
||||
UsersPagination = usersPagination,
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public async Task<ActionResult> OnGetGroupedByUsersAsync(string dataType, int pageNumber)
|
||||
{
|
||||
var responseDays = await _httpClient.GetAsync($"{APIRoot.Url}/api/contributions/{dataType}/daily?PageNumber={pageNumber}&PageSize=30");
|
||||
|
||||
@ -214,6 +241,8 @@ namespace GanjooRazor.Pages
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// memory cache
|
||||
/// </summary>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml">
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/chart.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script src="/js/jquery.mark.min.js"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
font-family: 'Vazir'
|
||||
}
|
||||
</style>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
||||
<script src="~/js/leaflet.js"></script>
|
||||
<script src="~/js/leaflet-providers.js"></script>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -238,7 +238,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="~/js/bk.js?version=73"></script>
|
||||
<script src="~/js/bk.js?version=74"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=10"></script>
|
||||
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/js/chart.js"></script>
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
function editBanner(bannerId) {
|
||||
var url = '?handler=Edit';
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
});
|
||||
</script>
|
||||
<script src="/lib/diff.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
function compareCorrectionBlocks(originalElemenyId, editedElementId, resultElementId) {
|
||||
var a = document.getElementById(originalElemenyId);
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=73"></script>
|
||||
<script src="/js/bk.js?version=74"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -9,20 +9,20 @@
|
||||
<div class="pagination-controls">
|
||||
@if (Model.DaysPagination.hasPreviousPage)
|
||||
{
|
||||
<button id="dailyPrevPage" class="btn btn-primary" onclick="loadContributionsDays('@Model.DataType', @(Model.DaysPagination.currentPage - 1))">صفحهٔ قبل</button>
|
||||
<button class="btn btn-primary" onclick="loadContributionsDays('@Model.DataType', @(Model.DaysPagination.currentPage - 1))">صفحهٔ قبل</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button id="dailyPrevPage" class="btn btn-primary" disabled>صفحهٔ قبل</button>
|
||||
<button class="btn btn-primary" disabled>صفحهٔ قبل</button>
|
||||
}
|
||||
<span id="dailyCurrentPage">صفحهٔ @Model.DaysPagination.currentPage.ToPersianNumbers() از @Model.DaysPagination.totalPages.ToPersianNumbers()</span>
|
||||
@if (Model.DaysPagination.hasNextPage)
|
||||
{
|
||||
<button id="dailyNextPage" class="btn btn-primary" onclick="loadContributionsDays('@Model.DataType', @(Model.DaysPagination.currentPage + 1))">صفحهٔ بعد</button>
|
||||
<button class="btn btn-primary" onclick="loadContributionsDays('@Model.DataType', @(Model.DaysPagination.currentPage + 1))">صفحهٔ بعد</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button id="dailyNextPage" class="btn btn-primary" disabled>صفحهٔ بعد</button>
|
||||
<button class="btn btn-primary" disabled>صفحهٔ بعد</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
@ -62,37 +62,58 @@
|
||||
|
||||
@if (Model.Users != null && Model.Users.Length > 0)
|
||||
{
|
||||
<table class="stats" id="grouped-by-user">
|
||||
<thead>
|
||||
<tr class="h">
|
||||
<td class="c1">ردیف</td>
|
||||
<td class="c2">کاربر</td>
|
||||
<td class="c3">تعداد</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for (int i = 0; i < Model.Users.Length; i++)
|
||||
<div id="usrs">
|
||||
<div class="pagination-controls">
|
||||
@if (Model.UsersPagination.hasPreviousPage)
|
||||
{
|
||||
@if (i % 2 == 0)
|
||||
{
|
||||
<tr class="e">
|
||||
<td class="c1">@((i + 1).ToPersianNumbers())</td>
|
||||
<td class="c2"><a href="/hashieha/?userid=@Model.Users[i].UserId">@Model.Users[i].UserName</a></td>
|
||||
<td class="c3">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Users[i].Number)</td>
|
||||
</tr>
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<tr>
|
||||
<td class="c1">@((i + 1).ToPersianNumbers())</td>
|
||||
<td class="c2"><a href="/hashieha/?userid=@Model.Users[i].UserId">@Model.Users[i].UserName</a></td>
|
||||
<td class="c3">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Users[i].Number)</td>
|
||||
</tr>
|
||||
}
|
||||
<button class="btn btn-primary" onclick="loadContributionsUsers('@Model.DataType', @(Model.UsersPagination.currentPage - 1))">صفحهٔ قبل</button>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
else
|
||||
{
|
||||
<button class="btn btn-primary" disabled>صفحهٔ قبل</button>
|
||||
}
|
||||
<span id="dailyCurrentPage">صفحهٔ @Model.UsersPagination.currentPage.ToPersianNumbers() از @Model.UsersPagination.totalPages.ToPersianNumbers()</span>
|
||||
@if (Model.UsersPagination.hasNextPage)
|
||||
{
|
||||
<button class="btn btn-primary" onclick="loadContributionsUsers('@Model.DataType', @(Model.UsersPagination.currentPage + 1))">صفحهٔ بعد</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button class="btn btn-primary" disabled>صفحهٔ بعد</button>
|
||||
}
|
||||
</div>
|
||||
<table class="stats" id="grouped-by-user">
|
||||
<thead>
|
||||
<tr class="h">
|
||||
<td class="c1">ردیف</td>
|
||||
<td class="c2">کاربر</td>
|
||||
<td class="c3">تعداد</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for (int i = 0; i < Model.Users.Length; i++)
|
||||
{
|
||||
@if (i % 2 == 0)
|
||||
{
|
||||
<tr class="e">
|
||||
<td class="c1">@((i + 1).ToPersianNumbers())</td>
|
||||
<td class="c2"><a href="/hashieha/?userid=@Model.Users[i].UserId">@Model.Users[i].UserName</a></td>
|
||||
<td class="c3">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Users[i].Number)</td>
|
||||
</tr>
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<tr>
|
||||
<td class="c1">@((i + 1).ToPersianNumbers())</td>
|
||||
<td class="c2"><a href="/hashieha/?userid=@Model.Users[i].UserId">@Model.Users[i].UserName</a></td>
|
||||
<td class="c3">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Users[i].Number)</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1930,4 +1930,29 @@ function loadContributionsDays(dataType, pageNumber) {
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function loadContributionsUsers(dataType, pageNumber) {
|
||||
var divParent = document.getElementById('usrs');
|
||||
divParent.innerHTML = '<div class="bnumdiv" id="remove-days-placeholder"><img src="/image/loading.gif" alt="بارگذاری"/></div>';
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '?Handler=GroupedByUsers&dataType=' + dataType + '&pageNumber=' + pageNumber.toString(),
|
||||
error: function (e) {
|
||||
if (document.getElementById("remove-days-placeholder") != null) {
|
||||
document.getElementById("remove-days-placeholder").remove();
|
||||
}
|
||||
if (e.responseText == null)
|
||||
alert(e);
|
||||
else
|
||||
alert(e.responseText);
|
||||
},
|
||||
success: function (data) {
|
||||
if (document.getElementById("remove-days-placeholder") != null) {
|
||||
document.getElementById("remove-days-placeholder").remove();
|
||||
$(data).appendTo(divParent);
|
||||
plotChart('grouped-by-user', 100);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user