feat: dynamic region input
This commit is contained in:
parent
d300d5c16b
commit
256df8d2aa
|
@ -42,11 +42,11 @@
|
||||||
class="block w-62 mt-1 h-12 w-64 bg-white shadow-md rounded-md shadow-sm focus:outline-none"
|
class="block w-62 mt-1 h-12 w-64 bg-white shadow-md rounded-md shadow-sm focus:outline-none"
|
||||||
>
|
>
|
||||||
<option value="" selected disabled>Filter by Region</option>
|
<option value="" selected disabled>Filter by Region</option>
|
||||||
<option value="Africa">Africa</option>
|
<option th:each="region: ${regionsSet}" th:value="${region}" th:text="${region}" value="Africa">Africa</option>
|
||||||
<option value="Americas">Americas</option>
|
<option th:remove="all" value="Americas">Americas</option>
|
||||||
<option value="Asia">Asia</option>
|
<option th:remove="all" value="Asia">Asia</option>
|
||||||
<option value="Europe">Europe</option>
|
<option th:remove="all" value="Europe">Europe</option>
|
||||||
<option value="Oceania">Oceania</option>
|
<option th:remove="all" value="Oceania">Oceania</option>
|
||||||
</select>
|
</select>
|
||||||
</form>
|
</form>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
@ -5,9 +5,12 @@ import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver
|
||||||
import org.thymeleaf.TemplateEngine
|
import org.thymeleaf.TemplateEngine
|
||||||
import org.thymeleaf.context.Context
|
import org.thymeleaf.context.Context
|
||||||
import org.thymeleaf.templatemode.TemplateMode
|
import org.thymeleaf.templatemode.TemplateMode
|
||||||
|
import scala.collection.JavaConverters._
|
||||||
|
|
||||||
case class Routes(countries: List[Country])(implicit cc: castor.Context, log: cask.Logger)
|
case class Routes(countries: List[Country])(implicit
|
||||||
extends cask.Routes {
|
cc: castor.Context,
|
||||||
|
log: cask.Logger
|
||||||
|
) extends cask.Routes {
|
||||||
|
|
||||||
def buildTemplateEngine(): TemplateEngine = {
|
def buildTemplateEngine(): TemplateEngine = {
|
||||||
val templateResolver = new ClassLoaderTemplateResolver()
|
val templateResolver = new ClassLoaderTemplateResolver()
|
||||||
|
@ -26,8 +29,12 @@ case class Routes(countries: List[Country])(implicit cc: castor.Context, log: ca
|
||||||
@cask.get("/")
|
@cask.get("/")
|
||||||
def hello() = {
|
def hello() = {
|
||||||
val context = new Context()
|
val context = new Context()
|
||||||
val indexPage = engine.process("index", context)
|
|
||||||
|
|
||||||
|
val regions = countries.map(_.region).distinct.sorted.asJava
|
||||||
|
context.setVariable("regionsSet", regions)
|
||||||
|
println(s"> got $regions")
|
||||||
|
|
||||||
|
val indexPage = engine.process("index", context)
|
||||||
Response(
|
Response(
|
||||||
indexPage,
|
indexPage,
|
||||||
headers = Seq("Content-Type" -> "text/html; charset=utf-8")
|
headers = Seq("Content-Type" -> "text/html; charset=utf-8")
|
||||||
|
|
Loading…
Reference in New Issue