mirror of
https://github.com/Kong/insomnia
synced 2024-11-12 17:26:32 +00:00
9e84bc4387
* Start on workspace dropdown and upgrade fontawesome * WorkspaceDropdown start and Elm components! * Lots of CSS shit * Refactor some db stuff and move filter out of sidebar * Adjust dropdown css * Handle duplicate header names, and stuff * Shitty cookies tab * fixed cookie table a bit * Modal refactor * Starteed cookie modal design * Better cookie storage and filter cookie modal * Cookie editor round 1 * Fix kve cursor jumping and form encoding templating * New cookies now show up in filter * Checkpoint * Stuff and fix environments css * Added manage cookies button to cookie pane * Fix accidental sidebar item drag on sidebar resize * Environments modal is looking pretty good now * Pretty much done environments nad cookies * Some changes * Fixed codemirror in modals * Fixed some things * Add basic proxy support * Updated shortcuts * Code snippet generation * Some style * bug fix * Code export now gets cookies for correct domain
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
import React, {PropTypes, Component} from 'react';
|
|
|
|
import {ResponsePaneHeader} from './ResponsePaneHeader.elm';
|
|
import {RESPONSE_CODE_DESCRIPTIONS} from '../lib/constants';
|
|
|
|
|
|
class ResponsePaneHeaderWrapper extends Component {
|
|
componentWillReceiveProps (nextProps) {
|
|
this._update(nextProps);
|
|
}
|
|
|
|
shouldComponentUpdate () {
|
|
return false;
|
|
}
|
|
|
|
_update (props) {
|
|
this.app.ports.replaceModel.send(this._getModel(props));
|
|
}
|
|
|
|
_initialize (node) {
|
|
if (!node) {
|
|
// Node is null if component is not mounted
|
|
return;
|
|
}
|
|
|
|
// Make sure to remove existing Elm app if it's there
|
|
node.innerHTML = '';
|
|
|
|
this.app = ResponsePaneHeader.embed(node, this._getModel(this.props));
|
|
}
|
|
|
|
_getModel (props) {
|
|
return {
|
|
statusDescription: RESPONSE_CODE_DESCRIPTIONS[props.statusCode] || '',
|
|
statusCode: props.statusCode,
|
|
statusMessage: props.statusMessage,
|
|
elapsedTime: props.elapsedTime,
|
|
bytesRead: props.bytesRead
|
|
};
|
|
}
|
|
|
|
render () {
|
|
return (
|
|
<div ref={node => this._initialize(node)}></div>
|
|
);
|
|
}
|
|
}
|
|
|
|
ResponsePaneHeader.propTypes = {
|
|
statusCode: PropTypes.number.isRequired,
|
|
statusMessage: PropTypes.string.isRequired,
|
|
elapsedTime: PropTypes.number.isRequired,
|
|
bytesRead: PropTypes.number.isRequired
|
|
};
|
|
|
|
export default ResponsePaneHeaderWrapper
|