Skip to content

Commit f774787

Browse files
committed
Ensure only visible tabs can be switched to
1 parent 1757543 commit f774787

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

apps/remix-ide/src/app/panels/tab-proxy.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -343,17 +343,29 @@ export default class TabProxy extends Plugin {
343343
if(!this.loadedTabs.find(tab => tab.name === name)) return // prevent removing tab that doesn't exist
344344
this.loadedTabs = this.loadedTabs.filter((tab, index) => {
345345
if (!previous && tab.name === name) {
346-
if(index - 1 >= 0 && this.loadedTabs[index - 1])
347-
previous = this.loadedTabs[index - 1]
348-
else if (index + 1 && this.loadedTabs[index + 1])
349-
previous = this.loadedTabs[index + 1]
346+
previous = this.getPreviousVisibleTab(index)
347+
if (!previous) previous = this.getNextVisibleTab(index)
350348
}
351349
return tab.name !== name
352350
})
353351
this.renderComponent()
354352
if (previous) this.switchTab(previous.name)
355353
}
356354

355+
getPreviousVisibleTab (index) {
356+
for (let i = index - 1; i >= 0; i--) {
357+
if (this.loadedTabs[i].show) return this.loadedTabs[i]
358+
}
359+
return null
360+
}
361+
362+
getNextVisibleTab (index) {
363+
for (let i = index + 1; i < this.loadedTabs.length; i++) {
364+
if (this.loadedTabs[i].show) return this.loadedTabs[i]
365+
}
366+
return null
367+
}
368+
357369
addHandler (type, fn) {
358370
this.handlers[type] = fn
359371
}

libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@ export const TabsUI = (props: TabsUIProps) => {
622622
<div style={{ minWidth: '4rem', height: '1rem' }} id="dummyElForLastXVisibility"></div>
623623
</TabList>
624624
{props.tabs.map((tab) => (
625-
<TabPanel key={tab.name}></TabPanel>
625+
<TabPanel className={tab.show ? '' : 'd-none'} key={tab.name}></TabPanel>
626626
))}
627627
</Tabs>
628628

0 commit comments

Comments
 (0)