ADD Avancement sur la page d'administration (trolls)
[euphorik.git] / js / pageAdmin.js
1 // coding: utf-8
2
3 function PageAdmin(client, formateur, util)
4 {
5 this.nom = "admin"
6
7 this.client = client
8 this.formateur = formateur
9 this.util = util
10 }
11
12 PageAdmin.prototype.contenu = function()
13 {
14 return '<h1>Trolls</h1>\
15 <form id="nouveauTroll"><p>Nouveau troll\
16 <input class="troll" name="troll" type="text" size="80" maxlength="500" value=""></input>\
17 <button class="return" value="return">poster</button>\
18 </p></form><div id="trolls"></div>'
19 }
20
21 PageAdmin.prototype.charger = function()
22 {
23 $("#page form#nouveauTroll").submit(function(){return false})
24
25 var thisPage = this
26
27 this.trolls = new Trolls(this.util)
28 this.trolls.rafraichirTrolls()
29
30 $("#page form#nouveauTroll button.return").click(
31 function()
32 {
33 }
34 )
35 }
36
37 ///////////////////////////////////////////////////////////////////////////////////////////////////
38
39 function Trolls(util)
40 {
41 this.util = util
42 this.dernierTroll = 0
43 this.pageEvent = new PageEvent("admin", this.util)
44 }
45
46 Trolls.prototype.rafraichirTrolls = function()
47 {
48 var thisTrolls = this
49
50 this.pageEvent.waitEvent(
51 function() { return { "last_troll" : thisTrolls.dernierTroll }},
52 function(data)
53 {
54 switch (data["reply"]) {
55 case "troll_added" :
56 var XHTML = ""
57 for (var i = 0; i < data["trolls"].length; i++)
58 {
59 thisTrolls.dernierTroll = data["trolls"][i]["troll_id"]
60 XHTML += '<p id="troll' + data["trolls"][i]["troll_id"] + '">' + data["trolls"][i]["content"] + '</p>'
61 }
62 $("#trolls").append(XHTML)
63 break
64 case "troll_modified" :
65 $("#trolls #troll"+data["troll_id"]).html(data["content"])
66 break
67 }
68 }
69 )
70 }