@symbo.ls/create 2.10.286 → 2.10.287
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/package.json +2 -2
- package/router.js +12 -11
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbo.ls/create",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.287",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"gitHead": "
|
|
5
|
+
"gitHead": "08b67d43ab7faa70d7c5b5675cce10512d9b42ad",
|
|
6
6
|
"source": "index.js",
|
|
7
7
|
"main": "index.js",
|
|
8
8
|
"dependencies": {
|
package/router.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { router as defaultRouter } from '@domql/router'
|
|
4
4
|
import { window } from '@domql/globals'
|
|
5
5
|
import { Link, RouterLink } from '@symbo.ls/uikit'
|
|
6
|
-
import { deepMerge, merge } from '@domql/utils'
|
|
6
|
+
import { deepMerge, merge, isUndefined } from '@domql/utils'
|
|
7
7
|
|
|
8
8
|
const DEFAULT_ROUTING_OPTIONS = {
|
|
9
9
|
initRouter: true,
|
|
@@ -11,7 +11,7 @@ const DEFAULT_ROUTING_OPTIONS = {
|
|
|
11
11
|
popState: true
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const initRouter = (
|
|
14
|
+
export const initRouter = (element, options) => {
|
|
15
15
|
let routerOptions = merge(options.routerOptions || {}, DEFAULT_ROUTING_OPTIONS)
|
|
16
16
|
|
|
17
17
|
if (routerOptions === false) return
|
|
@@ -19,18 +19,19 @@ export const initRouter = (rootElement, options) => {
|
|
|
19
19
|
|
|
20
20
|
const router = (options.snippets && options.snippets.router) ? options.snippets.router : defaultRouter
|
|
21
21
|
|
|
22
|
-
const
|
|
22
|
+
const onRouterRenderDefault = (el, s) => {
|
|
23
23
|
const { pathname, hash } = window.location
|
|
24
24
|
const url = pathname + hash
|
|
25
|
-
if (el.routes) router(url, el, {})
|
|
25
|
+
if (el.routes) router(url, el, {}, { initialRender: true })
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const hasRenderRouter = element.on && !isUndefined(element.on.renderRouter)
|
|
29
|
+
if (routerOptions.initRouter && !hasRenderRouter) {
|
|
30
|
+
if (element.on) {
|
|
31
|
+
element.on.renderRouter = onRouterRenderDefault
|
|
31
32
|
} else {
|
|
32
|
-
|
|
33
|
-
renderRouter:
|
|
33
|
+
element.on = {
|
|
34
|
+
renderRouter: onRouterRenderDefault
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -41,14 +42,14 @@ export const initRouter = (rootElement, options) => {
|
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
let popStateFired
|
|
44
|
-
export const popStateRouter = (
|
|
45
|
+
export const popStateRouter = (element, options) => {
|
|
45
46
|
if (popStateFired) return
|
|
46
47
|
const routerOptions = options.routerOptions || DEFAULT_ROUTING_OPTIONS
|
|
47
48
|
if (!routerOptions.popState) return
|
|
48
49
|
const router = (options.snippets && options.snippets.router) ? options.snippets.router : defaultRouter
|
|
49
50
|
const { pathname, hash } = window.location
|
|
50
51
|
const url = pathname + hash
|
|
51
|
-
window.onpopstate = e => router(url,
|
|
52
|
+
window.onpopstate = e => router(url, element, { pushState: false, level: 0 })
|
|
52
53
|
popStateFired = true
|
|
53
54
|
}
|
|
54
55
|
|