602 Commits

Author SHA1 Message Date
Dan Holmsand
d9ad7740ec Make it easier to use with webpack and node
Demo and tests now can run with webpack-generated React

Use js/require, to make Reagent work better with node
2015-10-10 13:40:33 +02:00
Dan Holmsand
d30ef3aedb Make copying of watches in ratom a little faster 2015-10-09 14:41:03 +02:00
Dan Holmsand
88d961563a Simplify template.cljs a little 2015-10-09 13:32:30 +02:00
Dan Holmsand
47f49868ae Optimize template.cljs a little 2015-10-09 09:40:41 +02:00
Dan Holmsand
32a9609b11 Add a few more tests for track 2015-10-08 23:12:32 +02:00
Dan Holmsand
9f07aa35f4 Experiment with js-object element in 0.14
Doesn't seem to do much for performance, unfortunately.
2015-10-08 18:37:48 +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
0c8269766f Avoid calling flush! when flushing 2015-10-08 07:04:41 +02:00
Dan Holmsand
158fca953b Make NativeWrapper thinner 2015-10-07 23:02:55 +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
b86e6278eb Reformat to get rid of very long lines 2015-10-07 18:01:13 +02:00
Dan Holmsand
fefbcf109e Use new hiccup-err more 2015-10-07 17:56:08 +02:00
Dan Holmsand
72e546128f Avoid any overhead for supporting [:> comp ...] 2015-10-07 17:33:40 +02:00
Dan Holmsand
26392052b4 Get rid of pesky React warning in demo 2015-10-07 13:55:16 +02:00
Dan Holmsand
60427a3231 A little cleanup 2015-10-07 13:31:54 +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
4601b37ec5 Use functions to access argv 2015-10-06 10:46:59 +02:00
Dan Holmsand
eb359b301d More property access to component.cljs 2015-10-06 10:40:11 +02:00
Dan Holmsand
52e729a294 Simplify class creation 2015-10-05 12:18:42 +02:00
Dan Holmsand
038b312dd0 Merge branch 'create-class' 2015-10-05 10:42:51 +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
9a2d632826 Refactor to avoid circular dependency in ratom 2015-10-04 11:27:47 +02:00
Dan Holmsand
69e39bf6f7 Use keyword as key in with-let 2015-10-04 10:39:18 +02:00
Dan Holmsand
6ad55160eb Use set to simplify deref handling 2015-10-04 09:29:23 +02:00
Dan Holmsand
dabffb86b6 Cleanup new deref watching a bit 2015-10-03 22:36:40 +02:00
Dan Holmsand
c8b86af635 Get rid of complex deref watching code 2015-10-03 21:47:06 +02:00
Dan Holmsand
b399f30daf Make Reaction a little smaller 2015-10-03 14:46:46 +02:00
Dan Holmsand
a31c410e08 Faster compare of derefed reactions, and refactor 2015-10-03 12:56:35 +02:00
Dan Holmsand
70dd2a5166 Simplify make-reaction and deref-handling a lot 2015-10-03 11:54:32 +02:00
Dan Holmsand
05fb3ed39d Start simplifying reaction creation 2015-10-03 11:00:58 +02:00
Dan Holmsand
5d8f1ed116 Get rid of reaction-key 2015-10-03 09:22:33 +02:00
Dan Holmsand
4160704bdc Store cached reactions directly on function/object 2015-10-02 21:49:35 +02:00
Dan Holmsand
4ee08ea18e Use array for notify 2015-10-02 20:37:37 +02:00
Dan Holmsand
0cb0de8fc4 Cleanup and perf fixes 2015-10-02 17:34:08 +02:00
Dan Holmsand
4007e6db74 Simplify capture logic 2015-10-02 14:30:25 +02:00
Dan Holmsand
9a13446eea Try to avoid allocating new array in notify-deref-watcher 2015-10-02 13:02:37 +02:00
Dan Holmsand
eb83776b3d Use transients for better caching performance 2015-10-02 10:18:48 +02:00
Dan Holmsand
6aa26253d8 Use a plain method for running reaction internally
Gives quite a big speedup
2015-09-30 10:32:16 +02:00
Dan Holmsand
94ad9952d8 Use empty context instead of *flushing* in flush! 2015-09-30 09:49:11 +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
e39bb33ccc Use plain array instead of set for tracking watched atoms
Turns out to be much, much faster in most cases
2015-09-27 16:04:06 +02:00
Dan Holmsand
7cd2d7d860 Do a little cleanup in template.cljs 2015-09-27 11:14:32 +02:00
Dan Holmsand
83b21167ea Optimize common case of listening to one derefable 2015-09-27 11:11:15 +02:00