UNPKG

3.94 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
9var _react = require('react');
10
11var _react2 = _interopRequireDefault(_react);
12
13var _title = require('../../title');
14
15var _title2 = _interopRequireDefault(_title);
16
17var _paragraph = require('../../paragraph');
18
19var _paragraph2 = _interopRequireDefault(_paragraph);
20
21var _card = require('../../card');
22
23var _card2 = _interopRequireDefault(_card);
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
29function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
30
31function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/no-danger: 0 */
32
33
34var Embed = function (_Component) {
35 _inherits(Embed, _Component);
36
37 function Embed() {
38 _classCallCheck(this, Embed);
39
40 return _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).apply(this, arguments));
41 }
42
43 _createClass(Embed, [{
44 key: 'componentDidMount',
45 value: function componentDidMount() {
46 if (window.iframely) {
47 window.iframely.load();
48 }
49 }
50
51 /**
52 * Define the proptypes of the component.
53 * @type {Object}
54 */
55
56 }, {
57 key: 'renderCard',
58 value: function renderCard() {
59 var embed = this.props.data.embed;
60
61 return _react2.default.createElement(
62 _card2.default,
63 { meta: { left: embed.site } },
64 _react2.default.createElement(_card.CardImage, {
65 alt: embed.title,
66 src: embed.thumbnail
67 }),
68 _react2.default.createElement(
69 _title2.default,
70 { size: 4 },
71 embed.title
72 ),
73 _react2.default.createElement(
74 _paragraph2.default,
75 null,
76 embed.description
77 )
78 );
79 }
80 }, {
81 key: 'renderCode',
82 value: function renderCode() {
83 var embed = this.props.data.embed;
84
85 return _react2.default.createElement(
86 'div',
87 null,
88 _react2.default.createElement('div', { dangerouslySetInnerHTML: { __html: embed.iframe } })
89 );
90 }
91
92 /**
93 * Render the component.
94 *
95 * @return {ReactElement}
96 */
97
98 }, {
99 key: 'render',
100 value: function render() {
101 var embed = this.props.data.embed;
102
103 if (!embed) {
104 return null;
105 }
106
107 if (embed.iframe) {
108 return this.renderCode();
109 }
110
111 return this.renderCard();
112 }
113 }]);
114
115 return Embed;
116}(_react.Component);
117
118Embed.propTypes = {
119 data: _react.PropTypes.shape({
120 embed: _react.PropTypes.object
121 }).isRequired
122};
123exports.default = Embed;
\No newline at end of file