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> | ... | ... |