@mediusinc/mng-commons 4.1.0-rc.0-4e19f910 → 4.1.0-rc.0

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 (109) hide show
  1. package/esm2022/lib/components/action/action.component.mjs +4 -4
  2. package/esm2022/lib/components/action/editor/action-editor.component.mjs +3 -3
  3. package/esm2022/lib/components/action/editor/injector-context/action-editor-injector-context.component.mjs +3 -3
  4. package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +3 -3
  5. package/esm2022/lib/components/action/route/action-route.component.mjs +3 -3
  6. package/esm2022/lib/components/action/table/action-table.component.mjs +3 -3
  7. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +160 -163
  8. package/esm2022/lib/components/form/date-range/date-range.component.mjs +31 -39
  9. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +94 -105
  10. package/esm2022/lib/components/form/editor/form-editor.component.mjs +3 -3
  11. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +3 -3
  12. package/esm2022/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +4 -4
  13. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +3 -3
  14. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
  15. package/esm2022/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  16. package/esm2022/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +3 -3
  17. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +8 -6
  18. package/esm2022/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
  19. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +3 -3
  20. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +3 -3
  21. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +3 -3
  22. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
  23. package/esm2022/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +3 -3
  24. package/esm2022/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +8 -82
  25. package/esm2022/lib/components/layout/breadcrumb.component.mjs +3 -3
  26. package/esm2022/lib/components/layout/footer.component.mjs +3 -3
  27. package/esm2022/lib/components/layout/main-layout.component.mjs +3 -3
  28. package/esm2022/lib/components/layout/menu-item.component.mjs +4 -4
  29. package/esm2022/lib/components/layout/menu.component.mjs +3 -3
  30. package/esm2022/lib/components/layout/services/main-layout.component.service.mjs +3 -3
  31. package/esm2022/lib/components/layout/topbar-user.component.mjs +3 -3
  32. package/esm2022/lib/components/layout/topbar.component.mjs +3 -3
  33. package/esm2022/lib/components/layout/version.component.mjs +3 -3
  34. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +3 -3
  35. package/esm2022/lib/components/layoutV2/footer.component.mjs +3 -3
  36. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +3 -3
  37. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +4 -4
  38. package/esm2022/lib/components/layoutV2/menu.component.mjs +3 -3
  39. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +3 -3
  40. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +3 -3
  41. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +4 -4
  42. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +3 -3
  43. package/esm2022/lib/components/layoutV2/topbar.component.mjs +3 -3
  44. package/esm2022/lib/components/layoutV2/version.component.mjs +3 -3
  45. package/esm2022/lib/components/notification/notification-wrapper.component.mjs +3 -3
  46. package/esm2022/lib/components/pages/error/error.page.component.mjs +3 -3
  47. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +4 -4
  48. package/esm2022/lib/components/table/column-filter-full/column-filter-full.component.mjs +8 -6
  49. package/esm2022/lib/components/table/column-value/column-value.component.mjs +8 -5
  50. package/esm2022/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.mjs +3 -3
  51. package/esm2022/lib/components/table/table.component.mjs +3 -3
  52. package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +3 -3
  53. package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +3 -3
  54. package/esm2022/lib/components/tableview/tableview.component.mjs +4 -8
  55. package/esm2022/lib/descriptors/action/action-link.descriptor.mjs +1 -2
  56. package/esm2022/lib/descriptors/editor/field-base.descriptor.mjs +2 -10
  57. package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +8 -1
  58. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +9 -1
  59. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +8 -1
  60. package/esm2022/lib/descriptors/table/column.descriptor.mjs +9 -3
  61. package/esm2022/lib/descriptors/types/index.mjs +2 -1
  62. package/esm2022/lib/descriptors/types/trim.type.mjs +2 -0
  63. package/esm2022/lib/directives/component.directive.mjs +3 -3
  64. package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +3 -3
  65. package/esm2022/lib/directives/index.mjs +2 -1
  66. package/esm2022/lib/directives/input-trim.directive.mjs +55 -0
  67. package/esm2022/lib/directives/template.directive.mjs +3 -3
  68. package/esm2022/lib/pipes/boolean.pipe.mjs +3 -3
  69. package/esm2022/lib/pipes/class-map.pipe.mjs +3 -3
  70. package/esm2022/lib/pipes/enum.pipe.mjs +3 -3
  71. package/esm2022/lib/pipes/enumerate-async.pipe.mjs +3 -3
  72. package/esm2022/lib/pipes/enumerate.pipe.mjs +3 -3
  73. package/esm2022/lib/pipes/getter.pipe.mjs +3 -3
  74. package/esm2022/lib/pipes/i18n-property.pipe.mjs +3 -3
  75. package/esm2022/lib/pipes/json-path.pipe.mjs +3 -3
  76. package/esm2022/lib/pipes/locale-default-row-class.pipe.mjs +3 -3
  77. package/esm2022/lib/pipes/parametrize.pipe.mjs +3 -3
  78. package/esm2022/lib/pipes/template.pipe.mjs +3 -3
  79. package/esm2022/lib/security/authorization.service.mjs +3 -3
  80. package/esm2022/lib/services/action/component-action-executor.service.mjs +3 -3
  81. package/esm2022/lib/services/action/root-action-executor.service.mjs +3 -3
  82. package/esm2022/lib/services/commons-init.service.mjs +3 -3
  83. package/esm2022/lib/services/commons.service.mjs +3 -3
  84. package/esm2022/lib/services/mng-localstorage-config.service.mjs +3 -3
  85. package/esm2022/lib/services/navigation.service.mjs +3 -3
  86. package/esm2022/lib/services/router.service.mjs +3 -3
  87. package/esm2022/lib/services/version.service.mjs +3 -3
  88. package/esm2022/lib/services/view/view-container.service.mjs +3 -3
  89. package/esm2022/lib/utils/editor-formly.util.mjs +40 -10
  90. package/fesm2022/mediusinc-mng-commons.mjs +7812 -7804
  91. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  92. package/lib/components/form/autocomplete/autocomplete.component.d.ts +24 -22
  93. package/lib/components/form/date-range/date-range.component.d.ts +12 -15
  94. package/lib/components/form/dropdown/dropdown.component.d.ts +28 -34
  95. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -1
  96. package/lib/components/tableview/tableview.component.d.ts +4 -5
  97. package/lib/descriptors/editor/field-base.descriptor.d.ts +1 -5
  98. package/lib/descriptors/editor/field-lookup.descriptor.d.ts +4 -1
  99. package/lib/descriptors/editor/field.descriptor.d.ts +4 -1
  100. package/lib/descriptors/filter/filter.descriptor.d.ts +4 -1
  101. package/lib/descriptors/table/column.descriptor.d.ts +3 -1
  102. package/lib/descriptors/types/index.d.ts +1 -0
  103. package/lib/descriptors/types/trim.type.d.ts +1 -0
  104. package/lib/directives/index.d.ts +1 -0
  105. package/lib/directives/input-trim.directive.d.ts +14 -0
  106. package/lib/utils/editor-formly.util.d.ts +1 -0
  107. package/package.json +7 -7
  108. package/scss/v2/theme/theme-base/mng/_mng_theme_datatable.scss +0 -8
  109. package/scss/v2/theme/theme-base/mng/_mng_theme_dropdown.scss +10 -0
