@sumaris-net/ngx-components 2.6.16 → 2.6.17

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 (27) hide show
  1. package/esm2020/src/app/admin/users/users.mjs +9 -3
  2. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +1 -1
  3. package/esm2020/src/app/core/menu/menu.component.mjs +10 -6
  4. package/esm2020/src/app/core/menu/menu.service.mjs +7 -1
  5. package/esm2020/src/app/social/message/message.form.mjs +56 -4
  6. package/esm2020/src/app/social/message/message.modal.mjs +7 -3
  7. package/esm2020/src/app/social/message/message.model.mjs +4 -1
  8. package/esm2020/src/app/social/message/message.module.mjs +7 -20
  9. package/esm2020/src/app/social/message/message.service.mjs +3 -3
  10. package/esm2020/src/app/social/user-event/user-event.service.mjs +35 -22
  11. package/fesm2015/sumaris-net.ngx-components.mjs +177 -106
  12. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  13. package/fesm2020/sumaris-net.ngx-components.mjs +176 -106
  14. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  15. package/package.json +1 -1
  16. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +1 -1
  17. package/src/app/core/menu/menu.component.d.ts +6 -2
  18. package/src/app/core/menu/menu.service.d.ts +2 -0
  19. package/src/app/social/message/message.form.d.ts +8 -2
  20. package/src/app/social/message/message.modal.d.ts +5 -1
  21. package/src/app/social/message/message.model.d.ts +2 -0
  22. package/src/app/social/message/message.module.d.ts +2 -1
  23. package/src/app/social/user-event/user-event.service.d.ts +5 -0
  24. package/src/assets/i18n/en-US.json +1 -0
  25. package/src/assets/i18n/en.json +1 -0
  26. package/src/assets/i18n/fr.json +1 -0
  27. package/src/assets/manifest.json +1 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "2.6.16",
4
+ "version": "2.6.17",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -10,7 +10,7 @@ export declare abstract class FormButtonsBarToken {
10
10
  abstract onBack: EventEmitter<Event>;
11
11
  }
