Tratamento de eventos com Clojurescript Dommy

Dommy – é a biblioteca Dom kickass para clojureScript, mas ainda tem documentação mínima, especialmente exemplos ausentes para eventos.

Este é meu pequeno fluxo de trabalho com exemplos de como registrar eventos e como escrever manipuladores de eventos apropriados usando dommy.

```clojurescript
(ns foxyeye.search

(:use-macros

[dommy.macros :only [sel sel1]])

(:require [dommy.core :as dommy]))


;; it takes value from input field and prints out on console

(defn on-search [ev]

(let [q (dommy/value (sel1 :#search-query))]

(.log js/console q)))


;; it marks selected list item as selected

(defn toggle-facets-item [ev]

(.log js/console ev) ;;show how ev object looks alike

(dommy/toggle-class! (.-currentTarget ev) "selected"))


(defn ^:export init []

(.log js/console "Search app is initialized")

;; register event for single item

(dommy/listen! (sel1 :#search-btn)

:click on-search)

;; register event for multiple items once

(doseq [item (sel :.facets-language-item)]

(dommy/listen! item :click toggle-facets-item)))

```