@sumaris-net/ngx-components 18.0.2-alpha3 → 18.0.2-alpha5

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 (37) hide show
  1. package/esm2022/src/app/admin/services/person.service.mjs +6 -3
  2. package/esm2022/src/app/core/account/account.page.mjs +1 -1
  3. package/esm2022/src/app/core/form/properties/properties.form.mjs +14 -4
  4. package/esm2022/src/app/core/form/properties/properties.utils.mjs +64 -27
  5. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +7 -13
  6. package/esm2022/src/app/core/graphql/graphql.service.mjs +1 -1
  7. package/esm2022/src/app/core/services/base-entity-service.class.mjs +1 -1
  8. package/esm2022/src/app/core/services/model/config.model.mjs +1 -1
  9. package/esm2022/src/app/core/services/model/entity.model.mjs +2 -2
  10. package/esm2022/src/app/core/services/model/settings.model.mjs +1 -1
  11. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +1 -1
  12. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +1 -1
  13. package/esm2022/src/app/core/settings/settings.page.mjs +4 -5
  14. package/esm2022/src/app/shared/form/field.component.mjs +3 -3
  15. package/esm2022/src/app/shared/services.mjs +25 -17
  16. package/esm2022/src/app/shared/types.mjs +1 -1
  17. package/fesm2022/sumaris-net.ngx-components.mjs +2681 -2629
  18. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  19. package/package.json +3 -2
  20. package/src/app/admin/services/person.service.d.ts +3 -6
  21. package/src/app/core/form/properties/properties.form.d.ts +6 -5
  22. package/src/app/core/form/properties/properties.utils.d.ts +11 -9
  23. package/src/app/core/form/properties/testing/properties-form.test.d.ts +2 -1
  24. package/src/app/core/graphql/graphql.service.d.ts +2 -2
  25. package/src/app/core/services/base-entity-service.class.d.ts +1 -1
  26. package/src/app/core/services/model/config.model.d.ts +2 -2
  27. package/src/app/core/services/model/entity.model.d.ts +2 -2
  28. package/src/app/core/services/model/settings.model.d.ts +2 -2
  29. package/src/app/core/services/storage/entities-storage.service.d.ts +4 -4
  30. package/src/app/core/services/storage/entity-store.class.d.ts +4 -4
  31. package/src/app/shared/inputs.d.ts +1 -1
  32. package/src/app/shared/services.d.ts +6 -1
  33. package/src/app/shared/types.d.ts +10 -5
  34. package/src/assets/i18n/en-US.json +7 -2
  35. package/src/assets/i18n/en.json +6 -1
  36. package/src/assets/i18n/fr.json +3 -2
  37. 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": "18.0.2-alpha3",
4
+ "version": "18.0.2-alpha5",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -35,7 +35,8 @@
35
35
  "d3": "~7.6.1",
36
36
  "localforage": "~1.10.0",
37
37
  "rxjs": "~7.8.1",
38
- "zone.js": "~0.14.10"
38
+ "zone.js": "~0.14.10",
39
+ "@typescript-eslint/utils": "7.2.0"
39
40
  },
