wip: Add "Share" to the react panels

This commit is contained in:
Johannes Schill 2018-10-30 14:21:47 +01:00
parent bf8703edb8
commit 839057dc7a

View File

@ -4,6 +4,7 @@ import { PanelHeaderMenuItem, PanelHeaderMenuItemTypes } from './PanelHeaderMenu
import { store } from 'app/store/configureStore';
import { updateLocation } from 'app/core/actions';
import { removePanel } from 'app/features/dashboard/utils/panel';
import appEvents from 'app/core/app_events';
export interface PanelHeaderMenuProps {
panelId: number;
@ -11,6 +12,13 @@ export interface PanelHeaderMenuProps {
}
export class PanelHeaderMenu extends PureComponent<PanelHeaderMenuProps, any> {
getPanel = () => {
// Pass in panel as prop instead?
const { panelId, dashboard } = this.props;
const panelInfo = dashboard.getPanelInfoById(panelId);
return panelInfo.panel;
};
onEditPanel = () => {
store.dispatch(
updateLocation({
@ -36,9 +44,22 @@ export class PanelHeaderMenu extends PureComponent<PanelHeaderMenuProps, any> {
};
onRemovePanel = () => {
const { panelId, dashboard } = this.props;
const panelInfo = dashboard.getPanelInfoById(panelId);
removePanel(dashboard, panelInfo.panel, true);
const { dashboard } = this.props;
const panel = this.getPanel();
removePanel(dashboard, panel, true);
};
onSharePanel = () => {
const { dashboard } = this.props;
const panel = this.getPanel();
appEvents.emit('show-modal', {
src: 'public/app/features/dashboard/partials/shareModal.html',
model: {
panel: panel,
dashboard: dashboard,
},
});
};
render() {
@ -63,7 +84,7 @@ export class PanelHeaderMenu extends PureComponent<PanelHeaderMenuProps, any> {
type={PanelHeaderMenuItemTypes.Link}
text="Share"
iconClassName="fa fa-fw fa-share"
handleClick={() => {}}
handleClick={this.onSharePanel}
shortcut="p s"
/>
<PanelHeaderMenuItem