-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
chore(Dropdown): use React.forwardRef() #4338
Conversation
Codecov Report
@@ Coverage Diff @@
## next-v3 #4338 +/- ##
===========================================
- Coverage 99.51% 97.04% -2.47%
===========================================
Files 186 186
Lines 3478 3484 +6
===========================================
- Hits 3461 3381 -80
- Misses 17 103 +86
Continue to review full report at Codecov.
|
8242568
to
a7223a3
Compare
a7223a3
to
3721d37
Compare
3721d37
to
a56c9b3
Compare
a56c9b3
to
b3cd459
Compare
* chore: remove .state() assertions in tests (#4232) * Ember: remove .state() usage in Enzyme * AccordionAccordion: remove .state() usage in Enzyme * Checkbox: remove .state() usage in Enzyme * TransitionablePortal: remove .state() usage in Enzyme * Transition: remove .state() usage in Enzyme * Dropdown: remove .state() usage in Enzyme * chore(Image): use React.forwardRef() (#4234) * chore(Placeholder): use React.forwardRef() (#4236) * chore(Header): use React.forwardRef() (#4237) * chore(Segment): use React.forwardRef() (#4238) * chore(Table): use React.forwardRef() (#4239) * chore(Table): use React.forwardRef() * fix naming * chore(Step): use React.forwardRef() (#4240) * chore: disable ESLint rule for function names (#4241) * chore(Comment): use React.forwardRef() (#4242) * chore(Comment): use React.forwardRef() * fix displayName * fix tests * chore(Card): use React.forwardRef() (#4243) * chore(Feed): use React.forwardRef() (#4244) * chore(Statistic): use React.forwardRef() (#4245) * chore(Item): use React.forwardRef() (#4247) * chore(Container|Divider|Loader|Rail): use React.forwardRef() (#4248) * chore(Accordion): use React.forwardRef() (#4249) * chore(Advertisement|Breadcrumb): use React.forwardRef() (#4250) * chore(Message): use React.forwardRef() (#4251) * chore(Label|List): use React.forwardRef() (#4252) * chore(Menu): use React.forwardRef() (#4254) * chore(Pagination): use React.forwardRef() (#4255) * chore(Button): use React.forwardRef() (#4256) * chore(Modal|Portal|Popup): use React.forwardRef() (#4253) * chore(Modal|Portal): use React.forwardRef() * remove redundant statics * migrate Popup * chore(Rating|Reveal): use React.forwardRef() (#4258) * chore(Dimmer|Grid|Sidebar): use React.forwardRef() (#4260) * chore(Modal*|Popup*): use React.forwardRef() (#4261) * chore(Confirm|Checkbox|Embed|Radio|TextArea): use React.forwardRef() (#4262) * chore(Flag|Icon|ImageGroup): use React.forwardRef() (#4264) * chore(Tab): use React.forwardRef() (#4265) * chore(TransitionGroup): use React.forwardRef() (#4266) * chore(Input): use React.forwardRef() (#4267) * chore(Sticky): use React.forwardRef() (#4263) * chore(TransitionablePortal): convert to be functional component (#4269) * chore(Search*): use React.forwardRef() (#4270) * chore(Dropdown*): use React.forwardRef() (#4273) * chore(Dropdown*): use React.forwardRef() * fix examples-test * chore(Visibility): remove component (#4257) * chore(Visibility): remove component * remove behaviors section * chore(Ref): remove component (#4286) * chore(Ref): remove component * fix tests * chore(Search): use React.forwardRef() (#4330) * chore(Search): use React.forwardRef() * add test for ref forwarding * fix tests, add comments * chore: refactor Modal tests (#4339) * chore: remove unused test utils (#4340) * chore: refactor tests for classnames to use mount() (#4341) * chore: refactor tests for shorthands to use mount() (#4342) * chore: refactor tests for shorthands to use mount() * add comment * fix tests with unmount * fix(Dropdown): use ref forwarding (#4338) * Add forward ref to Form (#4364) * Convert form to function component * Add ref forwarding to Form component * Update test/specs/collections/Form/Form-test.js Co-authored-by: Oleksandr Fediashov <[email protected]> Co-authored-by: Oleksandr Fediashov <[email protected]> * Add ref to components (#4373) * Add ref to FormButton * Add ref to FormCheckbox * Add forwardRef to FormGroup * Remove accidental `only` calls * chore(FormField): use React.forwardRef() (#4359) * Add ref to form field component * Move ref to controlProps * Add more forwardsRef tests * Remove unnecessary describe wrapper * update tests Co-authored-by: Oleksandr Fediashov <[email protected]> * chore(FormTextArea): use React.forwardRef() (#4405) * chore(FormRadio): use React.forwardRef() (#4406) * chore(FormInput): use React.forwardRef() (#4407) * chore(Select,FormSelect,FormDropdown): use React.forwardRef() (#4408) * chore(Select): use React.forwardRef() * chore(FormSelect): use React.forwardRef() * chore(FormDropdown): use React.forwardRef() * fix tests, fix Dropdown component Co-authored-by: Oleksandr Fediashov <[email protected]> --------- Co-authored-by: Brandon Olivier <[email protected]> Co-authored-by: Felix Mosheev <[email protected]>
Similarly to #4234, adds native ref forwarding to
Dropdown
.The difference compared to other components is that
Dropdown
remains class component. Ref forwarding is done viawrapper
component around it. AllDropdown
tests were updated to usemount()
renderer as some other tests, too. Some tests were disabled.