docs: #285 loading category FAQ items
This commit is contained in:
parent
d6c33683c6
commit
3ed9d5294e
@ -20,7 +20,7 @@ else
|
||||
location.href = '/User/FAQCatEdit?id=' + String(document.getElementById('cat').value);
|
||||
}
|
||||
function deleteCategory() {
|
||||
|
||||
|
||||
var sel = document.getElementById('cat');
|
||||
var text= sel.options[sel.selectedIndex].text;
|
||||
|
||||
@ -45,12 +45,40 @@ else
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function onSelectedCatChanged(){
|
||||
var sel = document.getElementById('cat');
|
||||
if(sel.selectedIndex >= 0){
|
||||
document.getElementById('catItems').innerHTML = 'در حال بارگذاری ...';
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '?Handler=CategoryItems',
|
||||
data: {
|
||||
id: sel.value
|
||||
},
|
||||
error: function (e) {
|
||||
document.getElementById('catItems').innerHTML = '';
|
||||
if (e.responseText == null)
|
||||
alert(e);
|
||||
else
|
||||
alert(e.responseText);
|
||||
},
|
||||
success: function (items) {
|
||||
var s = '';
|
||||
for(var i=0; i<items.length; i++){
|
||||
s += ('<p><a href="/FAQItemEdit?id='+String(items[i].id)+'">' + '<p>' + items[i].question + '</a></p>');
|
||||
}
|
||||
document.getElementById('catItems').innerHTML = s;
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<table>
|
||||
<tr>
|
||||
<td>دستهبندی پرسشها:</td>
|
||||
<td>
|
||||
<select name="cat" id="cat">
|
||||
<select name="cat" id="cat" onchange="onSelectedCatChanged()">
|
||||
@foreach (var category in Model.Categories)
|
||||
{
|
||||
<option value="@category.Id">@category.Title</option>
|
||||
@ -67,4 +95,8 @@ else
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>پرسشهای دستهٔ جاری</h2>
|
||||
<div id="catItems">
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
public string LastMessage { get; set; }
|
||||
|
||||
public FAQCategory[] Categories { get; set; }
|
||||
|
||||
public async Task<IActionResult> OnGetAsync()
|
||||
{
|
||||
if(string.IsNullOrEmpty(Request.Cookies["Token"]))
|
||||
@ -64,7 +65,6 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
{
|
||||
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -73,5 +73,32 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
}
|
||||
return new JsonResult(true);
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetCategoryItemsAsync(int id)
|
||||
{
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
HttpResponseMessage response = await secureClient.GetAsync($"{APIRoot.Url}/api/faq/cat/secure/items?catId={id}");
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
|
||||
}
|
||||
|
||||
var items = JsonConvert.DeserializeObject<FAQItem[]>(await response.Content.ReadAsStringAsync());
|
||||
if(items == null)
|
||||
{
|
||||
items = new FAQItem[] { };
|
||||
}
|
||||
return new JsonResult(items);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return new BadRequestObjectResult("لطفا از گنجور خارج و مجددا به آن وارد شوید.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user