@@ -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 {
0 commit comments