mirror of https://git.48k.eu/ogcp
js: consolidate sidebar collapse persistence logic
Consolidate all the sidebar collapse persistence logic. Implement a single function to handle all the views.master
parent
f85c61df99
commit
233156b19a
|
@ -152,60 +152,19 @@ function keepSelectedClients(context) {
|
|||
});
|
||||
}
|
||||
|
||||
function keepImagesTreeState() {
|
||||
const images_tree = $('#servers .collapse')
|
||||
images_tree.on('hidden.bs.collapse', function (event) {
|
||||
function keepTreeState(selector) {
|
||||
const tree = $(selector + ' .collapse');
|
||||
|
||||
tree.on('hidden.bs.collapse', function (event) {
|
||||
event.stopPropagation();
|
||||
localStorage.removeItem(this.id);
|
||||
});
|
||||
images_tree.on('shown.bs.collapse', function (event) {
|
||||
tree.on('shown.bs.collapse', function (event) {
|
||||
event.stopPropagation();
|
||||
localStorage.setItem(this.id, 'show');
|
||||
});
|
||||
|
||||
images_tree.each(function () {
|
||||
if (localStorage.getItem(this.id) == 'show') {
|
||||
$(this).collapse('show');
|
||||
} else {
|
||||
$(this).siblings('a').addClass('collapsed');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function keepReposTreeState() {
|
||||
const repos_tree = $('#repos-list .collapse')
|
||||
|
||||
repos_tree.on('hidden.bs.collapse', function (event) {
|
||||
event.stopPropagation();
|
||||
localStorage.removeItem(this.id);
|
||||
});
|
||||
repos_tree.on('shown.bs.collapse', function (event) {
|
||||
event.stopPropagation();
|
||||
localStorage.setItem(this.id, 'show');
|
||||
});
|
||||
|
||||
repos_tree.each(function () {
|
||||
if (localStorage.getItem(this.id) == 'show') {
|
||||
$(this).collapse('show');
|
||||
} else {
|
||||
$(this).siblings('a').addClass('collapsed');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function keepScopesTreeState() {
|
||||
const scopes_tree = $('#scopes .collapse')
|
||||
|
||||
scopes_tree.on('hidden.bs.collapse', function (event) {
|
||||
event.stopPropagation();
|
||||
localStorage.removeItem(this.id);
|
||||
});
|
||||
scopes_tree.on('shown.bs.collapse', function (event) {
|
||||
event.stopPropagation();
|
||||
localStorage.setItem(this.id, 'show');
|
||||
});
|
||||
|
||||
scopes_tree.each(function () {
|
||||
tree.each(function () {
|
||||
if (localStorage.getItem(this.id) == 'show') {
|
||||
$(this).collapse('show');
|
||||
} else {
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<!-- ChartJS -->
|
||||
<script src="{{ url_for('static', filename='AdminLTE/plugins/chart.js/Chart.min.js') }}"></script>
|
||||
|
||||
<script src="{{ url_for('static', filename='js/ogcp.js') }}?v=17"></script>
|
||||
<script src="{{ url_for('static', filename='js/ogcp.js') }}?v=18"></script>
|
||||
|
||||
<script>
|
||||
// error messages
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
// in the scope
|
||||
document.addEventListener('readystatechange', () => {
|
||||
if (document.readyState === 'complete') {
|
||||
keepImagesTreeState();
|
||||
keepTreeState('#servers');
|
||||
checkImageServer();
|
||||
}
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
if (document.readyState === 'complete') {
|
||||
showSelectedClientsOnEvents();
|
||||
updateScopeState();
|
||||
keepScopesTreeState();
|
||||
keepTreeState('#scopes');
|
||||
let context = {{ selection_mode | tojson | safe }};
|
||||
{% if selection_mode == 'commands' %}
|
||||
configureCommandCheckboxes(context);
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
// in the scope
|
||||
document.addEventListener('readystatechange', () => {
|
||||
if (document.readyState === 'complete') {
|
||||
keepReposTreeState()
|
||||
keepTreeState('#repos-list')
|
||||
checkRepoServer()
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue