From 178f2ef4f58c84dedfef1150c96265d8ec4e8d9f Mon Sep 17 00:00:00 2001 From: Oleksandr Fediashov Date: Tue, 15 Jan 2019 10:12:57 +0100 Subject: [PATCH 1/9] add static --- src/components/Dropdown/DropdownLabel.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Dropdown/DropdownLabel.tsx b/src/components/Dropdown/DropdownLabel.tsx index 33954a8207..db5c97f4d8 100644 --- a/src/components/Dropdown/DropdownLabel.tsx +++ b/src/components/Dropdown/DropdownLabel.tsx @@ -47,11 +47,11 @@ export interface DropdownLabelProps extends UIComponentProps * It is used to display selected item. */ class DropdownLabel extends UIComponent, any> { - displayName = 'DropdownLabel' + static displayName = 'DropdownLabel' static create: Function - className = 'ui-dropdown__label' + static className = 'ui-dropdown__label' static propTypes = { ...commonPropTypes.createCommon({ From 336d22989077c3d82a9602338f7e41a6fc4211aa Mon Sep 17 00:00:00 2001 From: Oleksandr Fediashov Date: Tue, 15 Jan 2019 10:14:43 +0100 Subject: [PATCH 2/9] use correct type for predefined props --- src/components/Dropdown/DropdownLabel.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Dropdown/DropdownLabel.tsx b/src/components/Dropdown/DropdownLabel.tsx index db5c97f4d8..e98cfb932e 100644 --- a/src/components/Dropdown/DropdownLabel.tsx +++ b/src/components/Dropdown/DropdownLabel.tsx @@ -100,7 +100,7 @@ class DropdownLabel extends UIComponent, any> { ) } - private handleIconOverrides = (predefinedProps: DropdownLabelProps) => ({ + private handleIconOverrides = (predefinedProps: IconProps) => ({ onClick: (e: React.SyntheticEvent, iconProps: IconProps) => { e.stopPropagation() _.invoke(this.props, 'onRemove', e, this.props) From 9eb1d421ee2e5a42db68cb860e8a18fb269ceccd Mon Sep 17 00:00:00 2001 From: Oleksandr Fediashov Date: Tue, 15 Jan 2019 10:16:19 +0100 Subject: [PATCH 3/9] extract elements to variables --- src/components/Dropdown/DropdownLabel.tsx | 29 +++++++++++++---------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/components/Dropdown/DropdownLabel.tsx b/src/components/Dropdown/DropdownLabel.tsx index e98cfb932e..d1337f2a3a 100644 --- a/src/components/Dropdown/DropdownLabel.tsx +++ b/src/components/Dropdown/DropdownLabel.tsx @@ -75,6 +75,20 @@ class DropdownLabel extends UIComponent, any> { public renderComponent({ unhandledProps, styles }: RenderResultConfig) { const { header, icon, image } = this.props + const iconElement = Icon.create(icon, { + defaultProps: { + 'aria-label': `Remove ${header} from selection.`, // TODO: Extract this in a behaviour. + 'aria-hidden': false, + role: 'button', + }, + overrideProps: this.handleIconOverrides, + }) + const imageElement = Image.create(image, { + defaultProps: { + avatar: true, + }, + }) + return (