import { Component, EventEmitter, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { BsModalRef } from 'ngx-bootstrap'; import { ToastrService } from 'ngx-toastr'; import { ItemCategoryService } from '../../../../services/item.category.service'; @Component({ selector: 'app-delete-slider', templateUrl: './delete-slider.component.html', styleUrls: ['./delete-slider.component.css'] }) export class DeleteSliderComponent implements OnInit { deleteSliderForm: FormGroup; allSliders: any[]; confirm: boolean; public event: EventEmitter = new EventEmitter(); constructor(public bsModalRef: BsModalRef,private fb:FormBuilder,private toastr: ToastrService, private itemCategoryService: ItemCategoryService) { } ngOnInit() { this.itemCategoryService.getSliders().subscribe( sliders => { this.allSliders = sliders['data'] as any[]; // tslint:disable-next-line: no-string-literal }); this.deleteSliderForm = this.fb.group({ home_slider_id: [, Validators.required], }); } /* @usage: called whenever homeslider collection needs to be updated */ updateHomeSlideInCache(sliderId){ let homeSliderCollection = JSON.parse(localStorage.getItem('sliders')); const sliderCollection = homeSliderCollection.filter(slider => slider.home_slider_id !== sliderId); localStorage.sliders = JSON.stringify(sliderCollection); } onDelete() { if(this.deleteSliderForm.valid) { this.itemCategoryService.deleteHomeSlider(this.deleteSliderForm.get('home_slider_id').value).subscribe((result: { status: string, message: string, data }) => { if (result.status === 'success') { this.updateHomeSlideInCache(this.deleteSliderForm.get('home_slider_id').value); this.event.emit(this.deleteSliderForm.get('home_slider_id').value); this.toastr.success('Selected Home Slider is deleted'); this.bsModalRef.hide(); } }, (error) => { this.toastr.error("Something Went Wrong! Please try to refresh"); this.bsModalRef.hide(); }, );} else this.deleteSliderForm.get('home_slider_id').markAllAsTouched(); } get home_slider_id() { return this.deleteSliderForm.get('home_slider_id') } }