blob: 3e34485e35e9ef3a7ef3f79ff35ad371863385f9 [file] [log] [blame]
import { ModuleWithProviders } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './app.component';
import { ClusterComponent } from './cluster/cluster.component';
import { ClusterDetailComponent } from './cluster/cluster-detail/cluster-detail.component';
import { ConfigDetailComponent } from './configuration/config-detail/config-detail.component';
import { InstanceListComponent } from './instance/instance-list/instance-list.component';
import { ResourceListComponent } from './resource/resource-list/resource-list.component';
import { ResourceDetailComponent } from './resource/resource-detail/resource-detail.component';
import { ResourceNodeViewerComponent } from './resource/resource-node-viewer/resource-node-viewer.component';
import { PartitionListComponent } from './resource/partition-list/partition-list.component';
import { ControllerDetailComponent } from './controller/controller-detail/controller-detail.component';
import { HistoryListComponent } from './history/history-list/history-list.component';
import { InstanceDetailComponent } from './instance/instance-detail/instance-detail.component';
import { WorkflowListComponent } from './workflow/workflow-list/workflow-list.component';
import { WorkflowDetailComponent } from './workflow/workflow-detail/workflow-detail.component';
import { HelixListComponent } from './chooser/helix-list/helix-list.component';
import { DashboardComponent } from './dashboard/dashboard.component';
const HELIX_ROUTES: Routes = [
{
path: '',
component: HelixListComponent
},
{
path: 'embed',
redirectTo: '/?embed=true',
pathMatch: 'full'
},
{
path: ':helix',
component: ClusterComponent,
children: [
{
path: ':name',
component: ClusterDetailComponent,
children: [
{
path: '',
redirectTo: 'resources',
pathMatch: 'full'
},
{
path: 'configs',
component: ConfigDetailComponent
},
{
path: 'instances',
component: InstanceListComponent
},
{
path: 'resources',
component: ResourceListComponent
},
{
path: 'workflows',
component: WorkflowListComponent
},
{
path: 'dashboard',
component: DashboardComponent
}
]
},
{
path: ':cluster_name/controller',
component: ControllerDetailComponent,
children: [
{
path: '',
redirectTo: 'history',
pathMatch: 'full'
},
{
path: 'history',
component: HistoryListComponent
}
]
},
{
path: ':cluster_name/resources/:resource_name',
component: ResourceDetailComponent,
children: [
{
path: '',
redirectTo: 'partitions',
pathMatch: 'full'
},
{
path: 'partitions',
component: PartitionListComponent
},
{
path: 'externalView',
component: ResourceNodeViewerComponent,
data: {
path: 'externalView'
}
},
{
path: 'idealState',
component: ResourceNodeViewerComponent,
data: {
path: 'idealState'
}
},
{
path: 'configs',
component: ConfigDetailComponent
}
]
},
{
path: ':cluster_name/workflows/:workflow_name',
component: WorkflowDetailComponent
},
{
path: ':cluster_name/instances/:instance_name',
component: InstanceDetailComponent,
children: [
{
path: '',
redirectTo: 'resources',
pathMatch: 'full'
},
{
path: 'resources',
component: ResourceListComponent,
data: {
forInstance: true
}
},
{
path: 'configs',
component: ConfigDetailComponent
},
{
path: 'history',
component: HistoryListComponent
}
]
}
]
}
];
export const AppRoutingModule: ModuleWithProviders = RouterModule.forRoot(HELIX_ROUTES);