Add notification configuration in order to works in mobile
This commit is contained in:
parent
b9381c41cf
commit
409f263479
|
@ -6,7 +6,8 @@
|
|||
[class.sidebar_mini]="!open && (hasSidebar || hasAdminMenu || hasInternalSidebar)" [class.sidebar_hover]="hover">
|
||||
<div id="modal-container"></div>
|
||||
<ng-container *ngIf="!isHidden">
|
||||
<navbar *ngIf="hasHeader" portal="monitor_dashboard" [header]="menuHeader" [userMenuItems]=userMenuItems [menuItems]="menuItems" [user]="user"></navbar>
|
||||
<navbar *ngIf="hasHeader" portal="monitor_dashboard" [header]="menuHeader" [userMenuItems]=userMenuItems [menuItems]="menuItems" [user]="user"
|
||||
[notificationConfiguration]="isMobile && user && notificationGroupsInitialized?notificationConfiguration:null"></navbar>
|
||||
<div>
|
||||
<dashboard-sidebar *ngIf="stakeholder && isFrontPage && hasSidebar && !hasInternalSidebar" queryParamsHandling="merge" [items]="sideBarItems"
|
||||
[activeItem]="activeTopic?activeTopic.alias:null" [activeSubItem]="activeCategory?activeCategory.alias:null"></dashboard-sidebar>
|
||||
|
@ -15,8 +16,7 @@
|
|||
<router-outlet></router-outlet>
|
||||
</main>
|
||||
<bottom id="bottom" *ngIf="isFrontPage" [centered]="true" [properties]="properties" [showMenuItems]="true"></bottom>
|
||||
<notification-sidebar *ngIf="user && notificationGroupsInitialized" [entities]="entities"
|
||||
[user]="user" [availableGroups]="notificationGroups" service="monitor"></notification-sidebar>
|
||||
<notification-sidebar *ngIf="!isMobile && user && notificationGroupsInitialized" [configuration]="notificationConfiguration" [user]="user"></notification-sidebar>
|
||||
</div>
|
||||
<div *ngIf="view" class="preview uk-text-small uk-flex uk-flex-middle">
|
||||
<span>You are currently in a <span class="uk-text-bold">"Preview"</span> mode. <span class="uk-visible@m"><a (click)="removeView()">The current view</a> of this dashboard may differ.</span></span>
|
||||
|
|
|
@ -24,6 +24,9 @@ import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
|
|||
import {ConnectHelper} from "./openaireLibrary/connect/connectHelper";
|
||||
import {ResourcesService} from "./openaireLibrary/monitor/services/resources.service";
|
||||
import {StringUtils} from "./openaireLibrary/utils/string-utils.class";
|
||||
import {
|
||||
NotificationConfiguration
|
||||
} from "./openaireLibrary/notifications/notifications-sidebar/notifications-sidebar.component";
|
||||
|
||||
|
||||
@Component({
|
||||
|
@ -41,13 +44,13 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||
hasAdminMenu: boolean = false;
|
||||
hasInternalSidebar: boolean = false;
|
||||
isFrontPage: boolean = false;
|
||||
isMobile: boolean = false;
|
||||
view: Visibility;
|
||||
sideBarItems: MenuItem[] = [];
|
||||
backItem: MenuItem = null;
|
||||
menuItems: MenuItem[] = [];
|
||||
notificationGroups: Option[] = [];
|
||||
entities: string[];
|
||||
notificationGroupsInitialized: boolean = false;
|
||||
notificationConfiguration: NotificationConfiguration = new NotificationConfiguration();
|
||||
stakeholderUtils: StakeholderUtils = new StakeholderUtils();
|
||||
public stakeholderEntities = StakeholderEntities;
|
||||
menuHeader: Header = {
|
||||
|
@ -118,6 +121,10 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||
this.isFrontPage = isFrontPage;
|
||||
this.cdr.detectChanges();
|
||||
}));
|
||||
this.subscriptions.push(this.layoutService.isMobile.subscribe(isMobile => {
|
||||
this.isMobile = isMobile;
|
||||
this.cdr.detectChanges();
|
||||
}));
|
||||
this.route.queryParams.subscribe(params => {
|
||||
this.view = params['view'];
|
||||
if(this.stakeholder) {
|
||||
|
@ -136,12 +143,12 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||
if (user) {
|
||||
this.user = user;
|
||||
if (!this.notificationGroupsInitialized) {
|
||||
this.setNotificationGroups();
|
||||
this.setNotificationConfiguration();
|
||||
}
|
||||
} else if(this.user) {
|
||||
this.user = user;
|
||||
this.notificationGroupsInitialized = false;
|
||||
this.notificationGroups = [];
|
||||
this.notificationConfiguration.availableGroups = [];
|
||||
}
|
||||
if(this.paramsSubscription) {
|
||||
this.paramsSubscription.unsubscribe();
|
||||
|
@ -201,26 +208,27 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||
}
|
||||
}
|
||||
|
||||
public setNotificationGroups() {
|
||||
this.entities = this.stakeholderUtils.types.map(option => option.value);
|
||||
this.notificationGroups = [];
|
||||
public setNotificationConfiguration() {
|
||||
this.notificationConfiguration.entities = this.stakeholderUtils.types.map(option => option.value);
|
||||
this.notificationConfiguration.service = 'monitor';
|
||||
this.notificationConfiguration.availableGroups = [];
|
||||
if (Session.isPortalAdministrator(this.user)) {
|
||||
this.notificationGroups.push({value: Role.PORTAL_ADMIN, label: 'Portal Administrators'});
|
||||
this.notificationConfiguration.availableGroups.push({value: Role.PORTAL_ADMIN, label: 'Portal Administrators'});
|
||||
}
|
||||
for (let type of this.stakeholderUtils.types) {
|
||||
if (Session.isCurator(type.value, this.user) || Session.isPortalAdministrator(this.user)) {
|
||||
this.notificationGroups.push({value: Role.curator(type.value), label: type.label + ' Curators'});
|
||||
this.notificationGroups.push({value: Role.typeManager(type.value), label: type.label + ' Managers'});
|
||||
this.notificationGroups.push({value: Role.typeMember(type.value), label: type.label + ' Members'});
|
||||
this.notificationConfiguration.availableGroups.push({value: Role.curator(type.value), label: type.label + ' Curators'});
|
||||
this.notificationConfiguration.availableGroups.push({value: Role.typeManager(type.value), label: type.label + ' Managers'});
|
||||
this.notificationConfiguration.availableGroups.push({value: Role.typeMember(type.value), label: type.label + ' Members'});
|
||||
}
|
||||
}
|
||||
this.subscriptions.push(this.stakeholderService.getMyStakeholders(this.properties.monitorServiceAPIURL).subscribe(stakeholders => {
|
||||
stakeholders.forEach(stakeholder => {
|
||||
this.notificationGroups.push({
|
||||
this.notificationConfiguration.availableGroups.push({
|
||||
value: Role.manager(stakeholder.type, stakeholder.alias),
|
||||
label: stakeholder.name + ' Managers'
|
||||
});
|
||||
this.notificationGroups.push({
|
||||
this.notificationConfiguration.availableGroups.push({
|
||||
value: Role.member(stakeholder.type, stakeholder.alias),
|
||||
label: stakeholder.name + ' Members'
|
||||
});
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 31d52de0e8f7a8ed506f597c555c5b952bcbdb02
|
||||
Subproject commit a9f31d830740cfdcea33266248b2421815834899
|
|
@ -1 +1 @@
|
|||
Subproject commit 22728ec7de6c106bb4ede71e12a71cb061c6e8f8
|
||||
Subproject commit 7c314ad2eb1c0b855f97e8eed7295075710be2fd
|
Loading…
Reference in New Issue