X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plekit%2Ftoggle%2Ftoggle.js;h=a4b02cd53758f437437af549306cca8a8293f444;hb=029eefb7067420fe3e6d7af0521e59bc3909350e;hp=faae1b8579498d266f44a5d07bac3dedee4b1370;hpb=71a3afc2cbb7e8a94a762afaf703120ae2742d86;p=plewww.git diff --git a/plekit/toggle/toggle.js b/plekit/toggle/toggle.js index faae1b8..a4b02cd 100644 --- a/plekit/toggle/toggle.js +++ b/plekit/toggle/toggle.js @@ -1,38 +1,63 @@ +////////// 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); + } +} -function plc_toggle(id){ +////////// manage a toggle +// toggle it +function pletoggle_toggle(id){ - var area=$('toggle-area-'+id); - area.toggle(); - var visible=$('toggle-image-visible-'+id); - var hidden=$('toggle-image-hidden-'+id); - if(area.visible()){ - visible.show(); - hidden.hide(); - } - else{ - visible.hide(); - hidden.show(); - } + var area=$('toggle-area-'+id); + area.toggle(); + var visible=$('toggle-image-visible-'+id); + var hidden=$('toggle-image-hidden-'+id); + if (area.visible()) { + visible.show(); + hidden.hide(); + } else { + visible.hide(); + hidden.show(); + } + pletoggle_store(id); } -function plc_show_toggle_info(div, id) { -//debugfilter("showing "+div); - - var area=$('toggle-area-'+id); - var visible=$('toggle-image-visible-'+id); - var hidden=$('toggle-image-hidden-'+id); +// for compatibility (monitor) +function plc_toggle (id) { return pletoggle_toggle (id); } - if (document.getElementById(div).style.display == "none") - document.getElementById(div).style.display = ""; - else - document.getElementById(div).style.display = "none"; +// make sure it's open or closed +function pletoggle_set_visible(id, status) { + var area=$('toggle-area-'+id); + if (area.visible()!=status) pletoggle_toggle (id); +} - if(! area.visible()){ - area.toggle(); - visible.show(); - hidden.hide(); - document.getElementById(div).style.display = ""; - } +// toggle the attached info box +function pletoggle_toggle_info(id){ - //plc_toggle(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'); + info.hide(); + } else { + // make sure area is visible, take of the triggers +// window.console.log('PTI showing'); + pletoggle_set_visible(id,true); + info.show(); + } } +