fix: Remove unnecessary onClick prop from NestedSidebar, since one can listen to container element onClick

This commit is contained in:
Fabio Berger 2018-10-12 19:44:51 +01:00
parent a4604cb2f2
commit a5eb346dd1
2 changed files with 3 additions and 16 deletions

View File

@ -14,7 +14,6 @@ export interface NestedSidebarMenuProps {
sectionNameToLinks: ObjectMap<ALink[]>; sectionNameToLinks: ObjectMap<ALink[]>;
sidebarHeader?: React.ReactNode; sidebarHeader?: React.ReactNode;
shouldDisplaySectionHeaders?: boolean; shouldDisplaySectionHeaders?: boolean;
onMenuItemClick?: () => void;
selectedVersion?: string; selectedVersion?: string;
versions?: string[]; versions?: string[];
onVersionSelected?: (semver: string) => void; onVersionSelected?: (semver: string) => void;
@ -41,7 +40,6 @@ const styles: Styles = {
export class NestedSidebarMenu extends React.Component<NestedSidebarMenuProps, NestedSidebarMenuState> { export class NestedSidebarMenu extends React.Component<NestedSidebarMenuProps, NestedSidebarMenuState> {
public static defaultProps: Partial<NestedSidebarMenuProps> = { public static defaultProps: Partial<NestedSidebarMenuProps> = {
shouldDisplaySectionHeaders: true, shouldDisplaySectionHeaders: true,
onMenuItemClick: _.noop.bind(_),
shouldReformatMenuItemNames: true, shouldReformatMenuItemNames: true,
}; };
public render(): React.ReactNode { public render(): React.ReactNode {
@ -92,11 +90,7 @@ export class NestedSidebarMenu extends React.Component<NestedSidebarMenuProps, N
return ( return (
<div key={`menuItem-${finalMenuItemName}`}> <div key={`menuItem-${finalMenuItemName}`}>
<Link to={link.to} shouldOpenInNewTab={link.shouldOpenInNewTab}> <Link to={link.to} shouldOpenInNewTab={link.shouldOpenInNewTab}>
<MenuItem <MenuItem style={menuItemStyles} innerDivStyle={menuItemInnerDivStyles}>
style={menuItemStyles}
innerDivStyle={menuItemInnerDivStyles}
onClick={this._onMenuItemClick.bind(this)}
>
<span <span
style={{ style={{
textTransform: this.props.shouldReformatMenuItemNames ? 'capitalize' : 'none', textTransform: this.props.shouldReformatMenuItemNames ? 'capitalize' : 'none',
@ -111,9 +105,4 @@ export class NestedSidebarMenu extends React.Component<NestedSidebarMenuProps, N
}); });
return menuItems; return menuItems;
} }
private _onMenuItemClick(): void {
if (!_.isUndefined(this.props.onMenuItemClick)) {
this.props.onMenuItemClick();
}
}
} }

View File

@ -309,12 +309,11 @@ export class TopBar extends React.Component<TopBarProps, TopBarState> {
return undefined; return undefined;
} }
return ( return (
<div className="lg-hide md-hide"> <div className="lg-hide md-hide" onClick={this._onMenuButtonClick.bind(this)}>
<NestedSidebarMenu <NestedSidebarMenu
sectionNameToLinks={this.props.sectionNameToLinks} sectionNameToLinks={this.props.sectionNameToLinks}
sidebarHeader={this.props.sidebarHeader} sidebarHeader={this.props.sidebarHeader}
shouldDisplaySectionHeaders={false} shouldDisplaySectionHeaders={false}
onMenuItemClick={this._onMenuButtonClick.bind(this)}
selectedVersion={this.props.docsVersion} selectedVersion={this.props.docsVersion}
versions={this.props.availableDocVersions} versions={this.props.availableDocVersions}
onVersionSelected={this.props.onVersionSelected} onVersionSelected={this.props.onVersionSelected}
@ -328,12 +327,11 @@ export class TopBar extends React.Component<TopBarProps, TopBarState> {
} }
return ( return (
<div className="lg-hide md-hide"> <div className="lg-hide md-hide" onClick={this._onMenuButtonClick.bind(this)}>
<NestedSidebarMenu <NestedSidebarMenu
sectionNameToLinks={this.props.sectionNameToLinks} sectionNameToLinks={this.props.sectionNameToLinks}
sidebarHeader={this.props.sidebarHeader} sidebarHeader={this.props.sidebarHeader}
shouldDisplaySectionHeaders={false} shouldDisplaySectionHeaders={false}
onMenuItemClick={this._onMenuButtonClick.bind(this)}
/> />
</div> </div>
); );