@mirrormedia/lilith-draft-editor
Version:
## Installation
151 lines (116 loc) • 3.17 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.atomicBlockRenderer = atomicBlockRenderer;
var _infoBoxBlock = require("./block-renderer/info-box-block");
var _tableBlock = require("./block-renderer/table-block");
var _colorBoxBlock = require("./block-renderer/color-box-block");
var _backgroundImageBlock = require("./block-renderer/background-image-block");
var _backgroundVideoBlock = require("./block-renderer/background-video-block");
var _sideIndexBlock = require("./block-renderer/side-index-block");
var _embeddedCodeBlock = require("./block-renderer/embedded-code-block");
var _slideshowBlock = require("./block-renderer/slideshow-block");
var _imageBlock = require("./block-renderer/image-block");
var _mirrortv = _interopRequireDefault(require("@mirrormedia/lilith-draft-renderer/lib/website/mirrortv"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const {
MediaBlock,
DividerBlock,
RelatedPostBlock,
VideoBlock,
VideoBlockV2,
AudioBlock,
AudioBlockV2,
YoutubeBlock
} = _mirrortv.default.blockRenderers;
const AtomicBlock = props => {
const entity = props.contentState.getEntity(props.block.getEntityAt(0));
const entityType = entity.getType();
switch (entityType) {
case 'audioLink':
case 'imageLink':
case 'videoLink':
{
return MediaBlock(entity);
}
case 'image':
{
return (0, _imageBlock.ImageEditorBlock)(props);
}
case 'slideshow':
{
return (0, _slideshowBlock.SlideshowEditBlock)(props);
}
case 'slideshow-v2':
{
return (0, _slideshowBlock.SlideshowEditBlockV2)(props);
}
case 'EMBEDDEDCODE':
{
return (0, _embeddedCodeBlock.EmbeddedCodeEditorBlock)(entity);
}
case 'INFOBOX':
{
return (0, _infoBoxBlock.InfoBoxEditorBlock)(props);
}
case 'DIVIDER':
{
return DividerBlock();
}
case 'TABLE':
{
return (0, _tableBlock.TableEditorBlock)(props);
}
case 'COLORBOX':
{
return (0, _colorBoxBlock.ColorBoxEditorBlock)(props);
}
case 'BACKGROUNDIMAGE':
{
return (0, _backgroundImageBlock.BGImageEditorBlock)(props);
}
case 'BACKGROUNDVIDEO':
{
return (0, _backgroundVideoBlock.BGVideoEditorBlock)(props);
}
case 'RELATEDPOST':
{
return RelatedPostBlock(entity);
}
case 'SIDEINDEX':
{
return (0, _sideIndexBlock.SideIndexEditorBlock)(props);
}
case 'VIDEO':
{
return VideoBlock(entity);
}
case 'VIDEO-V2':
{
return VideoBlockV2(entity);
}
case 'AUDIO':
{
return AudioBlock(entity);
}
case 'AUDIO-V2':
{
return AudioBlockV2(entity);
}
case 'YOUTUBE':
{
return YoutubeBlock(entity);
}
}
return null;
};
function atomicBlockRenderer(block) {
if (block.getType() === 'atomic') {
return {
component: AtomicBlock,
editable: false
};
}
return null;
}