modyfikacja funckji zaznaczanie wszystkiego

This commit is contained in:
Mateusz Gruszczyński
2025-08-01 11:54:42 +02:00
parent cfae8571de
commit 79ba2068ec
2 changed files with 45 additions and 7 deletions

View File

@@ -0,0 +1,35 @@
document.addEventListener('DOMContentLoaded', () => {
const checkboxes = document.querySelectorAll('.list-checkbox');
const totalEl = document.getElementById('listsTotal');
const selectAllBtn = document.getElementById('selectAllBtn');
const deselectAllBtn = document.getElementById('deselectAllBtn');
function updateTotal() {
let total = 0;
checkboxes.forEach(cb => {
const row = cb.closest('tr');
if (cb.checked && row.style.display !== 'none') {
total += parseFloat(cb.dataset.amount);
}
});
totalEl.textContent = total.toFixed(2) + ' PLN';
}
selectAllBtn.addEventListener('click', () => {
checkboxes.forEach(cb => cb.checked = true);
updateTotal();
selectAllBtn.style.display = 'none';
deselectAllBtn.style.display = 'inline-block';
});
deselectAllBtn.addEventListener('click', () => {
checkboxes.forEach(cb => cb.checked = false);
updateTotal();
deselectAllBtn.style.display = 'none';
selectAllBtn.style.display = 'inline-block';
});
checkboxes.forEach(cb => {
cb.addEventListener('change', updateTotal);
});
});

View File

@@ -85,12 +85,16 @@
</div>
</div>
<div class="d-flex justify-content-end mb-2">
<button id="toggleAllCheckboxes" class="btn btn-outline-light btn-sm">
✅ Zaznacz wszystkie
</button>
<div class="d-flex justify-content-between align-items-center mb-2">
<div>
<button id="selectAllBtn" class="btn btn-outline-light">Zaznacz wszystko</button>
<button id="deselectAllBtn" class="btn btn-outline-light active" style="display: none;">Odznacz
wszystko</button>
</div>
<h5 class="text-success m-0">💰 Suma: <span id="listsTotal">0.00 PLN</span></h5>
</div>
<!-- Tabela list z możliwością filtrowania -->
<div class="table-responsive">
<table class="table table-dark table-striped align-middle sortable">
@@ -124,9 +128,6 @@
</tbody>
</table>
</div>
<hr>
<h5 class="text-success mt-3">💰 Suma zaznaczonych: <span id="listsTotal">0.00 PLN</span></h5>
</div>
</div>
</div>
@@ -176,4 +177,6 @@
<script src="{{ url_for('static_bp.serve_js', filename='expense_chart.js') }}"></script>
<script src="{{ url_for('static_bp.serve_js', filename='expense_table.js') }}"></script>
<script src="{{ url_for('static_bp.serve_js', filename='expense_tab.js') }}"></script>
<script src="{{ url_for('static_bp.serve_js', filename='select_all_table.js') }}"></script>
{% endblock %}