From 3531cc3b35abd02aab174e6acc245ce877d991e7 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 31 Dec 2020 11:22:24 +0300 Subject: [PATCH] add createTypeaheadDisplayNameGenerator function --- .../extensions/src/lib/utils/typeahead.util.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/typeahead.util.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/typeahead.util.ts index 2e66cb78fb..b51493d22b 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/typeahead.util.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/utils/typeahead.util.ts @@ -2,6 +2,7 @@ import { ABP, ExtensionPropertyUiLookupDto, RestService } from '@abp/ng.core'; import { Observable, of } from 'rxjs'; import { map } from 'rxjs/operators'; import { ePropType } from '../enums/props.enum'; +import { ObjectExtensions } from '../models/object-extensions'; import { PropCallback } from '../models/props'; const TYPEAHEAD_TEXT_SUFFIX = '_Text'; @@ -45,6 +46,17 @@ export function getTypeaheadType(lookup: ExtensionPropertyUiLookupDto, name: str : undefined; } +export function createTypeaheadDisplayNameGenerator( + displayNameGeneratorFn: ObjectExtensions.DisplayNameGeneratorFn, + properties: ObjectExtensions.EntityExtensionProperties, +): ObjectExtensions.DisplayNameGeneratorFn { + return (displayName, fallback) => { + let { name, resource } = fallback; + name = removeTypeaheadTextSuffix(name); + return displayNameGeneratorFn(displayName || properties[name].displayName, { name, resource }); + }; +} + export function addTypeaheadTextSuffix(name: string) { return name + TYPEAHEAD_TEXT_SUFFIX; }