@sumaris-net/ngx-components 18.23.19 → 18.23.21

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.
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.23.19",
4
+ "version": "18.23.21",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -60,6 +60,7 @@ export declare class AccountPage extends AppForm<Account> implements OnInit, OnD
60
60
  protected showTechnicalDetails: boolean;
61
61
  protected showApiTokens: boolean;
62
62
  protected showAvatar: boolean;
63
+ protected avatarMaxSize: number;
63
64
  constructor(injector: Injector, formBuilder: UntypedFormBuilder, accountService: AccountService, network: NetworkService, navController: NavController, validatorService: AccountValidatorService, configService: ConfigService, cd: ChangeDetectorRef, imageService: ImageService, environment: Environment, locales: LocaleConfig[], appBaseHref: string);
64
65
  ngOnInit(): void;
65
66
  onChangeAvatar(event: Event): Promise<void>;
@@ -83,8 +84,10 @@ export declare class AccountPage extends AppForm<Account> implements OnInit, OnD
83
84
  close(_?: Event): Promise<boolean>;
84
85
  handleRefresh(event: BeforeUnloadEvent): void;
85
86
  protected onConfigLoaded(config: Configuration): void;
87
+ protected openChangePasswordPage(): Promise<boolean>;
86
88
  protected markForCheck(): void;
87
- protected openChangePasswordPage(): void;
89
+ protected markAsSaving(): void;
90
+ protected markAsSaved(): void;
88
91
  static ɵfac: i0.ɵɵFactoryDeclaration<AccountPage, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
89
92
  static ɵcmp: i0.ɵɵComponentDeclaration<AccountPage, "app-account-page", never, {}, {}, never, never, false, never>;
90
93
  }
@@ -48,4 +48,5 @@ export declare const CORE_CONFIG_OPTIONS: Readonly<{
48
48
  ACCOUNT_LAT_LONG_FORMAT_ENABLE: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
49
49
  ACCOUNT_READONLY: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
50
50
  ACCOUNT_AVATAR_ENABLE: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
51
+ ACCOUNT_AVATAR_MAX_SIZE: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any, any>;
51
52
  }>;
