瀏覽代碼

modal component

master
Florian Eisenmenger 2 年之前
父節點
當前提交
453a25d70e
共有 11 個檔案被更改,包括 108 行新增6 行删除
  1. +10
    -0
      matsen-tool/src/app/_components/modal/modal.component.html
  2. +0
    -0
      matsen-tool/src/app/_components/modal/modal.component.scss
  3. +23
    -0
      matsen-tool/src/app/_components/modal/modal.component.spec.ts
  4. +14
    -0
      matsen-tool/src/app/_components/modal/modal.component.ts
  5. +5
    -1
      matsen-tool/src/app/app.module.ts
  6. +5
    -0
      matsen-tool/src/app/partners/new-contact/new-contact.component.html
  7. +0
    -0
      matsen-tool/src/app/partners/new-contact/new-contact.component.scss
  8. +23
    -0
      matsen-tool/src/app/partners/new-contact/new-contact.component.spec.ts
  9. +10
    -0
      matsen-tool/src/app/partners/new-contact/new-contact.component.ts
  10. +1
    -1
      matsen-tool/src/app/partners/partners-detail/partners-detail.component.html
  11. +17
    -4
      matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts

+ 10
- 0
matsen-tool/src/app/_components/modal/modal.component.html 查看文件

@@ -0,0 +1,10 @@
<div class="modal-header">
<h4 class="modal-title">Hi there!</h4>
<button type="button" class="btn-close" aria-label="Close" (click)="activeModal.dismiss('Cross click')"></button>
</div>
<div class="modal-body">
<ng-container *ngComponentOutlet="dynamicComponent"></ng-container>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-dark" (click)="activeModal.close('Close click')">Close</button>
</div>

+ 0
- 0
matsen-tool/src/app/_components/modal/modal.component.scss 查看文件


+ 23
- 0
matsen-tool/src/app/_components/modal/modal.component.spec.ts 查看文件

@@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { ModalComponent } from './modal.component';

describe('ModalComponent', () => {
let component: ModalComponent;
let fixture: ComponentFixture<ModalComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ModalComponent]
})
.compileComponents();
fixture = TestBed.createComponent(ModalComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});

+ 14
- 0
matsen-tool/src/app/_components/modal/modal.component.ts 查看文件

@@ -0,0 +1,14 @@
import {Component, Input} from '@angular/core';
import {NgbActiveModal} from "@ng-bootstrap/ng-bootstrap";

@Component({
selector: 'app-modal',
templateUrl: './modal.component.html',
styleUrl: './modal.component.scss'
})
export class ModalComponent {
@Input() dynamicComponent: any;

constructor(public activeModal: NgbActiveModal) { }

}

+ 5
- 1
matsen-tool/src/app/app.module.ts 查看文件

@@ -22,6 +22,8 @@ import {PartnersDetailComponent} from './partners/partners-detail/partners-detai
import { ProductsComponent } from './products/products.component'; import { ProductsComponent } from './products/products.component';
import { ProductsDetailComponent } from './products/products-detail/products-detail.component'; import { ProductsDetailComponent } from './products/products-detail/products-detail.component';
import { DocumentsComponent } from './documents/documents.component'; import { DocumentsComponent } from './documents/documents.component';
import { NewContactComponent } from './partners/new-contact/new-contact.component';
import { ModalComponent } from './_components/modal/modal.component';


export function apiConfigFactory(): Configuration { export function apiConfigFactory(): Configuration {
const params: ConfigurationParameters = { const params: ConfigurationParameters = {
@@ -65,7 +67,9 @@ export function HttpLoaderFactory(http: HttpClient) {
PartnersDetailComponent, PartnersDetailComponent,
ProductsComponent, ProductsComponent,
ProductsDetailComponent, ProductsDetailComponent,
DocumentsComponent
DocumentsComponent,
NewContactComponent,
ModalComponent
], ],
providers: [ providers: [
{provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true}, {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true},


+ 5
- 0
matsen-tool/src/app/partners/new-contact/new-contact.component.html 查看文件

@@ -0,0 +1,5 @@
<h2>Neuer Kontakt</h2>
<div>
Hier kommt ein Formular hin!
</div>
<button>Abschicken</button>

+ 0
- 0
matsen-tool/src/app/partners/new-contact/new-contact.component.scss 查看文件


+ 23
- 0
matsen-tool/src/app/partners/new-contact/new-contact.component.spec.ts 查看文件

@@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { NewContactComponent } from './new-contact.component';

describe('NewContactComponent', () => {
let component: NewContactComponent;
let fixture: ComponentFixture<NewContactComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [NewContactComponent]
})
.compileComponents();
fixture = TestBed.createComponent(NewContactComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});

+ 10
- 0
matsen-tool/src/app/partners/new-contact/new-contact.component.ts 查看文件

@@ -0,0 +1,10 @@
import {Component} from '@angular/core';

@Component({
selector: 'app-new-contact',
templateUrl: './new-contact.component.html',
styleUrl: './new-contact.component.scss'
})
export class NewContactComponent {

}

+ 1
- 1
matsen-tool/src/app/partners/partners-detail/partners-detail.component.html 查看文件

@@ -31,7 +31,7 @@
<div class="contacts"> <div class="contacts">
<div class="d-flex justify-content-between align-items-start"> <div class="d-flex justify-content-between align-items-start">
<h2>Kontakte</h2> <h2>Kontakte</h2>
<button>Neuer Kontakt</button>
<button (click)="openModalNewContact()">Neuer Kontakt</button>
</div> </div>
<div class="row"> <div class="row">
<div class="col-4"> <div class="col-4">


+ 17
- 4
matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts 查看文件

@@ -1,10 +1,23 @@
import { Component } from '@angular/core';
import {Component} from '@angular/core';
import {NgbModal} from "@ng-bootstrap/ng-bootstrap";
import {ModalComponent} from "@app/_components/modal/modal.component";
import {NewContactComponent} from "@app/partners/new-contact/new-contact.component";


@Component({ @Component({
selector: 'app-partners-detail',
templateUrl: './partners-detail.component.html',
styleUrl: './partners-detail.component.scss'
selector: 'app-partners-detail',
templateUrl: './partners-detail.component.html',
styleUrl: './partners-detail.component.scss'
}) })
export class PartnersDetailComponent { export class PartnersDetailComponent {
private closeResult = '';


protected readonly ModalComponent = ModalComponent;
constructor(private modalService: NgbModal) {
}
openModalNewContact() {
const modalRef = this.modalService.open(ModalComponent);
modalRef.componentInstance.dynamicComponent = NewContactComponent;
}

ngOnInit() {}
} }

Loading…
取消
儲存