Skip to content
Snippets Groups Projects
Commit c3ef2f8d authored by lotte's avatar lotte
Browse files

fixed reordering request

parent 78d1c5ee
Branches
Tags
No related merge requests found
......@@ -17,6 +17,7 @@ import { NormalizedObjectBuildService } from '../cache/builders/normalized-objec
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { Item } from '../shared/item.model';
import * as uuidv4 from 'uuid/v4';
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
const endpoint = 'https://rest.api/core';
......@@ -191,8 +192,7 @@ describe('DataService', () => {
dso2.self = selfLink;
dso2.metadata = [{ key: 'dc.title', value: name2 }];
spyOn(service, 'findByHref').and.returnValues(observableOf(dso));
spyOn(objectCache, 'getObjectBySelfLink').and.returnValues(observableOf(dso));
spyOn(service, 'findByHref').and.returnValues(createSuccessfulRemoteDataObject$(dso));
spyOn(objectCache, 'addPatch');
});
......
......@@ -260,12 +260,12 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
}),
)
))),
map((relationships: ReorderableRelationship[]) =>
relationships
.sort((a: Reorderable, b: Reorderable) => {
return Math.sign(a.getPlace() - b.getPlace());
})
)
map((relationships: ReorderableRelationship[]) =>
relationships
.sort((a: Reorderable, b: Reorderable) => {
return Math.sign(a.getPlace() - b.getPlace());
})
)
)
)
);
......@@ -337,25 +337,20 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
moveSelection(event: CdkDragDrop<Relationship>) {
moveItemInArray(this.reorderables, event.previousIndex, event.currentIndex);
this.zone.runOutsideAngular(() => {
observableCombineLatest(
this.reorderables.map((reo: Reorderable, index: number) => {
reo.oldIndex = reo.getPlace();
reo.newIndex = index;
return reo;
const relationships = this.reorderables.map((reo: Reorderable, index: number) => {
reo.oldIndex = reo.getPlace();
reo.newIndex = index;
return reo;
}
);
return observableCombineLatest(relationships.map((rel: ReorderableRelationship) => {
console.log(rel);
if (rel.oldIndex !== rel.newIndex) {
return this.relationshipService.updatePlace(rel.relationship, rel.newIndex, !rel.useLeftItem);
} else {
return observableOf(undefined);
}
)
).pipe(
switchMap((relationships: Array<{ relationship: Relationship, left: boolean, oldIndex: number, newIndex: number }>) =>
observableCombineLatest(relationships.map((rel: { relationship: Relationship, left: boolean, oldIndex: number, newIndex: number }) => {
if (rel.oldIndex !== rel.newIndex) {
return this.relationshipService.updatePlace(rel.relationship, rel.newIndex, rel.left);
} else {
observableOf(undefined);
}
}
)
)
)
})
).subscribe();
})
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment