UNPKG

6.56 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = undefined;
7
8var _keys = require('babel-runtime/core-js/object/keys');
9
10var _keys2 = _interopRequireDefault(_keys);
11
12var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
14var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
15
16var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
17
18var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
19
20var _createClass2 = require('babel-runtime/helpers/createClass');
21
22var _createClass3 = _interopRequireDefault(_createClass2);
23
24var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
25
26var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
27
28var _inherits2 = require('babel-runtime/helpers/inherits');
29
30var _inherits3 = _interopRequireDefault(_inherits2);
31
32var _class,
33 _temp,
34 _jsxFileName = '..\\..\\src\\helpers\\Html.js';
35
36var _react = require('react');
37
38var _react2 = _interopRequireDefault(_react);
39
40var _propTypes = require('prop-types');
41
42var _propTypes2 = _interopRequireDefault(_propTypes);
43
44var _server = require('react-dom/server');
45
46var _server2 = _interopRequireDefault(_server);
47
48var _serializeJavascript = require('serialize-javascript');
49
50var _serializeJavascript2 = _interopRequireDefault(_serializeJavascript);
51
52var _reactHelmet = require('react-helmet');
53
54var _reactHelmet2 = _interopRequireDefault(_reactHelmet);
55
56function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
58(function () {
59 var enterModule = require('react-hot-loader').enterModule;
60
61 enterModule && enterModule(module);
62})();
63
64/**
65 * Wrapper component containing HTML metadata and boilerplate tags.
66 * Used in server-side code only to wrap the string output of the
67 * rendered route component.
68 *
69 * The only thing this component doesn't (and can't) include is the
70 * HTML doctype declaration, which is added to the rendered output
71 * by the server.js file.
72 */
73var Html = (_temp = _class = function (_Component) {
74 (0, _inherits3.default)(Html, _Component);
75
76 function Html() {
77 (0, _classCallCheck3.default)(this, Html);
78 return (0, _possibleConstructorReturn3.default)(this, (Html.__proto__ || (0, _getPrototypeOf2.default)(Html)).apply(this, arguments));
79 }
80
81 (0, _createClass3.default)(Html, [{
82 key: 'render',
83 value: function render() {
84 var _props = this.props,
85 assets = _props.assets,
86 component = _props.component,
87 store = _props.store;
88
89 var content = component ? _server2.default.renderToString(component) : '';
90 var head = _reactHelmet2.default.rewind();
91 return _react2.default.createElement(
92 'html',
93 { lang: 'en-us', __source: {
94 fileName: _jsxFileName,
95 lineNumber: 28
96 }
97 },
98 _react2.default.createElement(
99 'head',
100 {
101 __source: {
102 fileName: _jsxFileName,
103 lineNumber: 29
104 }
105 },
106 head.base.toComponent(),
107 head.title.toComponent(),
108 head.meta.toComponent(),
109 head.link.toComponent(),
110 head.script.toComponent(),
111 _react2.default.createElement('link', { rel: 'shortcut icon', href: '/favicon.ico', __source: {
112 fileName: _jsxFileName,
113 lineNumber: 36
114 }
115 }),
116 _react2.default.createElement('meta', { httpEquiv: 'X-UA-Compatible', content: 'IE=edge,chrome=1', __source: {
117 fileName: _jsxFileName,
118 lineNumber: 37
119 }
120 }),
121 _react2.default.createElement('meta', { name: 'renderer', content: 'webkit', __source: {
122 fileName: _jsxFileName,
123 lineNumber: 38
124 }
125 }),
126 _react2.default.createElement('meta', { content: 'always', name: 'referrer', __source: {
127 fileName: _jsxFileName,
128 lineNumber: 39
129 }
130 }),
131 _react2.default.createElement('meta', { name: 'viewport', content: 'width=device-width, initial-scale=1', __source: {
132 fileName: _jsxFileName,
133 lineNumber: 40
134 }
135 }),
136 (0, _keys2.default)(assets.styles).map(function (style, key) {
137 return _react2.default.createElement('link', { href: assets.styles[style], key: key, media: 'screen, projection',
138 rel: 'stylesheet', type: 'text/css', charSet: 'UTF-8', __source: {
139 fileName: _jsxFileName,
140 lineNumber: 43
141 }
142 });
143 })
144 ),
145 _react2.default.createElement(
146 'body',
147 {
148 __source: {
149 fileName: _jsxFileName,
150 lineNumber: 53
151 }
152 },
153 _react2.default.createElement('div', { id: 'content', dangerouslySetInnerHTML: { __html: content }, __source: {
154 fileName: _jsxFileName,
155 lineNumber: 54
156 }
157 }),
158 _react2.default.createElement('script', { dangerouslySetInnerHTML: { __html: 'window.__data=' + (0, _serializeJavascript2.default)(store.getState()) + ';' }, charSet: 'UTF-8', __source: {
159 fileName: _jsxFileName,
160 lineNumber: 55
161 }
162 }),
163 _react2.default.createElement('script', { src: assets.javascript.main, charSet: 'UTF-8', __source: {
164 fileName: _jsxFileName,
165 lineNumber: 56
166 }
167 })
168 )
169 );
170 }
171 }, {
172 key: '__reactstandin__regenerateByEval',
173 value: function __reactstandin__regenerateByEval(key, code) {
174 this[key] = eval(code);
175 }
176 }]);
177 return Html;
178}(_react.Component), _class.propTypes = {
179 assets: _propTypes2.default.object,
180 component: _propTypes2.default.node,
181 store: _propTypes2.default.object
182}, _temp);
183exports.default = Html;
184;
185
186(function () {
187 var reactHotLoader = require('react-hot-loader').default;
188
189 var leaveModule = require('react-hot-loader').leaveModule;
190
191 if (!reactHotLoader) {
192 return;
193 }
194
195 reactHotLoader.register(Html, 'Html', '../../src/helpers/Html.js');
196 leaveModule(module);
197})();
198
199;
200module.exports = exports['default'];
201//# sourceMappingURL=Html.js.map
\No newline at end of file