40
41
  "optionalDependencies": {
41
42
  "@awesome-cordova-plugins/core": "~6.4.0",
@@ -5,7 +5,7 @@ import { NetworkService } from '../../core/services/network.service';
5
5
  import { EntitiesStorage } from '../../core/services/storage/entities-storage.service';
6
6
  import { Person } from '../../core/services/model/person.model';
7
7
  import { SortDirection } from '@angular/material/sort';
8
- import { LoadResult, SuggestService } from '../../shared/services/entity-service.class';
8
+ import { EntitiesServiceLoadOptions, LoadResult, SuggestService } from '../../shared/services/entity-service.class';
9
9
  import { PlatformService } from '../../core/services/platform.service';
10
10
  import { PersonFilter } from './filter/person.filter';
11
11
  import { BaseEntityService } from '../../core/services/base-entity-service.class';
@@ -19,12 +19,9 @@ export declare class PersonService extends BaseEntityService<Person, PersonFilte
19
19
  protected network: NetworkService;
20
20
  protected entities: EntitiesStorage;
21
21
  constructor(graphql: GraphqlService, platform: PlatformService, network: NetworkService, entities: EntitiesStorage);
22
- loadAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: Partial<PersonFilter>, opts?: {
22
+ loadAll(offset: number, size: number, sortBy?: keyof Person | string, sortDirection?: SortDirection, filter?: Partial<PersonFilter>, opts?: EntitiesServiceLoadOptions & {
23
23
  [key: string]: any;
24
- fetchPolicy?: FetchPolicy;
25
24
  debug?: boolean;
26
- withTotal?: boolean;
27
- toEntity?: boolean;
28
25
  }): Promise<LoadResult<Person>>;
29
26
  loadAllLocally(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: Partial<PersonFilter>, opts?: {
30
27
  [key: string]: any;
@@ -33,7 +30,7 @@ export declare class PersonService extends BaseEntityService<Person, PersonFilte
33
30
  withTotal?: boolean;
34
31
  toEntity?: boolean;
35
32
  }): Promise<LoadResult<Person>>;
36
- suggest(value: any, filter?: PersonFilter, sortBy?: string, sortDirection?: SortDirection): Promise<LoadResult<Person>>;
33
+ suggest(value: any, filter?: Partial<PersonFilter>, sortBy?: keyof Person | string, sortDirection?: SortDirection, opts?: EntitiesServiceLoadOptions): Promise<LoadResult<Person>>;
37
34
  executeImport(filter: Partial<PersonFilter>, opts: {
38
35
  progression?: BehaviorSubject<number>;
39
36
  maxProgression?: number;
@@ -4,7 +4,7 @@ import { FormFieldDefinition, FormFieldDefinitionMap } from '../../../shared/for
4
4
  import { DateAdapter, ThemePalette } from '@angular/material/core';
5
5
  import { Moment } from 'moment';
6
6
  import { AppForm } from '../form.class';
7
- import { Property } from '../../../shared/types';
7
+ import { Property, PropertyMap } from '../../../shared/types';
8
8
  import { PropertyValidator } from './property.validator';
9
9
  import { PredefinedColors } from '@ionic/core';
10
10
  import { FormArrayHelper, FormArrayHelperOptions } from '../array/form-array';
@@ -17,7 +17,7 @@ export interface AppPropertiesFormState {
17
17
  definitions: FormFieldDefinition[];
18
18
  definitionKeys: Property[];
19
19
  }
20
- export declare class AppPropertiesForm<T = Property, S extends AppPropertiesFormState = AppPropertiesFormState> extends AppForm<T[]> implements OnInit {
20
+ export declare class AppPropertiesForm<O = any, T extends Property<O> = Property<O>, S extends AppPropertiesFormState = AppPropertiesFormState> extends AppForm<T[]> implements OnInit {
21
21
  protected formBuilder: UntypedFormBuilder;
22
22
  protected dateAdapter: DateAdapter<Moment>;
23
23
  protected cd: ChangeDetectorRef;
@@ -61,12 +61,13 @@ export declare class AppPropertiesForm<T = Property, S extends AppPropertiesForm
61
61
  emitEvent?: boolean;
62
62
  }): FormFieldDefinition;
63
63
  removeAt(index: number): void;
64
- setValue(data: T[] | any): Promise<void>;
64
+ setValue(data: PropertyMap | T[]): Promise<void>;
65
+ getValueAsJson(): PropertyMap;
65
66
  protected suggestDefinition(value: any, filter?: any): Promise<LoadResult<Property>>;
66
67
  protected markForCheck(): void;
67
68
  protected isEmptyProperty(obj: Property): boolean;
68
- static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesForm<any, any>, [null, null, null, null, null, { optional: true; }]>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesForm<any, 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; }; "hintKeyPrefix": { "alias": "hintKeyPrefix"; "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>;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesForm<any, any, any>, [null, null, null, null, null, { optional: true; }]>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesForm<any, any, 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; }; "hintKeyPrefix": { "alias": "hintKeyPrefix"; "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>;
70
71
  static ngAcceptInputType_mobile: unknown;
71
72
  static ngAcceptInputType_showHintKey: unknown;
72
73
  static ngAcceptInputType_showMoreButton: unknown;
@@ -1,4 +1,4 @@
1
- import { PropertiesMap, Property } from '../../../shared/types';
1
+ import { Property, PropertyMap } from '../../../shared/types';
2
2
  import { FormFieldDefinition } from '../../../shared/form/field.model';
3
3
  import { EntitiesServiceLoadOptions, SuggestFn } from '../../../shared/services/entity-service.class';
4
4
  export declare class AppPropertiesUtils {
@@ -9,22 +9,23 @@ export declare class AppPropertiesUtils {
9
9
  * @param {FormFieldDefinition[]} [definitions] - An optional array of form field definitions to help with the conversion.
10
10
  * @param {Object} [opts] - Optional configurations.
11
11
  * @param {boolean} [opts.omitNilOrBlank] - If true, properties with nil or blank values will be omitted. Defaults to true.
12
- * @return {PropertiesMap} - The resulting `PropertiesMap` object.
12
+ * @return {PropertyMap} - The resulting `PropertiesMap` object.
13
13
  */
14
- static arrayAsObject(sources?: Property[], definitions?: FormFieldDefinition[], opts?: {
14
+ static arrayAsObject<T = any>(sources?: Property<T>[], definitions?: FormFieldDefinition[], opts?: {
15
15
  omitNilOrBlank: boolean;
16
- }): PropertiesMap;
16
+ }): PropertyMap;
17
17
  /**
18
18
  * Generates an array of properties from the given object, optionally applying definitions to the properties.
19
19
  *
20
- * @param {PropertiesMap} [sources] - The source object from which properties are to be extracted.
20
+ * @param {PropertyMap} [sources] - The source object from which properties are to be extracted.
21
21
  * @param {FormFieldDefinition[]} [definitions] - An optional array of definitions to be applied to the extracted properties.
22
22
  * @return {Property[] | Promise<Property[]>} An array of properties generated from the source object, or a promise resolving to that array.
23
23
  */
24
- static arrayFromObject(sources?: PropertiesMap | Property[], definitions?: FormFieldDefinition[]): Property[] | Promise<Property[]>;
24
+ static arrayFromObject<T>(sources?: PropertyMap | Property<T>[], definitions?: FormFieldDefinition[]): Property<T>[] | Promise<Property<T>[]>;
25
25
  }
26
26
  export declare class AppPropertyUtils {
27
- static key(source: Property | any): string;
27
+ static key(key: any): string;
28
+ static getPropertyKey(source: Property | any): string;
28
29
  /**
29
30
  * Converts the given source to an object that contains a key-value pair.
30
31
  *
@@ -40,11 +41,12 @@ export declare class AppPropertyUtils {
40
41
  key: string;
41
42
  value: string;
42
43
  } | undefined;
43
- static fromObject(source: Property<string>, def: FormFieldDefinition, opts?: {
44
+ static fromObject<T = string>(source: Property | Property<T>, def: FormFieldDefinition, opts?: {
44
45
  defaultSuggestFn: SuggestFn<any, any>;
45
46
  defaultSuggestOptions?: EntitiesServiceLoadOptions;
46
47
  defaultSerializeAttribute?: string;
47
- }): Property<any> | Promise<Property<any>>;
48
+ }): Property<T> | Promise<Property<T>>;
48
49
  private static resolveEntity;
49
50
  private static resolveEntityBySuggest;
51
+ private static toString;
50
52
  }
@@ -4,6 +4,7 @@ import { AppPropertiesForm } from '../properties.form';
4
4
  import { LoadResult } from '../../../../shared/services/entity-service.class';
5
5
  import { FormBuilder, FormGroup } from '@angular/forms';
6
6
  import { PropertyValidator } from '../property.validator';
7
+ import { SortDirection } from '@angular/material/sort';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class PropertiesFormTestPage implements OnInit, AfterViewInit {
9
10
  protected formBuilder: FormBuilder;
@@ -15,7 +16,7 @@ export declare class PropertiesFormTestPage implements OnInit, AfterViewInit {
15
16
  constructor(formBuilder: FormBuilder, pv: PropertyValidator);
16
17
  ngOnInit(): void;
17
18
  ngAfterViewInit(): Promise<void>;
18
- protected suggestEntity(value: any, filter: any): Promise<LoadResult<any>>;
19
+ protected suggestEntity(value: any, filter: any, sortBy: any | string, sortDirection: SortDirection, options: any): Promise<LoadResult<any>>;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertiesFormTestPage, never>;
20
21
  static ɵcmp: i0.ɵɵComponentDeclaration<PropertiesFormTestPage, "app-properties-form-test", never, {}, {}, never, never, false, never>;
21
22
  }
@@ -12,7 +12,7 @@ import { HttpLink } from 'apollo-angular/http';
12
12
  import { ErrorPolicy, MutationBaseOptions } from '@apollo/client/core/watchQueryOptions';
13
13
  import { Cache } from '@apollo/client/cache/core/types/Cache';
14
14
  import { Environment } from '../../../environments/environment.class';
15
- import { PropertiesMap } from '../../shared/types';
15
+ import { PropertyMap } from '../../shared/types';
16
16
  import { StartableService } from '../../shared/services/startable-service.class';
17
17
  import { StorageService } from '../../shared/storage/storage.service';
18
18
  import { DocumentNode } from 'graphql';
@@ -133,7 +133,7 @@ export declare class GraphqlService extends StartableService<ApolloClient<any>>
133
133
  equalsFn?: (d1: T, d2: T) => boolean;
134
134
  }): void;
135
135
  clearCache(client?: ApolloClient<any>): Promise<void>;
136
- registerCustomError(error: PropertiesMap): void;
136
+ registerCustomError(error: PropertyMap): void;
137
137
  protected ngOnStart(): Promise<ApolloClient<any>>;
138
138
  protected ngOnStop(): Promise<void>;
139
139
  protected resetClient(client?: ApolloClient<any>): Promise<void>;
@@ -72,7 +72,7 @@ export declare abstract class BaseEntityService<T extends Entity<T, ID>, F exten
72
72
  watch(id: number, opts?: WO): Observable<T>;
73
73
  load(id: ID, opts?: LO): Promise<T>;
74
74
  watchAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, dataFilter?: F, opts?: WO): Observable<LoadResult<T>>;
75
- loadAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: Partial<F>, opts?: LO & {
75
+ loadAll(offset: number, size: number, sortBy?: keyof T | string, sortDirection?: SortDirection, filter?: Partial<F>, opts?: LO & {
76
76
  debug?: boolean;
77
77
  }): Promise<LoadResult<T>>;
78
78
  countAll(filter?: Partial<F>, opts?: LO): Promise<number>;
@@ -2,7 +2,7 @@ import { Moment } from 'moment';
2
2
  import { FormFieldDefinition } from '../../../shared/form/field.model';
3
3
  import { Entity, EntityAsObjectOptions, IEntity } from './entity.model';
4
4
  import { Department } from './department.model';
5
- import { PropertiesMap } from '../../../shared/types';
5
+ import { PropertyMap } from '../../../shared/types';
6
6
  export declare class Software<T extends Software<any> = Software<any>> extends Entity<T, number> implements IEntity<T, number> {
7
7
  static fromObject: (source: any, opts?: any) => Software;
8
8
  label: string;
@@ -11,7 +11,7 @@ export declare class Software<T extends Software<any> = Software<any>> extends E
11
11
  comments: string;
12
12
  creationDate: Date | Moment;
13
13
  statusId: number;
14
- properties: PropertiesMap;
14
+ properties: PropertyMap;
15
15
  constructor(__typename?: string);
16
16
  asObject(options?: EntityAsObjectOptions): any;
17
17
  fromObject(source: any): void;
@@ -55,8 +55,8 @@ export declare abstract class EntityUtils {
55
55
  static fillLocalIds<T extends IEntity<T>>(items: T[], sequenceFactory: (firstEntity: T, incrementSize: number) => Promise<number>): Promise<void>;
56
56
  static cleanIdAndUpdateDate<T extends IEntity<T>>(source: T): void;
57
57
  static cleanIdsAndUpdateDates<T extends IEntity<T>>(items: T[]): void;
58
- static sort<T extends IEntity<T> | any>(data: T[], sortBy?: string, sortDirection?: SortDirection): T[];
59
- static sortComparator<T extends IEntity<T> | any>(sortBy?: string, sortDirection?: SortDirection): (a: T, b: T) => number;
58
+ static sort<T extends IEntity<T> | any>(data: T[], sortBy?: keyof T | string, sortDirection?: SortDirection): T[];
59
+ static sortComparator<T extends IEntity<T> | any>(sortBy?: keyof T | string, sortDirection?: SortDirection): (a: T, b: T) => number;
60
60
  static compare<T extends IEntity<any>>(value1: T, value2: T, direction: 1 | -1, checkAttribute?: keyof T): number;
61
61
  static compareValue<T>(value1: T, value2: T, direction: 1 | -1): number;
62
62
  static filter<T extends IEntity<T> | any>(data: T[], searchAttribute: string, searchText: string): T[];
@@ -1,4 +1,4 @@
1
- import { PropertiesMap, Property } from '../../../shared/types';
1
+ import { Property, PropertyMap } from '../../../shared/types';
2
2
  import { InjectionToken } from '@angular/core';
3
3
  import { HistoryPageReference } from './history.model';
4
4
  export type UsageMode = 'DESK' | 'FIELD';
@@ -20,7 +20,7 @@ export declare interface LocalSettings {
20
20
  locale: string;
21
21
  usageMode?: UsageMode;
22
22
  mobile?: boolean;
23
- properties?: PropertiesMap | Property[];
23
+ properties?: PropertyMap | Property[];
24
24
  pageHistory?: HistoryPageReference[];
25
25
  offlineFeatures?: (string | OfflineFeature)[];
26
26
  pageHistoryMaxSize: number;
@@ -35,17 +35,17 @@ export declare class EntitiesStorage extends StartableService<EntityStorageMap>
35
35
  watchAll<T extends Entity<T>>(entityName: string, variables: {
36
36
  offset?: number;
37
37
  size?: number;
38
- sortBy?: string;
38
+ sortBy?: keyof T | string;
39
39
  sortDirection?: string;
40
40
  trash?: boolean;
41
- filter?: (T: any) => boolean;
41
+ filter?: (data: T) => boolean;
42
42
  }, opts?: EntityStorageLoadOptions): Observable<LoadResult<T>>;
43
43
  loadAll<T extends Entity<T>>(entityName: string, variables?: {
44
44
  offset?: number;
45
45
  size?: number;
46
- sortBy?: string;
46
+ sortBy?: keyof T | string;
47
47
  sortDirection?: string;
48
- filter?: (T: any) => boolean;
48
+ filter?: (data: T) => boolean;
49
49
  }, opts?: EntityStorageLoadOptions): Promise<LoadResult<T>>;
50
50
  load<T extends Entity<T>>(id: number, entityName: string, opts?: EntityStorageLoadOptions): Promise<T>;
51
51
  nextValue(entityOrName: string | any): Promise<number>;
@@ -42,9 +42,9 @@ export declare class EntityStore<T extends IEntity<T, ID>, ID = number, O extend
42
42
  watchAll(variables: {
43
43
  offset?: number;
44
44
  size?: number;
45
- sortBy?: string;
45
+ sortBy?: keyof T | string;
46
46
  sortDirection?: string;
47
- filter?: (T: any) => boolean;
47
+ filter?: (data: T) => boolean;
48
48
  }, opts?: O): Observable<LoadResult<T>>;
49
49
  /**
50
50
  * WIll apply a filter, then a sort, then a page slice
@@ -55,9 +55,9 @@ export declare class EntityStore<T extends IEntity<T, ID>, ID = number, O extend
55
55
  loadAll(variables: {
56
56
  offset?: number;
57
57
  size?: number;
58
- sortBy?: string;
58
+ sortBy?: keyof T | string;
59
59
  sortDirection?: string;
60
- filter?: (T: any) => boolean;
60
+ filter?: (data: T) => boolean;
61
61
  }, opts?: O): Promise<LoadResult<T>>;
62
62
  save(entity: T, opts?: {
63
63
  emitEvent?: boolean;
@@ -16,7 +16,7 @@ export interface InputElement extends FocusableElement {
16
16
  }
17
17
  export declare function isInputElement(object: any): object is InputElement;
18
18
  export declare function asInputElement<T = any>(object: ElementRef<T>): InputElement | undefined;
19
- export declare function tabindexComparator(a: InputElement, b: InputElement): 1 | 0 | -1;
19
+ export declare function tabindexComparator(a: InputElement, b: InputElement): 0 | 1 | -1;
20
20
  export interface CanGainFocusOptions {
21
21
  minTabindex?: number;
22
22
  maxTabindex?: number;
@@ -1,5 +1,6 @@
1
1
  import { LoadResult } from './services/entity-service.class';
2
- export declare function suggestFromArray<T = any>(items: T[], value: any, opts?: {
2
+ import { SortDirection } from '@angular/material/sort';
3
+ export declare function suggestFromArray<T = any>(items: T[], value: any, filter?: {
3
4
  id?: number;
4
5
  offset?: number;
5
6
  size?: number;
@@ -9,4 +10,8 @@ export declare function suggestFromArray<T = any>(items: T[], value: any, opts?:
9
10
  excludedIds?: number[];
10
11
  skipSort?: boolean;
11
12
  anySearch?: boolean;
13
+ }, sortBy?: keyof T | string, sortDirection?: SortDirection, opts?: {
14
+ offset?: number;
15
+ size?: number;
16
+ [key: string]: any;
12
17
  }): LoadResult<T>;
@@ -8,14 +8,19 @@ export declare type KeyValueType<T> = {
8
8
  export declare type KeysEnum<T> = {
9
9
  [P in keyof Required<T>]: boolean;
10
10
  };
11
- export declare interface ObjectMap<O = any> {
12
- [key: string]: O;
11
+ export declare interface ObjectMap<T = any> {
12
+ [key: string]: T;
13
13
  }
14
- export declare interface ObjectMapEntry<O = any> {
14
+ export declare interface ObjectMapEntry<T = any> {
15
15
  key: string;
16
- value?: O;
16
+ value?: T;
17
17
  }
18
- export declare type PropertiesMap<T = string> = ObjectMap<T>;
18
+ export declare type PropertyMap<T = string> = ObjectMap<T>;
19
+ /**
20
+ * Same as PropertyMap
21
+ * @deprecated Use PropertyMap instead
22
+ */
23
+ export declare type PropertiesMap<T = string> = PropertyMap<T>;
19
24
  export declare type Property<T = string> = ObjectMapEntry<T>;
20
25
  export declare type PropertiesArray = Property[];
21
26
  export declare type AppColors = PredefinedColors | ThemePalette | string;
@@ -201,7 +201,7 @@
201
201
  "TOKEN": "Crypto",
202
202
  "BASIC_AND_TOKEN": "Basic and crypto"
203
203
  },
204
- "ENABLE_AUTH_API_TOKENS": "API > Enable auth tokens",
204
+ "ENABLE_AUTH_API_TOKENS": "API > Enable authentication tokens?",
205
205
  "ENABLE_AUTH_API_TOKENS_SCOPE": "API > Enable rights on auth tokens",
206
206
  "DEFAULT_AUTH_API_TOKEN_SCOPE": "API > Default right on new auth token"
207
207
  }
@@ -327,6 +327,10 @@
327
327
  "DUMMY_3": "a - first",
328
328
  "DUMMY_4": "e - fifth",
329
329
  "DUMMY_5": "d - fourth",
330
+ "DUMMY_6": "f - sixth (enum)",
331
+ "DUMMY_7": "g - seventh (enum)",
332
+ "DUMMY_ENTITY": "h - eighth (entity)",
333
+ "DUMMY_ENTITIES": "i - ninth (entities)",
330
334
  "OPTIONS": {
331
335
  "TITLE": "Options",
332
336
  "DEFINITION": "Option",
@@ -586,7 +590,8 @@
586
590
  "FIELD_INCONSISTENT": "Inconsistent value",
587
591
  "FIELD_NOT_VALID_DECIMAL": "Expected decimal value",
588
592
  "FIELD_NOT_VALID_INTEGER": "Expected integer value",
589
- "FIELD_NOT_VALID_PRECISION": "Expected precision: {{precision}}",
593
+ "FIELD_NOT_VALID_PRECISION": "Minimum precision: {{precision}}",
594
+ "FIELD_NOT_VALID_PRECISION_COMPACT": "Min precision {{precision}}",
590
595
  "FIELD_NOT_VALID_EMAIL": "Invalid email address",
591
596
  "FIELD_NOT_VALID_DATE": "Invalid date",
592
597
  "FIELD_NOT_VALID_DATE_AFTER": "Must be after {{minDate}}",
@@ -326,6 +326,10 @@
326
326
  "DUMMY_3": "a - first",
327
327
  "DUMMY_4": "e - fifth",
328
328
  "DUMMY_5": "d - fourth",
329
+ "DUMMY_6": "f - sixth (enum)",
330
+ "DUMMY_7": "g - seventh (enum)",
331
+ "DUMMY_ENTITY": "h - eighth (entity)",
332
+ "DUMMY_ENTITIES": "i - ninth (entities)",
329
333
  "OPTIONS": {
330
334
  "TITLE": "Options",
331
335
  "DEFINITION": "Option",
@@ -585,7 +589,8 @@
585
589
  "FIELD_INCONSISTENT": "Inconsistent value",
586
590
  "FIELD_NOT_VALID_DECIMAL": "Expected decimal value",
587
591
  "FIELD_NOT_VALID_INTEGER": "Expected integer value",
588
- "FIELD_NOT_VALID_PRECISION": "Expected precision: {{precision}}",
592
+ "FIELD_NOT_VALID_PRECISION": "Minimum precision: {{precision}}",
593
+ "FIELD_NOT_VALID_PRECISION_COMPACT": "Min precision {{precision}}",
589
594
  "FIELD_NOT_VALID_EMAIL": "Invalid email address",
590
595
  "FIELD_NOT_VALID_DATE": "Invalid date",
591
596
  "FIELD_NOT_VALID_DATE_AFTER": "Must be after {{minDate}}",
@@ -327,8 +327,9 @@
327
327
  "DUMMY_4": "e - cinquieme",
328
328
  "DUMMY_5": "d - quatrieme",
329
329
  "DUMMY_6": "f - sixième (enum)",
330
- "DUMMY_7": "g - septième (entity)",
331
- "DUMMY_8": "h - huitième (entities)",
330
+ "DUMMY_7": "g - septième (enums)",
331
+ "DUMMY_ENTITY": "h - huitième (entity)",
332
+ "DUMMY_ENTITIES": "i - neuvième (entities)",
332
333
  "OPTIONS": {
333
334
  "TITLE": "Options",
334
335
  "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": "18.0.2-alpha3",
5
+ "version": "18.0.2-alpha5",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{