diff options
author | crupest <crupest@outlook.com> | 2019-03-07 20:56:50 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-03-07 20:56:50 +0800 |
commit | 00757c9b23d1c614960d74b54054ccc35129150c (patch) | |
tree | d52f6ae18aad3146ea785d2f6797671772bcd1b5 /Timeline | |
parent | 4b37c96de2c7d3fe046a6f342d2da8ef03d3c807 (diff) | |
download | timeline-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.ts | 45 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/home/home.component.ts | 8 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/home/home.module.ts | 17 | ||||
-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.ts | 27 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/user/user.module.ts | 24 | ||||
-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.ts | 11 |
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 { } |