-
Notifications
You must be signed in to change notification settings - Fork 101
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
feat(ui-select,ui-simple-select): add support for rendering selected … #1838
feat(ui-select,ui-simple-select): add support for rendering selected … #1838
Conversation
|
5be2cc4
to
a2725ad
Compare
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.
Looks good, see my remarks. Also please check out Chromatic, maybe this prop should be ignored there (see excludeProps in the examples.ts files)?
* Whether or not the before and after content of the selected option appear in the input field. | ||
* | ||
* If the selected option has both before and after content, both will be displayed in the input field. | ||
* | ||
* One of the Select.Options isSelected prop should be true in order to display the content in the input field. | ||
* | ||
* Before and after content will not be displayed, if Select's inputValue is an empty value. | ||
* | ||
* If true and the selected option has a renderAfterInput value, it will replace the default arrow icon. | ||
* | ||
* If true and Select's own renderBeforeInput or renderAfterInput prop is set, it will display the selected option's content instead of Select's renderBeforeInput or renderAfterInput value. | ||
* | ||
* If the selected option's renderAfterInput value is empty, default arrow icon will be rendered. | ||
*/ |
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.
Please use Markdown here, e.g. code blocks (backticks)
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.
@matyasf I placed the backticks where needed.
…option's before and after content in Select and SimpleSelect input Closes: INSTUI-4225
a2725ad
to
73c40b2
Compare
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.
looks good now :)
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.
great work!
…option's before and after content in Select and SimpleSelect input
Closes: INSTUI-4225
TEST PLAN:
test the case with icons before the options:
1. open the last example in Select (Icons)
2. set isOptionContentAppliedToInput to true on Select
3. the selected option's icon's should appear now in the beginning the input field and also when user selects a new option from the dropdown
test the case with icons after the options:
1. set isOptionContentAppliedToInput to true on Select in the last example
2. in SingleSelectExample's options props, rewrite renderBeforeLabel to renderBeforeLabel
3. in Select.Option replace renderBeforeLabel={option.renderBeforeLabel} with renderAfterLabel=. {option.renderAfterLabel}
4. now the arrow icon should be replaced with the selected option's icon
test the case when options have both before and after icons, both should be rendered
test the case when options are grouped: see the group example in Select (Composing option groups), it should render the selected option's before or after icon or both
test the case when none of the Select.Options' isSelected prop is true, the icon should not be rendered and a there should be a warning
test the case when Select's inputValue is empty, the icon should not be rendered
test the case when Select's own renderBeforeInput or renderAfterInput prop is set, it should display the selected option's content (icon) instead of Select's renderBeforeInput or renderAfterInput value
test the case when one of option has an empty renderAfterInput value, the default arrow icon should be rendered, but if another option with a non-empty renderAfterInput is selected, that option's icon should be rendered
test all the cases above in SimpleSelect
review the updated documentation and the new tests