Skip to content

Commit f03b4be

Browse files
committed
fix(selection): unselect selected elements
1 parent 31049bf commit f03b4be

3 files changed

Lines changed: 13 additions & 8 deletions

File tree

projects/ng-sortgrid/src/lib/ngsg-elements.helper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ export class NgsgElementsHelper {
99
if (parentElement.matches(selector)) {
1010
return parentElement;
1111
}
12-
this.findHost(parentElement, selector);
12+
return this.findHost(parentElement, selector);
1313
}
1414
}

projects/ng-sortgrid/src/lib/ngsg-item.directive.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@ const selector = '[ngSortgridItem]';
2424

2525
@Directive({selector})
2626
export class NgsgItemDirective implements OnInit, AfterViewInit, OnDestroy {
27-
@Input() private ngSortGridGroup: string = this.DEFAULT_GROUP;
27+
@Input() private ngSortGridGroup = 'defaultGroup';
2828
@Input() ngSortGridItems;
2929

3030
@Output() sorted = new EventEmitter<any>();
3131

32-
private DEFAULT_GROUP = 'defaultGroup';
3332
private selected = false;
3433
private destroy$ = new Subject();
3534

projects/ng-sortgrid/src/lib/ngsg-store.service.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { Injectable } from '@angular/core';
2-
import { NgsgDragelement } from './ngsg-dragelement.model';
1+
import {Injectable} from '@angular/core';
2+
import {NgsgDragelement} from './ngsg-dragelement.model';
33

44
// TODO add interfaces for classes
55
export interface NgsgState {
@@ -15,15 +15,17 @@ export class NgsgStoreService {
1515
private state = new Map<string, NgsgState>();
1616

1717
public initState(group: string, items: any[] = [], classes: any): void {
18-
this.state.set(group, { items: [...items], classes, selectedItems: [] });
18+
this.state.set(group, {items: [...items], classes, selectedItems: []});
1919
}
2020

2121
public addSelectedItem(group: string, dragElement: NgsgDragelement): void {
2222
this.state.get(group).selectedItems.push(dragElement);
2323
}
2424

2525
public removeSelectedItem(group: string, item: Element): void {
26-
this.state.get(group).selectedItems.filter((dragElement: NgsgDragelement) => dragElement.node !== item);
26+
const updatedItems = this.state.get(group).selectedItems
27+
.filter((dragElement: NgsgDragelement) => dragElement.node !== item);
28+
this.setSelectedItems(group, updatedItems);
2729
}
2830

2931
public setItems(group: string, items: any): void {
@@ -38,6 +40,10 @@ export class NgsgStoreService {
3840
return this.state.get(group).selectedItems;
3941
}
4042

43+
public setSelectedItems(group: string, selectedItems: any[]): void {
44+
this.state.get(group).selectedItems = [...selectedItems];
45+
}
46+
4147
public getFirstSelectItem(group: string): NgsgDragelement {
4248
return this.state.get(group).selectedItems[0];
4349
}
@@ -47,7 +53,7 @@ export class NgsgStoreService {
4753
}
4854

4955
public resetSelectedItems(group: string): void {
50-
this.state.get(group).selectedItems = [];
56+
this.setSelectedItems(group, []);
5157
}
5258

5359
public getClasses(group: string): any[] {

0 commit comments

Comments
 (0)