Files
yavsc/Yavsc/Views/Blogspot/Index.cshtml
2017-10-04 23:53:47 +02:00

127 lines
4.0 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@model IEnumerable<IGrouping<BlogIndexKey,BlogPost>>
@{
ViewData["Title"] = "Blogs, l'index";
// Regroup!?!
@foreach (var group in Model) {
}
}
@section header {
<style>
.collapsed {
height: 1em;
}
.sametitle {
overflow: hidden;
transition: height 1s;
}
td {
transition: height 1s;
}
[class*="col-"] {
border: solid 1px blue;
}
</style>
}
@section scripts {
<script>
$(document).ready(function () {
$(".sametitle").addClass("collapsed")
.on("mouseover",function(){
$(this).removeClass("collapsed")
}).on("mouseout",function(){
$(this).addClass("collapsed")
});
}
)
</script>
}
<h2>@ViewData["Title"]</h2>
<p class="text-success">@ViewData["StatusMessage"]</p>
@if (User.IsSignedIn()) {
<label>
<input type="checkbox" id="cbv" checked/>Invisibles, posts privés</label>
<script>
$("#cbv").change(function() {
if (this.checked) {
$("tr.hiddenpost").removeClass("hidden");
} else {
$("tr.hiddenpost").addClass("hidden");
}
});
</script>
<p>
<a asp-action="Create">@SR["Create a new article"]</a>
</p>
}
<div class="container">
@foreach (var group in Model) {
var title = group.Key.Title;
string secondclass="";
var first = group.First();
string trclass = (first.Visible) ? "visiblepost" : "hiddenpost";
<div class="row @trclass">
<div class="col-xs-10">
<a asp-action="Details" asp-route-id="@first.Id" class="bloglink">
<img src="@first.Photo" class="smalltofhol"></a>
<a asp-action="Title" asp-route-id="@title">
<markdown>@first.Title</markdown></a>
<markdown>@((first.Content?.Length > 120) ? first.Content.Substring(0, 120) + " ..." : first.Content)</markdown>
<span style="font-size:x-small;">(@first.Author.UserName </span>,
<span style="font-size:xx-small;">
posté le @first.DateCreated.ToString("dddd d MMM yyyy à H:mm")
@if ((first.DateModified - first.DateCreated).Minutes > 0){ 
@:- Modifié le @first.DateModified.ToString("dddd d MMM yyyy à H:mm")
})
</span>
</div>
<div class="col-xs-2">
<ul class="actiongroup">
@if (await AuthorizationService.AuthorizeAsync(User, first, new ViewRequirement())) {
<li>
<a asp-action="Details" asp-route-id="@first.Id" class="btn btn-lg">Details</a>
</li>
}
@if (await AuthorizationService.AuthorizeAsync(User, first, new EditRequirement())) {
<li><a asp-action="Edit" asp-route-id="@first.Id" class="btn btn-default">@SR["Edit"]</a>
</li>
<li><a asp-action="Delete" asp-route-id="@first.Id" class="btn btn-danger">@SR["Delete"]</a>
</li>
}
</ul>
</div>
</div>
long gcount = group.Count();
@if (gcount>1) {
<div class="sametitle">
@(gcount-1) autre@(gcount>2?"s":"") au même titre:
@foreach (var item in group.Skip(1)) {
trclass = ((item.Visible)?"visiblepost":"hiddenpost");
<div class="row @trclass">
<div class="col-xs-10">
<markdown>
@((item.Content?.Length > 120) ? item.Content.Substring(0, 120) + "..." : item.Content)
</markdown>
</div>
<div class="col-xs-2">
<a asp-action="Details" asp-route-id="@item.Id" class="btn btn-lg">
le @item.DateModified.ToString("dddd d MMM yyyy à H:mm")
</a>
</div>
</div>
}
</div>
}
}
</div>