From 3ed9d5294ed08f8f4b21580d62a828a145982abe Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Thu, 3 Mar 2022 12:21:11 +0330 Subject: [PATCH] docs: #285 loading category FAQ items --- GanjooRazor/Areas/User/Pages/FAQItems.cshtml | 36 +++++++++++++++++-- .../Areas/User/Pages/FAQItems.cshtml.cs | 29 ++++++++++++++- 2 files changed, 62 insertions(+), 3 deletions(-) diff --git a/GanjooRazor/Areas/User/Pages/FAQItems.cshtml b/GanjooRazor/Areas/User/Pages/FAQItems.cshtml index 67bd27ea..e07619b5 100644 --- a/GanjooRazor/Areas/User/Pages/FAQItems.cshtml +++ b/GanjooRazor/Areas/User/Pages/FAQItems.cshtml @@ -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[i].question + '

'); + } + document.getElementById('catItems').innerHTML = s; + }, + }); + } + }
دسته‌بندی پرسش‌ها: - @foreach (var category in Model.Categories) { @@ -67,4 +95,8 @@ else
+

پرسش‌های دستهٔ جاری

+
+
+ } diff --git a/GanjooRazor/Areas/User/Pages/FAQItems.cshtml.cs b/GanjooRazor/Areas/User/Pages/FAQItems.cshtml.cs index f15a1f08..beec7fe0 100644 --- a/GanjooRazor/Areas/User/Pages/FAQItems.cshtml.cs +++ b/GanjooRazor/Areas/User/Pages/FAQItems.cshtml.cs @@ -16,6 +16,7 @@ namespace GanjooRazor.Areas.User.Pages public string LastMessage { get; set; } public FAQCategory[] Categories { get; set; } + public async Task OnGetAsync() { if(string.IsNullOrEmpty(Request.Cookies["Token"])) @@ -64,7 +65,6 @@ namespace GanjooRazor.Areas.User.Pages { return new BadRequestObjectResult(JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync())); } - } else { @@ -73,5 +73,32 @@ namespace GanjooRazor.Areas.User.Pages } return new JsonResult(true); } + + public async Task 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(await response.Content.ReadAsStringAsync())); + } + + var items = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + if(items == null) + { + items = new FAQItem[] { }; + } + return new JsonResult(items); + + } + else + { + return new BadRequestObjectResult("لطفا از گنجور خارج و مجددا به آن وارد شوید."); + } + } + } } }