@sumaris-net/ngx-components 1.22.8 → 1.22.9

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.
@@ -25958,130 +25958,6 @@ const SocialErrorCodes = {
25958
25958
  SUBSCRIBE_JOB_PROGRESSION_ERROR: 50010
25959
25959
  };
25960
25960
 
25961
- var UserEvent_1;
25962
- const UserEventTypes = {
25963
- DEBUG_DATA: 'DEBUG_DATA',
25964
- INBOX_MESSAGE: 'INBOX_MESSAGE'
25965
- };
25966
- // @dynamic
25967
- let UserEvent = UserEvent_1 = class UserEvent extends Entity {
25968
- constructor() {
25969
- super(UserEvent_1.TYPENAME);
25970
- }
25971
- asObject(opts) {
25972
- const target = super.asObject(opts);
25973
- target.creationDate = toDateISOString(this.creationDate);
25974
- target.readDate = toDateISOString(this.readDate);
25975
- // Serialize content
25976
- if (typeof target.content === 'object') {
25977
- target.content = JSON.stringify(target.content);
25978
- }
25979
- delete target.avatar;
25980
- delete target.avatarIcon;
25981
- delete target.icon;
25982
- delete target.actions;
25983
- return target;
25984
- }
25985
- fromObject(source) {
25986
- Object.assign(this, source); // Copy all properties
25987
- super.fromObject(source);
25988
- this.creationDate = fromDateISOString(source.creationDate);
25989
- this.readDate = fromDateISOString(source.readDate);
25990
- try {
25991
- // Deserialize content
25992
- if (typeof source.content === 'string' && source.content.startsWith('{')) {
25993
- this.content = JSON.parse(source.content);
25994
- }
25995
- // Deserialize content.context
25996
- if (this.content && typeof this.content.context === 'string' && this.content.context.startsWith('{')) {
25997
- this.content.context = JSON.parse(this.content.context);
25998
- }
25999
- }
26000
- catch (err) {
26001
- console.error('Error during UserEvent deserialization', err);
26002
- }
26003
- }
26004
- };
26005
- UserEvent = UserEvent_1 = __decorate([
26006
- EntityClass({ typename: 'UserEventVO' })
26007
- ], UserEvent);
26008
- // @dynamic
26009
- let UserEventFilter = class UserEventFilter extends EntityFilter {
26010
- constructor() {
26011
- super(...arguments);
26012
- this.types = [];
26013
- this.levels = [];
26014
- this.issuers = [];
26015
- this.recipients = [];
26016
- this.startDate = null;
26017
- this.excludeRead = false;
26018
- }
26019
- fromObject(source, opts) {
26020
- super.fromObject(source, opts);
26021
- this.types = source.types || [];
26022
- this.levels = source.levels || [];
26023
- this.issuers = source.issuers || [];
26024
- this.recipients = source.recipients || [];
26025
- this.startDate = fromDateISOString(source.startDate);
26026
- this.excludeRead = source.excludeRead || false;
26027
- }
26028
- buildFilter() {
26029
- const filterFns = super.buildFilter();
26030
- if (isNotEmptyArray(this.types)) {
26031
- filterFns.push(t => this.types.includes(t.type));
26032
- }
26033
- if (isNotEmptyArray(this.levels)) {
26034
- filterFns.push(t => this.levels.includes(t.level));
26035
- }
26036
- if (isNotEmptyArray(this.issuers)) {
26037
- filterFns.push(t => this.issuers.includes(t.issuer));
26038
- }
26039
- if (isNotEmptyArray(this.recipients)) {
26040
- filterFns.push(t => this.recipients.includes(t.recipient));
26041
- }
26042
- if (isNotNil(this.startDate)) {
26043
- filterFns.push(t => this.startDate.isSameOrBefore(t.creationDate));
26044
- }
26045
- if (this.excludeRead === true) {
26046
- filterFns.push(t => isNil(t.readSignature)); // todo or t.signature ?
26047
- }
26048
- return filterFns;
26049
- }
26050
- asObject(opts) {
26051
- const target = super.asObject(opts);
26052
- return target;
26053
- }
26054
- };
26055
- UserEventFilter = __decorate([
26056
- EntityClass({ typename: 'UserEventFilterVO' })
26057
- ], UserEventFilter);
26058
-
26059
- const UserEventFragments = {
26060
- userEvent: gql `fragment UserEventFragment on UserEventVO {
26061
- id
26062
- issuer
26063
- updateDate
26064
- creationDate
26065
- eventType
26066
- recipient
26067
- content
26068
- hash
26069
- signature
26070
- readSignature
26071
- __typename
26072
- }`,
26073
- lightUserEvent: gql `fragment LightUserEventFragment on UserEventVO {
26074
- id
26075
- issuer
26076
- recipient
26077
- updateDate
26078
- creationDate
26079
- eventType
26080
- readSignature
26081
- __typename
26082
- }`
26083
- };
26084
-
26085
25961
  const moment$6 = momentImported;
