From 1bd900a180c250cec0e3903b799fab47b5cdead0 Mon Sep 17 00:00:00 2001 From: Liliana Sanfilippo <lsanfilippo@techfak.uni-bielefeld.de> Date: Sat, 23 Nov 2024 16:55:26 +0100 Subject: [PATCH] links --- src/components/Link.tsx | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/components/Link.tsx b/src/components/Link.tsx index 792913f..34daa8f 100644 --- a/src/components/Link.tsx +++ b/src/components/Link.tsx @@ -10,14 +10,14 @@ export function TabScrollLink({tab, scrollId, num}:{tab: string, scrollId: strin -// 2^4 = 16 possible combinations + 1 special case +// 2^4 = 16 possible combinations + special cases müssen eventuell ergänzt werden export function OurLink({path, scrollToId, tabId, subTabId, collapseId, text, tabincolId}:Ourlink){ const {goToPlace} = useNavigation(); - // 1. [1-1-1-1] go to page and open tab and open collapsible and open subtab in collapsible and scroll to something + // 1. [1-1-1-1] go to page and open tab and open subTab and open colapsible in subtab and scroll to something if(tabId && subTabId && scrollToId && collapseId && !tabincolId) { return(<a onClick={() => goToPlace({path: path, tabId: tabId, subTabId: subTabId, scrollToId:scrollToId, collapseId:collapseId})}>{text}</a>) } - // special case if tab in collapsible shall be opened + // special case if a tab in the collapsible shall be opened too if(tabId && subTabId && scrollToId && collapseId && tabincolId) { return(<a onClick={() => goToPlace({path: path, tabId: tabId, subTabId: subTabId, scrollToId:scrollToId, collapseId:collapseId, tabincolId:tabincolId})}>{text}</a>) } @@ -26,39 +26,55 @@ export function OurLink({path, scrollToId, tabId, subTabId, collapseId, text, ta return(<a onClick={() => goToPlace({path: path, tabId: tabId, subTabId: subTabId, scrollToId:scrollToId})}>{text}</a>) } //++3. [1-1-0-1] go to page and open tab and open collapsible - else if (tabId && subTabId && !scrollToId && collapseId){ + else if (tabId && subTabId && !scrollToId && collapseId && !tabincolId){ return(<a onClick={() => goToPlace({path: path, tabId: tabId, subTabId: subTabId, collapseId:collapseId})}>{text}</a>) } + //special case: go to page and open tab and open collapsible and open tab in collapsible + else if (tabId && subTabId && !scrollToId && collapseId &&tabincolId){ + return(<a onClick={() => goToPlace({path: path, tabId: tabId, subTabId: subTabId, collapseId:collapseId, tabincolId:tabincolId})}>{text}</a>) + } //++4. [1-1-0-0] go to page and opent tab and open subtab NO SCROLLING else if (tabId && subTabId && !scrollToId && !collapseId){ return(<a onClick={() => goToPlace({path: path, tabId: tabId, subTabId: subTabId})}>{text}</a>) } //++5. [1-0-1-1] go to page and open tab and open collapsible and scroll to something in the collapsible - else if (tabId && !subTabId && scrollToId && collapseId){ + else if (tabId && !subTabId && scrollToId && collapseId && !tabincolId){ return(<a onClick={() => goToPlace({path: path, tabId: tabId, scrollToId:scrollToId, collapseId:collapseId})}>{text}</a>) } + //special case: go to page and open tab and open collapsible open tab i collapsible and scroll to something in the tab + else if (tabId && !subTabId && scrollToId && collapseId && tabincolId){ + return(<a onClick={() => goToPlace({path: path, tabId: tabId, scrollToId:scrollToId, collapseId:collapseId, tabincolId:tabincolId})}>{text}</a>) + } //++6. [1-0-1-0] go to page and open tab and scroll to something else if (tabId && !subTabId && scrollToId && !collapseId){ return(<a onClick={() => goToPlace({path: path, tabId: tabId, scrollToId:scrollToId})}>{text}</a>) } //++7. [1-0-0-1] go to page and open tab and open collapsible in tab - else if (tabId && !subTabId && !scrollToId && collapseId){ + else if (tabId && !subTabId && !scrollToId && collapseId && !tabincolId){ return(<a onClick={() => goToPlace({path: path, tabId: tabId, collapseId:collapseId})}>{text}</a>) } + //special case: go to page and open tab and open collapsible in tab and open tab in collapsible + else if (tabId && !subTabId && !scrollToId && collapseId && tabincolId){ + return(<a onClick={() => goToPlace({path: path, tabId: tabId, collapseId:collapseId, tabincolId:tabincolId})}>{text}</a>) + } //++8. [1-0-0-0] go to page and open a tab else if (tabId && !subTabId && !scrollToId && !collapseId){ return(<a onClick={() => goToPlace({path: path, tabId:tabId})}>{text}</a>) } //++9. [0-1-1-1] go to page and open a collapsible and open a subtab in the collapsible and scroll to something in the subtab - else if (!tabId && subTabId && scrollToId && collapseId){ - return(<a onClick={() => goToPlace({path: path, collapseId:collapseId, subTabId:subTabId, scrollToId:scrollToId})}>{text}</a>) + else if (!tabId && tabincolId && scrollToId && collapseId){ + return(<a onClick={() => goToPlace({path: path, collapseId:collapseId, tabincolId:tabincolId, scrollToId:scrollToId})}>{text}</a>) } //++10. [0-1-1-0] it is not possible to only open a subtab and scroll to something there /* */ //++11. [0-1-0-1] go to page and open a collapsible and scroll to something in the collapsible - else if (!tabId && subTabId && !scrollToId && collapseId){ + else if (!tabId && subTabId && !scrollToId && collapseId && !tabincolId){ return(<a onClick={() => goToPlace({path: path, collapseId:collapseId, subTabId:subTabId})}>{text}</a>) } + //special case: go to page and open a collapsible and open a tab in the collapsible and scroll to something in the tab + else if (!tabId && subTabId && !scrollToId && collapseId && tabincolId){ + return(<a onClick={() => goToPlace({path: path, collapseId:collapseId, subTabId:subTabId, tabincolId:tabincolId})}>{text}</a>) + } //++12: [0-1-0-0] it is not possible to go to a page and only open a subtab /* */ //++13. [0-0-1-1] go to page and open a collapsible scroll to something in the collapsible -- GitLab