release: v2.2.60 enforce active sag tab top view
This commit is contained in:
parent
e07932f2cc
commit
beaea0288c
17
RELEASE_NOTES_v2.2.60.md
Normal file
17
RELEASE_NOTES_v2.2.60.md
Normal 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
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user