@mediusinc/mng-commons 7.3.0 → 7.4.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/fesm2022/mediusinc-mng-commons-core.mjs +4 -3
  2. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  3. package/fesm2022/mediusinc-mng-commons-filter.mjs +19 -3
  4. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  5. package/fesm2022/mediusinc-mng-commons-form-api.mjs +21 -0
  6. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  7. package/fesm2022/mediusinc-mng-commons-form.mjs +437 -235
  8. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  9. package/fesm2022/{mediusinc-mng-commons-table-column-toggle.component-4BDcYyDd.mjs → mediusinc-mng-commons-table-column-toggle.component-bggQruAI.mjs} +2 -2
  10. package/fesm2022/{mediusinc-mng-commons-table-column-toggle.component-4BDcYyDd.mjs.map → mediusinc-mng-commons-table-column-toggle.component-bggQruAI.mjs.map} +1 -1
  11. package/fesm2022/{mediusinc-mng-commons-table-mediusinc-mng-commons-table-DoXp48ZT.mjs → mediusinc-mng-commons-table-mediusinc-mng-commons-table-SYFYosV_.mjs} +66 -14
  12. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-SYFYosV_.mjs.map +1 -0
  13. package/fesm2022/mediusinc-mng-commons-table.mjs +1 -1
  14. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +19 -3
  15. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  16. package/fesm2022/mediusinc-mng-commons-tableview.mjs +5 -4
  17. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  18. package/i18n/en.json +4 -1
  19. package/i18n/sl.json +5 -1
  20. package/package.json +1 -1
  21. package/types/mediusinc-mng-commons-core.d.ts +14 -4
  22. package/types/mediusinc-mng-commons-filter.d.ts +14 -4
  23. package/types/mediusinc-mng-commons-form-api.d.ts +14 -1
  24. package/types/mediusinc-mng-commons-form.d.ts +83 -78
  25. package/types/mediusinc-mng-commons-table.d.ts +6 -1
  26. package/types/mediusinc-mng-commons-tableview-api.d.ts +14 -4
  27. package/version-info.json +6 -6
  28. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-DoXp48ZT.mjs.map +0 -1
package/i18n/en.json CHANGED
@@ -25,7 +25,10 @@
25
25
  "searchItem": "{{item}} - search",
26
26
  "search": "Search",
27
27
  "select": "Select",
28
- "missingTranslation": "Translation is missing. Showing default value."
28
+ "missingTranslation": "Translation is missing. Showing default value.",
29
+ "selected": "Izbrano",
30
+ "suggested": "Predlog",
31
+ "custom": "Vnos"
29
32
  },
30
33
  "pages": {
31
34
  "error": {
package/i18n/sl.json CHANGED
@@ -24,7 +24,11 @@
24
24
  "general": "Splošno",
25
25
  "searchItem": "{{item}} - išči",
26
26
  "search": "Išči",
27
- "select": "Izberi"
27
+ "select": "Izberi",
28
+ "missingTranslation": "Prevod manjka. Prikazujem privzeto vrednost.",
29
+ "selected": "Selected",
30
+ "suggested": "Suggested",
31
+ "custom": "Custom"
28
32
  },
29
33
  "pages": {
30
34
  "error": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "7.3.0",
3
+ "version": "7.4.0-rc.1",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^21.0.0",
6
6
  "@angular/common": "^21.0.0",
@@ -309,10 +309,18 @@ declare class DataProviderInst<Model, Service = any, ServiceClass = ServiceClass
309
309
  get isDataProvider(): boolean;
310
310
  }
311
311
 
312
+ type LookupDataProviderCacheOpts = {
313
+ ttl?: number;
314
+ key?: string;
315
+ };
312
316
  type LookupDataProviderLookupFnType<Model = any, Service = undefined, Sorts = keyof Model, Filters extends keyof any = keyof Model, ReturnType = ItemOrObservable<Array<Model>>> = (params: DataListParams<Sorts, Filters> | undefined, service: Service, search?: string) => ReturnType;
313
317
  interface ILookupDataProviderLookup<Model, Service, Sorts = keyof Model, Filters extends keyof any = keyof Model> {
314
318
  lookup: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>;
319
+ cacheEnabled?: boolean;
320
+ cacheKey?: string;
321
+ cacheTtl?: number;
315
322
  withLookup(fn?: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>): this;
323
+ withCache(enabled?: boolean, opts?: LookupDataProviderCacheOpts): this;
316
324
  }
317
325
  type ILookupDataProvider<Model = any, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassOptType<Service>> = IDataProvider<Model, Service, ServiceClass> & ILookupDataProviderLookup<Model, Service, Sorts, Filters>;
318
326
 
@@ -366,6 +374,7 @@ interface ILookupDescriptor<Model, Service = any, Sorts = keyof Model, Filters e
366
374
  withOptionsTrackProperty(property: keyof Model): this;
367
375
  withOptionsTrackPropertyUnsafe(property: string): this;
368
376
  withLookup(lookup: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>): this;
377
+ withCache(enabled?: boolean, opts?: LookupDataProviderCacheOpts): this;
369
378
  }
370
379
 
