@prisma-cms/front-editor
Version:
68 lines • 2.98 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 Image_1 = __importDefault(require("material-ui-icons/Image"));
const EditorComponent_1 = __importDefault(require("../../../../../EditorComponent"));
const ListView_1 = require("../../ListView");
class ObjectImage extends EditorComponent_1.default {
renderPanelView(content) {
return super.renderPanelView(content || (react_1.default.createElement("div", { className: "editor-component--panel-icon" },
react_1.default.createElement(Image_1.default, null),
" Object Image")));
}
getRootElement() {
return 'span';
}
renderMainView() {
const { inEditMode } = this.getEditorContext();
if (!inEditMode) {
return this.renderChildren();
}
// else
return super.renderMainView();
}
renderChildren() {
const { Image } = this.context;
// {...this.getRenderProps()}
const _a = this.getComponentProps(this), { name: nameProp,
// Deprecated
field_name } = _a, other = __rest(_a, ["name", "field_name"]);
let name = nameProp;
if (name === undefined) {
name = field_name;
}
return (react_1.default.createElement(ListView_1.ObjectContext.Consumer, { key: "object_context" }, (context) => {
const { object } = context;
if (!object) {
return null;
}
const { [name]: image } = object;
/**
Если нет картинки, то смотрим на текущий режим.
Если в режиме редактирования работаем,
*/
if (!image) {
return null;
}
return react_1.default.createElement(Image, Object.assign({}, other, { src: image }));
}));
}
}
ObjectImage.defaultProps = Object.assign(Object.assign({}, EditorComponent_1.default.defaultProps), { name: 'image', type: 'thumb', style: Object.assign(Object.assign({}, EditorComponent_1.default.defaultProps.style), { maxWidth: '100%' }), hide_wrapper_in_default_mode: true });
ObjectImage.Name = 'ObjectImage';
exports.default = ObjectImage;
//# sourceMappingURL=index.js.map