Dan Holmsand
7943a0018b
Make demo site reload a little faster
2016-05-01 13:45:37 +02:00
Dan Holmsand
e128117788
Improve exception-handling in reactions
...
Make sure exceptions in children of reactions don't end up
being caught in the reaction itself.
2016-05-01 13:09:12 +02:00
Dan Holmsand
1d912f0eaf
Make sure force-update flushes queued reactions
2016-04-30 14:24:18 +02:00
Dan Holmsand
995acb6c34
Make reaction with error always throw on deref
2016-04-30 13:56:00 +02:00
Dan Holmsand
9631021da7
Make sure reactions continue to run after throw
2016-04-29 20:42:05 +02:00
Dan Holmsand
8ff44c81e6
Rerun tests by clicking on test results
2016-04-29 13:17:54 +02:00
Dan Holmsand
37b2954c3a
Allow symbols, keywords and arbitrary cljs objects in markup
...
React no longer defaults to applying toString, and instead throws
confusing error messages when it encounters non-element objects.
This should make that happen less often.
2016-04-29 09:26:06 +02:00
Dan Holmsand
0dd46894f7
Merge branch 'reset-inside-reaction' of https://github.com/runningskull/reagent
2015-10-30 10:06:07 +01:00
Juan Patten
891609cd1a
Fix bug where auto-run reactions might not re-run
2015-10-29 00:19:51 -06:00
Dan Holmsand
cdee524fed
Make argv more consistent when used from plain React
2015-10-28 12:43:35 +01:00
Dan Holmsand
63515236cb
Make sure empty [:input] doesn't throw exception
2015-10-22 13:31:58 +02:00
Dan Holmsand
45b93c8145
Rename .' and .! to $ and $! respectively
...
This seems to be necessary to avoid trouble with bootstrapped cljs.
The old macros are still around, but deprecated.
2015-10-22 13:23:49 +02:00
Dan Holmsand
776c47491c
Make sure lifecycle callbacks work when called as native component
2015-10-12 17:18:37 +02:00
Dan Holmsand
253cb999ba
Call component functions with this set to current component
...
This makes us more consistent with React classes, and gives more
informative stack traces sometimes.
Also stop wrapping unknown methods - let React deal with them directly.
2015-10-11 15:04:50 +02:00
Dan Holmsand
cdea2257f2
Revert to not munging names in interop
2015-10-11 13:26:43 +02:00
Dan Holmsand
32a9609b11
Add a few more tests for track
2015-10-08 23:12:32 +02:00
Dan Holmsand
3aea9849ec
One more step towards React 0.14
2015-10-08 16:19:40 +02:00
Dan Holmsand
fa48e61f47
Start move to React 0.14
2015-10-08 14:14:34 +02:00
Dan Holmsand
2a74cbb144
More tests for warnings
2015-10-07 21:37:26 +02:00
Dan Holmsand
1d1552960c
Start testing warnings from components
2015-10-07 20:38:19 +02:00
Dan Holmsand
7f189d7595
Fix lifecycle test
2015-10-07 19:58:00 +02:00
Dan Holmsand
ec769d0c3c
Print function names instead of source in warnings/errors
2015-10-07 19:50:29 +02:00
Dan Holmsand
e79132c1f3
Always queue updates in reactions, even when flushing
2015-10-07 11:32:42 +02:00
Dan Holmsand
e6b32c6aee
Allow raw React classes to be used with [:> comp ...]
2015-10-06 14:27:44 +02:00
Dan Holmsand
533c05aaca
Allow output from create-class to be used directly by React
2015-10-06 12:49:47 +02:00
Dan Holmsand
de1e4d4ad5
Get rid of silent in ratom
...
And some small cleanup
2015-10-04 12:53:23 +02:00
Dan Holmsand
d0f480f3f2
Remove hack to support sync reactions
...
It became too messy, risky and confusing to be worth it.
2015-09-30 09:40:57 +02:00
Dan Holmsand
3fca2e5d41
Make reactions async by queueing changes instead
...
Reactions now put themselves in a queue when they get a
callback from an atom. The queue is flushed before rendering, and
on deref on individual reactions.
This turns out to perform much better in many cases.
2015-09-30 08:56:06 +02:00
Dan Holmsand
6e3a2b415d
Fix stupid with-let bug
2015-09-27 00:07:19 +02:00
Dan Holmsand
415ecd64fd
Simplify with-let and tweak performance
2015-09-26 13:12:59 +02:00
Dan Holmsand
5fceda2aae
Add tests for lifecycle methods
2015-09-25 13:44:10 +02:00
Dan Holmsand
64d1e11966
Add obj and munging to interop
...
.' and .! now behaves just like builtin interop, except that
they work the same under advanced compilation.
2015-09-25 11:48:50 +02:00
Dan Holmsand
55a4b4e1df
Omit tests running in node
2015-09-25 11:48:11 +02:00
Dan Holmsand
e4fee70ac2
Add support for trapping warning/error messages
...
And use in test for with-let
2015-09-24 17:02:18 +02:00
Dan Holmsand
cfcf356743
Add track, track!, dispose! and with-let to core
2015-09-24 10:19:30 +02:00
Dan Holmsand
034ffa6b7f
More tests for with-let
2015-09-24 09:23:21 +02:00
Dan Holmsand
28d454ece9
Include size of cached reactions in tests
2015-09-24 07:48:03 +02:00
Dan Holmsand
e1585f6730
Add more with-let tests, and fix dispose bug
2015-09-23 19:40:19 +02:00
Dan Holmsand
9163695832
Start adding more tests for with-let
2015-09-23 17:02:48 +02:00
Dan Holmsand
119fbfe173
Add a couple of more tests for with-let
2015-09-23 15:55:57 +02:00
Dan Holmsand
51163c1d07
Rename to with-let, add basic test
2015-09-23 10:39:49 +02:00
Dan Holmsand
a73761e72e
Warn if the same with-kept is used more than once
2015-09-21 10:49:43 +02:00
Dan Holmsand
6c9f71e511
Rename testmonitor
2015-09-19 19:03:29 +02:00
Dan Holmsand
ca5ce00c34
Rename monitor -> track, and monitor! -> track!
2015-09-19 16:49:13 +02:00
Dan Holmsand
54ca0f927f
Make monitor! run immediately
...
and async reaction not schedule anything from start
2015-09-15 18:11:36 +02:00
Dan Holmsand
87758ae396
Extend test for rswap!
2015-09-14 19:39:44 +02:00
Dan Holmsand
e11c881aa7
Add rswap!
...
Works just like swap!, except that it allows recursive swaps on
the same atom, and it always returns nil.
2015-09-14 19:35:48 +02:00
Dan Holmsand
8e7624ea45
Add a test for monitor!
2015-09-14 18:14:13 +02:00
Dan Holmsand
d362e0a26c
Mix calling style a bit in tests
2015-09-14 13:34:54 +02:00
Dan Holmsand
e05c74e6a5
More tests for monitor
2015-09-14 09:09:04 +02:00
Dan Holmsand
b0d86598ce
Start to add tests for monitor
2015-09-13 20:31:31 +02:00
Dan Holmsand
ee72c60d3a
Start implementing monitor
2015-09-13 18:17:38 +02:00
Dan Holmsand
e12716da5d
Log caught errors instead of rethrowing
2015-09-13 14:30:19 +02:00
Dan Holmsand
04daf6ac57
Exceptions from reactions are now thrown on deref only
2015-09-13 11:00:46 +02:00
Dan Holmsand
b036cf938e
Complete async testing
2015-09-12 19:13:31 +02:00
Dan Holmsand
544a3339d0
Start testing async reaction
2015-09-12 18:34:10 +02:00
Dan Holmsand
b0395b5461
Make reaction notify only when it actually changes
2015-09-11 20:37:23 +02:00
Dan Holmsand
b1acdea090
Use lazy reactions in components
2015-09-11 15:06:42 +02:00
Dan Holmsand
f785362b46
Some cleanup
2015-09-10 21:27:02 +02:00
Dan Holmsand
0b77d9af31
Get rid of active?
2015-09-10 20:51:09 +02:00
Dan Holmsand
80a3c27fac
Some performance tweaking
2015-09-10 18:30:00 +02:00
Dan Holmsand
e09534c8cd
Experiment with alternative to set
2015-09-10 17:40:55 +02:00
Dan Holmsand
c4cd8c2921
wip: tests pass
2015-08-31 11:36:42 +02:00
Dan Holmsand
be7bb69548
wip
2015-08-31 10:59:59 +02:00
Dan Holmsand
6c345db29e
Now almost working
2015-08-31 10:39:17 +02:00
Dan Holmsand
1782ff1832
wip - not working
2015-08-31 10:05:53 +02:00
Dan Holmsand
b77b182d67
Work around clojurescript problem with sorted-maps
2015-08-31 08:18:45 +02:00
Dan Holmsand
3defd24c35
Add a test for component-path
2015-08-30 18:29:27 +02:00
Dan Holmsand
eed924311e
Add force-update
2015-08-20 14:59:13 +02:00
Dan Holmsand
5d24b9be65
Deprecate calling the result of create-class as a function
...
In the future, I'd like to make it possible to use Reagent classes
usable directly from React, in order to make interop easier.
2015-08-20 09:35:24 +02:00
Dan Holmsand
a979a36a92
Drop test for key warning
...
React will sometimes warn, even if we don't.
Also, small fix for async demo.
2015-08-19 10:14:02 +02:00
Dan Holmsand
51048c7a7f
Avoid unnecessary warning about missing :key
...
:key is not necessary in seqs in render-to-string et al.
2015-07-31 16:18:51 +02:00
Dan Holmsand
b2210c2bf3
atom -> r/atom everywhere else, for consistency
2015-07-31 15:13:27 +02:00
Dan Holmsand
2628edabf8
Add tests for extended hiccup syntax
2015-07-30 20:26:16 +02:00
Stephen Caraher
e8cd105348
add test for cursor variadic swap!
2015-07-23 23:10:35 +10:00
Stephen Caraher
1363e05e62
add test for atom and wrapper variadic swap!
2015-07-23 22:54:46 +10:00
Dan Holmsand
569322949b
Take advantage of new figwheel
2015-05-31 11:51:11 +02:00
Dan Holmsand
cdd3c851a0
Fix cursor bug
...
Cursor wasn't updated when changing both the cursor and an
underlying atom at once.
2015-05-25 21:31:43 +02:00
Dan Holmsand
767410d8d8
Update clojurescript, figwheel and cljsbuild.
...
Stop using :figwheel-always, that seems to be broken in the new
figwheel.
2015-03-21 13:53:37 +01:00
Dan Holmsand
7568b6843e
Support running site in dev mode without tests
2015-02-11 19:06:38 +01:00
Dan Holmsand
526dfa61ea
Make swap! on non-active Reaction correct
2015-02-11 06:38:57 +01:00
Dan Holmsand
73d0478607
Simplify setup of doc site and testing
...
Take advantage of figwheel 0.2.3
2015-02-10 18:20:48 +01:00
Dan Holmsand
163308a392
Make site and examples work with ClojureScript 2816
...
ClojureScript all of a sudden complains about "single segment
namespaces", which forces a rather massive reorg.
Also, cljs.test/run-tests is broken.
2015-02-10 14:35:12 +01:00
Dan Holmsand
8feaccca88
Add IReactiveAtom type, and use in cursor asserts
2015-02-09 13:19:12 +01:00
Dan Holmsand
a2b5acb68f
Make warning for missing keys print data
...
That will hopefully make finding the offending code easier
to find.
2015-02-08 12:24:52 +01:00
Dan Holmsand
8b5905c9e1
Add reactify-component: adapts Reagent component for use in JSX
2015-02-08 00:04:45 +01:00
Dan Holmsand
017fa9c106
Rename :component-function to :reagent-render
...
But keep :component-function as alias for the time being
2015-02-04 22:45:39 +01:00
Dan Holmsand
c862792624
Revert experiment with lazy reaction
...
Needs more surgery to get this to work properly
2015-02-04 22:14:04 +01:00
Dan Holmsand
d39656624d
Make Reaction and cursors lazy
...
Their value will now only be calculated as needed (i.e when deref
is called), which should make debugging them much easier.
This also makes updating the atom they are relying on cheaper.
2015-02-04 16:03:35 +01:00
Dan Holmsand
15acc0d6ff
Added adapt-react-class
2015-02-02 15:19:43 +01:00
Dan Holmsand
6e0e9ed564
Make wrap watchable
2015-02-01 19:43:26 +01:00
Dan Holmsand
83fd1361df
Remove bundled React
...
No longer needed, since we use cljsjs/react instead.
Also remove obsolete interop macros, and some general cleanup
2015-02-01 15:13:08 +01:00
Dan Holmsand
744165737f
Make Reaction always call watches
...
Even if it is not executed automatically
2015-02-01 00:41:59 +01:00
Dan Holmsand
dfd3e540f3
Use cljs.test
2015-01-31 23:09:42 +01:00
Dan Holmsand
6d9bb35996
Deprecate calling cursor with atom as second argument
2015-01-31 14:29:01 +01:00
Dan Holmsand
86bf871329
Swap order of arguments to cursor
...
So now it should be called as (r/cursor atom path). The old order
still works though.
2015-01-31 14:08:19 +01:00
Dan Holmsand
976d8ba4f6
Make cursor more general and flexible
...
Instead of passing an atom, you can now pass a function.
That function is passed one argument (the path provided to cursor)
when deref-ing, and two arguments (path and new value) when
resetting.
Remove the old setter, and the currying version.
2015-01-31 13:32:48 +01:00
Dan Holmsand
a28dc812ae
Check for memory leaks
2015-01-31 12:22:53 +01:00
Dan Holmsand
00b5c1d330
Add tests from reagent-cursor
2015-01-31 11:01:35 +01:00
Dan Holmsand
0e7f5518c0
Allow deref of Reaction outside active Reaction
2015-01-30 21:20:02 +01:00