megadraft
Version:
Rich Text editor built on top of draft.js
63 lines (50 loc) • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = VideoBlock;
var _react = _interopRequireDefault(require("react"));
var _plugin = require("../../components/plugin");
var _icons = _interopRequireDefault(require("../../icons"));
var _VideoBlockStyle = _interopRequireDefault(require("./VideoBlockStyle"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function VideoBlock(props) {
var container = props.container,
data = props.data;
var updateData = container.updateData,
remove = container.remove;
var actions = [{
key: "delete",
icon: _icons["default"].DeleteIcon,
action: remove
}];
function handleCaptionChange(event) {
updateData({
caption: event.target.value
});
}
function handleVideoClick(event) {
event.preventDefault();
var src = window.prompt("Enter an URL");
if (!src) {
return;
}
updateData({
src: src
});
}
return /*#__PURE__*/_react["default"].createElement(_plugin.CommonBlock, _extends({}, props, {
actions: actions
}), /*#__PURE__*/_react["default"].createElement(_plugin.BlockContent, null, /*#__PURE__*/_react["default"].createElement("video", {
controls: true,
style: _VideoBlockStyle["default"].video,
src: data.src,
alt: data.caption,
onClick: handleVideoClick
})), /*#__PURE__*/_react["default"].createElement(_plugin.BlockData, null, /*#__PURE__*/_react["default"].createElement(_plugin.BlockInput, {
placeholder: "Caption",
value: data.caption,
onChange: handleCaptionChange
})));
}