26086
25962
  const USER_EVENT_SERVICE = new InjectionToken('UserEventService');
26087
25963
  class AbstractUserEventService extends BaseGraphqlService {
@@ -26106,7 +25982,8 @@ class AbstractUserEventService extends BaseGraphqlService {
26106
25982
  ngOnStart() {
26107
25983
  return __awaiter(this, void 0, void 0, function* () {
26108
25984
  // Update component when refresh is need (=login events)
26109
- this._subscriptions.add(merge(this.accountService.onLogin, this.accountService.onLogout)
25985
+ this._subscriptions.add(merge(this.accountService.onLogin, this.accountService.onLogout, of() // Starts with - first attempt if account is ready
25986
+ )
26110
25987
  .pipe(
26111
25988
  // Wait account service ready (can be restarted)
26112
25989
  mergeMap(() => this.accountService.ready()), map(() => this.accountService.isLogin()), distinctUntilChanged())
@@ -26118,11 +25995,6 @@ class AbstractUserEventService extends BaseGraphqlService {
26118
25995
  this.onLogout();
26119
25996
  }
26120
25997
  }));
26121
- // First attempt if account is ready
26122
- yield this.accountService.ready();
26123
- if (this.accountService.isLogin()) {
26124
- setTimeout(() => this.onLogin());
26125
- }
26126
25998
  });
26127
25999
  }
26128
26000
  ngOnDestroy() {
@@ -26507,197 +26379,6 @@ AbstractUserEventService.ctorParameters = () => [
26507
26379
  { type: TranslateService },
26508
26380
  { type: undefined }
26509
26381
  ];
26510
- const userEventQueries = {
26511
- loadAll: gql `
26512
- query UserEvents($filter: UserEventFilterVOInput, $page: PageInput){
26513
- data: userEvents(filter: $filter, page: $page){
26514
- ...LightUserEventFragment
26515
- }
26516
- }
26517
- ${UserEventFragments.lightUserEvent}
26518
- `,
26519
- loadAllWithContent: gql `
26520
- query UserEventsWithContent($filter: UserEventFilterVOInput, $page: PageInput){
26521
- data: userEvents(filter: $filter, page: $page){
26522
- ...UserEventFragment
26523
- }
26524
- }
26525
- ${UserEventFragments.userEvent}
26526
- `
26527
- };
26528
- const userEventMutations = {
26529
- deleteByIds: gql `
26530
- mutation DeleteUserEvents($ids:[Int]){
26531
- deleteUserEvents(ids: $ids)
26532
- }
26533
- `,
26534
- save: gql `
26535
- mutation SaveUserEvent($data: UserEventVOInput){
26536
- data: saveUserEvent(userEvent: $data){
26537
- ...UserEventFragment
26538
- }
26539
- }
26540
- ${UserEventFragments.userEvent}
26541
- `
26542
- };
26543
- class UserEventService extends AbstractUserEventService {
26544
- constructor(graphql, accountService, network, translate, environment) {
26545
- super(graphql, accountService, network, translate, {
26546
- queries: userEventQueries,
26547
- mutations: userEventMutations,
26548
- production: environment === null || environment === void 0 ? void 0 : environment.production
26549
- });
26550
- this.graphql = graphql;
26551
- this.accountService = accountService;
26552
- this.network = network;
26553
- this.translate = translate;
26554
- this.environment = environment;
26555
- }
26556
- asFilter(filter) {
26557
- return UserEventFilter.fromObject(filter);
26558
- }
26559
- fromObject(source) {
26560
- return UserEvent.fromObject(source);
26561
- }
26562
- /* -- protected methods -- */
26563
- fillDefaultProperties(entity) {
26564
- entity.issuer = this.accountService.account.pubkey;
26565
- // TODO: compute hash (using cryptoService)
26566
- // TODO: compute sign
26567
- console.warn('TODO: sign user event before sending');
26568
- }
26569
- }
26570
- UserEventService.decorators = [
26571
- { type: Injectable }
26572
- ];
26573
- UserEventService.ctorParameters = () => [
26574
- { type: GraphqlService },
26575
- { type: AccountService },
26576
- { type: NetworkService },
26577
- { type: TranslateService },
26578
- { type: Environment, decorators: [{ type: Optional }, { type: Inject, args: [ENVIRONMENT,] }] }
26579
- ];
26580
-
26581
- const ICONS_MAP = {
26582
- DEBUG_DATA: { matIcon: 'bug_report' },
26583
- INBOX_MESSAGE: { matIcon: 'mail' }
26584
- };
26585
- class UserEventsTable extends AppTable {
26586
- constructor(injector, accountService, service, entities, cd, environment) {
26587
- super(injector,
26588
- // columns
26589
- RESERVED_START_COLUMNS
26590
- .concat([
26591
- 'creationDate',
26592
- 'icon',
26593
- 'eventType',
26594
- 'message'
26595
- ])
26596
- .concat(RESERVED_END_COLUMNS), null, null);
26597
- this.accountService = accountService;
26598
- this.service = service;
26599
- this.entities = entities;
26600
- this.cd = cd;
26601
- this.environment = environment;
26602
- this.i18nColumnPrefix = 'SOCIAL.USER_EVENT.';
26603
- this.autoLoad = false; // this.start()
26604
- this.inlineEdition = false;
26605
- this.defaultSortBy = 'creationDate';
26606
- this.defaultSortDirection = 'desc';
26607
- }
26608
- ngOnInit() {
26609
- super.ngOnInit();
26610
- // Load date/time pattern
26611
- this.dateTimePattern = this.translate.instant('COMMON.DATE_TIME_PATTERN');
26612
- this.withContent = toBoolean(this.withContent, false);
26613
- const account = this.accountService.account;
26614
- const pubkey = account && account.pubkey;
26615
- this.isAdmin = this.accountService.isAdmin();
26616
- this.canEdit = this.isAdmin || pubkey === this.recipient;
26617
- this.canDelete = this.canEdit;
26618
- this.setDatasource(new EntitiesTableDataSource(UserEvent, this.service, null, {
26619
- prependNewElements: false,
26620
- suppressErrors: true,
26621
- dataServiceOptions: {
26622
- withContent: this.withContent
26623
- }
26624
- }));
26625
- const filter = this.filter || new UserEventFilter();
26626
- filter.recipients = [this.recipient];
26627
- this.setFilter(filter, { emitEvent: true });
26628
- }
26629
- start() {
26630
- return __awaiter(this, void 0, void 0, function* () {
26631
- console.debug('[user-event] Starting...');
26632
- // Waiting account to be ready
26633
- yield this.accountService.ready();
26634
- // Load data
26635
- this.onRefresh.emit();
26636
- });
26637
- }
26638
- getIcon(source) {
26639
- return ICONS_MAP[source.type];
26640
- }
26641
- getDetail(source) {
26642
- if (!source)
26643
- return undefined;
26644
- if (source.content && source.type === UserEventTypes.DEBUG_DATA) {
26645
- const context = source.content.context;
26646
- if (context && context.__typename) {
26647
- // const actions = this.service.getActionsByTypename(context.__typename);
26648
- return {
26649
- // actions,
26650
- title: source.content.error && source.content.error.message || source.content.message,
26651
- description: source.content.error && source.content.error.details || undefined
26652
- };
26653
- }
26654
- }
26655
- console.debug('TODO: implement getDetail() for event: ', source);
26656
- return {};
26657
- }
26658
- doAction(action, row) {
26659
- return __awaiter(this, void 0, void 0, function* () {
26660
- const event = row.currentData;
26661
- // const context = event.content && event.content.context;
26662
- this.markAsLoading();
26663
- if (action && typeof action.executeAction === 'function') {
26664
- try {
26665
- let res = action.executeAction(event /*, context*/);
26666
- res = (res instanceof Promise) ? yield res : res;
26667
- }
26668
- catch (err) {
26669
- this.setError(err && err.message || err);
26670
- console.error(`[user-event] Failed to execute action ${action.name}: ${err && err.message || err}`, err);
26671
- }
26672
- finally {
26673
- this.markAsLoaded();
26674
- }
26675
- }
26676
- });
26677
- }
26678
- }
26679
- UserEventsTable.decorators = [
26680
- { type: Component, args: [{
26681
- selector: 'app-user-events-table',
26682
- template: "\n<!-- Type = options menu -->\n<mat-menu #optionsMenu=\"matMenu\" xPosition=\"after\">\n\n <!-- display columns -->\n <button mat-menu-item\n (click)=\"openSelectColumnsModal($event)\">\n <mat-icon>view_column</mat-icon>\n <ion-label translate>COMMON.DISPLAYED_COLUMNS_DOTS</ion-label>\n </button>\n\n</mat-menu>\n\n<!-- top header -->\n<mat-toolbar>\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n\n <button mat-icon-button [title]=\"'COMMON.BTN_REFRESH'|translate\" (click)=\"onRefresh.emit()\">\n <mat-icon>refresh</mat-icon>\n </button>\n\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button class=\"hidden-xs hidden-sm\" *ngIf=\"canDelete\"\n [title]=\"'COMMON.BTN_DELETE'|translate\" (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n </ng-template>\n\n <!-- error -->\n <ion-item *ngIf=\"error\" hidden-xs hidden-sm hidden-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <div class=\"toolbar-spacer\"></div>\n\n <button mat-icon-button\n [title]=\"'COMMON.BTN_OPTIONS'|translate\"\n [matMenuTriggerFor]=\"optionsMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n</mat-toolbar>\n\n\n<mat-table [dataSource]=\"dataSource\" matSort\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n matSortDisableClear [trackBy]=\"trackByFn\">\n\n <!-- select -->\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </mat-cell>\n </ng-container>\n\n <!-- id -->\n <ng-container matColumnDef=\"id\">\n <mat-header-cell *matHeaderCellDef mat-sort-header [class.cdk-visually-hidden]=\"!isAdmin\">\n <app-loading-spinner [loading]=\"loadingSubject|async\"><ion-label>#</ion-label></app-loading-spinner>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!isAdmin\">{{ row.currentData.id | mathAbs }}</mat-cell>\n </ng-container>\n\n <!-- creationDate -->\n <ng-container matColumnDef=\"creationDate\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>SOCIAL.USER_EVENT.CREATION_DATE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\">\n <ion-text>\n {{row.currentData.creationDate | dateFromNow }}<br/>\n <ion-text color=\"medium\"><small>{{row.currentData.creationDate | dateFormat: {time: true} }}</small></ion-text>\n </ion-text>\n </mat-cell>\n </ng-container>\n\n <!-- icon -->\n <ng-container matColumnDef=\"icon\">\n <mat-header-cell *matHeaderCellDef>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <ng-container *ngIf=\"getIcon(row.currentData); let details\">\n <ion-icon slot=\"start\" *ngIf=\"details.icon\" [name]=\"details.icon\"></ion-icon>\n <mat-icon slot=\"start\" *ngIf=\"details.matIcon\">{{details.matIcon}}</mat-icon>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <!-- event type -->\n <ng-container matColumnDef=\"eventType\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>SOCIAL.USER_EVENT.EVENT_TYPE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <span>{{'SOCIAL.USER_EVENT.TYPE_ENUM.' + row.currentData.eventType | translate}}</span>\n </mat-cell>\n </ng-container>\n\n <!-- message -->\n <ng-container matColumnDef=\"message\">\n <mat-header-cell *matHeaderCellDef>\n <ion-label translate>SOCIAL.USER_EVENT.MESSAGE</ion-label>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row;\">\n <ng-container *ngIf=\"getDetail(row.currentData); let details\">\n <ion-text [innerHTML]=\"details.title|translate\">\n </ion-text>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <!-- Actions buttons column -->\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell *matHeaderCellDef>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"getDetail(row.currentData); let details\">\n <button mat-icon-button color=\"light\"\n *ngFor=\"let action of details.actions\"\n [title]=\"action.title |translate\"\n [color]=\"action.color\"\n (click)=\"doAction(action, row)\">\n <app-icon slot=\"start\" *ngIf=\"action.iconRef\" [ref]=\"action.iconRef\"></app-icon>\n </button>\n </ng-container>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n class=\"mat-row-disabled\"\n (click)=\"clickRow($event, row)\"></mat-row>\n\n</mat-table>\n\n<ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col class=\"ion-no-padding\" size=\"auto\">\n <mat-paginator [length]=\"totalRowCount\" [pageSize]=\"defaultPageSize\" [pageSizeOptions]=\"defaultPageSizeOptions\" showFirstLastButtons>\n </mat-paginator>\n </ion-col>\n</ion-row>\n",
26683
- changeDetection: ChangeDetectionStrategy.OnPush,
26684
- styles: [".mat-header-row .mat-column-icon,.mat-row .mat-column-icon{max-width:40px;padding-left:0}.mat-header-row .mat-column-icon ion-icon,.mat-header-row .mat-column-icon mat-icon,.mat-row .mat-column-icon ion-icon,.mat-row .mat-column-icon mat-icon{font-size:1.2em;height:1.2em;width:1.2em}.mat-header-row .mat-column-creationDate,.mat-row .mat-column-creationDate{min-width:100px;max-width:120px}"]
26685
- },] }
26686
- ];
26687
- UserEventsTable.ctorParameters = () => [
26688
- { type: Injector },
26689
- { type: AccountService },
26690
- { type: undefined, decorators: [{ type: Inject, args: [USER_EVENT_SERVICE,] }] },
26691
- { type: EntitiesStorage },
26692
- { type: ChangeDetectorRef },
26693
- { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] }
26694
- ];
26695
- UserEventsTable.propDecorators = {
26696
- recipient: [{ type: Input }],
26697
- withContent: [{ type: Input }],
26698
- defaultSortBy: [{ type: Input }],
26699
- defaultSortDirection: [{ type: Input }]
26700
- };
26701
26382
 
26702
26383
  class UserEventNotificationList {
26703
26384
  constructor(cd, popoverController, userEventService) {
@@ -26854,75 +26535,6 @@ UserEventNotificationComponent.propDecorators = {
26854
26535
  disabled: [{ type: Input }]
26855
26536
  };
26856
26537
 
26857
- class UserEventTestService extends AbstractUserEventService {
26858
- constructor(graphql, accountService, network, translate, environment) {
26859
- super(graphql, accountService, network, translate, {
26860
- queries: {
26861
- loadAll: null,
26862
- loadAllWithContent: null
26863
- },
26864
- production: environment === null || environment === void 0 ? void 0 : environment.production
26865
- });
26866
- this.graphql = graphql;
26867
- this.accountService = accountService;
26868
- this.network = network;
26869
- this.translate = translate;
26870
- this.environment = environment;
26871
- this.userEvents = [];
26872
- }
26873
- fromObject(source) {
26874
- return UserEvent.fromObject(source);
26875
- }
26876
- add(entity) {
26877
- entity = this.processUserEvent(entity);
26878
- entity.id = this.userEvents.length + 1;
26879
- this.userEvents.push(entity);
26880
- this.count$.next(this.userEvents.length);
26881
- }
26882
- asFilter(filter) {
26883
- return filter;
26884
- }
26885
- count(filter, options) {
26886
- return Promise.resolve(this.userEvents.length);
26887
- }
26888
- delete(entity) {
26889
- return Promise.resolve(undefined);
26890
- }
26891
- deleteAll(data, opts) {
26892
- return Promise.resolve(undefined);
26893
- }
26894
- listenChanges(filter, options) {
26895
- return of();
26896
- }
26897
- save(entity, options) {
26898
- var _a;
26899
- const toSave = (_a = this.userEvents) === null || _a === void 0 ? void 0 : _a.find(value => value.id == (entity === null || entity === void 0 ? void 0 : entity.id));
26900
- Object.assign(toSave, entity);
26901
- return entity;
26902
- }
26903
- saveAll(data, opts) {
26904
- return __awaiter(this, void 0, void 0, function* () {
26905
- for (const entity of (data || [])) {
26906
- yield this.save(entity);
26907
- }
26908
- return Promise.resolve(this.userEvents);
26909
- });
26910
- }
26911
- watchAll(offset, size, sortBy, sortDirection, filter, options) {
26912
- return of({ data: this.userEvents });
26913
- }
26914
- }
26915
- UserEventTestService.decorators = [
26916
- { type: Injectable }
26917
- ];
26918
- UserEventTestService.ctorParameters = () => [
26919
- { type: GraphqlService },
26920
- { type: AccountService },
26921
- { type: NetworkService },
26922
- { type: TranslateService },
26923
- { type: Environment, decorators: [{ type: Optional }, { type: Inject, args: [ENVIRONMENT,] }] }
26924
- ];
26925
-
26926
26538
  class UserEventModule {
26927
26539
  }
26928
26540
  UserEventModule.decorators = [
@@ -26933,16 +26545,11 @@ UserEventModule.decorators = [
26933
26545
  AppIconModule
26934
26546
  ],
26935
26547
  declarations: [
26936
- UserEventsTable,
26937
26548
  UserEventNotificationComponent,
26938
- UserEventNotificationList,
26549
+ UserEventNotificationList
26939
26550
  ],
26940
26551
  exports: [
26941
- UserEventsTable,
26942
26552
  UserEventNotificationComponent
26943
- ],
26944
- providers: [
26945
- { provide: USER_EVENT_SERVICE, useClass: UserEventTestService }
26946
26553
  ]
26947
26554
  },] }
26948
26555
  ];
