aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/reading/component/index/FilterUtils.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/reading/component/index/FilterUtils.scala')
-rw-r--r--src/main/scala/reading/component/index/FilterUtils.scala39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/scala/reading/component/index/FilterUtils.scala b/src/main/scala/reading/component/index/FilterUtils.scala
new file mode 100644
index 0000000..d4b24e4
--- /dev/null
+++ b/src/main/scala/reading/component/index/FilterUtils.scala
@@ -0,0 +1,39 @@
+package reading.component.index
+
+import rx._
+
+import reading.models._
+import reading.Route
+
+object FilterUtils {
+ def remove(
+ filters: Var[Seq[Filter]],
+ search: Var[String],
+ filter: Filter
+ ): Unit = {
+ val newFilters = Filter.remove(filters.now, filter)
+ filters() = newFilters
+ search() = ""
+ Route.push(Route.Books(newFilters))
+ }
+
+ def removeAll(
+ filters: Var[Seq[Filter]],
+ search: Var[String]
+ ): Unit = {
+ filters() = Nil
+ search() = ""
+ Route.push(Route.Books(Nil))
+ }
+
+ def add(
+ filters: Var[Seq[Filter]],
+ search: Var[String],
+ filter: Filter
+ ): Unit = {
+ val newFilters = filter +: filters.now
+ filters() = newFilters
+ search() = ""
+ Route.push(Route.Books(newFilters))
+ }
+}