mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
62 lines
1.9 KiB
TypeScript
62 lines
1.9 KiB
TypeScript
import React, { PureComponent } from 'react';
|
|
import { JSONFormatter } from 'app/core/components/JSONFormatter/JSONFormatter';
|
|
import appEvents from 'app/core/app_events';
|
|
import { CopyToClipboard } from 'app/core/components/CopyToClipboard/CopyToClipboard';
|
|
|
|
interface Props {
|
|
response: any;
|
|
}
|
|
|
|
export class QueryInspector extends PureComponent<Props> {
|
|
formattedJson: any;
|
|
clipboard: any;
|
|
|
|
constructor(props) {
|
|
super(props);
|
|
}
|
|
|
|
setFormattedJson = formattedJson => {
|
|
this.formattedJson = formattedJson;
|
|
};
|
|
|
|
getTextForClipboard = () => {
|
|
return JSON.stringify(this.formattedJson, null, 2);
|
|
};
|
|
|
|
onClipboardSuccess = () => {
|
|
appEvents.emit('alert-success', ['Content copied to clipboard']);
|
|
};
|
|
|
|
render() {
|
|
const { response } = this.props;
|
|
return (
|
|
<>
|
|
{/* <div className="query-troubleshooter__header">
|
|
<a className="pointer" ng-click="ctrl.toggleMocking()">Mock Response</a>
|
|
<a className="pointer" ng-click="ctrl.toggleExpand()" ng-hide="ctrl.allNodesExpanded">
|
|
<i className="fa fa-plus-square-o"></i> Expand All
|
|
</a>
|
|
<a className="pointer ng-hide" ng-click="ctrl.toggleExpand()" ng-show="ctrl.allNodesExpanded">
|
|
<i className="fa fa-minus-square-o"></i> Collapse All
|
|
</a>
|
|
<a className="pointer ng-isolate-scope" clipboard-button="ctrl.getClipboardText()"><i className="fa fa-clipboard"></i> Copy to Clipboard</a>
|
|
|
|
</div> */}
|
|
{/* <button onClick={this.copyToClipboard}>Copy</button>
|
|
<button ref={this.copyButtonRef}>Copy2</button> */}
|
|
|
|
<CopyToClipboard
|
|
className="btn btn-transparent"
|
|
text={this.getTextForClipboard}
|
|
onSuccess={this.onClipboardSuccess}
|
|
>
|
|
<>
|
|
<i className="fa fa-clipboard" /> Copy to Clipboard
|
|
</>
|
|
</CopyToClipboard>
|
|
<JSONFormatter json={response} onDidRender={this.setFormattedJson} />
|
|
</>
|
|
);
|
|
}
|
|
}
|