@domql/router 2.5.35 → 2.5.56
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/cjs/index.js +8 -2
- package/index.js +10 -2
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -25,6 +25,7 @@ __export(router_exports, {
|
|
|
25
25
|
router: () => router
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(router_exports);
|
|
28
|
+
var import_event = require("@domql/event");
|
|
28
29
|
var import_utils = require("@domql/utils");
|
|
29
30
|
const getActiveRoute = (level = 0, route = import_utils.window.location.pathname) => {
|
|
30
31
|
const routeArray = route.split("/");
|
|
@@ -48,8 +49,9 @@ const defaultOptions = {
|
|
|
48
49
|
scrollToOptions: { behavior: "smooth" }
|
|
49
50
|
};
|
|
50
51
|
const router = (path, element, state = {}, passedOptions = {}) => {
|
|
51
|
-
const options = { ...defaultOptions, ...passedOptions };
|
|
52
|
+
const options = { ...defaultOptions, ...element.context.routerOptions, ...passedOptions };
|
|
52
53
|
lastLevel = options.lastLevel;
|
|
54
|
+
const newElementKey = options.newElementKey;
|
|
53
55
|
const [pathname, hash] = path.split("#");
|
|
54
56
|
const rootNode = element.node;
|
|
55
57
|
const route = getActiveRoute(options.level, pathname);
|
|
@@ -67,10 +69,13 @@ const router = (path, element, state = {}, passedOptions = {}) => {
|
|
|
67
69
|
if (options.updateState) {
|
|
68
70
|
element.state.update({ route, hash }, { preventContentUpdate: true });
|
|
69
71
|
}
|
|
72
|
+
if (newElementKey && options.removeOldElement) {
|
|
73
|
+
element[newElementKey].remove();
|
|
74
|
+
}
|
|
70
75
|
element.set({
|
|
71
76
|
tag: options.useFragment && "fragment",
|
|
72
77
|
extend: content
|
|
73
|
-
});
|
|
78
|
+
}, { newElementKey });
|
|
74
79
|
}
|
|
75
80
|
if (options.scrollToTop) {
|
|
76
81
|
scrollNode.scrollTo({
|
|
@@ -97,5 +102,6 @@ const router = (path, element, state = {}, passedOptions = {}) => {
|
|
|
97
102
|
});
|
|
98
103
|
}
|
|
99
104
|
}
|
|
105
|
+
(0, import_event.triggerEventOn)("routeChanged", element, options);
|
|
100
106
|
};
|
|
101
107
|
var router_default = router;
|
package/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
import { triggerEventOn } from '@domql/event'
|
|
3
4
|
import { document, window } from '@domql/utils'
|
|
4
5
|
|
|
5
6
|
export const getActiveRoute = (level = 0, route = window.location.pathname) => {
|
|
@@ -31,8 +32,9 @@ export const router = (
|
|
|
31
32
|
state = {},
|
|
32
33
|
passedOptions = {}
|
|
33
34
|
) => {
|
|
34
|
-
const options = { ...defaultOptions, ...passedOptions }
|
|
35
|
+
const options = { ...defaultOptions, ...element.context.routerOptions, ...passedOptions }
|
|
35
36
|
lastLevel = options.lastLevel
|
|
37
|
+
const newElementKey = options.newElementKey
|
|
36
38
|
|
|
37
39
|
const [pathname, hash] = path.split('#')
|
|
38
40
|
|
|
@@ -54,10 +56,13 @@ export const router = (
|
|
|
54
56
|
element.state.update({ route, hash }, { preventContentUpdate: true })
|
|
55
57
|
}
|
|
56
58
|
|
|
59
|
+
if (newElementKey && options.removeOldElement) {
|
|
60
|
+
element[newElementKey].remove()
|
|
61
|
+
}
|
|
57
62
|
element.set({
|
|
58
63
|
tag: options.useFragment && 'fragment',
|
|
59
64
|
extend: content
|
|
60
|
-
})
|
|
65
|
+
}, { newElementKey })
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
if (options.scrollToTop) {
|
|
@@ -80,6 +85,9 @@ export const router = (
|
|
|
80
85
|
})
|
|
81
86
|
}
|
|
82
87
|
}
|
|
88
|
+
|
|
89
|
+
// trigger `on.routeChanged`
|
|
90
|
+
triggerEventOn('routeChanged', element, options)
|
|
83
91
|
}
|
|
84
92
|
|
|
85
93
|
export default router
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/router",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.56",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@domql/globals": "latest",
|
|
26
26
|
"@domql/utils": "latest"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "a832fd0b6d8c39f16e6c7b2b61ab6c3dccd1f539",
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@babel/core": "^7.12.0"
|
|
31
31
|
}
|