@sumaris-net/ngx-components 2.12.16-rc8 → 2.12.16

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/doc/changelog.md +2 -0
  2. package/esm2022/public_api.mjs +5 -3
  3. package/esm2022/src/app/admin/users/users.mjs +1 -1
  4. package/esm2022/src/app/core/account/token.table.mjs +1 -1
  5. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +3 -3
  6. package/esm2022/src/app/core/form/properties/properties.table.mjs +2 -2
  7. package/esm2022/src/app/core/home/home.mjs +4 -15
  8. package/esm2022/src/app/core/services/config.service.mjs +10 -7
  9. package/esm2022/src/app/core/table/column/actions-column.component.mjs +120 -0
  10. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +84 -0
  11. package/esm2022/src/app/core/table/{row-field.component.mjs → column/row-field.component.mjs} +8 -8
  12. package/esm2022/src/app/core/table/table.module.mjs +7 -3
  13. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +1 -1
  14. package/esm2022/src/app/core/table/testing/table.testing.mjs +4 -4
  15. package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
  16. package/esm2022/src/app/shared/constants.mjs +5 -2
  17. package/esm2022/src/app/shared/file/images.utils.mjs +26 -1
  18. package/esm2022/src/app/shared/inputs.mjs +34 -1
  19. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +204 -153
  20. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +142 -218
  21. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +5 -4
  22. package/esm2022/src/app/shared/material/material.testing.module.mjs +18 -4
  23. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +2 -2
  24. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +34 -55
  25. package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
  26. package/fesm2022/sumaris-net.ngx-components.mjs +1587 -1465
  27. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  28. package/package.json +1 -1
  29. package/public_api.d.ts +4 -2
  30. package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
  31. package/src/app/core/home/home.d.ts +3 -5
  32. package/src/app/core/table/column/actions-column.component.d.ts +52 -0
  33. package/src/app/core/table/column/nav-actions-column.component.d.ts +32 -0
  34. package/src/app/core/table/{row-field.component.d.ts → column/row-field.component.d.ts} +1 -1
  35. package/src/app/core/table/table.module.d.ts +8 -7
  36. package/src/app/shared/constants.d.ts +3 -0
  37. package/src/app/shared/file/images.utils.d.ts +17 -0
  38. package/src/app/shared/inputs.d.ts +2 -0
  39. package/src/app/shared/material/latlong/latlong.utils.d.ts +9 -1
  40. package/src/app/shared/material/latlong/material.latlong.d.ts +16 -20
  41. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +1 -1
  42. package/src/app/shared/material/material.testing.module.d.ts +11 -9
  43. package/src/app/shared/pipes/maskito.pipe.d.ts +6 -1
  44. package/src/app/shared/testing/maskito.test.d.ts +10 -0
  45. package/src/assets/i18n/en-US.json +2 -2
  46. package/src/assets/i18n/en.json +2 -2
  47. package/src/assets/i18n/fr.json +2 -2
  48. package/src/assets/manifest.json +1 -1
  49. package/esm2022/src/app/core/table/actions-column.component.mjs +0 -124
  50. package/src/app/core/table/actions-column.component.d.ts +0 -50
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.12.16-rc8",
4
+ "version": "2.12.16",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
package/public_api.d.ts CHANGED
@@ -201,8 +201,9 @@ export * from './src/app/core/table/memory-table.class';
201
201
  export * from './src/app/core/table/entities-table-datasource.class';
202
202
  export * from './src/app/core/table/entities-async-table-datasource.class';
203
203
  export * from './src/app/core/table/table-select-columns.component';
204
- export * from './src/app/core/table/actions-column.component';
205
- export * from './src/app/core/table/row-field.component';
204
+ export * from './src/app/core/table/column/actions-column.component';
205
+ export * from './src/app/core/table/column/nav-actions-column.component';
206
+ export * from './src/app/core/table/column/row-field.component';
206
207
  export * from './src/app/core/icon/icon.component';
207
208
  export * from './src/app/core/icon/icon.module';
208
209
  export * from './src/app/core/home/home';
@@ -279,6 +280,7 @@ export * from './src/app/shared/material/badge/badge.test';
279
280
  export * from './src/app/shared/material/testing/common.test';
