1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.PhenixPlayer = exports.JWPlayer = exports.VAST = exports.FilePlayer = exports.Mixcloud = exports.Iframe = exports.UstreamVideo = exports.UstreamLive = exports.DailyMotion = exports.Twitch = exports.Wistia = exports.FaceMask = exports.Streamable = exports.Facebook = exports.Vimeo = exports.SoundCloud = exports.YouTube = undefined;
|
7 |
|
8 | var _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; };
|
9 |
|
10 | var _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; }; }();
|
11 |
|
12 | var _YouTube = require('./players/YouTube');
|
13 |
|
14 | Object.defineProperty(exports, 'YouTube', {
|
15 | enumerable: true,
|
16 | get: function get() {
|
17 | return _interopRequireDefault(_YouTube)['default'];
|
18 | }
|
19 | });
|
20 |
|
21 | var _SoundCloud = require('./players/SoundCloud');
|
22 |
|
23 | Object.defineProperty(exports, 'SoundCloud', {
|
24 | enumerable: true,
|
25 | get: function get() {
|
26 | return _interopRequireDefault(_SoundCloud)['default'];
|
27 | }
|
28 | });
|
29 |
|
30 | var _Vimeo = require('./players/Vimeo');
|
31 |
|
32 | Object.defineProperty(exports, 'Vimeo', {
|
33 | enumerable: true,
|
34 | get: function get() {
|
35 | return _interopRequireDefault(_Vimeo)['default'];
|
36 | }
|
37 | });
|
38 |
|
39 | var _Facebook = require('./players/Facebook');
|
40 |
|
41 | Object.defineProperty(exports, 'Facebook', {
|
42 | enumerable: true,
|
43 | get: function get() {
|
44 | return _interopRequireDefault(_Facebook)['default'];
|
45 | }
|
46 | });
|
47 |
|
48 | var _Streamable = require('./players/Streamable');
|
49 |
|
50 | Object.defineProperty(exports, 'Streamable', {
|
51 | enumerable: true,
|
52 | get: function get() {
|
53 | return _interopRequireDefault(_Streamable)['default'];
|
54 | }
|
55 | });
|
56 |
|
57 | var _FaceMask = require('./players/FaceMask');
|
58 |
|
59 | Object.defineProperty(exports, 'FaceMask', {
|
60 | enumerable: true,
|
61 | get: function get() {
|
62 | return _interopRequireDefault(_FaceMask)['default'];
|
63 | }
|
64 | });
|
65 |
|
66 | var _Wistia = require('./players/Wistia');
|
67 |
|
68 | Object.defineProperty(exports, 'Wistia', {
|
69 | enumerable: true,
|
70 | get: function get() {
|
71 | return _interopRequireDefault(_Wistia)['default'];
|
72 | }
|
73 | });
|
74 |
|
75 | var _Twitch = require('./players/Twitch');
|
76 |
|
77 | Object.defineProperty(exports, 'Twitch', {
|
78 | enumerable: true,
|
79 | get: function get() {
|
80 | return _interopRequireDefault(_Twitch)['default'];
|
81 | }
|
82 | });
|
83 |
|
84 | var _DailyMotion = require('./players/DailyMotion');
|
85 |
|
86 | Object.defineProperty(exports, 'DailyMotion', {
|
87 | enumerable: true,
|
88 | get: function get() {
|
89 | return _interopRequireDefault(_DailyMotion)['default'];
|
90 | }
|
91 | });
|
92 |
|
93 | var _UstreamLive = require('./players/UstreamLive');
|
94 |
|
95 | Object.defineProperty(exports, 'UstreamLive', {
|
96 | enumerable: true,
|
97 | get: function get() {
|
98 | return _interopRequireDefault(_UstreamLive)['default'];
|
99 | }
|
100 | });
|
101 |
|
102 | var _UstreamVideo = require('./players/UstreamVideo');
|
103 |
|
104 | Object.defineProperty(exports, 'UstreamVideo', {
|
105 | enumerable: true,
|
106 | get: function get() {
|
107 | return _interopRequireDefault(_UstreamVideo)['default'];
|
108 | }
|
109 | });
|
110 |
|
111 | var _Iframe = require('./players/Iframe');
|
112 |
|
113 | Object.defineProperty(exports, 'Iframe', {
|
114 | enumerable: true,
|
115 | get: function get() {
|
116 | return _interopRequireDefault(_Iframe)['default'];
|
117 | }
|
118 | });
|
119 |
|
120 | var _Mixcloud = require('./players/Mixcloud');
|
121 |
|
122 | Object.defineProperty(exports, 'Mixcloud', {
|
123 | enumerable: true,
|
124 | get: function get() {
|
125 | return _interopRequireDefault(_Mixcloud)['default'];
|
126 | }
|
127 | });
|
128 |
|
129 | var _FilePlayer = require('./players/FilePlayer');
|
130 |
|
131 | Object.defineProperty(exports, 'FilePlayer', {
|
132 | enumerable: true,
|
133 | get: function get() {
|
134 | return _interopRequireDefault(_FilePlayer)['default'];
|
135 | }
|
136 | });
|
137 |
|
138 | var _VAST = require('./players/VAST');
|
139 |
|
140 | Object.defineProperty(exports, 'VAST', {
|
141 | enumerable: true,
|
142 | get: function get() {
|
143 | return _interopRequireDefault(_VAST)['default'];
|
144 | }
|
145 | });
|
146 |
|
147 | var _JWPlayer = require('./players/JWPlayer');
|
148 |
|
149 | Object.defineProperty(exports, 'JWPlayer', {
|
150 | enumerable: true,
|
151 | get: function get() {
|
152 | return _interopRequireDefault(_JWPlayer)['default'];
|
153 | }
|
154 | });
|
155 |
|
156 | var _PhenixPlayer = require('./players/PhenixPlayer');
|
157 |
|
158 | Object.defineProperty(exports, 'PhenixPlayer', {
|
159 | enumerable: true,
|
160 | get: function get() {
|
161 | return _interopRequireDefault(_PhenixPlayer)['default'];
|
162 | }
|
163 | });
|
164 |
|
165 | var _react = require('react');
|
166 |
|
167 | var _react2 = _interopRequireDefault(_react);
|
168 |
|
169 | var _props2 = require('./props');
|
170 |
|
171 | var _utils = require('./utils');
|
172 |
|
173 | var _players = require('./players');
|
174 |
|
175 | var _players2 = _interopRequireDefault(_players);
|
176 |
|
177 | var _Player4 = require('./Player');
|
178 |
|
179 | var _Player5 = _interopRequireDefault(_Player4);
|
180 |
|
181 | var _Preview = require('./Preview');
|
182 |
|
183 | var _Preview2 = _interopRequireDefault(_Preview);
|
184 |
|
185 | var _preload = require('./preload');
|
186 |
|
187 | var _preload2 = _interopRequireDefault(_preload);
|
188 |
|
189 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
190 |
|
191 | function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
192 |
|
193 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
194 |
|
195 | function _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; }
|
196 |
|
197 | function _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; }
|
198 |
|
199 | var SUPPORTED_PROPS = Object.keys(_props2.propTypes);
|
200 |
|
201 | var customPlayers = [];
|
202 |
|
203 | var ReactPlayer = function (_Component) {
|
204 | _inherits(ReactPlayer, _Component);
|
205 |
|
206 | function ReactPlayer() {
|
207 | var _ref;
|
208 |
|
209 | var _temp, _this, _ret;
|
210 |
|
211 | _classCallCheck(this, ReactPlayer);
|
212 |
|
213 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
214 | args[_key] = arguments[_key];
|
215 | }
|
216 |
|
217 | return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ReactPlayer.__proto__ || Object.getPrototypeOf(ReactPlayer)).call.apply(_ref, [this].concat(args))), _this), _this.config = (0, _utils.getConfig)(_this.props, _props2.defaultProps, true), _this.state = {
|
218 | showPreview: !!_this.props.light
|
219 | }, _this.onClickPreview = function () {
|
220 | _this.setState({ showPreview: false });
|
221 | }, _this.getDuration = function () {
|
222 | if (!_this.player) return null;
|
223 | return _this.player.getDuration();
|
224 | }, _this.getCurrentTime = function () {
|
225 | if (!_this.player) return null;
|
226 | return _this.player.getCurrentTime();
|
227 | }, _this.getSecondsLoaded = function () {
|
228 | if (!_this.player) return null;
|
229 | return _this.player.getSecondsLoaded();
|
230 | }, _this.getInternalPlayer = function () {
|
231 | var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player';
|
232 |
|
233 | if (!_this.player) return null;
|
234 | return _this.player.getInternalPlayer(key);
|
235 | }, _this.seekTo = function (fraction, type) {
|
236 | if (!_this.player) return null;
|
237 | _this.player.seekTo(fraction, type);
|
238 | }, _this.onReady = function () {
|
239 | _this.props.onReady(_this);
|
240 | }, _this.wrapperRef = function (wrapper) {
|
241 | _this.wrapper = wrapper;
|
242 | }, _this.activePlayerRef = function (player) {
|
243 | _this.player = player;
|
244 | }, _temp), _possibleConstructorReturn(_this, _ret);
|
245 | }
|
246 |
|
247 | _createClass(ReactPlayer, [{
|
248 | key: 'componentDidMount',
|
249 | value: function componentDidMount() {
|
250 | if (this.props.progressFrequency) {
|
251 | var message = 'ReactPlayer: %cprogressFrequency%c is deprecated, please use %cprogressInterval%c instead';
|
252 | console.warn(message, 'font-weight: bold', '', 'font-weight: bold', '');
|
253 | }
|
254 | }
|
255 | }, {
|
256 | key: 'shouldComponentUpdate',
|
257 | value: function shouldComponentUpdate(nextProps, nextState) {
|
258 | return !(0, _utils.isEqual)(this.props, nextProps) || !(0, _utils.isEqual)(this.state, nextState);
|
259 | }
|
260 | }, {
|
261 | key: 'componentWillUpdate',
|
262 | value: function componentWillUpdate(nextProps) {
|
263 | this.config = (0, _utils.getConfig)(nextProps, _props2.defaultProps);
|
264 | if (!this.props.light && nextProps.light) {
|
265 | this.setState({ showPreview: true });
|
266 | }
|
267 | }
|
268 | }, {
|
269 | key: 'getActivePlayer',
|
270 | value: function getActivePlayer(url) {
|
271 | var _arr = [].concat(_toConsumableArray(customPlayers), _toConsumableArray(_players2['default']));
|
272 |
|
273 | for (var _i = 0; _i < _arr.length; _i++) {
|
274 | var _Player = _arr[_i];
|
275 | if (_Player.canPlay(url)) {
|
276 | return _Player;
|
277 | }
|
278 | }
|
279 |
|
280 | return _Iframe.Iframe;
|
281 | }
|
282 | }, {
|
283 | key: 'renderActivePlayer',
|
284 | value: function renderActivePlayer(url, activePlayer) {
|
285 | if (!url) return null;
|
286 | return _react2['default'].createElement(_Player5['default'], _extends({}, this.props, {
|
287 | key: activePlayer.displayName,
|
288 | ref: this.activePlayerRef,
|
289 | config: this.config,
|
290 | activePlayer: activePlayer,
|
291 | onReady: this.onReady
|
292 | }));
|
293 | }
|
294 | }, {
|
295 | key: 'sortPlayers',
|
296 | value: function sortPlayers(a, b) {
|
297 |
|
298 | if (a && b) {
|
299 | return a.key < b.key ? -1 : 1;
|
300 | }
|
301 | return 0;
|
302 | }
|
303 | }, {
|
304 | key: 'render',
|
305 | value: function render() {
|
306 | var _props = this.props,
|
307 | url = _props.url,
|
308 | controls = _props.controls,
|
309 | style = _props.style,
|
310 | width = _props.width,
|
311 | height = _props.height,
|
312 | light = _props.light,
|
313 | Wrapper = _props.wrapper;
|
314 |
|
315 | var showPreview = this.state.showPreview && url;
|
316 | var otherProps = (0, _utils.omit)(this.props, SUPPORTED_PROPS, _props2.DEPRECATED_CONFIG_PROPS);
|
317 | var activePlayer = this.getActivePlayer(url);
|
318 | var renderedActivePlayer = this.renderActivePlayer(url, activePlayer);
|
319 | var preloadPlayers = (0, _preload2['default'])(url, controls, this.config);
|
320 | var players = [renderedActivePlayer].concat(_toConsumableArray(preloadPlayers)).sort(this.sortPlayers);
|
321 | var preview = _react2['default'].createElement(_Preview2['default'], { url: url, light: light, onClick: this.onClickPreview });
|
322 | return _react2['default'].createElement(
|
323 | Wrapper,
|
324 | _extends({ ref: this.wrapperRef, style: _extends({}, style, { width: width, height: height }) }, otherProps),
|
325 | showPreview ? preview : players
|
326 | );
|
327 | }
|
328 | }]);
|
329 |
|
330 | return ReactPlayer;
|
331 | }(_react.Component);
|
332 |
|
333 | ReactPlayer.addCustomPlayer = function (player) {
|
334 | customPlayers.push(player);
|
335 | };
|
336 |
|
337 | ReactPlayer.removeCustomPlayers = function () {
|
338 | customPlayers = [];
|
339 | };
|
340 |
|
341 | ReactPlayer.displayName = 'ReactPlayer';
|
342 | ReactPlayer.propTypes = _props2.propTypes;
|
343 | ReactPlayer.defaultProps = _props2.defaultProps;
|
344 |
|
345 | ReactPlayer.canPlay = function (url) {
|
346 | var _arr2 = [].concat(_toConsumableArray(customPlayers), _toConsumableArray(_players2['default']));
|
347 |
|
348 | for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
|
349 | var _Player2 = _arr2[_i2];
|
350 | if (_Player2.canPlay(url)) {
|
351 | return true;
|
352 | }
|
353 | }
|
354 | return false;
|
355 | };
|
356 |
|
357 | ReactPlayer.canEnablePIP = function (url) {
|
358 | var _arr3 = [].concat(_toConsumableArray(customPlayers), _toConsumableArray(_players2['default']));
|
359 |
|
360 | for (var _i3 = 0; _i3 < _arr3.length; _i3++) {
|
361 | var _Player3 = _arr3[_i3];
|
362 | if (_Player3.canEnablePIP && _Player3.canEnablePIP(url)) {
|
363 | return true;
|
364 | }
|
365 | }
|
366 | return false;
|
367 | };
|
368 |
|
369 | exports['default'] = ReactPlayer; |
\ | No newline at end of file |