diff --git a/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.html b/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.html
index 817a3b1b6..0185cfa77 100644
--- a/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.html
+++ b/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.html
@@ -16,6 +16,13 @@
+
+ {{'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FILTER.NOTIFICATION-TYPE' | translate}}
+
+ {{enumUtils.toNotificationTypeString(type)}}
+
+
+
{{'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FILTER.TRACKING-STATE' | translate}}
diff --git a/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.ts b/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.ts
index ec69b6278..9f5fc4f3b 100644
--- a/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.ts
+++ b/dmp-frontend/src/app/ui/inapp-notification/listing/filters/mine-inapp-notification-listing-filters.component.ts
@@ -5,6 +5,7 @@ import { NotificationInAppTracking } from '@app/core/common/enum/notification-in
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
import { InAppNotificationFilter } from '@app/core/query/inapp-notification.lookup';
import { nameof } from 'ts-simple-nameof';
+import { NotificationType } from '@app/core/common/enum/notification-type';
@Component({
selector: 'app-mine-inapp-notification-listing-filters',
templateUrl: './mine-inapp-notification-listing-filters.component.html',
@@ -16,6 +17,7 @@ export class MineInAppNotificationListingFiltersComponent extends BaseComponent
@Output() filterChange = new EventEmitter();
notificationInAppTrackingEnumValues = this.enumUtils.getEnumValues(NotificationInAppTracking);
+ notificationTypeEnumValues = this.enumUtils.getEnumValues(NotificationType);
// * State
internalFilters: InAppNotificationListingFilters = this._getEmptyFilters();
@@ -47,11 +49,12 @@ export class MineInAppNotificationListingFiltersComponent extends BaseComponent
}
protected applyFilters(): void {
- const { like, trackingState } = this.internalFilters ?? {}
+ const { like, trackingState, type } = this.internalFilters ?? {}
this.filterChange.emit({
...this.filter,
like,
- trackingState
+ trackingState,
+ type
})
}
@@ -61,11 +64,12 @@ export class MineInAppNotificationListingFiltersComponent extends BaseComponent
return this._getEmptyFilters();
}
- let { like, trackingState } = inputFilter;
+ let { like, trackingState, type } = inputFilter;
return {
like: like,
- trackingState: trackingState
+ trackingState: trackingState,
+ type: type
}
}
@@ -73,7 +77,8 @@ export class MineInAppNotificationListingFiltersComponent extends BaseComponent
private _getEmptyFilters(): InAppNotificationListingFilters {
return {
like: null,
- trackingState: null
+ trackingState: null,
+ type: null
}
}
@@ -90,4 +95,5 @@ export class MineInAppNotificationListingFiltersComponent extends BaseComponent
interface InAppNotificationListingFilters {
like: string;
trackingState: NotificationInAppTracking[];
+ type: NotificationType[];
}
diff --git a/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.html b/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.html
index 22ec8c7cf..6cd3006ed 100644
--- a/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.html
+++ b/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.html
@@ -32,9 +32,33 @@
- {{item?.trackingState | nullifyValue}}
-
+
+
+ drafts
+ mail
+
+
+
+
+
+
+
+ {{'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FIELDS.SUBJECT' | translate}}:
+
+ {{item?.subject | nullifyValue}}
+
+
+
+
+
+
+
+ {{'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FIELDS.NOTIFICATION-TYPE' | translate}}:
+
+ {{enumUtils.toNotificationTypeString(item.type) | nullifyValue}}
+
+
+
@@ -64,4 +88,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.ts b/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.ts
index eba6155f3..2029435db 100644
--- a/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.ts
+++ b/dmp-frontend/src/app/ui/inapp-notification/listing/mine-inapp-notification-listing.component.ts
@@ -13,7 +13,6 @@ import { InAppNotificationLookup } from '@app/core/query/inapp-notification.look
import { InAppNotificationService } from '@app/core/services/inapp-notification/inapp-notification.service';
import { IsActive } from '@app/core/common/enum/is-active.enum';
import { nameof } from 'ts-simple-nameof';
-import { NotificationInAppTrackingTypePipe } from '@common/formatting/pipes/notification-inapp-tracking-type.pipe';
import { Observable } from 'rxjs';
import { QueryResult } from '@common/model/query-result';
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
@@ -22,6 +21,8 @@ import { MatDialog } from '@angular/material/dialog';
import { Guid } from '@common/types/guid';
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
import { takeUntil } from 'rxjs/operators';
+import { NotificationInAppTracking } from '@app/core/common/enum/notification-inapp-tracking.enum';
+import { NotificationTypePipe } from '@common/formatting/pipes/notification-type.pipe';
@Component({
selector: 'app-mine-inapp-notification-listing',
@@ -32,13 +33,16 @@ export class MineInAppNotificationListingComponent extends BaseListingComponent<
publish = false;
userSettingsKey = { key: 'InAppNotificationListingUserSettings' };
propertiesAvailableForOrder: ColumnDefinition[];
+ notificationInAppTracking= NotificationInAppTracking;
@ViewChild('actions', { static: true }) actions?: TemplateRef;
+ @ViewChild('state', { static: true }) state?: TemplateRef;
@ViewChild(HybridListingComponent, { static: true }) hybridListingComponent: HybridListingComponent;
private readonly lookupFields: string[] = [
nameof(x => x.id),
nameof(x => x.subject),
+ nameof(x => x.type),
nameof(x => x.trackingState),
nameof(x => x.createdAt),
nameof(x => x.isActive)
@@ -86,15 +90,22 @@ export class MineInAppNotificationListingComponent extends BaseListingComponent<
protected setupColumns() {
this.gridColumns.push(...[{
- prop: nameof(x => x.subject),
- sortable: true,
- languageName: 'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FIELDS.SUBJECT'
- },
- {
prop: nameof(x => x.trackingState),
sortable: true,
languageName: 'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FIELDS.TRACKING-STATE',
- pipe: this.pipeService.getPipe(NotificationInAppTrackingTypePipe)
+ cellTemplate: this.state,
+ maxWidth: 100
+ },
+ {
+ prop: nameof(x => x.subject),
+ sortable: true,
+ languageName: 'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FIELDS.SUBJECT'
+ },
+ {
+ prop: nameof(x => x.type),
+ sortable: true,
+ languageName: 'NOTIFICATION-SERVICE.INAPP-NOTIFICATION-LISTING.FIELDS.NOTIFICATION-TYPE',
+ pipe: this.pipeService.getPipe(NotificationTypePipe)
},
{
prop: nameof(x => x.createdAt),
diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json
index fffb7922c..94b4bec00 100644
--- a/dmp-frontend/src/assets/i18n/en.json
+++ b/dmp-frontend/src/assets/i18n/en.json
@@ -1336,11 +1336,13 @@
"FIELDS": {
"SUBJECT": "Subject",
"TRACKING-STATE": "State",
+ "NOTIFICATION-TYPE":"Type",
"CREATED-AT": "Created"
},
"FILTER": {
"TITLE": "Filters",
"TRACKING-STATE":"State",
+ "NOTIFICATION-TYPE":"Type",
"IS-ACTIVE": "Is Active",
"CANCEL": "Cancel",
"APPLY-FILTERS": "Apply filters"
diff --git a/dmp-frontend/src/common/formatting/common-formatting.module.ts b/dmp-frontend/src/common/formatting/common-formatting.module.ts
index 2c54e7751..2ed1bea50 100644
--- a/dmp-frontend/src/common/formatting/common-formatting.module.ts
+++ b/dmp-frontend/src/common/formatting/common-formatting.module.ts
@@ -9,7 +9,7 @@ import { ReferenceTypePipe } from './pipes/reference-type.pipe';
import { ReferenceSourceTypePipe } from './pipes/reference-source-type.pipe';
import { NotificationTemplateChannelPipe } from './pipes/notification-template-channel.pipe';
import { NotificationTemplateKindPipe } from './pipes/notification-template-kind.pipe';
-import { NotificationInAppTrackingTypePipe } from './pipes/notification-inapp-tracking-type.pipe';
+import { NotificationTypePipe } from './pipes/notification-type.pipe';
//
//
@@ -31,7 +31,7 @@ import { NotificationInAppTrackingTypePipe } from './pipes/notification-inapp-tr
ReferenceSourceTypePipe,
NotificationTemplateChannelPipe,
NotificationTemplateKindPipe,
- NotificationInAppTrackingTypePipe
+ NotificationTypePipe
],
exports: [
DateFormatPipe,
@@ -47,7 +47,7 @@ import { NotificationInAppTrackingTypePipe } from './pipes/notification-inapp-tr
ReferenceSourceTypePipe,
NotificationTemplateChannelPipe,
NotificationTemplateKindPipe,
- NotificationInAppTrackingTypePipe
+ NotificationTypePipe
],
providers: [
DateFormatPipe,
@@ -63,7 +63,7 @@ import { NotificationInAppTrackingTypePipe } from './pipes/notification-inapp-tr
ReferenceSourceTypePipe,
NotificationTemplateChannelPipe,
NotificationTemplateKindPipe,
- NotificationInAppTrackingTypePipe
+ NotificationTypePipe
]
})
export class CommonFormattingModule { }
diff --git a/dmp-frontend/src/common/formatting/pipes/notification-inapp-tracking-type.pipe.ts b/dmp-frontend/src/common/formatting/pipes/notification-type.pipe.ts
similarity index 52%
rename from dmp-frontend/src/common/formatting/pipes/notification-inapp-tracking-type.pipe.ts
rename to dmp-frontend/src/common/formatting/pipes/notification-type.pipe.ts
index 413a7d6b6..4e26ccb69 100644
--- a/dmp-frontend/src/common/formatting/pipes/notification-inapp-tracking-type.pipe.ts
+++ b/dmp-frontend/src/common/formatting/pipes/notification-type.pipe.ts
@@ -1,11 +1,11 @@
import { Pipe, PipeTransform } from '@angular/core';
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
-@Pipe({ name: 'NotificationInAppTrackingTypeFormat' })
-export class NotificationInAppTrackingTypePipe implements PipeTransform {
+@Pipe({ name: 'NotificationTypeFormat' })
+export class NotificationTypePipe implements PipeTransform {
constructor(private enumUtils: EnumUtils) { }
public transform(value): any {
- return this.enumUtils.toNotificationInAppTrackingString(value);
+ return this.enumUtils.toNotificationTypeString(value);
}
-}
+}
\ No newline at end of file