PanelHeader.tsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import React from 'react';
  2. import classNames from 'classnames';
  3. import { PanelModel } from 'app/features/dashboard/panel_model';
  4. import { DashboardModel } from 'app/features/dashboard/dashboard_model';
  5. // import { store } from 'app/store/configureStore';
  6. // import { updateLocation } from 'app/core/actions';
  7. import { PanelHeaderMenu } from './PanelHeaderMenu';
  8. // import appEvents from 'app/core/app_events';
  9. interface PanelHeaderProps {
  10. panel: PanelModel;
  11. dashboard: DashboardModel;
  12. }
  13. export class PanelHeader extends React.Component<PanelHeaderProps, any> {
  14. render() {
  15. const { dashboard } = this.props;
  16. const isFullscreen = false;
  17. const isLoading = false;
  18. const panelHeaderClass = classNames({ 'panel-header': true, 'grid-drag-handle': !isFullscreen });
  19. return (
  20. <div className={panelHeaderClass}>
  21. <span className="panel-info-corner">
  22. <i className="fa" />
  23. <span className="panel-info-corner-inner" />
  24. </span>
  25. {isLoading && (
  26. <span className="panel-loading">
  27. <i className="fa fa-spinner fa-spin" />
  28. </span>
  29. )}
  30. <div className="panel-title-container">
  31. <div className="panel-title">
  32. <span className="icon-gf panel-alert-icon" />
  33. <span className="panel-title-text" data-toggle="dropdown">
  34. {this.props.panel.title} <span className="fa fa-caret-down panel-menu-toggle" />
  35. </span>
  36. <PanelHeaderMenu panelId={this.props.panel.id} dashboard={dashboard} />
  37. <span className="panel-time-info">
  38. <i className="fa fa-clock-o" /> 4m
  39. </span>
  40. </div>
  41. </div>
  42. </div>
  43. );
  44. }
  45. }