inversify-devtools
Version:
inversify-devtools
59 lines (58 loc) • 3.69 kB
JavaScript
;
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var React = require("react");
var panel_1 = require("./panel");
var tip_1 = require("./tip");
var RequestLog = (function (_super) {
__extends(RequestLog, _super);
function RequestLog(props) {
_super.call(this, props);
}
RequestLog.prototype.render = function () {
return (React.createElement(panel_1.default, {title: "Requests Log", subtitle: "Explorer", columnSize: this.props.columnSize, height: this.props.height}, this._render()));
};
RequestLog.prototype._render = function () {
var _this = this;
if (this.props.log.size > 0) {
var entries = this.props.log.map(function (entry, i) {
return _this._renderEntry(entry, i);
});
return (React.createElement("div", null, React.createElement("div", {className: "panelTopMenu"}, React.createElement("ul", null, React.createElement("li", null, React.createElement("a", {className: this.props.filter === "ALL" ? "active" : "", onClick: function () { _this._onFilterHandler("ALL"); }}, "ALL")), React.createElement("li", null, React.createElement("a", {className: this.props.filter === "SUCCESS" ? "active" : "", onClick: function () { _this._onFilterHandler("SUCCESS"); }}, "SUCCESS")), React.createElement("li", null, React.createElement("a", {className: this.props.filter === "ERROR" ? "active" : "", onClick: function () { _this._onFilterHandler("ERROR"); }}, "ERROR")), React.createElement("li", null, React.createElement("a", {onClick: this._onClearHandler.bind(this)}, "CLEAR")))), entries));
}
else {
return React.createElement(tip_1.default, null, "Awaiting requests. Ensure that at least one kernel instance is connected.");
}
};
RequestLog.prototype._onClearHandler = function () {
this.props.clearRequests();
};
RequestLog.prototype._onFilterHandler = function (filterBy) {
this.props.filterRequests(filterBy);
};
RequestLog.prototype._renderResult = function (entry) {
return entry.details.error ? entry.details.exception.message : entry.details.results[0].constructor.name;
};
RequestLog.prototype._renderTime = function (entry) {
return entry.details.error ? "ERROR!" : "SUCCESS: " + entry.details.time + " ms";
};
RequestLog.prototype._handleClick = function (entry) {
this.props.selectRequest(entry);
};
RequestLog.prototype._renderEntry = function (entry, id) {
var _this = this;
var classes = "request requestBox " + (entry.details.error ? "errorBox" : "successBox");
var filterByErrorAndEntryIsNotAnError = (this.props.filter === "ERROR" && entry.details.error === false);
var filterBySuccessAndEntryIsAnError = (this.props.filter === "SUCCESS" && entry.details.error === true);
if (filterByErrorAndEntryIsNotAnError || filterBySuccessAndEntryIsAnError) {
classes = "hide";
}
return (React.createElement("div", {key: id, className: classes, onClick: function (e) { _this._handleClick(entry); }}, React.createElement("div", {class: "title"}, React.createElement("h6", null, this._renderTime(entry)), React.createElement("h2", null, entry.details.serviceIdentifier, " ", "\u279e", " ", this._renderResult(entry)))));
};
return RequestLog;
}(React.Component));
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = RequestLog;