diff options
Diffstat (limited to 'src/main/scala/reading/component/index/Menu.scala')
-rw-r--r-- | src/main/scala/reading/component/index/Menu.scala | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/main/scala/reading/component/index/Menu.scala b/src/main/scala/reading/component/index/Menu.scala index 0ea6ca4..ec6c21f 100644 --- a/src/main/scala/reading/component/index/Menu.scala +++ b/src/main/scala/reading/component/index/Menu.scala @@ -14,7 +14,7 @@ import reading.utils.RxUtils._ object Menu { def apply( books: Rx[Seq[Book]], - filters: Var[Seq[Filter]], + filters: Var[Set[Filter]], detail: Var[Option[Book]], search: Var[String], showFiltersMenu: Var[Boolean] @@ -27,14 +27,14 @@ object Menu { Rx(if (showFiltersMenu()) MenuStyle.show else MenuStyle.empty), MenuStyle.menu, - Rx(header(showFiltersMenu, filters().length)), + Rx(header(showFiltersMenu, filters().size)), div( MenuStyle.groups, Rx { filters().find(_.kind == FilterKind.Grade) match { case Some(grade) => - val programs = Program.values.filter(p => Program.grade(p).toString() == grade.nonFormattedName).sorted + val programs = Program.values.filter(p => Grade.from(p).toString() == grade.nonFormattedName).sorted group(books, filters, detail, search, grade.name, grade.name, programs.map(Filter.apply(_)), Some(grade)) case None => group(books, filters, detail, search, "classe", "classes", Grade.values.sorted.map(Filter.apply(_))) @@ -43,7 +43,7 @@ object Menu { Rx { filters().find(_.kind == FilterKind.GroupedTheme) match { case Some(groupedTheme) => - val themes = Theme.values.filter(t => Theme.grouped(t).toString() == groupedTheme.nonFormattedName).sorted + val themes = Theme.values.filter(t => GroupedTheme.from(t).toString() == groupedTheme.nonFormattedName).sorted group(books, filters, detail, search, groupedTheme.name, groupedTheme.name, themes.map(Filter.apply(_)), Some(groupedTheme)) case None => group(books, filters, detail, search, "thème", "thèmes", GroupedTheme.values.sorted.map(Filter.apply(_))) @@ -66,7 +66,7 @@ object Menu { def group( books: Rx[Seq[Book]], - filters: Var[Seq[Filter]], + filters: Var[Set[Filter]], detail: Var[Option[Book]], search: Var[String], name: String, @@ -100,7 +100,7 @@ object Menu { if (parentFilter.isDefined) MenuStyle.activeFilter else "", if (filtersCount() > 1) pluralName else name, Rx { - val count = filters().filter(f => groupFilters.exists(f == _)).length + val count = filters().filter(f => groupFilters.exists(f == _)).size if (count > 0) span(MenuStyle.filterTitleCount, count) else span("") } ), @@ -109,7 +109,7 @@ object Menu { case (filter, count) => { val isActive = Filter.contains(filters(), filter) val route = Route.Books( - filters = if (isActive) Filter.remove(filters(), filter) else filter +: filters() + filters = if (isActive) Filter.remove(filters(), filter) else filters() + filter ) a( @@ -120,7 +120,7 @@ object Menu { if (isActive) FilterUtils.remove(filters, detail, search, filter) else - FilterUtils.add(filters, detail, search, filter)), + FilterUtils.set(filters, detail, search, filters.now + filter)), span( span(filter.name.capitalize), span(MenuStyle.filterCount, count) @@ -135,7 +135,7 @@ object Menu { def footer( books: Rx[Seq[Book]], - filters: Var[Seq[Filter]], + filters: Var[Set[Filter]], detail: Var[Option[Book]], search: Var[String], showFiltersMenu: Var[Boolean] |