280
281
  export * from './src/app/shared/material/boolean/testing/boolean.test.page';
281
282
  export * from './src/app/shared/material/duration/testing/mat-duration.test';
283
+ export * from './src/app/shared/testing/maskito.test';
282
284
  export * from './src/app/shared/shared.testing.module';
283
285
  export * from './src/app/shared/upload-file/testing/upload-file.testing';
284
286
  export * from './src/app/shared/upload-file/testing/upload-file.testing.module';
@@ -9,5 +9,5 @@ export declare class EntityMetadataComponent {
9
9
  };
10
10
  showRecorder: boolean;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityMetadataComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<EntityMetadataComponent, "app-entity-metadata", never, { "value": { "alias": "value"; "required": false; }; "showRecorder": { "alias": "showRecorder"; "required": false; }; }, {}, never, ["[recorderSuffix]", "*"], false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityMetadataComponent, "app-entity-metadata", never, { "value": { "alias": "value"; "required": false; }; "showRecorder": { "alias": "showRecorder"; "required": false; }; }, {}, never, ["[recorderSuffix]", "[afterRecorder]", "*"], false, never>;
13
13
  }
@@ -16,16 +16,14 @@ import { ShowToastOptions } from '../../shared/toast/toasts';
16
16
  import { Environment } from '../../../environments/environment.class';
17
17
  import { HistoryPageReference } from '../services/model/history.model';
18
18
  import { RxState } from '@rx-angular/state';
19
+ import { ImagesUtils } from '../../shared/file/images.utils';
19
20
  import * as i0 from "@angular/core";
20
21
  /**
21
22
  * @param files
22
23
  * @deprecated use `getRandomImageWithCredit()` instead
23
24
  **/
24
- export declare function getRandomImage(files: string[]): string | undefined;
25
- export declare function getRandomImageWithCredit(files: string[]): {
26
- image: string;
27
- credits: string;
28
- };
25
+ export declare const getRandomImage: typeof ImagesUtils.getRandomImage;
26
+ export declare const getRandomImageWithCredit: typeof ImagesUtils.getRandomImageWithCredit;
29
27
  export declare const APP_HOME_BUTTONS: InjectionToken<IMenuItem[]>;
