import { Component, OnInit } from '@angular/core'; import { NbWindowService, NbComponentStatus, // NbWindowState, } from '@nebular/theme'; import { ComponentOptions } from '../../../model/componets'; import { ComponentsService } from '../../../services/components.service'; import { ComponentFormComponent } from '../component-form/component-form.component'; import { GuardedComponent } from '../../../guards/confirm-deactivate-guard.guard'; import { Router } from '@angular/router'; @Component({ selector: 'ngx-components-tables', templateUrl: './components-tables.component.html', styleUrls: ['./components-tables.component.scss'], }) export class ComponentsTablesComponent implements OnInit, GuardedComponent { data: ComponentOptions[]; statuses: NbComponentStatus[] = [ 'primary', 'success', 'info', 'warning', 'danger' ]; constructor( private windowService: NbWindowService, private componentsService: ComponentsService, private router: Router, ) { } ngOnInit(): void { this.componentsService.getAllComponents() .then(data => { this.data = data; }); } destroyMsg: string; canDestroy(): boolean { return true; } selectComponent(item) { this.changeTarget(item); this.router.navigateByUrl('/pages/components/actions-table'); } changeTarget(item: any) { this.componentsService.changeCurrentComponent(item); } addComponent() { this.componentsService.addTmpComponent(); this.openWindowForm(this.componentsService.getCurrentComponent()); } deleteComponent(component: ComponentOptions) { if (window.confirm('Are you sure you want to delete')) { this.componentsService.deleteComponent(component); } else {} } openWindowForm(data: ComponentOptions) { this.windowService.open(ComponentFormComponent, { title: `Add Component`, context: data, }); } }