Files
superset2/superset/assets/javascripts/dashboard/components/CodeModal.jsx
Maxime Beauchemin 366ecefbaa Bumping the JS libs to fix the build (#2616)
* bumping the js libs

* New linting rules

* More linting

* More

* Done linting

* npm >=4.5.0

* Bumping node

* Tweaking the build

* Fixing the damn build

* Fixing the apps
2017-04-13 15:04:09 -07:00

47 lines
1.0 KiB
JavaScript

import React from 'react';
import ModalTrigger from '../../components/ModalTrigger';
const propTypes = {
triggerNode: React.PropTypes.node.isRequired,
code: React.PropTypes.string,
codeCallback: React.PropTypes.func,
};
const defaultProps = {
codeCallback: () => {},
};
export default class CodeModal extends React.PureComponent {
constructor(props) {
super(props);
this.state = { code: props.code };
}
beforeOpen() {
let code = this.props.code;
if (this.props.codeCallback) {
code = this.props.codeCallback();
}
this.setState({ code });
}
render() {
return (
<ModalTrigger
triggerNode={this.props.triggerNode}
isButton
beforeOpen={this.beforeOpen.bind(this)}
modalTitle="Active Dashboard Filters"
modalBody={
<div className="CodeModal">
<pre>
{this.state.code}
</pre>
</div>
}
/>
);
}
}
CodeModal.propTypes = propTypes;
CodeModal.defaultProps = defaultProps;