/
serviceTemplateRouter.module.ts
84 lines (81 loc) · 4.31 KB
/
serviceTemplateRouter.module.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/********************************************************************************
* Copyright (c) 2017-2018 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0, or the Apache Software License 2.0
* which is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
********************************************************************************/
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { SectionComponent } from '../../section/section.component';
import { SectionResolver } from '../../section/section.resolver';
import { InstanceComponent } from '../../instance/instance.component';
import { InstanceResolver } from '../../instance/instance.resolver';
import { BoundaryDefinitionsComponent } from '../../instance/serviceTemplates/boundaryDefinitions/boundaryDefinitions.component';
import { boundaryDefinitionsRoutes } from '../../instance/serviceTemplates/boundaryDefinitions/boundaryDefinitions.module';
import { EditXMLComponent } from '../../instance/sharedComponents/editXML/editXML.component';
import { TopologyTemplateComponent } from '../../instance/serviceTemplates/topologyTemplate/topologyTemplate.component';
import { PlansComponent } from '../../instance/serviceTemplates/plans/plans.component';
import { SelfServicePortalComponent } from '../../instance/serviceTemplates/selfServicePortal/selfServicePortal.component';
import { selfServiceRoutes } from '../../instance/serviceTemplates/selfServicePortal/selfServicePortalRouter.module';
import { TagComponent } from '../../instance/serviceTemplates/tag/tag.component';
import { DocumentationComponent } from '../../instance/sharedComponents/documentation/documentation.component';
import { ToscaTypes } from '../../wineryInterfaces/enums';
import { WineryReadmeComponent } from '../../wineryReadmeModule/wineryReadme.component';
import { WineryLicenseComponent } from '../../wineryLicenseModule/wineryLicense.component';
import { ConstraintCheckingComponent } from '../../instance/serviceTemplates/constraintchecking/constraintchecking.component';
const toscaType = ToscaTypes.ServiceTemplate;
const serviceTemplateRoutes: Routes = [
{path: toscaType, component: SectionComponent, resolve: {resolveData: SectionResolver}},
{path: toscaType + '/:namespace', component: SectionComponent, resolve: {resolveData: SectionResolver}},
{
path: toscaType + '/:namespace/:localName',
component: InstanceComponent,
resolve: {resolveData: InstanceResolver},
children: [
{path: 'readme', component: WineryReadmeComponent},
{path: 'license', component: WineryLicenseComponent},
{path: 'topologytemplate', component: TopologyTemplateComponent},
{path: 'plans', component: PlansComponent},
{
path: 'selfserviceportal',
component: SelfServicePortalComponent,
// loadChildren:
// 'app/instance/serviceTemplates/selfServicePortal/selfServicePortalRouter.module#SelfServiceRoutingModule'
children: selfServiceRoutes
},
{
path: 'boundarydefinitions',
component: BoundaryDefinitionsComponent,
// loadChildren:
// 'app/instance/serviceTemplates/boundaryDefinitions/boundaryDefinitions.module#BoundaryDefinitionsModule'
children: boundaryDefinitionsRoutes
},
{path: 'constraintchecking', component: ConstraintCheckingComponent},
{path: 'tags', component: TagComponent},
{path: 'documentation', component: DocumentationComponent},
{path: 'xml', component: EditXMLComponent},
{path: '', redirectTo: 'readme', pathMatch: 'full'}
]
}
];
@NgModule({
imports: [
RouterModule.forChild(serviceTemplateRoutes),
],
exports: [
RouterModule
],
providers: [
SectionResolver,
InstanceResolver
],
})
export class ServiceTemplateRouterModule {
}