-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclasses.js
More file actions
53 lines (41 loc) · 1.31 KB
/
Copy pathclasses.js
File metadata and controls
53 lines (41 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import EditorHelpers from "../hermeneus.editor/js/hermeneus.editor.helpers";
export class IrisMessage {
constructor (type, title, message, callbackFunction) {
this.type = type;
this.title = title;
this.message = message;
this.callback = callbackFunction;
}
}
export class IrisMessenger {
constructor () {
this.Messages = [];
}
/**
* Destructs newMessage after selfDestructTimer in ms
* @param newMessage
* @param selfDestructTimer
*/
destruct (newMessage, selfDestructTimer) {
setTimeout(() => {
this.Messages = EditorHelpers.ArrayWithout(newMessage, this.Messages);
}, selfDestructTimer);
}
/***
* Displays a message as given by the parameters
* @param type (success/info/danger/confirm)
* @param title
* @param message
* @param callbackFunction
* @param selfDestructTimer (in ms)
*/
display (type, title, message, callbackFunction, selfDestructTimer = false) {
let newMessage = new IrisMessage(type, title, message, callbackFunction);
if (this.Messages.includes(newMessage) !== true) {
this.Messages.push(newMessage);
}
if (selfDestructTimer !== false) {
this.destruct(newMessage, selfDestructTimer)
}
}
}