Commit Graph

609 Commits

Author SHA1 Message Date
Satyajit Sahoo
217f15d925 feat: add a prop to specify options for all screens (#47)
* feat: add material top tab integration

* feat: add a prop to specify options for all screens
2019-08-07 21:24:12 +01:00
satyajit.happy
601cbefd36 fix: enable keyboard handling by default 2019-08-07 17:25:20 +02:00
satyajit.happy
7e3a2c8629 fix: properly infer route type in screen elements 2019-08-07 15:23:48 +02:00
satyajit.happy
e1d7333f32 fix: don't apply action to an unrelated router 2019-08-07 11:45:22 +02:00
Satyajit Sahoo
6e7bb6f974 feat: add bottom tabs integration (#45) 2019-08-06 22:57:54 +01:00
satyajit.happy
f1f1541b0e fix: add margin on left when left button is specified in header 2019-08-06 22:31:42 +02:00
satyajit.happy
adc2fe4ef3 fix: throw when duplicate screens are defined 2019-08-06 18:09:24 +02:00
satyajit.happy
71f4ef1a92 refactor: standardize event argument 2019-08-06 17:51:06 +02:00
satyajit.happy
fd1c5fd0bb docs: add notes about architectural differences 2019-08-06 16:59:39 +02:00
satyajit.happy
747ce66927 feat: add a target key to actions and various fixes 2019-08-06 16:19:34 +02:00
Satyajit Sahoo
d02277b30d feat: add drawer navigator integration (#43) 2019-08-06 14:29:29 +01:00
Satyajit Sahoo
dcf57c095c feat: integrate reanimated based stack (#42) 2019-08-06 11:22:45 +01:00
Michal Osadnik
89c279fb23 refactor: drop shouldActionPropagateToChildren 2019-08-05 12:57:45 +02:00
Satyajit Sahoo
e0bee10e6b feat: add a simple stack and material tabs integration (#39) 2019-08-03 20:05:10 +02:00
Satyajit Sahoo
ce7d163073 chore: setup monorepo with yarn workspaces (#38) 2019-08-01 23:40:57 +01:00
satyajit.happy
0d68f1ed59 docs: add JSDoc for all library exports 2019-08-01 13:47:24 +02:00
satyajit.happy
cc76c69e70 feat: add backBehavior to TabRouter 2019-08-01 12:57:30 +02:00
satyajit.happy
0e2754df5b feat: add an isFirstRouteInParent method 2019-08-01 12:45:57 +02:00
satyajit.happy
819b7904fa feat: add a useFocusEffect hook 2019-08-01 12:38:58 +02:00
satyajit.happy
fb8d3024bf feat: add focus and blur events 2019-08-01 12:34:54 +02:00
Satyajit Sahoo
f130d3c292 fix: don't crash if no navigator handles an action (#30) 2019-07-31 12:09:33 +01:00
Satyajit Sahoo
7787ee16aa fix: memoize callbacks in container to avoid re-creating navigation prop (#34) 2019-07-31 12:00:44 +01:00
satyajit.happy
0893388155 test: add a test for useNavigation 2019-07-30 22:05:30 +02:00
satyajit.happy
9ff483a554 fix: adjust index when route names are changed 2019-07-29 00:59:11 +02:00
satyajit.happy
04483a4f1b test: fix types for mock router 2019-07-29 00:52:07 +02:00
satyajit.happy
571c513eae fix: throw when no screens defined 2019-07-29 00:50:43 +02:00
Michal Osadnik
1368b4fd20 refactor: change names in example 2019-07-27 15:54:02 +02:00
Michał Osadnik
20f1998d7f feat: imperative dispatch 2019-07-26 19:07:00 +01:00
satyajit.happy
f4f0ad6272 fix: use the same navigation object for options and screen 2019-07-25 11:52:03 +02:00
satyajit.happy
c0715dda58 fix: fix tab router in example app 2019-07-24 15:18:58 +02:00
satyajit.happy
049d03f321 refactor: rehydrate only once 2019-07-24 11:20:13 +02:00
satyajit.happy
d6501d3e5d fix: make rehydration keys stable 2019-07-24 10:56:41 +02:00
satyajit.happy
13b16b2d42 refactor: only accept a key for setParams
It doesn't make much sense for setParams to accept a name as you'd not want to set params for a random route.
So this commit changes the signature so that only a key can be passed.

It also adds a 'source' property to actions which the reducer can use if key wasn't provided.
2019-07-23 23:37:01 +02:00
satyajit.happy
d4f1fb731a refactor: move type imports to the end 2019-07-23 23:23:21 +02:00
Michał Osadnik
f41657e4fe refactor: make router a function (#22) 2019-07-23 23:21:23 +02:00
satyajit.happy
ae599aa006 chore: fix linting files 2019-07-23 23:16:52 +02:00
Satyajit Sahoo
75d356f3e9 chore: supress error messages regarding error boundary in tests (#28) 2019-07-23 21:51:39 +01:00
satyajit.happy
78ccf49627 fix: combine options and fix state type in CompositeNavigationProp 2019-07-23 13:23:39 +02:00
satyajit.happy
ab17e9af73 refactor: let router specify its state shape 2019-07-23 13:05:22 +02:00
satyajit.happy
55246370a6 fix: fix the types for composite navigation prop 2019-07-23 10:55:03 +02:00
Satyajit Sahoo
30b8fb26b1 fix: fix type signature for setParams (#24) 2019-07-23 00:53:38 +02:00
satyajit.happy
d3e200d727 refactor: only accept name in jumpTo 2019-07-23 00:26:43 +02:00
Satyajit Sahoo
bd6aa667cb refactor: mark initial state as stale to determine when to rehydrate (#23) 2019-07-22 22:21:56 +01:00
satyajit.happy
2798c93e8b refactor: tweak types 2019-07-22 21:01:39 +02:00
satyajit.happy
2eb86cd215 feat: add a setOptions method to set screen options
In React Navigation, the screen options can be specified statically. If you need to configure any options based on props and state of the component, or want to update state and props based on some action such as tab press, you need to do it in a hacky way by changing params. it's way more complicated than it needs to be. It also breaks when used with HOCs which don't hoist static props, a common source of confusion.

This PR adds a `setOptions` API to be able to update options directly without going through params.
2019-07-22 20:50:53 +02:00
satyajit.happy
2b819e4310 feat: improve types for options and support a function 2019-07-22 12:21:40 +02:00
satyajit.happy
e1cf13e34d feat: add a useNavigation hook to access the navigation object 2019-07-21 15:37:11 +02:00
satyajit.happy
57b7ed827c refactor: move some common actions to base router 2019-07-21 02:55:34 +02:00
Michał Osadnik
1de5494793 feat: add target argument to setParams (#18) 2019-07-20 20:51:03 +01:00
dependabot[bot]
a64f402ded chore(deps): bump lodash from 4.17.10 to 4.17.11 (#17) 2019-07-20 19:54:43 +01:00