|
@@ -21,6 +21,8 @@ export interface AddPanelPanelState {
|
|
|
export class AddPanelPanel extends React.Component<AddPanelPanelProps, AddPanelPanelState> {
|
|
export class AddPanelPanel extends React.Component<AddPanelPanelProps, AddPanelPanelState> {
|
|
|
constructor(props) {
|
|
constructor(props) {
|
|
|
super(props);
|
|
super(props);
|
|
|
|
|
+ this.handleCloseAddPanel = this.handleCloseAddPanel.bind(this);
|
|
|
|
|
+ this.renderPanelItem = this.renderPanelItem.bind(this);
|
|
|
|
|
|
|
|
this.state = {
|
|
this.state = {
|
|
|
panelPlugins: this.getPanelPlugins(),
|
|
panelPlugins: this.getPanelPlugins(),
|
|
@@ -83,6 +85,13 @@ export class AddPanelPanel extends React.Component<AddPanelPanelProps, AddPanelP
|
|
|
dashboard.removePanel(this.props.panel);
|
|
dashboard.removePanel(this.props.panel);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ handleCloseAddPanel(evt) {
|
|
|
|
|
+ evt.preventDefault();
|
|
|
|
|
+ const panelContainer = this.props.getPanelContainer();
|
|
|
|
|
+ const dashboard = panelContainer.getDashboard();
|
|
|
|
|
+ dashboard.removePanel(dashboard.panels[0]);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
renderPanelItem(panel, index) {
|
|
renderPanelItem(panel, index) {
|
|
|
console.log('render panel', index);
|
|
console.log('render panel', index);
|
|
|
return (
|
|
return (
|
|
@@ -101,10 +110,11 @@ export class AddPanelPanel extends React.Component<AddPanelPanelProps, AddPanelP
|
|
|
<i className="gicon gicon-add-panel" />
|
|
<i className="gicon gicon-add-panel" />
|
|
|
<span className="add-panel__title">New Panel</span>
|
|
<span className="add-panel__title">New Panel</span>
|
|
|
<span className="add-panel__sub-title">Select a visualization</span>
|
|
<span className="add-panel__sub-title">Select a visualization</span>
|
|
|
|
|
+ <button className="add-panel__close" onClick={this.handleCloseAddPanel}>
|
|
|
|
|
+ <i className="fa fa-close" />
|
|
|
|
|
+ </button>
|
|
|
</div>
|
|
</div>
|
|
|
- <ScrollBar className="add-panel__items">
|
|
|
|
|
- {this.state.panelPlugins.map(this.renderPanelItem.bind(this))}
|
|
|
|
|
- </ScrollBar>
|
|
|
|
|
|
|
+ <ScrollBar className="add-panel__items">{this.state.panelPlugins.map(this.renderPanelItem)}</ScrollBar>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
);
|
|
);
|