diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts index a7a7d22708..7fe8b4fb37 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -1,3 +1,4 @@ +import { FORM_PROP, FORM_PROP_DATA } from './../../tokens/extensions.token'; import {ABP, AbpValidators, ConfigStateService, TrackByService} from '@abp/ng.core'; import { AfterViewInit, @@ -30,8 +31,7 @@ import {FormProp} from '../../models/form-props'; import {PropData} from '../../models/props'; import {selfFactory} from '../../utils/factory.util'; import {addTypeaheadTextSuffix} from '../../utils/typeahead.util'; -import {FORM_PROP_DATA_STREAM} from "../../tokens/extensions.token"; - + @Component({ selector: 'abp-extensible-form-prop', templateUrl: './extensible-form-prop.component.html', @@ -181,16 +181,20 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { } } - ngOnChanges({prop}: SimpleChanges) { + ngOnChanges({prop,data}: SimpleChanges) { const currentProp = prop?.currentValue as FormProp; const {options, readonly, disabled, validators, template} = currentProp || {}; if (template) { this.injectorForCustomComponent = Injector.create({ providers: [ { - provide: FORM_PROP_DATA_STREAM, + provide: FORM_PROP, useValue: currentProp }, + { + provide: FORM_PROP_DATA, + useValue: (data?.currentValue as PropData)?.record + }, { provide: ControlContainer, useExisting: FormGroupDirective } ], parent: this.injector, diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensions.token.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensions.token.ts index 28f26317d8..0a58566fcf 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensions.token.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/tokens/extensions.token.ts @@ -4,6 +4,7 @@ import { ExtensionsService } from '../services/extensions.service'; import { Observable } from 'rxjs'; import { ePropType } from '../enums/props.enum'; import {FormProp} from "../models/form-props"; +import { PropData } from '../models/props'; export const EXTENSIONS_IDENTIFIER = new InjectionToken('EXTENSIONS_IDENTIFIER'); export type ActionKeys = Extract<'entityActions' | 'toolbarActions', keyof ExtensionsService>; @@ -26,4 +27,5 @@ export const ENTITY_PROP_TYPE_CLASSES = new InjectionToken( }, ); -export const FORM_PROP_DATA_STREAM = new InjectionToken('FORM_PROP_DATA_STREAM'); +export const EXTENSIONS_FORM_PROP = new InjectionToken('EXTENSIONS_FORM_PROP'); +export const EXTENSIONS_FORM_PROP_DATA = new InjectionToken('EXTENSIONS_FORM_PROP_DATA');