1 import { CommonModule } from '@angular/common';
2 import { NgModule } from '@angular/core';
3 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4 import { RouterModule, Routes } from '@angular/router';
6 import { NgbNavModule, NgbPopoverModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
7 import { NgxPipeFunctionModule } from 'ngx-pipe-function';
9 import { ActionLabels, URLVerbs } from '~/app/shared/constants/app.constants';
10 import { CRUDTableComponent } from '~/app/shared/datatable/crud-table/crud-table.component';
12 import { SharedModule } from '~/app/shared/shared.module';
13 import { PerformanceCounterModule } from '../performance-counter/performance-counter.module';
14 import { RgwBucketDetailsComponent } from './rgw-bucket-details/rgw-bucket-details.component';
15 import { RgwBucketFormComponent } from './rgw-bucket-form/rgw-bucket-form.component';
16 import { RgwBucketListComponent } from './rgw-bucket-list/rgw-bucket-list.component';
17 import { RgwConfigModalComponent } from './rgw-config-modal/rgw-config-modal.component';
18 import { RgwDaemonDetailsComponent } from './rgw-daemon-details/rgw-daemon-details.component';
19 import { RgwDaemonListComponent } from './rgw-daemon-list/rgw-daemon-list.component';
20 import { RgwUserCapabilityModalComponent } from './rgw-user-capability-modal/rgw-user-capability-modal.component';
21 import { RgwUserDetailsComponent } from './rgw-user-details/rgw-user-details.component';
22 import { RgwUserFormComponent } from './rgw-user-form/rgw-user-form.component';
23 import { RgwUserListComponent } from './rgw-user-list/rgw-user-list.component';
24 import { RgwUserS3KeyModalComponent } from './rgw-user-s3-key-modal/rgw-user-s3-key-modal.component';
25 import { RgwUserSubuserModalComponent } from './rgw-user-subuser-modal/rgw-user-subuser-modal.component';
26 import { RgwUserSwiftKeyModalComponent } from './rgw-user-swift-key-modal/rgw-user-swift-key-modal.component';
27 import { RgwUserTabsComponent } from './rgw-user-tabs/rgw-user-tabs.component';
28 import { CrudFormComponent } from '~/app/shared/forms/crud-form/crud-form.component';
29 import { RgwMultisiteDetailsComponent } from './rgw-multisite-details/rgw-multisite-details.component';
30 import { TreeModule } from '@circlon/angular-tree-component';
31 import { DataTableModule } from '~/app/shared/datatable/datatable.module';
32 import { RgwMultisiteRealmFormComponent } from './rgw-multisite-realm-form/rgw-multisite-realm-form.component';
33 import { RgwMultisiteZonegroupFormComponent } from './rgw-multisite-zonegroup-form/rgw-multisite-zonegroup-form.component';
34 import { RgwMultisiteZoneFormComponent } from './rgw-multisite-zone-form/rgw-multisite-zone-form.component';
35 import { RgwMultisiteZoneDeletionFormComponent } from './models/rgw-multisite-zone-deletion-form/rgw-multisite-zone-deletion-form.component';
36 import { RgwMultisiteZonegroupDeletionFormComponent } from './models/rgw-multisite-zonegroup-deletion-form/rgw-multisite-zonegroup-deletion-form.component';
37 import { RgwSystemUserComponent } from './rgw-system-user/rgw-system-user.component';
38 import { RgwMultisiteMigrateComponent } from './rgw-multisite-migrate/rgw-multisite-migrate.component';
39 import { RgwMultisiteImportComponent } from './rgw-multisite-import/rgw-multisite-import.component';
40 import { RgwMultisiteExportComponent } from './rgw-multisite-export/rgw-multisite-export.component';
41 import { CreateRgwServiceEntitiesComponent } from './create-rgw-service-entities/create-rgw-service-entities.component';
42 import { RgwOverviewDashboardComponent } from './rgw-overview-dashboard/rgw-overview-dashboard.component';
43 import { DashboardV3Module } from '../dashboard-v3/dashboard-v3.module';
44 import { RgwSyncPrimaryZoneComponent } from './rgw-sync-primary-zone/rgw-sync-primary-zone.component';
45 import { RgwSyncMetadataInfoComponent } from './rgw-sync-metadata-info/rgw-sync-metadata-info.component';
46 import { RgwSyncDataInfoComponent } from './rgw-sync-data-info/rgw-sync-data-info.component';
54 PerformanceCounterModule,
59 NgxPipeFunctionModule,
65 RgwDaemonListComponent,
66 RgwDaemonDetailsComponent,
67 RgwBucketFormComponent,
68 RgwBucketListComponent,
69 RgwBucketDetailsComponent,
71 RgwUserDetailsComponent
74 RgwDaemonListComponent,
75 RgwDaemonDetailsComponent,
76 RgwBucketFormComponent,
77 RgwBucketListComponent,
78 RgwBucketDetailsComponent,
80 RgwUserDetailsComponent,
81 RgwBucketFormComponent,
83 RgwUserSwiftKeyModalComponent,
84 RgwUserS3KeyModalComponent,
85 RgwUserCapabilityModalComponent,
86 RgwUserSubuserModalComponent,
87 RgwConfigModalComponent,
89 RgwMultisiteDetailsComponent,
90 RgwMultisiteRealmFormComponent,
91 RgwMultisiteZonegroupFormComponent,
92 RgwMultisiteZoneFormComponent,
93 RgwMultisiteZoneDeletionFormComponent,
94 RgwMultisiteZonegroupDeletionFormComponent,
95 RgwSystemUserComponent,
96 RgwMultisiteMigrateComponent,
97 RgwMultisiteImportComponent,
98 RgwMultisiteExportComponent,
99 CreateRgwServiceEntitiesComponent,
100 RgwOverviewDashboardComponent,
101 RgwSyncPrimaryZoneComponent,
102 RgwSyncMetadataInfoComponent,
103 RgwSyncDataInfoComponent
106 export class RgwModule {}
108 const routes: Routes = [
112 pathMatch: 'full' // Required for a clean reload on daemon selection.
114 { path: 'daemon', component: RgwDaemonListComponent, data: { breadcrumbs: 'Gateways' } },
117 data: { breadcrumbs: 'Users' },
119 { path: '', component: RgwUserListComponent },
121 path: URLVerbs.CREATE,
122 component: RgwUserFormComponent,
123 data: { breadcrumbs: ActionLabels.CREATE }
126 path: `${URLVerbs.EDIT}/:uid`,
127 component: RgwUserFormComponent,
128 data: { breadcrumbs: ActionLabels.EDIT }
135 breadcrumbs: 'Roles',
136 resource: 'api.rgw.roles@1.0',
151 component: CRUDTableComponent
154 path: URLVerbs.CREATE,
155 component: CrudFormComponent,
157 breadcrumbs: ActionLabels.CREATE
164 data: { breadcrumbs: 'Buckets' },
166 { path: '', component: RgwBucketListComponent },
168 path: URLVerbs.CREATE,
169 component: RgwBucketFormComponent,
170 data: { breadcrumbs: ActionLabels.CREATE }
173 path: `${URLVerbs.EDIT}/:bid`,
174 component: RgwBucketFormComponent,
175 data: { breadcrumbs: ActionLabels.EDIT }
181 data: { breadcrumbs: 'Overview' },
182 children: [{ path: '', component: RgwOverviewDashboardComponent }]
186 children: [{ path: '', component: RgwMultisiteDetailsComponent }]
191 imports: [RgwModule, RouterModule.forChild(routes)]
193 export class RoutedRgwModule {}