TSK-1798: Fixed workbasket-distribution-list problems

duplication of entries and rendering issues fixed
This commit is contained in:
Tristan 2022-01-28 13:37:07 +01:00 committed by Tristan2357
parent ce97d46334
commit f26c47d128
8 changed files with 12 additions and 9 deletions

View File

@ -75,4 +75,4 @@
"tslint": "6.1.3",
"typescript": "4.5.4"
}
}
}

View File

@ -56,7 +56,7 @@
</taskana-administration-workbasket-access-items>
</mat-tab>
<mat-tab label="Distribution Targets">
<taskana-administration-workbasket-distribution-targets >
<taskana-administration-workbasket-distribution-targets *matTabContent>
</taskana-administration-workbasket-distribution-targets>
</mat-tab>
</mat-tab-group>

View File

@ -54,7 +54,7 @@
class="{{toolbarState? 'distribution-targets-list__list--with-filter' : 'distribution-targets-list__list--no-filter'}}"
itemSize="90">
<mat-list-option
*cdkVirtualFor="let workbasket of distributionTargets| orderBy: ['type', 'name']; templateCacheSize: 0"
*cdkVirtualFor="let workbasket of distributionTargets| orderBy: ['name']; templateCacheSize: 0"
(click)="updateSelectAll(!workbasket.selected) && (workbasket.selected = !workbasket.selected)"
[selected]="workbasket.selected"
[value]="workbasket.workbasketId"

View File

@ -153,6 +153,6 @@ describe('WorkbasketDistributionTargetsListComponent', () => {
it('should call orderBy pipe', () => {
const orderBySpy = jest.spyOn(OrderByMock.prototype, 'transform');
fixture.detectChanges();
expect(orderBySpy).toHaveBeenCalledWith(component.distributionTargets, ['type', 'name']);
expect(orderBySpy).toHaveBeenCalledWith(component.distributionTargets, ['name']);
});
});

View File

@ -9,7 +9,7 @@ export class OrderBy implements PipeTransform {
let direction = 1;
if (sortKey.charAt(0) === '-') {
direction = -1;
sortKey = sortKey.substr(1);
sortKey = sortKey.substring(1);
}
const objectA = a[sortKey] ? a[sortKey].toLowerCase() : '';
const objectB = b[sortKey] ? b[sortKey].toLowerCase() : '';

View File

@ -123,7 +123,7 @@ export class WorkbasketService {
// PUT
updateWorkBasketsDistributionTargets(
url: string,
distributionTargetsIds: Array<string>
distributionTargetsIds: Set<string>
): Observable<WorkbasketDistributionTargets> {
return this.httpClient.put<WorkbasketDistributionTargets>(url, distributionTargetsIds);
}

View File

@ -1,5 +1,5 @@
import { Workbasket } from '../../models/workbasket';
import { Sorting, WorkbasketQuerySortParameter } from '../../models/sorting';
import { Direction, Sorting, WorkbasketQuerySortParameter } from '../../models/sorting';
import { ACTION } from '../../models/action';
import { WorkbasketAccessItems } from '../../models/workbasket-access-items';
import { WorkbasketComponent } from '../../../administration/models/workbasket-component';
@ -108,7 +108,10 @@ export class FetchWorkbasketDistributionTargets {
constructor(
public refetchAll: boolean,
public filterParameter?: WorkbasketQueryFilterParameter,
public sortParameter?: Sorting<WorkbasketQuerySortParameter>
public sortParameter: Sorting<WorkbasketQuerySortParameter> = {
'sort-by': WorkbasketQuerySortParameter.NAME,
order: Direction.ASC
}
) {}
}

View File

@ -362,7 +362,7 @@ export class WorkbasketState implements NgxsAfterBootstrap {
return this.workbasketService
.updateWorkBasketsDistributionTargets(
ctx.getState().selectedWorkbasket._links.distributionTargets.href,
ctx.getState().workbasketDistributionTargets.distributionTargets.map((w) => w.workbasketId)
new Set(ctx.getState().workbasketDistributionTargets.distributionTargets.map((w) => w.workbasketId))
)
.pipe(
take(1),