@(currentPage: io.ebean.PagedList[Computer], currentSortBy: String, currentOrder: String, currentFilter: String)( implicit request: Http.Request, messages: play.i18n.Messages) @**************************************** * Helper generating navigation links * ****************************************@ @link(newPage:Int, newSortBy:String) = @{ var sortBy = currentSortBy var order = currentOrder if(newSortBy != null) { sortBy = newSortBy if(currentSortBy == newSortBy) { if(currentOrder == "asc") { order = "desc" } else { order = "asc" } } else { order = "asc" } } // Generate the link routes.HomeController.list(newPage, sortBy, order, currentFilter) } @********************************** * Helper generating table headers * ***********************************@ @header(key:String, title:String) = { @title @sortIcon(key) } @sortIcon(key:String) = { @if(currentOrder == "asc") { } else { } } @main {

@Messages("computers.list.title", currentPage.getTotalCount)

@request.flash.asScala().get("success").map { successFlashValue => }
Add a new computer
@if(currentPage.getTotalCount == 0) {
Nothing to display
} else { @header("name", "Computer name") @header("introduced", "Introduced") @header("discontinued", "Discontinued") @header("company.name", "Company") @for(computer <- currentPage.getList.asScala) { }
@computer.name @if(computer.introduced == null) { - } else { @computer.introduced.format("dd MMM yyyy") } @if(computer.discontinued == null) { - } else { @computer.discontinued.format("dd MMM yyyy") } @if(computer.company == null) { - } else { @computer.company.name }
} }