12
12
  export declare class FormButtonsBarComponent implements FormButtonsBarToken, OnDestroy {
13
- menu: MenuService;
13
+ protected menu: MenuService;
14
14
  private _subscription;
15
15
  disabled: boolean;
16
16
  disabledCancel: boolean;
@@ -45,8 +45,12 @@ export declare class MenuComponent implements OnInit {
45
45
  onLogout(skipRedirect?: boolean): Promise<void>;
46
46
  trackByFn(index: number, item: IMenuItem): string;
47
47
  enable(value: boolean): Promise<void>;
48
- open(): Promise<boolean>;
49
- close(): Promise<boolean>;
48
+ open(opts?: {
49
+ emitEvent?: boolean;
50
+ }): Promise<boolean>;
51
+ close(opts?: {
52
+ emitEvent?: boolean;
53
+ }): Promise<boolean>;
50
54
  setSplitPaneWhen(value: SplitPaneShowWhen): Promise<void>;
51
55
  toggleSplitPaneShow(event?: Event): Promise<void>;
52
56
  executeAction(event: Event, item: MenuItem): Promise<void>;
@@ -76,6 +76,8 @@ export declare class MenuService extends StartableObservableService<MenuItem[]>
76
76
  toggleExpandableItem(item: MenuItem): Promise<void>;
77
77
  _markAsOpened(): void;
78
78
  _markAsClosed(): void;
79
+ close(): Promise<void>;
80
+ open(): Promise<void>;
79
81
  protected ngOnStart(): Promise<MenuItem[]>;
80
82
  private _loadMenuItems;
81
83
  private _addSubMenuItems;
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, Injector, OnInit } from '@angular/core';
2
- import { UntypedFormBuilder } from '@angular/forms';
2
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
3
  import { Message } from './message.model';
4
4
  import { AppForm } from '../../core/form/form.class';
5
5
  import { Person } from '../../core/services/model/person.model';
@@ -16,6 +16,8 @@ export declare class MessageForm extends AppForm<Message> implements OnInit {
16
16
  bodyMaxLength: number;
17
17
  bodyAutoHeight: boolean;
18
18
  canSelectType: boolean;
19
+ canRecipientFilter: boolean;
20
+ recipientFilterCount: number;
19
21
  types: readonly {
20
22
  id: string;
21
23
  icon: string;
@@ -24,7 +26,11 @@ export declare class MessageForm extends AppForm<Message> implements OnInit {
24
26
  constructor(injector: Injector, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef);
25
27
  ngOnInit(): void;
26
28
  isSamePerson(o1: Person, o2: Person): boolean;
29
+ protected updateFormGroup(formGroup: UntypedFormGroup, opts?: {
30
+ type?: string;
31
+ recipientRequired?: boolean;
32
+ }): void;
27
33
  protected markForCheck(): void;
28
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageForm, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<MessageForm, "app-message-form", never, { "suggestFn": "suggestFn"; "subjectMinLength": "subjectMinLength"; "subjectMaxLength": "subjectMaxLength"; "bodyMaxLength": "bodyMaxLength"; "bodyAutoHeight": "bodyAutoHeight"; "canSelectType": "canSelectType"; }, {}, never, never, false>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageForm, "app-message-form", never, { "suggestFn": "suggestFn"; "subjectMinLength": "subjectMinLength"; "subjectMaxLength": "subjectMaxLength"; "bodyMaxLength": "bodyMaxLength"; "bodyAutoHeight": "bodyAutoHeight"; "canSelectType": "canSelectType"; "canRecipientFilter": "canRecipientFilter"; "recipientFilterCount": "recipientFilterCount"; }, {}, never, never, false>;
30
36
  }
@@ -11,6 +11,8 @@ export interface MessageModalOptions {
11
11
  suggestFn: SuggestFn<Person, PersonFilter>;
12
12
  data?: Message;
13
13
  canSelectType?: boolean;
14
+ canRecipientFilter?: boolean;
15
+ recipientFilterCount?: number;
14
16
  }
15
17
  export declare class MessageModal implements OnInit, AfterViewInit, MessageModalOptions {
16
18
  protected settings: LocalSettingsService;
@@ -21,6 +23,8 @@ export declare class MessageModal implements OnInit, AfterViewInit, MessageModal
21
23
  suggestFn: SuggestFn<Person, PersonFilter>;
22
24
  data: Message;
23
25
  canSelectType: boolean;
26
+ canRecipientFilter: boolean;
27
+ recipientFilterCount: number;
24
28
  private form;
25
29
  constructor(settings: LocalSettingsService, viewCtrl: ModalController, accountService: AccountService, cd: ChangeDetectorRef);
26
30
  ngOnInit(): void;
@@ -35,5 +39,5 @@ export declare class MessageModal implements OnInit, AfterViewInit, MessageModal
35
39
  emitEvent?: boolean;
36
40
  }): void;
37
41
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageModal, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<MessageModal, "app-message-modal", never, { "suggestFn": "suggestFn"; "data": "data"; "canSelectType": "canSelectType"; }, {}, never, never, false>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageModal, "app-message-modal", never, { "suggestFn": "suggestFn"; "data": "data"; "canSelectType": "canSelectType"; "canRecipientFilter": "canRecipientFilter"; "recipientFilterCount": "recipientFilterCount"; }, {}, never, never, false>;
39
43
  }
@@ -3,6 +3,7 @@ import { StoreObject } from '@apollo/client/core';
3
3
  import { EntityFilter } from '../../core/services/model/filter.model';
4
4
  import { FilterFn } from '../../shared/services/entity-service.class';
5
5
  import { Person } from '../../core/services/model/person.model';
6
+ import { PersonFilter } from '../../admin/services/filter/person.filter';
6
7
  export declare const MessageTypes: {
7
8
  INBOX_MESSAGE: string;
8
9
  EMAIL: string;
@@ -18,6 +19,7 @@ export declare class Message extends Entity<Message> {
18
19
  type: string;
19
20
  issuer: Person;
20
21
  recipients: Person[];
22
+ recipientFilter: PersonFilter;
21
23
  subject: string;
22
24
  body: string;
23
25
  constructor();
@@ -4,8 +4,9 @@ import * as i2 from "./message.form";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "../../core/core.module";
6
6
  import * as i5 from "../../shared/shared.module";
7
+ import * as i6 from "@angular/material/chips";
7
8
  export declare class MessageModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<MessageModule, [typeof i1.MessageModal, typeof i2.MessageForm], [typeof i3.CommonModule, typeof i4.CoreModule, typeof i5.SharedModule], [typeof i1.MessageModal]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MessageModule, [typeof i1.MessageModal, typeof i2.MessageForm], [typeof i3.CommonModule, typeof i4.CoreModule, typeof i5.SharedModule, typeof i6.MatChipsModule], [typeof i1.MessageModal]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<MessageModule>;
11
12
  }
@@ -11,6 +11,8 @@ import { NetworkService } from '../../core/services/network.service';
11
11
  import { BaseGraphqlService, BaseGraphqlServiceOptions } from '../../core/services/base-graphql-service.class';
12
12
  import { Moment } from 'moment';
13
13
  import { IStartableService } from '../../shared/services/startable-service.class';
14
+ import { DocumentNode } from 'graphql/index';
15
+ import { MutableWatchQueriesUpdatePolicy } from '../../core/services/base-entity-service.class';
14
16
  import * as i0 from "@angular/core";
15
17
  export declare const APP_USER_EVENT_SERVICE: InjectionToken<IUserEventService<any, any, number, UserEventWatchOptions, UserEventLoadOptions>>;
16
18
  export declare interface UserEventLoadOptions extends EntitiesServiceLoadOptions {
@@ -42,6 +44,7 @@ export interface UserEventServiceOptions<Q extends IUserEventQueries = IUserEven
42
44
  queries: Q;
43
45
  mutations?: Partial<M>;
44
46
  subscriptions?: Partial<S>;
47
+ watchQueriesUpdatePolicy?: MutableWatchQueriesUpdatePolicy;
45
48
  }
46
49
  export interface IUserEventService<E extends IUserEvent<E, ID>, F extends IUserEventFilter<E, ID>, ID = number, WO extends UserEventWatchOptions = UserEventWatchOptions, LO extends UserEventLoadOptions = UserEventLoadOptions> extends IEntitiesService<E, F, WO>, IStartableService {
47
50
  countSubject: Observable<number>;
@@ -74,6 +77,7 @@ export declare abstract class AbstractUserEventService<E extends IUserEvent<E, I
74
77
  protected readonly mutations: Partial<M>;
75
78
  protected readonly subscriptions: Partial<S>;
76
79
  protected readonly _countSubject: BehaviorSubject<number>;
80
+ protected readonly watchQueriesUpdatePolicy: MutableWatchQueriesUpdatePolicy;
77
81
  protected resetCountDate: Moment;
78
82
  protected listeners: IUserEventListener<E, ID>[];
79
83
  private _subscriptions;
@@ -119,6 +123,7 @@ export declare abstract class AbstractUserEventService<E extends IUserEvent<E, I
119
123
  protected fillDefaultProperties(entity: E): void;
120
124
  protected unreadEvents(events: E[]): number;
121
125
  protected copyIdAndUpdateDate(source: E, target: E): void;
126
+ protected getLoadQueries(): DocumentNode[];
122
127
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractUserEventService<any, any, any, any, any, any, any, any>, never>;
123
128
  static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractUserEventService<any, any, any, any, any, any, any, any>, never, never, {}, {}, never, never, false>;
124
129
  }
@@ -495,6 +495,7 @@
495
495
  "MESSAGE": {
496
496
  "TYPE": "Message type",
497
497
  "RECIPIENTS": "Recipients",
498
+ "RECIPIENT_FILTER_COUNT": "{{count}} filtered users",
498
499
  "SUBJECT": "Object",
499
500
  "BODY_HELP": "Your message...",
500
501
  "NEW": {
@@ -495,6 +495,7 @@
495
495
  "MESSAGE": {
496
496
  "TYPE": "Message type",
497
497
  "RECIPIENTS": "Recipients",
498
+ "RECIPIENT_FILTER_COUNT": "{{count}} filtered users",
498
499
  "SUBJECT": "Object",
499
500
  "BODY_HELP": "Your message...",
500
501
  "NEW": {
@@ -495,6 +495,7 @@
495
495
  "MESSAGE": {
496
496
  "TYPE": "Type d'envoi",
497
497
  "RECIPIENTS": "Destinataires",
498
+ "RECIPIENT_FILTER_COUNT": "{{count}} utilisateurs filtrés",
498
499
  "SUBJECT": "Objet",
499
500
  "BODY_HELP": "Votre message...",
500
501
  "NEW": {
@@ -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.6.16",
5
+ "version": "2.6.17",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{