aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/component/index/Filters.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/component/index/Filters.scala')
-rw-r--r--src/main/scala/reading/component/index/Filters.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/scala/reading/component/index/Filters.scala b/src/main/scala/reading/component/index/Filters.scala
new file mode 100644
index 0000000..1d9cc93
--- /dev/null
+++ b/src/main/scala/reading/component/index/Filters.scala
@@ -0,0 +1,33 @@
+package reading.component.index
+
+import rx._
+import Ctx.Owner.Unsafe._
+
+import scalatags.JsDom.all._
+import scalacss.Defaults._
+import scalacss.ScalatagsCss._
+
+import reading.component.index.style.{Filters => FiltersStyle}
+import reading.models.Filter
+import reading.utils.{RxTag, RxAttr}
+
+object Filters {
+ def apply(filters: Var[Seq[Filter]]): Frag =
+ RxTag { implicit context =>
+ if(filters().isEmpty)
+ span("")
+ else
+ div(
+ FiltersStyle.render,
+ FiltersStyle.filters,
+
+ filters().sortBy(_.name).map { filter =>
+ button(
+ FiltersStyle.filter,
+ RxAttr(onclick, Rx(() => filters() = filters().filter(!Filter.equals(_, filter)))),
+ filter.name
+ )
+ }
+ )
+ }
+}