mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Setting route lists explicitly
To avoid using observable data within tabRoutes arrays Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
parent
e88e500722
commit
8c8ada45c0
@ -1,12 +1,21 @@
|
||||
import { RouteProps } from "react-router";
|
||||
import { Config } from "./config";
|
||||
import { IURLParams } from "../../../common/utils/buildUrl";
|
||||
import { configMapsURL } from "../+config-maps/config-maps.route";
|
||||
import { configMapsRoute, configMapsURL } from "../+config-maps/config-maps.route";
|
||||
import { hpaRoute } from "../+config-autoscalers";
|
||||
import { limitRangesRoute } from "../+config-limit-ranges";
|
||||
import { pdbRoute } from "../+config-pod-disruption-budgets";
|
||||
import { resourceQuotaRoute } from "../+config-resource-quotas";
|
||||
import { secretsRoute } from "../+config-secrets";
|
||||
|
||||
export const configRoute: RouteProps = {
|
||||
get path() {
|
||||
return Config.tabRoutes.map(({ routePath }) => routePath).flat();
|
||||
}
|
||||
path: [
|
||||
configMapsRoute,
|
||||
secretsRoute,
|
||||
resourceQuotaRoute,
|
||||
limitRangesRoute,
|
||||
hpaRoute,
|
||||
pdbRoute
|
||||
].map(route => route.path.toString())
|
||||
};
|
||||
|
||||
export const configURL = (params?: IURLParams) => configMapsURL(params);
|
||||
|
||||
@ -1,12 +1,17 @@
|
||||
import { RouteProps } from "react-router";
|
||||
import { Network } from "./network";
|
||||
import { servicesURL } from "../+network-services";
|
||||
import { endpointRoute } from "../+network-endpoints";
|
||||
import { ingressRoute } from "../+network-ingresses";
|
||||
import { networkPoliciesRoute } from "../+network-policies";
|
||||
import { servicesRoute, servicesURL } from "../+network-services";
|
||||
import { IURLParams } from "../../../common/utils/buildUrl";
|
||||
|
||||
export const networkRoute: RouteProps = {
|
||||
get path() {
|
||||
return Network.tabRoutes.map(({ routePath }) => routePath).flat();
|
||||
}
|
||||
path: [
|
||||
servicesRoute,
|
||||
endpointRoute,
|
||||
ingressRoute,
|
||||
networkPoliciesRoute
|
||||
].map(route => route.path.toString())
|
||||
};
|
||||
|
||||
export const networkURL = (params?: IURLParams) => servicesURL(params);
|
||||
|
||||
@ -1,3 +1,2 @@
|
||||
export * from "./pod-security-policies.route";
|
||||
export * from "./pod-security-policies";
|
||||
export * from "./pod-security-policy-details";
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
import type { RouteProps } from "react-router";
|
||||
import { buildURL } from "../../../common/utils/buildUrl";
|
||||
|
||||
export const podSecurityPoliciesRoute: RouteProps = {
|
||||
path: "/pod-security-policies"
|
||||
};
|
||||
|
||||
export const podSecurityPoliciesURL = buildURL(podSecurityPoliciesRoute.path);
|
||||
@ -1,12 +1,15 @@
|
||||
import { RouteProps } from "react-router";
|
||||
import { volumeClaimsURL } from "../+storage-volume-claims";
|
||||
import { Storage } from "./storage";
|
||||
import { storageClassesRoute } from "../+storage-classes";
|
||||
import { volumeClaimsRoute, volumeClaimsURL } from "../+storage-volume-claims";
|
||||
import { volumesRoute } from "../+storage-volumes";
|
||||
import { IURLParams } from "../../../common/utils/buildUrl";
|
||||
|
||||
export const storageRoute: RouteProps = {
|
||||
get path() {
|
||||
return Storage.tabRoutes.map(({ routePath }) => routePath).flat();
|
||||
}
|
||||
path: [
|
||||
volumeClaimsRoute,
|
||||
volumesRoute,
|
||||
storageClassesRoute
|
||||
].map(route => route.path.toString())
|
||||
};
|
||||
|
||||
export const storageURL = (params?: IURLParams) => volumeClaimsURL(params);
|
||||
|
||||
@ -1,12 +1,5 @@
|
||||
import type { RouteProps } from "react-router";
|
||||
import { buildURL, IURLParams } from "../../../common/utils/buildUrl";
|
||||
import { UserManagement } from "./user-management";
|
||||
|
||||
export const usersManagementRoute: RouteProps = {
|
||||
get path() {
|
||||
return UserManagement.tabRoutes.map(({ routePath }) => routePath).flat();
|
||||
}
|
||||
};
|
||||
|
||||
// Routes
|
||||
export const serviceAccountsRoute: RouteProps = {
|
||||
@ -18,6 +11,18 @@ export const rolesRoute: RouteProps = {
|
||||
export const roleBindingsRoute: RouteProps = {
|
||||
path: "/role-bindings"
|
||||
};
|
||||
export const podSecurityPoliciesRoute: RouteProps = {
|
||||
path: "/pod-security-policies"
|
||||
};
|
||||
|
||||
export const usersManagementRoute: RouteProps = {
|
||||
path: [
|
||||
serviceAccountsRoute,
|
||||
roleBindingsRoute,
|
||||
rolesRoute,
|
||||
podSecurityPoliciesRoute
|
||||
].map(route => route.path.toString())
|
||||
};
|
||||
|
||||
// Route params
|
||||
export interface IServiceAccountsRouteParams {
|
||||
@ -34,3 +39,4 @@ export const usersManagementURL = (params?: IURLParams) => serviceAccountsURL(pa
|
||||
export const serviceAccountsURL = buildURL<IServiceAccountsRouteParams>(serviceAccountsRoute.path);
|
||||
export const roleBindingsURL = buildURL<IRoleBindingsRouteParams>(roleBindingsRoute.path);
|
||||
export const rolesURL = buildURL<IRoleBindingsRouteParams>(rolesRoute.path);
|
||||
export const podSecurityPoliciesURL = buildURL(podSecurityPoliciesRoute.path);
|
||||
|
||||
@ -5,9 +5,9 @@ import { TabLayout, TabLayoutRoute } from "../layout/tab-layout";
|
||||
import { Roles } from "../+user-management-roles";
|
||||
import { RoleBindings } from "../+user-management-roles-bindings";
|
||||
import { ServiceAccounts } from "../+user-management-service-accounts";
|
||||
import { roleBindingsRoute, roleBindingsURL, rolesRoute, rolesURL, serviceAccountsRoute, serviceAccountsURL } from "./user-management.route";
|
||||
import { podSecurityPoliciesRoute, podSecurityPoliciesURL, roleBindingsRoute, roleBindingsURL, rolesRoute, rolesURL, serviceAccountsRoute, serviceAccountsURL } from "./user-management.route";
|
||||
import { namespaceUrlParam } from "../+namespaces/namespace.store";
|
||||
import { PodSecurityPolicies, podSecurityPoliciesRoute, podSecurityPoliciesURL } from "../+pod-security-policies";
|
||||
import { PodSecurityPolicies } from "../+pod-security-policies";
|
||||
import { isAllowedResource } from "../../../common/rbac";
|
||||
|
||||
@observer
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
import type { RouteProps } from "react-router";
|
||||
import { buildURL, IURLParams } from "../../../common/utils/buildUrl";
|
||||
import { KubeResource } from "../../../common/rbac";
|
||||
import { Workloads } from "./workloads";
|
||||
|
||||
export const workloadsRoute: RouteProps = {
|
||||
get path() {
|
||||
return Workloads.tabRoutes.map(({ routePath }) => routePath).flat();
|
||||
}
|
||||
};
|
||||
|
||||
// Routes
|
||||
export const overviewRoute: RouteProps = {
|
||||
@ -35,6 +28,19 @@ export const cronJobsRoute: RouteProps = {
|
||||
path: "/cronjobs"
|
||||
};
|
||||
|
||||
export const workloadsRoute: RouteProps = {
|
||||
path: [
|
||||
overviewRoute,
|
||||
podsRoute,
|
||||
deploymentsRoute,
|
||||
daemonSetsRoute,
|
||||
statefulSetsRoute,
|
||||
replicaSetsRoute,
|
||||
jobsRoute,
|
||||
cronJobsRoute
|
||||
].map(route => route.path.toString())
|
||||
};
|
||||
|
||||
// Route params
|
||||
export interface IWorkloadsOverviewRouteParams {
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user