We now store the state in a cookie

This commit is contained in:
Michael 2020-01-11 08:41:14 +00:00
parent 8f36a1554e
commit cfeef7afed
7 changed files with 83 additions and 16 deletions

View file

@ -33,6 +33,50 @@ function _resizeIframe(obj, desth) {
setTimeout(_resizeIframe, 100, obj, ch); setTimeout(_resizeIframe, 100, obj, ch);
} }
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) {
return parts.pop().split(";").shift();
}
}
function initWidget(inflated, deflated) {
var elInf = document.getElementById(inflated);
var elDef = document.getElementById(deflated);
if (!elInf || !elDef) {
return;
}
if (getCookie(window.location.pathname + ":" + inflated) != "none") {
elInf.style.display = "block";
elDef.style.display = "none";
} else {
elInf.style.display = "none";
elDef.style.display = "block";
}
}
function openCloseWidget(inflated, deflated) {
var elInf = document.getElementById(inflated);
var elDef = document.getElementById(deflated);
if (!elInf || !elDef) {
return;
}
if (window.getComputedStyle(elInf).display === "none") {
elInf.style.display = "block";
elDef.style.display = "none";
document.cookie = window.location.pathname + ":" + inflated + "=block";
} else {
elInf.style.display = "none";
elDef.style.display = "block";
document.cookie = window.location.pathname + ":" + inflated + "=none";
}
}
function openClose(theID) { function openClose(theID) {
var el = document.getElementById(theID); var el = document.getElementById(theID);
if (el) { if (el) {

View file

@ -1,5 +1,10 @@
<div class="widget" id="group-sidebar"> <span id="group-sidebar-inflated" class="widget fakelink" style="display: none;" onclick="openCloseWidget('group-sidebar', 'group-sidebar-inflated');">
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
</span>
<div class="widget" id="group-sidebar">
<span class="fakelink" onclick="openCloseWidget('group-sidebar', 'group-sidebar-inflated');">
<h3>{{$title}}</h3>
</span>
<div id="sidebar-group-list"> <div id="sidebar-group-list">
<ul role="menu" id="sidebar-group-ul"> <ul role="menu" id="sidebar-group-ul">

View file

@ -1,8 +1,8 @@
<span id="{{$type}}-sidebar-inflated" class="widget fakelink" style="display: none;" onclick="openClose('{{$type}}-sidebar'); openClose('{{$type}}-sidebar-inflated');"> <span id="{{$type}}-sidebar-inflated" class="widget fakelink" onclick="openCloseWidget('{{$type}}-sidebar', '{{$type}}-sidebar-inflated');">
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
</span> </span>
<div id="{{$type}}-sidebar" class="widget" style="display: block;"> <div id="{{$type}}-sidebar" class="widget">
<span class="fakelink" onclick="openClose('{{$type}}-sidebar'); openClose('{{$type}}-sidebar-inflated');"> <span class="fakelink" onclick="openCloseWidget('{{$type}}-sidebar', '{{$type}}-sidebar-inflated');">
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
</span> </span>
<div id="{{$type}}-desc">{{$desc nofilter}}</div> <div id="{{$type}}-desc">{{$desc nofilter}}</div>
@ -13,3 +13,6 @@
{{/foreach}} {{/foreach}}
</ul> </ul>
</div> </div>
<script>
initWidget('{{$type}}-sidebar', '{{$type}}-sidebar-inflated');
</script>

View file

@ -1,8 +1,8 @@
<span id="saved-search-list-inflated" class="widget fakelink" style="display: none;" onclick="openClose('saved-search-list'); openClose('saved-search-list-inflated');"> <span id="saved-search-list-inflated" class="widget fakelink" onclick="openCloseWidget('saved-search-list', 'saved-search-list-inflated');">
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
</span> </span>
<div class="widget" id="saved-search-list" style="display: block;"> <div class="widget" id="saved-search-list">
<span class="fakelink" onclick="openClose('saved-search-list'); openClose('saved-search-list-inflated');"> <span class="fakelink" onclick="openCloseWidget('saved-search-list', 'saved-search-list-inflated');">
<h3 id="search">{{$title}}</h3> <h3 id="search">{{$title}}</h3>
</span> </span>
{{$searchbox nofilter}} {{$searchbox nofilter}}
@ -17,3 +17,6 @@
</ul> </ul>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<script>
initWidget('saved-search-list', 'saved-search-list-inflated');
</script>

View file

@ -11,11 +11,11 @@ function showHideForumlist() {
} }
} }
</script> </script>
<span id="forumlist-sidebar-inflated" class="widget fakelink" style="display: none;" onclick="openClose('forumlist-sidebar'); openClose('forumlist-sidebar-inflated');"> <span id="forumlist-sidebar-inflated" class="widget fakelink" onclick="openCloseWidget('forumlist-sidebar', 'forumlist-sidebar-inflated');">
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
</span> </span>
<div id="forumlist-sidebar" class="widget" style="display: block;"> <div id="forumlist-sidebar" class="widget">
<span class="fakelink" onclick="openClose('forumlist-sidebar'); openClose('forumlist-sidebar-inflated');"> <span class="fakelink" onclick="openCloseWidget('forumlist-sidebar', 'forumlist-sidebar-inflated');">
<h3 id="forumlist">{{$title}}</h3> <h3 id="forumlist">{{$title}}</h3>
</span> </span>
<ul id="forumlist-sidbar-ul" role="menu"> <ul id="forumlist-sidbar-ul" role="menu">
@ -46,3 +46,6 @@ function showHideForumlist() {
{{/if}} {{/if}}
</ul> </ul>
</div> </div>
<script>
initWidget('forumlist-sidebar', 'forumlist-sidebar-inflated');
</script>

View file

@ -1,6 +1,11 @@
<span id="group-sidebar-inflated" class="widget fakelink" onclick="openCloseWidget('group-sidebar', 'group-sidebar-inflated');">
<h3>{{$title}}</h3>
</span>
<div class="widget" id="group-sidebar"> <div class="widget" id="group-sidebar">
<div id="sidebar-group-header"> <div id="sidebar-group-header">
<h3>{{$title}}</h3> <span class="fakelink" onclick="openCloseWidget('group-sidebar', 'group-sidebar-inflated');">
<h3>{{$title}}</h3>
</span>
{{if ! $newgroup}} {{if ! $newgroup}}
<a class="group-edit-tool pull-right widget-action faded-icon" id="sidebar-edit-group" href="{{$grouppage}}" data-toggle="tooltip" title="{{$editgroupstext}}"> <a class="group-edit-tool pull-right widget-action faded-icon" id="sidebar-edit-group" href="{{$grouppage}}" data-toggle="tooltip" title="{{$editgroupstext}}">
<i class="fa fa-pencil" aria-hidden="true"></i> <i class="fa fa-pencil" aria-hidden="true"></i>
@ -49,6 +54,7 @@
{{if $ungrouped}}<li class="{{if $ungrouped_selected}}selected{{/if}} sidebar-group-li" id="sidebar-ungrouped"><a href="nogroup">{{$ungrouped}}</a></li>{{/if}} {{if $ungrouped}}<li class="{{if $ungrouped_selected}}selected{{/if}} sidebar-group-li" id="sidebar-ungrouped"><a href="nogroup">{{$ungrouped}}</a></li>{{/if}}
</ul> </ul>
</div> </div>
</div> </div>
<script>
initWidget('group-sidebar', 'group-sidebar-inflated');
</script>

View file

@ -1,9 +1,9 @@
{{if $saved}} {{if $saved}}
<span id="saved-search-list-inflated" class="widget fakelink" style="display: none;" onclick="openClose('saved-search-list'); openClose('saved-search-list-inflated');"> <span id="saved-search-list-inflated" class="widget fakelink" onclick="openCloseWidget('saved-search-list', 'saved-search-list-inflated');">
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
</span> </span>
<div class="widget" id="saved-search-list" style="display: block;"> <div class="widget" id="saved-search-list">
<span class="fakelink" onclick="openClose('saved-search-list'); openClose('saved-search-list-inflated');"> <span class="fakelink" onclick="openCloseWidget('saved-search-list', 'saved-search-list-inflated');">
<h3 id="search">{{$title}}</h3> <h3 id="search">{{$title}}</h3>
</span> </span>
<ul role="menu" id="saved-search-ul"> <ul role="menu" id="saved-search-ul">
@ -18,4 +18,7 @@
</ul> </ul>
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
<script>
initWidget('saved-search-list', 'saved-search-list-inflated');
</script>
{{/if}} {{/if}}