#241 maing find similar poems from a poet inline
This commit is contained in:
parent
01b6349770
commit
6ab2fe19b8
@ -149,7 +149,7 @@
|
||||
</p>
|
||||
|
||||
<script src="~/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="~/js/bk.js?version=11"></script>
|
||||
<script src="~/js/bk.js?version=12"></script>
|
||||
<script src="~/js/vaabd.js"></script>
|
||||
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
<script src="~/dist/add-on/jplayer.playlist.min.js"></script>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<script>
|
||||
var playerScrollLock = false;
|
||||
</script>
|
||||
<script src="/js/bk.js?version=11"></script>
|
||||
<script src="/js/bk.js?version=12"></script>
|
||||
|
||||
@if (Model.IsHomePage)
|
||||
{
|
||||
|
||||
@ -187,7 +187,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=11"></script>
|
||||
<script src="/js/bk.js?version=12"></script>
|
||||
<script src="/js/vaabd.js"></script>
|
||||
|
||||
@if (!string.IsNullOrEmpty(ViewData["GoogleAnalyticsCode"].ToString()))
|
||||
|
||||
@ -152,5 +152,37 @@ namespace GanjooRazor.Pages
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public async Task<ActionResult> OnGetSimilarPoemsFromPoetPartialAsync(int poetId, string prosodyMetre, string rhymeLetters, string skipPoemFullUrl1, string skipPoemFullUrl2)
|
||||
{
|
||||
string url = $"{APIRoot.Url}/api/ganjoor/poems/similar?metre={prosodyMetre}&rhyme={rhymeLetters}&poetId={poetId}";
|
||||
var response = await _httpClient.GetAsync(url);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
return BadRequest(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
|
||||
List<GanjoorPoemCompleteViewModel> selectedPoems = new List<GanjoorPoemCompleteViewModel>();
|
||||
List<int> poetMorePoemsLikeThisCount = new List<int>();
|
||||
var poems = JArray.Parse(await response.Content.ReadAsStringAsync()).ToObject<List<GanjoorPoemCompleteViewModel>>();
|
||||
if (poems.Any(p => p.FullUrl == skipPoemFullUrl1))
|
||||
poems.Remove(poems.Single(p => p.FullUrl == skipPoemFullUrl1));
|
||||
if (poems.Any(p => p.FullUrl == skipPoemFullUrl2))
|
||||
poems.Remove(poems.Single(p => p.FullUrl == skipPoemFullUrl2));
|
||||
|
||||
foreach (var poem in poems)
|
||||
{
|
||||
poem.HtmlText = _GetPoemTextExcerpt(poem.HtmlText);
|
||||
}
|
||||
|
||||
return new PartialViewResult()
|
||||
{
|
||||
ViewName = "_SimiPartialFromPoetView",
|
||||
ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
|
||||
{
|
||||
Model = new _SimiPartialFromPoetViewModel()
|
||||
{
|
||||
Poems = poems
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
20
GanjooRazor/Pages/_SimiPartialFromPoetView.cshtml
Normal file
20
GanjooRazor/Pages/_SimiPartialFromPoetView.cshtml
Normal file
@ -0,0 +1,20 @@
|
||||
@model GanjooRazor.Pages._SimiPartialFromPoetViewModel
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@foreach (var poem in Model.Poems)
|
||||
{
|
||||
<div class="inlinesimi">
|
||||
<div class="poet-pic-wrap">
|
||||
<a href="@Html.Raw(poem.FullUrl)"><img src="@(GanjooRazor.APIRoot.InternetUrl + poem.Category.Poet.ImageUrl)" alt="@poem.Category.Poet.Nickname" /></a>
|
||||
</div>
|
||||
<div class="inlinesimi-poem-title">
|
||||
<a href="@Html.Raw(poem.FullUrl)">@poem.FullTitle</a><span></span>
|
||||
</div>
|
||||
<div class="simitext">
|
||||
@Html.Raw(poem.HtmlText)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
11
GanjooRazor/Pages/_SimiPartialFromPoetView.cshtml.cs
Normal file
11
GanjooRazor/Pages/_SimiPartialFromPoetView.cshtml.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using RMuseum.Models.Ganjoor.ViewModels;
|
||||
|
||||
namespace GanjooRazor.Pages
|
||||
{
|
||||
public class _SimiPartialFromPoetViewModel : PageModel
|
||||
{
|
||||
public List<GanjoorPoemCompleteViewModel> Poems { get; set; }
|
||||
}
|
||||
}
|
||||
@ -875,4 +875,28 @@ function loadMoreRelatedPoems(poemId, skip, rhythm, rhymeLetters, poemFullUrl) {
|
||||
$(data).appendTo(document.getElementById('more-related-placeholder'));
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function loadMoreRelatedFromPoet(poetId, rhythm, rhymeLetters, skipPoemFullUrl1, skipPoemFullUrl2) {
|
||||
var buttonId = 'load-more-button-' + String(poetId);
|
||||
var loadButton = document.getElementById(buttonId);
|
||||
if (loadButton != null) {
|
||||
loadButton.remove();
|
||||
}
|
||||
var divId = 'more-related-placeholder-' + String(poetId);
|
||||
var divParent = document.getElementById(divId);
|
||||
var imgeId = 'load-more-related-loadingimg' + String(poetId);
|
||||
divParent.innerHTML = divParent.innerHTML + '<img id="' + imgeId + '" src="/image/loading.gif" alt="بارگذاری "/>';
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '?Handler=SimilarPoemsFromPoetPartial&poetId=' + String(poetId) + '&prosodyMetre=' + rhythm + '&rhymeLetters=' + rhymeLetters + '&skipPoemFullUrl1=' + skipPoemFullUrl1 + '&skipPoemFullUrl2=' + skipPoemFullUrl2,
|
||||
success: function (data) {
|
||||
|
||||
var imgElement = document.getElementById(imgeId);
|
||||
imgElement.remove();
|
||||
|
||||
$(data).appendTo(document.getElementById(divId));
|
||||
},
|
||||
});
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user