summaryrefslogtreecommitdiff
path: root/gae/frontend/src/app/app.module.ts
diff options
context:
space:
mode:
Diffstat (limited to 'gae/frontend/src/app/app.module.ts')
-rw-r--r--gae/frontend/src/app/app.module.ts141
1 files changed, 141 insertions, 0 deletions
diff --git a/gae/frontend/src/app/app.module.ts b/gae/frontend/src/app/app.module.ts
new file mode 100644
index 0000000..ec940db
--- /dev/null
+++ b/gae/frontend/src/app/app.module.ts
@@ -0,0 +1,141 @@
+/**
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Angular modules.
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { BrowserModule } from '@angular/platform-browser';
+import { FormsModule } from '@angular/forms';
+import { HttpClientModule } from '@angular/common/http';
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
+
+// Angular Material modules
+import { MatButtonModule } from '@angular/material/button';
+import { MatCardModule } from '@angular/material/card';
+import { MatChipsModule } from '@angular/material/chips';
+import { MatExpansionModule } from '@angular/material/expansion';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatIconModule } from '@angular/material';
+import { MatInputModule } from '@angular/material/input';
+import { MatListModule } from '@angular/material/list';
+import { MatPaginatorModule } from '@angular/material/paginator';
+import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
+import { MatSnackBarModule } from '@angular/material/snack-bar';
+import { MatSelectModule } from '@angular/material/select';
+import { MatSidenavModule } from '@angular/material/sidenav';
+import { MatSortModule } from '@angular/material/sort';
+import { MatTableModule } from '@angular/material/table';
+import { MatTabsModule } from '@angular/material/tabs';
+
+// User components.
+import { AppComponent } from './app.component';
+import { BuildComponent } from './menu/build/build.component';
+import { DashboardComponent } from './menu/dashboard/dashboard.component';
+import { DeviceComponent } from './menu/device/device.component';
+import { FilterComponent } from './shared/filter/filter.component';
+import { JobComponent } from './menu/job/job.component';
+import { LabComponent } from './menu/lab/lab.component';
+import { ScheduleComponent } from './menu/schedule/schedule.component';
+
+// User modules.
+import { NavModule } from './shared/navbar/navbar';
+
+// Other dependencies.
+import { FlexLayoutModule } from '@angular/flex-layout';
+
+// User directives for CDK (Component Development Kit).
+import { CdkDetailRowDirective } from './menu/cdk-detail-row.directive';
+
+
+const appRoutes: Routes = [
+ { path: 'device', component: DeviceComponent },
+ { path: 'build', component: BuildComponent },
+ { path: 'job', component: JobComponent },
+ { path: 'lab', component: LabComponent },
+ { path: 'schedule', component: ScheduleComponent },
+ { path: '', component: DashboardComponent },
+ { path: '**', redirectTo: '/', pathMatch: 'full' }
+];
+
+
+@NgModule({
+ imports: [
+ MatButtonModule,
+ MatCardModule,
+ MatChipsModule,
+ MatExpansionModule,
+ MatFormFieldModule,
+ MatIconModule,
+ MatInputModule,
+ MatListModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatSnackBarModule,
+ MatSelectModule,
+ MatSidenavModule,
+ MatSortModule,
+ MatTableModule,
+ MatTabsModule,
+ ],
+ exports: [
+ MatButtonModule,
+ MatCardModule,
+ MatChipsModule,
+ MatExpansionModule,
+ MatFormFieldModule,
+ MatIconModule,
+ MatInputModule,
+ MatListModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatSnackBarModule,
+ MatSelectModule,
+ MatSidenavModule,
+ MatSortModule,
+ MatTableModule,
+ MatTabsModule,
+ ]
+})
+export class MaterialModule {}
+
+
+@NgModule({
+ declarations: [
+ AppComponent,
+ BuildComponent,
+ CdkDetailRowDirective,
+ DashboardComponent,
+ DeviceComponent,
+ FilterComponent,
+ JobComponent,
+ LabComponent,
+ ScheduleComponent,
+ ],
+ imports: [
+ BrowserAnimationsModule,
+ BrowserModule,
+ FlexLayoutModule,
+ FormsModule,
+ HttpClientModule,
+ MaterialModule,
+ NavModule,
+ RouterModule.forRoot(
+ appRoutes
+ ),
+ ],
+ providers: [],
+ bootstrap: [AppComponent]
+})
+export class AppModule { }