@@ -29,6 +29,7 @@ export declare class Configuration extends Software<Configuration> {
29
29
  fromObject(source: any): void;
30
30
  getPropertyAsBoolean(definition: FormFieldDefinition): boolean;
31
31
  getPropertyAsInt(definition: FormFieldDefinition): number;
32
+ getPropertyAsNumber(definition: FormFieldDefinition): number;
32
33
  getPropertyAsNumbers(definition: FormFieldDefinition): number[];
33
34
  getPropertyAsStrings(definition: FormFieldDefinition): string[];
34
35
  getProperty<T = string>(definition: FormFieldDefinition): T;
@@ -2,7 +2,7 @@ import { Cloneable, Entity, EntityAsObjectOptions } from './entity.model';
2
2
  import { NodeFeature } from './node-feature.model';
3
3
  export declare class Peer extends Entity<Peer> implements Cloneable<Peer> {
4
4
  static fromObject: (source: any, opts?: any) => Peer;
5
- static parseUrl(peerUrl: string): Peer;
5
+ static parseUrl(peerUrl: string | URL): Peer;
6
6
  static path(peer: Peer, ...paths: string[]): string;
7
7
  static equals(p1: Peer, p2: Peer): boolean;
8
8
  static countAllFeatures(peers: Peer[]): number;
@@ -9,7 +9,7 @@ import { EntitiesStorage } from './storage/entities-storage.service';
9
9
  import { ShowToastOptions } from '../../shared/toast/toasts';
10
10
  import { TranslateService } from '@ngx-translate/core';
11
11
  import { AccountService } from './account.service';
12
- import { BehaviorSubject, Observable } from 'rxjs';
12
+ import { BehaviorSubject, Observable, Subscription } from 'rxjs';
13
13
  import { Environment } from '../../../environments/environment.class';
14
14
  import { ConfigService } from './config.service';
15
15
  import { MomentDateAdapter } from '@angular/material-moment-adapter';
@@ -102,6 +102,13 @@ export declare class PlatformService extends StartableService {
102
102
  }): Promise<void>;
103
103
  toggleDarkTheme(enable: boolean): Promise<void>;
104
104
  toggleHighContrast(enable: boolean): void;
105
+ /**
106
+ * Handle deep links (Android App Links / iOS Universal Links)
107
+ */
108
+ addDeepLinkListener(listenerFn: (deppLink: {
109
+ peerUrl: string;
110
+ path: string;
111
+ }) => void): Promise<Subscription>;
105
112
  showToast(opts: ShowToastOptions): Promise<HTMLIonToastElement>;
106
113
  closeToast(id?: string): Promise<boolean>;
107
114
  protected configureTheme(mobile: boolean, win?: any): Promise<void>;
@@ -1,3 +1,4 @@
1
+ import { noTrailingSlash } from '../functions';
1
2
  export declare abstract class UrlUtils {
2
3
  /**
3
4
  * Determines if a given URL is a relative URL.
@@ -96,4 +97,12 @@ export declare abstract class UrlUtils {
96
97
  static addStartingSlash(url: string): string;
97
98
  static removeStartingSlash(url: string): string;
98
99
  static concat(basePath: string, relativePath: string): string;
100
+ /**
101
+ * Cleans the given pathname by replacing occurrences of multiple consecutive slashes with a single slash.
102
+ *
103
+ * @param {string} pathname - The pathname to be cleaned.
104
+ * @return {string} The cleaned pathname with redundant slashes removed.
105
+ */
106
+ static cleanPath(pathname: string): string;
107
+ static noTrailingSlash: typeof noTrailingSlash;
99
108
  }
@@ -19,7 +19,7 @@ export declare class ImageService extends StartableService {
19
19
  protected ngOnStart(): Promise<any>;
20
20
  add(event?: Event, opts?: {
21
21
  maxHeight?: number;
22
- mawWidth?: number;
22
+ maxWidth?: number;
23
23
  quality?: number;
24
24
  multiple?: boolean;
25
25
  autoHideDropArea?: boolean;
@@ -174,7 +174,8 @@
174
174
  "ACCOUNT": {
175
175
  "ENABLE_LATLONG_FORMAT": "My Account > Settings > Enable lat/lon format?",
176
176
  "READONLY": "My Account > Profile > Readonly? (readonly option)",
177
- "AVATAR_ENABLE": "My Account > Profile > Enable avatar?"
177
+ "AVATAR_ENABLE": "My Account > Profile > Enable avatar?",
178
+ "AVATAR_MAX_SIZE": "My Account > Profile > Avatar max size (px)"
178
179
  },
179
180
  "HOME": {
180
181
  "LOGO_LARGE": "Home > Logo (max width 400px)",
@@ -174,7 +174,8 @@
174
174
  "ACCOUNT": {
175
175
  "ENABLE_LATLONG_FORMAT": "My Account > Settings > Enable lat/lon format?",
176
176
  "READONLY": "My Account > Profile > Readonly? (readonly option)",
177
- "AVATAR_ENABLE": "My Account > Profile > Enable avatar?"
177
+ "AVATAR_ENABLE": "My Account > Profile > Enable avatar?",
178
+ "AVATAR_MAX_SIZE": "My Account > Profile > Avatar max size (px)"
178
179
  },
179
180
  "HOME": {
180
181
  "LOGO_LARGE": "Home > Logo (max width 400px)",
@@ -174,7 +174,8 @@
174
174
  "ACCOUNT": {
175
175
  "ENABLE_LATLONG_FORMAT": "Mon Compte > Préférences > Activer le format lat/lon ?",
176
176
  "READONLY": "Mon Compte > Profil > Lecture seule ? (option non modifiable)",
177
- "AVATAR_ENABLE": "Mon Compte > Profil > Activer l'avatar ?"
177
+ "AVATAR_ENABLE": "Mon Compte > Profil > Activer l'avatar ?",
178
+ "AVATAR_MAX_SIZE": "Mon Compte > Profil > Taille max de l'avatar (px)"
178
179
  },
179
180
  "HOME": {
180
181
  "LOGO_LARGE": "Accueil > Logo (largeur max 400px)",
@@ -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.23.19",
5
+ "version": "18.23.21",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{