-
-
Notifications
You must be signed in to change notification settings - Fork 31.6k
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
[TableCell] Add "scope" attribute for th #10277
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -80,9 +80,8 @@ describe('<TableCell />', () => { | |
}); | ||
|
||
it('should render specified scope attribute even when in the context of a table head', () => { | ||
const wrapper = shallow(<TableCell />); | ||
const wrapper = shallow(<TableCell scope="row" />); | ||
wrapper.setContext({ table: { head: true } }); | ||
wrapper.setProps({ scope: 'row' }); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That is a weird refactoring :) I was actually trying to follow code styles as you have in this file as well (like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, good catch with the |
||
assert.strictEqual(wrapper.props().scope, 'row', 'should have the specified scope attribute'); | ||
}); | ||
|
||
|
@@ -112,7 +111,7 @@ describe('<TableCell />', () => { | |
wrapper.setContext({ table: { footer: true } }); | ||
wrapper.setProps({ variant: 'head' }); | ||
assert.strictEqual(wrapper.hasClass(classes.typeHead), true); | ||
assert.strictEqual(wrapper.props().scope, 'col', 'should have the correct scope attribute'); | ||
assert.strictEqual(wrapper.props().scope, undefined, 'should have the correct scope attribute'); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
}); | ||
|
||
it('should render without head class when variant is body, overriding context', () => { | ||
|
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.
Don't think it is correct. Should work for
variant === 'head'
if set, that's why I had a constant for the same check as forclasses.typeHead
className.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.
That's why you actually had to modify the test as well, but that test was to actually check that
head
table cells have thescope
.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.
Looking now I'd say it should look like this:
If variant is specified follow it's preference, otherwise check if
table.head
.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.
variant="head"
is purely UI specific, it won't change the DOM structure with theth
vstd
elements. For instance, I'm usingtd
+variant="head"
in some cases. So I disagree. I think that it's taking too much assumption.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.
Yeah, makes sense to me now.
So, am I correct that
table && table.head
will fire for structure like this and wii rendertable / thead / tr / th (scope="col") Some TH Text
?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.
Yes, it should.
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.
Then I don’t have anything else, let’s merge it :)