Skip to content

Commit 596adc3

Browse files
committed
Increase delay for hiding Warning & Error notifications #4090
1 parent f765b8e commit 596adc3

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

src/main/resources/assets/admin/common/js/notify/Message.ts

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,32 +29,40 @@ export class Message {
2929
private readonly text: string;
3030
private readonly actions: MessageAction[];
3131
private readonly autoHide: boolean;
32+
private readonly lifeTime: number;
33+
static shortLifeTime: number = 5000;
34+
static longLifeTime: number = 30000;
3235

33-
constructor(type: MessageType, text: string, autoHide: boolean = true) {
36+
constructor(type: MessageType, text: string, autoHide: boolean = true, lifeTime?: number) {
3437
this.type = type;
3538
this.text = text;
3639
this.actions = [];
3740
this.autoHide = autoHide;
41+
this.lifeTime = lifeTime;
3842
}
3943

40-
static newSuccess(text: string, autoHide: boolean = true): Message {
41-
return new Message(MessageType.SUCCESS, text, autoHide);
44+
getLifeTime(): number {
45+
return this.lifeTime;
4246
}
4347

44-
static newInfo(text: string, autoHide: boolean = true): Message {
45-
return new Message(MessageType.INFO, text, autoHide);
48+
static newSuccess(text: string, autoHide: boolean = true, lifeTime: number = Message.shortLifeTime): Message {
49+
return new Message(MessageType.SUCCESS, text, autoHide, autoHide ? lifeTime : 0);
4650
}
4751

48-
static newError(text: string, autoHide: boolean = true): Message {
49-
return new Message(MessageType.ERROR, text, autoHide);
52+
static newInfo(text: string, autoHide: boolean = true, lifeTime: number = Message.shortLifeTime): Message {
53+
return new Message(MessageType.INFO, text, autoHide, autoHide ? lifeTime : 0);
5054
}
5155

52-
static newWarning(text: string, autoHide: boolean = true): Message {
53-
return new Message(MessageType.WARNING, text, autoHide);
56+
static newError(text: string, autoHide: boolean = true, lifeTime: number = Message.longLifeTime): Message {
57+
return new Message(MessageType.ERROR, text, autoHide, autoHide ? lifeTime : 0);
5458
}
5559

56-
static newAction(text: string, autoHide: boolean = true): Message {
57-
return new Message(MessageType.ACTION, text, autoHide);
60+
static newWarning(text: string, autoHide: boolean = true, lifeTime: number = Message.longLifeTime): Message {
61+
return new Message(MessageType.WARNING, text, autoHide, autoHide ? lifeTime : 0);
62+
}
63+
64+
static newAction(text: string, autoHide: boolean = true, lifeTime?: number): Message {
65+
return new Message(MessageType.ACTION, text, autoHide, autoHide ? lifeTime : 0);
5866
}
5967

6068
getType(): MessageType {

src/main/resources/assets/admin/common/js/notify/NotifyManager.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ export class NotifyManager {
1919

2020
private queue: NotificationMessage[] = [];
2121

22-
private shortLifeTime: number = 5000;
23-
24-
private longLifeTime: number = 30000;
25-
2622
private slideDuration: number = 500;
2723

2824
private timers: Map<string, Timer> = new Map<string, Timer>();
@@ -139,7 +135,7 @@ export class NotifyManager {
139135
() => {
140136
if (notification.isAutoHide()) {
141137
this.timers.set(notification.getEl().getId(), {
142-
remainingTime: this.getNotificationLifeTime(notification.getMessage())
138+
remainingTime: notification.getMessage().getLifeTime()
143139
});
144140

145141
this.startTimer(notification);
@@ -149,14 +145,6 @@ export class NotifyManager {
149145
return notification;
150146
}
151147

152-
private getNotificationLifeTime(message: Message): number {
153-
if (message.isError() || message.isWarning()) {
154-
return this.longLifeTime;
155-
}
156-
157-
return this.shortLifeTime;
158-
}
159-
160148
private setListeners(notificationMessage: NotificationMessage) {
161149
notificationMessage.getRemoveEl().onClicked(() => this.remove(notificationMessage));
162150
notificationMessage.onMouseEnter(() => this.stopTimer(notificationMessage));

0 commit comments

Comments
 (0)