TSK-1489: fixed undefined bugs, refactored variable name (#1372)
This commit is contained in:
parent
3c067c55e3
commit
ab3a417955
|
@ -82,7 +82,7 @@
|
||||||
<taskana-administration-workbasket-distribution-targets-list
|
<taskana-administration-workbasket-distribution-targets-list
|
||||||
[ngClass]="sideBySide ? 'distribution-targets-list__lists--left-side' : ''"
|
[ngClass]="sideBySide ? 'distribution-targets-list__lists--left-side' : ''"
|
||||||
header="Selected distribution targets"
|
header="Selected distribution targets"
|
||||||
[distributionTargets]="distributionTargetsRight"
|
[distributionTargets]="distributionTargetsLeft"
|
||||||
[distributionTargetsSelected]="distributionTargetsSelected"
|
[distributionTargetsSelected]="distributionTargetsSelected"
|
||||||
(performDualListFilter)="performFilter($event)"
|
(performDualListFilter)="performFilter($event)"
|
||||||
[side]="side.SELECTED"
|
[side]="side.SELECTED"
|
||||||
|
|
|
@ -137,7 +137,7 @@ describe('WorkbasketDistributionTargetsComponent', () => {
|
||||||
|
|
||||||
it('should move distribution targets to selected list', () => {
|
it('should move distribution targets to selected list', () => {
|
||||||
component.availableDistributionTargets[0]['selected'] = true; // select first item in available array
|
component.availableDistributionTargets[0]['selected'] = true; // select first item in available array
|
||||||
component.distributionTargetsRight = component.distributionTargetsSelected;
|
component.distributionTargetsLeft = component.distributionTargetsSelected;
|
||||||
component.moveDistributionTargets(Side.AVAILABLE);
|
component.moveDistributionTargets(Side.AVAILABLE);
|
||||||
expect(component.distributionTargetsSelected).toHaveLength(4); // mock-data only has 3
|
expect(component.distributionTargetsSelected).toHaveLength(4); // mock-data only has 3
|
||||||
});
|
});
|
||||||
|
@ -146,7 +146,7 @@ describe('WorkbasketDistributionTargetsComponent', () => {
|
||||||
component.distributionTargetsClone = component.availableDistributionTargets;
|
component.distributionTargetsClone = component.availableDistributionTargets;
|
||||||
component.distributionTargetsSelectedClone = component.distributionTargetsSelected;
|
component.distributionTargetsSelectedClone = component.distributionTargetsSelected;
|
||||||
component.availableDistributionTargets[0]['selected'] = true; // select first item in available array
|
component.availableDistributionTargets[0]['selected'] = true; // select first item in available array
|
||||||
component.distributionTargetsRight = component.distributionTargetsSelected;
|
component.distributionTargetsLeft = component.distributionTargetsSelected;
|
||||||
component.moveDistributionTargets(Side.AVAILABLE);
|
component.moveDistributionTargets(Side.AVAILABLE);
|
||||||
expect(component.distributionTargetsSelected).toHaveLength(4); // mock-data only has 3
|
expect(component.distributionTargetsSelected).toHaveLength(4); // mock-data only has 3
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,10 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
|
|
||||||
distributionTargetsSelectedResource: WorkbasketDistributionTargets;
|
distributionTargetsSelectedResource: WorkbasketDistributionTargets;
|
||||||
availableDistributionTargets: Array<WorkbasketSummary> = [];
|
availableDistributionTargets: Array<WorkbasketSummary> = [];
|
||||||
distributionTargetsRight: Array<WorkbasketSummary> = [];
|
|
||||||
distributionTargetsSelected: Array<WorkbasketSummary>;
|
|
||||||
distributionTargetsClone: Array<WorkbasketSummary>;
|
distributionTargetsClone: Array<WorkbasketSummary>;
|
||||||
|
|
||||||
|
distributionTargetsLeft: Array<WorkbasketSummary> = [];
|
||||||
|
distributionTargetsSelected: Array<WorkbasketSummary>;
|
||||||
distributionTargetsSelectedClone: Array<WorkbasketSummary>;
|
distributionTargetsSelectedClone: Array<WorkbasketSummary>;
|
||||||
|
|
||||||
loadingItems = false;
|
loadingItems = false;
|
||||||
|
@ -85,8 +86,11 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
this.store.dispatch(new GetWorkbasketDistributionTargets(this.workbasket._links.distributionTargets.href));
|
this.store.dispatch(new GetWorkbasketDistributionTargets(this.workbasket._links.distributionTargets.href));
|
||||||
this.store.dispatch(new GetAvailableDistributionTargets());
|
this.store.dispatch(new GetAvailableDistributionTargets());
|
||||||
|
|
||||||
this.availableDistributionTargets$.pipe(takeUntil(this.destroy$)).subscribe((availableDistributionTargets) => {
|
this.availableDistributionTargets$
|
||||||
this.availableDistributionTargets = availableDistributionTargets;
|
.pipe(takeUntil(this.destroy$))
|
||||||
|
.pipe(filter((availableDistributionTargets) => typeof availableDistributionTargets !== 'undefined'))
|
||||||
|
.subscribe((availableDistributionTargets) => {
|
||||||
|
this.availableDistributionTargets = [...availableDistributionTargets];
|
||||||
});
|
});
|
||||||
|
|
||||||
this.savingWorkbaskets
|
this.savingWorkbaskets
|
||||||
|
@ -157,10 +161,10 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
if (side === this.side.AVAILABLE) {
|
if (side === this.side.AVAILABLE) {
|
||||||
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
||||||
} else if (side === this.side.SELECTED) {
|
} else if (side === this.side.SELECTED) {
|
||||||
this.distributionTargetsRight = Object.assign([], distributionTargetsAvailable.workbaskets);
|
this.distributionTargetsLeft = Object.assign([], distributionTargetsAvailable.workbaskets);
|
||||||
} else {
|
} else {
|
||||||
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
||||||
this.distributionTargetsRight = Object.assign([], distributionTargetsAvailable.workbaskets);
|
this.distributionTargetsLeft = Object.assign([], distributionTargetsAvailable.workbaskets);
|
||||||
this.distributionTargetsClone = Object.assign([], distributionTargetsAvailable.workbaskets);
|
this.distributionTargetsClone = Object.assign([], distributionTargetsAvailable.workbaskets);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -199,10 +203,10 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
if (dualListFilter.side === this.side.AVAILABLE) {
|
if (dualListFilter.side === this.side.AVAILABLE) {
|
||||||
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
||||||
} else if (dualListFilter.side === this.side.SELECTED) {
|
} else if (dualListFilter.side === this.side.SELECTED) {
|
||||||
this.distributionTargetsRight = Object.assign([], distributionTargetsAvailable.workbaskets);
|
this.distributionTargetsLeft = Object.assign([], distributionTargetsAvailable.workbaskets);
|
||||||
} else {
|
} else {
|
||||||
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
this.availableDistributionTargets.push(...distributionTargetsAvailable.workbaskets);
|
||||||
this.distributionTargetsRight = Object.assign([], distributionTargetsAvailable.workbaskets);
|
this.distributionTargetsLeft = Object.assign([], distributionTargetsAvailable.workbaskets);
|
||||||
this.distributionTargetsClone = Object.assign([], distributionTargetsAvailable.workbaskets);
|
this.distributionTargetsClone = Object.assign([], distributionTargetsAvailable.workbaskets);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -221,10 +225,10 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
moveDistributionTargets(side: number) {
|
moveDistributionTargets(side: number) {
|
||||||
if (side === Side.AVAILABLE) {
|
if (side === Side.AVAILABLE) {
|
||||||
const itemsLeft = this.availableDistributionTargets.length;
|
const itemsLeft = this.availableDistributionTargets.length;
|
||||||
const itemsRight = this.distributionTargetsRight.length;
|
const itemsRight = this.distributionTargetsLeft.length;
|
||||||
const itemsSelected = this.getSelectedItems(this.availableDistributionTargets);
|
const itemsSelected = this.getSelectedItems(this.availableDistributionTargets);
|
||||||
this.distributionTargetsSelected = [...this.distributionTargetsSelected, ...itemsSelected];
|
this.distributionTargetsSelected = [...this.distributionTargetsSelected, ...itemsSelected];
|
||||||
this.distributionTargetsRight = this.distributionTargetsRight.concat(itemsSelected);
|
this.distributionTargetsLeft = this.distributionTargetsLeft.concat(itemsSelected);
|
||||||
if (
|
if (
|
||||||
itemsLeft - itemsSelected.length <= TaskanaQueryParameters.pageSize &&
|
itemsLeft - itemsSelected.length <= TaskanaQueryParameters.pageSize &&
|
||||||
itemsLeft + itemsRight < this.page.totalElements
|
itemsLeft + itemsRight < this.page.totalElements
|
||||||
|
@ -233,9 +237,9 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
}
|
}
|
||||||
this.unselectItems(this.distributionTargetsSelected);
|
this.unselectItems(this.distributionTargetsSelected);
|
||||||
} else {
|
} else {
|
||||||
const itemsSelected = this.getSelectedItems(this.distributionTargetsRight);
|
const itemsSelected = this.getSelectedItems(this.distributionTargetsLeft);
|
||||||
this.distributionTargetsSelected = this.removeSelectedItems(this.distributionTargetsSelected, itemsSelected);
|
this.distributionTargetsSelected = this.removeSelectedItems(this.distributionTargetsSelected, itemsSelected);
|
||||||
this.distributionTargetsRight = this.removeSelectedItems(this.distributionTargetsRight, itemsSelected);
|
this.distributionTargetsLeft = this.removeSelectedItems(this.distributionTargetsLeft, itemsSelected);
|
||||||
this.availableDistributionTargets = this.availableDistributionTargets.concat(itemsSelected);
|
this.availableDistributionTargets = this.availableDistributionTargets.concat(itemsSelected);
|
||||||
this.unselectItems(itemsSelected);
|
this.unselectItems(itemsSelected);
|
||||||
}
|
}
|
||||||
|
@ -244,13 +248,13 @@ export class WorkbasketDistributionTargetsComponent implements OnInit, OnDestroy
|
||||||
onClear() {
|
onClear() {
|
||||||
this.notificationsService.showToast(NOTIFICATION_TYPES.INFO_ALERT);
|
this.notificationsService.showToast(NOTIFICATION_TYPES.INFO_ALERT);
|
||||||
this.availableDistributionTargets = Object.assign([], this.distributionTargetsClone);
|
this.availableDistributionTargets = Object.assign([], this.distributionTargetsClone);
|
||||||
this.distributionTargetsRight = Object.assign([], this.distributionTargetsSelectedClone);
|
this.distributionTargetsLeft = Object.assign([], this.distributionTargetsSelectedClone);
|
||||||
this.distributionTargetsSelected = Object.assign([], this.distributionTargetsSelectedClone);
|
this.distributionTargetsSelected = Object.assign([], this.distributionTargetsSelectedClone);
|
||||||
}
|
}
|
||||||
|
|
||||||
fillDistributionTargets(side: Side, workbaskets: WorkbasketSummary[]) {
|
fillDistributionTargets(side: Side, workbaskets: WorkbasketSummary[]) {
|
||||||
this.availableDistributionTargets = side === Side.AVAILABLE ? workbaskets : this.availableDistributionTargets;
|
this.availableDistributionTargets = side === Side.AVAILABLE ? workbaskets : this.availableDistributionTargets;
|
||||||
this.distributionTargetsRight = side === Side.SELECTED ? workbaskets : this.distributionTargetsRight;
|
this.distributionTargetsLeft = side === Side.SELECTED ? workbaskets : this.distributionTargetsLeft;
|
||||||
}
|
}
|
||||||
|
|
||||||
getSelectedItems(originList: any): Array<any> {
|
getSelectedItems(originList: any): Array<any> {
|
||||||
|
|
Loading…
Reference in New Issue