@prisma-cms/front-editor
Version:
76 lines • 3.65 kB
JavaScript
;
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