Commit Graph

788 Commits

Author SHA1 Message Date
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
Dan Holmsand 97194b6fca More cleanup in ratom.cljs: get rid of IComputedImpl
Calling object methods and plain functions is faster.
2015-09-27 09:46:44 +02:00
Dan Holmsand 6e3a2b415d Fix stupid with-let bug 2015-09-27 00:07:19 +02:00
Dan Holmsand 4f629d0a34 Big cleanup of ratom.cljs
Use a couple of utility functions, and better formatting to
reduce noise.

Don't use some? in performance critical code - avoid a function call.
2015-09-26 23:10:31 +02:00
Dan Holmsand ab36316c82 Swap arg order in _try-run 2015-09-26 18:13:07 +02:00
Dan Holmsand 5a23bcaad5 Don't call on-dispose in non-reactive deref for now 2015-09-26 18:00:30 +02:00
Dan Holmsand f940ac3f38 Slimline batching a little 2015-09-26 14:31:06 +02:00
Dan Holmsand 6a206eccf3 Simplify with-let even more 2015-09-26 14:30:11 +02:00
Dan Holmsand b17ff0a576 Pass state to on-dispose in Reaction
Use to simplify with-let some more
2015-09-26 13:59:43 +02:00
Dan Holmsand 415ecd64fd Simplify with-let and tweak performance 2015-09-26 13:12:59 +02:00
Dan Holmsand b1294d50e5 Start to make create-class return a proper React class 2015-09-25 20:49:48 +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 f62bf44661 Update demo to use rswap!
and fix old-style url in new051
2015-09-24 11:05:37 +02:00
Dan Holmsand be1dfaeba7 Merge branch 'with-let' 2015-09-24 11:00:32 +02:00
Dan Holmsand 572e4bbf96 Merge branch 'betterdemo' 2015-09-24 10:59:55 +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