2015-02-25 11:03:02 +00:00
|
|
|
(ns re-frame.core
|
|
|
|
(:require
|
2015-02-25 11:03:25 +00:00
|
|
|
[re-frame.handlers :as handlers]
|
|
|
|
[re-frame.subs :as subs]
|
2015-03-04 13:00:36 +00:00
|
|
|
[re-frame.router :as router]
|
2015-05-02 00:46:05 +00:00
|
|
|
[re-frame.utils :as utils]
|
2015-03-01 20:58:34 +00:00
|
|
|
[re-frame.middleware :as middleware]))
|
2015-02-25 11:03:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
;; -- API -------
|
|
|
|
|
2015-03-04 13:00:36 +00:00
|
|
|
(def dispatch router/dispatch)
|
|
|
|
(def dispatch-sync router/dispatch-sync)
|
2015-02-25 11:03:02 +00:00
|
|
|
|
2015-04-24 23:50:46 +00:00
|
|
|
(def register-sub subs/register)
|
|
|
|
(def clear-sub-handlers! subs/clear-handlers!)
|
|
|
|
(def subscribe subs/subscribe)
|
2015-02-25 11:03:02 +00:00
|
|
|
|
|
|
|
|
2015-04-24 23:50:46 +00:00
|
|
|
(def clear-event-handlers! handlers/clear-handlers!)
|
|
|
|
|
2015-02-25 11:03:02 +00:00
|
|
|
|
|
|
|
(def pure middleware/pure)
|
2015-03-01 20:58:34 +00:00
|
|
|
(def debug middleware/debug)
|
2015-02-25 11:03:02 +00:00
|
|
|
(def undoable middleware/undoable)
|
|
|
|
(def path middleware/path)
|
2015-03-05 00:32:36 +00:00
|
|
|
(def enrich middleware/enrich)
|
2015-02-26 15:07:35 +00:00
|
|
|
(def trim-v middleware/trim-v)
|
2015-03-04 13:00:36 +00:00
|
|
|
(def after middleware/after)
|
2015-04-17 12:51:03 +00:00
|
|
|
(def log-ex middleware/log-ex)
|
2015-02-25 11:03:02 +00:00
|
|
|
|
|
|
|
|
2015-04-26 21:38:37 +00:00
|
|
|
;; ALPHA - EXPERIMENTAL MIDDLEWARE
|
2015-04-24 14:06:51 +00:00
|
|
|
(def on-changes middleware/on-changes)
|
|
|
|
|
|
|
|
|
2015-04-26 21:38:37 +00:00
|
|
|
;; -- Logging -----
|
2015-05-02 00:46:05 +00:00
|
|
|
;; re-frame uses the logging functions: warn, log, error, group and groupEnd
|
|
|
|
;; By default, these functions map directly to the js/console implementations
|
|
|
|
;; But you can override with your own (set or subset):
|
2015-04-26 21:38:37 +00:00
|
|
|
;; (set-loggers! {:warn my-warn :log my-looger ...})
|
|
|
|
(def set-loggers! utils/set-loggers!)
|
2015-02-25 11:03:02 +00:00
|
|
|
|
2015-05-02 00:46:05 +00:00
|
|
|
|
2015-03-02 14:03:09 +00:00
|
|
|
;; -- Convenience API -------
|
2015-02-25 11:03:02 +00:00
|
|
|
|
2015-03-05 00:32:36 +00:00
|
|
|
;; Almost 100% of handlers will be pure, so make it easy to
|
2015-04-17 12:51:03 +00:00
|
|
|
;; register with "pure" middleware in the correct (left-hand-side) position.
|
2015-03-04 23:40:02 +00:00
|
|
|
(defn register-handler
|
2015-02-25 11:03:02 +00:00
|
|
|
([id handler]
|
2015-03-04 23:40:02 +00:00
|
|
|
(handlers/register-base id pure handler))
|
2015-02-25 11:03:02 +00:00
|
|
|
([id middleware handler]
|
2015-03-04 23:40:02 +00:00
|
|
|
(handlers/register-base id [pure middleware] handler)))
|
2015-03-02 12:02:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
|