Skip to content

Commit

Permalink
fix(primeng): select filtering prop (#3856)
Browse files Browse the repository at this point in the history
  • Loading branch information
13dante04 authored and Abdellatif Ait Boudad committed May 12, 2024
1 parent 7942df4 commit 67c6783
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
1 change: 1 addition & 0 deletions demo/src/app/ui/ui-primeng/select/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export class AppComponent {
type: 'select',
props: {
label: 'Select',
filter: true,
placeholder: 'Placeholder',
description: 'Description',
required: true,
Expand Down
27 changes: 27 additions & 0 deletions src/ui/primeng/select/src/select.type.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,31 @@ describe('ui-primeng: Select Type', () => {
expect(field.formControl.value).toEqual(2);
expect(changeSpy).toHaveBeenCalledOnce();
});

it('should filter results on search', () => {
const { query, queryAll, fixture } = renderComponent({
key: 'name',
type: 'enum',
props: {
label: 'Select',
filter: true,
options: [
{ value: 1, label: 'apple label' },
{ value: 2, label: 'apple-pie label' },
{ value: 3, label: 'pie label' },
],
},
});

expect(query('formly-wrapper-primeng-form-field')).not.toBeNull();
const inputQuery = 'p-dropdown input.p-dropdown-filter';

query('p-dropdown div').triggerEventHandler('click', ɵCustomEvent({ isSameNode: () => false }));
expect(queryAll('p-dropdownItem')).toHaveLength(3);

query(inputQuery).triggerEventHandler('input', { target: { value: 'pie' } });
fixture.detectChanges();
expect(queryAll('p-dropdownItem')).toHaveLength(2);
expect(queryAll('p-dropdownItem>li')[0].nativeElement.textContent).toEqual('apple-pie label');
});
});
2 changes: 2 additions & 0 deletions src/ui/primeng/select/src/select.type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { FormlyFieldSelectProps } from '@ngx-formly/core/select';

interface SelectProps extends FormlyFieldProps, FormlyFieldSelectProps {
appendTo?: any;
filter?: boolean;
}

export interface FormlySelectFieldConfig extends FormlyFieldConfig<SelectProps> {
Expand All @@ -21,6 +22,7 @@ export interface FormlySelectFieldConfig extends FormlyFieldConfig<SelectProps>
[formlyAttributes]="field"
[showClear]="!props.required"
[appendTo]="props.appendTo"
[filter]="props.filter"
(onChange)="props.change && props.change(field, $event)"
>
</p-dropdown>
Expand Down

0 comments on commit 67c6783

Please sign in to comment.