docs: #351 analysing section rhyme in the UI

This commit is contained in:
Hamid Reza Mohammadi 2022-07-27 19:15:00 +04:30
parent cf4d9d4ef0
commit 4f7c2e2163
2 changed files with 43 additions and 0 deletions

View File

@ -98,6 +98,27 @@ else
});
}
function computeSectionRhyme(sectionId, elementId) {
$.ajax({
type: "GET",
url: '?Handler=ComputeRhyme',
data: {
id: sectionId
},
error: function(e) {
if (e.responseText == null)
alert(e);
else
alert(e.responseText);
},
success: function(rhyme) {
$(elementId).val(rhyme);
return false;
},
});
}
</script>
<p><a role="button" target="_blank" href="@Model.PageInformation.FullUrl" class="actionlink">@Model.PageInformation.FullTitle</a></p>
@ -246,6 +267,7 @@ else
{
<input type="text" id="rhyme-letters" name="rhyme-letters" value="@Model.PoemSection.RhymeLetters" size="50" />
}
<a role="button" onclick="computeSectionRhyme(@Model.PoemSection.Id, '#rhyme-letters')" class="pagebutton">محاسبه</a>
</td>
</tr>

View File

@ -302,5 +302,26 @@ namespace GanjooRazor.Areas.User.Pages
}
}
}
public async Task<IActionResult> OnGetComputeRhymeAsync(int id)
{
using (HttpClient secureClient = new HttpClient())
{
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
{
var response = await secureClient.GetAsync($"{APIRoot.Url}/api/ganjoor/section/analyserhyme/{id}");
if (!response.IsSuccessStatusCode)
{
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
}
var rhyme = JsonConvert.DeserializeObject<GanjooRhymeAnalysisResult>(await response.Content.ReadAsStringAsync());
return new OkObjectResult(rhyme.Rhyme);
}
else
{
return new BadRequestObjectResult("لطفا از گنجور خارج و مجددا به آن وارد شوید.");
}
}
}
}
}