Browse Source

Update file import result handlers and show snackbar for activities imports

pull/1531/head
yksolanki9 3 years ago
parent
commit
ebe4c94612
  1. 30
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
  2. 4
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html

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

@ -103,9 +103,6 @@ export class ImportActivitiesDialog implements OnDestroy {
userAccounts: this.data.user.accounts, userAccounts: this.data.user.accounts,
dryRun: true dryRun: true
}); });
this.snackBar.dismiss();
this.handleImportSuccess();
} catch (error) { } catch (error) {
console.error(error); console.error(error);
this.handleImportError({ this.handleImportError({
@ -126,6 +123,10 @@ export class ImportActivitiesDialog implements OnDestroy {
activities: [], activities: [],
error: { error: { message: ['Unexpected format'] } } error: { error: { message: ['Unexpected format'] } }
}); });
} finally {
this.isFileSelected = true;
this.snackBar.dismiss();
this.changeDetectorRef.markForCheck();
} }
}; };
}; };
@ -133,11 +134,12 @@ export class ImportActivitiesDialog implements OnDestroy {
input.click(); input.click();
} }
public importActivities(data) { public updateSelection(data: Activity[]) {
this.selectedActivities = data; this.selectedActivities = data;
} }
public async finalImport() { public async importActivities() {
try {
await this.importActivitiesService.importSelectedActivities( await this.importActivitiesService.importSelectedActivities(
this.selectedActivities this.selectedActivities
); );
@ -149,9 +151,18 @@ export class ImportActivitiesDialog implements OnDestroy {
duration: 3000 duration: 3000
} }
); );
} catch (error) {
this.snackBar.open(
$localize`Oops! Something went wrong.` +
' ' +
$localize`Please try again later.`,
$localize`Okay`,
{ duration: 3000 }
);
} finally {
this.dialogRef.close(); this.dialogRef.close();
} }
}
public onReset() { public onReset() {
this.details = []; this.details = [];
@ -170,9 +181,6 @@ export class ImportActivitiesDialog implements OnDestroy {
activities: any[]; activities: any[];
error: any; error: any;
}) { }) {
this.isFileSelected = true;
this.snackBar.dismiss();
this.errorMessages = error?.error?.message; this.errorMessages = error?.error?.message;
for (const message of this.errorMessages) { for (const message of this.errorMessages) {
@ -191,7 +199,7 @@ export class ImportActivitiesDialog implements OnDestroy {
} }
private handleImportSuccess() { private handleImportSuccess() {
this.isFileSelected = true; // this.isFileSelected = true;
this.changeDetectorRef.markForCheck(); // this.changeDetectorRef.markForCheck();
} }
} }

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

@ -48,7 +48,7 @@
[showActions]="false" [showActions]="false"
[showCheckbox]="true" [showCheckbox]="true"
[showSymbolColumn]="false" [showSymbolColumn]="false"
(selectedActivities)="importActivities($event)" (selectedActivities)="updateSelection($event)"
></gf-activities-table> ></gf-activities-table>
</ng-container> </ng-container>
<ng-template #errorMessage> <ng-template #errorMessage>
@ -89,7 +89,7 @@
color="primary" color="primary"
mat-flat-button mat-flat-button
[disabled]="!selectedActivities?.length" [disabled]="!selectedActivities?.length"
(click)="finalImport()" (click)="importActivities()"
> >
<ng-container i18n>Import</ng-container> <ng-container i18n>Import</ng-container>
</button> </button>

Loading…
Cancel
Save