From: Thierry Parmentelat <thierry.parmentelat@inria.fr>
Date: Mon, 8 Apr 2013 11:11:51 +0000 (+0200)
Subject: improved Messages - can't toggle buttons yet
X-Git-Tag: myslice-django-0.1-3~4
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=4e4ba52a8bde99ef10f8fd33f7cf273e3d34a9a1;p=unfold.git

improved Messages - can't toggle buttons yet
---

diff --git a/plugins/messages/messages.css b/plugins/messages/messages.css
index 685ae358..75530783 100644
--- a/plugins/messages/messages.css
+++ b/plugins/messages/messages.css
@@ -1,10 +1,8 @@
 div.messages-buttons { padding: 0px 20px 8px 50px; }
-div.messages-buttons>input {
-    padding: 10px;
-}
+div.messages-buttons>input { margin: 10px; }
+div.messages-buttons>span { font-weight: bold; }
 
 ul.messages {
-/*    background-color: #d0f0d0; */
     list-style-type: none;
 }
 /* someone please feel free to pick a better set of colors */
diff --git a/plugins/messages/messages.html b/plugins/messages/messages.html
index e219a5c4..856bf8e0 100644
--- a/plugins/messages/messages.html
+++ b/plugins/messages/messages.html
@@ -1,8 +1,8 @@
 <div class="messages-buttons row-fluid">
-<input type="checkbox" name="fatal" />fatal
-<input type="checkbox" name="error" />error
-<input type="checkbox" name="warning" />warning
-<input type="checkbox" name="info" />info
-<input type="checkbox" name="debug" />debug
+<input type="checkbox" name="fatal" /><span>fatal</span>
+<input type="checkbox" name="error" /><span>error</span>
+<input type="checkbox" name="warning" /><span>warning</span>
+<input type="checkbox" name="info" /><span>info</span>
+<input type="checkbox" name="debug" /><span>debug</span>
 </div>
 <ul class="messages" id={{ domid }}></ul>
diff --git a/plugins/messages/messages.js b/plugins/messages/messages.js
index abc18179..aea87368 100644
--- a/plugins/messages/messages.js
+++ b/plugins/messages/messages.js
@@ -78,14 +78,27 @@
 	    this.plugindiv.find("div.messages-buttons>input").each(this.init_button);
 	},
 	this.init_button = function (_,input) {
+	    /* set 'checked' state for that input from global 'levels' above */
 	    var level=input.name;
 	    input.checked=levels[level];
-	    console.log ("init_button did set initial status of " + level + " to " + input.checked);
-	    $(input).on('click',this.toggle_level);
-	},
-
-	this.toggle_level = function () {
-	    console.log("clicked, this= " + this + " this.name=" + this.name + " this.checked=" + this.checked);
+	    var toggle_level = function (input,level) {
+		console.log("input=" + input + " name=" + input.name);
+		var was_visible=input.checked;
+		var visible=!was_visible;
+		console.log('clic - was_visible=' + was_visible + " visible=" + visible);
+		var css_display=(visible ? "display:list-item" : "display:none");
+		console.log("Before setting input.checked=" + input.checked);
+		input.checked=visible;
+		console.log("After setting input.checked=" + input.checked);
+		var plugindiv=$(input).closest("div.Messages");
+		console.log("setting css display: " + css_display + " for level=" + level);
+		plugindiv.find("li."+level).css(css_display);
+		console.log("leaving input with checked=" + input.checked);
+	    };
+	    $(input).click(function (event) { 
+		event.preventDefault(); 
+		toggle_level(this,level); 
+	    });
 	}
 
     };
diff --git a/plugins/messages/messages.py b/plugins/messages/messages.py
index 020ad1bc..dd1373d6 100644
--- a/plugins/messages/messages.py
+++ b/plugins/messages/messages.py
@@ -10,7 +10,7 @@ class Messages (Plugin):
 
     def requirements (self):
         return {
-            'js_files' :  "js/messages.js", 
+            'js_files' :  [ "js/messages.js", "js/manifold.js", ],
             'css_files' : "css/messages.css",
             }