PluginProbe
Elementor Website Builder – more than just a page builder / 3.8.0-beta1
Elementor Website Builder – more than just a page builder v3.8.0-beta1
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
elementor / app / assets / js / router.js

router.js in Elementor Website Builder – more than just a page builder 3.8.0-beta1, at app/assets/js/router.js

41 lines 692 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * App Router
3 *
4 * TODO: Temporary solution for routing extensibility.
5 */
6
7 class Router {
8 /**
9 * @type {*[]}
10 */
11 routes = [];
12
13 history = null;
14
15 /**
16 *
17 * @param {{path: string, component: Object, props: Object}} route
18 */
19 addRoute( route ) {
20 this.routes.push( route );
21 }
22
23 getRoutes() {
24 return this.routes.map( ( route ) => {
25 const props = route.props || {};
26 // Use the path as a key, and add it as a prop.
27 props.path = props.key = route.path;
28 return React.createElement( route.component, props );
29 } );
30 }
31 }
32
33 const router = new Router();
34
35 // Make router available for use within packages.
36 window.elementorAppPackages = {
37 router,
38 };
39
40 export default router;
41