@sumaris-net/ngx-components 2.18.0-alpha5 → 2.18.0-alpha6

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 (50) hide show
  1. package/esm2022/public_api.mjs +2 -1
  2. package/esm2022/src/app/admin/users/users.mjs +2 -2
  3. package/esm2022/src/app/core/account/account.page.mjs +1 -1
  4. package/esm2022/src/app/core/form/array/form-array.mjs +1 -1
  5. package/esm2022/src/app/core/form/form.class.mjs +7 -14
  6. package/esm2022/src/app/core/form/properties/properties.form.mjs +132 -47
  7. package/esm2022/src/app/core/form/properties/property.validator.mjs +21 -7
  8. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +3 -3
  9. package/esm2022/src/app/core/register/register.form.mjs +1 -1
  10. package/esm2022/src/app/core/services/model/entity.model.mjs +4 -2
  11. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +19 -8
  12. package/esm2022/src/app/core/settings/settings.module.mjs +5 -4
  13. package/esm2022/src/app/core/settings/settings.page.mjs +43 -45
  14. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +4 -4
  15. package/esm2022/src/app/core/table/column/row-field.component.mjs +1 -1
  16. package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
  17. package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
  18. package/esm2022/src/app/shared/form/field.component.mjs +7 -4
  19. package/esm2022/src/app/shared/functions.mjs +16 -1
  20. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +9 -10
  21. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +1 -1
  22. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +36 -19
  23. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +1 -1
  24. package/esm2022/src/app/shared/material/chips/material.chips.mjs +3 -3
  25. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +33 -20
  26. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +15 -10
  27. package/esm2022/src/app/shared/pipes/html.pipes.mjs +52 -0
  28. package/esm2022/src/app/shared/pipes/pipes.module.mjs +10 -3
  29. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +8 -9
  30. package/fesm2022/sumaris-net.ngx-components.mjs +638 -436
  31. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  32. package/package.json +1 -1
  33. package/public_api.d.ts +1 -0
  34. package/src/app/core/form/array/form-array.d.ts +1 -1
  35. package/src/app/core/form/form.class.d.ts +2 -5
  36. package/src/app/core/form/properties/properties.form.d.ts +32 -10
  37. package/src/app/core/form/properties/property.validator.d.ts +9 -3
  38. package/src/app/core/services/validator/local-settings.validator.d.ts +6 -2
  39. package/src/app/core/settings/settings.module.d.ts +2 -1
  40. package/src/app/core/settings/settings.page.d.ts +22 -12
  41. package/src/app/shared/form/field.component.d.ts +3 -2
  42. package/src/app/shared/functions.d.ts +2 -0
  43. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +4 -0
  44. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +12 -4
  45. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +9 -6
  46. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +4 -1
  47. package/src/app/shared/pipes/html.pipes.d.ts +15 -0
  48. package/src/app/shared/pipes/pipes.module.d.ts +5 -4
  49. package/src/assets/i18n/fr.json +3 -2
  50. package/src/assets/manifest.json +1 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "2.18.0-alpha5",
4
+ "version": "2.18.0-alpha6",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
package/public_api.d.ts CHANGED
@@ -86,6 +86,7 @@ export * from './src/app/shared/pipes/types.pipes';
86
86
  export * from './src/app/shared/pipes/maskito.pipe';
87
87
  export * from './src/app/shared/pipes/selection.pipes';
88
88
  export * from './src/app/shared/pipes/badge.pipes';
89
+ export * from './src/app/shared/pipes/html.pipes';
89
90
  export * from './src/app/shared/services';
90
91
  export * from './src/app/shared/audio/audio';
91
92
  export * from './src/app/shared/file/file.service';
@@ -78,7 +78,7 @@ export declare interface AppFormArrayOptions extends AbstractControlOptions {
78
78
  allowManyNullValues?: boolean;
79
79
  allowDuplicateValue?: boolean;
80
80
  }
