@sumaris-net/ngx-components 1.21.0-beta9 → 1.21.2
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/bundles/sumaris-net.ngx-components.umd.js +594 -1227
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +12 -0
- package/esm2015/public_api.js +3 -8
- package/esm2015/src/app/core/account/account.js +2 -2
- package/esm2015/src/app/core/auth/form/form-auth.js +4 -2
- package/esm2015/src/app/core/form/editor.class.js +64 -20
- package/esm2015/src/app/core/form/entity-editor-modal.class.js +20 -15
- package/esm2015/src/app/core/form/entity-editor.class.js +21 -12
- package/esm2015/src/app/core/form/form.class.js +68 -35
- package/esm2015/src/app/core/graphql/graphql.service.js +5 -3
- package/esm2015/src/app/core/icon/icon.component.js +2 -5
- package/esm2015/src/app/core/menu/menu.component.js +2 -2
- package/esm2015/src/app/core/services/local-settings.service.js +2 -2
- package/esm2015/src/app/core/table/table.class.js +26 -27
- package/esm2015/src/app/shared/functions.js +1 -60
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +5 -4
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +10 -7
- package/esm2015/src/app/shared/material/chips/material.chips.js +3 -2
- package/esm2015/src/app/shared/material/chips/testing/chips.test.js +3 -2
- package/esm2015/src/app/shared/material/datetime/material.date.js +3 -2
- package/esm2015/src/app/shared/material/datetime/material.datetime.js +3 -2
- package/esm2015/src/app/shared/observables.js +13 -7
- package/esm2015/src/app/shared/pipes/arrays.pipe.js +1 -1
- package/esm2015/src/app/shared/pipes/form.pipes.js +4 -6
- package/esm2015/src/app/shared/pipes/highlight.pipe.js +4 -4
- package/esm2015/src/app/shared/pipes/string.pipes.js +7 -18
- package/esm2015/src/app/shared/services/memory-entity-service.class.js +13 -1
- package/esm2015/src/app/shared/services.js +61 -0
- package/esm2015/src/app/shared/types.js +1 -1
- package/esm2015/src/app/social/social.errors.js +2 -5
- package/esm2015/src/app/social/social.module.js +15 -10
- package/esm2015/src/app/social/user-event/user-event.model.js +2 -58
- package/esm2015/src/app/social/user-event/user-event.service.js +167 -295
- package/esm2015/src/app/social/user-event/user-events.table.js +12 -17
- package/esm2015/sumaris-net.ngx-components.js +6 -8
- package/fesm2015/sumaris-net.ngx-components.js +479 -1015
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +3 -2
- package/public_api.d.ts +2 -7
- package/src/app/core/auth/form/form-auth.d.ts +1 -1
- package/src/app/core/form/editor.class.d.ts +39 -12
- package/src/app/core/form/entity-editor-modal.class.d.ts +4 -3
- package/src/app/core/form/entity-editor.class.d.ts +10 -5
- package/src/app/core/form/form.class.d.ts +32 -19
- package/src/app/core/icon/icon.component.d.ts +4 -4
- package/src/app/core/table/table.class.d.ts +21 -14
- package/src/app/shared/functions.d.ts +0 -9
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +1 -2
- package/src/app/shared/material/badge/badge-icon.test.d.ts +1 -1
- package/src/app/shared/observables.d.ts +1 -0
- package/src/app/shared/pipes/form.pipes.d.ts +1 -2
- package/src/app/shared/services/memory-entity-service.class.d.ts +6 -0
- package/src/app/shared/services.d.ts +9 -0
- package/src/app/shared/types.d.ts +0 -4
- package/src/app/social/social.errors.d.ts +0 -3
- package/src/app/social/social.module.d.ts +0 -8
- package/src/app/social/user-event/user-event.model.d.ts +6 -51
- package/src/app/social/user-event/user-event.service.d.ts +51 -79
- package/src/app/social/user-event/user-events.table.d.ts +6 -6
- package/src/assets/i18n/en-US.json +2 -15
- package/src/assets/i18n/en.json +2 -15
- package/src/assets/i18n/fr.json +1 -14
- package/src/theme/_ngx-components.scss +0 -7
- package/sumaris-net.ngx-components.d.ts +5 -7
- package/sumaris-net.ngx-components.metadata.json +1 -1
- package/esm2015/src/app/social/job/job.model.js +0 -24
- package/esm2015/src/app/social/job/job.module.js +0 -25
- package/esm2015/src/app/social/job/job.service.js +0 -53
- package/esm2015/src/app/social/job/progression/job-progression.component.js +0 -192
- package/esm2015/src/app/social/job/progression/job-progression.list.js +0 -20
- package/esm2015/src/app/social/message/message.module.js +0 -25
- package/esm2015/src/app/social/user-event/notification/user-event-notification.component.js +0 -92
- package/esm2015/src/app/social/user-event/notification/user-event-notification.list.js +0 -39
- package/esm2015/src/app/social/user-event/user-event.module.js +0 -28
- package/src/app/social/job/job.model.d.ts +0 -32
- package/src/app/social/job/job.module.d.ts +0 -2
- package/src/app/social/job/job.service.d.ts +0 -23
- package/src/app/social/job/progression/job-progression.component.d.ts +0 -43
- package/src/app/social/job/progression/job-progression.list.d.ts +0 -12
- package/src/app/social/message/message.module.d.ts +0 -2
- package/src/app/social/user-event/notification/user-event-notification.component.d.ts +0 -25
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -20
- package/src/app/social/user-event/user-event.module.d.ts +0 -2
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": "1.21.
|
|
4
|
+
"version": "1.21.2",
|
|
5
5
|
"author": "contact@e-is.pro",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
7
7
|
"readmeFilename": "README.md",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"tslib": "^2.2.0"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@apollo/client": "~3.5.10"
|
|
18
|
+
"@apollo/client": "~3.5.10",
|
|
19
|
+
"localforage": "1.7.4"
|
|
19
20
|
},
|
|
20
21
|
"repository": {
|
|
21
22
|
"type": "git",
|
package/public_api.d.ts
CHANGED
|
@@ -82,6 +82,7 @@ export * from './src/app/shared/validator/form-error-adapter.class';
|
|
|
82
82
|
export * from './src/app/shared/types';
|
|
83
83
|
export * from './src/app/shared/dates';
|
|
84
84
|
export * from './src/app/shared/functions';
|
|
85
|
+
export * from './src/app/shared/services';
|
|
85
86
|
export * from './src/app/shared/forms';
|
|
86
87
|
export * from './src/app/shared/observables';
|
|
87
88
|
export * from './src/app/shared/events';
|
|
@@ -164,17 +165,10 @@ export * from './src/app/core/menu/menu.service';
|
|
|
164
165
|
export { EntityClass, EntityClasses } from './src/app/core/services/model/entity.decorators';
|
|
165
166
|
export * from './src/app/social/social.module';
|
|
166
167
|
export * from './src/app/social/social.errors';
|
|
167
|
-
export * from './src/app/social/user-event/user-event.module';
|
|
168
168
|
export * from './src/app/social/user-event/user-event.model';
|
|
169
169
|
export * from './src/app/social/user-event/user-event.fragments';
|
|
170
170
|
export * from './src/app/social/user-event/user-event.service';
|
|
171
171
|
export * from './src/app/social/user-event/user-events.table';
|
|
172
|
-
export * from './src/app/social/user-event/notification/user-event-notification.component';
|
|
173
|
-
export * from './src/app/social/job/job.module';
|
|
174
|
-
export * from './src/app/social/job/job.model';
|
|
175
|
-
export * from './src/app/social/job/job.service';
|
|
176
|
-
export * from './src/app/social/job/progression/job-progression.component';
|
|
177
|
-
export * from './src/app/social/message/message.module';
|
|
178
172
|
export * from './src/app/social/message/message.model';
|
|
179
173
|
export * from './src/app/social/message/message.service';
|
|
180
174
|
export * from './src/app/social/message/message.form';
|
|
@@ -203,3 +197,4 @@ export * from './src/app/core/table/testing/table.testing.module';
|
|
|
203
197
|
export * from './src/app/core/table/testing/table.testing';
|
|
204
198
|
export * from './src/app/core/text-popover/testing/text-popover.testing.module';
|
|
205
199
|
export * from './src/app/core/text-popover/testing/text-popover.testing';
|
|
200
|
+
export { suggestFromArray } from "./src/app/shared/services";
|
|
@@ -26,7 +26,7 @@ export declare class AuthForm extends AppForm<AuthData> implements OnInit {
|
|
|
26
26
|
}): void;
|
|
27
27
|
constructor(injector: Injector, platform: PlatformService, formBuilder: FormBuilder, settings: LocalSettingsService, configService: ConfigService, modalCtrl: ModalController, network: NetworkService, cd: ChangeDetectorRef, environment: any);
|
|
28
28
|
ngOnInit(): void;
|
|
29
|
-
cancel(): void
|
|
29
|
+
cancel(): Promise<void>;
|
|
30
30
|
doSubmit(event?: UIEvent): Promise<void>;
|
|
31
31
|
register(): void;
|
|
32
32
|
protected markForCheck(): void;
|
|
@@ -18,6 +18,17 @@ export interface IAppEditor extends CanLeave, IAppForm {
|
|
|
18
18
|
save(event?: Event, options?: any): Promise<boolean>;
|
|
19
19
|
cancel(event?: Event): Promise<void>;
|
|
20
20
|
}
|
|
21
|
+
export interface IAppTabEditor extends IAppEditor {
|
|
22
|
+
selectedTabIndex: number;
|
|
23
|
+
setSelectedTabIndex(value: number, opts?: {
|
|
24
|
+
emitEvent?: boolean;
|
|
25
|
+
realignInkBar?: boolean;
|
|
26
|
+
}): void;
|
|
27
|
+
unload(opts?: {
|
|
28
|
+
emitEvent?: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
realignInkBar(): any;
|
|
31
|
+
}
|
|
21
32
|
export declare class AppTabEditorOptions {
|
|
22
33
|
/**
|
|
23
34
|
* Number of tab. 1 by default
|
|
@@ -41,26 +52,36 @@ export declare abstract class AppEditor<T = any, ID = number, O = any> implement
|
|
|
41
52
|
private _subscription;
|
|
42
53
|
protected _enabled: boolean;
|
|
43
54
|
protected _dirty: boolean;
|
|
44
|
-
protected _$ready: BehaviorSubject<boolean>;
|
|
45
|
-
protected _$loading: BehaviorSubject<boolean>;
|
|
46
55
|
protected toastController: ToastController;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
protected set _loading(value: boolean);
|
|
51
|
-
/**
|
|
52
|
-
* @deprecated
|
|
53
|
-
*/
|
|
54
|
-
protected get _loading(): boolean;
|
|
56
|
+
readonly readySubject: BehaviorSubject<boolean>;
|
|
57
|
+
readonly loadingSubject: BehaviorSubject<boolean>;
|
|
58
|
+
readonly errorSubject: BehaviorSubject<string>;
|
|
55
59
|
debug: boolean;
|
|
56
60
|
previousDataId: ID;
|
|
57
61
|
submitted: boolean;
|
|
58
|
-
error: string;
|
|
59
62
|
queryParams: Params;
|
|
60
63
|
i18nContext: {
|
|
61
64
|
prefix: string;
|
|
62
65
|
suffix: string;
|
|
63
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* @deprecated
|
|
69
|
+
*/
|
|
70
|
+
protected set _loading(value: boolean);
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated
|
|
73
|
+
*/
|
|
74
|
+
protected get _loading(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* @deprecated
|
|
77
|
+
*/
|
|
78
|
+
protected get _$ready(): BehaviorSubject<boolean>;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated
|
|
81
|
+
*/
|
|
82
|
+
protected get _$loading(): BehaviorSubject<boolean>;
|
|
83
|
+
get error(): string;
|
|
84
|
+
set error(error: string);
|
|
64
85
|
toolbar: ToolbarToken | null;
|
|
65
86
|
formButtonsBar: FormButtonsBarToken | null;
|
|
66
87
|
content: IonContent;
|
|
@@ -152,9 +173,12 @@ export declare abstract class AppEditor<T = any, ID = number, O = any> implement
|
|
|
152
173
|
}): Promise<boolean>;
|
|
153
174
|
protected showToast(opts: ShowToastOptions): Promise<void>;
|
|
154
175
|
protected logChildrenFormErrors(c: IAppForm | AbstractControl, prefix?: string, path?: string): void;
|
|
176
|
+
protected setError(value: string, opts?: {
|
|
177
|
+
emitEvent?: boolean;
|
|
178
|
+
}): void;
|
|
155
179
|
protected markForCheck(): void;
|
|
156
180
|
}
|
|
157
|
-
export declare abstract class AppTabEditor<T = any, ID = number, O = any> extends AppEditor<T, ID, O> {
|
|
181
|
+
export declare abstract class AppTabEditor<T = any, ID = number, O = any> extends AppEditor<T, ID, O> implements IAppTabEditor {
|
|
158
182
|
protected route: ActivatedRoute;
|
|
159
183
|
protected router: Router;
|
|
160
184
|
protected alertCtrl: AlertController;
|
|
@@ -176,6 +200,7 @@ export declare abstract class AppTabEditor<T = any, ID = number, O = any> extend
|
|
|
176
200
|
emitEvent?: boolean;
|
|
177
201
|
realignInkBar?: boolean;
|
|
178
202
|
}): void;
|
|
203
|
+
realignInkBar(): void;
|
|
179
204
|
onTabChange(event: MatTabChangeEvent, queryTabIndexParamName?: string): boolean;
|
|
180
205
|
/**
|
|
181
206
|
* Action triggered when user swipes
|
|
@@ -185,4 +210,6 @@ export declare abstract class AppTabEditor<T = any, ID = number, O = any> extend
|
|
|
185
210
|
unload(opts?: {
|
|
186
211
|
emitEvent?: boolean;
|
|
187
212
|
}): Promise<void>;
|
|
213
|
+
protected abstract getFirstInvalidTabIndex(): number;
|
|
214
|
+
protected saveDirtyTables(): Promise<boolean>;
|
|
188
215
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { ModalController } from '@ionic/angular';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
4
|
import { LocalSettingsService } from '../services/local-settings.service';
|
|
5
5
|
import { Entity } from '../services/model/entity.model';
|
|
6
6
|
import { UsageMode } from '../services/model/settings.model';
|
|
@@ -32,9 +32,9 @@ export declare abstract class AppEntityEditorModal<T extends Entity<T, ID>, ID =
|
|
|
32
32
|
protected readonly cd: ChangeDetectorRef;
|
|
33
33
|
protected readonly settings: LocalSettingsService;
|
|
34
34
|
protected readonly modalCtrl: ModalController;
|
|
35
|
-
protected errorTranslator: FormErrorTranslator;
|
|
36
35
|
protected readonly environement: Environment;
|
|
37
|
-
|
|
36
|
+
protected errorTranslator: FormErrorTranslator;
|
|
37
|
+
readonly savingSubject: BehaviorSubject<boolean>;
|
|
38
38
|
$title: Subject<string>;
|
|
39
39
|
data: T;
|
|
40
40
|
mobile: boolean;
|
|
@@ -47,6 +47,7 @@ export declare abstract class AppEntityEditorModal<T extends Entity<T, ID>, ID =
|
|
|
47
47
|
set disabled(value: boolean);
|
|
48
48
|
get disabled(): boolean;
|
|
49
49
|
get isOnFieldMode(): boolean;
|
|
50
|
+
get saving(): boolean;
|
|
50
51
|
markAsSaving(opts?: {
|
|
51
52
|
emitEvent?: boolean;
|
|
52
53
|
}): void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { Observable, Subject } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
3
3
|
import { AddToPageHistoryOptions, LocalSettingsService } from '../services/local-settings.service';
|
|
4
4
|
import { Entity } from '../services/model/entity.model';
|
|
5
5
|
import { UsageMode } from '../services/model/settings.model';
|
|
6
6
|
import { FormGroup } from '@angular/forms';
|
|
7
|
-
import { AppTabEditor, AppTabEditorOptions } from './editor.class';
|
|
7
|
+
import { AppTabEditor, AppTabEditorOptions, IAppTabEditor } from './editor.class';
|
|
8
8
|
import { EntityServiceLoadOptions, IEntityService } from '../../shared/services/entity-service.class';
|
|
9
9
|
import { DateFormatPipe } from '../../shared/pipes/date-format.pipe';
|
|
10
10
|
import { Environment } from '../../../environments/environment.class';
|
|
@@ -12,6 +12,10 @@ import { HistoryPageReference } from '../services/model/history.model';
|
|
|
12
12
|
import { WaitForOptions } from '../../shared/observables';
|
|
13
13
|
import { FormErrorTranslator } from '../../shared/validator/form-error-adapter.class';
|
|
14
14
|
import { FormErrors } from '../../shared/forms';
|
|
15
|
+
export interface IAppEntityEditor extends IAppTabEditor {
|
|
16
|
+
usageMode: UsageMode;
|
|
17
|
+
isNewData: boolean;
|
|
18
|
+
}
|
|
15
19
|
export declare class AppEditorOptions extends AppTabEditorOptions {
|
|
16
20
|
autoLoad?: boolean;
|
|
17
21
|
autoLoadDelay?: number;
|
|
@@ -37,7 +41,7 @@ export interface AppErrorWithDetails extends AppError {
|
|
|
37
41
|
errors?: FormErrors;
|
|
38
42
|
};
|
|
39
43
|
}
|
|
40
|
-
export declare abstract class AppEntityEditor<T extends Entity<T, ID>, S extends IEntityService<T, ID> = IEntityService<T, any>, ID = number> extends AppTabEditor<T, ID, EntityServiceLoadOptions> implements OnInit, OnDestroy, AfterViewInit {
|
|
44
|
+
export declare abstract class AppEntityEditor<T extends Entity<T, ID>, S extends IEntityService<T, ID> = IEntityService<T, any>, ID = number> extends AppTabEditor<T, ID, EntityServiceLoadOptions> implements OnInit, OnDestroy, AfterViewInit, IAppEntityEditor {
|
|
41
45
|
protected dataType: new () => T;
|
|
42
46
|
protected dataService?: S;
|
|
43
47
|
private _usageMode;
|
|
@@ -52,10 +56,10 @@ export declare abstract class AppEntityEditor<T extends Entity<T, ID>, S extends
|
|
|
52
56
|
protected readonly dateFormat: DateFormatPipe;
|
|
53
57
|
protected readonly cd: ChangeDetectorRef;
|
|
54
58
|
protected readonly settings: LocalSettingsService;
|
|
55
|
-
protected errorTranslator: FormErrorTranslator;
|
|
56
59
|
protected readonly environement: Environment;
|
|
60
|
+
protected errorTranslator: FormErrorTranslator;
|
|
61
|
+
readonly savingSubject: BehaviorSubject<boolean>;
|
|
57
62
|
data: T;
|
|
58
|
-
saving: boolean;
|
|
59
63
|
defaultBackHref: string;
|
|
60
64
|
historyIcon: {
|
|
61
65
|
icon?: string;
|
|
@@ -68,6 +72,7 @@ export declare abstract class AppEntityEditor<T extends Entity<T, ID>, S extends
|
|
|
68
72
|
get isOnFieldMode(): boolean;
|
|
69
73
|
get isNewData(): boolean;
|
|
70
74
|
get loading(): boolean;
|
|
75
|
+
get saving(): boolean;
|
|
71
76
|
get service(): S;
|
|
72
77
|
markAsSaving(opts?: {
|
|
73
78
|
emitEvent?: boolean;
|
|
@@ -8,18 +8,20 @@ import { WaitForOptions } from '../../shared/observables';
|
|
|
8
8
|
import { FormErrorTranslator, FormErrorTranslatorOptions, IFormControlPathTranslator } from '../../shared/validator/form-error-adapter.class';
|
|
9
9
|
import { TranslateService } from '@ngx-translate/core';
|
|
10
10
|
export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy, IFormControlPathTranslator {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
[key: string]: MatAutocompleteFieldConfig;
|
|
14
|
-
};
|
|
15
|
-
error: string;
|
|
16
|
-
protected translate: TranslateService;
|
|
17
|
-
protected settings: LocalSettingsService;
|
|
18
|
-
protected errorTranslator: FormErrorTranslator;
|
|
11
|
+
private _subscription;
|
|
12
|
+
private _form;
|
|
19
13
|
protected _enable: boolean;
|
|
20
|
-
protected
|
|
21
|
-
protected _$loading: BehaviorSubject<boolean>;
|
|
14
|
+
protected errorTranslator: FormErrorTranslator;
|
|
22
15
|
protected i18nFieldPrefix: string;
|
|
16
|
+
protected readonly translate: TranslateService;
|
|
17
|
+
protected readonly settings: LocalSettingsService;
|
|
18
|
+
readonly autocompleteHelper: MatAutocompleteConfigHolder;
|
|
19
|
+
readonly autocompleteFields: {
|
|
20
|
+
[key: string]: MatAutocompleteFieldConfig;
|
|
21
|
+
};
|
|
22
|
+
readonly readySubject: BehaviorSubject<boolean>;
|
|
23
|
+
readonly loadingSubject: BehaviorSubject<boolean>;
|
|
24
|
+
readonly errorSubject: BehaviorSubject<string>;
|
|
23
25
|
/**
|
|
24
26
|
* @deprecated
|
|
25
27
|
*/
|
|
@@ -28,12 +30,18 @@ export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy,
|
|
|
28
30
|
* @deprecated
|
|
29
31
|
*/
|
|
30
32
|
protected get _loading(): boolean;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated
|
|
35
|
+
*/
|
|
36
|
+
protected get _$ready(): BehaviorSubject<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated
|
|
39
|
+
*/
|
|
40
|
+
protected get _$loading(): BehaviorSubject<boolean>;
|
|
41
|
+
get error(): string;
|
|
42
|
+
set error(error: string);
|
|
36
43
|
get loading(): boolean;
|
|
44
|
+
get loaded(): boolean;
|
|
37
45
|
get value(): any;
|
|
38
46
|
set value(data: any);
|
|
39
47
|
get dirty(): boolean;
|
|
@@ -52,6 +60,9 @@ export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy,
|
|
|
52
60
|
onlySelf?: boolean;
|
|
53
61
|
emitEvent?: boolean;
|
|
54
62
|
}): void;
|
|
63
|
+
debug: boolean;
|
|
64
|
+
tabindex: number;
|
|
65
|
+
errorTranslatorOptions: FormErrorTranslatorOptions;
|
|
55
66
|
set form(value: FormGroup);
|
|
56
67
|
get form(): FormGroup;
|
|
57
68
|
onCancel: EventEmitter<any>;
|
|
@@ -59,7 +70,7 @@ export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy,
|
|
|
59
70
|
protected constructor(injector: Injector, form?: FormGroup);
|
|
60
71
|
ngOnInit(): void;
|
|
61
72
|
ngOnDestroy(): void;
|
|
62
|
-
cancel(): void
|
|
73
|
+
cancel(): Promise<void>;
|
|
63
74
|
/**
|
|
64
75
|
*
|
|
65
76
|
* @param event
|
|
@@ -101,11 +112,9 @@ export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy,
|
|
|
101
112
|
emitEvent?: boolean;
|
|
102
113
|
}): void;
|
|
103
114
|
markAsLoading(opts?: {
|
|
104
|
-
onlySelf?: boolean;
|
|
105
115
|
emitEvent?: boolean;
|
|
106
116
|
}): void;
|
|
107
117
|
markAsLoaded(opts?: {
|
|
108
|
-
onlySelf?: boolean;
|
|
109
118
|
emitEvent?: boolean;
|
|
110
119
|
}): void;
|
|
111
120
|
markAsReady(opts?: {
|
|
@@ -118,7 +127,7 @@ export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy,
|
|
|
118
127
|
*/
|
|
119
128
|
ready(opts?: WaitForOptions): Promise<void>;
|
|
120
129
|
/**
|
|
121
|
-
* Wait form is
|
|
130
|
+
* Wait form is not busy (=loaded)
|
|
122
131
|
* @param opts
|
|
123
132
|
*/
|
|
124
133
|
waitIdle(opts?: WaitForOptions): Promise<void>;
|
|
@@ -132,5 +141,9 @@ export declare abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy,
|
|
|
132
141
|
protected registerSubscription(sub: Subscription): Subscription;
|
|
133
142
|
protected unregisterSubscription(sub: Subscription): void;
|
|
134
143
|
protected registerAutocompleteField<E = any, EF = any>(fieldName: string, opts?: MatAutocompleteFieldAddOptions<E, EF>): MatAutocompleteFieldConfig<E, EF>;
|
|
144
|
+
protected setError(value: string, opts?: {
|
|
145
|
+
emitEvent?: boolean;
|
|
146
|
+
}): void;
|
|
135
147
|
protected markForCheck(): void;
|
|
148
|
+
private setLoading;
|
|
136
149
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IconRef } from '../../shared/types';
|
|
2
|
+
import { PredefinedColors } from '@ionic/core';
|
|
3
|
+
import { ThemePalette } from '@angular/material/core';
|
|
2
4
|
export declare class AppIconComponent {
|
|
3
5
|
icon: string;
|
|
4
6
|
matIcon: string;
|
|
5
7
|
matSvgIcon: string;
|
|
6
|
-
color:
|
|
7
|
-
height: number;
|
|
8
|
-
width: number;
|
|
8
|
+
color: PredefinedColors | ThemePalette;
|
|
9
9
|
set ref(value: IconRef);
|
|
10
10
|
}
|
|
@@ -70,19 +70,24 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
70
70
|
totalRowCount: number | null;
|
|
71
71
|
visibleRowCount: number;
|
|
72
72
|
errorTranslatorOptions: FormErrorTranslatorOptions;
|
|
73
|
-
readySubject: BehaviorSubject<boolean>;
|
|
74
|
-
loadingSubject: BehaviorSubject<boolean>;
|
|
75
|
-
savingSubject: BehaviorSubject<boolean>;
|
|
76
|
-
dirtySubject: BehaviorSubject<boolean>;
|
|
77
|
-
errorSubject: BehaviorSubject<string>;
|
|
73
|
+
readonly readySubject: BehaviorSubject<boolean>;
|
|
74
|
+
readonly loadingSubject: BehaviorSubject<boolean>;
|
|
75
|
+
readonly savingSubject: BehaviorSubject<boolean>;
|
|
76
|
+
readonly dirtySubject: BehaviorSubject<boolean>;
|
|
77
|
+
readonly errorSubject: BehaviorSubject<string>;
|
|
78
78
|
get error(): string;
|
|
79
|
-
get error$(): Observable<string>;
|
|
80
79
|
/**
|
|
81
80
|
* @deprecated
|
|
82
|
-
* @param error
|
|
83
81
|
*/
|
|
82
|
+
get error$(): Observable<string>;
|
|
84
83
|
set error(error: string);
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated
|
|
86
|
+
*/
|
|
85
87
|
get loading$(): Observable<boolean>;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated
|
|
90
|
+
*/
|
|
86
91
|
get saving$(): Observable<boolean>;
|
|
87
92
|
isRateLimitReached: boolean;
|
|
88
93
|
selection: SelectionModel<TableElement<T>>;
|
|
@@ -244,7 +249,9 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
244
249
|
interactive?: boolean;
|
|
245
250
|
keepEditing?: boolean;
|
|
246
251
|
}): void;
|
|
247
|
-
addRow(event?: Event, insertAt?: number
|
|
252
|
+
addRow(event?: Event, insertAt?: number, opts?: {
|
|
253
|
+
focusColumn?: string;
|
|
254
|
+
}): boolean;
|
|
248
255
|
save(opts?: {
|
|
249
256
|
keepEditing?: boolean;
|
|
250
257
|
}): Promise<boolean>;
|
|
@@ -264,22 +271,20 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
264
271
|
* @param event
|
|
265
272
|
* @param row
|
|
266
273
|
* @param opts Use interactive=false to avoid user interaction (e.g. user confirmation)
|
|
267
|
-
*
|
|
274
|
+
* And to force deletion even if table is busy
|
|
268
275
|
*/
|
|
269
276
|
deleteRow(event: UIEvent | null, row: TableElement<T>, opts?: {
|
|
270
277
|
interactive?: boolean;
|
|
271
|
-
skipIfLoading?: boolean;
|
|
272
278
|
}): Promise<boolean>;
|
|
273
279
|
/**
|
|
274
280
|
*
|
|
275
281
|
* @param event
|
|
276
282
|
* @param rows
|
|
277
283
|
* @param opts Use interactive=false to avoid user interaction (e.g. user confirmation)
|
|
278
|
-
*
|
|
284
|
+
* And to force deletion even if table is busy
|
|
279
285
|
*/
|
|
280
286
|
deleteRows(event: UIEvent | null, rows: TableElement<T>[], opts?: {
|
|
281
287
|
interactive?: boolean;
|
|
282
|
-
skipIfLoading?: boolean;
|
|
283
288
|
}): Promise<number>;
|
|
284
289
|
selectRowById(id: number): Promise<boolean>;
|
|
285
290
|
/**
|
|
@@ -289,7 +294,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
289
294
|
selectRowByData(data: T): Promise<boolean>;
|
|
290
295
|
clickRow(event: UIEvent | undefined, row: TableElement<T>): boolean;
|
|
291
296
|
moveRow(id: number, direction: number): void;
|
|
292
|
-
ready(): Promise<void>;
|
|
297
|
+
ready(opts?: WaitForOptions): Promise<void>;
|
|
293
298
|
waitIdle(opts?: WaitForOptions): Promise<void>;
|
|
294
299
|
openSelectColumnsModal(event?: Event): Promise<any>;
|
|
295
300
|
trackByFn(index: number, row: TableElement<T>): number;
|
|
@@ -343,7 +348,9 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
|
|
|
343
348
|
protected registerAutocompleteField<E = any, EF = any>(fieldName: string, options?: MatAutocompleteFieldAddOptions<E, EF>): MatAutocompleteFieldConfig<E, EF>;
|
|
344
349
|
protected getI18nColumnName(columnName: string): string;
|
|
345
350
|
protected generateTableId(): string;
|
|
346
|
-
protected addRowToTable(insertAt?: number
|
|
351
|
+
protected addRowToTable(insertAt?: number, opts?: {
|
|
352
|
+
focusColumn?: string;
|
|
353
|
+
}): Promise<TableElement<T>>;
|
|
347
354
|
protected registerCellValueChanges(name: string, formPath?: string, emitInitialValue?: boolean): Observable<any>;
|
|
348
355
|
protected setShowColumn(columnName: string, show: boolean, opts?: {
|
|
349
356
|
emitEvent?: boolean;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { LoadResult } from './services/entity-service.class';
|
|
2
1
|
import { KeysEnum, KeyValueType } from './types';
|
|
3
2
|
export declare function isNil<T>(obj: T | null | undefined): boolean;
|
|
4
3
|
export declare function isNilOrBlank<T>(obj: T | null | undefined): boolean;
|
|
@@ -46,14 +45,6 @@ export declare function removeEnd(value: string, end: string): string;
|
|
|
46
45
|
*/
|
|
47
46
|
export declare function changeCaseToUnderscore(value: string): string;
|
|
48
47
|
export declare function removeDiacritics(text: string): string;
|
|
49
|
-
export declare function suggestFromArray<T = any>(items: T[], value: any, opts?: {
|
|
50
|
-
offset?: number;
|
|
51
|
-
size?: number;
|
|
52
|
-
searchAttribute?: string;
|
|
53
|
-
searchAttributes?: string[];
|
|
54
|
-
excludedIds?: number[];
|
|
55
|
-
skipSort?: boolean;
|
|
56
|
-
}): LoadResult<T>;
|
|
57
48
|
export declare function suggestFromStringArray(values: string[], value: any, options?: {
|
|
58
49
|
searchAttribute?: string;
|
|
59
50
|
searchAttributes?: string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { AfterViewInit, OnInit } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
4
4
|
import { MatAutocompleteConfigHolder, MatAutocompleteField } from '../material.autocomplete';
|
|
5
5
|
import { LoadResult } from '../../../services/entity-service.class';
|
|
6
6
|
import Timer = NodeJS.Timer;
|
|
@@ -20,7 +20,6 @@ export declare class AutocompleteTestPage implements OnInit, AfterViewInit {
|
|
|
20
20
|
memoryAutocompleteFieldName: string;
|
|
21
21
|
memoryTimer: Timer;
|
|
22
22
|
mode: 'mobile' | 'desktop' | 'memory' | 'temp';
|
|
23
|
-
entitiesArray: FormArray;
|
|
24
23
|
farEntityField: MatAutocompleteField;
|
|
25
24
|
constructor(formBuilder: FormBuilder);
|
|
26
25
|
ngOnInit(): void;
|
|
@@ -5,5 +5,5 @@ export declare class MatBadgeIconTestPage {
|
|
|
5
5
|
$icon: BehaviorSubject<string>;
|
|
6
6
|
$size: BehaviorSubject<MatBadgeSize>;
|
|
7
7
|
$fill: BehaviorSubject<MatBadgeFill>;
|
|
8
|
-
$color: BehaviorSubject<"primary" | "
|
|
8
|
+
$color: BehaviorSubject<"primary" | "accent" | "warn" | "light" | "tertiary" | "secondary" | "success" | "warning" | "danger" | "medium" | "dark">;
|
|
9
9
|
}
|
|
@@ -22,3 +22,4 @@ export declare function firstFalse(obs: Observable<boolean>): Observable<void>;
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function waitFor(predicate: Predicate<void>, opts?: WaitForOptions): Promise<void>;
|
|
24
24
|
export declare function waitForTrue(observable: Observable<boolean>, opts?: WaitForOptions): Promise<void>;
|
|
25
|
+
export declare function waitForFalse(observable: Observable<boolean>, opts?: WaitForOptions): Promise<void>;
|
|
@@ -30,14 +30,13 @@ export declare class FormGetGroupPipe implements PipeTransform {
|
|
|
30
30
|
transform(form: AbstractControl, path?: Array<string | number> | string): FormGroup;
|
|
31
31
|
}
|
|
32
32
|
export declare class FormGetValuePipe implements PipeTransform, OnDestroy {
|
|
33
|
-
private adapter;
|
|
34
33
|
private _ref;
|
|
35
34
|
value: any;
|
|
36
35
|
private _lastControl;
|
|
37
36
|
private _lastPath;
|
|
38
37
|
private _onControlValueChanges;
|
|
39
38
|
private _onControlStatusChanges;
|
|
40
|
-
constructor(
|
|
39
|
+
constructor(_ref: ChangeDetectorRef);
|
|
41
40
|
transform(form: AbstractControl, path?: Array<string | number> | string, listenStatusChanges?: boolean): any;
|
|
42
41
|
ngOnDestroy(): void;
|
|
43
42
|
/**
|
|
@@ -43,6 +43,12 @@ export declare class InMemoryEntitiesService<T extends IEntity<T, ID>, F = any,
|
|
|
43
43
|
asFilter(source: Partial<F>): F;
|
|
44
44
|
addSortByReplacement(source: string, target: string): void;
|
|
45
45
|
equals(d1: T, d2: T): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Count data stored by the service (without hidden data).
|
|
48
|
+
* @param opts
|
|
49
|
+
*/
|
|
50
|
+
get count(): number;
|
|
51
|
+
get hiddenCount(): number;
|
|
46
52
|
protected filter(data: T[], _filter: F, hiddenData: T[]): T[];
|
|
47
53
|
protected connect(): Observable<LoadResult<T>>;
|
|
48
54
|
protected markAsSaving(): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LoadResult } from './services/entity-service.class';
|
|
2
|
+
export declare function suggestFromArray<T = any>(items: T[], value: any, opts?: {
|
|
3
|
+
offset?: number;
|
|
4
|
+
size?: number;
|
|
5
|
+
searchAttribute?: string;
|
|
6
|
+
searchAttributes?: string[];
|
|
7
|
+
excludedIds?: number[];
|
|
8
|
+
skipSort?: boolean;
|
|
9
|
+
}): LoadResult<T>;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ThemePalette } from '@angular/material/core';
|
|
2
|
-
import { PredefinedColors } from '@ionic/core';
|
|
3
1
|
export declare type KeyType = string | number;
|
|
4
2
|
export declare type KeyValueType<T> = {
|
|
5
3
|
[key in KeyType]: T;
|
|
@@ -17,10 +15,8 @@ export declare interface ObjectMapEntry<O = any> {
|
|
|
17
15
|
export declare type PropertiesMap = ObjectMap<string>;
|
|
18
16
|
export declare type Property = ObjectMapEntry<string>;
|
|
19
17
|
export declare type PropertiesArray = Property[];
|
|
20
|
-
export declare type AppColors = PredefinedColors | ThemePalette | string;
|
|
21
18
|
export declare interface IconRef {
|
|
22
19
|
icon?: string;
|
|
23
20
|
matIcon?: string;
|
|
24
21
|
matSvgIcon?: string;
|
|
25
|
-
color?: AppColors;
|
|
26
22
|
}
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { JobProgressionOptions } from './job/progression/job-progression.component';
|
|
3
|
-
export interface SocialModuleOptions {
|
|
4
|
-
showUserEventNotification: boolean;
|
|
5
|
-
showJobProgression: boolean;
|
|
6
|
-
jobProgressionOptions: JobProgressionOptions;
|
|
7
|
-
}
|
|
8
|
-
export declare const SocialModuleOptionsToken: InjectionToken<SocialModuleOptions>;
|
|
9
1
|
export declare class SocialModule {
|
|
10
2
|
}
|
|
@@ -1,74 +1,29 @@
|
|
|
1
1
|
import { Moment } from 'moment';
|
|
2
2
|
import { Entity, EntityAsObjectOptions, IEntity } from '../../core/services/model/entity.model';
|
|
3
|
-
import {
|
|
4
|
-
import { FilterFn } from '../../shared/services/entity-service.class';
|
|
5
|
-
import { AppColors, IconRef } from '../../shared/types';
|
|
3
|
+
import { PredefinedColors } from '@ionic/core';
|
|
6
4
|
export declare const UserEventTypes: {
|
|
7
5
|
DEBUG_DATA: string;
|
|
8
6
|
INBOX_MESSAGE: string;
|
|
9
7
|
};
|
|
10
|
-
export declare
|
|
11
|
-
export interface IUserEvent<E extends Entity<E>, U = string, L = EventLevel> extends IEntity<E> {
|
|
12
|
-
issuer: U;
|
|
13
|
-
recipient: U;
|
|
14
|
-
type: string;
|
|
15
|
-
level: L;
|
|
16
|
-
updateDate: Moment;
|
|
17
|
-
creationDate: Moment;
|
|
18
|
-
readDate?: Moment;
|
|
19
|
-
message?: string;
|
|
20
|
-
content?: string | any;
|
|
21
|
-
avatar?: string;
|
|
22
|
-
avatarIcon?: IconRef;
|
|
23
|
-
icon?: IconRef;
|
|
24
|
-
actions?: UserEventAction[];
|
|
25
|
-
}
|
|
26
|
-
export declare class UserEvent extends Entity<UserEvent> implements IUserEvent<UserEvent> {
|
|
8
|
+
export declare class UserEvent extends Entity<UserEvent> {
|
|
27
9
|
static fromObject: (source: any, opts?: any) => UserEvent;
|
|
28
|
-
|
|
29
|
-
level: EventLevel;
|
|
10
|
+
eventType: string;
|
|
30
11
|
issuer: string;
|
|
31
12
|
recipient: string;
|
|
32
13
|
updateDate: Moment;
|
|
33
14
|
creationDate: Moment;
|
|
34
|
-
readDate: Moment;
|
|
35
|
-
message: string | undefined;
|
|
36
15
|
content: string | any;
|
|
37
|
-
hash: string;
|
|
38
16
|
signature: string;
|
|
39
17
|
readSignature: string;
|
|
40
|
-
avatar?: string;
|
|
41
|
-
avatarIcon?: IconRef;
|
|
42
|
-
icon?: IconRef;
|
|
43
|
-
actions?: UserEventAction[];
|
|
44
18
|
constructor();
|
|
45
19
|
asObject(opts?: EntityAsObjectOptions): any;
|
|
46
20
|
fromObject(source: any): void;
|
|
47
21
|
}
|
|
48
|
-
export interface
|
|
49
|
-
types: string[];
|
|
50
|
-
levels: L[];
|
|
51
|
-
issuers: U[];
|
|
52
|
-
recipients: U[];
|
|
53
|
-
startDate: Moment;
|
|
54
|
-
excludeRead: boolean;
|
|
55
|
-
}
|
|
56
|
-
export declare class UserEventFilter extends EntityFilter<UserEventFilter, UserEvent> implements IUserEventFilter<UserEvent> {
|
|
57
|
-
static fromObject: (source: any, opts?: any) => UserEventFilter;
|
|
58
|
-
types: string[];
|
|
59
|
-
levels: EventLevel[];
|
|
60
|
-
issuers: string[];
|
|
61
|
-
recipients: string[];
|
|
62
|
-
startDate: Moment;
|
|
63
|
-
excludeRead: boolean;
|
|
64
|
-
fromObject(source: any, opts?: any): void;
|
|
65
|
-
protected buildFilter(): FilterFn<UserEvent>[];
|
|
66
|
-
}
|
|
67
|
-
export interface UserEventAction {
|
|
22
|
+
export interface UserEventAction<T extends IEntity<T>> {
|
|
68
23
|
name: string | any;
|
|
69
24
|
title?: string;
|
|
70
25
|
icon?: string;
|
|
71
26
|
matIcon?: string;
|
|
72
|
-
color?:
|
|
73
|
-
executeAction: (event:
|
|
27
|
+
color?: PredefinedColors;
|
|
28
|
+
executeAction: (event: UserEvent, context?: T) => any | Promise<any>;
|
|
74
29
|
}
|