graft-react
Version:
react admin and helper components for graft-db
51 lines (50 loc) • 2.18 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 ListItem_1 = require("react-md/lib/Lists/ListItem");
var FontIcons_1 = require("react-md/lib/FontIcons");
var utils_1 = require("../utils");
var ObjectItem = (function (_super) {
__extends(ObjectItem, _super);
function ObjectItem() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.remove = function (e) {
e.preventDefault();
e.stopPropagation();
var _a = _this.props, object = _a.object, onRemove = _a.onRemove;
if (!onRemove) {
return;
}
onRemove(object);
};
_this.click = function (e) {
e.preventDefault();
var _a = _this.props, object = _a.object, onClick = _a.onClick;
if (!onClick) {
return;
}
onClick(object);
};
_this.toggleStar = function (e) {
e.stopPropagation();
e.preventDefault();
var _a = _this.props, object = _a.object, onToggleStar = _a.onToggleStar;
if (!onToggleStar) {
return;
}
onToggleStar(object);
};
return _this;
}
ObjectItem.prototype.render = function () {
var _a = this.props, object = _a.object, onClick = _a.onClick, onRemove = _a.onRemove;
var remove = onRemove ? React.createElement(FontIcons_1.default, { onClick: this.remove }, "delete") : undefined;
return (React.createElement(ListItem_1.default, { leftIcon: React.createElement(FontIcons_1.default, { onClick: this.toggleStar }, object._star ? 'star' : 'star_border'), primaryText: utils_1.friendlyObjectName(object), secondaryText: object.type.name, rightIcon: remove, onClick: onClick ? this.click : undefined }));
};
return ObjectItem;
}(React.Component));
exports.ObjectItem = ObjectItem;