30
28
  export interface HomePageState {
31
29
  loading: boolean;
@@ -0,0 +1,52 @@
1
+ import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
2
+ import { AsyncTableElement, TableElement } from '@e-is/ngx-material-table';
3
+ import { MatColumnDef, MatTable } from '@angular/material/table';
4
+ import { MatMenuTrigger } from '@angular/material/menu';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ActionsColumnComponent<T extends TableElement<any> | AsyncTableElement<any> = TableElement<any>> implements OnInit, OnDestroy {
7
+ private table;
8
+ private cd;
9
+ columnDef: MatColumnDef;
10
+ matMenuTrigger: MatMenuTrigger;
11
+ matColumnDef: string;
12
+ style: 'table' | 'mat-table';
13
+ stickyEnd: boolean;
14
+ canCancel: boolean;
15
+ canConfirm: boolean;
16
+ canDelete: boolean;
17
+ canBackward: boolean;
18
+ canForward: boolean;
19
+ canConfirmAndAdd: boolean;
20
+ dirtyIcon: boolean | string;
21
+ optionsTitle: string;
22
+ classList: string;
23
+ cellTemplate: TemplateRef<{
24
+ $implicit: T;
25
+ }>;
26
+ optionsClick: EventEmitter<Event>;
27
+ cancelOrDeleteClick: EventEmitter<{
28
+ event: Event;
29
+ row: T;
30
+ }>;
31
+ confirmEditCreateClick: EventEmitter<{
32
+ event: Event;
33
+ row: T;
34
+ }>;
35
+ confirmAndAddClick: EventEmitter<{
36
+ event: Event;
37
+ row: T;
38
+ }>;
39
+ backward: EventEmitter<{
40
+ event: Event;
41
+ row: T;
42
+ }>;
43
+ forward: EventEmitter<{
44
+ event: Event;
45
+ row: T;
46
+ }>;
47
+ constructor(table: MatTable<any>, cd: ChangeDetectorRef);
48
+ ngOnInit(): void;
49
+ ngOnDestroy(): void;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionsColumnComponent<any>, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionsColumnComponent<any>, "app-actions-column", never, { "matColumnDef": { "alias": "matColumnDef"; "required": false; }; "style": { "alias": "style"; "required": false; }; "stickyEnd": { "alias": "stickyEnd"; "required": false; }; "canCancel": { "alias": "canCancel"; "required": false; }; "canConfirm": { "alias": "canConfirm"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "canBackward": { "alias": "canBackward"; "required": false; }; "canForward": { "alias": "canForward"; "required": false; }; "canConfirmAndAdd": { "alias": "canConfirmAndAdd"; "required": false; }; "dirtyIcon": { "alias": "dirtyIcon"; "required": false; }; "optionsTitle": { "alias": "optionsTitle"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; }, { "optionsClick": "optionsClick"; "cancelOrDeleteClick": "cancelOrDeleteClick"; "confirmEditCreateClick": "confirmEditCreateClick"; "confirmAndAddClick": "confirmAndAddClick"; "backward": "backward"; "forward": "forward"; }, never, ["[matHeader]", "[matFooter]", "[matHeader]", "[matFooter]"], false, never>;
52
+ }
@@ -0,0 +1,32 @@
1
+ import { ChangeDetectorRef, EventEmitter, Injector, OnDestroy, OnInit, TemplateRef } from '@angular/core';
2
+ import { AsyncTableElement, TableElement } from '@e-is/ngx-material-table';
3
+ import { MatColumnDef, MatTable } from '@angular/material/table';
4
+ import { MatMenuTrigger } from '@angular/material/menu';
5
+ import { AppTable } from '../table.class';
6
+ import { AppAsyncTable } from '../async-table.class';
7
+ import * as i0 from "@angular/core";
8
+ export declare class NavActionsColumnComponent implements OnInit, OnDestroy {
9
+ private matTable;
10
+ private cd;
11
+ protected appTable: AppTable<any> | AppAsyncTable<any>;
12
+ columnDef: MatColumnDef;
13
+ matMenuTrigger: MatMenuTrigger;
14
+ matColumnDef: string;
15
+ style: 'table' | 'mat-table';
16
+ stickyEnd: boolean;
17
+ showPending: boolean;
18
+ dirtyIcon: boolean | string;
19
+ optionsTitle: string;
20
+ classList: string;
21
+ cellTemplate: TemplateRef<{
22
+ $implicit: TableElement<any> | AsyncTableElement<any>;
23
+ }>;
24
+ optionsClick: EventEmitter<Event>;
25
+ constructor(injector: Injector, matTable: MatTable<any>, cd: ChangeDetectorRef);
26
+ ngOnInit(): void;
27
+ ngOnDestroy(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavActionsColumnComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavActionsColumnComponent, "app-nav-actions-column", never, { "matColumnDef": { "alias": "matColumnDef"; "required": false; }; "style": { "alias": "style"; "required": false; }; "stickyEnd": { "alias": "stickyEnd"; "required": false; }; "showPending": { "alias": "showPending"; "required": false; }; "dirtyIcon": { "alias": "dirtyIcon"; "required": false; }; "optionsTitle": { "alias": "optionsTitle"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; }, { "optionsClick": "optionsClick"; }, never, ["[matHeader]", "[matFooter]", "[matHeader]", "[matFooter]"], false, never>;
30
+ static ngAcceptInputType_stickyEnd: unknown;
31
+ static ngAcceptInputType_showPending: unknown;
32
+ }
@@ -2,7 +2,7 @@ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ThemePalette } from '@angular/material/core';
3
3
  import { PredefinedColors } from '@ionic/core';
4
4
  import { MatFormFieldAppearance } from '@angular/material/form-field';
5
- import { AppFloatLabelType, FormFieldDefinition } from '../../shared/form/field.model';
5
+ import { AppFloatLabelType, FormFieldDefinition } from '../../../shared/form/field.model';
6
6
  import { MatColumnDef, MatTable } from '@angular/material/table';
7
7
  import { AsyncTableElement, TableElement } from '@e-is/ngx-material-table';
8
8
  import * as i0 from "@angular/core";
@@ -1,13 +1,14 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./table-select-columns.component";
3
- import * as i2 from "./actions-column.component";
4
- import * as i3 from "./row-field.component";
5
- import * as i4 from "./table.pipes";
6
- import * as i5 from "../../shared/shared.module";
7
- import * as i6 from "@ngx-translate/core";
8
- import * as i7 from "../../shared/directives/resizable/resizable.module";
3
+ import * as i2 from "./column/actions-column.component";
4
+ import * as i3 from "./column/nav-actions-column.component";
5
+ import * as i4 from "./column/row-field.component";
6
+ import * as i5 from "./table.pipes";
7
+ import * as i6 from "../../shared/shared.module";
8
+ import * as i7 from "@ngx-translate/core";
9
+ import * as i8 from "../../shared/directives/resizable/resizable.module";
9
10
  export declare class AppTableModule {
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<AppTableModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<AppTableModule, [typeof i1.TableSelectColumnsComponent, typeof i2.ActionsColumnComponent, typeof i3.AppRowField, typeof i4.IsAllSelectedPipe, typeof i4.IsNotAllSelectedPipe], [typeof i5.SharedModule, typeof i6.TranslateModule, typeof i7.ResizableModule], [typeof i6.TranslateModule, typeof i1.TableSelectColumnsComponent, typeof i2.ActionsColumnComponent, typeof i3.AppRowField, typeof i4.IsAllSelectedPipe, typeof i4.IsNotAllSelectedPipe]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppTableModule, [typeof i1.TableSelectColumnsComponent, typeof i2.ActionsColumnComponent, typeof i3.NavActionsColumnComponent, typeof i4.AppRowField, typeof i5.IsAllSelectedPipe, typeof i5.IsNotAllSelectedPipe], [typeof i6.SharedModule, typeof i7.TranslateModule, typeof i8.ResizableModule], [typeof i7.TranslateModule, typeof i1.TableSelectColumnsComponent, typeof i2.ActionsColumnComponent, typeof i3.NavActionsColumnComponent, typeof i4.AppRowField, typeof i5.IsAllSelectedPipe, typeof i5.IsNotAllSelectedPipe]>;
12
13
  static ɵinj: i0.ɵɵInjectorDeclaration<AppTableModule>;
13
14
  }
@@ -4,7 +4,10 @@ export declare const DATE_MATCH_REGEXP: RegExp;
4
4
  export declare const DEFAULT_PLACEHOLDER_CHAR = "_";
5
5
  export declare const PUBKEY_REGEXP: RegExp;
6
6
  export declare const SPACE_PLACEHOLDER_CHAR = "\u2000";
7
+ export declare const SPACE_PLACEHOLDER_CHAR_REGEXP_GLOBAL: RegExp;
7
8
  export declare const EMPTY_PLACEHOLDER_CHAR = "\uFEFF";
9
+ export declare const EMPTY_PLACEHOLDER_CHAR_REGEXP_GLOBAL: RegExp;
10
+ export declare const PLUS_PLACEHOLDER_CHAR_REGEXP_GLOBAL: RegExp;
8
11
  export declare const KEYBOARD_HIDE_DELAY_MS = 250;
9
12
  export declare const DEFAULT_JOIN_PROPERTIES_SEPARATOR: string;
10
13
  export declare const DEFAULT_JOIN_ARRAY_VALUES_SEPARATOR: string;
@@ -12,6 +12,23 @@ export declare interface ImageResizeOptions {
12
12
  thumbnail?: boolean;
13
13
  }
14
14
  export declare class ImagesUtils {
15
+ /**
16
+ * Parse a string like `<path>|<credit>` into an object `{image, credit}`
17
+ * @param file
18
+ **/
19
+ static getImageAndCredit(file: string): {
20
+ image: string;
21
+ credits: string;
22
+ };
23
+ /**
24
+ * @param files
25
+ * @deprecated Use getRandomImageWithCredit() instead
26
+ **/
27
+ static getRandomImage(files: string[]): string | undefined;
28
+ static getRandomImageWithCredit(files: string[]): {
29
+ image: string;
30
+ credits: string;
31
+ };
15
32
  static readAsDataURL(file: File, opts?: ImageResizeOptions): Observable<FileEvent<string>>;
16
33
  static readAndResizeFromUrl(fileUrl: string, opts?: ImageResizeOptions): Promise<string>;
17
34
  static resizeBase64(dataUrl: string, opts?: ImageResizeOptions): Promise<string>;
@@ -30,3 +30,5 @@ export declare function canHaveFocus(input: InputElement, opts?: CanGainFocusOpt
30
30
  export declare function getFocusableInputElements(elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): InputElement[];
31
31
  export declare function focusNextInput(event: Event | undefined, elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): boolean;
32
32
  export declare function focusPreviousInput(event: Event | undefined, elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): boolean;
33
+ export declare function getInputSelectionRangesFromMask(mask: (string | RegExp)[]): number[][];
34
+ export declare function getInputRangeFromCaretIndex(caretIndex: number, inputRanges: number[][]): number[];
@@ -1,13 +1,21 @@
1
+ export declare type LatLongType = 'latitude' | 'longitude';
1
2
  export declare type LatLongPattern = 'DDMMSS' | 'DDMM' | 'DD';
2
3
  export declare const LAT_LONG_PATTERNS: LatLongPattern[];
4
+ export declare const MASKS: {
5
+ [key: string]: {
6
+ [pattern: string]: Array<string | RegExp>;
7
+ };
8
+ };
3
9
  export declare class LatLongFormatOptions {
4
10
  pattern: LatLongPattern;
5
11
  maxDecimals?: number;
6
12
  placeholderChar?: string;
7
13
  hideSign?: boolean;
14
+ inputSelectionRanges?: number[][];
15
+ fixLatLong?: boolean;
8
16
  }
9
- export declare type LatLongFormatFn = (value: number | null, opts?: LatLongFormatOptions) => string;
10
17
  export declare const LAT_LONG_DEFAULT_MAX_DECIMALS = 3;
18
+ export declare function formatLatLong(value: number, type: LatLongType, opts?: Partial<LatLongFormatOptions>): string;
11
19
  export declare function formatLatitude(value: number | null, opts?: Partial<LatLongFormatOptions>): string;
12
20
  export declare function formatLongitude(value: number | null, opts?: Partial<LatLongFormatOptions>): string;
13
21
  export declare function parseLatitudeOrLongitude(input: string, pattern: string, maxDecimals?: number, placeholderChar?: string): number | null;
@@ -1,13 +1,14 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
3
- import { LatLongFormatFn, LatLongFormatOptions, LatLongPattern } from './latlong.utils';
3
+ import { LatLongFormatOptions, LatLongPattern, LatLongType } from './latlong.utils';
4
4
  import { MatFormFieldAppearance, MatFormFieldDefaultOptions, SubscriptSizing } from '@angular/material/form-field';
5
5
  import { AppFloatLabelType } from '../../form/field.model';
6
- import { MaskitoMask } from '@maskito/core';
6
+ import { TranslateService } from '@ngx-translate/core';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueAccessor {
9
9
  private formBuilder;
10
10
  private cd;
11
+ private translate;
11
12
  private formGroupDir;
12
13
  private _onChangeCallback;
13
14
  private _onTouchedCallback;
@@ -20,16 +21,17 @@ export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueA
20
21
  private readonly _defaultAppearance;
21
22
  private readonly _defaultSubscriptSizing;
22
23
  protected _readonly: boolean;
23
- protected _formatFn: LatLongFormatFn;
24
24
  protected textFormControl: UntypedFormControl;
25
25
  protected signFormControl: UntypedFormControl;
26
- protected mask: MaskitoMask;
27
- protected inputPlaceholder: string;
26
+ protected mask: (string | RegExp)[];
27
+ protected inputPlaceHolderI18nKey: string;
28
28
  protected showSignControl: boolean;
29
+ protected maskitoPlaceholder: string;
30
+ protected hasFocus: boolean;
29
31
  get disabled(): any;
30
32
  formControl: UntypedFormControl;
31
33
  formControlName: string;
32
- type: 'latitude' | 'longitude';
34
+ type: LatLongType;
33
35
  pattern: LatLongPattern;
34
36
  required: boolean;
35
37
  floatLabel: AppFloatLabelType;
@@ -39,6 +41,7 @@ export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueA
39
41
  maxDecimals: number;
40
42
  placeholderChar: string;
41
43
  autofocus: boolean;
44
+ mobile: boolean;
42
45
  set appearance(value: MatFormFieldAppearance);
43
46
  get appearance(): MatFormFieldAppearance;
44
47
  set readonly(value: boolean);
@@ -48,27 +51,20 @@ export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueA
48
51
  onBlur: EventEmitter<FocusEvent>;
49
52
  onFocus: EventEmitter<FocusEvent>;
50
53
  inputElement: ElementRef;
51
- constructor(formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective, defaultOptions?: MatFormFieldDefaultOptions);
54
+ constructor(formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, translate: TranslateService, formGroupDir: FormGroupDirective, defaultOptions?: MatFormFieldDefaultOptions);
52
55
  ngOnInit(): void;
53
56
  ngOnDestroy(): void;
54
57
  writeValue(obj: any): void;
55
58
  registerOnChange(fn: any): void;
56
59
  registerOnTouched(fn: any): void;
57
60
  setDisabledState(isDisabled: boolean): void;
58
- /**
59
- * Format value to display as string (no placeholder char, and show sign)
60
- *
61
- * @param value
62
- * @param opts
63
- */
64
- _format(value: number, opts?: Partial<LatLongFormatOptions>): string;
65
61
  _onFocus(event: FocusEvent): boolean;
66
62
  _onBlur(event: FocusEvent): void;
67
- moveCaretToSeparator(event: any, forward: boolean): boolean;
68
- onKeypress(event: KeyboardEvent): void;
69
- private onFormChange;
70
- private checkIfTouched;
63
+ protected _format(value: number, opts?: Partial<LatLongFormatOptions>): string;
64
+ private updateTranslations;
65
+ private parseValue;
71
66
  private markForCheck;
72
- static ɵfac: i0.ɵɵFactoryDeclaration<MatLatLongField, [null, null, { optional: true; }, null]>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<MatLatLongField, "mat-latlong-field", never, { "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "latLongPattern"; "required": false; }; "required": { "alias": "required"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "defaultSign": { "alias": "defaultSign"; "required": false; }; "maxDecimals": { "alias": "maxDecimals"; "required": false; }; "placeholderChar": { "alias": "placeholderChar"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatLatLongField, [null, null, null, { optional: true; }, null]>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatLatLongField, "mat-latlong-field", never, { "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "latLongPattern"; "required": false; }; "required": { "alias": "required"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "defaultSign": { "alias": "defaultSign"; "required": false; }; "maxDecimals": { "alias": "maxDecimals"; "required": false; }; "placeholderChar": { "alias": "placeholderChar"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
69
+ static ngAcceptInputType_mobile: unknown;
74
70
  }
@@ -9,7 +9,7 @@ export declare class LatLongTestPage implements OnInit {
9
9
  protected platform: PlatformService;
10
10
  form: UntypedFormGroup;
11
11
  geoPositionMessage: string;
12
- mode: 'desktop' | 'temp';
12
+ mode: 'desktop' | 'mobile' | 'temp';
13
13
  appearance: MatFormFieldAppearance;
14
14
  constructor(formBuilder: UntypedFormBuilder, platform: PlatformService);
15
15
  ngOnInit(): void;
@@ -13,17 +13,19 @@ import * as i10 from "./swipe/testing/swipe.test";
13
13
  import * as i11 from "./chips/testing/chips.test";
14
14
  import * as i12 from "./badge/badge.test";
15
15
  import * as i13 from "../testing/observable.test";
16
- import * as i14 from "@angular/common";
17
- import * as i15 from "@ionic/angular";
18
- import * as i16 from "@angular/forms";
19
- import * as i17 from "./material.module";
20
- import * as i18 from "@ngx-translate/core";
21
- import * as i19 from "@angular/router";
22
- import * as i20 from "../pipes/pipes.module";
23
- import * as i21 from "./badge/badge.module";
16
+ import * as i14 from "../testing/maskito.test";
17
+ import * as i15 from "@angular/common";
18
+ import * as i16 from "@ionic/angular";
19
+ import * as i17 from "@angular/forms";
20
+ import * as i18 from "./material.module";
21
+ import * as i19 from "@ngx-translate/core";
22
+ import * as i20 from "@angular/router";
23
+ import * as i21 from "../pipes/pipes.module";
24
+ import * as i22 from "./badge/badge.module";
25
+ import * as i23 from "@maskito/angular";
24
26
  export declare const SHARED_MATERIAL_TESTING_PAGES: TestingPage[];
25
27
  export declare class MaterialTestingModule {
26
28
  static ɵfac: i0.ɵɵFactoryDeclaration<MaterialTestingModule, never>;
27
- static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialTestingModule, [typeof i1.MatCommonTestPage, typeof i2.DateTimeTestPage, typeof i3.DateTestPage, typeof i4.DateShortTestPage, typeof i5.DurationTestPage, typeof i6.AutocompleteTestPage, typeof i7.BooleanTestPage, typeof i8.LatLongTestPage, typeof i9.TextFormTestingPage, typeof i10.SwipeTestPage, typeof i11.ChipsTestPage, typeof i12.MatBadgeTestPage, typeof i13.ObservableTestPage], [typeof i14.CommonModule, typeof i15.IonicModule, typeof i16.ReactiveFormsModule, typeof i17.SharedMaterialModule, typeof i18.TranslateModule, typeof i19.RouterModule, typeof i20.SharedPipesModule, typeof i21.SharedBadgeModule, typeof i16.FormsModule], [typeof i17.SharedMaterialModule, typeof i19.RouterModule, typeof i1.MatCommonTestPage, typeof i2.DateTimeTestPage, typeof i3.DateTestPage, typeof i4.DateShortTestPage, typeof i5.DurationTestPage, typeof i6.AutocompleteTestPage, typeof i7.BooleanTestPage, typeof i8.LatLongTestPage, typeof i9.TextFormTestingPage, typeof i10.SwipeTestPage, typeof i11.ChipsTestPage, typeof i12.MatBadgeTestPage, typeof i13.ObservableTestPage]>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialTestingModule, [typeof i1.MatCommonTestPage, typeof i2.DateTimeTestPage, typeof i3.DateTestPage, typeof i4.DateShortTestPage, typeof i5.DurationTestPage, typeof i6.AutocompleteTestPage, typeof i7.BooleanTestPage, typeof i8.LatLongTestPage, typeof i9.TextFormTestingPage, typeof i10.SwipeTestPage, typeof i11.ChipsTestPage, typeof i12.MatBadgeTestPage, typeof i13.ObservableTestPage, typeof i14.MaskitoTestPage], [typeof i15.CommonModule, typeof i16.IonicModule, typeof i17.ReactiveFormsModule, typeof i18.SharedMaterialModule, typeof i19.TranslateModule, typeof i20.RouterModule, typeof i21.SharedPipesModule, typeof i22.SharedBadgeModule, typeof i17.FormsModule, typeof i23.MaskitoDirective], [typeof i18.SharedMaterialModule, typeof i20.RouterModule, typeof i1.MatCommonTestPage, typeof i2.DateTimeTestPage, typeof i3.DateTestPage, typeof i4.DateShortTestPage, typeof i5.DurationTestPage, typeof i6.AutocompleteTestPage, typeof i7.BooleanTestPage, typeof i8.LatLongTestPage, typeof i9.TextFormTestingPage, typeof i10.SwipeTestPage, typeof i11.ChipsTestPage, typeof i12.MatBadgeTestPage, typeof i13.ObservableTestPage, typeof i14.MaskitoTestPage]>;
28
30
  static ɵinj: i0.ɵɵInjectorDeclaration<MaterialTestingModule>;
29
31
  }
@@ -1,9 +1,14 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { MaskitoMask, MaskitoOptions, MaskitoPlugin } from '@maskito/core';
3
3
  import * as i0 from "@angular/core";
4
+ export type MaskitoPlaceholderPipeOptions = {
5
+ defaultPrefix?: string;
6
+ noDefaults?: boolean;
7
+ } & Partial<MaskitoOptions>;
4
8
  export declare class MaskitoPlaceholderPipe implements PipeTransform {
5
- transform(placeholder: string, mask: MaskitoMask, defaultPrefix?: string): MaskitoOptions;
9
+ transform(placeholder: string, mask: MaskitoMask, opts?: MaskitoPlaceholderPipeOptions): MaskitoOptions;
6
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MaskitoPlaceholderPipe, never>;
7
11
  static ɵpipe: i0.ɵɵPipeDeclaration<MaskitoPlaceholderPipe, "maskitoPlaceholder", false>;
8
12
  }
9
13
  export declare function maskitoPrefixPlugin(prefix: string, placeholder?: string): MaskitoPlugin;
14
+ export declare function maskitoAutoSelectByMaskPattern(): MaskitoPlugin;
@@ -0,0 +1,10 @@
1
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MaskitoTestPage {
4
+ protected formBuilder: UntypedFormBuilder;
5
+ form: UntypedFormGroup;
6
+ labelMask: (string | RegExp)[];
7
+ constructor(formBuilder: UntypedFormBuilder);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<MaskitoTestPage, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<MaskitoTestPage, "app-maskito-test", never, {}, {}, never, never, false, never>;
10
+ }
@@ -78,10 +78,10 @@
78
78
  "DATE_PLACEHOLDER": "mm/dd/yyyy",
79
79
  "DATE_TIME_PLACEHOLDER": "mm/dd/yyyy hh:mm",
80
80
  "LAT_LONG": {
81
- "DDMMSS_PLACEHOLDER": "DD° MM' SS\"",
81
+ "DDMMSS_PLACEHOLDER": "DD° MM' SS.SS\"",
82
82
  "DDMM_PLACEHOLDER": "DD° MM.MMM'",
83
83
  "DD_PLACEHOLDER": "+DD.DDD°",
84
- "DDDMMSS_PLACEHOLDER": "DDD° MM' SS\"",
84
+ "DDDMMSS_PLACEHOLDER": "DDD° MM' SS.SS\"",
85
85
  "DDDMM_PLACEHOLDER": "DDD° MM.MMM'",
86
86
  "DDD_PLACEHOLDER": "+DDD.DDD°",
87
87
  "LAT_SIGN_PLACEHOLDER": "N|S",
@@ -77,10 +77,10 @@
77
77
  "DATE_PLACEHOLDER": "dd/mm/yyyy",
78
78
  "DATE_TIME_PLACEHOLDER": "dd/mm/yyyy hh:mm",
79
79
  "LAT_LONG": {
80
- "DDMMSS_PLACEHOLDER": "DD° MM' SS\"",
80
+ "DDMMSS_PLACEHOLDER": "DD° MM' SS.SS\"",
81
81
  "DDMM_PLACEHOLDER": "DD° MM.MMM'",
82
82
  "DD_PLACEHOLDER": "+DD.DDD°",
83
- "DDDMMSS_PLACEHOLDER": "DDD° MM' SS\"",
83
+ "DDDMMSS_PLACEHOLDER": "DDD° MM' SS.SS\"",
84
84
  "DDDMM_PLACEHOLDER": "DDD° MM.MMM'",
85
85
  "DDD_PLACEHOLDER": "+DDD.DDD°",
86
86
  "LAT_SIGN_PLACEHOLDER": "N|S",
@@ -77,10 +77,10 @@
77
77
  "DATE_PLACEHOLDER": "jj/mm/aaaa",
78
78
  "DATE_TIME_PLACEHOLDER": "jj/mm/aaaa hh:mm",
79
79
  "LAT_LONG": {
80
- "DDMMSS_PLACEHOLDER": "DD° MM' SS\"",
80
+ "DDMMSS_PLACEHOLDER": "DD° MM' SS.SS\"",
81
81
  "DDMM_PLACEHOLDER": "DD° MM.MMM'",
82
82
  "DD_PLACEHOLDER": "± DD.DDDDDDD°",
83
- "DDDMMSS_PLACEHOLDER": "DDD° MM' SS\"",
83
+ "DDDMMSS_PLACEHOLDER": "DDD° MM' SS.SS\"",
84
84
  "DDDMM_PLACEHOLDER": "DDD° MM.MMM'",
85
85
  "DDD_PLACEHOLDER": "±DDD.DDDDDDD°",
86
86
  "LAT_SIGN_PLACEHOLDER": "N|S",
@@ -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.12.16-rc8",
5
+ "version": "2.12.16",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{