@@ -2,8 +2,9 @@ import { EventEmitter, ExistingProvider, OnDestroy, OnInit } from '@angular/core
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
3
  import { AutoComplete, AutoCompleteSelectEvent } from 'primeng/autocomplete';
4
4
  import { AutoCompleteCompleteEvent } from 'primeng/autocomplete/autocomplete.interface';
5
- import { Observable, ReplaySubject, Subscription } from 'rxjs';
5
+ import { ReplaySubject } from 'rxjs';
6
6
  import { ILookupDataProvider } from '../../../data-providers';
7
+ import { InputTrimType } from '../../../descriptors/types';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare const MNG_AUTOCOMPLETE_VALUE_ACCESSOR: ExistingProvider;
9
10
  export declare class MngAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor {
@@ -11,37 +12,37 @@ export declare class MngAutocompleteComponent implements OnInit, OnDestroy, Cont
11
12
  private readonly translate;
12
13
  private readonly logger;
13
14
  private readonly formlyWrapper;
14
- dataProvider?: ILookupDataProvider<any, any>;
15
- optionsTrackProperty?: string;
16
- optionsValuePropertyInit?: string;
17
- optionsLabelPropertyInit?: string;
18
- optionsLabelTranslate: boolean;
19
- inlineSearch: boolean;
20
- openOnFocus: boolean;
21
- multiselect: boolean;
22
- placeholder?: string;
23
- className?: string;
24
- dropdownClassName?: string;
25
- showClear: boolean;
26
- autoClear: boolean;
27
- selectFirst: boolean;
15
+ private readonly destroyRef;
16
+ dataProvider: import("@angular/core").InputSignal<ILookupDataProvider<any, any>>;
17
+ optionsTrackProperty: import("@angular/core").InputSignal<string | undefined>;
18
+ optionsValuePropertyInit: import("@angular/core").InputSignal<string | undefined>;
19
+ optionsLabelPropertyInit: import("@angular/core").InputSignal<string | undefined>;
20
+ optionsLabelTranslate: import("@angular/core").InputSignal<boolean>;
21
+ inlineSearch: import("@angular/core").InputSignal<boolean>;
22
+ openOnFocus: import("@angular/core").InputSignal<boolean>;
23
+ multiselect: import("@angular/core").InputSignal<boolean>;
24
+ placeholder: import("@angular/core").InputSignal<string | undefined>;
25
+ className: import("@angular/core").InputSignal<string | undefined>;
26
+ dropdownClassName: import("@angular/core").InputSignal<string | undefined>;
27
+ showClear: import("@angular/core").InputSignal<boolean>;
28
+ autoClear: import("@angular/core").InputSignal<boolean>;
29
+ selectFirst: import("@angular/core").InputSignal<boolean>;
30
+ searchTrim: import("@angular/core").InputSignal<InputTrimType | undefined>;
28
31
  valueChangeEventEmitter: EventEmitter<any>;
29
- primeAutocomplete?: AutoComplete;
32
+ primeAutocomplete: import("@angular/core").Signal<AutoComplete | undefined>;
30
33
  private isInited;
31
- private suggestionsSubject;
32
34
  private searchSubscription;
33
35
  private dataProviderService;
34
36
  private onChangeFn;
35
37
  private onTouchedFn;
36
- optionsLabelProperty?: string;
37
- optionsValueProperty?: string;
38
38
  autocompleteFormControl: FormControl;
39
- suggestions$: Observable<Array<any>>;
40
- suggestionSubscription?: Subscription;
39
+ suggestions: import("@angular/core").WritableSignal<any[]>;
41
40
  private isPanelShown;
42
41
  private isFocused;
43
42
  private userSelectedItem?;
44
43
  queryResultCacheSubject?: ReplaySubject<any>;
44
+ optionsLabelProperty: import("@angular/core").Signal<string | undefined>;
45
+ optionsValueProperty: import("@angular/core").Signal<string | undefined>;
45
46
  ngOnInit(): void;
46
47
  ngOnDestroy(): void;
47
48
  onSearch(event: AutoCompleteCompleteEvent, isInit?: boolean): void;
@@ -54,6 +55,7 @@ export declare class MngAutocompleteComponent implements OnInit, OnDestroy, Cont
54
55
  * Selects and sets new value
55
56
  */
56
57
  private setValue;
58
+ private trimValue;
57
59
  onFocus(event: Event): void;
58
60
  /**
59
61
  * calls the selectFirst item anytime the input field goes out of focus and if the suggestions panel is not displayed.
@@ -77,5 +79,5 @@ export declare class MngAutocompleteComponent implements OnInit, OnDestroy, Cont
77
79
  private i18nPopulateItems;
78
80
  private setSuggestionsFromItems;
79
81
  static ɵfac: i0.ɵɵFactoryDeclaration<MngAutocompleteComponent, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<MngAutocompleteComponent, "mng-autocomplete", never, { "dataProvider": { "alias": "dataProvider"; "required": false; }; "optionsTrackProperty": { "alias": "optionsTrackProperty"; "required": false; }; "optionsValuePropertyInit": { "alias": "optionsValueProperty"; "required": false; }; "optionsLabelPropertyInit": { "alias": "optionsLabelProperty"; "required": false; }; "optionsLabelTranslate": { "alias": "optionsLabelTranslate"; "required": false; }; "inlineSearch": { "alias": "inlineSearch"; "required": false; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; }; "multiselect": { "alias": "multiselect"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "className": { "alias": "className"; "required": false; }; "dropdownClassName": { "alias": "dropdownClassName"; "required": false; }; "showClear": { "alias": "showClear"; "required": false; }; "autoClear": { "alias": "autoClear"; "required": false; }; "selectFirst": { "alias": "selectFirst"; "required": false; }; }, { "valueChangeEventEmitter": "valueChange"; }, never, never, true, never>;
82
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngAutocompleteComponent, "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; }; }, { "valueChangeEventEmitter": "valueChange"; }, never, never, true, never>;
81
83
  }
@@ -1,31 +1,28 @@
1
- import { ExistingProvider, OnDestroy, OnInit } from '@angular/core';
2
- import { ControlValueAccessor, FormBuilder, FormControl } from '@angular/forms';
1
+ import { ExistingProvider, OnInit } from '@angular/core';
2
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare const MNG_DATE_RANGE_VALUE_ACCESSOR: ExistingProvider;
5
- export declare class MngDateRangeComponent implements OnInit, OnDestroy, ControlValueAccessor {
6
- private formBuilder;
7
- placeholder?: string;
8
- showTime: boolean;
9
- showSeconds: boolean;
10
- dateFormat?: string;
11
- private _disabled;
5
+ export declare class MngDateRangeComponent implements OnInit, ControlValueAccessor {
6
+ private readonly formBuilder;
7
+ private readonly injector;
8
+ private readonly destroyRef;
9
+ placeholder: import("@angular/core").InputSignal<string | undefined>;
10
+ showTime: import("@angular/core").InputSignal<boolean>;
11
+ showSeconds: import("@angular/core").InputSignal<boolean>;
12
+ dateFormat: import("@angular/core").InputSignal<string | undefined>;
13
+ disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
12
14
  private fromToFormControl;
13
15
  private onChangeFn;
14
16
  onTouchedFn: any;
15
- private subscriptions;
16
- constructor(formBuilder: FormBuilder);
17
17
  get fromCtrl(): FormControl<any>;
18
18
  get toCtrl(): FormControl<any>;
19
19
  get dateRangeCtrl(): FormControl<any>;
20
- set disabled(isDisabled: boolean);
21
20
  ngOnInit(): void;
22
- ngOnDestroy(): void;
23
21
  registerOnChange(fn: any): void;
24
22
  registerOnTouched(fn: any): void;
25
23
  setDisabledState(isDisabled: boolean): void;
26
24
  writeValue(obj: any): void;
27
25
  private onValueChange;
28
26
  static ɵfac: i0.ɵɵFactoryDeclaration<MngDateRangeComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<MngDateRangeComponent, "mng-date-range", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
30
- static ngAcceptInputType_disabled: unknown;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngDateRangeComponent, "mng-date-range", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
28
  }
@@ -1,46 +1,40 @@
1
- import { EventEmitter, ExistingProvider, Injector, OnDestroy, OnInit } from '@angular/core';
1
+ import { EventEmitter, ExistingProvider, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
- import { TranslateService } from '@ngx-translate/core';
4
3
  import { Dropdown } from 'primeng/dropdown';
5
- import { Observable } from 'rxjs';
6
4
  import { ILookupDataProvider } from '../../../data-providers';
7
- import { MngFormlyFieldWrapperComponent } from '../formly/wrappers';
8
5
  import * as i0 from "@angular/core";
9
6
  export declare const MNG_DROPDOWN_VALUE_ACCESSOR: ExistingProvider;
10
- export declare class MngDropdownComponent implements OnInit, OnDestroy, ControlValueAccessor {
11
- private injector;
12
- private translate;
13
- private formlyWrapper;
7
+ export declare class MngDropdownComponent implements OnInit, ControlValueAccessor {
14
8
  private readonly logger;
15
- dataProvider?: ILookupDataProvider<any, any>;
16
- optionsTrackProperty?: string;
17
- optionsLabelPropertyInit?: string;
18
- optionsLabelTranslate: boolean;
19
- optionsValuePropertyInit?: string;
20
- optionsDisabledProperty?: string;
21
- multiselect: boolean;
22
- placeholder?: string;
23
- showClear: boolean;
24
- selectFirstItem: boolean;
25
- className?: string;
26
- dropdownClassName?: string;
27
- changeValueOnBlur: boolean;
28
- private loadingSubject;
29
- $loading: Observable<boolean>;
9
+ private readonly injector;
10
+ private readonly destroyRef;
11
+ private readonly translate;
12
+ private readonly formlyWrapper;
13
+ readonly dropdownFormControl: FormControl;
14
+ dataProvider: import("@angular/core").InputSignal<ILookupDataProvider<any, any> | undefined>;
15
+ optionsTrackProperty: import("@angular/core").InputSignal<string | undefined>;
16
+ optionsLabelPropertyInit: import("@angular/core").InputSignal<string | undefined>;
17
+ optionsLabelTranslate: import("@angular/core").InputSignal<boolean>;
18
+ optionsValuePropertyInit: import("@angular/core").InputSignal<string | undefined>;
19
+ optionsDisabledProperty: import("@angular/core").InputSignal<string | undefined>;
20
+ multiselect: import("@angular/core").InputSignal<boolean>;
21
+ placeholder: import("@angular/core").InputSignal<string | undefined>;
22
+ showClear: import("@angular/core").InputSignal<boolean>;
23
+ selectFirstItem: import("@angular/core").InputSignal<boolean>;
24
+ className: import("@angular/core").InputSignal<string | undefined>;
25
+ dropdownClassName: import("@angular/core").InputSignal<string | undefined>;
26
+ changeValueOnBlur: import("@angular/core").InputSignal<boolean>;
27
+ loading: import("@angular/core").WritableSignal<boolean>;
30
28
  valueChangeEventEmitter: EventEmitter<any>;
31
- primeDropdown?: Dropdown;
32
- optionsLabelProperty?: string;
33
- optionsValueProperty?: string;
34
- private optionsSubject;
29
+ primeDropdown: import("@angular/core").Signal<Dropdown | undefined>;
35
30
  private dataProviderService;
36
31
  private onChangeFn;
37
32
  private onTouchedFn;
38
- dropdownFormControl: FormControl;
39
- items$: Observable<Array<any>>;
40
- private itemsSubscription?;
41
- constructor(injector: Injector, translate: TranslateService, formlyWrapper: MngFormlyFieldWrapperComponent);
33
+ items: import("@angular/core").WritableSignal<any[]>;
34
+ private firstTimeSettingItems;
35
+ optionsLabelProperty: import("@angular/core").Signal<string | undefined>;
36
+ optionsValueProperty: import("@angular/core").Signal<string | undefined>;
42
37
  ngOnInit(): void;
43
- ngOnDestroy(): void;
44
38
  registerOnChange(fn: any): void;
45
39
  registerOnTouched(fn: any): void;
46
40
  setDisabledState(isDisabled: boolean): void;
@@ -55,6 +49,6 @@ export declare class MngDropdownComponent implements OnInit, OnDestroy, ControlV
55
49
  * @private
56
50
  */
57
51
  private isValueAccessorInitialized;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<MngDropdownComponent, [null, null, { optional: true; }]>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<MngDropdownComponent, "mng-dropdown", never, { "dataProvider": { "alias": "dataProvider"; "required": false; }; "optionsTrackProperty": { "alias": "optionsTrackProperty"; "required": false; }; "optionsLabelPropertyInit": { "alias": "optionsLabelProperty"; "required": false; }; "optionsLabelTranslate": { "alias": "optionsLabelTranslate"; "required": false; }; "optionsValuePropertyInit": { "alias": "optionsValueProperty"; "required": false; }; "optionsDisabledProperty": { "alias": "optionsDisabledProperty"; "required": false; }; "multiselect": { "alias": "multiselect"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "showClear": { "alias": "showClear"; "required": false; }; "selectFirstItem": { "alias": "selectFirstItem"; "required": false; }; "className": { "alias": "className"; "required": false; }; "dropdownClassName": { "alias": "dropdownClassName"; "required": false; }; "changeValueOnBlur": { "alias": "changeValueOnBlur"; "required": false; }; }, { "valueChangeEventEmitter": "valueChange"; }, never, never, true, never>;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngDropdownComponent, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngDropdownComponent, "mng-dropdown", never, { "dataProvider": { "alias": "dataProvider"; "required": false; "isSignal": true; }; "optionsTrackProperty": { "alias": "optionsTrackProperty"; "required": false; "isSignal": true; }; "optionsLabelPropertyInit": { "alias": "optionsLabelProperty"; "required": false; "isSignal": true; }; "optionsLabelTranslate": { "alias": "optionsLabelTranslate"; "required": false; "isSignal": true; }; "optionsValuePropertyInit": { "alias": "optionsValueProperty"; "required": false; "isSignal": true; }; "optionsDisabledProperty": { "alias": "optionsDisabledProperty"; "required": false; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "selectFirstItem": { "alias": "selectFirstItem"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "dropdownClassName": { "alias": "dropdownClassName"; "required": false; "isSignal": true; }; "changeValueOnBlur": { "alias": "changeValueOnBlur"; "required": false; "isSignal": true; }; }, { "valueChangeEventEmitter": "valueChange"; }, never, never, true, never>;
60
54
  }
@@ -6,7 +6,6 @@ export declare class MngFormlyFieldWrapperComponent extends FieldWrapper impleme
6
6
  localizationAction: ActionDescriptorInst<any>;
7
7
  ngOnInit(): void;
8
8
  private addMissingTranslationHelperText;
9
- private createLocalizationTableview;
10
9
  static ɵfac: i0.ɵɵFactoryDeclaration<MngFormlyFieldWrapperComponent, never>;
11
10
  static ɵcmp: i0.ɵɵComponentDeclaration<MngFormlyFieldWrapperComponent, "mng-formly-field-wrapper", never, {}, {}, never, never, true, never>;
12
11
  }
@@ -1,13 +1,14 @@
1
- import { AfterContentInit, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
1
+ import { AfterContentInit, OnInit, QueryList, TemplateRef } from '@angular/core';
2
2
  import { MediusQueryParam } from '../../api/models';
3
3
  import { ITableviewDataProvider } from '../../data-providers';
4
4
  import { ActionDescriptorInst } from '../../descriptors/action';
5
5
  import { TableviewDescriptorInst } from '../../descriptors/tableview';
6
6
  import { MngTemplateDirective } from '../../directives';
7
+ import { ViewContainer } from '../../services/view';
7
8
  import { MngTableLoadEvent } from '../table/models/table.event';
8
9
  import * as i0 from "@angular/core";
9
- export declare class MngTableviewComponent<T, S> implements OnInit, OnDestroy, AfterContentInit {
10
- private readonly viewContainer;
10
+ export declare class MngTableviewComponent<T, S> implements OnInit, AfterContentInit {
11
+ readonly viewContainer: ViewContainer<any, any> | null;
11
12
  descriptor: TableviewDescriptorInst<T>;
12
13
  dataProvider?: ITableviewDataProvider<T, S>;
13
14
  actions: Array<ActionDescriptorInst<any>>;
@@ -15,14 +16,12 @@ export declare class MngTableviewComponent<T, S> implements OnInit, OnDestroy, A
15
16
  toolbarLeftActions: ActionDescriptorInst<T>[];
16
17
  toolbarRightActions: ActionDescriptorInst<T>[];
17
18
  tableQueryParam?: MediusQueryParam;
18
- private subscriptions;
19
19
  hasItemSelectionAction: boolean;
20
20
  selectedItems: T[];
21
21
  templates: QueryList<MngTemplateDirective>;
22
22
  footerTemplate?: TemplateRef<any>;
23
23
  ngOnInit(): void;
24
24
  ngAfterContentInit(): void;
25
- ngOnDestroy(): void;
26
25
  onTableLoad(event: MngTableLoadEvent): void;
27
26
  selectionChange(selectedItems: Array<T>): void;
28
27
  static ɵfac: i0.ɵɵFactoryDeclaration<MngTableviewComponent<any, any>, never>;
@@ -5,7 +5,6 @@ import { MngFormlyFieldConfig, MngFormlyHookFn } from '../../components/form/for
5
5
  import { MngFormFieldEvent, MngFormFieldEventData, MngFormFieldEventTypeEnum } from '../../components/form/models';
6
6
  import { GetterFn, MngFieldAsyncValidator, MngFieldValidationMessage, MngFieldValidator } from '../../types';
7
7
  import { FieldConfig } from '../interfaces';
8
- import { ITableviewDescriptorInternal } from '../tableview/internal/tableview.model';
9
8
  import { FieldSizeEnum } from '../types';
10
9
  import { FieldValidationDescriptor } from './field-validation.descriptor';
11
10
  import { IEditorDescriptorInternal } from './internal/editor.model';
@@ -51,7 +50,6 @@ export declare abstract class AFieldDescriptor<FieldModel, EditorModel, FieldVal
51
50
  /** @ignore */ protected _inputClassName: string;
52
51
  /** @ignore */ protected _size: FieldSizeEnum;
53
52
  /** @ignore */ protected _isLocalized: boolean;
54
- /** @ignore */ protected _localizationTableview?: ITableviewDescriptorInternal<any>;
55
53
  /** @ignore */ protected readonly _eventsSubject: Subject<MngFormFieldEvent<FieldModel, EditorModel>>;
56
54
  protected constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string);
57
55
  get property(): string;
@@ -87,7 +85,6 @@ export declare abstract class AFieldDescriptor<FieldModel, EditorModel, FieldVal
87
85
  get labelClassName(): string;
88
86
  get inputClassName(): string;
89
87
  get size(): FieldSizeEnum;
90
- get localizationTableview(): ITableviewDescriptorInternal<any> | undefined;
91
88
  get isSizeSmall(): boolean;
92
89
  get isSizeLarge(): boolean;
93
90
  get isLocalized(): boolean;
@@ -117,9 +114,8 @@ export declare abstract class AFieldDescriptor<FieldModel, EditorModel, FieldVal
117
114
  /**
118
115
  * This method adds an icon with text Show all translations above the field and after clicking on it, it displays a new dialog with tableview.
119
116
  * This new table view shows all available translations for specific property and allows editing it.
120
- * @param tableview with lookup provider for locales
121
117
  */
122
- localized<LocalizationModel = any>(tableview?: ITableviewDescriptorInternal<LocalizationModel>): this;
118
+ localized(): this;
123
119
  nextEvent(type: MngFormFieldEventTypeEnum, cmpType: Type<any>, cmpInstance: any, data?: MngFormFieldEventData<FieldModel, EditorModel>): void;
124
120
  get events$(): Observable<MngFormFieldEvent<FieldModel, EditorModel>>;
125
121
  protected copyFieldsTo(obj: AFieldDescriptor<FieldModel, EditorModel, FieldValue>): void;
@@ -3,7 +3,7 @@ import { EnumValue } from '../../models';
3
3
  import { ClassType, EnumConstantType, EnumType, ServiceClassType } from '../../types';
4
4
  import { FieldLookupConfig, ILookupDescriptor } from '../interfaces';
5
5
  import { TableDescriptorInst } from '../table';
6
- import { FieldLookupTypeEnum } from '../types';
6
+ import { FieldLookupTypeEnum, InputTrimType } from '../types';
7
7
  import { AFieldDescriptor } from './field-base.descriptor';
8
8
  import { IEditorDescriptorInternal } from './internal/editor.model';
9
9
  export type FieldLookupDescriptorConstructorOptsType<EditorModel, Service> = FieldLookupDescriptorCreateOptsProviderType<EditorModel, Service> & {
@@ -35,6 +35,7 @@ export declare class FieldLookupDescriptor<FieldModel, EditorModel, Service = an
35
35
  protected _autocompleteInlineSearch?: boolean;
36
36
  protected _autocompleteAutoClear?: boolean;
37
37
  protected _autocompleteSelectFirst?: boolean;
38
+ protected _autocompleteInputTrim?: InputTrimType;
38
39
  protected _dialogTableDescriptor?: TableDescriptorInst<FieldModel>;
39
40
  protected _dialogTableDataProvider?: ITableDataProvider<FieldModel, any>;
40
41
  protected _customComponentName?: string;
@@ -54,6 +55,7 @@ export declare class FieldLookupDescriptor<FieldModel, EditorModel, Service = an
54
55
  get dialogTableDescriptor(): TableDescriptorInst<FieldModel> | undefined;
55
56
  get dialogTableDataProvider(): ITableDataProvider<FieldModel, any> | undefined;
56
57
  get customComponentName(): string | undefined;
58
+ get trimOption(): InputTrimType | undefined;
57
59
  withOptionsLabelProperty(property: keyof FieldModel, translate?: boolean): this;
58
60
  withOptionsLabelPropertyUnsafe(property: string, translate?: boolean): this;
59
61
  withOptionsDisabledProperty(property: keyof FieldModel): this;
@@ -61,6 +63,7 @@ export declare class FieldLookupDescriptor<FieldModel, EditorModel, Service = an
61
63
  withOptionsTrackProperty(property: keyof FieldModel): this;
62
64
  withOptionsTrackPropertyUnsafe(property: string): this;
63
65
  withLookup(lookup?: LookupDataProviderLookupFnType<FieldModel, Service>): this;
66
+ withInputTrim(trimOption?: InputTrimType): this;
64
67
  withConfig(config: FieldLookupConfig): this;
65
68
  asAutocomplete(opts?: FieldLookupAutocompleteOptsType): this;
66
69
  asDialog(lookupTableDescriptor: TableDescriptorInst<FieldModel>, tableDataProvider?: ITableDataProvider<FieldModel, any>): this;
@@ -3,7 +3,7 @@ import { AbstractControl } from '@angular/forms';
3
3
  import { AMngFormlyCustomFieldComponent } from '../../components/form/formly/fields/';
4
4
  import { RadioValue } from '../../models';
5
5
  import { EnumConstantType, EnumType } from '../../types';
6
- import { FieldInputTypeEnum } from '../types';
6
+ import { FieldInputTypeEnum, InputTrimType } from '../types';
7
7
  import { AFieldDescriptor } from './field-base.descriptor';
8
8
  import { IEditorDescriptorInternal } from './internal/editor.model';
9
9
  export type FieldInputDescriptorType = string | string[] | number | boolean | Date | File | File[];
@@ -86,6 +86,7 @@ export declare class FieldInputDescriptor<EditorModel, FieldModel = FieldInputDe
86
86
  private _maxLength?;
87
87
  private _minLength?;
88
88
  private _pattern?;
89
+ private _inputTrim?;
89
90
  private _mask?;
90
91
  private _slotChar?;
91
92
  private _fileMultiple?;
@@ -122,6 +123,7 @@ export declare class FieldInputDescriptor<EditorModel, FieldModel = FieldInputDe
122
123
  get maxLength(): number | undefined;
123
124
  get minLength(): number | undefined;
124
125
  get pattern(): string | RegExp | undefined;
126
+ get trimOption(): InputTrimType | undefined;
125
127
  get mask(): string | undefined;
126
128
  get slotChar(): string | undefined;
127
129
  get fileMultiple(): boolean | undefined;
@@ -158,6 +160,7 @@ export declare class FieldInputDescriptor<EditorModel, FieldModel = FieldInputDe
158
160
  withNumberFractions(opts?: FieldInputNumberFractionOptsType): this;
159
161
  withNumberGrouping(useGrouping?: boolean): this;
160
162
  withTextValidation(opts?: FieldInputTextValidationOptsType): this;
163
+ withInputTrim(trimOption?: InputTrimType): this;
161
164
  withTextValidationEmail(email?: boolean): this;
162
165
  withFileOnSelectHandler(fn?: FieldInputFileOnSelectHandlerFnType): this;
163
166
  copy(): FieldInputDescriptor<EditorModel, FieldModel, FieldValue>;
@@ -1,4 +1,4 @@
1
- import { FilterMatchModeEnum, FilterTypeEnum } from '../types';
1
+ import { FilterMatchModeEnum, FilterTypeEnum, InputTrimType } from '../types';
2
2
  export declare class FilterDescriptor<FilterModel> {
3
3
  protected readonly _property: string;
4
4
  protected _filterType: FilterTypeEnum;
@@ -21,6 +21,7 @@ export declare class FilterDescriptor<FilterModel> {
21
21
  protected _columnClassName: string;
22
22
  protected _columnWidth: number | null;
23
23
  protected _columnMinWidth: number | null;
24
+ protected _inputTrim?: InputTrimType;
24
25
  constructor(property: string);
25
26
  get filterType(): FilterTypeEnum;
26
27
  get hasDefaultValue(): boolean;
@@ -42,6 +43,7 @@ export declare class FilterDescriptor<FilterModel> {
42
43
  get columnClassName(): string;
43
44
  get columnWidth(): number | null;
44
45
  get columnMinWidth(): number | null;
46
+ get trimOption(): InputTrimType | undefined;
45
47
  get property(): string;
46
48
  asFilterType(filterType: FilterTypeEnum): this;
47
49
  /**
@@ -58,6 +60,7 @@ export declare class FilterDescriptor<FilterModel> {
58
60
  withClassName(className: string): this;
59
61
  withColumnClassName(className: string): this;
60
62
  withColumnWidth(width?: number, minWidth?: number): this;
63
+ withInputTrimming(trimOption?: InputTrimType): this;
61
64
  withMatchModes(matchModes: Array<FilterMatchModeEnum>): this;
62
65
  copy(): FilterDescriptor<FilterModel>;
63
66
  protected copyFieldsTo(descriptor: FilterDescriptor<FilterModel>): void;
@@ -57,6 +57,7 @@ export declare class ColumnDescriptor<ColumnModel, TableModel, ColumnValue = Col
57
57
  private _currencyDisplay?;
58
58
  private _customComponentType?;
59
59
  private _hasCopyToClipboard;
60
+ private _clipboardValueGetter?;
60
61
  private _isLocalized;
61
62
  private _localizationExistsProperty?;
62
63
  constructor(table: ITableDescriptorInternal<TableModel>, property: Property);
@@ -87,6 +88,7 @@ export declare class ColumnDescriptor<ColumnModel, TableModel, ColumnValue = Col
87
88
  get currencyDisplay(): "symbol" | "name" | "code" | undefined;
88
89
  get currencyProperty(): string | undefined;
89
90
  get hasCopyToClipboard(): boolean;
91
+ get clipboardValueGetter(): GetterFn<ColumnValue, TableModel> | undefined;
90
92
  get template(): string | undefined;
91
93
  get getter(): GetterFn<ColumnValue, TableModel> | undefined;
92
94
  get isMultiline(): boolean;
@@ -120,7 +122,7 @@ export declare class ColumnDescriptor<ColumnModel, TableModel, ColumnValue = Col
120
122
  withFilterLookupEnum(options?: Array<EnumConstantType>): FilterLookupEnumDescriptor;
121
123
  withSort(isEnabled?: boolean, sortProperty?: string): this;
122
124
  withDefaultSort(asc?: boolean): this;
123
- withCopyToClipboard(hasCopyToCliboard?: boolean): this;
125
+ withCopyToClipboard(hasCopyToClipboard?: boolean, clipboardValueGetter?: GetterFn<ColumnValue, TableModel>): this;
124
126
  withTemplate(template: string): this;
125
127
  withGetter(getter?: GetterFn<ColumnValue, TableModel>): this;
126
128
  withMultiline(isMultiline?: boolean): this;
@@ -4,3 +4,4 @@ export * from './editor.type';
4
4
  export * from './field.type';
5
5
  export * from './filter.type';
6
6
  export * from './table.type';
7
+ export * from './trim.type';
@@ -0,0 +1 @@
1
+ export type InputTrimType = 'both' | 'start' | 'end' | 'none';
@@ -1,3 +1,4 @@
1
1
  export * from './component.directive';
2
2
  export * from './dialog-keydown-handler.directive';
3
+ export * from './input-trim.directive';
3
4
  export * from './template.directive';
@@ -0,0 +1,14 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { InputTrimType } from '../descriptors/types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MngInputTrimDirective {
6
+ private el;
7
+ private ngControl;
8
+ mngInputTrim?: InputTrimType;
9
+ constructor(el: ElementRef, ngControl: NgControl);
10
+ onBlur(): void;
11
+ private getTrimmedValue;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngInputTrimDirective, [null, { optional: true; }]>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MngInputTrimDirective, "[mngInputTrim]", never, { "mngInputTrim": { "alias": "mngInputTrim"; "required": false; }; }, {}, never, never, true, never>;
14
+ }
@@ -3,6 +3,7 @@ import { IFormEditorComponent } from '../components/form/models';
3
3
  import { AFieldDescriptor, EditorDescriptorInst, FieldGroupDescriptor, FieldTabGroupDescriptor, FieldValidationDescriptor } from '../descriptors/editor';
4
4
  export declare class EditorFormlyUtil {
5
5
  static createFormlyConfigFromDescriptor(descriptor: EditorDescriptorInst<any>, formEditorComponent: IFormEditorComponent<unknown>): FormlyFieldConfig[];
6
+ static createLocalizationsTab(descriptor: EditorDescriptorInst<any>): EditorDescriptorInst<any>;
6
7
  static createFormlyTabType(tabGroups: FieldTabGroupDescriptor<any>[], formEditorComponent: IFormEditorComponent<unknown>): FormlyFieldConfig[];
7
8
  static createFormlyGroupType(groups: FieldGroupDescriptor<any>[], formEditorComponent: IFormEditorComponent<unknown>): FormlyFieldConfig[];
8
9
  static createFormlyFields(descriptor: FieldGroupDescriptor<any>, formEditorComponent: IFormEditorComponent<unknown>): FormlyFieldConfig[];
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "4.1.0-rc.0-4e19f910",
3
+ "version": "4.1.0-rc.0",
4
4
  "peerDependencies": {
5
- "@angular/animations": "^17.0.0",
6
- "@angular/common": "^17.0.0",
7
- "@angular/core": "^17.0.0",
8
- "@angular/forms": "^17.0.0",
9
- "@angular/platform-browser": "^17.0.0",
10
- "@angular/router": "^17.0.0",
5
+ "@angular/animations": "^17.2.0",
6
+ "@angular/common": "^17.2.0",
7
+ "@angular/core": "^17.2.0",
8
+ "@angular/forms": "^17.2.0",
9
+ "@angular/platform-browser": "^17.2.0",
10
+ "@angular/router": "^17.2.0",
11
11
  "@ngx-formly/core": "^6.3.0",
12
12
  "@ngx-translate/core": "^15.0.0",
13
13
  "primeng": "~17.4.0"
@@ -134,14 +134,6 @@
134
134
  }
135
135
 
136
136
  .p-checkbox {
137
- .p-checkbox-box {
138
- background-color: $primaryTextColor;
139
-
140
- .p-checkbox-icon {
141
- color: $primaryColor;
142
- }
143
- }
144
-
145
137
  &:not(.p-checkbox-disabled) {
146
138
  .p-checkbox-box {
147
139
  &.p-highlight:hover {
@@ -20,3 +20,13 @@
20
20
  width: 65px;
21
21
  }
22
22
  }
23
+
24
+ .p-dropdown-panel {
25
+ .p-dropdown-item {
26
+ &.p-highlight {
27
+ &.p-focus {
28
+ background: $primaryColor;
29
+ }
30
+ }
31
+ }
32
+ }