Merge pull request #650 from MyIgel/persistent-hidden-filters
Shifts view: Persist hidden filters
This commit is contained in:
commit
503c479e86
|
@ -16,7 +16,7 @@ global.checkAll = (id, checked) => {
|
||||||
* Sets the checkboxes according to the given type
|
* Sets the checkboxes according to the given type
|
||||||
*
|
*
|
||||||
* @param {string} id The elements ID
|
* @param {string} id The elements ID
|
||||||
* @param {list} shifts_list A list of numbers
|
* @param {list} shiftsList A list of numbers
|
||||||
*/
|
*/
|
||||||
global.checkOwnTypes = (id, shiftsList) => {
|
global.checkOwnTypes = (id, shiftsList) => {
|
||||||
$('#' + id + ' input[type="checkbox"]').each(function () {
|
$('#' + id + ' input[type="checkbox"]').each(function () {
|
||||||
|
@ -173,3 +173,30 @@ $(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the filter selects to latest state
|
||||||
|
*
|
||||||
|
* Uses DOMContentLoaded to prevent flickering
|
||||||
|
*/
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const filter = document.getElementById('collapseShiftsFilterSelect');
|
||||||
|
if (!filter || localStorage.getItem('collapseShiftsFilterSelect') !== 'hidden') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
filter.classList.remove('in');
|
||||||
|
});
|
||||||
|
$(() => {
|
||||||
|
if (typeof (localStorage) === 'undefined') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const onChange = (e) => {
|
||||||
|
localStorage.setItem('collapseShiftsFilterSelect', e.type);
|
||||||
|
};
|
||||||
|
|
||||||
|
$('#collapseShiftsFilterSelect')
|
||||||
|
.on('hidden.bs.collapse', onChange)
|
||||||
|
.on('shown.bs.collapse', onChange);
|
||||||
|
});
|
||||||
|
|
|
@ -55,12 +55,12 @@
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<button class="btn btn-info btn-sm hidden-print" style="margin-top: 20px; margin-bottom:10px" type="button"
|
<button class="btn btn-info btn-sm hidden-print" style="margin-top: 20px; margin-bottom:10px" type="button"
|
||||||
data-toggle="collapse"
|
data-toggle="collapse"
|
||||||
data-target="#collapseRoomSelect" aria-expanded="false"
|
data-target="#collapseShiftsFilterSelect" aria-expanded="true"
|
||||||
aria-controls="collapseRoomSelect"
|
aria-controls="collapseShiftsFilterSelect"
|
||||||
>
|
>
|
||||||
collapse/show filters
|
collapse/show filters
|
||||||
</button>
|
</button>
|
||||||
<div class="collapse in" id="collapseRoomSelect">
|
<div class="collapse in" id="collapseShiftsFilterSelect">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-4 col-xxs-12">%room_select%</div>
|
<div class="col-xs-4 col-xxs-12">%room_select%</div>
|
||||||
<div class="col-xs-4 col-xxs-12">%type_select%</div>
|
<div class="col-xs-4 col-xxs-12">%type_select%</div>
|
||||||
|
@ -79,5 +79,5 @@
|
||||||
%shifts_table%
|
%shifts_table%
|
||||||
|
|
||||||
<div class="hidden-print">
|
<div class="hidden-print">
|
||||||
%ical_text%
|
%ical_text%
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue