All Downloads are FREE. Search and download functionalities are using the official Maven repository.

diode.dev.Hooks.scala Maven / Gradle / Ivy

There is a newer version: 1.1.0
Show newest version
package diode.dev

import diode.Dispatcher
import org.scalajs.dom
import org.scalajs.dom.raw.KeyboardEvent

object Hooks {
  def hookPersistState(id: String, dispatch: Dispatcher) = {
    def keyDown(event: KeyboardEvent) = {
      if (event.ctrlKey && event.shiftKey) {
        val c = Character.toChars(event.keyCode)(0).toLower
        c match {
          case 's' =>
            event.preventDefault()
            dispatch(PersistState.Save(id))
          case 'l' =>
            event.preventDefault()
            dispatch(PersistState.Load(id))
          case _ =>
        }
      }
    }
    dom.window.addEventListener("keydown", keyDown _)
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy