@@ -14,11 +14,14 @@ import { DraggableItemComponent } from './draggable-item/draggable-item.componen
1414@Component ( {
1515 selector : 'ht-draggable-list' ,
1616 changeDetection : ChangeDetectionStrategy . OnPush ,
17+ styleUrls : [ './draggable-list.component.scss' ] ,
1718 template : `
18- <div cdkDropList class="example -list" (cdkDropListDropped)="dropList($event)">
19+ <div cdkDropList class="draggable -list" (cdkDropListDropped)="this. dropList($event)">
1920 <div
2021 *ngFor="let draggableItem of this.draggableItems"
2122 cdkDrag
23+ class="draggable-item"
24+ [ngClass]="{ disabled: disabled || draggableItem.disabled }"
2225 [cdkDragDisabled]="disabled || draggableItem.disabled"
2326 >
2427 <ng-container *ngTemplateOutlet="draggableItem.content"></ng-container>
@@ -31,19 +34,21 @@ export class DraggableListComponent implements AfterContentInit {
3134 public disabled : boolean = false ;
3235
3336 @Output ( )
34- public readonly listOrderChange : EventEmitter < DraggableItemComponent [ ] > = new EventEmitter ( ) ;
37+ public readonly draggableListChange : EventEmitter < unknown > = new EventEmitter ( ) ;
3538
3639 @ContentChildren ( DraggableItemComponent )
37- public draggableItemsRef ! : QueryList < DraggableItemComponent > ;
40+ public draggableItemsRef ! : QueryList < DraggableItemComponent < unknown > > ;
3841
39- public draggableItems : DraggableItemComponent [ ] = [ ] ;
42+ public draggableItems : DraggableItemComponent < unknown > [ ] = [ ] ;
4043
4144 public ngAfterContentInit ( ) : void {
4245 this . draggableItems = this . draggableItemsRef . toArray ( ) ;
4346 }
4447
45- public dropList ( event : CdkDragDrop < DraggableItemComponent [ ] > ) : void {
48+ public dropList ( event : CdkDragDrop < DraggableItemComponent < unknown > [ ] > ) : void {
4649 moveItemInArray ( this . draggableItems , event . previousIndex , event . currentIndex ) ;
47- this . listOrderChange . emit ( this . draggableItems ) ;
50+ this . draggableListChange . emit (
51+ this . draggableItems . find ( ( _dragabbleItem , index ) => event . currentIndex === index ) ?. data
52+ ) ;
4853 }
4954}
0 commit comments