import { Component , Input , Output , EventEmitter , ChangeDetectionStrategy , Optional , } from "@angular/core" ; import { DragSource } from "@angular-skyhook/core" ; import { DraggedItem , SortableSpec , SkyhookSortableRenderer } from "@angular-skyhook/sortable" ; import { Card } from "../card" ; import { KanbanList } from "../lists" ; import { Observable } from "rxjs" ; import { SortableSpecService } from '../specs' ; @ Component ( { selector : "kanban-list" , templateUrl : "./kanban-list.component.html" , changeDetection : ChangeDetectionStrategy . OnPush , styleUrls : [ "./kanban-list.component.scss" ] } ) export class KanbanListComponent { @ Input ( ) list : KanbanList ; @ Input ( ) preview = false ; @ Output ( ) addCard = new EventEmitter < string > ( ) ; placeholder$ = this . render && this . render . source . listen ( m => m . isDragging ( ) ) ; isOver$ = this . render && this . render . target . listen ( m => m . canDrop ( ) && m . isOver ( ) ) ; constructor ( public specs , @ Optional ( ) public render ) { } ngOnInit ( ) { } trackById = ( _ , x ) => x . id ; }