Daniel Compton
7e492930e3
Add dynamic subscriptions to re-frame
...
Dynamic subscriptions allow the user to specify subscriptions that
depend on Ratoms/Reactions and will be rerun when they change. Users
will subscribe with v and a vector of dynamic values. The dynamic values
are dereffed and passed to the handler-fn. Dynamic subscriptions need to
pass a fn which takes app-db, v, and the dereffed dynamic values.
Every time a dynamic value changes, handler-fn will be rerun. This is in
contrast to standard subscriptions where handler-fn will only be run
once, although the reaction that it produces will change over time.
A concrete example of the need for this is:
1. You want to subscribe to a query on a remote server which will return
a Reaction which changes in response to server changes.
2. You want this subscription to be able to be rerun when you change one
of the query parameters.
In the current system, all views need to be aware of the possibility of
changing parameters and provide them in their subscriptions.
Example usage code:
(register-sub
:todo-dynamic
(fn todo-dynamic [_ _ [active-list]]
(let [q (q/get-query active-list)]
q)))
(register-sub
:todos
(fn todos [db _]
(let [active-list (subscribe [:active-list])
todos (subscribe [:todo-dynamic] [active-list])]
(make-reaction (fn todo-vals [] (update @todos :result #(vals (:list %))))))))
2015-10-16 14:46:54 +13:00
Daniel Compton
2720b27e4c
Merge pull request #100 from thenonameguy/patch-2
...
Use if-not instead of (if (not))
2015-09-12 20:27:35 +12:00
Daniel Compton
915ad9a351
Merge branch 'master' into develop
...
Conflicts:
README.md
examples/todomvc/src/todomvc/db.cljs
2015-07-27 16:51:22 +12:00
Szabó Krisztián
e0c816859f
Use if-not instead of (if (not))
2015-07-26 19:57:17 +02:00
Daniel Compton
b566c08f40
Merge pull request #84 from ducky427/patch-1
...
Minor code cleanup
2015-07-25 07:44:22 +12:00
Szabó Krisztián
72b2889f94
Fix spelling of 'weird'
...
https://en.wiktionary.org/wiki/wierd
2015-07-24 15:43:40 +02:00
Stuart Mitchell
62251dfe2b
fixed issue with log groupings
2015-07-17 14:16:56 +12:00
Stuart Mitchell
8caee1115b
fixes bug introduced by 8af8c6840f
2015-07-17 11:51:34 +12:00
Ducky
fc9da0d13a
Minor code cleanup
2015-07-16 17:25:54 +01:00
Earl St Sauver
9326a411e7
Simplify implementation of Middleware Compose
...
The implementation of middleware compose is duplicating behavior already
in compose.
`(apply comp [])` returns identity.
2015-07-11 11:52:23 +07:00
mike-thompson-day8
78dacf5ca1
Fix #65
2015-05-28 23:15:47 +10:00
mike-thompson-day8
16242cc2c4
Merge branch 'master' into develop
2015-05-26 21:53:16 +10:00
Daniel Compton
409b001e26
Clean up spelling, tense, and docstrings
2015-05-26 09:37:10 +12:00
mike-thompson-day8
0aee218689
Improve comments on router.
2015-05-08 15:49:48 +10:00
mike-thompson-day8
25ed816603
When an exception bubbles out of the router loop, it now restarts itself.
...
Previously the the router loop was permanently broken by an exception.
This change makes figwheel debugging work much more nicely in some circumstances.
Plus it means that in production, apps have a chance at recovery from UHE
2015-05-02 10:52:11 +10:00
mike-thompson-day8
b921fa497d
More "error" use instead of "warn"
2015-05-02 10:49:27 +10:00
mike-thompson-day8
7ebfc2a9ba
Start using "error" instead of "warn" for bad things
2015-05-02 10:48:31 +10:00
mike-thompson-day8
36b88a7378
Get logging working
2015-05-02 10:47:37 +10:00
mike-thompson-day8
be8f5b1cc5
Improve comments around logging
2015-05-02 10:46:05 +10:00
mike-thompson-day8
7d85dbca48
Remove unneeded require
2015-04-27 07:39:17 +10:00
mike-thompson-day8
5a32049452
Improve comment
2015-04-27 07:38:48 +10:00
mike-thompson-day8
65c93cd4d1
Implement #53
2015-04-27 07:38:37 +10:00
mike-thompson-day8
87b3572baa
Correct comment
2015-04-27 06:05:06 +10:00
mike-thompson-day8
c1fe51ddfd
Partially fix #43 by adding ability to clear both kinds of handlers.
2015-04-25 09:50:46 +10:00
mike-thompson-day8
82b3c87f80
Introduce reaction-like middleware. Closes #50
2015-04-25 00:06:51 +10:00
mike-thompson-day8
e80c6c94b3
Improve comment
2015-04-24 23:46:27 +10:00
hipitihop
2571cb5e0b
undo
...
- change undo to support separate event :purge-redos
- bump to [org.clojure/clojurescript "0.0-3211"]
2015-04-24 16:12:14 +10:00
hipitihop
06f7a29583
undo
...
- add optional parameter clear-redos? to :undo handler. Defaults to false so this is backward compatible.
2015-04-23 15:44:57 +10:00
mike-thompson-day8
72b605340e
Bump various for a v0.3.2 release
2015-04-22 00:18:31 +10:00
mike-thompson-day8
6ed3ba1e1f
Fix #42
2015-04-22 00:16:55 +10:00
mike-thompson-day8
f5ed759767
Incorporate changes from #46
2015-04-18 21:15:53 +10:00
mike-thompson-day8
76ee67de10
Improve comments and warnings.
...
Continue process of nicely naming of anon fns, so as to get better stack traces.
2015-04-18 17:59:40 +10:00
mike-thompson-day8
5602bffc6b
WIP on subs
2015-04-17 23:51:29 +10:00
mike-thompson-day8
769723c069
add log-ex to core API
2015-04-17 22:51:03 +10:00
mike-thompson-day8
fa954e5d9f
Give middleware anonymous handler functions better names, so they are more meaningful in stack traces
2015-04-16 16:02:19 +10:00
mike-thompson-day8
89f5344a86
Correct wiki links
2015-04-08 09:12:47 +10:00
mike-thompson-day8
f5ee682487
Follow suggestion from @whodidthis and include "v" into after and enrich
2015-03-17 22:03:21 +11:00
mike-thompson-day8
ef9dad529a
Correct stack access
2015-03-15 20:10:54 +11:00
mike-thompson-day8
a5b1ccdb16
Add log-ex middleware.
2015-03-14 09:47:16 +11:00
Stuart Mitchell
6cb43207ec
better printing of errors from re-frame
2015-03-11 16:46:16 +13:00
hipitihop
4426ed278b
undo
...
- correct clear-history! to reset app-explain
- fix subscription :undo-explanations to only con app-explain when there are undos
2015-03-10 15:57:26 +10:00
mike-thompson-day8
0c000f0094
wording in warning
2015-03-06 19:04:27 +11:00
mike-thompson-day8
6a140f9241
Undo tweaks
2015-03-06 19:04:02 +11:00
mike-thompson-day8
ce6a04f68a
Merge branch 'develop' of https://github.com/Day8/re-frame into develop
2015-03-06 18:10:27 +11:00
mike-thompson-day8
13840ed9a1
make path easier to use. Note new usage docs. Modify other docs in the process.
2015-03-06 18:06:25 +11:00
hipitihop
ecda398c5a
undo
...
- conj app-explain to :undo-explanations subscription
- add optional argument to :undo :redo handlers to specify number of undos/redos. Default 1 when not specified.
- correct comment and event name typos
2015-03-06 16:23:33 +10:00
mike-thompson-day8
a180df85c8
core.sync completely trashes the stack in an exception. Print any exception to the console before that happens.
2015-03-06 12:44:22 +11:00
mike-thompson-day8
f0fbea41a9
Various
2015-03-06 11:40:30 +11:00
mike-thompson-day8
b5ec3c6db5
Reimpliment undo so as to handle explanations
2015-03-06 10:48:20 +11:00
mike-thompson-day8
0ebb46cb91
undoable is now a middleware factory
2015-03-06 10:48:00 +11:00