Tony Garnock-Jones
2c351d7352
todomvc: BUG: transitions don't happen because the nodes are being replaced rather than edited.
2016-05-17 13:03:09 -04:00
Tony Garnock-Jones
299be35d8f
todomvc: Implement many more features; redesign to fix bug
2016-05-17 13:03:09 -04:00
Tony Garnock-Jones
9e673c1588
todomvc: Sort todos in display by ID
2016-05-17 13:03:09 -04:00
Tony Garnock-Jones
7a759de5a1
todomvc: Progress
2016-05-17 13:03:09 -04:00
Tony Garnock-Jones
5c80c2f3bd
todomvc: Noticed a bug
2016-05-17 13:03:09 -04:00
Tony Garnock-Jones
a7ad6355f5
todomvc: Follow HTML template and file layout more closely; use new locationHash
2016-05-17 13:03:09 -04:00
Tony Garnock-Jones
eafcff8f75
todomvc: Various additional features toward the spec
2016-05-17 13:03:08 -04:00
Sam Caldwell
e18b2a8062
todomvc: progress
2016-05-17 13:03:04 -04:00
Sam Caldwell
d316449538
todomvc: switch to new ui library
2016-05-17 13:01:09 -04:00
Tony Garnock-Jones
4acb32813e
todomvc: Initial steps
2016-05-17 13:01:03 -04:00
Tony Garnock-Jones
df7908d5a7
examples/motion
2016-05-15 20:41:44 -04:00
Tony Garnock-Jones
1aead77a72
Do facet terminate() phase before handleEvent() phase
2016-05-15 16:16:36 -04:00
Tony Garnock-Jones
61ca89ce04
Post-insertion configureNode()
2016-05-15 14:58:28 -04:00
Tony Garnock-Jones
152a76af5e
uiProperty
2016-05-15 14:58:13 -04:00
Tony Garnock-Jones
b92c439f07
Introduce selectorMatch and eventUpdater
2016-05-15 14:57:56 -04:00
Tony Garnock-Jones
6a204a9085
Process many internal cycles per wakeup; avoid reentrancy
2016-05-15 14:56:19 -04:00
Tony Garnock-Jones
51d9d4b64e
Track Actors' knowledge to properly initialize new facets
2016-05-15 14:55:48 -04:00
Tony Garnock-Jones
1f8b3eeb3f
Attribute and property update/remove protocol
2016-05-15 06:14:31 -04:00
Tony Garnock-Jones
097641ffff
Name Structs for compatibility with Racket
2016-05-15 06:13:31 -04:00
Tony Garnock-Jones
0653bdae3c
key.instantiate needs an Array, not an Immutable.List
2016-05-15 06:12:37 -04:00
Tony Garnock-Jones
a55ed180db
Properly handle the first (interesting) patch after a broken connection.
2016-05-15 06:12:09 -04:00
Tony Garnock-Jones
e55e19d5e4
Add "on event ID BLOCK" support
2016-05-14 19:06:00 -04:00
Tony Garnock-Jones
0561a02e78
onTaskExit, matching the Racket
2016-05-14 17:12:41 -04:00
Tony Garnock-Jones
c7d91ac37f
Incorrect loop logic in updateEventListeners meant that nodes right at the end of the anchorNode were skipped.
2016-05-14 10:34:22 -04:00
Tony Garnock-Jones
bf532edd28
UIAttribute doesn't have fragmentId.
2016-05-14 02:26:24 -04:00
Tony Garnock-Jones
16365e7e95
Table example
2016-05-14 02:21:56 -04:00
Tony Garnock-Jones
35f0b75389
UIFragment orderBy, for features and speed
2016-05-14 02:21:43 -04:00
Tony Garnock-Jones
372652c49d
Syndicate.UI.uiAttribute
2016-05-13 20:17:16 -04:00
Tony Garnock-Jones
f64491c0a7
Better use of console.warn and console.error in dataspace.js
2016-05-13 20:17:16 -04:00
Tony Garnock-Jones
628ba87c54
Rewrite JS DemandMatcher to handle important latency-related corner cases.
2016-05-13 20:14:01 -04:00
Tony Garnock-Jones
68cde5be6c
DemandMatcher: overlap not ruled out! Remove it.
2016-05-12 22:18:57 -04:00
Tony Garnock-Jones
b51e7f99d9
LocationHashTracker
2016-05-12 20:11:22 -04:00
Tony Garnock-Jones
6d305e6b00
Hoist .refresh out from .handleEvent; makes assertions depend on state that might have been changed in event handlers properly.
2016-05-12 17:37:14 -04:00
Tony Garnock-Jones
a433a054b8
Syndicate.UI.windowEvent
2016-05-12 15:56:42 -04:00
Tony Garnock-Jones
e0bd8d08c2
Re-register UIFragment event handlers on node replacement
2016-05-12 15:19:37 -04:00
Tony Garnock-Jones
4eb29832df
Correct stupid mistake
2016-05-12 14:52:55 -04:00
Tony Garnock-Jones
fb89954158
Only try to attach events to things that might emit them
2016-05-12 14:46:39 -04:00
Tony Garnock-Jones
7b26b4bf14
Switch to FunctionBody from plain Block, to allow function definitions.
2016-05-12 00:01:09 -04:00
Tony Garnock-Jones
879e2425b9
Make Anchor.prototype.context n-ary
2016-05-11 22:13:35 -04:00
Tony Garnock-Jones
e67d018079
Make the TV catch fire eventually.
2016-05-11 21:22:26 -04:00
Tony Garnock-Jones
7b9f5a54e8
Use "message type" in demo-*.js
2016-05-11 21:05:40 -04:00
Tony Garnock-Jones
0208ae7a7d
A better UI library. Replaces DOM and jQuery support.
2016-05-11 21:03:11 -04:00
Tony Garnock-Jones
23f269fba6
Use Syndicate.Timer in SVG example
2016-05-11 11:13:14 -04:00
Tony Garnock-Jones
6ba9b402ec
Only trigger onStateChange with non-empty patch (?)
2016-05-11 10:59:44 -04:00
Tony Garnock-Jones
0693e88031
Allow "message type ..." as well as "assertion type ...".
2016-05-11 10:59:27 -04:00
Tony Garnock-Jones
4a2c8147aa
Enable and disable the IoT demo spawn/kill buttons.
...
Previous commit changed DOM fragment representation to use strings
instead of Seal'd quasi-sexprs, and so eliminated any distinction
between textually-identical DOM fragments in the dataspace.
This patch disables the "spawn" buttons for components in the IoT demo
to avoid (mostly harmless) duplication of actor instances.
It also demonstrates use of react{} outside a *lexically*-enclosing
actor{}.
2016-05-10 22:40:49 -04:00
Tony Garnock-Jones
dede7f08a7
Use strings-of-HTML and mustache.js for DOM fragments.
...
This avoids churn in the dataspace for no-op DOM updates, but at the
cost of losing the identity of multiple pieces of asserted DOM when
they end up being textually identical.
The fix is, generally, to make sure your DOM fragments are different
in some (perhaps invisible when rendered) way. Next commit updates the
IoT demo to avoid duplicate fragments.
2016-05-10 22:38:40 -04:00
Tony Garnock-Jones
efc444ac37
forever => react, state => react, init => do, done => finally, until => react until
2016-05-10 18:49:12 -04:00
Tony Garnock-Jones
e54b6566f5
Use Timer driver in IoT example.
2016-05-10 17:04:39 -04:00
Tony Garnock-Jones
43e94b83b4
Timer driver
2016-05-10 17:04:16 -04:00