docs: #346 getting notes while bookmarking
This commit is contained in:
parent
307e245638
commit
9021b9f1eb
@ -149,7 +149,7 @@
|
||||
</p>
|
||||
|
||||
<script src="~/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="~/js/bk.js?version=32"></script>
|
||||
<script src="~/js/bk.js?version=33"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=2"></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=32"></script>
|
||||
<script src="/js/bk.js?version=33"></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=32"></script>
|
||||
<script src="/js/bk.js?version=33"></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=32"></script>
|
||||
<script src="/js/bk.js?version=33"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -879,12 +879,12 @@ namespace GanjooRazor.Pages
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
HttpResponseMessage response = await secureClient.PostAsync(
|
||||
$"{APIRoot.Url}/api/ganjoor/bookmark/switch/{poemId}/{coupletIndex}", null);
|
||||
$"{APIRoot.Url}/api/ganjoor/bookmark/switch/ret/{poemId}/{coupletIndex}", null);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
|
||||
}
|
||||
var res = JsonConvert.DeserializeObject<bool>(await response.Content.ReadAsStringAsync());
|
||||
var res = JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync());
|
||||
return new OkObjectResult(res);
|
||||
}
|
||||
else
|
||||
@ -1008,5 +1008,25 @@ namespace GanjooRazor.Pages
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPutBookmarkNote(Guid id, string note)
|
||||
{
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
var response = await secureClient.PutAsync($"{APIRoot.Url}/api/ganjoor/bookmark/{id}", new StringContent(JsonConvert.SerializeObject(note), Encoding.UTF8, "application/json"));
|
||||
if (response.StatusCode != HttpStatusCode.OK)
|
||||
{
|
||||
return new BadRequestObjectResult(JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync()));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return new BadRequestObjectResult("لطفا از گنجور خارج و مجددا به آن وارد شوید.");
|
||||
}
|
||||
}
|
||||
return new JsonResult(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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=32"></script>
|
||||
<script src="/js/bk.js?version=33"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -19,7 +19,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=32"></script>
|
||||
<script src="/js/bk.js?version=33"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
});
|
||||
</script>
|
||||
<script src="/lib/diff.js"></script>
|
||||
<script src="/js/bk.js?version=32"></script>
|
||||
<script src="/js/bk.js?version=33"></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=32"></script>
|
||||
<script src="/js/bk.js?version=33"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -384,7 +384,7 @@ else
|
||||
ادامهٔ مطالعه (تاریخچه)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="navbar-help-button">
|
||||
<i class="noindent-info-button logout-icon"></i>
|
||||
@ -564,7 +564,7 @@ else
|
||||
ویرایش شعر جاری
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="navbar-help-button">
|
||||
<i class="noindent-info-button right-btn"></i>
|
||||
@ -589,3 +589,36 @@ else
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@if (Model.LoggedIn && Model.GanjoorPage != null && Model.GanjoorPage.Poem != null)
|
||||
{
|
||||
<div id="bookmark-note-dialog" class="modal">
|
||||
<span onclick="document.getElementById('bookmark-note-dialog').style.display='none'"
|
||||
class="close" title="بستن">×</span>
|
||||
<form class="modal-content animate" method="post" id="editnoteform">
|
||||
<table class="max-width-100per width-100per">
|
||||
<tr>
|
||||
<td>
|
||||
<textarea name="editNoteText" id="editNoteText" class="inputTextarea editor width-100per" tabindex="4" rows="10"></textarea>
|
||||
<input type="hidden" name="editbookmarkId" id="editbookmarkId" value="" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button name="editnote" id="editnote" class="submitCommentButton width-100per" onclick="return savePrivateNote();">ذخیرهٔ یادداشت برای نشانشده</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a role="button" class="editor-button background-gray" onclick="document.getElementById('bookmark-note-dialog').style.display='none'">بدون یادداشت</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
یادداشتهایی که روی نشانشدهها مینویسید خصوصی هستند، در پیشخان کاربر بخش نشانشدههای من قابل مشاهدهاند و با حذف نشان بدون هیچ اخطاری پاک میشوند.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
}
|
||||
|
||||
@ -440,7 +440,8 @@ function switchBookmark(poemId, coupletIndex, divSuffix) {
|
||||
error: function (err) {
|
||||
alert(err)
|
||||
},
|
||||
success: function (isBookmarked) {
|
||||
success: function (bookmarkId) {
|
||||
var isBookmarked = bookmarkId != '0';
|
||||
if (isBookmarked == true) {
|
||||
if (document.getElementById(iconElementId) != null) {
|
||||
document.getElementById(iconElementId).innerHTML = 'star';
|
||||
@ -452,6 +453,12 @@ function switchBookmark(poemId, coupletIndex, divSuffix) {
|
||||
if (coupletIndex == 0) {
|
||||
document.getElementById('bookmark').innerHTML = '<i class="noindent-info-button color-yellow" id="bookmark-icon">star</i>';
|
||||
}
|
||||
|
||||
if (coupletIndex >= 0) {
|
||||
tinymce.get('editNoteText').setContent('');
|
||||
$("#editbookmarkId").val(bookmarkId);
|
||||
document.getElementById('bookmark-note-dialog').style.display = 'block';
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (document.getElementById(iconElementId) != null) {
|
||||
@ -505,6 +512,30 @@ function checkIfBookmarked(poemId) {
|
||||
}, 1);
|
||||
}
|
||||
|
||||
function savePrivateNote() {
|
||||
$("#editnoteform").unbind('submit').bind('submit', function (e) {
|
||||
|
||||
e.preventDefault(); // avoid to execute the actual submit of the form.
|
||||
|
||||
var url = '?handler=BookmarkNote';
|
||||
|
||||
var bookmarkId = $("#editbookmarkId").val();
|
||||
|
||||
$.ajax({
|
||||
type: "PUT",
|
||||
url: url,
|
||||
data: {
|
||||
id: bookmarkId,
|
||||
note: $("textarea#editNoteText").val()
|
||||
},
|
||||
success: function () {
|
||||
document.getElementById('bookmark-note-dialog').style.display = 'none';
|
||||
},
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function checkWebShareSupport() {
|
||||
if (navigator.share === undefined) {
|
||||
document.getElementById('share_span').style.display = 'none';
|
||||
|
||||
@ -2436,7 +2436,7 @@ namespace RMuseum.Controllers
|
||||
return Ok(res.Result != null);
|
||||
}
|
||||
/// <summary>
|
||||
/// switch bookmark and return bookmark id (0 for switching off a bookmark)
|
||||
/// switch bookmark and return bookmark id ('0' for switching off a bookmark)
|
||||
/// </summary>
|
||||
/// <param name="poemId"></param>
|
||||
/// <param name="coupletIndex">if you send a negative number it means you are trying to bookmark a comment</param>
|
||||
@ -2444,7 +2444,7 @@ namespace RMuseum.Controllers
|
||||
[HttpPost]
|
||||
[Route("bookmark/switch/ret/{poemId}/{coupletIndex}")]
|
||||
[Authorize]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
||||
public async Task<IActionResult> SwitchCoupletBookmarkReturnId(int poemId, int coupletIndex)
|
||||
@ -2459,7 +2459,7 @@ namespace RMuseum.Controllers
|
||||
return NotFound();
|
||||
return BadRequest(res.ExceptionString);
|
||||
}
|
||||
return Ok(res.Result == null ? 0 : res.Result.Id);
|
||||
return Ok(res.Result == null ? "0" : res.Result.Id.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -1581,7 +1581,7 @@
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.SwitchCoupletBookmarkReturnId(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
switch bookmark and return bookmark id (0 for switching off a bookmark)
|
||||
switch bookmark and return bookmark id ('0' for switching off a bookmark)
|
||||
</summary>
|
||||
<param name="poemId"></param>
|
||||
<param name="coupletIndex">if you send a negative number it means you are trying to bookmark a comment</param>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user