Refactor bulk delete functionality to toggle visibility of checkboxes in admin view
This commit is contained in:
+1
-4
@@ -2967,14 +2967,12 @@ def get_items():
|
||||
offset = 0
|
||||
limit = None
|
||||
|
||||
# Light mode: minimal fields for faster initial load (auto-enabled on offset=0 unless explicitly disabled)
|
||||
# Can be manually controlled via ?light_mode=true/false parameter
|
||||
if light_mode_param in ('1', 'true', 'yes', 'on'):
|
||||
light_mode = True
|
||||
elif light_mode_param in ('0', 'false', 'no', 'off'):
|
||||
light_mode = False
|
||||
else:
|
||||
light_mode = (offset == 0) # Auto-enable light mode for first page
|
||||
light_mode = (offset == 0)
|
||||
|
||||
client = MongoClient(MONGODB_HOST, MONGODB_PORT)
|
||||
db = client[MONGODB_DB]
|
||||
@@ -2987,7 +2985,6 @@ def get_items():
|
||||
|
||||
total_count = items_col.count_documents(base_query)
|
||||
|
||||
# Light projection: essentials only for fast initial render
|
||||
light_projection = {
|
||||
'Name': 1,
|
||||
'Code_4': 1,
|
||||
|
||||
@@ -415,13 +415,17 @@
|
||||
}
|
||||
|
||||
.bulk-delete-row {
|
||||
display: flex;
|
||||
display: none;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-bottom: 8px;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.bulk-delete-mode-active .bulk-delete-row {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.bulk-delete-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -3056,6 +3060,7 @@ document.addEventListener('DOMContentLoaded', ()=>{
|
||||
bulkDeleteDrawerOpen = Boolean(open);
|
||||
const drawer = document.getElementById('bulk-delete-drawer');
|
||||
const toggle = document.getElementById('bulk-delete-drawer-toggle');
|
||||
const itemsContainer = document.querySelector('#items-container');
|
||||
if (drawer) {
|
||||
drawer.classList.toggle('open', bulkDeleteDrawerOpen);
|
||||
drawer.setAttribute('aria-hidden', bulkDeleteDrawerOpen ? 'false' : 'true');
|
||||
@@ -3065,6 +3070,10 @@ document.addEventListener('DOMContentLoaded', ()=>{
|
||||
toggle.innerHTML = bulkDeleteDrawerOpen ? '<span class="drawer-icon">✕</span>' : '<span class="drawer-icon">⚙</span>';
|
||||
toggle.title = bulkDeleteDrawerOpen ? 'Massenlöschung schließen' : 'Massenlöschung öffnen';
|
||||
}
|
||||
// Toggle checkbox visibility: show checkboxes only when bulk delete mode is active
|
||||
if (itemsContainer) {
|
||||
itemsContainer.classList.toggle('bulk-delete-mode-active', bulkDeleteDrawerOpen);
|
||||
}
|
||||
}
|
||||
|
||||
function toggleBulkDeleteDrawer() {
|
||||
|
||||
Reference in New Issue
Block a user