Browse Source

FIX #1951: select checkbox state fix for duplicates

pull/1958/head
visrut 2 years ago
parent
commit
4eb0258bc9
  1. 11
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
  2. 1
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
  3. 7
      libs/ui/src/lib/activities-table/activities-table.component.html
  4. 1
      libs/ui/src/lib/activities-table/activities-table.component.ts

11
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts

@ -36,6 +36,7 @@ export class ImportActivitiesDialog implements OnDestroy {
public mode: 'DIVIDEND'; public mode: 'DIVIDEND';
public selectedActivities: Activity[] = []; public selectedActivities: Activity[] = [];
public uniqueAssetForm: FormGroup; public uniqueAssetForm: FormGroup;
public isAnyActivityDuplicate: boolean = false;
private unsubscribeSubject = new Subject<void>(); private unsubscribeSubject = new Subject<void>();
@ -228,6 +229,12 @@ export class ImportActivitiesDialog implements OnDestroy {
this.isFileSelected = true; this.isFileSelected = true;
this.snackBar.dismiss(); this.snackBar.dismiss();
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
this.activities.some((activity) => {
if (activity.isDuplicate) {
this.isAnyActivityDuplicate = true;
return;
}
});
} }
}; };
}; };
@ -236,7 +243,9 @@ export class ImportActivitiesDialog implements OnDestroy {
} }
public updateSelection(data: Activity[]) { public updateSelection(data: Activity[]) {
this.selectedActivities = data; this.selectedActivities = data.filter((activity) => {
return !activity.isDuplicate;
});
} }
public ngOnDestroy() { public ngOnDestroy() {

1
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html

@ -71,6 +71,7 @@
[hasPermissionToExportActivities]="false" [hasPermissionToExportActivities]="false"
[hasPermissionToFilter]="false" [hasPermissionToFilter]="false"
[hasPermissionToOpenDetails]="false" [hasPermissionToOpenDetails]="false"
[isAnyActivityDuplicate]="isAnyActivityDuplicate"
[locale]="data?.user?.settings?.locale" [locale]="data?.user?.settings?.locale"
[pageSize]="maxSafeInteger" [pageSize]="maxSafeInteger"
[showActions]="false" [showActions]="false"

7
libs/ui/src/lib/activities-table/activities-table.component.html

@ -77,7 +77,12 @@
<th *matHeaderCellDef class="px-1" mat-header-cell> <th *matHeaderCellDef class="px-1" mat-header-cell>
<mat-checkbox <mat-checkbox
color="primary" color="primary"
[checked]="selectedRows.hasValue() && areAllRowsSelected()" [checked]="
selectedRows.hasValue() &&
areAllRowsSelected() &&
!isAnyActivityDuplicate
"
[disabled]="isAnyActivityDuplicate"
[indeterminate]="selectedRows.hasValue() && !areAllRowsSelected()" [indeterminate]="selectedRows.hasValue() && !areAllRowsSelected()"
(change)="$event ? toggleAllRows() : null" (change)="$event ? toggleAllRows() : null"
></mat-checkbox> ></mat-checkbox>

1
libs/ui/src/lib/activities-table/activities-table.component.ts

@ -45,6 +45,7 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy, OnInit {
@Input() showCheckbox = false; @Input() showCheckbox = false;
@Input() showFooter = true; @Input() showFooter = true;
@Input() showNameColumn = true; @Input() showNameColumn = true;
@Input() isAnyActivityDuplicate = false;
@Output() activityDeleted = new EventEmitter<string>(); @Output() activityDeleted = new EventEmitter<string>();
@Output() activityToClone = new EventEmitter<OrderWithAccount>(); @Output() activityToClone = new EventEmitter<OrderWithAccount>();

Loading…
Cancel
Save