app/views/instanceAMIs.scala.html (75 lines of code) (raw):

@import config.AMIableConfig @( filterSsa: SSAA, metrics: models.Metrics, amisWithUpgrades: List[AMI], amiSSAs: List[(SSAA, List[AMI])], instancesCount: Map[(SSAA, AMI), Int], accountNames: List[String], conf: AMIableConfig ) @import views.html.fragments.{ssaAmiForm, amiOverlay, printSSA, metricsHeader} @main("Instance AMIs") { <div class="heading grey lighten-3"> <div class="container"> <div class="row"> <div class="col m7"> @metricsHeader(metrics) </div> <div class="col m5 hide-on-small-only"> <p class="right-align"><a href="#search">[edit search]</a></p> @printSSA(filterSsa, "*") </div> </div> </div> </div> <div class="container"> <div class="row"> <div class="amis-list"> @for(amiWithUpgrade <- amisWithUpgrades) { <div class="amis-list__item"> @amiOverlay(amiWithUpgrade, conf, instancesCount.get(filterSsa, amiWithUpgrade)) </div> } </div> </div> <div class="row"> <h2>AMI usage</h2> <div class="ssa-amis"> @for((ssaa, amis) <- amiSSAs) { @if(ssaa.isEmpty) { @* show AMIs with empty SSAs in their own block (there are lots of them) *@ </div> </div> <div class="row"> <div class="card empty-ssaa-card"> @printSSA(ssaa) <div class="ssa-amis"> @for(ami <- amis) { <div class="ssa-amis__item"> @amiOverlay(ami, conf, instancesCount.get(ssaa, ami)) </div> } </div> </div> <div class="row"> <div class="ssa-amis"> } else { <div class="ssa-amis__item"> <div class="card"> <div class="card-content"> @printSSA(ssaa) @for(ami <- amis) { @amiOverlay(ami = ami, conf, instanceCount = instancesCount.get(ssaa, ami), stackStageApp = Some(ssaa)) } </div> </div> </div> } } </div> </div> <a name="search"></a> @ssaAmiForm(filterSsa, accountNames) </div> }()