Skip to content

Commit

Permalink
Form debugger storage
Browse files Browse the repository at this point in the history
  • Loading branch information
wouterj authored and fabpot committed Jan 13, 2014
1 parent 8cd8ec0 commit 744da7f
Showing 1 changed file with 65 additions and 2 deletions.
Expand Up @@ -199,7 +199,7 @@
{% endif %}

<script>
function Toggler() {
function Toggler(togglerStorage) {
"use strict";
var expand = function (button) {
Expand All @@ -210,6 +210,8 @@
throw "Toggle target " + targetId + " does not exist";
}
togglerStorage.store(targetId, 'visible');
Sfjs.removeClass(button, 'closed');
Sfjs.removeClass(target, 'hidden');
},
Expand All @@ -222,6 +224,8 @@
throw "Toggle target " + targetId + " does not exist";
}
togglerStorage.store(targetId, 'hidden');
Sfjs.addClass(button, 'closed');
Sfjs.addClass(target, 'hidden');
},
Expand Down Expand Up @@ -271,6 +275,63 @@
};
}
function TogglerStorage(key) {
var key = 'sf_' + (key || 'toggle_data'),
store = function (id, state) {
var toggleData = sessionStorage.getItem(key);
if (!toggleData) {
toggleData = [];
} else {
toggleData = toggleData.split('|');
}
if ('visible' == state) {
toggleData.push(id);
} else {
var index = toggleData.indexOf(id);
if (-1 < index) {
toggleData.splice(index, 1);
}
}
sessionStorage.setItem(key, toggleData.join('|'));
},
initStorage = function (buttonsSelector) {
var toggleData = sessionStorage.getItem(key);
if (!toggleData) {
return;
}
toggleData = toggleData.split('|');
var buttons = document.getElementsByClassName(buttonsSelector || 'toggle-button');
for (i in toggleData) {
var element = document.getElementById(toggleData[i]);
if (!element) {
continue;
}
if (Sfjs.hasClass(element, 'hidden')) {
for (var i = -1; button = buttons[++i]; ) {
if (button.dataset.toggleTargetId && button.dataset.toggleTargetId == element.getAttribute('id')) {
break;
}
}
Sfjs.removeClass(element, 'hidden');
Sfjs.removeClass(button, 'closed');
}
}
};
return {
store: store,
initStorage: initStorage
};
}
function TabView() {
"use strict";
Expand Down Expand Up @@ -335,10 +396,12 @@
}
var tabTarget = new TabView(),
toggler = new Toggler();
storage = new TogglerStorage(),
toggler = new Toggler(storage);
tabTarget.initTabs(document.querySelectorAll('.tree .tree-inner'));
toggler.initButtons(document.querySelectorAll('a.toggle-button'));
storage.initStorage();
</script>
{% endblock %}

Expand Down

0 comments on commit 744da7f

Please sign in to comment.