UNPKG

@prisma-cms/front-editor

Version:
76 lines 3.65 kB
"use strict"; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; 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 prop_types_1 = __importDefault(require("prop-types")); // import ViewIcon from "material-ui-icons/ViewModule"; const Connector_1 = require("../../Connector"); const EditorComponent_1 = __importDefault(require("../../../../EditorComponent")); const ListView_1 = require("../../Connector/ListView"); const __1 = __importDefault(require("..")); const NamedField_1 = __importDefault(require("../../Connector/Fields/NamedField")); const DefaultValue_1 = __importDefault(require("../../Connector/Fields/NamedField/DefaultValue")); class ObjectView extends EditorComponent_1.default { canBeParent(parent) { let can = false; // return false; if (super.canBeParent(parent)) { while (parent) { if (parent instanceof __1.default || parent instanceof NamedField_1.default) { can = true; break; } parent = parent.props.parent; } } return can; } renderPanelView(content) { return super.renderPanelView(content || (react_1.default.createElement("div", { className: "editor-component--panel-icon" }, "Object View"))); } getRenderProps() { const _a = super.getRenderProps(), { style } = _a, props = __rest(_a, ["style"]); return Object.assign({ style: Object.assign({ width: '100%' }, style) }, props); } renderChildren() { let children = super.renderChildren() || []; return (react_1.default.createElement(Connector_1.ConnectorContext.Consumer, { key: "connector_context" }, (context) => { const { data } = context; if (!data) { return null; } const { object, loading } = data; if (!object) { if (loading) { return null; } else { children = children.filter((n) => n && n.type === DefaultValue_1.default); } } else { children = children.filter((n) => n && n.type !== DefaultValue_1.default); } return (react_1.default.createElement(ListView_1.ObjectContext.Provider, { value: data }, children)); })); } } ObjectView.propTypes = Object.assign(Object.assign({}, EditorComponent_1.default.propTypes), { seo_description_field: prop_types_1.default.string, seo_keywords_field: prop_types_1.default.string }); ObjectView.defaultProps = Object.assign(Object.assign({}, EditorComponent_1.default.defaultProps), { spacing: 8, hide_wrapper_in_default_mode: true, field_as_pagetitle: '', seo_description_field: undefined, seo_keywords_field: undefined }); ObjectView.Name = 'ObjectView'; ObjectView.help_url = 'https://front-editor.prisma-cms.com/topics/object-view.html'; exports.default = ObjectView; //# sourceMappingURL=index.js.map