instance-log.js (1727B)
1 function MInstanceLog() { 2 $.extend(this, { 3 uid: singleton.uid(), 4 // Propriétés 5 log: null, 6 pause: false 7 }); 8 } 9 10 function VInstanceLog(vMondeParente) { 11 $.extend(this,( 12 $('#vue-log') 13 .jqote({}) 14 .appendTo(vMondeParente))); 15 16 this.vBarreTitre = this.find('.barre-titre'); 17 this.vTitre = this.find('.titre'); 18 this.vBoutonPause = this.find('.log.pause'); 19 this.vBoutonPlay = this.find('.log.play'); 20 this.vMessages = this.find('.messages'); 21 22 this.doPlay = function() { 23 this.vMessages.stop().scrollToLast(200); 24 this.vBoutonPause.show(); 25 this.vBoutonPlay.hide(); 26 }; 27 this.doPause = function() { 28 this.vMessages.stop(); 29 this.vBoutonPause.hide(); 30 this.vBoutonPlay.show(); 31 }; 32 this.ajoutMessage = function(msg, scroll) { 33 this.vMessages.append($('<div/>').text(msg)); 34 if (scroll) this.vMessages.stop().scrollToLast(100); 35 } 36 37 this.draggable(); 38 this.resizable(); 39 this.vMessages.css('top', this.vBarreTitre.outerHeight()); 40 this.doPlay(); 41 } 42 43 function CInstanceLog(mInstanceLog, vMondeParente) { 44 this.modèle = mInstanceLog; 45 this.vue = new VInstanceLog(vMondeParente); 46 47 var that = this; 48 this.vue.vBoutonPause.add(this.vue.vBoutonPlay) 49 .click(function() { 50 if (that.modèle.pause) { 51 that.modèle.pause = false; 52 that.vue.doPlay(); 53 } else { 54 that.modèle.pause = true; 55 that.vue.doPause(); 56 } 57 }); 58 59 this.modèle.log.onMessage(function(msg) { 60 that.vue.ajoutMessage(msg, !that.modèle.pause) 61 }); 62 }