81
- export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl> extends UntypedFormArray {
81
+ export declare class AppFormArray<T = Entity<any>, C extends AbstractControl = AbstractControl> extends UntypedFormArray {
82
82
  createControl: (value?: T) => C;
83
83
  private equals;
84
84
  private isEmpty;
@@ -39,11 +39,6 @@ export declare class AppForm<T> implements IAppForm<T>, OnInit, OnDestroy, IForm
39
39
  get untouched(): boolean;
40
40
  get enabled(): boolean;
41
41
  get disabled(): boolean;
42
- /**
43
- * @deprecated
44
- */
45
- protected get _enable(): boolean;
46
- protected set _enable(value: boolean);
47
42
  disable(opts?: {
48
43
  onlySelf?: boolean;
49
44
  emitEvent?: boolean;
@@ -144,4 +139,6 @@ export declare class AppForm<T> implements IAppForm<T>, OnInit, OnDestroy, IForm
144
139
  private setLoading;
145
140
  static ɵfac: i0.ɵɵFactoryDeclaration<AppForm<any>, never>;
146
141
  static ɵdir: i0.ɵɵDirectiveDeclaration<AppForm<any>, never, never, { "debug": { "alias": "debug"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "errorTranslateOptions": { "alias": "errorTranslateOptions"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, { "onCancel": "onCancel"; "onSubmit": "onSubmit"; }, never, never, false, never>;
142
+ static ngAcceptInputType_debug: unknown;
143
+ static ngAcceptInputType_tabindex: unknown;
147
144
  }
@@ -3,42 +3,64 @@ import { FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGr
3
3
  import { FormFieldDefinition, FormFieldDefinitionMap } from '../../../shared/form/field.model';
4
4
  import { DateAdapter, ThemePalette } from '@angular/material/core';
5
5
  import { Moment } from 'moment';
6
- import { LocalSettingsService } from '../../services/local-settings.service';
7
6
  import { AppForm } from '../form.class';
8
7
  import { Property } from '../../../shared/types';
9
8
  import { PropertyValidator } from './property.validator';
10
9
  import { PredefinedColors } from '@ionic/core';
11
10
  import { FormArrayHelper, FormArrayHelperOptions } from '../array/form-array';
11
+ import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
12
+ import { MatAutocompleteFieldConfig } from '../../../shared/material/autocomplete/material.autocomplete.config';
13
+ import { LoadResult } from '../../../shared/services/entity-service.class';
12
14
  import * as i0 from "@angular/core";
13
15
  export declare class AppPropertiesForm<T = Property> extends AppForm<T[]> implements OnInit {
14
16
  protected formBuilder: UntypedFormBuilder;
15
17
  protected dateAdapter: DateAdapter<Moment>;
16
- protected settings: LocalSettingsService;
17
18
  protected cd: ChangeDetectorRef;
18
19
  protected validator: PropertyValidator;
19
20
  private formGroupDir;
20
- definitionsMapByKey: FormFieldDefinitionMap;
21
- definitionsByIndex: {
21
+ protected _definitions: FormFieldDefinition[];
22
+ protected _options: Property[];
23
+ protected _definitionsMapByKey: FormFieldDefinitionMap;
24
+ protected _definitionsByIndex: {
22
25
  [index: number]: FormFieldDefinition;
23
26
  };
24
- helper: FormArrayHelper<Property>;
27
+ protected _helper: FormArrayHelper<Property>;
28
+ protected _autocompleteConfig: MatAutocompleteFieldConfig;
25
29
  formArrayName: string;
26
30
  formArray: UntypedFormArray;
27
31
  options: FormArrayHelperOptions;
28
- definitions: FormFieldDefinition[];
29
32
  chipColor: ThemePalette | PredefinedColors;
33
+ mobile: boolean;
34
+ appearance: MatFormFieldAppearance;
35
+ subscriptSizing: SubscriptSizing;
36
+ showHintKey: boolean;
37
+ showHintKeyPrefix: string;
38
+ showMoreButton: boolean;
39
+ showMoreButtonTitle: string;
40
+ showAddButton: boolean;
41
+ set definitions(value: FormFieldDefinition[]);
42
+ get definitions(): FormFieldDefinition[];
30
43
  set value(data: T[]);
31
44
  get value(): T[];
32
45
  get length(): number;
33
46
  get fieldForms(): UntypedFormGroup[];
34
- constructor(injector: Injector, formBuilder: UntypedFormBuilder, dateAdapter: DateAdapter<Moment>, settings: LocalSettingsService, cd: ChangeDetectorRef, validator: PropertyValidator, formGroupDir: FormGroupDirective);
47
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, dateAdapter: DateAdapter<Moment>, cd: ChangeDetectorRef, validator: PropertyValidator, formGroupDir: FormGroupDirective);
35
48
  ngOnInit(): void;
49
+ protected updateDefinitionsMaps(): void;
36
50
  getDefinitionAt(index: number): FormFieldDefinition;
37
- updateDefinitionAt(index: number): FormFieldDefinition;
51
+ updateDefinitionAt(index: number, opts?: {
52
+ emitEvent?: boolean;
53
+ }): FormFieldDefinition;
38
54
  removeAt(index: number): void;
39
55
  isUnknownField(fieldForm: UntypedFormGroup): boolean;
40
56
  setValue(data: T[] | any): void;
57
+ protected suggestDefinition(value: any, filter?: any): Promise<LoadResult<Property>>;
41
58
  protected markForCheck(): void;
42
- static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesForm<any>, [null, null, null, null, null, null, { optional: true; }]>;
43
- static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesForm<any>, "app-properties-form", never, { "formArrayName": { "alias": "formArrayName"; "required": false; }; "formArray": { "alias": "formArray"; "required": false; }; "options": { "alias": "options"; "required": false; }; "definitions": { "alias": "definitions"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; }, {}, never, never, false, never>;
59
+ protected isEmptyProperty(obj: Property): boolean;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesForm<any>, [null, null, null, null, null, { optional: true; }]>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesForm<any>, "app-properties-form", never, { "formArrayName": { "alias": "formArrayName"; "required": false; }; "formArray": { "alias": "formArray"; "required": false; }; "options": { "alias": "options"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "showHintKey": { "alias": "showHintKey"; "required": false; }; "showHintKeyPrefix": { "alias": "showHintKeyPrefix"; "required": false; }; "showMoreButton": { "alias": "showMoreButton"; "required": false; }; "showMoreButtonTitle": { "alias": "showMoreButtonTitle"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "definitions": { "alias": "definitions"; "required": false; }; }, {}, never, never, false, never>;
62
+ static ngAcceptInputType_mobile: unknown;
63
+ static ngAcceptInputType_showHintKey: unknown;
64
+ static ngAcceptInputType_showMoreButton: unknown;
65
+ static ngAcceptInputType_showAddButton: unknown;
44
66
  }
@@ -1,13 +1,19 @@
1
- import { UntypedFormBuilder } from '@angular/forms';
1
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
2
2
  import { Property } from '../../../shared/types';
3
3
  import { AppValidatorService } from '../../services/validator/base.validator.class';
4
4
  import * as i0 from "@angular/core";
5
+ export interface PropertyValidatorOptions {
6
+ valueMaxLength?: number;
7
+ }
5
8
  export declare class PropertyValidator extends AppValidatorService<Property> {
6
9
  protected formBuilder: UntypedFormBuilder;
7
10
  constructor(formBuilder: UntypedFormBuilder);
8
- getFormGroupConfig(data?: Property): {
11
+ getFormGroup(data?: Property, opts?: PropertyValidatorOptions): UntypedFormGroup;
12
+ getFormGroupConfig(data?: Property, opts?: PropertyValidatorOptions): {
9
13
  [p: string]: any;
10
14
  };
15
+ equals(v1: Property, v2: Property): boolean;
16
+ isEmpty(obj: Property): boolean;
11
17
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertyValidator, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<PropertyValidator, never, never, {}, {}, never, never, false, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<PropertyValidator>;
13
19
  }
@@ -2,12 +2,16 @@ import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, ValidationErrors
2
2
  import { LocalSettings } from '../model/settings.model';
3
3
  import { NetworkService } from '../network.service';
4
4
  import { AppValidatorService } from './base.validator.class';
5
+ import { AppFormArray } from '../../form/array/form-array';
6
+ import { Property } from '../../../shared/types';
7
+ import { PropertyValidator } from '../../form/properties/property.validator';
5
8
  import * as i0 from "@angular/core";
6
9
  export declare class LocalSettingsValidatorService extends AppValidatorService<LocalSettings> {
10
+ private propertyValidator;
7
11
  private networkService;
8
- constructor(formBuilder: UntypedFormBuilder, networkService: NetworkService);
12
+ constructor(formBuilder: UntypedFormBuilder, propertyValidator: PropertyValidator, networkService: NetworkService);
9
13
  getFormGroup(data?: LocalSettings): UntypedFormGroup;
10
- getPropertiesArray(array?: any): import("@angular/forms").UntypedFormArray;
14
+ getPropertiesArray(data?: any): AppFormArray<Property, UntypedFormGroup>;
11
15
  getPropertyFormGroup(data?: {
12
16
  key: string;
13
17
  value?: string;
@@ -3,8 +3,9 @@ import * as i1 from "./settings.page";
3
3
  import * as i2 from "../../shared/shared.module";
4
4
  import * as i3 from "../form/buttons/form-buttons-bar.module";
5
5
  import * as i4 from "@ngx-translate/core";
6
+ import * as i5 from "../form/properties/properties.module";
6
7
  export declare class AppSettingsPageModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AppSettingsPageModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<AppSettingsPageModule, [typeof i1.SettingsPage], [typeof i2.SharedModule, typeof i3.AppFormButtonsBarModule, typeof i4.TranslateModule], [typeof i4.TranslateModule, typeof i1.SettingsPage]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppSettingsPageModule, [typeof i1.SettingsPage], [typeof i2.SharedModule, typeof i3.AppFormButtonsBarModule, typeof i4.TranslateModule, typeof i5.AppPropertiesFormModule], [typeof i4.TranslateModule, typeof i1.SettingsPage]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<AppSettingsPageModule>;
10
11
  }
@@ -9,12 +9,11 @@ import { LocalSettingsValidatorService } from '../services/validator/local-setti
9
9
  import { PlatformService } from '../services/platform.service';
10
10
  import { NetworkService } from '../services/network.service';
11
11
  import { LocalSettingsService } from '../services/local-settings.service';
12
- import { FormFieldDefinition, FormFieldDefinitionMap } from '../../shared/form/field.model';
12
+ import { FormFieldDefinition } from '../../shared/form/field.model';
13
13
  import { AlertController, NavController } from '@ionic/angular';
14
- import { Property } from '../../shared/types';
15
14
  import { ISelectPeerModalOptions } from '../peer/select-peer.modal';
16
15
  import { IMenuItem } from '../menu/menu.model';
17
- import { FormArrayHelper } from '../form/array/form-array';
16
+ import { AppPropertiesForm } from '../form/properties/properties.form';
18
17
  import * as i0 from "@angular/core";
19
18
  export declare const APP_SETTINGS_MENU_ITEMS: InjectionToken<IMenuItem[]>;
20
19
  export declare class SettingsPage extends AppForm<LocalSettings> implements OnInit, OnDestroy, CanLeave {
@@ -35,22 +34,15 @@ export declare class SettingsPage extends AppForm<LocalSettings> implements OnIn
35
34
  usageModes: UsageMode[];
36
35
  menuItems: IMenuItem[];
37
36
  propertyDefinitions: FormFieldDefinition[];
38
- propertyDefinitionsByKey: FormFieldDefinitionMap;
39
- propertyDefinitionsByIndex: {
40
- [index: number]: FormFieldDefinition;
41
- };
42
- propertiesFormHelper: FormArrayHelper<Property>;
43
37
  latLongFormats: string[];
44
38
  get accountInheritance(): boolean;
45
39
  get isLogin(): boolean;
46
- get propertiesForm(): UntypedFormArray;
40
+ get propertiesFormArray(): UntypedFormArray;
47
41
  get darkMode(): boolean;
48
42
  set darkMode(value: boolean);
43
+ propertiesForm: AppPropertiesForm;
49
44
  constructor(injector: Injector, platform: PlatformService, navController: NavController, validatorService: LocalSettingsValidatorService, alertCtrl: AlertController, translate: TranslateService, formBuilder: UntypedFormBuilder, accountService: AccountService, settings: LocalSettingsService, cd: ChangeDetectorRef, network: NetworkService, locales: LocaleConfig[], menuItems?: IMenuItem[]);
50
45
  ngOnInit(): Promise<void>;
51
- getPropertyDefinition(index: number): FormFieldDefinition;
52
- updatePropertyDefinition(index: number): FormFieldDefinition;
53
- removePropertyAt(index: number): void;
54
46
  load(): Promise<void>;
55
47
  updateView(data: LocalSettings): void;
56
48
  save(event?: Event, options?: any): Promise<boolean>;
@@ -63,6 +55,24 @@ export declare class SettingsPage extends AppForm<LocalSettings> implements OnIn
63
55
  clearCache(event?: Event): Promise<void>;
64
56
  executeAction(event: Event, item: IMenuItem): Promise<void>;
65
57
  getValue(): Promise<LocalSettings>;
58
+ markAsLoading(): void;
59
+ markAsLoaded(opts?: {
60
+ emitEvent?: boolean;
61
+ }): void;
62
+ get loading(): boolean;
63
+ get loaded(): boolean;
64
+ enable(opts?: {
65
+ onlySelf?: boolean;
66
+ emitEvent?: boolean;
67
+ }): void;
68
+ disable(opts?: {
69
+ onlySelf?: boolean;
70
+ emitEvent?: boolean;
71
+ }): void;
72
+ markAsPristine(opts?: {
73
+ onlySelf?: boolean;
74
+ emitEvent?: boolean;
75
+ }): void;
66
76
  protected toggleDarkMode(enable?: boolean): Promise<void>;
67
77
  protected markForCheck(): void;
68
78
  static ɵfac: i0.ɵɵFactoryDeclaration<SettingsPage, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
@@ -7,7 +7,7 @@ import { Property } from '../types';
7
7
  import { ThemePalette } from '@angular/material/core';
8
8
  import { PredefinedColors } from '@ionic/core';
9
9
  import { MatAutocompleteField } from '../material/autocomplete/material.autocomplete';
10
- import { MatFormFieldAppearance } from '@angular/material/form-field';
10
+ import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
11
11
  import * as i0 from "@angular/core";
12
12
  export declare class AppFormField implements OnInit, ControlValueAccessor {
13
13
  protected translate: TranslateService;
@@ -31,6 +31,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
31
31
  compact: boolean;
32
32
  floatLabel: AppFloatLabelType;
33
33
  appearance: MatFormFieldAppearance;
34
+ subscriptSizing: SubscriptSizing;
34
35
  tabindex: number;
35
36
  autofocus: boolean;
36
37
  clearable: boolean;
@@ -69,5 +70,5 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
69
70
  }): void;
70
71
  protected updateTabIndex(timeout?: number): void;
71
72
  static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
73
74
  }
@@ -148,3 +148,5 @@ export declare class Beans {
148
148
  static collectByProperty: typeof collectByProperty;
149
149
  }
150
150
  export declare function findParentWithClass(elem: HTMLElement, className: string): HTMLElement;
151
+ export declare function intersectArrays<T = any>(values: T[][]): T[];
152
+ export declare function noHtml(value: string): string;
@@ -21,6 +21,10 @@ export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
21
21
  suggestLengthThreshold?: number;
22
22
  highlightAccent?: boolean;
23
23
  applyImplicitValue?: boolean;
24
+ /**
25
+ * Should select input content (desktop only)
26
+ */
27
+ selectInputContentOnFocus?: boolean;
24
28
  /**
25
29
  * Class to apply to the `div.mat-mdc-select-panel`
26
30
  */
@@ -5,11 +5,15 @@ import { SuggestFn } from '../../services/entity-service.class';
5
5
  import { InputElement } from '../../inputs';
6
6
  import { AppFloatLabelType, DisplayFn, EqualsFn } from '../../form/field.model';
7
7
  import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
8
- import { MatSelect } from '@angular/material/select';
8
+ import { MatSelect, MatSelectChange } from '@angular/material/select';
9
9
  import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
10
10
  import { IonSearchbar, ModalController } from '@ionic/angular';
11
11
  import { MatAutocompleteFieldConfig } from './material.autocomplete.config';
12
12
  import * as i0 from "@angular/core";
13
+ export type MatAutocompleteFieldSelectChange = {
14
+ source: MatSelect | MatAutocomplete;
15
+ value: any;
16
+ };
13
17
  export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDestroy, InputElement, ControlValueAccessor {
14
18
  protected injector: Injector;
15
19
  protected el: ElementRef<HTMLElement>;
@@ -76,6 +80,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
76
80
  clearButtonTitle: string;
77
81
  trimSearchText: boolean;
78
82
  splitSearchText: boolean;
83
+ selectInputContentOnFocus: boolean;
79
84
  /**
80
85
  * @deprecated Use panelClass instead
81
86
  */
@@ -87,7 +92,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
87
92
  dropButtonClick: EventEmitter<Event>;
88
93
  keydownEscape: EventEmitter<Event>;
89
94
  keyupEnter: EventEmitter<Event>;
90
- optionSelected: EventEmitter<MatAutocompleteSelectedEvent>;
95
+ selectionChange: EventEmitter<MatAutocompleteFieldSelectChange>;
91
96
  matSelect: MatSelect;
92
97
  ionSearchbar: IonSearchbar;
93
98
  matInputText: ElementRef;
@@ -130,6 +135,9 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
130
135
  _initMatSelectInfiniteScroll(threshold?: string): void;
131
136
  get isOpen(): boolean;
132
137
  closePanel(): void;
138
+ protected markAsLoading(): void;
139
+ protected onSelectionChange(event: MatSelectChange): void;
140
+ protected onOptionSelected(event: MatAutocompleteSelectedEvent): void;
133
141
  private suggest;
134
142
  private fetchMore;
135
143
  private updateImplicitValue;
@@ -137,7 +145,6 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
137
145
  private getAutocompletePanel;
138
146
  private getMatSelectPanel;
139
147
  private markForCheck;
140
- protected markAsLoading(): void;
141
148
  private _fixMatSelectPositionAndSearchbar;
142
149
  private _fixMatSelectPanelPosition;
143
150
  /**
@@ -150,7 +157,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
150
157
  */
151
158
  private _fixSearchbarOverlay;
152
159
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, null, null, null, null, { optional: true; }]>;
153
- static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displaySeparator": { "alias": "displaySeparator"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; "optionSelected": "optionSelected"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
160
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displaySeparator": { "alias": "displaySeparator"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "required": false; }; "selectInputContentOnFocus": { "alias": "selectInputContentOnFocus"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; "selectionChange": "selectionChange"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
154
161
  static ngAcceptInputType_required: unknown;
155
162
  static ngAcceptInputType_mobile: unknown;
156
163
  static ngAcceptInputType_clearable: unknown;
@@ -168,5 +175,6 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
168
175
  static ngAcceptInputType_stickySearchBar: unknown;
169
176
  static ngAcceptInputType_trimSearchText: unknown;
170
177
  static ngAcceptInputType_splitSearchText: unknown;
178
+ static ngAcceptInputType_selectInputContentOnFocus: unknown;
171
179
  static ngAcceptInputType_readonly: unknown;
172
180
  }
@@ -8,6 +8,7 @@ import { INamedFilter, INamedFilterFilter, NamedFilter } from './named-filter.mo
8
8
  import { INamedFilterService, NamedFilterLoadOptions, NamedFilterWatchOptions } from './named-filter.service';
9
9
  import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
10
10
  import * as i0 from "@angular/core";
11
+ export type NamedFilterSelectorButtonsPosition = 'matSuffix' | 'after';
11
12
  export declare class NamedFilterSelector extends AppForm<any> implements OnInit {
12
13
  protected injector: Injector;
13
14
  protected formBuilder: UntypedFormBuilder;
@@ -16,9 +17,9 @@ export declare class NamedFilterSelector extends AppForm<any> implements OnInit
16
17
  protected popoverController: PopoverController;
17
18
  protected dataService: INamedFilterService<INamedFilter<any>, INamedFilterFilter<any, any>, NamedFilterWatchOptions, NamedFilterLoadOptions>;
18
19
  protected readonly logPrefix = "[named-filter-selector]";
19
- protected readonly mobile: boolean;
20
20
  private _entityName;
21
21
  private _deleteDisabled;
22
+ mobile: boolean;
22
23
  set entityName(entityName: string);
23
24
  get entityName(): string;
24
25
  appearance: MatFormFieldAppearance;
@@ -32,26 +33,28 @@ export declare class NamedFilterSelector extends AppForm<any> implements OnInit
32
33
  dropButtonTitle: string;
33
34
  clearButtonTitle: string;
34
35
  detectChangeOnSelectFilter: boolean;
36
+ buttonsPosition: NamedFilterSelectorButtonsPosition;
35
37
  set disabled(_disabled: boolean);
36
38
  get disabled(): boolean;
39
+ get isNew(): boolean;
40
+ get saveDisabled(): boolean;
41
+ get deleteDisabled(): boolean;
42
+ get dirty(): boolean;
37
43
  filterSelected: EventEmitter<any>;
38
44
  filterDeleted: EventEmitter<NamedFilter<NamedFilter<any>>>;
39
45
  filterCleared: EventEmitter<void>;
40
46
  autocompleteField: MatAutocompleteField;
41
47
  constructor(injector: Injector, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, toastController: ToastController, popoverController: PopoverController, dataService: INamedFilterService<INamedFilter<any>, INamedFilterFilter<any, any>, NamedFilterWatchOptions, NamedFilterLoadOptions>);
42
- get isNew(): boolean;
43
- get saveDisabled(): boolean;
44
- get deleteDisabled(): boolean;
45
- get dirty(): boolean;
46
48
  ngOnInit(): void;
47
49
  getFilter(): any;
48
50
  markForCheck(): void;
49
51
  save(event: UIEvent): Promise<void>;
50
52
  delete(event?: UIEvent): Promise<void>;
53
+ onMoreOptionsClick(event: Event): void;
51
54
  export(event?: UIEvent): Promise<void>;
52
55
  import(event: Event): Promise<void>;
53
56
  protected onFilterChanges(value: NamedFilter | string): Promise<void>;
54
57
  protected setControlValue(value: NamedFilter): void;
55
58
  static ɵfac: i0.ɵɵFactoryDeclaration<NamedFilterSelector, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<NamedFilterSelector, "app-named-filter-selector", never, { "entityName": { "alias": "entityName"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "filterContentProvider": { "alias": "filterContentProvider"; "required": false; }; "filterImportCallback": { "alias": "filterImportCallback"; "required": false; }; "filterFormDirty": { "alias": "filterFormDirty"; "required": false; }; "showButtons": { "alias": "showButtons"; "required": false; }; "exportFileNamePrefix": { "alias": "exportFileNamePrefix"; "required": false; }; "autocompleteConfig": { "alias": "autocompleteConfig"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "detectChangeOnSelectFilter": { "alias": "detectChangeOnSelectFilter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "filterSelected": "filterSelected"; "filterDeleted": "filterDeleted"; "filterCleared": "filterCleared"; }, never, never, false, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<NamedFilterSelector, "app-named-filter-selector", never, { "mobile": { "alias": "mobile"; "required": false; }; "entityName": { "alias": "entityName"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "filterContentProvider": { "alias": "filterContentProvider"; "required": false; }; "filterImportCallback": { "alias": "filterImportCallback"; "required": false; }; "filterFormDirty": { "alias": "filterFormDirty"; "required": false; }; "showButtons": { "alias": "showButtons"; "required": false; }; "exportFileNamePrefix": { "alias": "exportFileNamePrefix"; "required": false; }; "autocompleteConfig": { "alias": "autocompleteConfig"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "detectChangeOnSelectFilter": { "alias": "detectChangeOnSelectFilter"; "required": false; }; "buttonsPosition": { "alias": "buttonsPosition"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "filterSelected": "filterSelected"; "filterDeleted": "filterDeleted"; "filterCleared": "filterCleared"; }, never, never, false, never>;
57
60
  }
@@ -2,6 +2,7 @@ import { ChangeDetectorRef, OnDestroy } from '@angular/core';
2
2
  import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
3
  import { MatAutocompleteFieldConfig } from '../../material/autocomplete/material.autocomplete.config';
4
4
  import { NamedFilter } from '../named-filter.model';
5
+ import { LocalSettingsService } from '../../../core/services/local-settings.service';
5
6
  import * as i0 from "@angular/core";
6
7
  declare class DummyFilter {
7
8
  filterA: string;
@@ -10,13 +11,15 @@ declare class DummyFilter {
10
11
  }
11
12
  export declare class NamedFilterSelectorTestingPage implements OnDestroy {
12
13
  protected cd: ChangeDetectorRef;
14
+ protected settings: LocalSettingsService;
13
15
  private _subscription;
14
16
  protected _filterForm: UntypedFormGroup;
17
+ protected mobile: boolean;
15
18
  protected namedFilterContentProvider: () => object;
16
19
  protected namedFilterAutocompleteConfig: MatAutocompleteFieldConfig;
17
20
  set filterForm(value: UntypedFormGroup);
18
21
  get filterForm(): UntypedFormGroup;
19
- constructor(cd: ChangeDetectorRef, formBuilder: UntypedFormBuilder);
22
+ constructor(cd: ChangeDetectorRef, settings: LocalSettingsService, formBuilder: UntypedFormBuilder);
20
23
  ngOnDestroy(): void;
21
24
  setFilterForm(filterForm: UntypedFormGroup): void;
22
25
  getFilterValue(): any;
@@ -0,0 +1,15 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NoHtmlPipe implements PipeTransform {
5
+ transform(value: string): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoHtmlPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<NoHtmlPipe, "noHtml", false>;
8
+ }
9
+ export declare class SafeHtmlPipe implements PipeTransform {
10
+ private sanitized;
11
+ constructor(sanitized: DomSanitizer);
12
+ transform(value: string): SafeHtml;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
14
+ static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", false>;
15
+ }
@@ -20,11 +20,12 @@ import * as i18 from "./types.pipes";
20
20
  import * as i19 from "./maskito.pipe";
21
21
  import * as i20 from "./selection.pipes";
22
22
  import * as i21 from "./badge.pipes";
23
- import * as i22 from "@angular/common";
24
- import * as i23 from "@ionic/angular";
25
- import * as i24 from "@ngx-translate/core";
23
+ import * as i22 from "./html.pipes";
24
+ import * as i23 from "@angular/common";
25
+ import * as i24 from "@ionic/angular";
26
+ import * as i25 from "@ngx-translate/core";
26
27
  export declare class SharedPipesModule {
27
28
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedPipesModule, never>;
28
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedPipesModule, [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayLastPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorPipe, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe, typeof i18.AsBooleanPipe], [typeof i22.CommonModule, typeof i23.IonicModule, typeof i24.TranslateModule], [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayLastPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorPipe, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe, typeof i18.AsBooleanPipe]>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedPipesModule, [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayLastPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorPipe, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe, typeof i18.AsBooleanPipe, typeof i22.SafeHtmlPipe, typeof i22.NoHtmlPipe], [typeof i23.CommonModule, typeof i24.IonicModule, typeof i25.TranslateModule], [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayLastPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorPipe, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe, typeof i18.AsBooleanPipe, typeof i22.SafeHtmlPipe, typeof i22.NoHtmlPipe]>;
29
30
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedPipesModule>;
30
31
  }
@@ -131,8 +131,8 @@
131
131
  "SAVE": "Sauvegarder le filtre",
132
132
  "DELETE": "Supprimer le filtre",
133
133
  "DELETED": "Filtre supprimé",
134
- "EXPORT": "Exporter le filtre",
135
- "IMPORT": "Importer un filtre",
134
+ "EXPORT": "Télécharger le filtre",
135
+ "IMPORT": "Importer un filtre...",
136
136
  "LOAD_FAILED": "Échec du chargement du filtre",
137
137
  "IMPORT_FAILED": "Échec de l'import du filtre",
138
138
  "NOT_FOUND": "Filtre non trouvé"
@@ -326,6 +326,7 @@
326
326
  "DUMMY_3": "a - premier",
327
327
  "DUMMY_4": "e - cinquieme",
328
328
  "DUMMY_5": "d - quatrieme",
329
+ "DUMMY_6": "f - sixième",
329
330
  "OPTIONS": {
330
331
  "TITLE": "Options",
331
332
  "DEFINITION": "Option",
@@ -2,7 +2,7 @@
2
2
  "name": "ngx-sumaris-components",
3
3
  "short_name": "ngx-sumaris-components",
4
4
  "manifest_version": 1,
5
- "version": "2.18.0-alpha5",
5
+ "version": "2.18.0-alpha6",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{