File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
@**
* Yona, 21st Century Project Hosting SW
*
* Copyright Yona & Yobi Authors & NAVER Corp.
* https://yona.io
**@
@(title:String, project:Project, page:com.avaje.ebean.Page[Posting], param:BoardApp.SearchCondition, notices:List[models.Posting])
@import utils.TemplateHelper._
@import utils.AccessControl._
@import scala.collection.immutable.Map
@urlToList = {@routes.BoardApp.posts(project.owner, project.name, page.getPageIndex + 1)}
@getPageListUrl(pageIndex:Integer) = {@routes.BoardApp.posts(project.owner, project.name, pageIndex + 1)}
@makeFilterLink(fieldName:String, orderBy:String, orderDir:String, fieldText:String) = {
@if(orderBy.equals(fieldName)) {
<a href="@urlToList?filter=@param.filter&labelIds=@param.labelIds&orderBy=@fieldName&orderDir=@if(orderDir.equals("desc")){asc}else{desc}" class="filter active"><i class="ico btn-gray-arrow @if(orderDir.equals("desc")){ down }"></i>@fieldText</a>
} else {
<a href="@urlToList?filter=@param.filter&labelIds=@param.labelIds&orderBy=@fieldName&orderDir=desc" class="filter"><i class="ico btn-gray-arrow down"></i>@fieldText</a>
}
}
@projectLayout(project.name + " - " + Messages(title), project, utils.MenuType.BOARD) {
@projectMenu(project, utils.MenuType.BOARD, "main-menu-only")
<link rel="stylesheet" href="@routes.IssueLabelApp.labelStyles(project.owner, project.name)" type="text/css" />
<div class="page-wrap-outer">
<div class="post-list project-page-wrap">
<div class="search-wrap underline">
<form id="option_form" action="@routes.BoardApp.posts(project.owner, project.name)" method="get" class="pull-left">
<input type="hidden" name="orderBy" value="@param.orderBy">
<input type="hidden" name="orderDir" value="@param.orderDir">
<div class="search-bar">
<input name="filter" class="textbox" type="text" placeholder="@Messages("project.searchPlaceholder")" value="@param.filter">
<button type="submit" class="search-btn"><i class="yobicon-search"></i></button>
</div>
@defining(IssueLabel.findByProject(project)) { labels =>
@if(!labels.isEmpty) {
<div class="board-labels">
@issue.partial_select_label(labels, param.labelIdSet, "", "", project)
</div>
}
}
@common.twoColumnModeCheckboxArea(false)
</form>
<div class="pull-right">
<a href="@routes.BoardApp.newPostForm(project.owner, project.name)" class="ybtn ybtn-success">@Messages("post.write")</a>
</div>
</div>
@if(page.getTotalRowCount == 0 && notices.size == 0){
<div class="error-wrap">
<i class="ico ico-err1"></i>
<p>@Messages("post.is.empty")</p>
</div>
} else {
@if(page.getTotalRowCount > 1){
<div class="filter-wrap board">
<div class="filters">
@makeFilterLink("updatedDate", param.orderBy, param.orderDir, Messages("common.order.updatedDate"))
@makeFilterLink("createdDate", param.orderBy, param.orderDir, Messages("common.order.date"))
@makeFilterLink("numOfComments", param.orderBy, param.orderDir, Messages("common.order.comments"))
</div>
</div>
}
@if(notices != null && notices.size > 0) {
<ul class="post-list-wrap notice-wrap">
@for(post <- notices) {
@partial_list(post, project)
}
</ul>
}
<ul class="post-list-wrap">
@for(post <- page.getList){
@partial_list(post, project)
}
</ul>
}
<div class="write-btn-wrap">
</div>
<div id="pagination">
<!-- pagination.js will fill here. -->
</div>
@help.keymap("boardList", project)
</div>
</div>
<script type="text/javascript" src="@routes.Assets.at("javascripts/lib/jquery.pageslide.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/service/yona.twoColumnMode.js")"></script>
<script type="text/javascript">
$(document).ready(function() {
$yobi.loadModule("board.List", {
"elPagination": $('#pagination'),
"nTotalPages" : @page.getTotalPageCount
});
@if(project.menuSetting.board) {
yobi.ShortcutKey.setKeymapLink({
"N": "@routes.BoardApp.newPostForm(project.owner, project.name)"
});
}
$('.board-labels select').on('change', function(e){
$("#option_form").submit();
});
var $titlePrefix = $(".title-prefix");
$titlePrefix
.on("mouseover", function (e) {
$(".title-prefix:contains('" + e.target.innerText + "')")
.addClass("title-prefix-hover");
})
.on("mouseleave", function (e) {
$titlePrefix.removeClass("title-prefix-hover");
});
});
</script>
@common.select2()
}