Privacy Policy DSGVO with sheets for categories, export-, check- and first erase-functions
This commit is contained in:
@@ -35,35 +35,15 @@
|
||||
return control.name || control.dataset.field || cell?.dataset.field || `filter-${index}`;
|
||||
}
|
||||
|
||||
function restoreSort(table, index, force = false) {
|
||||
if (!force && table.dataset.browserSortRestored === '1') return;
|
||||
if (typeof table.assetApplySort !== 'function') return;
|
||||
|
||||
const key = `${tableKey(table, index)}:sort`;
|
||||
let state = null;
|
||||
try { state = JSON.parse(api.get(key) || 'null'); } catch (_) {}
|
||||
if (state?.field && (state.direction === 'asc' || state.direction === 'desc')) {
|
||||
table.assetApplySort(state.field, state.direction, {silent: true});
|
||||
} else {
|
||||
table.assetUpdateRowNumbers?.();
|
||||
}
|
||||
table.dataset.browserSortRestored = '1';
|
||||
}
|
||||
|
||||
function restoreTable(table, index) {
|
||||
if (table.dataset.browserStateReady === '1') return;
|
||||
if (table.dataset.serverFilters === '1') {
|
||||
table.dataset.browserStateReady = '1';
|
||||
restoreSort(table, index);
|
||||
return;
|
||||
}
|
||||
const restoreStarted = performance.now();
|
||||
const controls = filterControls(table);
|
||||
if (!controls.length) {
|
||||
table.dataset.browserStateReady = '1';
|
||||
restoreSort(table, index);
|
||||
return;
|
||||
}
|
||||
if (!controls.length) return;
|
||||
|
||||
table.dataset.browserStateReady = '1';
|
||||
const key = `${tableKey(table, index)}:filters`;
|
||||
@@ -91,7 +71,6 @@
|
||||
if (typeof table.assetApplyFilters === 'function') {
|
||||
table.assetApplyFilters();
|
||||
}
|
||||
restoreSort(table, index);
|
||||
table.dataset.browserStateRestored = '1';
|
||||
window.dispatchEvent(new CustomEvent('asset-table-state-ready', { detail: { table } }));
|
||||
const duration = performance.now() - restoreStarted;
|
||||
@@ -130,25 +109,5 @@
|
||||
api.remove(key);
|
||||
});
|
||||
|
||||
window.addEventListener('asset-table-sort-changed', event => {
|
||||
const table = event.detail?.table;
|
||||
if (!(table instanceof HTMLTableElement)) return;
|
||||
const tables = [...document.querySelectorAll('table')];
|
||||
const index = tables.indexOf(table);
|
||||
const key = `${tableKey(table, index >= 0 ? index : 0)}:sort`;
|
||||
api.set(key, JSON.stringify({
|
||||
field: event.detail?.field || '',
|
||||
direction: event.detail?.direction || 'asc'
|
||||
}));
|
||||
});
|
||||
|
||||
window.addEventListener('asset-table-content-reloaded', event => {
|
||||
const table = event.detail?.table;
|
||||
if (!(table instanceof HTMLTableElement)) return;
|
||||
const tables = [...document.querySelectorAll('table')];
|
||||
const index = tables.indexOf(table);
|
||||
restoreSort(table, index >= 0 ? index : 0, true);
|
||||
});
|
||||
|
||||
perf?.end('browser-state:gesamtes Modul');
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user