Skip to content

Commit 7e8685f

Browse files
committed
Support link in logo
1 parent ca4c4e6 commit 7e8685f

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/DefaultEditor.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,12 @@ class DefaultEditor extends Component {
7878

7979
render() {
8080
const _ = this.context.localize;
81-
const logo = this.props.logoSrc && <Logo src={this.props.logoSrc} />;
81+
const {logoSrc, logoLinkUrl, menuPanelOrder, children} = this.props;
82+
const logo = logoSrc && <Logo src={logoSrc} link={logoLinkUrl} />;
8283

8384
return (
84-
<PanelMenuWrapper menuPanelOrder={this.props.menuPanelOrder}>
85-
{logo ? logo : null}
85+
<PanelMenuWrapper menuPanelOrder={menuPanelOrder}>
86+
{logo || null}
8687
<GraphCreatePanel group={_('Structure')} name={_('Traces')} />
8788
<GraphSubplotsPanel group={_('Structure')} name={_('Subplots')} />
8889
{this.hasTransforms() && (
@@ -99,7 +100,7 @@ class DefaultEditor extends Component {
99100
<StyleImagesPanel group={_('Annotate')} name={_('Images')} />
100101
{this.hasSliders() && <StyleSlidersPanel group={_('Control')} name={_('Sliders')} />}
101102
{this.hasMenus() && <StyleUpdateMenusPanel group={_('Control')} name={_('Menus')} />}
102-
{this.props.children ? this.props.children : null}
103+
{children || null}
103104
</PanelMenuWrapper>
104105
);
105106
}
@@ -108,6 +109,7 @@ class DefaultEditor extends Component {
108109
DefaultEditor.propTypes = {
109110
children: PropTypes.node,
110111
logoSrc: PropTypes.string,
112+
logoLinkUrl: PropTypes.string,
111113
menuPanelOrder: PropTypes.array,
112114
};
113115

src/components/widgets/Logo.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ import React, {Component} from 'react';
33

44
export default class Logo extends Component {
55
render() {
6-
return <img className="sidebar__logo" src={this.props.src} />;
6+
const {link, src} = this.props;
7+
const image = <img className="sidebar__logo" src={src} />;
8+
return link ? <a href={this.props.link}>{image}</a> : image;
79
}
810
}
911

1012
Logo.plotly_editor_traits = {sidebar_element: true};
1113

1214
Logo.propTypes = {
1315
src: PropTypes.string,
16+
link: PropTypes.string,
1417
};

0 commit comments

Comments
 (0)