@@ -27484,11 +27091,135 @@ SocialModule.decorators = [
27484
27091
  SharedModule,
27485
27092
  UserEventModule,
27486
27093
  JobModule,
27487
- MessageModule,
27094
+ MessageModule
27488
27095
  ],
27489
27096
  },] }
27490
27097
  ];
27491
27098
 
27099
+ var UserEvent_1;
27100
+ const UserEventTypes = {
27101
+ DEBUG_DATA: 'DEBUG_DATA',
27102
+ INBOX_MESSAGE: 'INBOX_MESSAGE'
27103
+ };
27104
+ // @dynamic
27105
+ let UserEvent = UserEvent_1 = class UserEvent extends Entity {
27106
+ constructor() {
27107
+ super(UserEvent_1.TYPENAME);
27108
+ }
27109
+ asObject(opts) {
27110
+ const target = super.asObject(opts);
27111
+ target.creationDate = toDateISOString(this.creationDate);
27112
+ target.readDate = toDateISOString(this.readDate);
27113
+ // Serialize content
27114
+ if (typeof target.content === 'object') {
27115
+ target.content = JSON.stringify(target.content);
27116
+ }
27117
+ delete target.avatar;
27118
+ delete target.avatarIcon;
27119
+ delete target.icon;
27120
+ delete target.actions;
27121
+ return target;
27122
+ }
27123
+ fromObject(source) {
27124
+ Object.assign(this, source); // Copy all properties
27125
+ super.fromObject(source);
27126
+ this.creationDate = fromDateISOString(source.creationDate);
27127
+ this.readDate = fromDateISOString(source.readDate);
27128
+ try {
27129
+ // Deserialize content
27130
+ if (typeof source.content === 'string' && source.content.startsWith('{')) {
27131
+ this.content = JSON.parse(source.content);
27132
+ }
27133
+ // Deserialize content.context
27134
+ if (this.content && typeof this.content.context === 'string' && this.content.context.startsWith('{')) {
27135
+ this.content.context = JSON.parse(this.content.context);
27136
+ }
27137
+ }
27138
+ catch (err) {
27139
+ console.error('Error during UserEvent deserialization', err);
27140
+ }
27141
+ }
27142
+ };
27143
+ UserEvent = UserEvent_1 = __decorate([
27144
+ EntityClass({ typename: 'UserEventVO' })
27145
+ ], UserEvent);
27146
+ // @dynamic
27147
+ let UserEventFilter = class UserEventFilter extends EntityFilter {
27148
+ constructor() {
27149
+ super(...arguments);
27150
+ this.types = [];
27151
+ this.levels = [];
27152
+ this.issuers = [];
27153
+ this.recipients = [];
27154
+ this.startDate = null;
27155
+ this.excludeRead = false;
27156
+ }
27157
+ fromObject(source, opts) {
27158
+ super.fromObject(source, opts);
27159
+ this.types = source.types || [];
27160
+ this.levels = source.levels || [];
27161
+ this.issuers = source.issuers || [];
27162
+ this.recipients = source.recipients || [];
27163
+ this.startDate = fromDateISOString(source.startDate);
27164
+ this.excludeRead = source.excludeRead || false;
27165
+ }
27166
+ buildFilter() {
27167
+ const filterFns = super.buildFilter();
27168
+ if (isNotEmptyArray(this.types)) {
27169
+ filterFns.push(t => this.types.includes(t.type));
27170
+ }
27171
+ if (isNotEmptyArray(this.levels)) {
27172
+ filterFns.push(t => this.levels.includes(t.level));
27173
+ }
27174
+ if (isNotEmptyArray(this.issuers)) {
27175
+ filterFns.push(t => this.issuers.includes(t.issuer));
27176
+ }
27177
+ if (isNotEmptyArray(this.recipients)) {
27178
+ filterFns.push(t => this.recipients.includes(t.recipient));
27179
+ }
27180
+ if (isNotNil(this.startDate)) {
27181
+ filterFns.push(t => this.startDate.isSameOrBefore(t.creationDate));
27182
+ }
27183
+ if (this.excludeRead === true) {
27184
+ filterFns.push(t => isNil(t.readSignature)); // todo or t.signature ?
27185
+ }
27186
+ return filterFns;
27187
+ }
27188
+ asObject(opts) {
27189
+ const target = super.asObject(opts);
27190
+ return target;
27191
+ }
27192
+ };
27193
+ UserEventFilter = __decorate([
27194
+ EntityClass({ typename: 'UserEventFilterVO' })
27195
+ ], UserEventFilter);
27196
+
27197
+ const UserEventFragments = {
27198
+ userEvent: gql `fragment UserEventFragment on UserEventVO {
27199
+ id
27200
+ issuer
27201
+ updateDate
27202
+ creationDate
27203
+ eventType
27204
+ recipient
27205
+ content
27206
+ hash
27207
+ signature
27208
+ readSignature
27209
+ __typename
27210
+ }`,
27211
+ lightUserEvent: gql `fragment LightUserEventFragment on UserEventVO {
27212
+ id
27213
+ issuer
27214
+ recipient
27215
+ updateDate
27216
+ creationDate
27217
+ eventType
27218
+ readSignature
27219
+ __typename
27220
+ }`
27221
+ };
27222
+
27492
27223
  const Mutations = {
27493
27224
  send: gql `mutation SendMessage($data: MessageVOInput){
27494
27225
  done: sendMessage(message: $data)
@@ -29420,5 +29151,5 @@ CoreTestingModule.decorators = [
29420
29151
  * Generated bundle index. Do not edit.
29421
29152
  */
29422
29153
 
29423
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_TESTING_PAGES, AboutModal, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppIconComponent, AppIconModule, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, Job, JobModule, JobProgression, JobProgressionComponent, JobProgressionService, JobProgressionServiceToken, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuOptions, MenuService, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, ResizableComponent, ResizableDirective, ResizableModule, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, USER_EVENT_SERVICE, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEvent, UserEventFilter, UserEventFragments, UserEventModule, UserEventNotificationComponent, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isBlankString, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moment$5 as moment, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, tz, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending, ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppUpdateOfflineModeCard as ɵi, UserEventNotificationList as ɵj, UserEventTestService as ɵk, JobProgressionList as ɵl, DateTestPage as ɵm, NumpadTestPage as ɵn, MatBadgeIconTestPage as ɵo, ToastTestingModule as ɵp, ToastTestingPage as ɵq };
29154
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_TESTING_PAGES, AboutModal, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppIconComponent, AppIconModule, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, Job, JobModule, JobProgression, JobProgressionComponent, JobProgressionService, JobProgressionServiceToken, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuOptions, MenuService, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, ResizableComponent, ResizableDirective, ResizableModule, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, USER_EVENT_SERVICE, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEvent, UserEventFilter, UserEventFragments, UserEventModule, UserEventNotificationComponent, UserEventTypes, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isBlankString, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moment$5 as moment, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, tz, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending, ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppUpdateOfflineModeCard as ɵi, UserEventNotificationList as ɵj, JobProgressionList as ɵk, DateTestPage as ɵl, NumpadTestPage as ɵm, MatBadgeIconTestPage as ɵn, ToastTestingModule as ɵo, ToastTestingPage as ɵp };
29424
29155
  //# sourceMappingURL=sumaris-net.ngx-components.js.map