371
380
  interface ITableDescriptor<TableModel, Sorts, Filters> {
@@ -1739,9 +1748,10 @@ declare class Styles {
1739
1748
 
1740
1749
  declare enum CommonsFeatureTypeEnum {
1741
1750
  Layout = 0,
1742
- Table = 1,
1743
- Tableview = 2,
1744
- DataApiAsClassV1 = 3
1751
+ Form = 1,
1752
+ Table = 2,
1753
+ Tableview = 3,
1754
+ DataApiAsClassV1 = 4
1745
1755
  }
1746
1756
  interface CommonsFeature {
1747
1757
  type: CommonsFeatureTypeEnum;
@@ -1750,4 +1760,4 @@ interface CommonsFeature {
1750
1760
  declare function provideCommons(config?: CommonsModuleConfig, ...features: CommonsFeature[]): (Provider | EnvironmentProviders)[];
1751
1761
 
1752
1762
  export { ACommonsErrorBase, APermissions, BROWSER_STORAGE_IT, BooleanPipe, COMMONS_INITIALIZER_IT, COMMONS_MODULE_CONFIG_IT, ClassMapPipe, CommonsConfigurationService, CommonsErrorHandler, CommonsFeatureTypeEnum, CommonsHttpError, CommonsInitEventEnum, CommonsInitService, CommonsInternalError, CommonsRouterService, CommonsService, CommonsStorageService, ComponentDirective, DataProviderInst, EnumName, EnumPipe, EnumerateAsyncPipe, EnumeratePipe, FilterMatchMode, GetterPipe, I18nPropertyPipe, JsonPathPipe, LOG_PUBLISHERS, LogLevelEnum, LogPublisherConsoleService, LoggerService, NotificationWrapperComponent, ParametrizePipe, PermissionService, PermissionTypeEnum, Permissions, RerenderDirective, RouteBuilder, RoutesBuilder, StyleSizeEnum, Styles, TemplateDirective, TemplatePipe, TypeName, TypeRegistry, adjustRouteMenuLazyChildrenRouterLinks, angularDateFormatHasSeconds, angularDateFormatHasTime, appendRoutePathToBasePath, booleanOrUndefinedAttribute, booleanWithDefaultAttribute, commonsActionErrorContextToString, commonsErrorToString, commonsInitializerProvider, copyDataListParams, createChildrenLazyRoute, createLazyRoute, createRoute, createRouteRedirect, createRoutes, dataListParamsFilterToUrlQuery, dataListParamsFilterValueToUrlString, dataListParamsFiltersToUrlQuery, dataListParamsSortToUrlQuery, dataListParamsToUrlQuery, dateToIsoString, defineReflectEnumName, defineReflectTypeName, doesUrlMatchRouterLink, effectWithDeps, errorCauseToString, errorToString, escapeHtml, escapeHtmlAny, findReflectEnumName, findReflectTypeName, findTemplateByName, flattenObjectKeys, fromAngularDateFormatToPrime, fromAngularNumberFormatToFractions, fromEnumConstantsAsValueArray, fromEnumValuesAsValueArray, fromSubscribeError, fromTableLoadToDataListParams, fromUrlQueryToDataListParams, getEnumConstantName, getEnumConstantNameFromObject, getEnumConstantNames, getEnumConstantNamesFromObject, getEnumConstantValues, getEnumConstantValuesAsNumber, getEnumConstantValuesAsString, getEnumerationI18nBaseKey, getErrorLogLevel, getErrorName, getHttpErrorResponse, getHttpErrorResponseStatus, getHttpErrorResponseStatusText, getI18n, getI18nAsync, getI18nErrorParams, getI18nForError, getI18nTypeGroupKey, getI18nTypeKeyBasePath, getI18nTypeName, getI18nTypeNameAsync, getI18nTypeParams, getI18nTypeParamsAsync, getI18nTypePropertyKey, getI18nTypeTabKey, getObjectGetters, getObjectProperties, getObjectPropertyByPath, httpErrorResponseToString, isHttpErrorResponse, isMac, isPermitted, isRbacPermitted, itemIdToDefined, itemIdToNumber, itemIdToString, mapToDataList, mergeDataListParamsWithDefaults, narrowI18nToTranslation, narrowPrimeMessageSeverity, objectDeepCopy, objectDeepMerge, permissionGuard, populateI18nParams, populateI18nTypeParams, provideCommons, reflectEnumNameKey, reflectTypeNameExists, reflectTypeNameKey, removeRouteEmptyPathSegments, selectEnumerationI18n, selectI18n, stringify, throwError, toEnumerationI18nEnumerate, toObservable, toastMessage, valueToDefined };
1753
- export type { ActionData, ActionErrorContextToStringOptionsType, ActionParameters, ArrayItemType, BreadcrumbMenuItem, BreadcrumbType, ClassAttributeDef, ClassFunctionKeyParam1ObjKeyExtendsOfTargetType, ClassFunctionKeysType, ClassFunctionKeysWithAnyArgsAndReturnType, ClassFunctionKeysWithParamAndReturnType, ClassFunctionKeysWithReturnType, ClassOptType, ClassType, ColorScheme, CommonKeyof3, CommonPropsObjType3, CommonsErrorBaseOptions, CommonsFeature, CommonsMenuItem, CommonsModuleConfig, CommonsRouteData, CommonsSerializationConfig, DataListFilter, DataListFilterBaseValueType, DataListFilterFromUrlValueType, DataListFilterValueType, DataListFiltersType, DataListParams, DataListResult, DataListSort, DeepCopyOptions, EnumConstantType, EnumFromProperty, EnumType, EnumValue, EnumeratePipeI18nInternal, ErrorCauseToStringOptionsType, ErrorToStringOptionsBaseType, ErrorToStringOptionsType, ErrorTypes, FilterMatchModeExtendedType, FilterMatchModeType, FilterState, GetterFn, HttpErrorResponseToStringOptionsType, I18nMissingTranslationStrategy, IActionContextValidation, IActionDescriptor, IColumnDescriptor, ICommonsActionError, ICommonsActionErrorContext, ICommonsError, IDataProvider, IEditorDescriptor, IEnumDescriptor, IFilterDescriptor, ILogPublisher, ILoggerService, ILookupDataProvider, ILookupDataProviderLookup, ILookupDescriptor, IModelDescriptor, IPermissionService, ITableDescriptor, ITableviewDescriptor, IUser, IdType, InternalCommonsMenuItem, ItemOrObservable, KeyOfType, KeyofAndOfType, LocalstorageConfigValueType, LogConfig, LogEntry, LookupDataProviderLookupFnType, Nullable, ObjectOptPropType, PrimeMessageSeverityType, PrimitiveType, PropertyType, RegistryEnumMap, RegistryTypeMap, RouteBuilderAdjustFnType, ServiceClassOptType, ServiceClassType, SingleOrArrayType, Undefined, VersionConfig, VersionConfigFromConfiguration, VersionConfigFromHttpResource, VersionConfigFromInfo, VersionConfigType, VersionInfo, toIsoStringDateTimeOptsType, toIsoStringTypeOptType };
1763
+ export type { ActionData, ActionErrorContextToStringOptionsType, ActionParameters, ArrayItemType, BreadcrumbMenuItem, BreadcrumbType, ClassAttributeDef, ClassFunctionKeyParam1ObjKeyExtendsOfTargetType, ClassFunctionKeysType, ClassFunctionKeysWithAnyArgsAndReturnType, ClassFunctionKeysWithParamAndReturnType, ClassFunctionKeysWithReturnType, ClassOptType, ClassType, ColorScheme, CommonKeyof3, CommonPropsObjType3, CommonsErrorBaseOptions, CommonsFeature, CommonsMenuItem, CommonsModuleConfig, CommonsRouteData, CommonsSerializationConfig, DataListFilter, DataListFilterBaseValueType, DataListFilterFromUrlValueType, DataListFilterValueType, DataListFiltersType, DataListParams, DataListResult, DataListSort, DeepCopyOptions, EnumConstantType, EnumFromProperty, EnumType, EnumValue, EnumeratePipeI18nInternal, ErrorCauseToStringOptionsType, ErrorToStringOptionsBaseType, ErrorToStringOptionsType, ErrorTypes, FilterMatchModeExtendedType, FilterMatchModeType, FilterState, GetterFn, HttpErrorResponseToStringOptionsType, I18nMissingTranslationStrategy, IActionContextValidation, IActionDescriptor, IColumnDescriptor, ICommonsActionError, ICommonsActionErrorContext, ICommonsError, IDataProvider, IEditorDescriptor, IEnumDescriptor, IFilterDescriptor, ILogPublisher, ILoggerService, ILookupDataProvider, ILookupDataProviderLookup, ILookupDescriptor, IModelDescriptor, IPermissionService, ITableDescriptor, ITableviewDescriptor, IUser, IdType, InternalCommonsMenuItem, ItemOrObservable, KeyOfType, KeyofAndOfType, LocalstorageConfigValueType, LogConfig, LogEntry, LookupDataProviderCacheOpts, LookupDataProviderLookupFnType, Nullable, ObjectOptPropType, PrimeMessageSeverityType, PrimitiveType, PropertyType, RegistryEnumMap, RegistryTypeMap, RouteBuilderAdjustFnType, ServiceClassOptType, ServiceClassType, SingleOrArrayType, Undefined, VersionConfig, VersionConfigFromConfiguration, VersionConfigFromHttpResource, VersionConfigFromInfo, VersionConfigType, VersionInfo, toIsoStringDateTimeOptsType, toIsoStringTypeOptType };
@@ -1,5 +1,5 @@
1
1
  import { InputSignal, Type } from '@angular/core';
2
- import { IFilterDescriptor, FilterMatchModeExtendedType, ILookupDataProvider, ServiceClassType, ILookupDescriptor, LookupDataProviderLookupFnType, EnumValue, EnumConstantType } from '@mediusinc/mng-commons/core';
2
+ import { IFilterDescriptor, FilterMatchModeExtendedType, ILookupDataProvider, ServiceClassType, ILookupDescriptor, LookupDataProviderLookupFnType, LookupDataProviderCacheOpts, EnumValue, EnumConstantType } from '@mediusinc/mng-commons/core';
3
3
  import { InputTrimType, LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
4
4
  import { EnumDescriptor } from '@mediusinc/mng-commons/model';
5
5
 
@@ -315,10 +315,9 @@ type FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service, Sorts =
315
315
  };
316
316
  type FilterLookupOptsType = {
317
317
  inlineSearch?: boolean;
318
- };
319
- type FilterLookupDropdownOptsType = FilterLookupOptsType & {
320
318
  allowInput?: boolean;
321
319
  };
320
+ type FilterLookupDropdownOptsType = FilterLookupOptsType & {};
322
321
  type FilterLookupAutocompleteOptsType = FilterLookupOptsType & {
323
322
  openOnFocus?: boolean;
324
323
  autoClear?: boolean;
@@ -332,7 +331,7 @@ declare class FilterLookupDescriptor<FilterModel, TableModel, Service = any, Fil
332
331
  protected _optionsLabelTranslate: boolean;
333
332
  protected _dropdownClassName: string;
334
333
  protected _inlineSearch?: boolean;
335
- protected _dropdownAllowInput?: boolean;
334
+ protected _allowInput?: boolean;
336
335
  protected _autocompleteOpenOnFocus?: boolean;
337
336
  protected _autocompleteAutoClear?: boolean;
338
337
  constructor(property: string, cfg?: FilterLookupDescriptorConstructorOptsType<FilterModel, Service, Sorts, Filters>);
@@ -344,7 +343,11 @@ declare class FilterLookupDescriptor<FilterModel, TableModel, Service = any, Fil
344
343
  get autocompleteOpenOnFocus(): boolean | undefined;
345
344
  get autocompleteAutoClear(): boolean | undefined;
346
345
  get inlineSearch(): boolean | undefined;
346
+ /**
347
+ * @deprecated Use `allowInput` instead.
348
+ */
347
349
  get dropdownAllowInput(): boolean | undefined;
350
+ get allowInput(): boolean | undefined;
348
351
  /**
349
352
  * @deprecated Use `inlineSearch` instead.
350
353
  */
@@ -377,6 +380,13 @@ declare class FilterLookupDescriptor<FilterModel, TableModel, Service = any, Fil
377
380
  */
378
381
  withOptionsTrackPropertyUnsafe(): this;
379
382
  withLookup(lookup?: LookupDataProviderLookupFnType<FilterModel, Service, Sorts, Filters>): this;
383
+ /**
384
+ * Sets the cache configuration.
385
+ * @param enabled If cache is enabled. Defaults to true.
386
+ * @param opts.ttl Time-to-live in seconds.
387
+ * @param opts.key Key to use for caching. Defaults to data provider instance.
388
+ */
389
+ withCache(enabled?: boolean, opts?: LookupDataProviderCacheOpts): this;
380
390
  /**
381
391
  * Sets the dropdown class name.
382
392
  * @param dropdownClassName Class name for dropdown.
@@ -1,12 +1,25 @@
1
- import { ServiceClassOptType, DataProviderInst, ILookupDataProvider, LookupDataProviderLookupFnType, ServiceClassType, StyleSizeEnum } from '@mediusinc/mng-commons/core';
1
+ import { ServiceClassOptType, DataProviderInst, ILookupDataProvider, LookupDataProviderLookupFnType, LookupDataProviderCacheOpts, ServiceClassType, StyleSizeEnum } from '@mediusinc/mng-commons/core';
2
2
  import { TypeDescriptor, ModelDescriptor } from '@mediusinc/mng-commons/model';
3
3
  import { ButtonSeverity } from 'primeng/button';
4
4
 
5
5
  declare class LookupDataProviderInst<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassOptType<Service>> extends DataProviderInst<Model, Service, ServiceClass> implements ILookupDataProvider<Model, Service, Sorts, Filters, ServiceClass> {
6
6
  protected _lookup: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>;
7
+ protected _cacheKey?: string;
8
+ protected _cacheEnabled?: boolean;
9
+ protected _cacheTtl?: number;
7
10
  constructor(serviceType: ServiceClass);
8
11
  get lookup(): LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>;
12
+ get cacheKey(): string | undefined;
13
+ get cacheEnabled(): boolean | undefined;
14
+ get cacheTtl(): number | undefined;
9
15
  withLookup(fn: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>): this;
16
+ /**
17
+ * Sets the cache configuration.
18
+ * @param enabled If cache is enabled. Defaults to true.
19
+ * @param opts.ttl Time-to-live in seconds.
20
+ * @param opts.key Key to use for caching. Defaults to data provider instance.
21
+ */
22
+ withCache(enabled?: boolean, opts?: LookupDataProviderCacheOpts): this;
10
23
  }
11
24
 
12
25
  /**
@@ -1,12 +1,13 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ExistingProvider, OnInit } from '@angular/core';
2
+ import { ExistingProvider, OnInit, Provider } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, FormControl, ValidationErrors } from '@angular/forms';
4
- import { AutoCompleteCompleteEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent } from 'primeng/autocomplete';
5
- import { TemplateDirective, ILookupDataProvider } from '@mediusinc/mng-commons/core';
4
+ import { AutoComplete, AutoCompleteCompleteEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent } from 'primeng/autocomplete';
5
+ import { TemplateDirective, ILookupDataProvider, CommonsFeature } from '@mediusinc/mng-commons/core';
6
6
  import { InputTrimType, EmptyValueType } from '@mediusinc/mng-commons/form/api';
7
7
  import { MultiSelect, MultiSelectChangeEvent, MultiSelectBlurEvent } from 'primeng/multiselect';
8
8
  import { Select, SelectChangeEvent } from 'primeng/select';
9
9
  import { InputMask } from 'primeng/inputmask';
10
+ import { Observable } from 'rxjs';
10
11
 
11
12
  type NameType$4 = 'prepend' | 'append';
12
13
  declare class AutocompleteTemplateDirective extends TemplateDirective<NameType$4> {
@@ -15,102 +16,75 @@ declare class AutocompleteTemplateDirective extends TemplateDirective<NameType$4
15
16
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AutocompleteTemplateDirective, "[mngAutocompleteTemplate]", ["mngAutocompleteTemplate"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
16
17
  }
17
18
 
19
+ interface AutocompleteItem<T> {
20
+ __label: string;
21
+ __labelI18nKey: string;
22
+ __value: any;
23
+ __track: any;
24
+ __isSelected?: boolean;
25
+ __isSuggested?: boolean;
26
+ __isCustom?: boolean;
27
+ __original: T;
28
+ }
29
+
18
30
  declare const AUTOCOMPLETE_VALUE_ACCESSOR: ExistingProvider;
19
- declare class AutocompleteComponent implements ControlValueAccessor, OnInit {
31
+ declare class AutocompleteComponent implements ControlValueAccessor {
20
32
  #private;
21
- private readonly injector;
22
- private readonly destroyRef;
23
- private readonly translate;
24
- private readonly logger;
25
- dataProvider: _angular_core.InputSignal<ILookupDataProvider<any, any, any, any>>;
26
- optionsTrackProperty: _angular_core.InputSignal<string | undefined>;
27
- optionsValuePropertyInit: _angular_core.InputSignal<string | undefined>;
28
- optionsLabelPropertyInit: _angular_core.InputSignal<string | undefined>;
29
- optionsLabelTranslate: _angular_core.InputSignalWithTransform<boolean, unknown>;
30
- inlineSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
31
- openOnFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
32
- multiselect: _angular_core.InputSignalWithTransform<boolean, unknown>;
33
- placeholder: _angular_core.InputSignal<string | undefined>;
34
- className: _angular_core.InputSignal<string | undefined>;
35
- dropdownClassName: _angular_core.InputSignal<string | undefined>;
36
- showClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
37
- autoClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
38
- selectFirst: _angular_core.InputSignalWithTransform<boolean, unknown>;
39
- searchTrim: _angular_core.InputSignal<InputTrimType | undefined>;
40
- disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
33
+ readonly dataProvider: _angular_core.InputSignal<ILookupDataProvider<any, any, any, any>>;
34
+ readonly optionsTrackProperty: _angular_core.InputSignal<string | undefined>;
35
+ readonly optionsValueProperty: _angular_core.InputSignal<string | undefined>;
36
+ readonly optionsLabelProperty: _angular_core.InputSignal<string | undefined>;
37
+ readonly optionsLabelTranslate: _angular_core.InputSignalWithTransform<boolean, unknown>;
38
+ readonly inlineSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
39
+ readonly openOnFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
40
+ readonly multiselect: _angular_core.InputSignalWithTransform<boolean, unknown>;
41
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
42
+ readonly className: _angular_core.InputSignal<string | undefined>;
43
+ readonly dropdownClassName: _angular_core.InputSignal<string | undefined>;
44
+ readonly showClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
45
+ readonly autoClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
46
+ readonly selectFirst: _angular_core.InputSignalWithTransform<boolean, unknown>;
47
+ readonly allowInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
48
+ readonly searchTrim: _angular_core.InputSignal<InputTrimType | undefined>;
49
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
41
50
  readonly templates: _angular_core.InputSignal<AutocompleteTemplateDirective[]>;
42
- valueChange: _angular_core.OutputEmitterRef<any>;
43
- blur: _angular_core.OutputEmitterRef<Event>;
44
- private primeAutocomplete;
45
- private isInited;
46
- private searchSubscription;
47
- private dataProviderService;
48
- private onChangeFn;
49
- private onTouchedFn;
50
- private _value?;
51
- private _rawValue?;
52
- ngModelValue: _angular_core.WritableSignal<any>;
53
- private _disabled;
54
- disabled: _angular_core.Signal<boolean>;
55
- suggestions: _angular_core.WritableSignal<any[]>;
56
- private isPanelShown;
57
- private isFocused;
58
- private userSelectedItem?;
59
- private queryResultCacheSubject?;
60
- private currentQuery?;
61
- readonly prependTemplates: _angular_core.Signal<AutocompleteTemplateDirective[]>;
62
- readonly appendTemplates: _angular_core.Signal<AutocompleteTemplateDirective[]>;
63
- optionsLabelProperty: _angular_core.Signal<string | undefined>;
64
- optionsValueProperty: _angular_core.Signal<string | undefined>;
51
+ readonly valueChange: _angular_core.OutputEmitterRef<any>;
52
+ readonly blur: _angular_core.OutputEmitterRef<Event>;
53
+ protected readonly primeAutocomplete: _angular_core.Signal<AutoComplete | undefined>;
54
+ protected readonly ngModelValue: _angular_core.WritableSignal<AutocompleteItem<any> | AutocompleteItem<any>[] | null | undefined>;
55
+ protected readonly disabled: _angular_core.Signal<boolean>;
56
+ protected readonly suggestions: _angular_core.WritableSignal<AutocompleteItem<any>[]>;
57
+ protected readonly prependTemplates: _angular_core.Signal<AutocompleteTemplateDirective[]>;
58
+ protected readonly appendTemplates: _angular_core.Signal<AutocompleteTemplateDirective[]>;
65
59
  get value(): any;
60
+ get valueAsItem(): AutocompleteItem<any> | AutocompleteItem<any>[] | null | undefined;
66
61
  constructor();
67
- ngOnInit(): void;
68
- onSearch(event?: AutoCompleteCompleteEvent, isInit?: boolean): void;
69
- private selectFirstItem;
62
+ protected onSearch(event?: AutoCompleteCompleteEvent, isInit?: boolean): void;
70
63
  /**
71
64
  * Triggered by user when selecting an item from an autocomplete suggestion list.
72
65
  */
73
- onSelect(event: AutoCompleteSelectEvent): void;
66
+ protected onSelect(event: AutoCompleteSelectEvent): void;
74
67
  /**
75
68
  * Triggered by user when selecting an item from an autocomplete suggestion list.
76
69
  */
77
- onUnselect(event: AutoCompleteUnselectEvent): void;
78
- onFocus(event: Event): void;
70
+ protected onUnselect(event: AutoCompleteUnselectEvent): void;
71
+ protected onFocus(event: Event): void;
79
72
  /**
80
73
  * calls the selectFirst item anytime the input field goes out of focus and if the suggestions panel is not displayed.
81
74
  */
82
- onBlur(event: Event): void;
83
- onShow(): void;
75
+ protected onBlur(event: Event): void;
76
+ protected onPanelShow(): void;
84
77
  /**
85
78
  * calls the selectFirst item anytime the suggestions panel is closed and input field isn't focused.
86
79
  */
87
- onHide(): void;
88
- onClear(): void;
80
+ protected onPanelHide(): void;
81
+ protected onClear(): void;
89
82
  registerOnChange(fn: any): void;
90
83
  registerOnTouched(fn: any): void;
91
84
  setDisabledState(isDisabled: boolean): void;
92
85
  writeValue(value: any): void;
93
- private setItemsAndDataProvider;
94
- private setValueFromWrite;
95
- private getLookup;
96
- private i18nGetItemsKeys;
97
- private i18nPopulateItems;
98
- private setSuggestionsFromItems;
99
- /**
100
- * Selects and sets new value.
101
- *
102
- * @param value Represents the object value.
103
- * @param fromUser If set value is triggered from user.
104
- */
105
- private setValue;
106
- private trimValue;
107
- /**
108
- * Propagates final value to _value, on change fn and outputs.
109
- */
110
- private propagateValueChange;
111
- private convertValueWithOptionsValuePropSetting;
112
86
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
113
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent, "mng-autocomplete", never, { "dataProvider": { "alias": "dataProvider"; "required": true; "isSignal": true; }; "optionsTrackProperty": { "alias": "optionsTrackProperty"; "required": false; "isSignal": true; }; "optionsValuePropertyInit": { "alias": "optionsValueProperty"; "required": false; "isSignal": true; }; "optionsLabelPropertyInit": { "alias": "optionsLabelProperty"; "required": false; "isSignal": true; }; "optionsLabelTranslate": { "alias": "optionsLabelTranslate"; "required": false; "isSignal": true; }; "inlineSearch": { "alias": "inlineSearch"; "required": false; "isSignal": true; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "dropdownClassName": { "alias": "dropdownClassName"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "autoClear": { "alias": "autoClear"; "required": false; "isSignal": true; }; "selectFirst": { "alias": "selectFirst"; "required": false; "isSignal": true; }; "searchTrim": { "alias": "searchTrim"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "templates": { "alias": "templates"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; }, never, never, true, never>;
87
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent, "mng-autocomplete", never, { "dataProvider": { "alias": "dataProvider"; "required": true; "isSignal": true; }; "optionsTrackProperty": { "alias": "optionsTrackProperty"; "required": false; "isSignal": true; }; "optionsValueProperty": { "alias": "optionsValueProperty"; "required": false; "isSignal": true; }; "optionsLabelProperty": { "alias": "optionsLabelProperty"; "required": false; "isSignal": true; }; "optionsLabelTranslate": { "alias": "optionsLabelTranslate"; "required": false; "isSignal": true; }; "inlineSearch": { "alias": "inlineSearch"; "required": false; "isSignal": true; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "dropdownClassName": { "alias": "dropdownClassName"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "autoClear": { "alias": "autoClear"; "required": false; "isSignal": true; }; "selectFirst": { "alias": "selectFirst"; "required": false; "isSignal": true; }; "allowInput": { "alias": "allowInput"; "required": false; "isSignal": true; }; "searchTrim": { "alias": "searchTrim"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "templates": { "alias": "templates"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; }, never, never, true, never>;
114
88
  }
115
89
 
116
90
  type NameType$3 = 'prepend' | 'append';
@@ -176,6 +150,7 @@ declare class DropdownComponent implements ControlValueAccessor {
176
150
  private readonly injector;
177
151
  private readonly destroyRef;
178
152
  private readonly translate;
153
+ private readonly labelLookupService;
179
154
  dataProvider: _angular_core.InputSignal<ILookupDataProvider<any, any, any, any> | undefined>;
180
155
  options: _angular_core.InputSignal<any[]>;
181
156
  optionsTrackProperty: _angular_core.InputSignal<string | undefined>;
@@ -427,4 +402,34 @@ declare class InputTrimDirective {
427
402
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputTrimDirective, "[mngInputTrim]", never, { "mngInputTrim": { "alias": "mngInputTrim"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
428
403
  }
429
404
 
430
- export { AUTOCOMPLETE_VALUE_ACCESSOR, AutocompleteComponent, AutocompleteTemplateDirective, DATETIME_PICKER_VALIDATOR, DATETIME_PICKER_VALUE_ACCESSOR, DATE_RANGE_VALIDATOR, DATE_RANGE_VALUE_ACCESSOR, DROPDOWN_VALUE_ACCESSOR, DateRangeComponent, DateRangeTemplateDirective, DatetimePickerComponent, DatetimePickerTemplateDirective, DropdownComponent, DropdownTemplateDirective, InputEmptyValueDirective, InputTrimDirective, NUMBER_RANGE_VALIDATOR, NUMBER_RANGE_VALUE_ACCESSOR, NumberRangeComponent, NumberRangeTemplateDirective };
405
+ declare class LookupLabelResolutionService {
406
+ #private;
407
+ private static readonly IDLE_CLEANUP_TIMEOUT_MS;
408
+ storeEntry(dataProvider: ILookupDataProvider<any, any, any, any>, valueProperty: string, propertyValue: any, item: any): void;
409
+ getEntries(dataProvider: ILookupDataProvider<any, any, any, any>, dataProviderService: any, valueProperty: string, propertyValues: any[]): Observable<Array<any>>;
410
+ clear(opts?: {
411
+ providerKey?: string;
412
+ }): void;
413
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LookupLabelResolutionService, never>;
414
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<LookupLabelResolutionService>;
415
+ }
416
+
417
+ interface FormFeatureConfig {
418
+ lookupNameResolutionConfigEnabled?: boolean;
419
+ lookupNameResolutionCleanupInterval?: number;
420
+ }
421
+
422
+ /**
423
+ * Prepares providers for usage of the tableview functionalities.
424
+ *
425
+ * @returns {CommonsFeature} The `CommonsFeature` object with the layout configuration.
426
+ */
427
+ declare function withForm(config?: FormFeatureConfig): CommonsFeature;
428
+ /**
429
+ * Provides a list of providers for configuring a form feature. Useful for lazy-loading form chunk in child (lazy loaded routes).
430
+ *
431
+ * @param {FormFeatureConfig} [config] - An optional configuration object for the form feature.
432
+ */
433
+ declare function provideFormChild(config?: FormFeatureConfig): Provider[];
434
+
435
+ export { AUTOCOMPLETE_VALUE_ACCESSOR, AutocompleteComponent, AutocompleteTemplateDirective, DATETIME_PICKER_VALIDATOR, DATETIME_PICKER_VALUE_ACCESSOR, DATE_RANGE_VALIDATOR, DATE_RANGE_VALUE_ACCESSOR, DROPDOWN_VALUE_ACCESSOR, DateRangeComponent, DateRangeTemplateDirective, DatetimePickerComponent, DatetimePickerTemplateDirective, DropdownComponent, DropdownTemplateDirective, InputEmptyValueDirective, InputTrimDirective, LookupLabelResolutionService, NUMBER_RANGE_VALIDATOR, NUMBER_RANGE_VALUE_ACCESSOR, NumberRangeComponent, NumberRangeTemplateDirective, provideFormChild, withForm };
@@ -12,7 +12,7 @@ import { ColumnDisplayTypeEnum, ColumnDescriptor, TablePaginationModeEnum, ITabl
12
12
  import { NgForm } from '@angular/forms';
13
13
  import { Popover } from 'primeng/popover';
14
14
  import * as _mediusinc_mng_commons_table from '@mediusinc/mng-commons/table';
15
- import { Table, TableColumnReorderEvent, TableRowReorderEvent, TableLazyLoadEvent, TableFilterEvent } from 'primeng/table';
15
+ import { Table, TableColumnReorderEvent, TableRowReorderEvent, TableCheckbox, TableRadioButton, TableLazyLoadEvent, TableFilterEvent } from 'primeng/table';
16
16
  import { MultiSelectChangeEvent } from 'primeng/multiselect';
17
17
  import { PrimeNG } from 'primeng/config';
18
18
  import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
@@ -558,6 +558,8 @@ declare class TableComponent<Item = any, Service = undefined, Sorts = any, Filte
558
558
  readonly templates: _angular_core.InputSignal<TableTemplateDirective<"footer" | "header" | "columnCustomLast" | "rowExpandContent" | "columnHeader" | "headerTitleRowRight" | "headerTitle">[]>;
559
559
  readonly contentTemplates: Signal<readonly TableTemplateDirective<"footer" | "header" | "columnCustomLast" | "rowExpandContent" | "columnHeader" | "headerTitleRowRight" | "headerTitle">[]>;
560
560
  readonly primeTable: Signal<Table<Item> | undefined>;
561
+ readonly rowSelectCheckboxes: Signal<readonly TableCheckbox[]>;
562
+ readonly rowSelectRadioButtons: Signal<readonly TableRadioButton[]>;
561
563
  headerTemplate: Signal<TemplateRef<TableTemplateContext> | null>;
562
564
  headerTitleTemplate: Signal<TemplateRef<TableTemplateContext> | null>;
563
565
  titleRowRightTemplate: Signal<TemplateRef<TableTemplateContext> | null>;
@@ -583,6 +585,7 @@ declare class TableComponent<Item = any, Service = undefined, Sorts = any, Filte
583
585
  reload(emitEvent?: TableReloadEvent<Sorts, Filters>): void;
584
586
  onTableLazyLoad(event: TableLazyLoadEvent): void;
585
587
  onTableFilter(event: TableFilterEvent): void;
588
+ protected onRowClick(event: Event, item: Item): void;
586
589
  onCellClick(event: Event, col: ColumnDescriptor<any, Item>, item: Item, idx: number): void;
587
590
  onSelectionChange(event: Array<Item>): void;
588
591
  onRowReorder(event: TableRowReorderEvent): void;
@@ -658,6 +661,8 @@ declare function generateTableLayoutPrefsKey(typeName: string, url: string, trac
658
661
  declare class FilterValuePipe implements PipeTransform, OnDestroy {
659
662
  private readonly locale;
660
663
  private readonly translate;
664
+ private readonly labelLookupService;
665
+ private readonly injector;
661
666
  private readonly enumPipe;
662
667
  private subscription?;
663
668
  subject: ReplaySubject<any>;
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { InputSignal, OutputEmitterRef, Type, InputSignalWithTransform, WritableSignal, Injector, InjectionToken } from '@angular/core';
3
3
  import { ButtonSeverity } from 'primeng/button';
4
4
  import * as _mediusinc_mng_commons_core from '@mediusinc/mng-commons/core';
5
- import { IdType, ActionData, ActionParameters, GetterFn, PrimeMessageSeverityType, ServiceClassType, ILookupDataProvider, ILookupDescriptor, LookupDataProviderLookupFnType, EnumValue, EnumConstantType, ItemOrObservable, ArrayItemType, ITableviewDescriptor, ITableDescriptor, CommonPropsObjType3, IEditorDescriptor, IDataProvider, Nullable, IActionDescriptor, APermissions, ClassType, ServiceClassOptType, Undefined, DataProviderInst, StyleSizeEnum, DataListResult, CommonsErrorBaseOptions, ACommonsErrorBase, ICommonsActionError, ClassFunctionKeysWithParamAndReturnType, ClassFunctionKeyParam1ObjKeyExtendsOfTargetType, CommonsRouteData } from '@mediusinc/mng-commons/core';
5
+ import { IdType, ActionData, ActionParameters, GetterFn, PrimeMessageSeverityType, ServiceClassType, ILookupDataProvider, ILookupDescriptor, LookupDataProviderLookupFnType, LookupDataProviderCacheOpts, EnumValue, EnumConstantType, ItemOrObservable, ArrayItemType, ITableviewDescriptor, ITableDescriptor, CommonPropsObjType3, IEditorDescriptor, IDataProvider, Nullable, IActionDescriptor, APermissions, ClassType, ServiceClassOptType, Undefined, DataProviderInst, StyleSizeEnum, DataListResult, CommonsErrorBaseOptions, ACommonsErrorBase, ICommonsActionError, ClassFunctionKeysWithParamAndReturnType, ClassFunctionKeyParam1ObjKeyExtendsOfTargetType, CommonsRouteData } from '@mediusinc/mng-commons/core';
6
6
  import { IActionButtonDescriptor, InputTrimType, EmptyValueType } from '@mediusinc/mng-commons/form/api';
7
7
  import { EnumDescriptor, TypeDescriptor, ModelDescriptor, ModelDescriptorCreateOpts } from '@mediusinc/mng-commons/model';
8
8
  import { ToastMessageOptions, Confirmation } from 'primeng/api';
@@ -485,10 +485,9 @@ type FieldLookupDescriptorCreateOptsProviderType<FieldModel, Service, Sorts = ke
485
485
  type FieldLookupProviderType<FieldModel, Service> = ServiceClassType<Service> | ILookupDataProvider<FieldModel, Service, any, any>;
486
486
  type FieldLookupOptsType = {
487
487
  inlineSearch?: boolean;
488
- };
489
- type FieldLookupDropdownOptsType = FieldLookupOptsType & {
490
488
  allowInput?: boolean;
491
489
  };
490
+ type FieldLookupDropdownOptsType = FieldLookupOptsType & {};
492
491
  type FieldLookupAutocompleteOptsType = FieldLookupOptsType & {
493
492
  openOnFocus?: boolean;
494
493
  selectFirst?: boolean;
@@ -506,7 +505,7 @@ declare class FieldLookupDescriptor<FieldModel, EditorModel, Service = any, Fiel
506
505
  protected _optionsTrackProperty?: string;
507
506
  protected _dropdownClassName: string;
508
507
  protected _inlineSearch?: boolean;
509
- protected _dropdownAllowInput?: boolean;
508
+ protected _allowInput?: boolean;
510
509
  protected _autocompleteOpenOnFocus?: boolean;
511
510
  protected _autocompleteAutoClear?: boolean;
512
511
  protected _autocompleteSelectFirst?: boolean;
@@ -524,7 +523,11 @@ declare class FieldLookupDescriptor<FieldModel, EditorModel, Service = any, Fiel
524
523
  get optionsTrackProperty(): string | undefined;
525
524
  get dataProvider(): ILookupDataProvider<FieldModel, Service, Sorts, Filters>;
526
525
  get inlineSearch(): boolean | undefined;
526
+ /**
527
+ * @deprecated Use `allowInput` instead.
528
+ */
527
529
  get dropdownAllowInput(): boolean | undefined;
530
+ get allowInput(): boolean | undefined;
528
531
  get autocompleteOpenOnFocus(): boolean | undefined;
529
532
  /**
530
533
  * @deprecated Use `inlineSearch` instead.
@@ -545,6 +548,13 @@ declare class FieldLookupDescriptor<FieldModel, EditorModel, Service = any, Fiel
545
548
  withOptionsTrackProperty(property: keyof FieldModel): this;
546
549
  withOptionsTrackPropertyUnsafe(property: string): this;
547
550
  withLookup(lookup?: LookupDataProviderLookupFnType<FieldModel, Service, Sorts, Filters>): this;
551
+ /**
552
+ * Sets the cache configuration.
553
+ * @param enabled If cache is enabled. Defaults to true.
554
+ * @param opts.ttl Time-to-live in seconds.
555
+ * @param opts.key Key to use for caching. Defaults to data provider instance.
556
+ */
557
+ withCache(enabled?: boolean, opts?: LookupDataProviderCacheOpts): this;
548
558
  withInputTrim(trimOption?: InputTrimType): this;
549
559
  withConfig(config: FieldLookupConfig): this;
550
560
  withDialogTitle(title: string | null): this;
package/version-info.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "7.3.0",
4
- "tag": "v7.3.0",
5
- "distance": 0,
6
- "hash": "fc869fa8",
3
+ "version": "7.4.0-rc.1",
4
+ "tag": "v7.3.0-rc.6",
5
+ "distance": 13,
6
+ "hash": "76317537",
7
7
  "dirty": true,
8
- "semver": "7.3.0+0.gfc869fa8.dirty",
8
+ "semver": "7.3.0-rc.6+13.g76317537.dirty",
9
9
  "buildTimestamp": null,
10
- "raw": "v7.3.0-fc869fa8-dirty"
10
+ "raw": "v7.3.0-rc.6-13-76317537-dirty"
11
11
  }