Commit Graph
69 Commits
Author SHA1 Message Date
Yoshua Wuyts 38a875a0d6 add DOMTitleChange event (#525) 2017-07-03 10:43:44 +02:00
Yoshua Wuyts 711f92a7c1 use nanolocation (#523) 2017-07-01 13:50:14 +02:00
Yoshua Wuyts 5d2104963c remove default route, parse qs (#521) 2017-06-29 17:20:00 +02:00
Yoshua Wuyts eb9b7fd59f v6 beta branch (#489)
* become prototype based

upgrade to new nanobus

remove nanohistory

add nanotiming

remove nanomount

move newTree to next tick

upgrade timing API

add more node warnings to .start/.mount

add morph timing

pass app instance to .use()

self-clearing async-timing

clean up timings

better mount error

fix mount bug

de-prototype helper functions

update to latest nanotiming

upgrade to nanotiming 5

update nanotiming

add toString asserts

more assertions

add event based tracing

expose createlocation

assert return types from render to always be the same

add navigate event

expose route on state

expose events

update uglify

use scroll-to-anchor

update nanobus

document events

update docs

more docs

changelog v6

upgrade nanomorph

fixup! neatify morph assertions

update bel dep

add popstate docs to changelog

* expose events on state

* upgrade deps
2017-06-28 15:53:37 +02:00
Yoshua Wuyts 6bd9a39cee fix .toString() (#510)
Closes GH-509. Thanks!
2017-06-02 12:33:51 +02:00
Yoshua Wuyts 8ff7deea3c add server tests (#501)
* add server tests

* remove node 4 tests
2017-05-24 13:02:33 +02:00
Kasper Lewau 9708859894 pass through emit args to updateHistory (#496) 2017-05-20 18:52:18 +02:00
Emil Bay 736e4b4514 Add hook for replaceState (#494)
* Add hook for replaceState

* Clarify why replaceState is dangerous
2017-05-19 14:56:45 +02:00
Emil Bay fe7f3a1695 Allow listeners to attach before rendering (#493)
* Allow listeners to attach before rendering

* Move rerender listeners down. Subtle sequencing

* Update docs to reflect changes
2017-05-19 14:20:39 +02:00
Yoshua Wuyts 6cf13af5ce warn on unmount (#485) 2017-04-26 13:52:34 +02:00
Yoshua Wuyts f45e1646ec expose router (#482)
In preparation for GH-480, but also because choo 4 exposed the router, and we need it for server rendering
2017-04-25 02:50:58 +02:00
Yoshua Wuyts 305d0a1ce5 run choo event handlers first (#479) 2017-04-19 13:02:43 +02:00
Yoshua Wuyts 30429d5970 Unlib (#477)
* use nanohref

* use nanohistory
2017-04-14 17:10:21 +02:00
Yoshua Wuyts 16d15d0e88 optimize example further (#462) 2017-04-02 01:19:59 +02:00
Carl Törnqvist 81216840c9 Add safer check for window properties (#458) 2017-03-31 22:01:58 +02:00
Yoshua Wuyts 2bbcb53f4a restore document-ready dep (#454) 2017-03-30 12:20:57 +02:00
Yoshua Wuyts b7b85261eb Remove unused variables (#453)
Closes https://github.com/yoshuawuyts/choo/issues/451
2017-03-30 11:48:21 +02:00
Yoshua Wuyts 4ef1f411b5 add timing API support (#448)
* add timing API support

* fixup! bump package.json
2017-03-29 10:43:42 +02:00
Yoshua Wuyts 4f8bd24169 fix server render (#443) 2017-03-25 10:45:44 +01:00
Seth Vincent 4e410ce50b hash fix: wait to run scrollIntoView (#439)
* simplify createLocation and wait to run scrollIntoView

* remove createLocation change
2017-03-25 10:17:43 +01:00
Yoshua Wuyts c2e4bb4963 fix pushState event (#434) 2017-03-22 20:42:53 +01:00
Yoshua Wuyts 8e8e870d45 implement choo v5 API (#425)
* implement choo v5 API

* fix tests

* 5.0.0-3

* 4kb now

* bump nanomorph

* 5.0.0-4

* fix missing deps stuff

* 5.0.0-5

* fix travis

* fixup! oops standard

* chooexpose

* fix state passing

* fixup! update example

* fixup! incorporate feedback

* fixup! more docs

* fixup! even more docs
2017-03-21 03:00:45 +01:00
Ben Gourley eed3a41797 feat(stop): expose barracks stop() fn (#359) 2017-01-21 18:08:43 +01:00
unaffiliated 6daf2e69f0 ignore state updates when on node
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

Closes #390
2017-01-21 16:21:48 +01:00
Tim Wisniewski 3b5740c00e Assert that tree exists, fix tests (#358)
* assert that tree exists, fix tests

* make assertions more helpful
2016-12-22 06:55:36 -05:00
Tim Wisniewski 9af9b1ad37 fix prev.location.params bug. closes #354 (#355) 2016-12-11 15:45:46 -05:00
Yoshua Wuyts a7916ec3f9 [major] choo v4 (#352)
* location: change url on location:setLocation

- [ ] don't break hashing
- [ ] allow not changing the url

fixup! move fns around

fixup! add search string

* app.start: clean

* walk: add

* location: update arg calls

* fixup! location: update

* uri-wrap: fix thunking

* router: update to latest sheet-router (#239)

* router: update to latest sheet-router

* tests: fix for latest version

* tests: fix SSR

* tests: fix history

* tests: spruce up

* docs: update example

* examples: update

* deps: bump sheet-router

* 4.0.0-0

* chore(changelog): 4.0.0 (#211)

* feat(api:) arg order (#268)

* s/data, state/state, data/

* feat(api): swap arguments

* fix(href): fix routing (#271)

* feat(http): remove (#269)

* feat(router): enable hash routing (#273)

* deps: fix mount

* 4.0.0-1

* feat(mount): copy {script,link} tags

* 4.0.0-2

* fix(mount): forEach -> for

Lol can't use forEach

* fix(router): use state.location.href (#282)

* fix(mount): use deep node clone

* 4.0.0-3

* fix(deps): remove hash-match

* 4.0.0-4

* fix(mount): return node

* 4.0.0-5

* fix(router): check if a hash is a valid selector (#339)

* 4.0.0-6

* fix(router): pass params on newstate (#343)

* 4.0.0-7

* feat(docs): update for 4.0.0 (#320)

* feat(docs): update for 4.0.0

* docs: update router example in readme (#337)

* chore(changelog): update for v4 (#351)
2016-12-11 19:35:29 +01:00
Tim Wisniewski e44f9619e9 prev.params should always exist (#227) 2016-08-23 05:45:53 -04:00
Yoshua Wuyts 2b7dc1901c .use: add new api method 2016-07-24 22:01:40 +01:00
Lucas Cherkewski dd88941d77 Use properly formatted assert() statement for send() on server 2016-07-14 15:10:08 -04:00
Yoshua Wuyts ea3a6f69e8 Merge branch 'master' into raf 2016-07-12 17:51:44 +02:00
Yoshua Wuyts 3cb9364c3d onAction: prefix views with view 2016-07-08 12:24:14 +02:00
Yoshua Wuyts f5f8d01c0b index: add raf guard 2016-07-06 23:15:54 +02:00
Yoshua Wuyts 4ad3dc9b72 deps: bump to barracks 8 2016-07-05 17:55:17 +02:00
Ben Drucker c3293b5953 Remove dead check for strict prev/current state equality
* Barracks will always return a new object

https://github.com/yoshuawuyts/barracks/blob/11d3c6d1822beadce0251279f9bc8370c569ea5e/index.js#L144
2016-07-04 16:19:17 -07:00
Ben Drucker e0783320f7 Add tests and fixes for rehydration
* Barracks must get an initial state or state.location is undefined
* Replaces document.addEventListener w/ pkg handling existing ready doc
2016-07-04 16:19:12 -07:00
Ben Drucker cdabc4d85f Return outerHTML from toString if available, fall back to toString() 2016-07-04 08:07:54 -07:00
timwis 6954bc5084 Rename action param -> data in index.js 2016-07-03 12:37:43 -04:00
Yoshua Wuyts 6407188ee9 router: change order of arguments
fixup! freeze state & rename app ns to location
2016-07-02 22:54:35 +02:00
Yoshua Wuyts 9e039ed561 architecture: use barracks
Changes
=======
- add hook handlers
- add effect composition
- add noFreeze option

Commits
=======
- fixup! fix toString()
- fixup! use assert instead of throw
- fixup! fix reducers
- fixup! work on done callbacks
- fixup! more callback work
- fixup! woooh fixed effects errs
- fixup! wrap up stuff
2016-07-02 16:00:26 +02:00
Todd Kennedy 8f8df602c5 Extract html into separate module (#103) 2016-07-02 12:55:41 +02:00
Yoshua Wuyts bca9d46f61 router: fix arguments bug 2016-06-23 23:54:02 +02:00
Yoshua Wuyts bae31831fe subscriptions: load on DOM ready 2016-06-20 15:11:28 +01:00
Yoshua Wuyts 30726b4277 Merge pull request #53 from toddself/fix-assert-call
Fix assert call for subscriptions
2016-06-19 22:16:02 +02:00
Todd Kennedy 02c3c81f37 Fix assert call for subscriptions 2016-06-19 11:38:36 -07:00
Todd Kennedy 1d38ab9f22 Allow for naming the rootId with no options
Right now if you want to name your rootId something different, but don't pass
in any options, it doesn't change the name of your rootId (see confusion in
github #49.

This would allow someone to use

```js
const app = choo()
app.start('myRootNode')
```

Rather than having to use

```js
const app = choo()
app.start('myRootNode', {name: 'myRootNode'})
```
2016-06-19 08:35:41 -07:00
timwis 957f41bea9 use ternary, hash is opt-in 2016-06-04 19:53:05 -04:00
timwis a5f8093dc0 Merge branch 'master' into hash 2016-06-04 19:25:12 -04:00
timwis 7e837a47eb use hash history for initial location 2016-06-04 18:43:38 -04:00
timwis 97d7122ff2 listen to hash changes 2016-06-04 18:00:00 -04:00