diff options
Diffstat (limited to 'src/main/scala/reading/component/index/Header.scala')
-rw-r--r-- | src/main/scala/reading/component/index/Header.scala | 45 |
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 ""}") ) } |