Skip to content

Commit 5c111ac

Browse files
committed
Clean up admin modules
1 parent b39bc6a commit 5c111ac

File tree

148 files changed

+391
-784
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+391
-784
lines changed
Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
import { NgModule } from '@angular/core';
2-
import { RouterModule } from '@angular/router';
2+
import { RouterModule, Routes } from '@angular/router';
3+
import { UsersComponent, UsersModule } from './users';
4+
import { FeedbackComponent, FeedbackModule } from './feedback';
35
import { AdminComponent } from './admin.component';
4-
import { UsersComponent } from './users/users.component';
5-
import { FeedbackComponent } from './feedback/feedback.component';
66

7-
import { CommonModule } from '@angular/common';
8-
import { NAVIGATION_BASE_URL } from "./content/presentation-editor/services/navigation.service";
9-
10-
11-
const routes = [
7+
const routes: Routes = [
128
{
139
path: '',
1410
component: AdminComponent,
@@ -19,20 +15,18 @@ const routes = [
1915
},
2016
{
2117
path: 'content',
22-
loadChildren: () => import('./content/presentation-editor/content.module').then(m => m.ContentModule)
18+
loadChildren: () => import('./content').then(m => m.ContentModule)
2319
},
2420
];
2521

26-
@NgModule({
27-
imports: [
28-
RouterModule.forChild(routes),
29-
CommonModule,
30-
],
31-
providers: [
22+
const RoutesModules = [
23+
UsersModule,
24+
FeedbackModule
25+
];
3226

33-
{provide: NAVIGATION_BASE_URL, useValue: 'admin/content'},
34-
],
35-
exports: [RouterModule],
27+
@NgModule({
28+
imports: [RouterModule.forChild(routes), RoutesModules],
29+
exports: [RouterModule, RoutesModules]
3630
})
3731
export class AdminRoutingModule {
3832
}

apps/codelab/src/app/admin/admin.component.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
margin: 0 auto;
55
}
66

7-
.wrapper {
8-
margin-top: 20px;
7+
nav {
8+
margin-bottom: 20px;
99
}
Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
<mat-card appearance="outlined">
22
<h2>Angular Codelab 🔥 Admin</h2>
3-
43
<nav mat-tab-nav-bar>
5-
<a
6-
*ngFor="let link of links"
7-
mat-tab-link
8-
routerLinkActive
9-
#rla="routerLinkActive"
10-
[routerLink]="link.link"
11-
[active]="rla.isActive"
12-
>
13-
{{ link.name }}
4+
<a *ngFor="let link of ['users', 'feedback', 'content',]"
5+
mat-tab-link
6+
routerLinkActive
7+
#rla="routerLinkActive"
8+
[routerLink]="link"
9+
[active]="rla.isActive">
10+
{{ link | titlecase }}
1411
</a>
1512
</nav>
16-
17-
<div class="wrapper">
18-
<router-outlet></router-outlet>
19-
</div>
13+
<router-outlet></router-outlet>
2014
</mat-card>

apps/codelab/src/app/admin/admin.component.spec.ts

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
import { Component } from '@angular/core';
1+
import { ChangeDetectionStrategy, Component } from '@angular/core';
22

33
@Component({
4+
changeDetection: ChangeDetectionStrategy.OnPush,
45
selector: 'codelab-admin',
56
templateUrl: './admin.component.html',
67
styleUrls: ['./admin.component.css'],
78
})
89
export class AdminComponent {
9-
readonly links = [
10-
{ link: 'users', name: 'Users' },
11-
{ link: 'feedback', name: 'Feedback' },
12-
{ link: 'content', name: 'Content' },
13-
];
1410
}

apps/codelab/src/app/admin/admin.module.ts

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,15 @@ import { MatCardModule } from '@angular/material/card';
44
import { MatTabsModule } from '@angular/material/tabs';
55
import { AdminComponent } from './admin.component';
66
import { AdminRoutingModule } from './admin-routing.module';
7-
import { FeedbackModule } from './feedback/feedback.module';
8-
import { UsersModule } from './users/users.module';
9-
import { ContentModule } from './content/presentation-editor/content.module';
10-
import { PreviewModule } from './content/presentation-editor/preview/preview.module';
11-
import { PresentationListModule } from './content/presentation-list/presentation-list.module';
127

138
@NgModule({
149
imports: [
15-
AdminRoutingModule,
1610
CommonModule,
17-
ContentModule,
18-
FeedbackModule,
19-
PreviewModule,
20-
PresentationListModule,
21-
UsersModule,
11+
AdminRoutingModule,
2212
MatCardModule,
23-
MatTabsModule,
13+
MatTabsModule
2414
],
25-
declarations: [AdminComponent],
15+
declarations: [AdminComponent]
2616
})
2717
export class AdminModule {
2818
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { NgModule } from '@angular/core';
2+
import { RouterModule, Routes } from '@angular/router';
3+
import { NAVIGATION_BASE_URL } from './services/navigation.service';
4+
import { ContentComponent } from './content.component';
5+
import { PresentationEditorComponent, PresentationEditorModule } from './views/presentation-editor';
6+
import { PresentationListComponent, PresentationListModule } from './views/presentation-list';
7+
import { PresentationPreviewComponent, PresentationPreviewModule } from './views/presentation-preview';
8+
9+
const routes: Routes = [
10+
{
11+
path: '',
12+
component: ContentComponent,
13+
children: [
14+
{path: '', component: PresentationListComponent},
15+
{path: ':presentation/:slide/preview', component: PresentationPreviewComponent},
16+
{path: ':presentation/:slide', component: PresentationEditorComponent}
17+
]
18+
}
19+
];
20+
21+
const RoutesModules = [
22+
PresentationListModule,
23+
PresentationPreviewModule,
24+
PresentationEditorModule
25+
];
26+
27+
@NgModule({
28+
imports: [RouterModule.forChild(routes), RoutesModules],
29+
providers: [{provide: NAVIGATION_BASE_URL, useValue: 'admin/content'}],
30+
exports: [RouterModule, RoutesModules]
31+
})
32+
export class ContentRoutingModule {
33+
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
.wrapper {
2-
display: flex;
3-
justify-content: space-between;
4-
}
5-
61
:host {
72
padding: 0 16px;
83
display: block;
94
}
5+
.wrapper {
6+
display: flex;
7+
justify-content: space-between;
8+
}
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@
22
<div>Content</div>
33
<button mat-button [disabled]="(saveStatus$ | async) !== SaveStatus.UNSAVED" (click)="save()">
44
Save
5-
<mat-icon *ngIf="(saveStatus$ | async) === SaveStatus.UNSAVED">
6-
radio_button_unchecked
7-
</mat-icon>
8-
<mat-icon *ngIf="(saveStatus$ | async) === SaveStatus.SAVED">
9-
check_circle
10-
</mat-icon>
5+
<mat-icon *ngIf="(saveStatus$ | async) === SaveStatus.UNSAVED">radio_button_unchecked</mat-icon>
6+
<mat-icon *ngIf="(saveStatus$ | async) === SaveStatus.SAVED">check_circle</mat-icon>
117
</button>
128
</div>
139
<router-outlet></router-outlet>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { Component } from '@angular/core';
2+
import { AutoSaveService, SaveStatus } from './services/auto-save.service';
3+
4+
@Component({
5+
selector: 'slides-content',
6+
templateUrl: './content.component.html',
7+
styleUrls: ['./content.component.css'],
8+
})
9+
export class ContentComponent {
10+
11+
readonly saveStatus$ = this.autoSaveService.saveStatus$;
12+
readonly SaveStatus = SaveStatus;
13+
14+
constructor(
15+
private readonly autoSaveService: AutoSaveService
16+
) {
17+
this.autoSaveService.startAutosave();
18+
}
19+
20+
save(){
21+
this.autoSaveService.save();
22+
}
23+
}

0 commit comments

Comments
 (0)