Commit 2ce2db7f44ca1fef22c01c91fd3a807741c98f66
1 parent
522b64d0
Exists in
master
แยก layout สำหรับ ui (มี header/footer) กับสำหรับ print (ไม่มี header/footer)
Showing
11 changed files
with
100 additions
and
10 deletions
Show diff stats
package.json
src/app/app-routing.module.ts
| ... | ... | @@ -5,25 +5,41 @@ import { WizardBaseComponent } from './wizard-base/wizard-base.component'; |
| 5 | 5 | import { ModalOneComponent } from './wizard-base/modal-one/modal-one.component'; |
| 6 | 6 | import { ModalTwoComponent } from './wizard-base/modal-two/modal-two.component'; |
| 7 | 7 | import { DummyComponent } from './dummy/dummy.component'; |
| 8 | +import { LayoutUiComponent } from './layouts/ui.component'; | |
| 9 | +import { LayoutPrintComponent } from './layouts/print.component'; | |
| 10 | +import { InvoiceComponent } from './invoice/invoice.component'; | |
| 8 | 11 | |
| 9 | 12 | const routes: Routes = [ |
| 13 | + { path: '', redirectTo: '/wizard', pathMatch: 'full' }, | |
| 10 | 14 | { |
| 11 | - path: 'wizard', | |
| 12 | - component: WizardBaseComponent, | |
| 15 | + path: '', | |
| 16 | + component: LayoutUiComponent, | |
| 13 | 17 | children: [ |
| 14 | - { path: '1', component: ModalOneComponent }, | |
| 15 | - { path: '2', component: ModalTwoComponent }, | |
| 18 | + { | |
| 19 | + path: 'wizard', | |
| 20 | + component: WizardBaseComponent, | |
| 21 | + children: [ | |
| 22 | + { path: '1', component: ModalOneComponent }, | |
| 23 | + { path: '2', component: ModalTwoComponent }, | |
| 24 | + ] | |
| 25 | + }, | |
| 26 | + { | |
| 27 | + path: 'dummy', | |
| 28 | + component: DummyComponent | |
| 29 | + }, | |
| 16 | 30 | ] |
| 17 | 31 | }, |
| 18 | 32 | { |
| 19 | - path: 'dummy', | |
| 20 | - component: DummyComponent | |
| 21 | - }, | |
| 22 | - { path: '', redirectTo: '/wizard', pathMatch: 'full' }, | |
| 33 | + path: 'print', | |
| 34 | + component: LayoutPrintComponent, | |
| 35 | + children: [ | |
| 36 | + { path: 'invoice', component: InvoiceComponent }, | |
| 37 | + ], | |
| 38 | + } | |
| 23 | 39 | ]; |
| 24 | 40 | |
| 25 | 41 | @NgModule({ |
| 26 | - imports: [ RouterModule.forRoot(routes) ], | |
| 42 | + imports: [ RouterModule.forRoot(routes, { useHash: true }) ], | |
| 27 | 43 | exports: [ RouterModule ] |
| 28 | 44 | }) |
| 29 | 45 | export class AppRoutingModule { | ... | ... |
src/app/app.module.ts
| ... | ... | @@ -11,6 +11,9 @@ import { ModalOneComponent } from './wizard-base/modal-one/modal-one.component'; |
| 11 | 11 | import { ModalTwoComponent } from './wizard-base/modal-two/modal-two.component'; |
| 12 | 12 | import { SharedServiceService } from './services/shared-service.service'; |
| 13 | 13 | import { DummyComponent } from './dummy/dummy.component'; |
| 14 | +import { InvoiceComponent } from './invoice/invoice.component'; | |
| 15 | +import { LayoutUiComponent } from './layouts/ui.component'; | |
| 16 | +import { LayoutPrintComponent } from './layouts/print.component'; | |
| 14 | 17 | |
| 15 | 18 | @NgModule({ |
| 16 | 19 | declarations: [ |
| ... | ... | @@ -18,7 +21,10 @@ import { DummyComponent } from './dummy/dummy.component'; |
| 18 | 21 | WizardBaseComponent, |
| 19 | 22 | ModalOneComponent, |
| 20 | 23 | ModalTwoComponent, |
| 21 | - DummyComponent | |
| 24 | + DummyComponent, | |
| 25 | + InvoiceComponent, | |
| 26 | + LayoutUiComponent, | |
| 27 | + LayoutPrintComponent, | |
| 22 | 28 | ], |
| 23 | 29 | imports: [ |
| 24 | 30 | BrowserModule, | ... | ... |
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |
| 2 | + | |
| 3 | +import { InvoiceComponent } from './invoice.component'; | |
| 4 | + | |
| 5 | +describe('InvoiceComponent', () => { | |
| 6 | + let component: InvoiceComponent; | |
| 7 | + let fixture: ComponentFixture<InvoiceComponent>; | |
| 8 | + | |
| 9 | + beforeEach(async(() => { | |
| 10 | + TestBed.configureTestingModule({ | |
| 11 | + declarations: [ InvoiceComponent ] | |
| 12 | + }) | |
| 13 | + .compileComponents(); | |
| 14 | + })); | |
| 15 | + | |
| 16 | + beforeEach(() => { | |
| 17 | + fixture = TestBed.createComponent(InvoiceComponent); | |
| 18 | + component = fixture.componentInstance; | |
| 19 | + fixture.detectChanges(); | |
| 20 | + }); | |
| 21 | + | |
| 22 | + it('should create', () => { | |
| 23 | + expect(component).toBeTruthy(); | |
| 24 | + }); | |
| 25 | +}); | ... | ... |
| ... | ... | @@ -0,0 +1,15 @@ |
| 1 | +import { Component, OnInit } from '@angular/core'; | |
| 2 | + | |
| 3 | +@Component({ | |
| 4 | + selector: 'app-invoice', | |
| 5 | + templateUrl: './invoice.component.html', | |
| 6 | + styleUrls: ['./invoice.component.css'] | |
| 7 | +}) | |
| 8 | +export class InvoiceComponent implements OnInit { | |
| 9 | + | |
| 10 | + constructor() { } | |
| 11 | + | |
| 12 | + ngOnInit() { | |
| 13 | + } | |
| 14 | + | |
| 15 | +} | ... | ... |
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +<router-outlet></router-outlet> | ... | ... |