OK-490 Shift-change dialog. Deal with missing assignments
diff --git a/src/app/common-components/message-banner/message-banner.component.html b/src/app/common-components/message-banner/message-banner.component.html
index e331543..d991a93 100644
--- a/src/app/common-components/message-banner/message-banner.component.html
+++ b/src/app/common-components/message-banner/message-banner.component.html
@@ -1,5 +1,5 @@
<div style="width:100%;">
- <div style="margin: 36px 10px 0px 10px;" *ngIf="sessionContext.bannerMessage.isActive" [ngClass]="{'alert':true,
+ <div style="margin: 36px 10px 0px 10px;" *ngIf="zOrder===getMaxMessageBannerZOrder() && sessionContext.bannerMessage.isActive" [ngClass]="{'alert':true,
'alert-danger':sessionContext.bannerMessage.status===bannerMessageStatus.error,
'alert-info':sessionContext.bannerMessage.status===bannerMessageStatus.info,
'alert-warning':sessionContext.bannerMessage.status===bannerMessageStatus.warning,
diff --git a/src/app/common-components/message-banner/message-banner.component.ts b/src/app/common-components/message-banner/message-banner.component.ts
index 1f4f1c5..0354dab 100644
--- a/src/app/common-components/message-banner/message-banner.component.ts
+++ b/src/app/common-components/message-banner/message-banner.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input } from '@angular/core';
+import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { BannerMessageStatusEn } from '../../common/enums';
import { SessionContext } from '../../common/session-context';
@@ -7,16 +7,40 @@
templateUrl: './message-banner.component.html',
styleUrls: ['./message-banner.component.css']
})
-export class MessageBannerComponent implements OnInit {
+
+
+export class MessageBannerComponent implements OnInit, OnDestroy {
+ static allComponents: Map< MessageBannerComponent, Number > = new Map<MessageBannerComponent, Number>();
+ @Input() zOrder: Number = 0;
bannerMessageStatus = BannerMessageStatusEn;
- constructor(public sessionContext: SessionContext) { }
+ constructor(public sessionContext: SessionContext) {
+ }
ngOnInit() {
+ MessageBannerComponent.allComponents.set(this, this.zOrder );
+ }
+
+ ngOnDestroy() {
+ MessageBannerComponent.allComponents.delete(this);
+ }
+
+ getMaxMessageBannerZOrder(): Number {
+ const iter = MessageBannerComponent.allComponents.values();
+ let maxValue: Number = 0;
+ let item = iter.next();
+ while ( item != null && !item.done ) {
+ if ( item.value > maxValue ) {
+ maxValue = item.value;
+ }
+ item = iter.next();
+ }
+
+ return maxValue;
}
}
diff --git a/src/app/common/session-context.ts b/src/app/common/session-context.ts
index 2286f69..658f4e5 100644
--- a/src/app/common/session-context.ts
+++ b/src/app/common/session-context.ts
@@ -28,7 +28,8 @@
public importFileAvailable = false;
public filterExpanded = false;
private notificationHistoryExpansionStates: NotificationHistoryExpansionState[];
- public sortingState: SortingState;
+ public sortingState: SortingState;
+
bannerMessage: BannerMessage = new BannerMessage();
getCurrSessionId(): string { return localStorage.getItem(Globals.LOCALSTORAGE_SESSION_ID); }
diff --git a/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html b/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
index 2e534bc..9053d72 100644
--- a/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
+++ b/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
@@ -6,7 +6,7 @@
<div id="print-section" class="dialog">
<div class="panel panel-default margin-zero">
- <app-message-banner></app-message-banner>
+ <app-message-banner zOrder="1"></app-message-banner>
<div class="panel-body shift-change-protocol-panel-body">
<app-responsibility #respCompVar [responsiblitySelection]="responsibilitiesContainer"></app-responsibility>
<app-future-notifications [withCheckboxes]="true" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeFutureNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-future-notifications>