#393 load and display category recitations by user choice to reduce page load lag
This commit is contained in:
parent
75b8fe3975
commit
c7700f6491
@ -150,7 +150,7 @@
|
||||
</p>
|
||||
|
||||
<script src="~/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="~/js/bk.js?version=38"></script>
|
||||
<script src="~/js/bk.js?version=39"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=5"></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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -7,6 +7,7 @@ using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using RMuseum.Migrations;
|
||||
using RMuseum.Models.Ganjoor;
|
||||
using RMuseum.Models.Ganjoor.ViewModels;
|
||||
using RMuseum.Models.GanjoorAudio.ViewModels;
|
||||
@ -17,6 +18,7 @@ using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace GanjooRazor.Pages
|
||||
{
|
||||
@ -916,6 +918,32 @@ namespace GanjooRazor.Pages
|
||||
};
|
||||
}
|
||||
|
||||
public async Task<ActionResult> OnGetCategoryRecitationsAsync(int catId)
|
||||
{
|
||||
var catTop1RecitationsQuery = await _httpClient.GetAsync($"{APIRoot.Url}/api/audio/cattop1/{catId}?includePoemText=false");
|
||||
|
||||
if (!catTop1RecitationsQuery.IsSuccessStatusCode)
|
||||
{
|
||||
return BadRequest(JsonConvert.DeserializeObject<string>(await catTop1RecitationsQuery.Content.ReadAsStringAsync()));
|
||||
}
|
||||
var categoryTop1Recitations = JsonConvert.DeserializeObject<PublicRecitationViewModel[]>(await catTop1RecitationsQuery.Content.ReadAsStringAsync());
|
||||
|
||||
return new PartialViewResult()
|
||||
{
|
||||
ViewName = "_AudioPlayerPartial",
|
||||
ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
|
||||
{
|
||||
Model = new _AudioPlayerPartialModel()
|
||||
{
|
||||
LoggedIn = !string.IsNullOrEmpty(Request.Cookies["Token"]),
|
||||
Recitations = categoryTop1Recitations,
|
||||
ShowAllRecitaions = true,
|
||||
CategoryMode = true,
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostSwitchBookmarkAsync(int poemId, int coupletIndex)
|
||||
{
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
font-family: 'Vazir'
|
||||
}
|
||||
</style>
|
||||
<script src="/js/bk.js?version=38"></script>
|
||||
<script src="/js/bk.js?version=39"></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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -238,7 +238,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="~/js/bk.js?version=38"></script>
|
||||
<script src="~/js/bk.js?version=39"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=5"></script>
|
||||
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
|
||||
@ -20,7 +20,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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="/js/bk.js?version=38"></script>
|
||||
<script src="/js/bk.js?version=39"></script>
|
||||
<script>
|
||||
function editBanner(bannerId) {
|
||||
var url = '?handler=Edit';
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
});
|
||||
</script>
|
||||
<script src="/lib/diff.js"></script>
|
||||
<script src="/js/bk.js?version=38"></script>
|
||||
<script src="/js/bk.js?version=39"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@ -17,7 +17,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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></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=38"></script>
|
||||
<script src="/js/bk.js?version=39"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -280,7 +280,7 @@
|
||||
{
|
||||
@($"[{poemGeoTag.Location.Latitude},{poemGeoTag.Location.Longitude}],")
|
||||
}
|
||||
]).addTo(map);
|
||||
]).addTo(map);
|
||||
|
||||
for (var i = 0; i < poemGeoTags.length; i++) {
|
||||
var poemGeoTag = poemGeoTags[i];
|
||||
@ -375,15 +375,17 @@
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@if ((Model.IsCatPage || Model.IsPoetPage) && Model.CategoryTop1Recitations.Length > 0)
|
||||
{
|
||||
<div class="spacer"> </div>
|
||||
<div class="related-images-frame" id="recitations">
|
||||
<div class="century cursor-pointer" id="load-cat-recitations" onclick="loadCatRecitations(@Model.GanjoorPage.PoetOrCat.Cat.Id)">
|
||||
خوانشها را بارگذاری کن
|
||||
</div>
|
||||
<div id="recitations-section">
|
||||
<partial name="_AudioPlayerPartial" model=@Model.GetRecitationsModel(Model.CategoryTop1Recitations, true) />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@ -1084,4 +1084,27 @@ function viewLocation(lt, lg) {
|
||||
link.href = 'https://maps.google.com/?q=' + lt + ',' + lg + '&ll=' + lt + ',' + lg + '&z=3';
|
||||
link.target = "_blank"
|
||||
link.click()
|
||||
}
|
||||
|
||||
function loadCatRecitations(catId) {
|
||||
|
||||
var loadButton = document.getElementById("load-cat-recitations");
|
||||
if (loadButton == null) {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var divParent = document.getElementById('recitations-section');
|
||||
var imgElementId = 'loadingimg';
|
||||
divParent.innerHTML = divParent.innerHTML + '<div class="bnumdiv" id="remove-this"><img id="' + imgElementId + '" src="/image/loading.gif" alt="بارگذاری"/></div>';
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '?Handler=CategoryRecitations&catId=' + String(catId),
|
||||
success: function (data) {
|
||||
document.getElementById("remove-this").remove();
|
||||
loadButton.remove();
|
||||
$(data).appendTo(divParent);
|
||||
},
|
||||
});
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user