@symbo.ls/create 2.10.280 → 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.
Files changed (3) hide show
  1. package/index.js +1 -1
  2. package/package.json +2 -2
  3. package/router.js +12 -12
package/index.js CHANGED
@@ -70,7 +70,7 @@ export const create = async (App, options = DEFAULT_CREATE_OPTIONS, optionsExter
70
70
 
71
71
  applyInspectListener(domqlApp, options)
72
72
  popStateRouter(domqlApp, options)
73
-
73
+ if (options.on && options.on.create) options.on.create(domqlApp, options)
74
74
  fetchAsync(domqlApp, key, options)
75
75
 
76
76
  return domqlApp
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@symbo.ls/create",
3
- "version": "2.10.280",
3
+ "version": "2.10.287",
4
4
  "license": "MIT",
5
- "gitHead": "ed4dd56c46e6ac4dbb1df4320e87070ee1e38d8b",
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 = (root, options) => {
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 = (root, options) => {
19
19
 
20
20
  const router = (options.snippets && options.snippets.router) ? options.snippets.router : defaultRouter
21
21
 
22
- const onRender = (el, s) => {
22
+ const onRouterRenderDefault = (el, s) => {
23
23
  const { pathname, hash } = window.location
24
24
  const url = pathname + hash
25
- if (el.routes) router(el, url, {})
25
+ if (el.routes) router(url, el, {}, { initialRender: true })
26
26
  }
27
27
 
28
- if (routerOptions.initRouter) {
29
- if (root.on) {
30
- root.on.renderRouter = onRender
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
- root.on = {
33
- renderRouter: onRender
33
+ element.on = {
34
+ renderRouter: onRouterRenderDefault
34
35
  }
35
36
  }
36
37
  }
@@ -40,16 +41,15 @@ export const initRouter = (root, options) => {
40
41
  return routerOptions
41
42
  }
42
43
 
43
-
44
44
  let popStateFired
45
- export const popStateRouter = (root, options) => {
45
+ export const popStateRouter = (element, options) => {
46
46
  if (popStateFired) return
47
47
  const routerOptions = options.routerOptions || DEFAULT_ROUTING_OPTIONS
48
48
  if (!routerOptions.popState) return
49
49
  const router = (options.snippets && options.snippets.router) ? options.snippets.router : defaultRouter
50
50
  const { pathname, hash } = window.location
51
51
  const url = pathname + hash
52
- window.onpopstate = e => router(root, url, { pushState: false, level: 0 })
52
+ window.onpopstate = e => router(url, element, { pushState: false, level: 0 })
53
53
  popStateFired = true
54
54
  }
55
55