@sumaris-net/ngx-components 2.4.23-rc2 → 2.5.0-beta2
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/doc/changelog.md +0 -3
- package/esm2020/public_api.mjs +2 -1
- package/esm2020/src/app/core/account/account.module.mjs +8 -4
- package/esm2020/src/app/core/account/account.page.mjs +78 -32
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +28 -10
- package/esm2020/src/app/core/form/properties/properties.module.mjs +14 -6
- package/esm2020/src/app/core/form/properties/properties.table.mjs +218 -0
- package/esm2020/src/app/core/form/properties/property.validator.mjs +1 -1
- package/esm2020/src/app/core/services/account.service.mjs +31 -7
- package/esm2020/src/app/core/services/config/core.config.mjs +8 -1
- package/esm2020/src/app/core/services/model/account.model.mjs +72 -4
- package/esm2020/src/app/core/services/model/settings.model.mjs +1 -73
- package/esm2020/src/app/core/services/validator/account.validator.mjs +13 -10
- package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +7 -9
- package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +1 -1
- package/esm2020/src/app/shared/dates.mjs +1 -7
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +7 -11
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +3 -3
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +6 -7
- package/fesm2015/sumaris-net.ngx-components.mjs +4144 -3848
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +4030 -3756
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/src/app/core/account/account.module.d.ts +2 -1
- package/src/app/core/account/account.page.d.ts +17 -13
- package/src/app/core/form/entity/entity-editor.class.d.ts +1 -1
- package/src/app/core/form/properties/properties.module.d.ts +5 -3
- package/src/app/core/form/properties/properties.table.d.ts +66 -0
- package/src/app/core/services/account.service.d.ts +16 -7
- package/src/app/core/services/config/core.config.d.ts +1 -0
- package/src/app/core/services/model/account.model.d.ts +16 -2
- package/src/app/core/services/model/settings.model.d.ts +0 -15
- package/src/app/core/services/validator/account.validator.d.ts +3 -1
- package/src/app/core/services/validator/user-settings.validator.d.ts +1 -1
- package/src/app/shared/dates.d.ts +0 -1
- package/src/app/shared/toolbar/toolbar.d.ts +2 -2
- package/src/assets/i18n/en-US.json +12 -1
- package/src/assets/i18n/en.json +12 -1
- package/src/assets/i18n/fr.json +17 -13
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -161,6 +161,7 @@ export * from './src/app/core/form/entity/entity.module';
|
|
|
161
161
|
export * from './src/app/core/form/list/list.form';
|
|
162
162
|
export * from './src/app/core/form/list/list.module';
|
|
163
163
|
export * from './src/app/core/form/properties/properties.form';
|
|
164
|
+
export * from './src/app/core/form/properties/properties.table';
|
|
164
165
|
export * from './src/app/core/form/properties/properties.module';
|
|
165
166
|
export * from './src/app/core/form/text-popover/text-form.component';
|
|
166
167
|
export * from './src/app/core/form/text-popover/text-popover.component';
|
|
@@ -4,8 +4,9 @@ import * as i2 from "@angular/common";
|
|
|
4
4
|
import * as i3 from "../../shared/shared.module";
|
|
5
5
|
import * as i4 from "@ngx-translate/core";
|
|
6
6
|
import * as i5 from "../form/buttons/form-buttons-bar.module";
|
|
7
|
+
import * as i6 from "../form/properties/properties.module";
|
|
7
8
|
export declare class AppAccountModule {
|
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppAccountModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AppAccountModule, [typeof i1.AccountPage], [typeof i2.CommonModule, typeof i3.SharedModule, typeof i4.TranslateModule, typeof i5.AppFormButtonsBarModule], [typeof i4.TranslateModule, typeof i1.AccountPage]>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AppAccountModule, [typeof i1.AccountPage], [typeof i2.CommonModule, typeof i3.SharedModule, typeof i4.TranslateModule, typeof i5.AppFormButtonsBarModule, typeof i6.AppPropertiesFormModule], [typeof i4.TranslateModule, typeof i1.AccountPage]>;
|
|
10
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<AppAccountModule>;
|
|
11
12
|
}
|
|
@@ -1,49 +1,53 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Injector, OnDestroy } from '@angular/core';
|
|
1
|
+
import { ChangeDetectorRef, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { Subscription } from 'rxjs';
|
|
3
3
|
import { AccountService } from '../services/account.service';
|
|
4
4
|
import { Account } from '../services/model/account.model';
|
|
5
|
-
import { UserSettingsValidatorService } from '../services/validator/user-settings.validator';
|
|
6
5
|
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
|
7
6
|
import { AccountValidatorService } from '../services/validator/account.validator';
|
|
8
7
|
import { AppForm } from '../form/form.class';
|
|
9
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
10
8
|
import { FormFieldDefinition } from '../../shared/form/field.model';
|
|
11
|
-
import { LocalSettingsService } from '../services/local-settings.service';
|
|
12
9
|
import { LocaleConfig } from '../services/model/settings.model';
|
|
13
10
|
import { Router } from '@angular/router';
|
|
14
11
|
import { CanLeave } from '../../shared/guard/component-dirty.guard';
|
|
15
12
|
import { NetworkService } from '../services/network.service';
|
|
16
13
|
import { MatTabGroup } from '@angular/material/tabs';
|
|
14
|
+
import { ConfigService } from '../services/config.service';
|
|
15
|
+
import { AppPropertiesTable } from '../form/properties/properties.table';
|
|
17
16
|
import * as i0 from "@angular/core";
|
|
18
|
-
export declare class AccountPage extends AppForm<Account> implements OnDestroy, CanLeave {
|
|
17
|
+
export declare class AccountPage extends AppForm<Account> implements OnInit, OnDestroy, CanLeave {
|
|
19
18
|
formBuilder: UntypedFormBuilder;
|
|
20
19
|
accountService: AccountService;
|
|
21
20
|
network: NetworkService;
|
|
22
21
|
protected router: Router;
|
|
23
22
|
protected validatorService: AccountValidatorService;
|
|
24
|
-
protected
|
|
25
|
-
protected translate: TranslateService;
|
|
26
|
-
protected settings: LocalSettingsService;
|
|
23
|
+
protected configService: ConfigService;
|
|
27
24
|
protected cd: ChangeDetectorRef;
|
|
25
|
+
tabGroup: MatTabGroup;
|
|
26
|
+
propertiesTable: AppPropertiesTable;
|
|
28
27
|
selectedTabIndex: number;
|
|
29
28
|
isLogin: boolean;
|
|
30
29
|
changesSubscription: Subscription;
|
|
31
30
|
networkSubscription: Subscription;
|
|
32
|
-
account: Account;
|
|
33
31
|
email: any;
|
|
34
32
|
additionalFields: FormFieldDefinition[];
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
optionDefinitions: FormFieldDefinition[];
|
|
34
|
+
get settingsForm(): UntypedFormGroup;
|
|
37
35
|
locales: LocaleConfig[];
|
|
38
36
|
latLongFormats: import("../../shared/material/latlong/latlong.utils").LatLongPattern[];
|
|
39
37
|
saving: boolean;
|
|
40
38
|
submitted: boolean;
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
accountReadOnly: boolean;
|
|
40
|
+
readonly mobile: boolean;
|
|
41
|
+
get valid(): boolean;
|
|
42
|
+
constructor(injector: Injector, formBuilder: UntypedFormBuilder, accountService: AccountService, network: NetworkService, router: Router, validatorService: AccountValidatorService, configService: ConfigService, cd: ChangeDetectorRef, locales: any);
|
|
43
43
|
ngOnInit(): void;
|
|
44
44
|
ngOnDestroy(): void;
|
|
45
45
|
onLogin(account: Account): void;
|
|
46
46
|
onLogout(): void;
|
|
47
|
+
setValue(data: Account, opts?: {
|
|
48
|
+
emitEvent?: boolean;
|
|
49
|
+
onlySelf?: boolean;
|
|
50
|
+
}): Promise<void>;
|
|
47
51
|
refresh(event?: Event): Promise<Account>;
|
|
48
52
|
startListenChanges(): void;
|
|
49
53
|
stopListenChanges(): void;
|
|
@@ -185,7 +185,7 @@ export declare abstract class AppEntityEditor<T extends Entity<T, ID>, S extends
|
|
|
185
185
|
* Open the first tab that is invalid
|
|
186
186
|
*/
|
|
187
187
|
private openFirstInvalidTab;
|
|
188
|
-
protected updateRoute(data: T, queryParams
|
|
188
|
+
protected updateRoute(data: T, queryParams: any): Promise<boolean>;
|
|
189
189
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppEntityEditor<any, any, any>, never>;
|
|
190
190
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AppEntityEditor<any, any, any>, never, never, {}, {}, never, never, false>;
|
|
191
191
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./properties.form";
|
|
3
|
-
import * as i2 from "
|
|
4
|
-
import * as i3 from "
|
|
3
|
+
import * as i2 from "./properties.table";
|
|
4
|
+
import * as i3 from "../../../shared/shared.module";
|
|
5
|
+
import * as i4 from "@ngx-translate/core";
|
|
6
|
+
import * as i5 from "../../table/table.module";
|
|
5
7
|
export declare class AppPropertiesFormModule {
|
|
6
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesFormModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AppPropertiesFormModule, [typeof i1.AppPropertiesForm], [typeof
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AppPropertiesFormModule, [typeof i1.AppPropertiesForm, typeof i2.AppPropertiesTable], [typeof i3.SharedModule, typeof i4.TranslateModule, typeof i5.AppTableModule], [typeof i4.TranslateModule, typeof i1.AppPropertiesForm, typeof i2.AppPropertiesTable]>;
|
|
8
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<AppPropertiesFormModule>;
|
|
9
11
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AppInMemoryTable } from '../../table/memory-table.class';
|
|
2
|
+
import { Injector, OnInit } from '@angular/core';
|
|
3
|
+
import { Entity, EntityAsObjectOptions } from '../../services/model/entity.model';
|
|
4
|
+
import { AppValidatorService } from '../../services/validator/base.validator.class';
|
|
5
|
+
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
|
6
|
+
import { FormFieldDefinition, FormFieldDefinitionMap } from '../../../shared/form/field.model';
|
|
7
|
+
import { FilterFn, LoadResult } from '../../../shared/services/entity-service.class';
|
|
8
|
+
import { BehaviorSubject } from 'rxjs';
|
|
9
|
+
import { Environment } from '../../../../environments/environment.class';
|
|
10
|
+
import { TableElement } from '@e-is/ngx-material-table';
|
|
11
|
+
import { EntityFilter } from '../../services/model/filter.model';
|
|
12
|
+
import { ObjectMap } from '../../../shared/types';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
interface TranslatedFormFieldDefinition extends FormFieldDefinition {
|
|
15
|
+
translatedLabel?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class PropertyEntity extends Entity<PropertyEntity, string> {
|
|
18
|
+
static fromObject: (source: any, opts?: any) => PropertyEntity;
|
|
19
|
+
definition: TranslatedFormFieldDefinition;
|
|
20
|
+
value: any;
|
|
21
|
+
fromObject(source: any): void;
|
|
22
|
+
asObject(opts?: EntityAsObjectOptions): any;
|
|
23
|
+
}
|
|
24
|
+
export declare class PropertyEntityFilter extends EntityFilter<PropertyEntityFilter, PropertyEntity> {
|
|
25
|
+
static fromObject: (source: any, opts?: any) => PropertyEntityFilter;
|
|
26
|
+
all: boolean;
|
|
27
|
+
fromObject(source: any): void;
|
|
28
|
+
asObject(opts?: EntityAsObjectOptions): any;
|
|
29
|
+
protected buildFilter(): FilterFn<PropertyEntity>[];
|
|
30
|
+
}
|
|
31
|
+
export declare class PropertyEntityValidator extends AppValidatorService<PropertyEntity> {
|
|
32
|
+
protected formBuilder: UntypedFormBuilder;
|
|
33
|
+
constructor(formBuilder: UntypedFormBuilder);
|
|
34
|
+
getFormGroupConfig(data?: PropertyEntity): {
|
|
35
|
+
[p: string]: any;
|
|
36
|
+
};
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PropertyEntityValidator, never>;
|
|
38
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PropertyEntityValidator, never, never, {}, {}, never, never, false>;
|
|
39
|
+
}
|
|
40
|
+
export declare class AppPropertiesTable extends AppInMemoryTable<PropertyEntity, PropertyEntityFilter, string> implements OnInit {
|
|
41
|
+
protected injector: Injector;
|
|
42
|
+
protected formBuilder: UntypedFormBuilder;
|
|
43
|
+
protected validatorService: PropertyEntityValidator;
|
|
44
|
+
definitions: FormFieldDefinition[];
|
|
45
|
+
showToolbar: boolean;
|
|
46
|
+
availableDefinitions$: BehaviorSubject<TranslatedFormFieldDefinition[]>;
|
|
47
|
+
definitionsMapByKey: FormFieldDefinitionMap;
|
|
48
|
+
translationsByKey: ObjectMap<string>;
|
|
49
|
+
filterForm: UntypedFormGroup;
|
|
50
|
+
constructor(injector: Injector, formBuilder: UntypedFormBuilder, validatorService: PropertyEntityValidator, environment: Environment);
|
|
51
|
+
ngOnInit(): void;
|
|
52
|
+
get value(): PropertyEntity[];
|
|
53
|
+
set value(data: PropertyEntity[]);
|
|
54
|
+
setValue(value: PropertyEntity[], opts?: {
|
|
55
|
+
emitEvent?: boolean;
|
|
56
|
+
}): void;
|
|
57
|
+
confirmEditCreate(event?: Event, row?: TableElement<PropertyEntity>): boolean;
|
|
58
|
+
updateView(res: LoadResult<PropertyEntity> | undefined, opts?: {
|
|
59
|
+
emitEvent?: boolean;
|
|
60
|
+
}): Promise<void>;
|
|
61
|
+
protected updateAvailableDefinitions(): Promise<void>;
|
|
62
|
+
toTranslatedFormFieldDefinition: (definition: FormFieldDefinition) => TranslatedFormFieldDefinition;
|
|
63
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesTable, never>;
|
|
64
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesTable, "app-properties-table", never, { "definitions": "definitions"; "showToolbar": "showToolbar"; }, {}, never, never, false>;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
1
2
|
import { Keypair } from './crypto.service';
|
|
2
3
|
import { Department } from './model/department.model';
|
|
3
|
-
import { Account } from './model/account.model';
|
|
4
|
+
import { Account, UserSettings } from './model/account.model';
|
|
4
5
|
import { Person, UserProfileLabel } from './model/person.model';
|
|
5
|
-
import { LocalSettings, UsageMode
|
|
6
|
+
import { LocalSettings, UsageMode } from './model/settings.model';
|
|
6
7
|
import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';
|
|
7
8
|
import { FetchPolicy } from '@apollo/client/core';
|
|
8
9
|
import { Storage } from '@ionic/storage-angular';
|
|
9
10
|
import { BaseGraphqlService } from './base-graphql-service.class';
|
|
10
11
|
import { GraphqlService } from '../graphql/graphql.service';
|
|
11
12
|
import { LocalSettingsService } from './local-settings.service';
|
|
12
|
-
import { FormFieldDefinition } from '../../shared/form/field.model';
|
|
13
|
+
import { FormFieldDefinition, FormFieldDefinitionMap } from '../../shared/form/field.model';
|
|
13
14
|
import { NetworkService } from './network.service';
|
|
14
15
|
import { AuthTokenType } from './network.types';
|
|
15
16
|
import { FileService } from '../../shared/file/file.service';
|
|
@@ -27,7 +28,7 @@ export declare interface AccountDetails {
|
|
|
27
28
|
pubkey: string;
|
|
28
29
|
person: Person;
|
|
29
30
|
department: Department;
|
|
30
|
-
mainProfile:
|
|
31
|
+
mainProfile: string;
|
|
31
32
|
}
|
|
32
33
|
export interface AuthData {
|
|
33
34
|
username: string;
|
|
@@ -37,6 +38,10 @@ export interface AuthData {
|
|
|
37
38
|
export interface RegisterData extends AuthData {
|
|
38
39
|
account: Account;
|
|
39
40
|
}
|
|
41
|
+
export interface UserSettingsOptions {
|
|
42
|
+
options: FormFieldDefinitionMap;
|
|
43
|
+
}
|
|
44
|
+
export declare const APP_USER_SETTINGS_OPTIONS: InjectionToken<UserSettingsOptions>;
|
|
40
45
|
export declare interface IsEmailExistsVariables {
|
|
41
46
|
email: string;
|
|
42
47
|
hash: string;
|
|
@@ -62,6 +67,7 @@ export declare class AccountService extends BaseGraphqlService<Account, any, num
|
|
|
62
67
|
private readonly _enableListenChanges;
|
|
63
68
|
private readonly _listenIntervalInSeconds;
|
|
64
69
|
private _cache;
|
|
70
|
+
private readonly _optionDefs;
|
|
65
71
|
private _$additionalFields;
|
|
66
72
|
private _tokenType$;
|
|
67
73
|
get account(): Account;
|
|
@@ -69,7 +75,7 @@ export declare class AccountService extends BaseGraphqlService<Account, any, num
|
|
|
69
75
|
get department(): Department;
|
|
70
76
|
get tokenType(): AuthTokenType;
|
|
71
77
|
set tokenType(value: AuthTokenType);
|
|
72
|
-
constructor(network: NetworkService, graphql: GraphqlService, settings: LocalSettingsService, storage: Storage, file: FileService, translate: TranslateService, toastController: ToastController, environment: any);
|
|
78
|
+
constructor(network: NetworkService, graphql: GraphqlService, settings: LocalSettingsService, storage: Storage, file: FileService, translate: TranslateService, toastController: ToastController, environment: any, options: UserSettingsOptions);
|
|
73
79
|
ngOnStart(): Promise<Account>;
|
|
74
80
|
protected ngOnStop(): Promise<void>;
|
|
75
81
|
isLogin(): boolean;
|
|
@@ -123,12 +129,15 @@ export declare class AccountService extends BaseGraphqlService<Account, any, num
|
|
|
123
129
|
*/
|
|
124
130
|
isEmailExists(email: string): Promise<boolean>;
|
|
125
131
|
sendConfirmationEmail(email: string, locale?: string): Promise<boolean>;
|
|
126
|
-
confirmEmail(email:
|
|
132
|
+
confirmEmail(email: string, code: string): Promise<boolean>;
|
|
127
133
|
listenChanges(opts?: AccountWatchOptions): Subscription;
|
|
128
134
|
get additionalFields(): FormFieldDefinition[];
|
|
129
135
|
get $additionalFields(): Observable<FormFieldDefinition[]>;
|
|
130
136
|
getAdditionalField(key: string): FormFieldDefinition | undefined;
|
|
131
137
|
registerAdditionalField(field: FormFieldDefinition): void;
|
|
138
|
+
get optionDefs(): FormFieldDefinition[];
|
|
139
|
+
registerOption(def: FormFieldDefinition): void;
|
|
140
|
+
registerOptions(defs: FormFieldDefinition[]): void;
|
|
132
141
|
protected resetData(): void;
|
|
133
142
|
protected loadData(opts?: {
|
|
134
143
|
offline?: boolean;
|
|
@@ -161,6 +170,6 @@ export declare class AccountService extends BaseGraphqlService<Account, any, num
|
|
|
161
170
|
protected copyIdAndUpdateDate(source: Account | undefined, target: Account): void;
|
|
162
171
|
protected copyIdAndUpdateDateSettings(source: UserSettings | undefined, target: UserSettings): void;
|
|
163
172
|
protected showToast<T = any>(opts: ShowToastOptions): Promise<OverlayEventDetail<T>>;
|
|
164
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AccountService, [null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
|
|
173
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccountService, [null, null, null, null, null, { optional: true; }, { optional: true; }, null, { optional: true; }]>;
|
|
165
174
|
static ɵprov: i0.ɵɵInjectableDeclaration<AccountService>;
|
|
166
175
|
}
|
|
@@ -25,4 +25,5 @@ export declare const CORE_CONFIG_OPTIONS: Readonly<{
|
|
|
25
25
|
COLOR_DANGER: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
|
|
26
26
|
ANDROID_INSTALL_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
|
|
27
27
|
DB_TIMEZONE: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
|
|
28
|
+
ACCOUNT_READONLY: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
|
|
28
29
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LocalSettings } from './settings.model';
|
|
2
2
|
import { Person } from './person.model';
|
|
3
|
-
import { EntityAsObjectOptions } from './entity.model';
|
|
3
|
+
import { Entity, EntityAsObjectOptions } from './entity.model';
|
|
4
|
+
import { LatLongPattern } from '../../../shared/material/latlong/latlong.utils';
|
|
4
5
|
/**
|
|
5
6
|
* A user account
|
|
6
7
|
*/
|
|
@@ -16,4 +17,17 @@ export declare class Account extends Person<Account> {
|
|
|
16
17
|
asPerson(): Person;
|
|
17
18
|
get displayName(): string;
|
|
18
19
|
}
|
|
20
|
+
export declare class UserSettings extends Entity<UserSettings> {
|
|
21
|
+
static SETTINGS_PROPERTIES: string[];
|
|
22
|
+
static fromObject: (source: any, opts?: any) => UserSettings;
|
|
23
|
+
locale: string;
|
|
24
|
+
latLongFormat: LatLongPattern;
|
|
25
|
+
content: any;
|
|
26
|
+
nonce: string;
|
|
27
|
+
constructor();
|
|
28
|
+
asObject(opts?: EntityAsObjectOptions): any;
|
|
29
|
+
fromObject(source: any, opts?: any): void;
|
|
30
|
+
merge<S = LocalSettings>(source: S, includesProperties: (keyof S)[]): boolean;
|
|
31
|
+
asLocalSettings(): Partial<LocalSettings>;
|
|
32
|
+
}
|
|
19
33
|
export declare function accountToString(data: Account): string;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Entity, EntityAsObjectOptions } from './entity.model';
|
|
2
|
-
import { LatLongPattern } from '../../../shared/material/latlong/latlong.utils';
|
|
3
1
|
import { PropertiesMap, Property } from '../../../shared/types';
|
|
4
2
|
import { InjectionToken } from '@angular/core';
|
|
5
3
|
import { HistoryPageReference } from './history.model';
|
|
@@ -26,16 +24,3 @@ export declare interface LocalSettings {
|
|
|
26
24
|
offlineFeatures?: (string | OfflineFeature)[];
|
|
27
25
|
pageHistoryMaxSize: number;
|
|
28
26
|
}
|
|
29
|
-
export declare class UserSettings extends Entity<UserSettings> {
|
|
30
|
-
static SETTINGS_PROPERTIES: string[];
|
|
31
|
-
static fromObject: (source: any, opts?: any) => UserSettings;
|
|
32
|
-
locale: string;
|
|
33
|
-
latLongFormat: LatLongPattern;
|
|
34
|
-
content: {};
|
|
35
|
-
nonce: string;
|
|
36
|
-
constructor();
|
|
37
|
-
asObject(opts?: EntityAsObjectOptions): any;
|
|
38
|
-
fromObject(source: any, opts?: any): void;
|
|
39
|
-
merge<S = LocalSettings>(source: S, includesProperties: (keyof S)[]): boolean;
|
|
40
|
-
asLocalSettings(): Partial<LocalSettings>;
|
|
41
|
-
}
|
|
@@ -3,11 +3,13 @@ import { Account } from '../model/account.model';
|
|
|
3
3
|
import { AccountService } from '../account.service';
|
|
4
4
|
import { FormFieldDefinition } from '../../../shared/form/field.model';
|
|
5
5
|
import { AppValidatorService } from './base.validator.class';
|
|
6
|
+
import { UserSettingsValidatorService } from './user-settings.validator';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class AccountValidatorService extends AppValidatorService<Account> {
|
|
8
9
|
protected formBuilder: UntypedFormBuilder;
|
|
9
10
|
protected accountService: AccountService;
|
|
10
|
-
|
|
11
|
+
protected userSettingsValidatorService: UserSettingsValidatorService;
|
|
12
|
+
constructor(formBuilder: UntypedFormBuilder, accountService: AccountService, userSettingsValidatorService: UserSettingsValidatorService);
|
|
11
13
|
getFormGroupConfig(data?: Account): any;
|
|
12
14
|
getValidators(field: FormFieldDefinition): ValidatorFn | ValidatorFn[];
|
|
13
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<AccountValidatorService, never>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
|
2
|
-
import { UserSettings } from '../model/settings.model';
|
|
3
2
|
import { AppValidatorService } from './base.validator.class';
|
|
3
|
+
import { UserSettings } from '../model/account.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class UserSettingsValidatorService extends AppValidatorService<UserSettings> {
|
|
6
6
|
constructor(formBuilder: UntypedFormBuilder);
|
|
@@ -22,7 +22,6 @@ export declare class DateUtils {
|
|
|
22
22
|
*/
|
|
23
23
|
static resetTime(value: Moment | string, timezone?: string, keepLocalTime?: boolean): Moment | undefined;
|
|
24
24
|
static markNoTime(value: Moment): Moment | undefined;
|
|
25
|
-
static markTime(value: Moment): Moment | undefined;
|
|
26
25
|
static isNoTime(value: Moment): boolean;
|
|
27
26
|
/**
|
|
28
27
|
* Test if a date is on the given day of week
|
|
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
export declare abstract class ToolbarToken {
|
|
12
12
|
abstract onBackClick: Observable<Event>;
|
|
13
13
|
abstract doBackClick(event: Event): any;
|
|
14
|
-
abstract goBack(): Promise<
|
|
14
|
+
abstract goBack(): Promise<void>;
|
|
15
15
|
abstract canGoBack: boolean;
|
|
16
16
|
}
|
|
17
17
|
export declare class ToolbarComponent implements ToolbarToken, OnInit, OnDestroy {
|
|
@@ -52,7 +52,7 @@ export declare class ToolbarComponent implements ToolbarToken, OnInit, OnDestroy
|
|
|
52
52
|
ngOnDestroy(): void;
|
|
53
53
|
toggleSearchBar(): Promise<void>;
|
|
54
54
|
doBackClick(event: Event): void;
|
|
55
|
-
goBack(): Promise<
|
|
55
|
+
goBack(): Promise<void>;
|
|
56
56
|
tapClose(event: HammerTapEvent): void;
|
|
57
57
|
tapValidate(event: HammerTapEvent): void;
|
|
58
58
|
protected ionSearchBarChanged(event: Event): void;
|
|
@@ -281,7 +281,18 @@
|
|
|
281
281
|
"TITLE": "Settings",
|
|
282
282
|
"DESCRIPTION": "The preferences below are used for all emails or reports that are sent to you:",
|
|
283
283
|
"LOCALE": "Language",
|
|
284
|
-
"LAT_LONG_FORMAT": "Latitude/longitude format"
|
|
284
|
+
"LAT_LONG_FORMAT": "Latitude/longitude format",
|
|
285
|
+
"DUMMY_1": "c - third",
|
|
286
|
+
"DUMMY_2": "b - second",
|
|
287
|
+
"DUMMY_3": "a - first",
|
|
288
|
+
"DUMMY_4": "e - fifth",
|
|
289
|
+
"DUMMY_5": "d - fourth",
|
|
290
|
+
"OPTIONS": {
|
|
291
|
+
"TITLE": "Options",
|
|
292
|
+
"DEFINITION": "Option",
|
|
293
|
+
"DEFAULT_VALUE": "Default value",
|
|
294
|
+
"VALUE": "Value"
|
|
295
|
+
}
|
|
285
296
|
},
|
|
286
297
|
"INFO": {
|
|
287
298
|
"RELOADED": "Your user account has been updated!"
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -281,7 +281,18 @@
|
|
|
281
281
|
"TITLE": "Settings",
|
|
282
282
|
"DESCRIPTION": "The preferences below are used for all emails or reports that are sent to you:",
|
|
283
283
|
"LOCALE": "Language",
|
|
284
|
-
"LAT_LONG_FORMAT": "Latitude/longitude format"
|
|
284
|
+
"LAT_LONG_FORMAT": "Latitude/longitude format",
|
|
285
|
+
"DUMMY_1": "c - third",
|
|
286
|
+
"DUMMY_2": "b - second",
|
|
287
|
+
"DUMMY_3": "a - first",
|
|
288
|
+
"DUMMY_4": "e - fifth",
|
|
289
|
+
"DUMMY_5": "d - fourth",
|
|
290
|
+
"OPTIONS": {
|
|
291
|
+
"TITLE": "Options",
|
|
292
|
+
"DEFINITION": "Option",
|
|
293
|
+
"DEFAULT_VALUE": "Default value",
|
|
294
|
+
"VALUE": "Value"
|
|
295
|
+
}
|
|
285
296
|
},
|
|
286
297
|
"INFO": {
|
|
287
298
|
"RELOADED": "Your user account has been updated!"
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -62,7 +62,6 @@
|
|
|
62
62
|
"BTN_DECIMAL_SEPARATOR": ",",
|
|
63
63
|
"EMPTY_OPTION": "(Vide)",
|
|
64
64
|
"All_OPTION": "(Tous)",
|
|
65
|
-
|
|
66
65
|
"DATE_PATTERN": "DD/MM/YYYY",
|
|
67
66
|
"DATE_TIME_PATTERN": "DD/MM/YYYY HH:mm",
|
|
68
67
|
"DATE_TIME_SECONDS_PATTERN": "DD/MM/YYYY HH:mm:ss",
|
|
@@ -74,7 +73,6 @@
|
|
|
74
73
|
"DATE_YEAR_PLACEHOLDER": "aaaa",
|
|
75
74
|
"DATE_PLACEHOLDER": "jj/mm/aaaa",
|
|
76
75
|
"DATE_TIME_PLACEHOLDER": "jj/mm/aaaa hh:mm",
|
|
77
|
-
|
|
78
76
|
"LAT_LONG": {
|
|
79
77
|
"DDMMSS_PLACEHOLDER": "DD° MM' SS\"",
|
|
80
78
|
"DDMM_PLACEHOLDER": "DD° MM.MMM'",
|
|
@@ -89,9 +87,7 @@
|
|
|
89
87
|
"LONG_SIGN_E": "E",
|
|
90
88
|
"LONG_SIGN_W": "W"
|
|
91
89
|
},
|
|
92
|
-
|
|
93
90
|
"METADATA": "Metadata:",
|
|
94
|
-
|
|
95
91
|
"DAY_UNIT": "j",
|
|
96
92
|
"DATE": "Date",
|
|
97
93
|
"TIME": "Heure",
|
|
@@ -100,10 +96,8 @@
|
|
|
100
96
|
"TIME_PLACEHOLDER": "hh:mm",
|
|
101
97
|
"DURATION_PLACEHOLDER": "hhh:mm",
|
|
102
98
|
"DURATION_DOTS": "Durée :",
|
|
103
|
-
|
|
104
99
|
"YES": "Oui",
|
|
105
100
|
"NO": "Non",
|
|
106
|
-
|
|
107
101
|
"DEBUG": "Debug",
|
|
108
102
|
"UPDATED_ON": "Mise à jour le",
|
|
109
103
|
"RECORDER": "Saisisseur",
|
|
@@ -113,17 +107,15 @@
|
|
|
113
107
|
"PLEASE_WAIT": "Veuillez patienter...",
|
|
114
108
|
"NO_DATA": "Aucune donnée",
|
|
115
109
|
"MISSING": "Manquant",
|
|
116
|
-
|
|
117
110
|
"DISPLAYED_COLUMNS": "Paramétrage des colonnes",
|
|
118
111
|
"DISPLAYED_COLUMNS_DOTS": "Paramétrage des colonnes...",
|
|
119
|
-
|
|
120
112
|
"FORM": {
|
|
121
113
|
"HAS_ERROR": "Veuillez corriger des erreurs dans le formulaire"
|
|
122
114
|
},
|
|
123
115
|
"PAGINATOR": {
|
|
124
|
-
"ITEMS_PER_PAGE":"Nombre de lignes",
|
|
125
|
-
"NEXT_PAGE":"Page suivante",
|
|
126
|
-
"PREVIOUS_PAGE":"Page précédente",
|
|
116
|
+
"ITEMS_PER_PAGE": "Nombre de lignes",
|
|
117
|
+
"NEXT_PAGE": "Page suivante",
|
|
118
|
+
"PREVIOUS_PAGE": "Page précédente",
|
|
127
119
|
"OF": "sur"
|
|
128
120
|
},
|
|
129
121
|
"TABLE": {
|
|
@@ -286,7 +278,18 @@
|
|
|
286
278
|
"TITLE": "Préférences",
|
|
287
279
|
"DESCRIPTION": "Les préférences ci-dessous serviront dans les courriers électroniques et rapports que vous recevrez.",
|
|
288
280
|
"LOCALE": "Langue",
|
|
289
|
-
"LAT_LONG_FORMAT": "Format latitude/longitude"
|
|
281
|
+
"LAT_LONG_FORMAT": "Format latitude/longitude",
|
|
282
|
+
"DUMMY_1": "c - troisieme",
|
|
283
|
+
"DUMMY_2": "b - deuxieme",
|
|
284
|
+
"DUMMY_3": "a - premier",
|
|
285
|
+
"DUMMY_4": "e - cinquieme",
|
|
286
|
+
"DUMMY_5": "d - quatrieme",
|
|
287
|
+
"OPTIONS": {
|
|
288
|
+
"TITLE": "Options",
|
|
289
|
+
"DEFINITION": "Option",
|
|
290
|
+
"DEFAULT_VALUE": "Valeur par défaut",
|
|
291
|
+
"VALUE": "Valeur"
|
|
292
|
+
}
|
|
290
293
|
},
|
|
291
294
|
"INFO": {
|
|
292
295
|
"RELOADED": "Votre compte utilisateur a été <b>actualisé</b> !"
|
|
@@ -311,13 +314,14 @@
|
|
|
311
314
|
"USAGE_MODE": "Mode de saisie",
|
|
312
315
|
"USAGE_MODE_FIELD": "Mode saisie <b>terrain</b>",
|
|
313
316
|
"USAGE_MODE_DESK": "Mode saisie <b>bureau</b>",
|
|
314
|
-
"USAGE_MODES":
|
|
317
|
+
"USAGE_MODES": {
|
|
315
318
|
"FIELD": "Saisie terrain",
|
|
316
319
|
"DESK": "Saisie bureau"
|
|
317
320
|
},
|
|
318
321
|
"PROPERTY_KEY": "Option",
|
|
319
322
|
"PROPERTY_VALUE": "Valeur",
|
|
320
323
|
"BTN_ADD_PROPERTY": "Ajouter une option",
|
|
324
|
+
"BTN_SHOW_ALL_PROPERTIES": "Afficher toutes les options",
|
|
321
325
|
"FIELDS": {
|
|
322
326
|
"DEPARTMENT": "Liste déroulante > Organismes",
|
|
323
327
|
"ATTRIBUTES": {
|