last-draft-js-plugins
Version:
Last Draft draft-js-plugins
68 lines (51 loc) • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Embed = undefined;
var _draftJs = require('draft-js');
var _decorateComponentWithProps = require('decorate-component-with-props');
var _decorateComponentWithProps2 = _interopRequireDefault(_decorateComponentWithProps);
var _addEmbed = require('./modifiers/addEmbed');
var _addEmbed2 = _interopRequireDefault(_addEmbed);
var _embed = require('./embed');
var _embed2 = _interopRequireDefault(_embed);
var _embedStyles = {
"embed": "draftJsEmbedPlugin__embed__DJdZR",
"embedWrapper": "draftJsEmbedPlugin__embedWrapper__1GiCv",
};
var _embedStyles2 = _interopRequireDefault(_embedStyles);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var defaultTheme = { embedStyles: _embedStyles2.default }; /*
* Copyright (c) 2016, Globo.com (https://github.com/globocom)
* Copyright (c) 2016, vace.nz (https://github.com/vacenz)
* Copyright (c) 2016, Nik Graf (https://www.draft-js-plugins.com)
*
* License: MIT
*/
exports.default = function () {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var theme = config.theme ? config.theme : defaultTheme;
var Embed = config.EmbedComponent || _embed2.default;
if (config.decorator) {
Embed = config.decorator(Embed);
}
var ThemedEmbed = (0, _decorateComponentWithProps2.default)(Embed, { theme: theme });
return {
blockRendererFn: function blockRendererFn(block) {
if (block.getType() === 'atomic') {
var entity = _draftJs.Entity.get(block.getEntityAt(0));
var type = entity.getType();
if (type === 'embed') {
return {
component: ThemedEmbed,
editable: false
};
}
}
return null;
},
addEmbed: _addEmbed2.default
};
};
var Embed = exports.Embed = _embed2.default;