Add right-side fundamentals drawer to card list page
This commit is contained in:
@@ -692,6 +692,16 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<aside class="sg-card-list-page-drawer" aria-label="Fundamentalanalyse" aria-hidden="true" data-open="false">
|
||||
<header class="sg-card-list-page-drawer__header">
|
||||
<h2 class="sg-heading-h2 sg-card-list-page-drawer__title">Fundamentalanalyse</h2>
|
||||
<button class="sg-interaction-element sg-button" type="button" data-drawer-close>Schließen</button>
|
||||
</header>
|
||||
<div class="sg-card-list-page-drawer__content">
|
||||
<p class="sg-body">Detailinhalte zur Fundamentalanalyse werden hier angezeigt.</p>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
const updateObjectCardGridRowState = () => {
|
||||
document.querySelectorAll('.sg-object-card-grid').forEach((grid) => {
|
||||
@@ -950,6 +960,40 @@
|
||||
updateState();
|
||||
});
|
||||
|
||||
const fundamentalDrawer = document.querySelector('.sg-card-list-page-drawer');
|
||||
const fundamentalDrawerCloseButton = fundamentalDrawer?.querySelector('[data-drawer-close]');
|
||||
|
||||
const setFundamentalDrawerState = (open) => {
|
||||
if (!fundamentalDrawer) {
|
||||
return;
|
||||
}
|
||||
|
||||
fundamentalDrawer.dataset.open = String(open);
|
||||
fundamentalDrawer.setAttribute('aria-hidden', String(!open));
|
||||
};
|
||||
|
||||
document.querySelectorAll('.sg-object-card__action').forEach((button) => {
|
||||
if (button.textContent?.trim() !== 'Fundamentalanalyse') {
|
||||
return;
|
||||
}
|
||||
|
||||
button.addEventListener('click', () => {
|
||||
setFundamentalDrawerState(true);
|
||||
});
|
||||
});
|
||||
|
||||
if (fundamentalDrawerCloseButton) {
|
||||
fundamentalDrawerCloseButton.addEventListener('click', () => {
|
||||
setFundamentalDrawerState(false);
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('keydown', (event) => {
|
||||
if (event.key === 'Escape') {
|
||||
setFundamentalDrawerState(false);
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('click', (event) => {
|
||||
if (!event.target.closest('.sg-sandwich-menu-wrap')) {
|
||||
document.querySelectorAll('.sg-sandwich-menu-wrap').forEach((wrap) => {
|
||||
|
||||
Reference in New Issue
Block a user