fmeshsync fix with synology,vm's and lxc
This commit is contained in:
@@ -9,6 +9,11 @@
|
||||
const ignoreEmpty = document.getElementById('duplicate-ignore-empty');
|
||||
const caseInsensitive = document.getElementById('duplicate-case-insensitive');
|
||||
const summary = document.getElementById('duplicate-search-summary');
|
||||
const contextStatus = document.getElementById('asset-context-filter-status');
|
||||
const duplicateChip = document.getElementById('asset-duplicate-filter-chip');
|
||||
const duplicateLabel = document.getElementById('asset-duplicate-filter-label');
|
||||
const duplicateRemove = document.getElementById('asset-duplicate-filter-remove');
|
||||
const categoryRemove = document.getElementById('asset-category-filter-remove');
|
||||
if (!table || !openButton || !dialog || table.dataset.duplicateSearchReady === '1') return;
|
||||
table.dataset.duplicateSearchReady = '1';
|
||||
|
||||
@@ -26,6 +31,17 @@
|
||||
label: th.dataset.label || th.textContent.trim()
|
||||
}));
|
||||
|
||||
function refreshContextStatus() {
|
||||
const categoryChip = document.getElementById('asset-category-filter-chip');
|
||||
const duplicateActive = table.dataset.duplicateFilterActive === '1';
|
||||
if (duplicateChip) duplicateChip.hidden = !duplicateActive;
|
||||
if (contextStatus) {
|
||||
const hasActive = Boolean(categoryChip) || duplicateActive;
|
||||
contextStatus.hidden = !hasActive;
|
||||
contextStatus.classList.toggle('is-active', hasActive);
|
||||
}
|
||||
}
|
||||
|
||||
function fillSelect() {
|
||||
const previous = select.value;
|
||||
select.innerHTML = '';
|
||||
@@ -42,8 +58,13 @@
|
||||
|
||||
function clearDuplicateFilter() {
|
||||
dataRows().forEach(row => row.classList.remove('duplicate-hidden', 'duplicate-match'));
|
||||
summary.hidden = true;
|
||||
window.dispatchEvent(new Event('asset-table-filter-changed'));
|
||||
delete table.dataset.duplicateFilterActive;
|
||||
delete table.dataset.duplicateFilterTotal;
|
||||
delete table.dataset.duplicateFilterField;
|
||||
if (summary) summary.hidden = true;
|
||||
if (duplicateLabel) duplicateLabel.textContent = '';
|
||||
refreshContextStatus();
|
||||
window.dispatchEvent(new CustomEvent('asset-table-filter-changed', {detail: {table}}));
|
||||
}
|
||||
|
||||
function normalize(value) {
|
||||
@@ -93,9 +114,24 @@
|
||||
}
|
||||
});
|
||||
|
||||
summary.textContent = `${duplicateRows.size} Datensätze in ${duplicateGroups} Dublettengruppen gefunden.`;
|
||||
summary.hidden = false;
|
||||
window.dispatchEvent(new Event('asset-table-filter-changed'));
|
||||
table.dataset.duplicateFilterActive = '1';
|
||||
table.dataset.duplicateFilterTotal = String(duplicateRows.size);
|
||||
table.dataset.duplicateFilterField = field;
|
||||
|
||||
const selectedOption = select.options[select.selectedIndex];
|
||||
const fieldLabel = selectedOption?.textContent?.trim() || field;
|
||||
const duplicateTemplate = contextStatus?.dataset.duplicateTemplate || 'Duplikate: {field}';
|
||||
if (duplicateLabel) duplicateLabel.textContent = duplicateTemplate.replace('{field}', fieldLabel);
|
||||
refreshContextStatus();
|
||||
|
||||
const summaryTemplate = dialog.dataset.resultSummaryTemplate || '{records} Datensätze in {groups} Dublettengruppen gefunden.';
|
||||
if (summary) {
|
||||
summary.textContent = summaryTemplate
|
||||
.replace('{records}', String(duplicateRows.size))
|
||||
.replace('{groups}', String(duplicateGroups));
|
||||
summary.hidden = false;
|
||||
}
|
||||
window.dispatchEvent(new CustomEvent('asset-table-filter-changed', {detail: {table}}));
|
||||
dialog.close();
|
||||
}
|
||||
|
||||
@@ -108,6 +144,13 @@
|
||||
});
|
||||
applyButton.addEventListener('click', applyDuplicateFilter);
|
||||
clearButton.addEventListener('click', clearDuplicateFilter);
|
||||
duplicateRemove?.addEventListener('click', clearDuplicateFilter);
|
||||
categoryRemove?.addEventListener('click', () => {
|
||||
const url = new URL(window.location.href);
|
||||
url.searchParams.delete('category_id');
|
||||
window.location.assign(url.toString());
|
||||
});
|
||||
refreshContextStatus();
|
||||
}
|
||||
|
||||
if (document.readyState === 'loading') {
|
||||
|
||||
Reference in New Issue
Block a user