Browse Source

Refactor portfolio filter form: remove output events and simplify button actions

pull/5618/head
Germán Martín 2 weeks ago
parent
commit
08a694fd73
  1. 59
      libs/ui/src/lib/assistant/assistant.html
  2. 1
      libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html
  3. 16
      libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts

59
libs/ui/src/lib/assistant/assistant.html

@ -188,37 +188,34 @@
[formControl]="portfolioFilterFormControl"
[holdings]="holdings"
[tags]="tags"
(applyFilters)="onApplyFilters()"
(resetFilters)="onResetFilters()"
>
<div class="d-flex w-100" gfPortfolioFilterActions>
<button
i18n
mat-button
type="button"
[disabled]="
!portfolioFilterForm.hasFilters() || portfolioFilterForm.disabled
"
(click)="portfolioFilterForm.onResetFilters()"
>
Reset Filters
</button>
<span class="gf-spacer"></span>
<button
color="primary"
i18n
mat-flat-button
type="button"
[disabled]="
!portfolioFilterForm.filterForm.dirty ||
portfolioFilterForm.disabled
"
(click)="portfolioFilterForm.onApplyFilters()"
>
Apply Filters
</button>
</div>
</gf-portfolio-filter-form>
/>
<div class="d-flex w-100">
<button
i18n
mat-button
type="button"
[disabled]="
!portfolioFilterForm.hasFilters() || portfolioFilterForm.disabled
"
(click)="onResetFilters()"
>
Reset Filters
</button>
<span class="gf-spacer"></span>
<button
color="primary"
i18n
mat-flat-button
type="button"
[disabled]="
!portfolioFilterForm.filterForm.dirty ||
portfolioFilterForm.disabled
"
(click)="onApplyFilters()"
>
Apply Filters
</button>
</div>
</div>
}
</div>

1
libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html

@ -72,5 +72,4 @@
</mat-select>
</mat-form-field>
</div>
<ng-content select="[gfPortfolioFilterActions]" />
</form>

16
libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts

@ -8,12 +8,10 @@ import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
EventEmitter,
Input,
OnChanges,
OnDestroy,
OnInit,
Output,
forwardRef
} from '@angular/core';
import {
@ -63,9 +61,6 @@ export class GfPortfolioFilterFormComponent
@Input() tags: Filter[] = [];
@Input() disabled = false;
@Output() applyFilters = new EventEmitter<void>();
@Output() resetFilters = new EventEmitter<void>();
public filterForm: FormGroup;
// eslint-disable-next-line @typescript-eslint/no-empty-function
@ -134,17 +129,6 @@ export class GfPortfolioFilterFormComponent
this.changeDetectorRef.markForCheck();
}
public onApplyFilters() {
this.filterForm.markAsPristine();
this.onChange(this.filterForm.value as PortfolioFilterFormValue);
this.applyFilters.emit();
}
public onResetFilters() {
this.filterForm.reset({}, { emitEvent: true });
this.resetFilters.emit();
}
public registerOnChange(fn: (value: PortfolioFilterFormValue) => void) {
this.onChange = fn;
}

Loading…
Cancel
Save