Skip to content

Commit 18cf601

Browse files
committed
Added storage
1 parent 406756d commit 18cf601

File tree

1 file changed

+63
-2
lines changed
  • src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector

1 file changed

+63
-2
lines changed

src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/form.html.twig

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@
199199
{% endif %}
200200

201201
<script>
202-
function Toggler() {
202+
function Toggler(togglerStorage) {
203203
"use strict";
204204
205205
var expand = function (button) {
@@ -210,6 +210,8 @@
210210
throw "Toggle target " + targetId + " does not exist";
211211
}
212212
213+
togglerStorage.store(targetId, 'visible');
214+
213215
Sfjs.removeClass(button, 'closed');
214216
Sfjs.removeClass(target, 'hidden');
215217
},
@@ -222,6 +224,8 @@
222224
throw "Toggle target " + targetId + " does not exist";
223225
}
224226
227+
togglerStorage.store(targetId, 'hidden');
228+
225229
Sfjs.addClass(button, 'closed');
226230
Sfjs.addClass(target, 'hidden');
227231
},
@@ -271,6 +275,61 @@
271275
};
272276
}
273277
278+
function TogglerStorage(key) {
279+
var key = key ? key : 'toggle_data',
280+
store = function (id, state) {
281+
var toggleData = sessionStorage.getItem(key);
282+
if (!toggleData) {
283+
toggleData = [];
284+
} else {
285+
toggleData = toggleData.split('|');
286+
}
287+
288+
if ('visible' == state) {
289+
toggleData.push(id);
290+
} else {
291+
var index = toggleData.indexOf(id);
292+
if (-1 < index) {
293+
toggleData.splice(index, 1);
294+
}
295+
}
296+
297+
sessionStorage.setItem(key, toggleData.join('|'));
298+
},
299+
300+
initStorage = function (buttonsSelector) {
301+
var toggleData = sessionStorage.getItem(key);
302+
303+
if (!toggleData) {
304+
return;
305+
}
306+
toggleData = toggleData.split('|');
307+
308+
var buttons = document.getElementsByClassName(buttonsSelector || 'toggle-button');
309+
for (i in toggleData) {
310+
var element = document.getElementById(toggleData[i]),
311+
id = element.getAttribute('id');
312+
313+
if (Sfjs.hasClass(element, 'hidden')) {
314+
for (var i = -1; button = buttons[++i]; ) {
315+
if (button.dataset.toggleTargetId && button.dataset.toggleTargetId == id) {
316+
break;
317+
}
318+
}
319+
320+
Sfjs.removeClass(element, 'hidden');
321+
Sfjs.removeClass(button, 'closed');
322+
}
323+
}
324+
};
325+
326+
return {
327+
store: store,
328+
329+
initStorage: initStorage
330+
};
331+
}
332+
274333
function TabView() {
275334
"use strict";
276335
@@ -335,10 +394,12 @@
335394
}
336395
337396
var tabTarget = new TabView(),
338-
toggler = new Toggler();
397+
storage = new TogglerStorage(),
398+
toggler = new Toggler(storage);
339399
340400
tabTarget.initTabs(document.querySelectorAll('.tree .tree-inner'));
341401
toggler.initButtons(document.querySelectorAll('a.toggle-button'));
402+
storage.initStorage();
342403
</script>
343404
{% endblock %}
344405

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy