Skip to content

Commit f1b26cd

Browse files
committed
fix: was doubling up on writes to drake.models, causing sometimes wrong model order
fixes #878, hopefully.
1 parent 59783f0 commit f1b26cd

File tree

2 files changed

+4
-11
lines changed

2 files changed

+4
-11
lines changed

modules/ng2-dragula/src/components/dragula.directive.ts

+4-7
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,12 @@ export class DragulaDirective implements OnChanges, OnDestroy {
1212

1313
private subs: Subscription;
1414

15-
private container: any;
15+
private get container(): HTMLElement {
16+
return this.el && this.el.nativeElement;
17+
}
1618
private group: Group;
1719

18-
private el: ElementRef;
19-
private dragulaService: DragulaService;
20-
public constructor(el: ElementRef, dragulaService: DragulaService) {
21-
this.el = el;
22-
this.dragulaService = dragulaService;
23-
this.container = el.nativeElement;
20+
public constructor(private el: ElementRef, private dragulaService: DragulaService) {
2421
}
2522

2623
public ngOnChanges(changes: {dragula?: SimpleChange, dragulaModel?: SimpleChange}): void {

modules/ng2-dragula/src/components/dragula.service.ts

-4
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ export class DragulaService {
166166
let sourceModel = drake.models[drake.containers.indexOf(source)];
167167
sourceModel = sourceModel.slice(0); // clone it
168168
const item = sourceModel.splice(dragIndex, 1)[0];
169-
drake.models[drake.containers.indexOf(source)] = sourceModel;
170169
// console.log('REMOVE');
171170
// console.log(sourceModel);
172171
this.dispatch$.next({
@@ -196,7 +195,6 @@ export class DragulaService {
196195
sourceModel = sourceModel.slice(0)
197196
item = sourceModel.splice(dragIndex, 1)[0];
198197
sourceModel.splice(dropIndex, 0, item);
199-
drake.models[drake.containers.indexOf(source)] = sourceModel;
200198
// this was true before we cloned and updated sourceModel,
201199
// but targetModel still has the old value
202200
targetModel = sourceModel;
@@ -216,8 +214,6 @@ export class DragulaService {
216214
}
217215
targetModel = targetModel.slice(0)
218216
targetModel.splice(dropIndex, 0, item);
219-
drake.models[drake.containers.indexOf(source)] = sourceModel;
220-
drake.models[drake.containers.indexOf(target)] = targetModel;
221217
if (isCopying) {
222218
try {
223219
target.removeChild(dropElm);

0 commit comments

Comments
 (0)