aberdeen 1.17.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/aberdeen.d.ts +928 -944
- package/dist/src/aberdeen.js +1693 -1704
- package/dist/src/aberdeen.js.map +3 -3
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.js +11 -0
- package/dist/src/index.js.map +10 -0
- package/dist/src/prediction.d.ts +7 -4
- package/dist/src/prediction.js +18 -23
- package/dist/src/prediction.js.map +3 -3
- package/dist/src/route.d.ts +112 -99
- package/dist/src/route.js +254 -254
- package/dist/src/route.js.map +3 -3
- package/dist/src/server-dom.d.ts +158 -0
- package/dist/src/server-dom.js +458 -0
- package/dist/src/server-dom.js.map +10 -0
- package/dist/src/server.d.ts +55 -0
- package/dist/src/server.js +25 -0
- package/dist/src/server.js.map +10 -0
- package/dist/src/transitions.js +7 -4
- package/dist/src/transitions.js.map +3 -3
- package/dist/tests/environment.d.ts +24 -0
- package/dist/tests/{fakedom.js → environment.js} +239 -288
- package/dist/tests/environment.js.map +11 -0
- package/dist/tests/helpers.d.ts +15 -3
- package/dist/tests/helpers.js +277 -306
- package/dist/tests/helpers.js.map +6 -5
- package/dist-docs/Tutorial/index.html +30 -30
- package/dist-docs/aberdeen/Aberdeen/index.html +350 -0
- package/dist-docs/aberdeen/InitOptions/index.html +4 -0
- package/dist-docs/aberdeen/KeyToString/index.html +2 -0
- package/dist-docs/aberdeen/PromiseProxy/index.html +6 -6
- package/dist-docs/aberdeen/SortKeyType/index.html +2 -0
- package/dist-docs/aberdeen/TargetType/index.html +2 -0
- package/dist-docs/aberdeen/ValueRef/index.html +2 -0
- package/dist-docs/aberdeen/WindowLike/index.html +5 -0
- package/dist-docs/aberdeen/{clone → createA}/index.html +10 -5
- package/dist-docs/aberdeen/index.html +13 -54
- package/dist-docs/assets/aberdeen/aberdeen.d.ts +928 -944
- package/dist-docs/assets/aberdeen/aberdeen.js +1693 -1704
- package/dist-docs/assets/aberdeen/aberdeen.js.map +3 -3
- package/dist-docs/assets/aberdeen/index.d.ts +12 -0
- package/dist-docs/assets/aberdeen/index.js +11 -0
- package/dist-docs/assets/aberdeen/index.js.map +10 -0
- package/dist-docs/assets/aberdeen/prediction.d.ts +7 -4
- package/dist-docs/assets/aberdeen/prediction.js +18 -23
- package/dist-docs/assets/aberdeen/prediction.js.map +3 -3
- package/dist-docs/assets/aberdeen/route.d.ts +112 -99
- package/dist-docs/assets/aberdeen/route.js +254 -254
- package/dist-docs/assets/aberdeen/route.js.map +3 -3
- package/dist-docs/assets/aberdeen/server-dom.d.ts +158 -0
- package/dist-docs/assets/aberdeen/server-dom.js +458 -0
- package/dist-docs/assets/aberdeen/server-dom.js.map +10 -0
- package/dist-docs/assets/aberdeen/server.d.ts +55 -0
- package/dist-docs/assets/aberdeen/server.js +25 -0
- package/dist-docs/assets/aberdeen/server.js.map +10 -0
- package/dist-docs/assets/aberdeen/transitions.js +7 -4
- package/dist-docs/assets/aberdeen/transitions.js.map +3 -3
- package/dist-docs/assets/navigation.js +1 -1
- package/dist-docs/assets/search.js +1 -1
- package/dist-docs/dispatcher/Dispatcher/index.html +5 -6
- package/dist-docs/dispatcher/MATCH_FAILED/index.html +2 -2
- package/dist-docs/dispatcher/MATCH_REST/index.html +2 -2
- package/dist-docs/dispatcher/index.html +2 -2
- package/dist-docs/hierarchy.html +1 -1
- package/dist-docs/index-1/index.html +2 -0
- package/dist-docs/index.html +2 -2
- package/dist-docs/media/CHANGELOG.md +14 -2
- package/dist-docs/modules.html +1 -1
- package/dist-docs/prediction/applyCanon/index.html +4 -3
- package/dist-docs/prediction/applyPrediction/index.html +4 -3
- package/dist-docs/prediction/index.html +2 -2
- package/dist-docs/route/Route/index.html +9 -9
- package/dist-docs/route/RouteApi/index.html +60 -0
- package/dist-docs/route/index.html +6 -15
- package/dist-docs/route/init/index.html +5 -0
- package/dist-docs/server/RenderToStringOptions/index.html +6 -0
- package/dist-docs/server/RenderToStringResult/index.html +6 -0
- package/dist-docs/server/index.html +4 -0
- package/dist-docs/server/renderToString/index.html +6 -0
- package/dist-docs/sitemap.xml +51 -155
- package/dist-docs/transitions/grow/index.html +2 -2
- package/dist-docs/transitions/index.html +2 -2
- package/dist-docs/transitions/shrink/index.html +2 -2
- package/package.json +17 -7
- package/skill/SKILL.md +28 -28
- package/skill/aberdeen.md +471 -3448
- package/skill/dispatcher.md +6 -16
- package/skill/prediction.md +17 -5
- package/skill/route.md +95 -77
- package/skill/transitions.md +3 -3
- package/src/aberdeen.ts +1226 -740
- package/src/index.ts +13 -0
- package/src/prediction.ts +25 -24
- package/src/route.ts +192 -142
- package/src/server-dom.ts +508 -0
- package/src/server.ts +74 -0
- package/src/transitions.ts +9 -3
- package/dist/tests/fakedom.d.ts +0 -9
- package/dist/tests/fakedom.js.map +0 -10
- package/dist-docs/aberdeen/A/index.html +0 -115
- package/dist-docs/aberdeen/CUSTOM_DUMP/index.html +0 -7
- package/dist-docs/aberdeen/NO_COPY/index.html +0 -2
- package/dist-docs/aberdeen/OPAQUE/index.html +0 -12
- package/dist-docs/aberdeen/clean/index.html +0 -11
- package/dist-docs/aberdeen/copy/index.html +0 -22
- package/dist-docs/aberdeen/count/index.html +0 -7
- package/dist-docs/aberdeen/cssVars/index.html +0 -11
- package/dist-docs/aberdeen/darkMode/index.html +0 -9
- package/dist-docs/aberdeen/default/index.html +0 -341
- package/dist-docs/aberdeen/derive/index.html +0 -18
- package/dist-docs/aberdeen/disableCreateDestroy/index.html +0 -6
- package/dist-docs/aberdeen/dump/index.html +0 -11
- package/dist-docs/aberdeen/insertCss/index.html +0 -30
- package/dist-docs/aberdeen/insertGlobalCss/index.html +0 -19
- package/dist-docs/aberdeen/invertString/index.html +0 -13
- package/dist-docs/aberdeen/isEmpty/index.html +0 -12
- package/dist-docs/aberdeen/map/index.html +0 -26
- package/dist-docs/aberdeen/merge/index.html +0 -11
- package/dist-docs/aberdeen/mount/index.html +0 -17
- package/dist-docs/aberdeen/multiMap/index.html +0 -28
- package/dist-docs/aberdeen/onEach/index.html +0 -19
- package/dist-docs/aberdeen/partition/index.html +0 -36
- package/dist-docs/aberdeen/peek/index.html +0 -40
- package/dist-docs/aberdeen/proxy/index.html +0 -35
- package/dist-docs/aberdeen/ref/index.html +0 -13
- package/dist-docs/aberdeen/runQueue/index.html +0 -13
- package/dist-docs/aberdeen/setErrorHandler/index.html +0 -16
- package/dist-docs/aberdeen/setSpacingCssVars/index.html +0 -8
- package/dist-docs/aberdeen/unmountAll/index.html +0 -5
- package/dist-docs/aberdeen/unproxy/index.html +0 -11
- package/dist-docs/route/back/index.html +0 -4
- package/dist-docs/route/current/index.html +0 -2
- package/dist-docs/route/go/index.html +0 -14
- package/dist-docs/route/interceptLinks/index.html +0 -8
- package/dist-docs/route/matchCurrent/index.html +0 -10
- package/dist-docs/route/persistScroll/index.html +0 -6
- package/dist-docs/route/push/index.html +0 -6
- package/dist-docs/route/setLog/index.html +0 -3
- package/dist-docs/route/up/index.html +0 -5
package/skill/dispatcher.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**Aberdeen
|
|
1
|
+
[**Aberdeen v2.0.0**](README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
### Dispatcher
|
|
12
12
|
|
|
13
|
-
Defined in: [dispatcher.ts:61](https://github.com/vanviegen/aberdeen/blob/
|
|
13
|
+
Defined in: [dispatcher.ts:61](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/dispatcher.ts#L61)
|
|
14
14
|
|
|
15
15
|
Simple route matcher and dispatcher.
|
|
16
16
|
|
|
@@ -37,23 +37,13 @@ dispatcher.dispatch(["search", "classical", "piano"]);
|
|
|
37
37
|
// Logs: Search terms: [ 'classical', 'piano' ]
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
#### Constructors
|
|
41
|
-
|
|
42
|
-
##### Constructor
|
|
43
|
-
|
|
44
|
-
> **new Dispatcher**(): [`Dispatcher`](#dispatcher)
|
|
45
|
-
|
|
46
|
-
###### Returns
|
|
47
|
-
|
|
48
|
-
[`Dispatcher`](#dispatcher)
|
|
49
|
-
|
|
50
40
|
#### Methods
|
|
51
41
|
|
|
52
42
|
##### addRoute()
|
|
53
43
|
|
|
54
44
|
> **addRoute**\<`T`, `H`\>(...`args`): `void`
|
|
55
45
|
|
|
56
|
-
Defined in: [dispatcher.ts:73](https://github.com/vanviegen/aberdeen/blob/
|
|
46
|
+
Defined in: [dispatcher.ts:73](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/dispatcher.ts#L73)
|
|
57
47
|
|
|
58
48
|
Add a route with matchers and a handler function.
|
|
59
49
|
|
|
@@ -90,7 +80,7 @@ An array of matchers followed by a handler function. Each matcher can be:
|
|
|
90
80
|
|
|
91
81
|
> **dispatch**(`segments`): `boolean`
|
|
92
82
|
|
|
93
|
-
Defined in: [dispatcher.ts:94](https://github.com/vanviegen/aberdeen/blob/
|
|
83
|
+
Defined in: [dispatcher.ts:94](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/dispatcher.ts#L94)
|
|
94
84
|
|
|
95
85
|
Dispatches the given segments to the first route handler that matches.
|
|
96
86
|
|
|
@@ -114,7 +104,7 @@ True if a matching route was found and handled, false otherwise.
|
|
|
114
104
|
|
|
115
105
|
> `const` **MATCH\_FAILED**: unique `symbol`
|
|
116
106
|
|
|
117
|
-
Defined in: [dispatcher.ts:4](https://github.com/vanviegen/aberdeen/blob/
|
|
107
|
+
Defined in: [dispatcher.ts:4](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/dispatcher.ts#L4)
|
|
118
108
|
|
|
119
109
|
Symbol to return when a custom [Dispatcher.addRoute](#addroute) matcher cannot match a segment.
|
|
120
110
|
|
|
@@ -124,6 +114,6 @@ Symbol to return when a custom [Dispatcher.addRoute](#addroute) matcher cannot m
|
|
|
124
114
|
|
|
125
115
|
> `const` **MATCH\_REST**: unique `symbol`
|
|
126
116
|
|
|
127
|
-
Defined in: [dispatcher.ts:9](https://github.com/vanviegen/aberdeen/blob/
|
|
117
|
+
Defined in: [dispatcher.ts:9](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/dispatcher.ts#L9)
|
|
128
118
|
|
|
129
119
|
Special [Dispatcher.addRoute](#addroute) matcher that matches the rest of the segments as an array of strings.
|
package/skill/prediction.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**Aberdeen
|
|
1
|
+
[**Aberdeen v2.0.0**](README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
### applyCanon()
|
|
12
12
|
|
|
13
|
-
> **applyCanon**(`canonFunc?`, `dropPredictions?`): `void`
|
|
13
|
+
> **applyCanon**(`A`, `canonFunc?`, `dropPredictions?`): `void`
|
|
14
14
|
|
|
15
|
-
Defined in: [prediction.ts:136](https://github.com/vanviegen/aberdeen/blob/
|
|
15
|
+
Defined in: [prediction.ts:136](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/prediction.ts#L136)
|
|
16
16
|
|
|
17
17
|
Temporarily revert all outstanding predictions, optionally run the provided function
|
|
18
18
|
(which will generally make authoritative changes to the data based on a server response),
|
|
@@ -25,6 +25,12 @@ actual change to an `Observable`.
|
|
|
25
25
|
|
|
26
26
|
#### Parameters
|
|
27
27
|
|
|
28
|
+
##### A
|
|
29
|
+
|
|
30
|
+
`any`
|
|
31
|
+
|
|
32
|
+
The Aberdeen instance (the default export of `aberdeen`, or one from `init`).
|
|
33
|
+
|
|
28
34
|
##### canonFunc?
|
|
29
35
|
|
|
30
36
|
() => `void`
|
|
@@ -48,9 +54,9 @@ An optional list of predictions (as returned by `applyPrediction`)
|
|
|
48
54
|
|
|
49
55
|
### applyPrediction()
|
|
50
56
|
|
|
51
|
-
> **applyPrediction**(`predictFunc`): `Patch`
|
|
57
|
+
> **applyPrediction**(`A`, `predictFunc`): `Patch`
|
|
52
58
|
|
|
53
|
-
Defined in: [prediction.ts:
|
|
59
|
+
Defined in: [prediction.ts:113](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/prediction.ts#L113)
|
|
54
60
|
|
|
55
61
|
Run the provided function, while treating all changes to Observables as predictions,
|
|
56
62
|
meaning they will be reverted when changes come back from the server (or some other
|
|
@@ -58,6 +64,12 @@ async source).
|
|
|
58
64
|
|
|
59
65
|
#### Parameters
|
|
60
66
|
|
|
67
|
+
##### A
|
|
68
|
+
|
|
69
|
+
`any`
|
|
70
|
+
|
|
71
|
+
The Aberdeen instance (the default export of `aberdeen`, or one from `init`).
|
|
72
|
+
|
|
61
73
|
##### predictFunc
|
|
62
74
|
|
|
63
75
|
() => `void`
|
package/skill/route.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**Aberdeen
|
|
1
|
+
[**Aberdeen v2.0.0**](README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
### Route
|
|
12
12
|
|
|
13
|
-
Defined in: [route.ts:
|
|
13
|
+
Defined in: [route.ts:6](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L6)
|
|
14
14
|
|
|
15
15
|
The class for the global `route` object.
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ The class for the global `route` object.
|
|
|
20
20
|
|
|
21
21
|
> **depth**: `number`
|
|
22
22
|
|
|
23
|
-
Defined in: [route.ts:
|
|
23
|
+
Defined in: [route.ts:18](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L18)
|
|
24
24
|
|
|
25
25
|
The navigation depth of the current session. Starts at 1. Writing to this property has no effect.
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ The navigation depth of the current session. Starts at 1. Writing to this proper
|
|
|
28
28
|
|
|
29
29
|
> **hash**: `string`
|
|
30
30
|
|
|
31
|
-
Defined in: [route.ts:
|
|
31
|
+
Defined in: [route.ts:12](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L12)
|
|
32
32
|
|
|
33
33
|
The hash fragment including the leading `#`, or an empty string. For instance `"#my_section"` or `""`.
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ The hash fragment including the leading `#`, or an empty string. For instance `"
|
|
|
36
36
|
|
|
37
37
|
> **nav**: `NavType`
|
|
38
38
|
|
|
39
|
-
Defined in: [route.ts:
|
|
39
|
+
Defined in: [route.ts:26](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L26)
|
|
40
40
|
|
|
41
41
|
The navigation action that got us to this page. Writing to this property has no effect.
|
|
42
42
|
- `"load"`: An initial page load.
|
|
@@ -49,7 +49,7 @@ Mostly useful for page transition animations. Writing to this property has no ef
|
|
|
49
49
|
|
|
50
50
|
> **p**: `string`[]
|
|
51
51
|
|
|
52
|
-
Defined in: [route.ts:
|
|
52
|
+
Defined in: [route.ts:10](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L10)
|
|
53
53
|
|
|
54
54
|
An convenience array containing path segments, mapping to `path`. For instance `[]` (for `"/"`) or `['users', '123', 'feed']` (for `"/users/123/feed"`).
|
|
55
55
|
|
|
@@ -57,7 +57,7 @@ An convenience array containing path segments, mapping to `path`. For instance `
|
|
|
57
57
|
|
|
58
58
|
> **path**: `string`
|
|
59
59
|
|
|
60
|
-
Defined in: [route.ts:
|
|
60
|
+
Defined in: [route.ts:8](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L8)
|
|
61
61
|
|
|
62
62
|
The current path of the URL as a string. For instance `"/"` or `"/users/123/feed"`. Paths are normalized to always start with a `/` and never end with a `/` (unless it's the root path).
|
|
63
63
|
|
|
@@ -65,7 +65,7 @@ The current path of the URL as a string. For instance `"/"` or `"/users/123/feed
|
|
|
65
65
|
|
|
66
66
|
> **search**: `Record`\<`string`, `string`\>
|
|
67
67
|
|
|
68
|
-
Defined in: [route.ts:
|
|
68
|
+
Defined in: [route.ts:14](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L14)
|
|
69
69
|
|
|
70
70
|
The query string interpreted as search parameters. So `"a=x&b=y"` becomes `{a: "x", b: "y"}`.
|
|
71
71
|
|
|
@@ -73,59 +73,65 @@ The query string interpreted as search parameters. So `"a=x&b=y"` becomes `{a: "
|
|
|
73
73
|
|
|
74
74
|
> **state**: `Record`\<`string`, `any`\>
|
|
75
75
|
|
|
76
|
-
Defined in: [route.ts:
|
|
76
|
+
Defined in: [route.ts:16](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L16)
|
|
77
77
|
|
|
78
78
|
An object to be used for any additional data you want to associate with the current page. Data should be JSON-compatible.
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
***
|
|
81
|
+
|
|
82
|
+
### RouteApi
|
|
81
83
|
|
|
82
|
-
|
|
84
|
+
Defined in: [route.ts:39](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L39)
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
The router API returned by [init](#init), bound to a specific Aberdeen instance's window.
|
|
87
|
+
|
|
88
|
+
#### Properties
|
|
85
89
|
|
|
86
|
-
|
|
90
|
+
##### current
|
|
91
|
+
|
|
92
|
+
> **current**: [`Route`](#route)
|
|
93
|
+
|
|
94
|
+
Defined in: [route.ts:43](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L43)
|
|
87
95
|
|
|
88
96
|
The global [Route](#route) object reflecting the current URL and browser history state. Changes you make to this affect the current browser history item (modifying the URL if needed).
|
|
89
97
|
|
|
90
|
-
|
|
98
|
+
#### Methods
|
|
91
99
|
|
|
92
|
-
|
|
100
|
+
##### back()
|
|
93
101
|
|
|
94
|
-
> **back**(`target
|
|
102
|
+
> **back**(`target?`): `void`
|
|
95
103
|
|
|
96
|
-
Defined in: [route.ts:
|
|
104
|
+
Defined in: [route.ts:108](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L108)
|
|
97
105
|
|
|
98
106
|
Try to go back in history to the first entry that matches the given target. If none is found, the given state will replace the current page. This is useful for "cancel" or "close" actions that should return to the previous page if possible, but create a new page if not (for instance when arriving at the current page through a direct link).
|
|
99
107
|
|
|
100
108
|
Consider using [up](#up) to go up in the path hierarchy.
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
###### Parameters
|
|
103
111
|
|
|
104
|
-
|
|
112
|
+
###### target?
|
|
105
113
|
|
|
106
|
-
`RouteTarget`
|
|
114
|
+
`RouteTarget`
|
|
107
115
|
|
|
108
116
|
The target route to go back to. May be a subset of [Route](#route), or a string (for `path`), or an array of strings (for `p`).
|
|
109
117
|
|
|
110
|
-
|
|
118
|
+
###### Returns
|
|
111
119
|
|
|
112
120
|
`void`
|
|
113
121
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
### go()
|
|
122
|
+
##### go()
|
|
117
123
|
|
|
118
|
-
> **go**(`target`, `nav
|
|
124
|
+
> **go**(`target`, `nav?`): `void`
|
|
119
125
|
|
|
120
|
-
Defined in: [route.ts:
|
|
126
|
+
Defined in: [route.ts:69](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L69)
|
|
121
127
|
|
|
122
128
|
Navigate to a new URL by pushing a new history entry.
|
|
123
129
|
|
|
124
130
|
Note that this happens synchronously, immediately updating `route` and processing any reactive updates based on that.
|
|
125
131
|
|
|
126
|
-
|
|
132
|
+
###### Parameters
|
|
127
133
|
|
|
128
|
-
|
|
134
|
+
###### target
|
|
129
135
|
|
|
130
136
|
`RouteTarget`
|
|
131
137
|
|
|
@@ -144,21 +150,19 @@ route.go("/users/123");
|
|
|
144
150
|
route.go({p: ["users", 123], search: {tab: "feed"}, hash: "top"});
|
|
145
151
|
```
|
|
146
152
|
|
|
147
|
-
|
|
153
|
+
###### nav?
|
|
148
154
|
|
|
149
|
-
`NavType`
|
|
155
|
+
`NavType`
|
|
150
156
|
|
|
151
|
-
|
|
157
|
+
###### Returns
|
|
152
158
|
|
|
153
159
|
`void`
|
|
154
160
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
### interceptLinks()
|
|
161
|
+
##### interceptLinks()
|
|
158
162
|
|
|
159
163
|
> **interceptLinks**(): `void`
|
|
160
164
|
|
|
161
|
-
Defined in: [route.ts:
|
|
165
|
+
Defined in: [route.ts:156](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L156)
|
|
162
166
|
|
|
163
167
|
Intercept clicks and Enter key presses on links (`<a>` tags) and use Aberdeen routing
|
|
164
168
|
instead of browser navigation for local paths (paths without a protocol or host).
|
|
@@ -166,11 +170,11 @@ instead of browser navigation for local paths (paths without a protocol or host)
|
|
|
166
170
|
This allows you to use regular HTML anchor tags for navigation without needing to
|
|
167
171
|
manually attach click handlers to each link.
|
|
168
172
|
|
|
169
|
-
|
|
173
|
+
###### Returns
|
|
170
174
|
|
|
171
175
|
`void`
|
|
172
176
|
|
|
173
|
-
|
|
177
|
+
###### Example
|
|
174
178
|
|
|
175
179
|
```js
|
|
176
180
|
// In your root component:
|
|
@@ -180,13 +184,11 @@ route.interceptLinks();
|
|
|
180
184
|
A('a text=About href=/corporate/about');
|
|
181
185
|
```
|
|
182
186
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
### matchCurrent()
|
|
187
|
+
##### matchCurrent()
|
|
186
188
|
|
|
187
189
|
> **matchCurrent**(`target`): `boolean`
|
|
188
190
|
|
|
189
|
-
Defined in: [route.ts:
|
|
191
|
+
Defined in: [route.ts:90](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L90)
|
|
190
192
|
|
|
191
193
|
Returns `true` if the current route matches `target`.
|
|
192
194
|
|
|
@@ -198,17 +200,17 @@ when target k/v search pairs are (un)set.
|
|
|
198
200
|
|
|
199
201
|
Primary usage: 'active' status for menu items.
|
|
200
202
|
|
|
201
|
-
|
|
203
|
+
###### Parameters
|
|
202
204
|
|
|
203
|
-
|
|
205
|
+
###### target
|
|
204
206
|
|
|
205
207
|
`RouteTarget`
|
|
206
208
|
|
|
207
|
-
|
|
209
|
+
###### Returns
|
|
208
210
|
|
|
209
211
|
`boolean`
|
|
210
212
|
|
|
211
|
-
|
|
213
|
+
###### Example
|
|
212
214
|
|
|
213
215
|
```js
|
|
214
216
|
// This example assumes interceptLinks() has been called
|
|
@@ -218,92 +220,84 @@ A('a.my-button text=Users href=/users .is-active=', route.matchCurrent('/users')
|
|
|
218
220
|
route.matchCurrent({path: '/users', search: {tab: 'profile'}});
|
|
219
221
|
```
|
|
220
222
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
### persistScroll()
|
|
223
|
+
##### persistScroll()
|
|
224
224
|
|
|
225
|
-
> **persistScroll**(`name
|
|
225
|
+
> **persistScroll**(`name?`): `void`
|
|
226
226
|
|
|
227
|
-
Defined in: [route.ts:
|
|
227
|
+
Defined in: [route.ts:139](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L139)
|
|
228
228
|
|
|
229
229
|
Restore and store the vertical and horizontal scroll position for
|
|
230
230
|
the parent element to the page state.
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
###### Parameters
|
|
233
233
|
|
|
234
|
-
|
|
234
|
+
###### name?
|
|
235
235
|
|
|
236
|
-
`string`
|
|
236
|
+
`string`
|
|
237
237
|
|
|
238
238
|
A unique (within this page) name for this
|
|
239
239
|
scrollable element. Defaults to 'main'.
|
|
240
240
|
|
|
241
241
|
The scroll position will be persisted in `route.aux.scroll.<name>`.
|
|
242
242
|
|
|
243
|
-
|
|
243
|
+
###### Returns
|
|
244
244
|
|
|
245
245
|
`void`
|
|
246
246
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
### push()
|
|
247
|
+
##### push()
|
|
250
248
|
|
|
251
249
|
> **push**(`target`, `nav?`): `void`
|
|
252
250
|
|
|
253
|
-
Defined in: [route.ts:
|
|
251
|
+
Defined in: [route.ts:100](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L100)
|
|
254
252
|
|
|
255
253
|
Modify the current route by merging `target` into it (using [A.merge](aberdeen.md#merge)), pushing a new history entry.
|
|
256
254
|
|
|
257
255
|
This is useful for things like opening modals or side panels, where you want a browser back action to return to the previous state.
|
|
258
256
|
|
|
259
|
-
|
|
257
|
+
###### Parameters
|
|
260
258
|
|
|
261
|
-
|
|
259
|
+
###### target
|
|
262
260
|
|
|
263
261
|
`RouteTarget`
|
|
264
262
|
|
|
265
263
|
Same as for [go](#go), but merged into the current route instead deleting all state.
|
|
266
264
|
|
|
267
|
-
|
|
265
|
+
###### nav?
|
|
268
266
|
|
|
269
267
|
`NavType`
|
|
270
268
|
|
|
271
269
|
The navigation type to use. Defaults to `undefined`, meaning the navigation type is unchanged from the current route,
|
|
272
270
|
preventing unwanted page transition animations.
|
|
273
271
|
|
|
274
|
-
|
|
272
|
+
###### Returns
|
|
275
273
|
|
|
276
274
|
`void`
|
|
277
275
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
### setLog()
|
|
276
|
+
##### setLog()
|
|
281
277
|
|
|
282
278
|
> **setLog**(`value`): `void`
|
|
283
279
|
|
|
284
|
-
Defined in: [route.ts:
|
|
280
|
+
Defined in: [route.ts:48](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L48)
|
|
285
281
|
|
|
286
282
|
Configure logging on route changes.
|
|
287
283
|
|
|
288
|
-
|
|
284
|
+
###### Parameters
|
|
289
285
|
|
|
290
|
-
|
|
286
|
+
###### value
|
|
291
287
|
|
|
292
288
|
`true` to enable logging to console, `false` to disable logging, or a custom logging function. Defaults to `false`.
|
|
293
289
|
|
|
294
290
|
`boolean` | (...`args`) => `void`
|
|
295
291
|
|
|
296
|
-
|
|
292
|
+
###### Returns
|
|
297
293
|
|
|
298
294
|
`void`
|
|
299
295
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
### up()
|
|
296
|
+
##### up()
|
|
303
297
|
|
|
304
|
-
> **up**(`stripCount
|
|
298
|
+
> **up**(`stripCount?`): `void`
|
|
305
299
|
|
|
306
|
-
Defined in: [route.ts:
|
|
300
|
+
Defined in: [route.ts:116](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L116)
|
|
307
301
|
|
|
308
302
|
Navigate up in the path hierarchy, by going back to the first history entry
|
|
309
303
|
that has a shorter path than the current one. If there's none, we just shorten
|
|
@@ -311,12 +305,36 @@ the current path.
|
|
|
311
305
|
|
|
312
306
|
Note that going back in browser history happens asynchronously, so `route` will not be updated immediately.
|
|
313
307
|
|
|
308
|
+
###### Parameters
|
|
309
|
+
|
|
310
|
+
###### stripCount?
|
|
311
|
+
|
|
312
|
+
`number`
|
|
313
|
+
|
|
314
|
+
###### Returns
|
|
315
|
+
|
|
316
|
+
`void`
|
|
317
|
+
|
|
318
|
+
## Functions
|
|
319
|
+
|
|
320
|
+
### init()
|
|
321
|
+
|
|
322
|
+
> **init**(`A`): [`RouteApi`](#routeapi)
|
|
323
|
+
|
|
324
|
+
Defined in: [route.ts:166](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/route.ts#L166)
|
|
325
|
+
|
|
326
|
+
Initialise routing for an Aberdeen instance and return the router API, bound to that
|
|
327
|
+
instance's window. In the browser, use the default instance: `init(A)`. For server-side
|
|
328
|
+
rendering, pass the instance provided by `aberdeen/server`'s render callback.
|
|
329
|
+
|
|
314
330
|
#### Parameters
|
|
315
331
|
|
|
316
|
-
#####
|
|
332
|
+
##### A
|
|
333
|
+
|
|
334
|
+
`any`
|
|
317
335
|
|
|
318
|
-
`
|
|
336
|
+
An Aberdeen instance (the default export of `aberdeen`, or one from `init`).
|
|
319
337
|
|
|
320
338
|
#### Returns
|
|
321
339
|
|
|
322
|
-
`
|
|
340
|
+
[`RouteApi`](#routeapi)
|
package/skill/transitions.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[**Aberdeen
|
|
1
|
+
[**Aberdeen v2.0.0**](README.md)
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
> **grow**(`el`): `Promise`\<`void`\>
|
|
14
14
|
|
|
15
|
-
Defined in: [transitions.ts:
|
|
15
|
+
Defined in: [transitions.ts:39](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/transitions.ts#L39)
|
|
16
16
|
|
|
17
17
|
Do a grow transition for the given element. This is meant to be used as a
|
|
18
18
|
handler for the `create` property.
|
|
@@ -38,7 +38,7 @@ for other specific cases as well.
|
|
|
38
38
|
|
|
39
39
|
> **shrink**(`el`): `Promise`\<`void`\>
|
|
40
40
|
|
|
41
|
-
Defined in: [transitions.ts:
|
|
41
|
+
Defined in: [transitions.ts:62](https://github.com/vanviegen/aberdeen/blob/bb39ef2418f1368ed94a83b45dc3201369d991ca/src/transitions.ts#L62)
|
|
42
42
|
|
|
43
43
|
Do a shrink transition for the given element, and remove it from the DOM
|
|
44
44
|
afterwards. This is meant to be used as a handler for the `destroy` property.
|