import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
+import { ReactiveFormsModule } from '@angular/forms';
import { ChartsModule } from 'ng2-charts/ng2-charts';
import { AlertModule, PopoverModule, TooltipModule } from 'ngx-bootstrap';
import { PipesModule } from '../pipes/pipes.module';
+import {
+ DeleteConfirmationComponent
+} from './delete-confirmation-modal/delete-confirmation-modal.component';
import { HelperComponent } from './helper/helper.component';
import { SparklineComponent } from './sparkline/sparkline.component';
import { SubmitButtonComponent } from './submit-button/submit-button.component';
PopoverModule.forRoot(),
TooltipModule.forRoot(),
ChartsModule,
- PipesModule
+ ReactiveFormsModule,
+ PipesModule,
],
declarations: [
ViewCacheComponent,
SparklineComponent,
HelperComponent,
SubmitButtonComponent,
- UsageBarComponent
+ UsageBarComponent,
+ DeleteConfirmationComponent
],
providers: [],
exports: [
SparklineComponent,
HelperComponent,
SubmitButtonComponent,
- UsageBarComponent
+ UsageBarComponent,
+ DeleteConfirmationComponent
+ ],
+ entryComponents: [
+ DeleteConfirmationComponent
]
})
export class ComponentsModule { }
--- /dev/null
+<div class="modal-header">
+ <h4 class="modal-title pull-left">Delete</h4>
+ <button type="button" class="close pull-right" aria-label="Close" (click)="modalRef.hide()">
+ <span aria-hidden="true">×</span>
+ </button>
+</div>
+<form name="deleteForm"
+ class="form-horizontal"
+ #formDir="ngForm"
+ [formGroup]="deleteForm"
+ novalidate>
+ <div class="modal-body">
+ Are you sure you want to delete <strong>{{ itemName }}</strong>?
+ </div>
+ <div class="modal-footer">
+ <div class="button-group text-right">
+ <cd-submit-button [form]="deleteForm"
+ (submitAction)="submit()">
+ Delete
+ </cd-submit-button>
+ <button type="button" class="btn btn-sm btn-default" (click)="modalRef.hide()">Cancel</button>
+ </div>
+ </div>
+</form>
+
--- /dev/null
+import { HttpClientTestingModule } from '@angular/common/http/testing';
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { ReactiveFormsModule } from '@angular/forms';
+
+import { ToastModule } from 'ng2-toastr';
+import { BsModalRef, BsModalService } from 'ngx-bootstrap';
+
+import { ApiModule } from '../../../shared/api/api.module';
+import { ServicesModule } from '../../../shared/services/services.module';
+import { SubmitButtonComponent } from '../submit-button/submit-button.component';
+import { DeleteConfirmationComponent } from './delete-confirmation-modal.component';
+
+describe('RbdSnapshotFormComponent', () => {
+ let component: DeleteConfirmationComponent;
+ let fixture: ComponentFixture<DeleteConfirmationComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ imports: [
+ ReactiveFormsModule,
+ HttpClientTestingModule,
+ ServicesModule,
+ ApiModule,
+ ToastModule.forRoot()
+ ],
+ declarations: [ DeleteConfirmationComponent, SubmitButtonComponent ],
+ providers: [ BsModalRef, BsModalService ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(DeleteConfirmationComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
--- /dev/null
+import { Component, OnInit } from '@angular/core';
+import { FormGroup } from '@angular/forms';
+
+import { BsModalRef } from 'ngx-bootstrap';
+import { Subject } from 'rxjs/Subject';
+
+@Component({
+ selector: 'cd-delete-confirmation-modal',
+ templateUrl: './delete-confirmation-modal.component.html',
+ styleUrls: ['./delete-confirmation-modal.component.scss']
+})
+export class DeleteConfirmationComponent implements OnInit {
+
+ itemName: string;
+
+ deleteForm: FormGroup;
+
+ public onSubmit: Subject<string>;
+
+ constructor(public modalRef: BsModalRef) {
+ this.createForm();
+ }
+
+ createForm() {
+ this.deleteForm = new FormGroup({});
+ }
+
+ ngOnInit() {
+ this.onSubmit = new Subject();
+ }
+
+ submit() {
+ this.onSubmit.next(this.itemName);
+ }
+}