@prisma-cms/front-editor
Version:
39 lines • 1.96 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const Add_1 = __importDefault(require("material-ui-icons/Add"));
const Typography_1 = __importDefault(require("material-ui/Typography"));
const IconButton_1 = __importDefault(require("material-ui/IconButton"));
const EditorComponent_1 = __importDefault(require("../../../EditorComponent"));
const Link_1 = require("../../../common/Link");
class CreateObjectLink extends EditorComponent_1.default {
renderPanelView() {
return super.renderPanelView(react_1.default.createElement("div", { className: "editor-component--panel-icon" },
react_1.default.createElement(Add_1.default, null),
" Create Object"));
}
renderChildren() {
const { inEditMode } = this.getEditorContext();
const { to } = this.getComponentProps(this);
if (!to) {
if (inEditMode) {
return react_1.default.createElement(Typography_1.default, { color: "error" }, "\"to\" property required");
}
else {
return null;
}
}
const children = super.renderChildren();
return (react_1.default.createElement(Link_1.Link, { key: "link", to: to, style: {
textDecoration: 'none',
} }, children && children.length ? (children) : (react_1.default.createElement(IconButton_1.default, { title: "Add object" },
react_1.default.createElement(Add_1.default, null)))));
}
}
CreateObjectLink.defaultProps = Object.assign(Object.assign({}, EditorComponent_1.default.defaultProps), { to: '', hide_wrapper_in_default_mode: true });
CreateObjectLink.Name = 'CreateObjectLink';
exports.default = CreateObjectLink;
//# sourceMappingURL=index.js.map