aboutsummaryrefslogtreecommitdiff
path: root/Timeline
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-07 20:56:50 +0800
committercrupest <crupest@outlook.com>2019-03-07 20:56:50 +0800
commit00757c9b23d1c614960d74b54054ccc35129150c (patch)
treed52f6ae18aad3146ea785d2f6797671772bcd1b5 /Timeline
parent4b37c96de2c7d3fe046a6f342d2da8ef03d3c807 (diff)
downloadtimeline-00757c9b23d1c614960d74b54054ccc35129150c.tar.gz
timeline-00757c9b23d1c614960d74b54054ccc35129150c.tar.bz2
timeline-00757c9b23d1c614960d74b54054ccc35129150c.zip
Reorganize with modules.
Diffstat (limited to 'Timeline')
-rw-r--r--Timeline/ClientApp/src/app/app.module.ts45
-rw-r--r--Timeline/ClientApp/src/app/home/home.component.ts8
-rw-r--r--Timeline/ClientApp/src/app/home/home.module.ts17
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.css (renamed from Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.css)0
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.html (renamed from Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.html)0
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.spec.ts (renamed from Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.spec.ts)18
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.ts (renamed from Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.ts)16
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts (renamed from Timeline/ClientApp/src/app/todo/todo-service/todo-list.service.spec.ts)8
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts (renamed from Timeline/ClientApp/src/app/todo/todo-service/todo-list.service.ts)4
-rw-r--r--Timeline/ClientApp/src/app/todo/todo.module.ts27
-rw-r--r--Timeline/ClientApp/src/app/user/user.module.ts24
-rw-r--r--Timeline/ClientApp/src/app/utility/debounce-click.directive.spec.ts (renamed from Timeline/ClientApp/src/app/debounce-click.directive.spec.ts)0
-rw-r--r--Timeline/ClientApp/src/app/utility/debounce-click.directive.ts (renamed from Timeline/ClientApp/src/app/debounce-click.directive.ts)0
-rw-r--r--Timeline/ClientApp/src/app/utility/utility.module.ts11
14 files changed, 113 insertions, 65 deletions
diff --git a/Timeline/ClientApp/src/app/app.module.ts b/Timeline/ClientApp/src/app/app.module.ts
index d0b6a5c6..85c4c43d 100644
--- a/Timeline/ClientApp/src/app/app.module.ts
+++ b/Timeline/ClientApp/src/app/app.module.ts
@@ -1,56 +1,27 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
-import { ReactiveFormsModule } from '@angular/forms';
-import { HttpClientModule } from '@angular/common/http';
import { RouterModule } from '@angular/router';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import {
- MatMenuModule, MatIconModule, MatButtonModule, MatToolbarModule, MatListModule,
- MatProgressBarModule, MatCardModule, MatDialogModule, MatInputModule, MatFormFieldModule, MatProgressSpinnerModule
-} from '@angular/material';
+import { MatIconModule, MatButtonModule, MatToolbarModule, MatDialogModule } from '@angular/material';
import { AppComponent } from './app.component';
-import { HomeComponent } from './home/home.component';
-import { DebounceClickDirective } from './debounce-click.directive';
+import { TodoModule } from './todo/todo.module';
+import { HomeModule } from './home/home.module';
+import { UserModule } from './user/user.module';
-import { TodoListPageComponent } from './todo/todo-list-page/todo-list-page.component';
-import { TodoItemComponent } from './todo/todo-item/todo-item.component';
-
-import { UserDialogComponent } from './user/user-dialog/user-dialog.component';
-import { UserLoginComponent } from './user/user-login/user-login.component';
-import { UserLoginSuccessComponent } from './user/user-login-success/user-login-success.component';
-
-const importedMatModules = [
- MatMenuModule, MatIconModule, MatButtonModule, MatToolbarModule,
- MatListModule, MatProgressBarModule, MatCardModule, MatDialogModule,
- MatInputModule, MatFormFieldModule, MatProgressSpinnerModule
-];
@NgModule({
- declarations: [
- AppComponent,
- HomeComponent,
- TodoListPageComponent,
- TodoItemComponent,
- UserDialogComponent,
- DebounceClickDirective,
- UserLoginComponent,
- UserLoginSuccessComponent
- ],
+ declarations: [AppComponent],
imports: [
BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),
- HttpClientModule,
- ReactiveFormsModule,
BrowserAnimationsModule,
- ...importedMatModules,
+ MatIconModule, MatButtonModule, MatToolbarModule, MatDialogModule,
+ HomeModule, TodoModule, UserModule,
RouterModule.forRoot([
- { path: '', component: HomeComponent, pathMatch: 'full' },
- { path: 'todo', component: TodoListPageComponent }
+ { path: '', redirectTo: '/home', pathMatch: 'full' },
])
],
- entryComponents: [UserDialogComponent],
- providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
diff --git a/Timeline/ClientApp/src/app/home/home.component.ts b/Timeline/ClientApp/src/app/home/home.component.ts
index 2b16eef7..0cb0d0f5 100644
--- a/Timeline/ClientApp/src/app/home/home.component.ts
+++ b/Timeline/ClientApp/src/app/home/home.component.ts
@@ -1,14 +1,10 @@
-import { Component, OnInit } from '@angular/core';
+import { Component } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
-export class HomeComponent implements OnInit {
+export class HomeComponent {
- message = '';
-
- ngOnInit() {
- }
}
diff --git a/Timeline/ClientApp/src/app/home/home.module.ts b/Timeline/ClientApp/src/app/home/home.module.ts
new file mode 100644
index 00000000..98456238
--- /dev/null
+++ b/Timeline/ClientApp/src/app/home/home.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { RouterModule } from '@angular/router';
+
+import { HomeComponent } from './home.component';
+
+@NgModule({
+ declarations: [HomeComponent],
+ imports: [
+ CommonModule,
+ RouterModule.forChild([
+ { path: 'home', component: HomeComponent }
+ ])
+ ],
+ exports: [RouterModule]
+})
+export class HomeModule { }
diff --git a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.css b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.css
index 754b786e..754b786e 100644
--- a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.css
+++ b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.css
diff --git a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.html b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.html
index 50180fe8..50180fe8 100644
--- a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.html
+++ b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.html
diff --git a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.spec.ts b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.spec.ts
index 0af113dc..16c77376 100644
--- a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.spec.ts
+++ b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.spec.ts
@@ -7,8 +7,8 @@ import { Observable, from } from 'rxjs';
import { delay } from 'rxjs/operators';
import { TodoItem } from '../todo-item';
-import { TodoListPageComponent } from './todo-list-page.component';
-import { TodoListService } from '../todo-service/todo-list.service';
+import { TodoPageComponent } from './todo-page.component';
+import { TodoService } from '../todo-service/todo.service';
@Component({
@@ -23,8 +23,8 @@ function asyncArray<T>(data: T[]): Observable<T> {
}
describe('TodoListPageComponent', () => {
- let component: TodoListPageComponent;
- let fixture: ComponentFixture<TodoListPageComponent>;
+ let component: TodoPageComponent;
+ let fixture: ComponentFixture<TodoPageComponent>;
const mockTodoItems: TodoItem[] = [
{
@@ -42,20 +42,20 @@ describe('TodoListPageComponent', () => {
];
beforeEach(async(() => {
- const todoListService: jasmine.SpyObj<TodoListService> = jasmine.createSpyObj('TodoListService', ['getWorkItemList']);
+ const mockTodoService: jasmine.SpyObj<TodoService> = jasmine.createSpyObj('TodoService', ['getWorkItemList']);
- todoListService.getWorkItemList.and.returnValue(asyncArray(mockTodoItems));
+ mockTodoService.getWorkItemList.and.returnValue(asyncArray(mockTodoItems));
TestBed.configureTestingModule({
- declarations: [TodoListPageComponent, MatProgressBarStubComponent],
+ declarations: [TodoPageComponent, MatProgressBarStubComponent],
imports: [NoopAnimationsModule],
- providers: [{ provide: TodoListService, useValue: todoListService }],
+ providers: [{ provide: TodoService, useValue: mockTodoService }],
schemas: [NO_ERRORS_SCHEMA]
}).compileComponents();
}));
beforeEach(() => {
- fixture = TestBed.createComponent(TodoListPageComponent);
+ fixture = TestBed.createComponent(TodoPageComponent);
component = fixture.componentInstance;
});
diff --git a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.ts b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.ts
index a69c6856..7b658228 100644
--- a/Timeline/ClientApp/src/app/todo/todo-list-page/todo-list-page.component.ts
+++ b/Timeline/ClientApp/src/app/todo/todo-page/todo-page.component.ts
@@ -1,12 +1,14 @@
import { Component, OnInit } from '@angular/core';
-import { TodoItem } from '../todo-item';
-import { TodoListService } from '../todo-service/todo-list.service';
import { trigger, transition, style, animate } from '@angular/animations';
+
+import { TodoItem } from '../todo-item';
+import { TodoService } from '../todo-service/todo.service';
+
@Component({
- selector: 'app-todo-list-page',
- templateUrl: './todo-list-page.component.html',
- styleUrls: ['./todo-list-page.component.css', '../todo-list-color-block.css'],
+ selector: 'app-todo-page',
+ templateUrl: './todo-page.component.html',
+ styleUrls: ['./todo-page.component.css', '../todo-list-color-block.css'],
animations: [
trigger('itemEnter', [
transition(':enter', [
@@ -20,12 +22,12 @@ import { trigger, transition, style, animate } from '@angular/animations';
])
]
})
-export class TodoListPageComponent implements OnInit {
+export class TodoPageComponent implements OnInit {
items: TodoItem[] = [];
isLoadCompleted = false;
- constructor(private todoService: TodoListService) {
+ constructor(private todoService: TodoService) {
}
ngOnInit() {
diff --git a/Timeline/ClientApp/src/app/todo/todo-service/todo-list.service.spec.ts b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts
index d8283b54..b0b35f7b 100644
--- a/Timeline/ClientApp/src/app/todo/todo-service/todo-list.service.spec.ts
+++ b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.spec.ts
@@ -3,21 +3,21 @@ import { HttpClientTestingModule, HttpTestingController } from '@angular/common/
import { toArray } from 'rxjs/operators';
import { TodoItem } from '../todo-item';
-import { TodoListService, IssueResponse } from './todo-list.service';
+import { TodoService, IssueResponse } from './todo.service';
-describe('TodoListServiceService', () => {
+describe('TodoService', () => {
beforeEach(() => TestBed.configureTestingModule({
imports: [HttpClientTestingModule]
}));
it('should be created', () => {
- const service: TodoListService = TestBed.get(TodoListService);
+ const service: TodoService = TestBed.get(TodoService);
expect(service).toBeTruthy();
});
it('should work well', () => {
- const service: TodoListService = TestBed.get(TodoListService);
+ const service: TodoService = TestBed.get(TodoService);
const baseUrl = service.baseUrl;
diff --git a/Timeline/ClientApp/src/app/todo/todo-service/todo-list.service.ts b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts
index 83bf47ec..ed1f2cbe 100644
--- a/Timeline/ClientApp/src/app/todo/todo-service/todo-list.service.ts
+++ b/Timeline/ClientApp/src/app/todo/todo-service/todo.service.ts
@@ -3,7 +3,7 @@ import { HttpClient } from '@angular/common/http';
import { Observable, from } from 'rxjs';
import { switchMap, map, filter } from 'rxjs/operators';
-import {TodoItem} from '../todo-item';
+import { TodoItem } from '../todo-item';
export interface IssueResponseItem {
number: number;
@@ -18,7 +18,7 @@ export type IssueResponse = IssueResponseItem[];
@Injectable({
providedIn: 'root'
})
-export class TodoListService {
+export class TodoService {
readonly baseUrl = 'https://api.github.com/repos/crupest/Timeline';
diff --git a/Timeline/ClientApp/src/app/todo/todo.module.ts b/Timeline/ClientApp/src/app/todo/todo.module.ts
new file mode 100644
index 00000000..5bcfefbd
--- /dev/null
+++ b/Timeline/ClientApp/src/app/todo/todo.module.ts
@@ -0,0 +1,27 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { RouterModule } from '@angular/router';
+import { MatListModule, MatIconModule, MatCardModule, MatProgressBarModule, MatButtonModule } from '@angular/material';
+import { HttpClientModule } from '@angular/common/http';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+
+import { TodoItemComponent } from './todo-item/todo-item.component';
+import { TodoPageComponent } from './todo-page/todo-page.component';
+
+@NgModule({
+ declarations: [
+ TodoItemComponent,
+ TodoPageComponent
+ ],
+ imports: [
+ CommonModule, HttpClientModule, BrowserAnimationsModule,
+ MatListModule, MatCardModule, MatIconModule, MatProgressBarModule, MatButtonModule,
+ RouterModule.forChild([
+ { path: 'todo', component: TodoPageComponent }
+ ])
+ ],
+ exports: [
+ RouterModule
+ ]
+})
+export class TodoModule { }
diff --git a/Timeline/ClientApp/src/app/user/user.module.ts b/Timeline/ClientApp/src/app/user/user.module.ts
new file mode 100644
index 00000000..67de90a2
--- /dev/null
+++ b/Timeline/ClientApp/src/app/user/user.module.ts
@@ -0,0 +1,24 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { ReactiveFormsModule } from '@angular/forms';
+import { HttpClientModule } from '@angular/common/http';
+import {
+ MatFormFieldModule, MatProgressSpinnerModule,
+ MatDialogModule, MatInputModule, MatButtonModule
+} from '@angular/material';
+
+import { UserDialogComponent } from './user-dialog/user-dialog.component';
+import { UserLoginComponent } from './user-login/user-login.component';
+import { UserLoginSuccessComponent } from './user-login-success/user-login-success.component';
+import { UtilityModule } from '../utility/utility.module';
+
+@NgModule({
+ declarations: [UserDialogComponent, UserLoginComponent, UserLoginSuccessComponent],
+ imports: [
+ CommonModule, HttpClientModule, ReactiveFormsModule,
+ MatFormFieldModule, MatProgressSpinnerModule, MatDialogModule, MatInputModule, MatButtonModule,
+ UtilityModule
+ ],
+ entryComponents: [UserDialogComponent]
+})
+export class UserModule { }
diff --git a/Timeline/ClientApp/src/app/debounce-click.directive.spec.ts b/Timeline/ClientApp/src/app/utility/debounce-click.directive.spec.ts
index 75710d0c..75710d0c 100644
--- a/Timeline/ClientApp/src/app/debounce-click.directive.spec.ts
+++ b/Timeline/ClientApp/src/app/utility/debounce-click.directive.spec.ts
diff --git a/Timeline/ClientApp/src/app/debounce-click.directive.ts b/Timeline/ClientApp/src/app/utility/debounce-click.directive.ts
index feb0404e..feb0404e 100644
--- a/Timeline/ClientApp/src/app/debounce-click.directive.ts
+++ b/Timeline/ClientApp/src/app/utility/debounce-click.directive.ts
diff --git a/Timeline/ClientApp/src/app/utility/utility.module.ts b/Timeline/ClientApp/src/app/utility/utility.module.ts
new file mode 100644
index 00000000..dd686bf7
--- /dev/null
+++ b/Timeline/ClientApp/src/app/utility/utility.module.ts
@@ -0,0 +1,11 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { DebounceClickDirective } from './debounce-click.directive';
+
+@NgModule({
+ declarations: [DebounceClickDirective],
+ imports: [CommonModule],
+ exports: [DebounceClickDirective]
+})
+export class UtilityModule { }