dashboard/shell/config/router.js

405 lines
23 KiB
JavaScript

import Vue from 'vue';
import Router from 'vue-router';
import { normalizeURL } from 'ufo';
import { interopDefault } from '../utils/nuxt';
import scrollBehavior from '../utils/router.scrollBehavior.js';
const emptyFn = () => {};
export const linkActiveClass = 'nuxt-link-active';
Vue.use(Router);
export const routerOptions = {
mode: 'history',
// Note: router base comes from the ROUTER_BASE env var
base: process.env.routerBase || '/',
linkActiveClass,
linkExactActiveClass: 'nuxt-link-exact-active',
scrollBehavior,
routes: [{
path: '/about',
component: () => interopDefault(import('../pages/about.vue' /* webpackChunkName: "pages/about" */)),
name: 'about'
}, {
path: '/account',
component: () => interopDefault(import('../pages/account/index.vue' /* webpackChunkName: "pages/account/index" */)),
name: 'account'
}, {
path: '/c',
component: () => interopDefault(import('../pages/c/index.vue' /* webpackChunkName: "pages/c/index" */)),
name: 'c'
}, {
path: '/clusters',
component: () => interopDefault(import('../pages/clusters/index.vue' /* webpackChunkName: "pages/clusters/index" */)),
name: 'clusters'
}, {
path: '/diagnostic',
component: () => interopDefault(import('../pages/diagnostic.vue' /* webpackChunkName: "pages/diagnostic" */)),
name: 'diagnostic'
}, {
path: '/fail-whale',
component: () => interopDefault(import('../pages/fail-whale.vue' /* webpackChunkName: "pages/fail-whale" */)),
name: 'fail-whale'
}, {
path: '/home',
component: () => interopDefault(import('../pages/home.vue' /* webpackChunkName: "pages/home" */)),
name: 'home'
}, {
path: '/prefs',
component: () => interopDefault(import('../pages/prefs.vue' /* webpackChunkName: "pages/prefs" */)),
name: 'prefs'
}, {
path: '/support',
component: () => interopDefault(import('../pages/support/index.vue' /* webpackChunkName: "pages/support/index" */)),
name: 'support'
}, {
path: '/account/create-key',
component: () => interopDefault(import('../pages/account/create-key.vue' /* webpackChunkName: "pages/account/create-key" */)),
name: 'account-create-key'
}, {
path: '/auth/login',
component: () => interopDefault(import('../pages/auth/login.vue' /* webpackChunkName: "pages/auth/login" */)),
name: 'auth-login'
}, {
path: '/auth/logout',
component: () => interopDefault(import('../pages/auth/logout.vue' /* webpackChunkName: "pages/auth/logout" */)),
name: 'auth-logout'
}, {
path: '/auth/setup',
component: () => interopDefault(import('../pages/auth/setup.vue' /* webpackChunkName: "pages/auth/setup" */)),
name: 'auth-setup'
}, {
path: '/auth/verify',
component: () => interopDefault(import('../pages/auth/verify.vue' /* webpackChunkName: "pages/auth/verify" */)),
name: 'auth-verify'
}, {
path: '/rio/mesh',
component: () => interopDefault(import('../pages/rio/mesh.vue' /* webpackChunkName: "pages/rio/mesh" */)),
name: 'rio-mesh'
}, {
path: '/c/:cluster',
component: () => interopDefault(import('../pages/c/_cluster/index.vue' /* webpackChunkName: "pages/c/_cluster/index" */)),
name: 'c-cluster'
}, {
path: '/c/:cluster/apps',
component: () => interopDefault(import('../pages/c/_cluster/apps/index.vue' /* webpackChunkName: "pages/c/_cluster/apps/index" */)),
name: 'c-cluster-apps'
}, {
path: '/c/:cluster/auth',
component: () => interopDefault(import('../pages/c/_cluster/auth/index.vue' /* webpackChunkName: "pages/c/_cluster/auth/index" */)),
name: 'c-cluster-auth'
}, {
path: '/c/:cluster/backup',
component: () => interopDefault(import('../pages/c/_cluster/backup/index.vue' /* webpackChunkName: "pages/c/_cluster/backup/index" */)),
name: 'c-cluster-backup'
}, {
path: '/c/:cluster/cis',
component: () => interopDefault(import('../pages/c/_cluster/cis/index.vue' /* webpackChunkName: "pages/c/_cluster/cis/index" */)),
name: 'c-cluster-cis'
}, {
path: '/c/:cluster/ecm',
component: () => interopDefault(import('../pages/c/_cluster/ecm/index.vue' /* webpackChunkName: "pages/c/_cluster/ecm/index" */)),
name: 'c-cluster-ecm'
}, {
path: '/c/:cluster/explorer',
component: () => interopDefault(import('../pages/c/_cluster/explorer/index.vue' /* webpackChunkName: "pages/c/_cluster/explorer/index" */)),
name: 'c-cluster-explorer'
}, {
path: '/c/:cluster/fleet',
component: () => interopDefault(import('../pages/c/_cluster/fleet/index.vue' /* webpackChunkName: "pages/c/_cluster/fleet/index" */)),
name: 'c-cluster-fleet'
}, {
path: '/c/:cluster/gatekeeper',
component: () => interopDefault(import('../pages/c/_cluster/gatekeeper/index.vue' /* webpackChunkName: "pages/c/_cluster/gatekeeper/index" */)),
name: 'c-cluster-gatekeeper'
}, {
path: '/c/:cluster/istio',
component: () => interopDefault(import('../pages/c/_cluster/istio/index.vue' /* webpackChunkName: "pages/c/_cluster/istio/index" */)),
name: 'c-cluster-istio'
}, {
path: '/c/:cluster/legacy',
component: () => interopDefault(import('../pages/c/_cluster/legacy/index.vue' /* webpackChunkName: "pages/c/_cluster/legacy/index" */)),
name: 'c-cluster-legacy'
}, {
path: '/c/:cluster/logging',
component: () => interopDefault(import('../pages/c/_cluster/logging/index.vue' /* webpackChunkName: "pages/c/_cluster/logging/index" */)),
name: 'c-cluster-logging'
}, {
path: '/c/:cluster/longhorn',
component: () => interopDefault(import('../pages/c/_cluster/longhorn/index.vue' /* webpackChunkName: "pages/c/_cluster/longhorn/index" */)),
name: 'c-cluster-longhorn'
}, {
path: '/c/:cluster/manager',
component: () => interopDefault(import('../pages/c/_cluster/manager/index.vue' /* webpackChunkName: "pages/c/_cluster/manager/index" */)),
name: 'c-cluster-manager'
}, {
path: '/c/:cluster/mcapps',
component: () => interopDefault(import('../pages/c/_cluster/mcapps/index.vue' /* webpackChunkName: "pages/c/_cluster/mcapps/index" */)),
name: 'c-cluster-mcapps'
}, {
path: '/c/:cluster/monitoring',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/index.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/index" */)),
name: 'c-cluster-monitoring'
}, {
path: '/c/:cluster/neuvector',
component: () => interopDefault(import('../pages/c/_cluster/neuvector/index.vue' /* webpackChunkName: "pages/c/_cluster/neuvector/index" */)),
name: 'c-cluster-neuvector'
}, {
path: '/c/:cluster/settings',
component: () => interopDefault(import('../pages/c/_cluster/settings/index.vue' /* webpackChunkName: "pages/c/_cluster/settings/index" */)),
name: 'c-cluster-settings'
}, {
path: '/c/:cluster/uiplugins',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/index.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/index" */)),
name: 'c-cluster-uiplugins'
}, {
path: '/c/:cluster/apps/charts',
component: () => interopDefault(import('../pages/c/_cluster/apps/charts/index.vue' /* webpackChunkName: "pages/c/_cluster/apps/charts/index" */)),
name: 'c-cluster-apps-charts'
}, {
path: '/c/:cluster/auth/config',
component: () => interopDefault(import('../pages/c/_cluster/auth/config/index.vue' /* webpackChunkName: "pages/c/_cluster/auth/config/index" */)),
name: 'c-cluster-auth-config'
}, {
path: '/c/:cluster/auth/roles',
component: () => interopDefault(import('../pages/c/_cluster/auth/roles/index.vue' /* webpackChunkName: "pages/c/_cluster/auth/roles/index" */)),
name: 'c-cluster-auth-roles'
}, {
path: '/c/:cluster/explorer/ConfigBadge',
component: () => interopDefault(import('../pages/c/_cluster/explorer/ConfigBadge.vue' /* webpackChunkName: "pages/c/_cluster/explorer/ConfigBadge" */)),
name: 'c-cluster-explorer-ConfigBadge'
}, {
path: '/c/:cluster/explorer/EventsTable',
component: () => interopDefault(import('../pages/c/_cluster/explorer/EventsTable.vue' /* webpackChunkName: "pages/c/_cluster/explorer/EventsTable" */)),
name: 'c-cluster-explorer-EventsTable'
}, {
path: '/c/:cluster/explorer/explorer-utils',
component: () => interopDefault(import('../pages/c/_cluster/explorer/explorer-utils.js' /* webpackChunkName: "pages/c/_cluster/explorer/explorer-utils" */)),
name: 'c-cluster-explorer-explorer-utils'
}, {
path: '/c/:cluster/explorer/tools',
component: () => interopDefault(import('../pages/c/_cluster/explorer/tools/index.vue' /* webpackChunkName: "pages/c/_cluster/explorer/tools/index" */)),
name: 'c-cluster-explorer-tools'
}, {
path: '/c/:cluster/fleet/GitRepoGraphConfig',
component: () => interopDefault(import('../pages/c/_cluster/fleet/GitRepoGraphConfig.js' /* webpackChunkName: "pages/c/_cluster/fleet/GitRepoGraphConfig" */)),
name: 'c-cluster-fleet-GitRepoGraphConfig'
}, {
path: '/c/:cluster/gatekeeper/constraints',
component: () => interopDefault(import('../pages/c/_cluster/gatekeeper/constraints/index.vue' /* webpackChunkName: "pages/c/_cluster/gatekeeper/constraints/index" */)),
name: 'c-cluster-gatekeeper-constraints'
}, {
path: '/c/:cluster/legacy/project',
component: () => interopDefault(import('../pages/c/_cluster/legacy/project/index.vue' /* webpackChunkName: "pages/c/_cluster/legacy/project/index" */)),
name: 'c-cluster-legacy-project'
}, {
path: '/c/:cluster/manager/cloudCredential',
component: () => interopDefault(import('../pages/c/_cluster/manager/cloudCredential/index.vue' /* webpackChunkName: "pages/c/_cluster/manager/cloudCredential/index" */)),
name: 'c-cluster-manager-cloudCredential'
}, {
path: '/c/:cluster/monitoring/alertmanagerconfig',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/alertmanagerconfig/index.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/alertmanagerconfig/index" */)),
name: 'c-cluster-monitoring-alertmanagerconfig'
}, {
path: '/c/:cluster/monitoring/monitor',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/monitor/index.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/monitor/index" */)),
name: 'c-cluster-monitoring-monitor'
}, {
path: '/c/:cluster/monitoring/route-receiver',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/route-receiver/index.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/route-receiver/index" */)),
name: 'c-cluster-monitoring-route-receiver'
}, {
path: '/c/:cluster/settings/banners',
component: () => interopDefault(import('../pages/c/_cluster/settings/banners.vue' /* webpackChunkName: "pages/c/_cluster/settings/banners" */)),
name: 'c-cluster-settings-banners'
}, {
path: '/c/:cluster/settings/brand',
component: () => interopDefault(import('../pages/c/_cluster/settings/brand.vue' /* webpackChunkName: "pages/c/_cluster/settings/brand" */)),
name: 'c-cluster-settings-brand'
}, {
path: '/c/:cluster/settings/DefaultLinksEditor',
component: () => interopDefault(import('../pages/c/_cluster/settings/DefaultLinksEditor.vue' /* webpackChunkName: "pages/c/_cluster/settings/DefaultLinksEditor" */)),
name: 'c-cluster-settings-DefaultLinksEditor'
}, {
path: '/c/:cluster/settings/links',
component: () => interopDefault(import('../pages/c/_cluster/settings/links.vue' /* webpackChunkName: "pages/c/_cluster/settings/links" */)),
name: 'c-cluster-settings-links'
}, {
path: '/c/:cluster/settings/performance',
component: () => interopDefault(import('../pages/c/_cluster/settings/performance.vue' /* webpackChunkName: "pages/c/_cluster/settings/performance" */)),
name: 'c-cluster-settings-performance'
}, {
path: '/c/:cluster/uiplugins/DeveloperInstallDialog',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/DeveloperInstallDialog" */)),
name: 'c-cluster-uiplugins-DeveloperInstallDialog'
}, {
path: '/c/:cluster/uiplugins/InstallDialog',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/InstallDialog.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/InstallDialog" */)),
name: 'c-cluster-uiplugins-InstallDialog'
}, {
path: '/c/:cluster/uiplugins/PluginInfoPanel',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/PluginInfoPanel.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/PluginInfoPanel" */)),
name: 'c-cluster-uiplugins-PluginInfoPanel'
}, {
path: '/c/:cluster/uiplugins/RemoveUIPlugins',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/RemoveUIPlugins.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/RemoveUIPlugins" */)),
name: 'c-cluster-uiplugins-RemoveUIPlugins'
}, {
path: '/c/:cluster/uiplugins/SetupUIPlugins',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/SetupUIPlugins.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/SetupUIPlugins" */)),
name: 'c-cluster-uiplugins-SetupUIPlugins'
}, {
path: '/c/:cluster/uiplugins/UninstallDialog',
component: () => interopDefault(import('../pages/c/_cluster/uiplugins/UninstallDialog.vue' /* webpackChunkName: "pages/c/_cluster/uiplugins/UninstallDialog" */)),
name: 'c-cluster-uiplugins-UninstallDialog'
}, {
path: '/c/:cluster/apps/charts/chart',
component: () => interopDefault(import('../pages/c/_cluster/apps/charts/chart.vue' /* webpackChunkName: "pages/c/_cluster/apps/charts/chart" */)),
name: 'c-cluster-apps-charts-chart'
}, {
path: '/c/:cluster/apps/charts/install',
component: () => interopDefault(import('../pages/c/_cluster/apps/charts/install.vue' /* webpackChunkName: "pages/c/_cluster/apps/charts/install" */)),
name: 'c-cluster-apps-charts-install'
}, {
path: '/c/:cluster/auth/group.principal/assign-edit',
component: () => interopDefault(import('../pages/c/_cluster/auth/group.principal/assign-edit.vue' /* webpackChunkName: "pages/c/_cluster/auth/group.principal/assign-edit" */)),
name: 'c-cluster-auth-group.principal-assign-edit'
}, {
path: '/c/:cluster/legacy/project/pipelines',
component: () => interopDefault(import('../pages/c/_cluster/legacy/project/pipelines.vue' /* webpackChunkName: "pages/c/_cluster/legacy/project/pipelines" */)),
name: 'c-cluster-legacy-project-pipelines'
}, {
path: '/c/:cluster/manager/cloudCredential/create',
component: () => interopDefault(import('../pages/c/_cluster/manager/cloudCredential/create.vue' /* webpackChunkName: "pages/c/_cluster/manager/cloudCredential/create" */)),
name: 'c-cluster-manager-cloudCredential-create'
}, {
path: '/c/:cluster/monitoring/monitor/create',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/monitor/create.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/monitor/create" */)),
name: 'c-cluster-monitoring-monitor-create'
}, {
path: '/c/:cluster/monitoring/route-receiver/create',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/route-receiver/create.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/route-receiver/create" */)),
name: 'c-cluster-monitoring-route-receiver-create'
}, {
path: '/c/:cluster/explorer/tools/pages/:page?',
component: () => interopDefault(import('../pages/c/_cluster/explorer/tools/pages/_page.vue' /* webpackChunkName: "pages/c/_cluster/explorer/tools/pages/_page" */)),
name: 'c-cluster-explorer-tools-pages-page'
}, {
path: '/c/:cluster/auth/config/:id',
component: () => interopDefault(import('../pages/c/_cluster/auth/config/_id.vue' /* webpackChunkName: "pages/c/_cluster/auth/config/_id" */)),
name: 'c-cluster-auth-config-id'
}, {
path: '/c/:cluster/legacy/pages/:page?',
component: () => interopDefault(import('../pages/c/_cluster/legacy/pages/_page.vue' /* webpackChunkName: "pages/c/_cluster/legacy/pages/_page" */)),
name: 'c-cluster-legacy-pages-page'
}, {
path: '/c/:cluster/legacy/project/:page',
component: () => interopDefault(import('../pages/c/_cluster/legacy/project/_page.vue' /* webpackChunkName: "pages/c/_cluster/legacy/project/_page" */)),
name: 'c-cluster-legacy-project-page'
}, {
path: '/c/:cluster/manager/cloudCredential/:id',
component: () => interopDefault(import('../pages/c/_cluster/manager/cloudCredential/_id.vue' /* webpackChunkName: "pages/c/_cluster/manager/cloudCredential/_id" */)),
name: 'c-cluster-manager-cloudCredential-id'
}, {
path: '/c/:cluster/manager/pages/:page?',
component: () => interopDefault(import('../pages/c/_cluster/manager/pages/_page.vue' /* webpackChunkName: "pages/c/_cluster/manager/pages/_page" */)),
name: 'c-cluster-manager-pages-page'
}, {
path: '/c/:cluster/mcapps/pages/:page?',
component: () => interopDefault(import('../pages/c/_cluster/mcapps/pages/_page.vue' /* webpackChunkName: "pages/c/_cluster/mcapps/pages/_page" */)),
name: 'c-cluster-mcapps-pages-page'
}, {
path: '/c/:cluster/monitoring/alertmanagerconfig/:alertmanagerconfigid',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/index.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/index" */)),
name: 'c-cluster-monitoring-alertmanagerconfig-alertmanagerconfigid'
}, {
path: '/c/:cluster/monitoring/route-receiver/:id?',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/route-receiver/_id.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/route-receiver/_id" */)),
name: 'c-cluster-monitoring-route-receiver-id'
}, {
path: '/c/:cluster/auth/roles/:resource/create',
component: () => interopDefault(import('../pages/c/_cluster/auth/roles/_resource/create.vue' /* webpackChunkName: "pages/c/_cluster/auth/roles/_resource/create" */)),
name: 'c-cluster-auth-roles-resource-create'
}, {
path: '/c/:cluster/monitoring/alertmanagerconfig/:alertmanagerconfigid/receiver',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver" */)),
name: 'c-cluster-monitoring-alertmanagerconfig-alertmanagerconfigid-receiver'
}, {
path: '/c/:cluster/auth/roles/:resource/:id?',
component: () => interopDefault(import('../pages/c/_cluster/auth/roles/_resource/_id.vue' /* webpackChunkName: "pages/c/_cluster/auth/roles/_resource/_id" */)),
name: 'c-cluster-auth-roles-resource-id'
}, {
path: '/c/:cluster/monitoring/monitor/:namespace/:id?',
component: () => interopDefault(import('../pages/c/_cluster/monitoring/monitor/_namespace/_id.vue' /* webpackChunkName: "pages/c/_cluster/monitoring/monitor/_namespace/_id" */)),
name: 'c-cluster-monitoring-monitor-namespace-id'
}, {
path: '/c/:cluster/navlinks/:group?',
component: () => interopDefault(import('../pages/c/_cluster/navlinks/_group.vue' /* webpackChunkName: "pages/c/_cluster/navlinks/_group" */)),
name: 'c-cluster-navlinks-group'
}, {
path: '/c/:cluster/:product',
component: () => interopDefault(import('../pages/c/_cluster/_product/index.vue' /* webpackChunkName: "pages/c/_cluster/_product/index" */)),
name: 'c-cluster-product'
}, {
path: '/c/:cluster/:product/members',
component: () => interopDefault(import('../pages/c/_cluster/_product/members/index.vue' /* webpackChunkName: "pages/c/_cluster/_product/members/index" */)),
name: 'c-cluster-product-members'
}, {
path: '/c/:cluster/:product/namespaces',
component: () => interopDefault(import('../pages/c/_cluster/_product/namespaces.vue' /* webpackChunkName: "pages/c/_cluster/_product/namespaces" */)),
name: 'c-cluster-product-namespaces'
}, {
path: '/c/:cluster/:product/projectsnamespaces',
component: () => interopDefault(import('../pages/c/_cluster/_product/projectsnamespaces.vue' /* webpackChunkName: "pages/c/_cluster/_product/projectsnamespaces" */)),
name: 'c-cluster-product-projectsnamespaces'
}, {
path: '/c/:cluster/:product/:resource',
component: () => interopDefault(import('../pages/c/_cluster/_product/_resource/index.vue' /* webpackChunkName: "pages/c/_cluster/_product/_resource/index" */)),
name: 'c-cluster-product-resource'
}, {
path: '/c/:cluster/:product/:resource/create',
component: () => interopDefault(import('../pages/c/_cluster/_product/_resource/create.vue' /* webpackChunkName: "pages/c/_cluster/_product/_resource/create" */)),
name: 'c-cluster-product-resource-create'
}, {
path: '/c/:cluster/:product/:resource/:id',
component: () => interopDefault(import('../pages/c/_cluster/_product/_resource/_id.vue' /* webpackChunkName: "pages/c/_cluster/_product/_resource/_id" */)),
name: 'c-cluster-product-resource-id'
}, {
path: '/c/:cluster/:product/:resource/:namespace/:id?',
component: () => interopDefault(import('../pages/c/_cluster/_product/_resource/_namespace/_id.vue' /* webpackChunkName: "pages/c/_cluster/_product/_resource/_namespace/_id" */)),
name: 'c-cluster-product-resource-namespace-id'
}, {
path: '/',
component: () => interopDefault(import('../pages/index.vue' /* webpackChunkName: "pages/index" */)),
name: 'index'
}],
fallback: false
};
export function createRouter(ssrContext, config) {
const base = (config._app && config._app.basePath) || routerOptions.base;
const router = new Router({ ...routerOptions, base });
// TODO: remove in Nuxt 3
const originalPush = router.push;
router.push = function push(location, onComplete = emptyFn, onAbort) {
return originalPush.call(this, location, onComplete, onAbort);
};
const resolve = router.resolve.bind(router);
router.resolve = (to, current, append) => {
if (typeof to === 'string') {
to = normalizeURL(to);
}
return resolve(to, current, append);
};
return router;
}