yavsc/Yavsc/Views/Blogspot/Details.cshtml

107 lines
4.2 KiB
Plaintext

7 years ago
@model BlogPost
@{
ViewData["Title"]=Model.Title;
}
@section header {
<script>
7 years ago
$.psc.blogcomment.prototype.options.lang = '@System.Globalization.CultureInfo.CurrentUICulture.Name';
$.psc.blogcomment.prototype.options.apictrlr = '@ViewData["apicmtctlr"]';
7 years ago
$(document).ready(function() {
$('#cmtBtn').click(function() {
var receiverid = $(this).data('receiverid');
var comment = $('#Comment').val();
var data = {
Id:0,
Content: comment,
PostId: receiverid,
UserCreated: '@User.GetUserId()',
Visible:true
};
$.ajax({
async: true,
cache: false,
type: 'POST',
method: 'POST',
contentType: "application/json",
data: JSON.stringify(data),
error: function(xhr,data) {
if (xhr.status=400)
{
$('span.field-validation-valid[data-valmsg-for="Content"]').html(
xhr.responseJSON.Content);
} else {
$('span.field-validation-valid[data-valmsg-for="Content"]').html(
"Une erreur est survenue : "+xhr.status+"<br/>"+
"<code><pre>"+xhr.responseText+"</pre></code>"
)
}
},
7 years ago
success: function (data) {
var comment = $('#Comment').val();
$('#Comment').val('');
7 years ago
$('span.field-validation-valid[data-valmsg-for="Content"]').empty();
7 years ago
var htmlcmt = htmlize(comment);
var nnode = '<div data-type="blogcomment" data-id="'+data.Id+'" data-allow-edit="True" data-allow-moderate="@ViewData["moderatoFlag"]" data-date="'+data.DateCreated+'" data-username="@User.GetUserName()">'+htmlcmt+'</div>';
$('#comments').append($(nnode).blogcomment())
7 years ago
},
url:'@ViewData["apicmtctlr"]'
});
});
})
</script>
7 years ago
<style>
.avatar, .commentmeta, .blogcomment p , .blogcomment {
display: inline-block;
}
</style>
7 years ago
}
<div class="container">
<h1 class="blogtitle" ismarkdown>@Model.Title</h1>
<img class="blogphoto" alt="" src="@Model.Photo" >
<div class="blogpost">
<div markdown="@Model.Content" class="blog"></div>
<hr/>
<div class="meta">
@Html.DisplayFor(model => model.Author)
@Html.DisplayNameFor(model => model.DateModified) :
@Html.DisplayFor(model => model.DateModified)
@Html.DisplayNameFor(model => model.DateCreated) :
@Html.DisplayFor(model => model.DateCreated)
@Component.Invoke("Tagger",Model)
</div>
7 years ago
<div id="comments">
@if (Model.Comments.Count>0) { foreach (Comment comment in Model.Comments) {
<div data-type="blogcomment" data-id="@comment.Id" data-allow-edit="@(User.GetUserId()==comment.UserCreated?"true":"false")" data-allow-moderate="@ViewData["moderatoFlag"]"
data-date="@Html.Raw(comment.DateCreated)" data-username="@comment.Author.UserName" markdown="@comment.Content"
>
</div>
} }
</div>
7 years ago
<div class="form-horizontal">
<div class="input-group" >
<input id="Comment" class="form-control" placeholder="@SR["DoCommentPlaceHolder"]"/>
<span class="input-group-btn">
<input type="button" value="@SR["DoComment"]" class="btn btn-secondary"
data-receiverid="@Model.Id" id="cmtBtn"
/>
</span>
</div>
7 years ago
<span asp-validation-for="Content" class="text-danger" ></span>
7 years ago
</div>
</div>
@if (await AuthorizationService.AuthorizeAsync(User, Model, new EditRequirement())) {
<a asp-action="Edit" asp-route-id="@Model.Id" class="btn btn-link">@SR["Edit"]</a>
}
<a asp-action="Index" class="btn btn-link">@SR["Back to List"]</a>
</div>