release: v2.2.60 enforce active sag tab top view

This commit is contained in:
Christian 2026-03-18 09:29:57 +01:00
parent e07932f2cc
commit beaea0288c
2 changed files with 26 additions and 22 deletions

17
RELEASE_NOTES_v2.2.60.md Normal file
View File

@ -0,0 +1,17 @@
# Release Notes v2.2.60
Dato: 2026-03-18
## Fokus
Korrekt top-visning af aktiv fane paa SAG detaljesiden.
## Aendringer
- Tvang korrekt tab-pane synlighed i `#caseTabsContent`:
- inaktive faner skjules (`display: none`)
- kun aktiv fane vises (`display: block`)
- Fjernet tidligere scroll/DOM-workaround til fanevisning.
- Resultat: aktiv fane vises i toppen under fanebjaelken uden tom top-sektion.
## Berorte filer
- app/modules/sag/templates/detail.html
- RELEASE_NOTES_v2.2.60.md

View File

@ -634,6 +634,15 @@
border-bottom: 1px solid rgba(15, 76, 117, 0.08); border-bottom: 1px solid rgba(15, 76, 117, 0.08);
} }
#caseTabsContent > .tab-pane {
display: none;
}
#caseTabsContent > .tab-pane.active,
#caseTabsContent > .tab-pane.show.active {
display: block;
}
.todo-step-item { .todo-step-item {
padding: 0.38rem 0.5rem; padding: 0.38rem 0.5rem;
} }
@ -2208,25 +2217,6 @@
let selectedRelationCaseId = null; let selectedRelationCaseId = null;
const caseTypeKey = "{{ (case.template_key or case.type or 'ticket')|lower }}"; const caseTypeKey = "{{ (case.template_key or case.type or 'ticket')|lower }}";
function scrollToCaseTabContent(tabId) {
if (!tabId) return;
const pane = document.getElementById(tabId);
if (!pane) return;
const firstContent = pane.querySelector(
'.card, .row, .alert, .table-responsive, .list-group, form, [data-module]'
);
const target = firstContent || pane;
const navbar = document.querySelector('.navbar');
const navHeight = navbar ? navbar.getBoundingClientRect().height : 0;
const offset = navHeight + 24;
const top = target.getBoundingClientRect().top + window.pageYOffset - offset;
window.scrollTo({ top: Math.max(0, top), behavior: 'smooth' });
}
window.moduleDisplayNames = { window.moduleDisplayNames = {
'relations': 'Relationer', 'relations': 'Relationer',
'call-history': 'Opkaldshistorik', 'call-history': 'Opkaldshistorik',
@ -2324,8 +2314,6 @@
} catch (tabLoadError) { } catch (tabLoadError) {
console.error('Tab data reload failed:', tabLoadError); console.error('Tab data reload failed:', tabLoadError);
} }
requestAnimationFrame(() => scrollToCaseTabContent(tabId));
}); });
} }
@ -7723,7 +7711,6 @@
if (tabBtn) { if (tabBtn) {
setTimeout(() => { setTimeout(() => {
bootstrap.Tab.getOrCreateInstance(tabBtn).show(); bootstrap.Tab.getOrCreateInstance(tabBtn).show();
scrollToCaseTabContent(tabParam);
}, 300); }, 300);
} }
} }