X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plekit%2Ftoggle%2Ftoggle.js;h=a4b02cd53758f437437af549306cca8a8293f444;hb=029eefb7067420fe3e6d7af0521e59bc3909350e;hp=8ac69aff6bb64719366b11329ee1bf64a1782d63;hpb=7d4971597397caa302b9caf5d38c016139ab5b00;p=plewww.git diff --git a/plekit/toggle/toggle.js b/plekit/toggle/toggle.js index 8ac69af..a4b02cd 100644 --- a/plekit/toggle/toggle.js +++ b/plekit/toggle/toggle.js @@ -1,24 +1,25 @@ ////////// use jstorage to remember open/closed toggles // store current status -function plekit_toggle_store(id) { +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 plekit_toggle_from_store (id) { - var area=$('toggle-area-'+id); +function pletoggle_from_store (id) { key='toggle.'+id; - // on by default -// window.console.log('retrieving toggle status for '+id+'=>got '+$.jStorage.get(key,undefined)); - if ($.jStorage.get(key,true)) area.show(); - else area.hide(); + // 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 plekit_toggle(id){ +function pletoggle_toggle(id){ var area=$('toggle-area-'+id); area.toggle(); @@ -31,17 +32,20 @@ function plekit_toggle(id){ visible.hide(); hidden.show(); } - plekit_toggle_store(id); + 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); } // toggle the attached info box -function plekit_toggle_info(id){ +function pletoggle_toggle_info(id){ // need to take care of the area as well var area=$('toggle-area-'+id); @@ -52,7 +56,7 @@ function plekit_toggle_info(id){ } else { // make sure area is visible, take of the triggers // window.console.log('PTI showing'); - plekit_toggle_show(id); + pletoggle_set_visible(id,true); info.show(); } }