aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/component/index/Header.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/component/index/Header.scala')
-rw-r--r--src/main/scala/reading/component/index/Header.scala45
1 files changed, 6 insertions, 39 deletions
diff --git a/src/main/scala/reading/component/index/Header.scala b/src/main/scala/reading/component/index/Header.scala
index 50d520e..0809b0c 100644
--- a/src/main/scala/reading/component/index/Header.scala
+++ b/src/main/scala/reading/component/index/Header.scala
@@ -1,14 +1,12 @@
package reading.component.index
import rx._
-
-import scalatags.JsDom.all._
import scalacss.Defaults._
import scalacss.ScalatagsCss._
+import scalatags.JsDom.all._
import reading.component.index.style.{ Header => HeaderStyle }
-import reading.component.widget.{ Cross, Input }
-import reading.component.style.{ Color => C }
+import reading.component.widget.Input
import reading.models.{ Book, Filter }
import reading.utils.RxUtils._
@@ -16,58 +14,27 @@ object Header {
def apply(
books: Rx[Seq[Book]],
filters: Var[Seq[Filter]],
+ detail: Var[Option[Book]],
search: Var[String],
showFiltersMenu: Var[Boolean]
)(
implicit
ctx: Ctx.Owner
): Frag = {
- val filtersCount: Rx[Int] = Rx(filters().length)
val booksCount: Rx[Int] = books.map(_.length)
div(
HeaderStyle.render,
HeaderStyle.header,
- Rx {
- div(
- div(
- HeaderStyle.showFiltersMenu,
- onclick := (() => showFiltersMenu() = true),
- "Filtrer",
- if (filtersCount() > 0) span(HeaderStyle.filtersCount, filtersCount()) else span("")
- ),
-
- if (filters().isEmpty)
- span("")
- else
- div(
- HeaderStyle.filters,
-
- div(
- HeaderStyle.clear,
- onclick := (() => FilterUtils.removeAll(filters, search)),
- "Effacer les filtres"
- ),
-
- filters().sortBy(_.name).map { filter =>
- div(
- HeaderStyle.filter,
- onclick := (() => FilterUtils.remove(filters, search, filter)),
- span(HeaderStyle.name, filter.name.capitalize),
- Cross(15.px, C.black.value)
- )
- }
- )
- )
- },
+ Filters(filters, detail, search, showFiltersMenu),
div(
HeaderStyle.searchAndCount,
- Input(HeaderStyle.search, search, "Rechercher"),
+ Input(HeaderStyle.search, search, "Rechercher", maxLength = Some(25)),
Rx {
div(
- HeaderStyle.booksCount,
+ HeaderStyle.count,
span(s"${booksCount()} livre${if (booksCount() > 1) "s" else ""}")
)
}