-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tabs: Fix issue where selecting a tab in a set with no active tab errors out #2383
Conversation
✅ Deploy Preview for moduswebcomponents ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
if (id === this.tabs.find((tab) => tab.active).id) { | ||
const activeTab = this.tabs.find((tab) => tab.active); | ||
|
||
if (activeTab != undefined && activeTab.id) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@austinoneil This can be simplified a bit further with
if (activeTab?.id != null) {
return;
}
We can leverage optional chaining and != null
for nullish coalescing. If you can make this small change I will go ahead and merge afterwards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change was fixing an issue with an if
statement that appeared to avoid emitting if the active tab was clicked. This change breaks some tests. That said, it looks like my change breaks some functionality. I'll fix it and add a test and push.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, though adding a test proved to be difficult (it uses spyOn
for event emitters, which seems to be causing test issues in main
with other tests as well)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@austinoneil Can you go more into detail about what you mean by "seems to be causing test issues in main
"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cjwinsor When I run npm run test
locally on main, I get the failures for the following tests:
modus-select emits "valueChange" event
modus-table Display items per page list when pageSizeList is enabled
Both are related to using the spyOn
method and both are failing on my machine on main
. I do not know whether this is an issue with my setup or if it's failing across the board. I am running nvm use 18.17.0
when opening my IDE.
@austinoneil Very peculiar, I switched to 18.17.0 and ran tests against main without issue on my windows laptop. I'm going to keep my eye on this and get I get a chance try to run within a sandbox and wsl. |
Description
Fix issue where selecting a tab in a set with no active tab errors out.
References #2197
Type of change
How Has This Been Tested?
Added E2E test, manually tested using provided HTML (thank you, reporter)
Checklist