app/views/fragments/recipeTable.scala.html (30 lines of code) (raw):

@( title: String, recipes: Iterable[Recipe], usages: Map[Recipe, prism.RecipeUsage] ) <h3>@title</h3> @if(recipes.isEmpty) { <p>No @title.toLowerCase()</p> } else { <table class="table table-striped"> <thead> <th>Name</th> <th>Description</th> <th>Usage</th> <th>Status</th> </thead> <tbody> @for(recipe <- recipes.toList.sortBy(_.id.value.toLowerCase)) { <tr class="@BaseImage.eolStatusClass(recipe.baseImage)"> <td class="has-block-link"><a href="@routes.RecipeController.showRecipe(recipe.id)" class="block-link">@recipe.id</a></td> <td class="has-block-link"><a href="@routes.RecipeController.showRecipe(recipe.id)" class="block-link">@recipe.description</a></td> @defining(usages.getOrElse(recipe, prism.RecipeUsage.noUsage())) { usage => @fragments.usagesColumn(recipe, usage) } <td>@fragments.eolStatus(recipe.baseImage) </td> </tr> } </tbody> </table> }