Skip to content

Commit f650881

Browse files
Steve RhoadesSteve Rhoades
authored andcommitted
Fix the generics for DynamicFormControlOptionDataProvider to be inline with the library, fix unit test issue.
1 parent 910116e commit f650881

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

projects/ng-dynamic-forms/core/src/lib/model/misc/dynamic-form-control-data.model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ export interface DynamicFormControlListDataProvider {
1818
fetchList(value: string): Observable<any[]>;
1919
}
2020

21-
export interface DynamicFormControlOptionDataProvider {
22-
fetchOptions(value: string): Observable<DynamicFormControlDataOptionConfig[]>;
21+
export interface DynamicFormControlOptionDataProvider<T> {
22+
fetchOptions(value: string): Observable<DynamicFormOptionConfig<T>[]>;
2323
}

projects/ng-dynamic-forms/core/src/lib/service/dynamic-form-data.service.spec.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ import {Observable, of} from 'rxjs';
1313
import {Injectable} from '@angular/core';
1414
import {DynamicInputModel} from '../model/input/dynamic-input.model';
1515
import {DynamicFormGroupModel} from '../model/form-group/dynamic-form-group.model';
16+
import {DynamicFormOptionConfig} from '../model/dynamic-option-control.model';
1617

1718
@Injectable()
18-
class TestProvider implements DynamicFormControlListDataProvider, DynamicFormControlOptionDataProvider {
19+
class TestProvider implements DynamicFormControlListDataProvider, DynamicFormControlOptionDataProvider<string> {
1920
fetchList(value: string): Observable<any[]> {
2021
return of(['test']);
2122
}
2223

23-
fetchOptions(value: string): Observable<DynamicFormControlDataOptionConfig[]> {
24+
fetchOptions(value: string): Observable<DynamicFormOptionConfig<string>[]> {
2425
return of([{
2526
label: 'Test',
2627
value: 'test'
@@ -203,7 +204,7 @@ describe("DynamicFormDataService test suite", () => {
203204
service.connectDynamicFormControls(invalidOptionProvider, group);
204205
triggerControl.setValue('newVal');
205206
tick(401);
206-
radio.options$.subscribe((options) => expect(options[0].value).toBe('option-1'));
207+
invalidOptionProvider.options$.subscribe((options) => expect(options[0].value).toBe('option-1'));
207208
}));
208209

209210
it('should show warning with invalid relatedform control', () => {

projects/ng-dynamic-forms/core/src/lib/service/dynamic-form-data.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export class DynamicFormDataService {
4949
return provider.fetchList !== undefined;
5050
}
5151

52-
isOptionProvider(provider: DynamicFormControlOptionDataProvider): boolean {
52+
isOptionProvider(provider: DynamicFormControlOptionDataProvider<any>): boolean {
5353
return provider.fetchOptions !== undefined;
5454
}
5555

0 commit comments

Comments
 (0)