mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
DashboardSettings: Migrates annotations list & edit view from angular to react and new forms styles (#31950)
* Initial commit, list and edit page working * Progress * angular and standard editors work * Unifying more between annotations list and links list * Remove submenu visibilty stuff * Update packages/grafana-data/src/types/annotations.ts Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com> * Review feedback * fixed checkbox * Fixes * test(annotationsettings): initial commit of tests * delete files brought back by master merge * update datasourcepicker import path * update emotion import * test(linksettings): clean up tests * Fixed test * test(annotationssettings): add remaining tests * docs(grafana-data): export namespace for docs build * docs(grafana-ui): export ColorValueEditorProps for docs build * docs(grafana-ui): add docs annotation for ColorValueEditorProps Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com> Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
This commit is contained in:
@@ -28,13 +28,6 @@ export const DashboardLinks: FC<Props> = ({ dashboard, links }) => {
|
||||
};
|
||||
});
|
||||
|
||||
useEffectOnce(() => {
|
||||
dashboard.on(CoreEvents.submenuVisibilityChanged, forceUpdate);
|
||||
return () => {
|
||||
dashboard.off(CoreEvents.submenuVisibilityChanged, forceUpdate);
|
||||
};
|
||||
});
|
||||
|
||||
if (!links.length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react';
|
||||
import { connect, MapStateToProps } from 'react-redux';
|
||||
import { StoreState } from '../../../../types';
|
||||
import { getSubMenuVariables } from '../../../variables/state/selectors';
|
||||
import { VariableHide, VariableModel } from '../../../variables/types';
|
||||
import { VariableModel } from '../../../variables/types';
|
||||
import { DashboardModel } from '../../state';
|
||||
import { DashboardLinks } from './DashboardLinks';
|
||||
import { Annotations } from './Annotations';
|
||||
@@ -38,24 +38,10 @@ class SubMenuUnConnected extends PureComponent<Props> {
|
||||
this.forceUpdate();
|
||||
};
|
||||
|
||||
isSubMenuVisible = () => {
|
||||
if (this.props.dashboard.links.length > 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const visibleVariables = this.props.variables.filter((variable) => variable.hide !== VariableHide.hideVariable);
|
||||
if (visibleVariables.length > 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const visibleAnnotations = this.props.dashboard.annotations.list.filter((annotation) => annotation.hide !== true);
|
||||
return visibleAnnotations.length > 0;
|
||||
};
|
||||
|
||||
render() {
|
||||
const { dashboard, variables, links, annotations } = this.props;
|
||||
|
||||
if (!this.isSubMenuVisible()) {
|
||||
if (!dashboard.isSubMenuVisible()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -78,4 +64,5 @@ const mapStateToProps: MapStateToProps<ConnectedProps, OwnProps, StoreState> = (
|
||||
};
|
||||
|
||||
export const SubMenu = connect(mapStateToProps)(SubMenuUnConnected);
|
||||
|
||||
SubMenu.displayName = 'SubMenu';
|
||||
|
||||
Reference in New Issue
Block a user