@(baseUrl: String, page: services.Page[_ <: Any])(implicit request: RequestHeader) @createRange(currentPage: Int, totalPages: Int) = @{ val maxLength = 10 val minNumber = currentPage - maxLength / 2 val maxNumber = currentPage + maxLength / 2 - 1 (minNumber, maxNumber) match { case (min, max) if max <= maxLength && min <= 0 => 1 to Math.min(max, totalPages) case (min, max) if max > totalPages => min until totalPages case (min, max) => min to max } } @createLink(page: Int) = @{ val queryParams: Map[String, String] = request.queryString.filter(_._1 != "p").mapValues(_.head) + ("p" -> page.toString) baseUrl + "?" + queryParams.map { case (key, value) => key + "=" + value }.mkString("&") } @if(page.total > 0) { }