From 555e32e5f24c1b2bc2d82f0100ac34c4db1d8ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= Date: Tue, 30 May 2023 01:13:27 +0300 Subject: [PATCH] show muted text in form field --- .../extensible-form-prop.component.html | 4 ++ .../extensions/src/lib/models/form-props.ts | 5 ++- .../lib/models/internal/object-extensions.ts | 1 + .../extensions/src/lib/models/props.ts | 1 + .../extensions/src/lib/utils/state.util.ts | 40 ++++++++++--------- 5 files changed, 31 insertions(+), 20 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html index 3c94b3123e..26dcbf1297 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html @@ -153,6 +153,10 @@ [formControlName]="prop.name" > + + {{ + prop.formText | abpLocalization + }} diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts index 47a64142e6..8db6db57f4 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts @@ -71,6 +71,7 @@ export class FormProp extends Prop { readonly className?: string; readonly group?: FormPropGroup | undefined; readonly displayTextResolver?: PropDisplayTextResolver; + readonly formText?: string; constructor(options: FormPropOptions) { super( @@ -82,10 +83,11 @@ export class FormProp extends Prop { options.isExtra, options.template, options.className, + options.formText, ); this.group = options.group; this.className = options.className; - + this.formText = options.formText; this.asyncValidators = options.asyncValidators || (_ => []); this.validators = options.validators || (_ => []); this.disabled = options.disabled || (_ => false); @@ -132,6 +134,7 @@ export type FormPropOptions = O.Optional< | 'options' | 'id' | 'displayTextResolver' + | 'formText' >; export type CreateFormPropDefaults = Record[]>; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/internal/object-extensions.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/internal/object-extensions.ts index 811b0a04f3..b89cd0216d 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/internal/object-extensions.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/internal/object-extensions.ts @@ -60,6 +60,7 @@ export interface ExtensionPropertyDto { attributes: ExtensionPropertyAttributeDto[]; configuration: Record; defaultValue: any; + formText?: string; } export interface ExtensionPropertyUiDto { diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts index 867380e9d8..799702bc70 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts @@ -35,6 +35,7 @@ export abstract class Prop { public readonly isExtra = false, public readonly template?: Type, public readonly className?: string, + public readonly formText?: string, public readonly displayTextResolver?: PropDisplayTextResolver, ) { this.displayName = this.displayName || this.name; diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/state.util.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/state.util.ts index ef5fef48c3..2d545c1162 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/state.util.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/state.util.ts @@ -4,25 +4,25 @@ import { ConfigStateService, ExtensionEnumDto, ExtensionPropertyUiLookupDto, - ObjectExtensionsDto -} from "@abp/ng.core"; -import { Observable, pipe, zip } from "rxjs"; -import { filter, map, switchMap, take } from "rxjs/operators"; -import { ePropType } from "../enums/props.enum"; -import { EntityProp, EntityPropList } from "../models/entity-props"; -import { FormProp, FormPropList } from "../models/form-props"; -import { ObjectExtensions } from "../models/object-extensions"; -import { PropCallback } from "../models/props"; -import { createEnum, createEnumOptions, createEnumValueResolver } from "./enum.util"; -import { createDisplayNameLocalizationPipeKeyGenerator } from "./localization.util"; -import { createExtraPropertyValueResolver } from "./props.util"; + ObjectExtensionsDto, +} from '@abp/ng.core'; +import { Observable, pipe, zip } from 'rxjs'; +import { filter, map, switchMap, take } from 'rxjs/operators'; +import { ePropType } from '../enums/props.enum'; +import { EntityProp, EntityPropList } from '../models/entity-props'; +import { FormProp, FormPropList } from '../models/form-props'; +import { ObjectExtensions } from '../models/object-extensions'; +import { PropCallback } from '../models/props'; +import { createEnum, createEnumOptions, createEnumValueResolver } from './enum.util'; +import { createDisplayNameLocalizationPipeKeyGenerator } from './localization.util'; +import { createExtraPropertyValueResolver } from './props.util'; import { createTypeaheadDisplayNameGenerator, createTypeaheadOptions, getTypeaheadType, - hasTypeaheadTextSuffix -} from "./typeahead.util"; -import { getValidatorsFromProperty } from "./validation.util"; + hasTypeaheadTextSuffix, +} from './typeahead.util'; +import { getValidatorsFromProperty } from './validation.util'; function selectObjectExtensions(configState: ConfigStateService): Observable { return configState.getOne$('objectExtensions'); @@ -141,10 +141,10 @@ function createPropertiesToContributorsMapper( if (property.ui.onTable.isVisible) { const sortable = Boolean(property.ui.onTable.isSortable); const columnWidth = type === ePropType.Boolean ? 150 : 250; - const valueResolver: PropCallback> = - type === ePropType.Enum && property.type - ? createEnumValueResolver(property.type, enums[property.type], propName) - : createExtraPropertyValueResolver(propName); + const valueResolver: PropCallback> = type === ePropType.Enum && + property.type + ? createEnumValueResolver(property.type, enums[property.type], propName) + : createExtraPropertyValueResolver(propName); const entityProp = new EntityProp({ type, @@ -165,6 +165,7 @@ function createPropertiesToContributorsMapper( if (isOnCreateForm || isOnEditForm) { const defaultValue = property.defaultValue; + const formText = property.formText; const validators = () => getValidatorsFromProperty(property); let options: PropCallback[]>> | undefined; if (type === ePropType.Enum) @@ -179,6 +180,7 @@ function createPropertiesToContributorsMapper( defaultValue, validators, isExtra, + formText, }); const formContributor = (propList: FormPropList) => propList.addTail(formProp);