provide a compatibility with older code (monitor)
[plewww.git] / plekit / toggle / toggle.js
index 37dddda..a4b02cd 100644 (file)
@@ -1,4 +1,25 @@
-function plekit_toggle(id){
+////////// use jstorage to remember open/closed toggles
+// store current status
+function pletoggle_store(id) {
+    var area=$('toggle-area-'+id);
+    key='toggle.'+id;
+//    window.console.log('storing toggle status for '+id);
+    $.jStorage.set(key,area.visible());
+}
+// restore last status
+function pletoggle_from_store (id) {
+    key='toggle.'+id;
+    // don't do anything if nothing stored
+    var stored=$.jStorage.get(key,undefined);
+    if (stored==true || stored==false) {
+       //    window.console.log('retrieved toggle status for '+id+'=> '+stored);
+       pletoggle_set_visible(id,stored);
+    }
+}
+
+////////// manage a toggle
+// toggle it
+function pletoggle_toggle(id){
 
     var area=$('toggle-area-'+id);
     area.toggle();
@@ -11,27 +32,31 @@ function plekit_toggle(id){
        visible.hide();
        hidden.show();
     }
+    pletoggle_store(id);
 }
 
-// make sure it's open
-function plekit_toggle_show(id) {
+// for compatibility (monitor)
+function plc_toggle (id) { return pletoggle_toggle (id); }
+
+// make sure it's open or closed
+function pletoggle_set_visible(id, status) {
     var area=$('toggle-area-'+id);
-    if (!area.visible()) plekit_toggle (id);
+    if (area.visible()!=status) pletoggle_toggle (id);
 }
 
-// open or close the info box
-function plekit_toggle_info(id){
+// toggle the attached info box
+function pletoggle_toggle_info(id){
 
     // need to take care of the area as well
     var area=$('toggle-area-'+id);
     var info=$('toggle-info-'+id);
     if (area.visible() && info.visible()) {
-       window.console.log('PTI hiding');
+//     window.console.log('PTI hiding');
        info.hide();
     } else {
        // make sure area is visible, take of the triggers
-       window.console.log('PTI showing');
-       plekit_toggle_show(id);
+//     window.console.log('PTI showing');
+       pletoggle_set_visible(id,true);
        info.show();
     }
 }