diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fdd38c1..153d40a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Improved the handling of the numerical precision in the value component +- Improved the account selector of the create or update activity dialog - Improved the language localization for Spanish (`es`) - Upgraded `angular` from version `18.0.4` to `18.1.1` - Upgraded `Nx` from version `19.4.3` to `19.5.1` diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts index 8ebf936a..dedcdd4a 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts @@ -51,6 +51,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { public filteredTagsObservable: Observable = of([]); public isLoading = false; public isToday = isToday; + public mode: 'create' | 'update'; public platforms: { id: string; name: string }[]; public separatorKeysCodes: number[] = [ENTER, COMMA]; public tags: Tag[] = []; @@ -71,6 +72,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { ) {} public ngOnInit() { + this.mode = this.data.activity.id ? 'update' : 'create'; this.locale = this.data.user?.settings?.locale; this.dateAdapter.setLocale(this.locale); @@ -92,7 +94,9 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { this.activityForm = this.formBuilder.group({ accountId: [ - this.data.accounts.length === 1 && !this.data.activity?.accountId + this.data.accounts.length === 1 && + !this.data.activity?.accountId && + this.mode === 'create' ? this.data.accounts[0].id : this.data.activity?.accountId, Validators.required @@ -479,18 +483,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { }; try { - if (this.data.activity.id) { - (activity as UpdateOrderDto).id = this.data.activity.id; - - await validateObjectForForm({ - classDto: UpdateOrderDto, - form: this.activityForm, - ignoreFields: ['dataSource', 'date'], - object: activity as UpdateOrderDto - }); - - this.dialogRef.close(activity as UpdateOrderDto); - } else { + if (this.mode === 'create') { (activity as CreateOrderDto).updateAccountBalance = this.activityForm.get('updateAccountBalance').value; @@ -502,6 +495,17 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { }); this.dialogRef.close(activity as CreateOrderDto); + } else { + (activity as UpdateOrderDto).id = this.data.activity.id; + + await validateObjectForForm({ + classDto: UpdateOrderDto, + form: this.activityForm, + ignoreFields: ['dataSource', 'date'], + object: activity as UpdateOrderDto + }); + + this.dialogRef.close(activity as UpdateOrderDto); } } catch (error) { console.error(error); diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html index a3b960d8..56cb66fc 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -4,10 +4,10 @@ (keyup.enter)="activityForm.valid && onSubmit()" (ngSubmit)="onSubmit()" > - @if (data.activity.id) { -

Update activity

- } @else { + @if (mode === 'create') {

Add activity

+ } @else { +

Update activity

}
@@ -76,16 +76,17 @@
-
+
Account @if ( - !activityForm.get('accountId').hasValidator(Validators.required) + !activityForm.get('accountId').hasValidator(Validators.required) || + (!activityForm.get('accountId').value && mode === 'update') ) { } @@ -106,7 +107,7 @@
-
+
Update Cash Balance