@desynova-digital/player 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Manager.js +99 -0
- package/actions/player.js +331 -0
- package/actions/video.js +206 -0
- package/{utils/colors.js → colors.js} +1 -2
- package/{media → components}/AudioMeter.js +96 -109
- package/components/BigPlayButton.js +84 -0
- package/components/ImageViewer.js +272 -0
- package/{control → components}/MarkerBar.js +33 -24
- package/{utils → components}/Menu.js +13 -4
- package/components/Player.js +706 -0
- package/{header/Header.js → components/PlayerHeader.js} +104 -78
- package/components/Playlist.js +95 -0
- package/{control → components}/PointersBar.js +122 -61
- package/components/PosterImage.js +50 -0
- package/{media → components}/SDOutline.js +13 -49
- package/components/Shortcut.js +821 -0
- package/{control → components}/Slider.js +27 -23
- package/components/TagsBar.js +81 -0
- package/components/Video.js +1280 -0
- package/{control → components/control-bar}/AudioTracksMenuButton.js +32 -28
- package/components/control-bar/CameraButton.js +75 -0
- package/components/control-bar/CommentsButton.js +186 -0
- package/components/control-bar/ControlBar.js +266 -0
- package/components/control-bar/EditorControlMenuButton.js +317 -0
- package/components/control-bar/ForwardControl.js +12 -0
- package/components/control-bar/ForwardReplayControl.js +106 -0
- package/{control → components/control-bar}/FullscreenToggle.js +26 -21
- package/components/control-bar/PlayToggle.js +85 -0
- package/components/control-bar/ReplayControl.js +12 -0
- package/components/control-bar/SettingsMenuButton.js +41 -0
- package/components/control-bar/SubtitleLanguagesMenuButton.js +149 -0
- package/components/control-bar/SubtitleMovementMenu.js +140 -0
- package/{control/VolumneMenuButton.js → components/control-bar/VolumeMenuButton.js} +26 -27
- package/components/control-bar/ZoomMenuButton.js +90 -0
- package/{control → components/marking-controls}/MarkInControl.js +32 -25
- package/{control → components/marking-controls}/MarkOutControl.js +35 -26
- package/components/marking-controls/MarkingAddButton.js +79 -0
- package/components/marking-controls/MarkingControl.js +95 -0
- package/components/marking-controls/MarkingDeleteButton.js +70 -0
- package/{control → components/marking-controls}/MarkingDuration.js +12 -5
- package/components/marking-controls/MarkingPreview.js +72 -0
- package/components/progress-bar/AudioWaveform.js +126 -0
- package/components/progress-bar/LoadProgressBar.js +67 -0
- package/components/progress-bar/MouseTimeDisplay.js +36 -0
- package/{control → components/progress-bar}/PlayProgressBar.js +4 -4
- package/components/progress-bar/ProgressControl.js +186 -0
- package/{control → components/progress-bar}/SeekBar.js +113 -72
- package/{control → components/progress-bar}/Timeline.js +43 -32
- package/{control/PlayBackRateControl.js → components/settings-menu-control/PlaybackRateControl.js} +44 -30
- package/components/settings-menu-control/SafeAreaControl.js +81 -0
- package/components/settings-menu-control/SettingsMenu.js +56 -0
- package/components/settings-menu-control/SubtitleControl.js +1 -0
- package/components/time-controls/CurrentTimeDisplay.js +83 -0
- package/{control → components/time-controls}/DurationDisplay.js +8 -15
- package/components/time-controls/TimeDivider.js +25 -0
- package/{control → components/volume-control}/VolumeBar.js +62 -80
- package/components/volume-control/VolumeControl.js +19 -0
- package/{control → components/volume-control}/VolumeLevel.js +2 -3
- package/components/zoom-control/ZoomBar.js +155 -0
- package/components/zoom-control/ZoomLevel.js +55 -0
- package/index.js +198 -1
- package/package.json +5 -8
- package/reducers/index.js +19 -0
- package/reducers/operation.js +35 -0
- package/reducers/player.js +222 -0
- package/utils/browser.js +30 -0
- package/utils/dom.js +1 -2
- package/utils/fullscreen.js +72 -0
- package/utils/index.js +156 -57
- package/Player.js +0 -945
- package/control/AudioTracksMenuButton.jsx +0 -80
- package/control/ControlBar.js +0 -303
- package/control/ControlBar.jsx +0 -264
- package/control/CurrentTimeDisplay.js +0 -34
- package/control/CurrentTimeDisplay.jsx +0 -35
- package/control/DurationDisplay.jsx +0 -48
- package/control/ForwardBackwardControl.js +0 -76
- package/control/ForwardBackwardControl.jsx +0 -79
- package/control/FullscreenToggle.jsx +0 -83
- package/control/MarkInControl.jsx +0 -109
- package/control/MarkOutControl.jsx +0 -131
- package/control/MarkerBar.jsx +0 -107
- package/control/MarkingControl.js +0 -82
- package/control/MarkingControl.jsx +0 -143
- package/control/MarkingPreview.js +0 -49
- package/control/MarkingPreview.jsx +0 -60
- package/control/PlayBackRateControl.jsx +0 -106
- package/control/PlayProgressBar.jsx +0 -92
- package/control/PlayToggle.js +0 -56
- package/control/PlayToggle.jsx +0 -57
- package/control/PointersBar.jsx +0 -286
- package/control/ProgressControl.js +0 -127
- package/control/ProgressControl.jsx +0 -155
- package/control/SeekBar.jsx +0 -229
- package/control/SettingsMenuButton.js +0 -63
- package/control/SettingsMenuButton.jsx +0 -69
- package/control/Slider.jsx +0 -243
- package/control/Timeline.jsx +0 -131
- package/control/VolumeBar.jsx +0 -174
- package/control/VolumeLevel.jsx +0 -66
- package/control/VolumneMenuButton.jsx +0 -111
- package/header/Header.jsx +0 -479
- package/media/AudioMeter.jsx +0 -411
- package/media/SDOutline.jsx +0 -90
- package/media/Video.js +0 -684
- package/media/Video.jsx +0 -714
- package/playlist/Playlist.js +0 -67
- package/playlist/Playlist.jsx +0 -91
- package/playlist/index.js +0 -13
- package/shortcuts/Shortcut.js +0 -662
- package/utils/Menu.jsx +0 -105
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -10,29 +10,33 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
10
10
|
var _propTypes = require("prop-types");
|
|
11
11
|
var _components = require("@desynova-digital/components");
|
|
12
12
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
13
|
+
var _reactDom = require("react-dom");
|
|
13
14
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
15
|
+
/* eslint-disable jsx-a11y/mouse-events-have-key-events */
|
|
16
|
+
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
17
|
+
/* eslint-disable react/no-array-index-key */
|
|
14
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
function _getRequireWildcardCache(
|
|
16
|
-
function _interopRequireWildcard(
|
|
17
|
-
function ownKeys(
|
|
18
|
-
function _objectSpread(
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
23
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
20
24
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
21
25
|
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, _toPropertyKey(descriptor.key), descriptor); } }
|
|
22
26
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
23
|
-
function _toPropertyKey(
|
|
24
|
-
function _toPrimitive(
|
|
25
|
-
function
|
|
26
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
27
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
28
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
29
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
28
30
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
29
|
-
function
|
|
30
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
31
32
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
33
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
34
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
35
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
32
36
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
33
|
-
/*
|
|
34
|
-
* import { colors } from '@desynova-digital/tokens';
|
|
35
|
-
* import colors from '../colors';
|
|
37
|
+
/*
|
|
38
|
+
* import { colors } from '@desynova-digital/tokens';
|
|
39
|
+
* import colors from '../colors';
|
|
36
40
|
*/
|
|
37
41
|
|
|
38
42
|
var propTypes = {
|
|
@@ -44,33 +48,40 @@ var propTypes = {
|
|
|
44
48
|
var defaultProps = {
|
|
45
49
|
player: {}
|
|
46
50
|
};
|
|
47
|
-
var PointersContainer = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n"])))
|
|
51
|
+
var PointersContainer = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n width: ", ";\n"])), function (props) {
|
|
52
|
+
return props.width || '100%';
|
|
53
|
+
});
|
|
48
54
|
var PointerBlock = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n height: 20px;\n position: relative;\n border-top: 1px solid #333333;\n border-bottom: 1px solid #333333;\n .empty-pointers-msg {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n p {\n font-family: SFUIText-Medium;\n font-size: 11px;\n color: #aaaaaa;\n }\n ", " {\n margin: 0 5px;\n }\n }\n"])), _components.Icon.Element);
|
|
49
55
|
var MarkerTagsBlock = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n min-width: 100px;\n max-width: 100px;\n position: relative;\n height: 100%;\n .tags-block {\n height: 20px;\n font-family: SFUIText-Medium;\n font-size: 10px;\n color: #ffffff;\n text-transform: uppercase;\n border-top: 1px solid #333333;\n border-bottom: 1px solid #333333;\n p {\n line-height: 18px;\n padding: 0 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n"])));
|
|
50
|
-
var ToolTipStyles = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n z-index: 2;\n height: 18px;\n transition: left 0.1s ease-in-out;\n\n .tooltip-container {\n border-radius: 0.25rem;\n padding: 5px;\n width: fit-content;\n background: #ffffff;\n color: #666666;\n\n h4 {\n white-space: nowrap;\n font-size: 12px;\n }\n\n &:after {\n content: '';\n position: absolute;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid white;\n ", "\n left:
|
|
56
|
+
var ToolTipStyles = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n z-index: 2;\n height: 18px;\n transition: left 0.1s ease-in-out;\n\n .tooltip-container {\n border-radius: 0.25rem;\n padding: 5px;\n width: fit-content;\n background: #ffffff;\n color: #666666;\n\n em{\n font-style: italic; \n }\n\n strong{\n font-weight: bold; \n }\n\n h4 {\n white-space: nowrap;\n font-size: 12px;\n }\n\n &:after {\n content: '';\n position: absolute;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid white;\n ", "\n left: ", ";\n transform: translateX(-50%);\n }\n }\n"])), function (props) {
|
|
51
57
|
return props.multiline ? 'bottom: -21px;' : 'bottom: -9px;';
|
|
58
|
+
}, function (props) {
|
|
59
|
+
return props.tooltipPointer ? props.tooltipPointer + 'px' : '50%';
|
|
52
60
|
});
|
|
53
|
-
var PointersBar = /*#__PURE__*/function (_Component) {
|
|
61
|
+
var PointersBar = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
54
62
|
_inherits(PointersBar, _Component);
|
|
55
|
-
var _super = _createSuper(PointersBar);
|
|
56
63
|
function PointersBar(props) {
|
|
57
64
|
var _this;
|
|
58
65
|
_classCallCheck(this, PointersBar);
|
|
59
|
-
_this =
|
|
66
|
+
_this = _callSuper(this, PointersBar, [props]);
|
|
60
67
|
_this.getPointerStyle = _this.getPointerStyle.bind(_assertThisInitialized(_this));
|
|
61
68
|
_this.state = {
|
|
62
69
|
tooltip: {
|
|
63
70
|
isVisible: false
|
|
64
|
-
}
|
|
71
|
+
},
|
|
72
|
+
tooltipPointer: 0
|
|
65
73
|
};
|
|
66
74
|
_this._tooltipRef = /*#__PURE__*/_react["default"].createRef();
|
|
67
75
|
_this.renderComp = 0;
|
|
76
|
+
_this.zoom = 0;
|
|
68
77
|
return _this;
|
|
69
78
|
}
|
|
70
79
|
_createClass(PointersBar, [{
|
|
71
80
|
key: "shouldComponentUpdate",
|
|
72
81
|
value: function shouldComponentUpdate(nextProps, nextState) {
|
|
73
|
-
if (
|
|
82
|
+
if (nextProps.zoom !== this.props.zoom) {
|
|
83
|
+
return true;
|
|
84
|
+
} else if (_lodash["default"].isEqual(nextProps.markers, this.props.markers) && !this.renderComp) {
|
|
74
85
|
return false;
|
|
75
86
|
}
|
|
76
87
|
this.renderComp = 0;
|
|
@@ -78,30 +89,32 @@ var PointersBar = /*#__PURE__*/function (_Component) {
|
|
|
78
89
|
}
|
|
79
90
|
}, {
|
|
80
91
|
key: "onMarkerClick",
|
|
81
|
-
value: function onMarkerClick(e, marker) {
|
|
92
|
+
value: function onMarkerClick(e, marker, index) {
|
|
82
93
|
var _this$props = this.props,
|
|
83
94
|
onTagClick = _this$props.onTagClick,
|
|
84
|
-
|
|
95
|
+
actions = _this$props.actions,
|
|
96
|
+
playerType = _this$props.playerType;
|
|
85
97
|
var start_time = parseFloat(e.target.getAttribute('leftpos'));
|
|
86
98
|
var end_time = parseFloat(e.target.getAttribute('rightpos'));
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
// actions.seek(start_time);
|
|
99
|
+
actions.handleMarkerUpdate(start_time, end_time);
|
|
100
|
+
actions.pause();
|
|
101
|
+
actions.seek(start_time);
|
|
102
|
+
if (playerType === 'subtitle') {
|
|
103
|
+
var scrollObject = {
|
|
104
|
+
tableListScrollTop: index
|
|
105
|
+
};
|
|
106
|
+
localStorage.setItem('scrollObject', JSON.stringify(scrollObject));
|
|
107
|
+
}
|
|
97
108
|
onTagClick(start_time, end_time, marker);
|
|
98
109
|
}
|
|
99
110
|
}, {
|
|
100
111
|
key: "getPointerStyle",
|
|
101
112
|
value: function getPointerStyle(leftMarker, rightMarker, index) {
|
|
102
|
-
var
|
|
103
|
-
|
|
104
|
-
|
|
113
|
+
var _this$props2 = this.props,
|
|
114
|
+
player = _this$props2.player,
|
|
115
|
+
zoom = _this$props2.zoom;
|
|
116
|
+
var left = leftMarker / player.duration * 100;
|
|
117
|
+
var right = rightMarker / player.duration * 100;
|
|
105
118
|
var width = right - left;
|
|
106
119
|
var style = {
|
|
107
120
|
left: "".concat(left, "%"),
|
|
@@ -121,19 +134,36 @@ var PointersBar = /*#__PURE__*/function (_Component) {
|
|
|
121
134
|
value: function setTooltipData(e, title) {
|
|
122
135
|
var _this2 = this;
|
|
123
136
|
var tooltip = this.state.tooltip;
|
|
137
|
+
var tooltipPointer = 0;
|
|
124
138
|
tooltip.isVisible = false;
|
|
125
139
|
tooltip.text = title;
|
|
126
|
-
tooltip.bottom = window.innerHeight - e.target.getBoundingClientRect().top; // e.target.getBoundingClientRect().top - e.target.getBoundingClientRect().height - 10;
|
|
127
|
-
tooltip.bottom = title.line1 ? tooltip.bottom + 22 : tooltip.bottom + 10;
|
|
128
|
-
tooltip.
|
|
140
|
+
// tooltip.bottom = window.innerHeight - e.target.getBoundingClientRect().top; // e.target.getBoundingClientRect().top - e.target.getBoundingClientRect().height - 10;
|
|
141
|
+
// tooltip.bottom = title.line1 && title.line2 ? tooltip.bottom + 22 : tooltip.bottom + 10;
|
|
142
|
+
tooltip.bottom = title.line1 && title.line2 ? 42 : 30;
|
|
143
|
+
tooltipPointer = tooltip.left = e.target.getBoundingClientRect().left + (e.target.getBoundingClientRect().right - e.target.getBoundingClientRect().left) / 2 - 100;
|
|
129
144
|
this.renderComp = 1;
|
|
130
145
|
this.setState(_objectSpread({}, tooltip), function () {
|
|
131
146
|
var tooltip = _this2.state.tooltip;
|
|
132
|
-
var
|
|
147
|
+
var viewportWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
148
|
+
var tooltipRenderedWidth = _this2._tooltipRef.current && _this2._tooltipRef.current.offsetWidth ? _this2._tooltipRef.current.offsetWidth / 2 : 0;
|
|
149
|
+
var totalWidthOfTooltipIncludingLeft = tooltip.left + tooltipRenderedWidth;
|
|
150
|
+
if (totalWidthOfTooltipIncludingLeft > viewportWidth) {
|
|
151
|
+
var extraSpacing = totalWidthOfTooltipIncludingLeft - viewportWidth;
|
|
152
|
+
tooltip.left = tooltip.left - tooltipRenderedWidth - extraSpacing - 10; //5 for wxtra buffer spacing on right
|
|
153
|
+
tooltipPointer = tooltipRenderedWidth + extraSpacing + 10;
|
|
154
|
+
} else {
|
|
155
|
+
tooltip.left = tooltip.left - tooltipRenderedWidth;
|
|
156
|
+
if (tooltip.left < 0) {
|
|
157
|
+
tooltipPointer = tooltipPointer;
|
|
158
|
+
} else {
|
|
159
|
+
tooltipPointer = 0;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
133
162
|
tooltip.isVisible = true;
|
|
134
|
-
tooltip.left = tooltip.left - tooltipRefOffset;
|
|
135
163
|
_this2.renderComp = 1;
|
|
136
|
-
_this2.setState(_objectSpread({}, tooltip)
|
|
164
|
+
_this2.setState(_objectSpread(_objectSpread({}, tooltip), {}, {
|
|
165
|
+
tooltipPointer: tooltipPointer
|
|
166
|
+
}));
|
|
137
167
|
});
|
|
138
168
|
}
|
|
139
169
|
}, {
|
|
@@ -148,32 +178,54 @@ var PointersBar = /*#__PURE__*/function (_Component) {
|
|
|
148
178
|
}
|
|
149
179
|
return data;
|
|
150
180
|
}
|
|
181
|
+
}, {
|
|
182
|
+
key: "generateZoomWithOfPointersBar",
|
|
183
|
+
value: function generateZoomWithOfPointersBar(zoom) {
|
|
184
|
+
var pointerBlock = (0, _reactDom.findDOMNode)(this.pointerBlock);
|
|
185
|
+
var timelineBlock = (0, _reactDom.findDOMNode)(this.timelineBlock);
|
|
186
|
+
var width = 0;
|
|
187
|
+
if (zoom > 0) {
|
|
188
|
+
width = (document.getElementById('seekbar-control-block').clientWidth * zoom * 20).toFixed(0) + 'px';
|
|
189
|
+
} else {
|
|
190
|
+
width = document.getElementById('seekbar-control-block').clientWidth.toFixed(0) + 'px';
|
|
191
|
+
}
|
|
192
|
+
this.setState({
|
|
193
|
+
zoom: zoom,
|
|
194
|
+
width: width
|
|
195
|
+
});
|
|
196
|
+
}
|
|
151
197
|
}, {
|
|
152
198
|
key: "render",
|
|
153
199
|
value: function render() {
|
|
154
200
|
var _this3 = this;
|
|
155
|
-
var
|
|
156
|
-
|
|
201
|
+
var _this$props3 = this.props,
|
|
202
|
+
markers = _this$props3.markers,
|
|
203
|
+
zoom = _this$props3.zoom;
|
|
204
|
+
var _this$state = this.state,
|
|
205
|
+
_this$state$tooltip = _this$state.tooltip,
|
|
157
206
|
isVisible = _this$state$tooltip.isVisible,
|
|
158
207
|
text = _this$state$tooltip.text,
|
|
159
208
|
left = _this$state$tooltip.left,
|
|
160
|
-
bottom = _this$state$tooltip.bottom
|
|
209
|
+
bottom = _this$state$tooltip.bottom,
|
|
210
|
+
tooltipPointer = _this$state.tooltipPointer,
|
|
211
|
+
width = _this$state.width;
|
|
161
212
|
var self = this;
|
|
162
213
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, markers && markers.length ? markers.map(function (marker_obj) {
|
|
163
214
|
return /*#__PURE__*/_react["default"].createElement(PointersContainer, {
|
|
215
|
+
id: "pointers-block",
|
|
216
|
+
ref: function ref(c) {
|
|
217
|
+
_this3.pointerBlock = c;
|
|
218
|
+
},
|
|
219
|
+
width: width,
|
|
164
220
|
key: marker_obj.name
|
|
165
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
166
|
-
key: "".concat(marker_obj.name, "-tags-block")
|
|
167
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
|
-
className: "tags-block"
|
|
169
|
-
}, /*#__PURE__*/_react["default"].createElement("p", null, marker_obj.name))), /*#__PURE__*/_react["default"].createElement(PointerBlock, {
|
|
221
|
+
}, /*#__PURE__*/_react["default"].createElement(PointerBlock, {
|
|
170
222
|
key: "".concat(marker_obj.name, "-key-tags-block")
|
|
171
223
|
}, marker_obj && marker_obj.values && marker_obj.values.length ? marker_obj.values.map(function (marker, index) {
|
|
172
224
|
var style = self.getPointerStyle(marker.start_time, marker.end_time, index);
|
|
173
225
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
174
226
|
className: "marker-blocks",
|
|
175
227
|
onClick: function onClick(e) {
|
|
176
|
-
_this3.onMarkerClick(e, marker);
|
|
228
|
+
_this3.onMarkerClick(e, marker, index);
|
|
177
229
|
},
|
|
178
230
|
onMouseOver: function onMouseOver(e) {
|
|
179
231
|
self.setTooltipData(e, _this3.getTitle(marker));
|
|
@@ -205,27 +257,36 @@ var PointersBar = /*#__PURE__*/function (_Component) {
|
|
|
205
257
|
stroke: "#fff",
|
|
206
258
|
width: 7,
|
|
207
259
|
height: 11
|
|
208
|
-
}), /*#__PURE__*/_react["default"].createElement("p", null, "to create ", marker_obj.name, " in the selected range. ")))
|
|
209
|
-
className: "tags-block"
|
|
210
|
-
}, /*#__PURE__*/_react["default"].createElement("p", null))));
|
|
260
|
+
}), /*#__PURE__*/_react["default"].createElement("p", null, "to create ", marker_obj.name, " in the selected range. "))));
|
|
211
261
|
}) : null, text && /*#__PURE__*/_react["default"].createElement(ToolTipStyles, {
|
|
212
|
-
multiline: !!text.line1,
|
|
262
|
+
multiline: !!text.line1 && text.line1.length && text.line2,
|
|
213
263
|
ref: this._tooltipRef,
|
|
264
|
+
left: left,
|
|
265
|
+
tooltipPointer: tooltipPointer,
|
|
214
266
|
style: {
|
|
215
|
-
left: left
|
|
267
|
+
left: left < 1 ? 1 : left,
|
|
216
268
|
bottom: bottom || 0,
|
|
217
269
|
visibility: isVisible ? 'visible' : 'hidden'
|
|
218
270
|
}
|
|
219
271
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
220
272
|
className: "tooltip-container"
|
|
221
|
-
}, text.line1 && /*#__PURE__*/_react["default"].createElement("h4",
|
|
222
|
-
|
|
223
|
-
|
|
273
|
+
}, text.line1 && /*#__PURE__*/_react["default"].createElement("h4", {
|
|
274
|
+
dangerouslySetInnerHTML: {
|
|
275
|
+
__html: text.line1
|
|
276
|
+
}
|
|
277
|
+
}), text.line2 && /*#__PURE__*/_react["default"].createElement("h4", {
|
|
278
|
+
dangerouslySetInnerHTML: {
|
|
279
|
+
__html: text.line2
|
|
280
|
+
}
|
|
281
|
+
}), !text.line1 && /*#__PURE__*/_react["default"].createElement("h4", {
|
|
282
|
+
dangerouslySetInnerHTML: {
|
|
283
|
+
__html: text
|
|
284
|
+
}
|
|
285
|
+
}))));
|
|
224
286
|
}
|
|
225
287
|
}]);
|
|
226
288
|
return PointersBar;
|
|
227
289
|
}(_react.Component);
|
|
228
|
-
exports["default"] = PointersBar;
|
|
229
290
|
PointersBar.propTypes = propTypes;
|
|
230
291
|
PointersBar.defaultProps = defaultProps;
|
|
231
292
|
PointersBar.displayName = 'PointersBar';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _propTypes = require("prop-types");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
var propTypes = {
|
|
11
|
+
poster: _propTypes.PropTypes.string,
|
|
12
|
+
player: _propTypes.PropTypes.instanceOf(Object),
|
|
13
|
+
actions: _propTypes.PropTypes.instanceOf(Object)
|
|
14
|
+
};
|
|
15
|
+
var defaultProps = {
|
|
16
|
+
poster: '',
|
|
17
|
+
player: {},
|
|
18
|
+
actions: {}
|
|
19
|
+
};
|
|
20
|
+
function PosterImage(_ref) {
|
|
21
|
+
var poster = _ref.poster,
|
|
22
|
+
player = _ref.player,
|
|
23
|
+
actions = _ref.actions;
|
|
24
|
+
if (!poster || player.hasStarted) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
28
|
+
role: "presentation",
|
|
29
|
+
style: {
|
|
30
|
+
backgroundImage: "url(\"".concat(poster, "\")"),
|
|
31
|
+
backgroundSize: 'auto 100%',
|
|
32
|
+
width: '100%',
|
|
33
|
+
height: '100%',
|
|
34
|
+
position: 'absolute',
|
|
35
|
+
top: 0,
|
|
36
|
+
left: 0,
|
|
37
|
+
backgroundPosition: '50% 50%'
|
|
38
|
+
},
|
|
39
|
+
onClick: function onClick() {
|
|
40
|
+
if (player.paused) {
|
|
41
|
+
actions.play();
|
|
42
|
+
actions.handleVideoRewind(false);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
PosterImage.propTypes = propTypes;
|
|
48
|
+
PosterImage.defaultProps = defaultProps;
|
|
49
|
+
PosterImage.displayName = 'PosterImage';
|
|
50
|
+
var _default = exports["default"] = PosterImage;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] =
|
|
6
|
+
exports["default"] = SDOutline;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _propTypes = require("prop-types");
|
|
10
|
-
var _colors = _interopRequireDefault(require("../
|
|
10
|
+
var _colors = _interopRequireDefault(require("../colors"));
|
|
11
11
|
var _templateObject, _templateObject2;
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
13
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
@@ -17,66 +17,30 @@ var propTypes = {
|
|
|
17
17
|
};
|
|
18
18
|
var SDPlayerBorder = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n opacity: 0.3;\n border: solid 1px ", ";\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n -o-transform: translate(-50%, -50%);\n -moz-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n position: absolute;\n padding-left: 75%;\n height: 100%;\n"])), _colors["default"].common.base.white);
|
|
19
19
|
var SDBorderText = (0, _styledComponents["default"])('p')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: #fff;\n padding-top: 25%;\n position: absolute;\n font-family: SFUIText-Regular;\n text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);\n font-size: 12px;\n top: 20%;\n transform: translate(-50%, -50%) rotate(-90deg);\n"])));
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
paused = _ref.paused;
|
|
20
|
+
function SDOutline(_ref) {
|
|
21
|
+
var player = _ref.player,
|
|
22
|
+
actions = _ref.actions;
|
|
24
23
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SDPlayerBorder, {
|
|
25
|
-
|
|
26
|
-
style: !SDBorderActive ? {
|
|
24
|
+
style: !player.SDBorderActive ? {
|
|
27
25
|
display: 'none'
|
|
28
26
|
} : {
|
|
29
27
|
display: 'block'
|
|
30
28
|
},
|
|
31
29
|
onClick: function onClick() {
|
|
32
|
-
if (paused) {
|
|
33
|
-
|
|
34
|
-
action: 'play'
|
|
35
|
-
});
|
|
30
|
+
if (player.paused) {
|
|
31
|
+
actions.play();
|
|
36
32
|
} else {
|
|
37
|
-
|
|
38
|
-
action: 'pause'
|
|
39
|
-
});
|
|
33
|
+
actions.pause();
|
|
40
34
|
}
|
|
41
|
-
|
|
35
|
+
actions.handleVideoRewind(false);
|
|
42
36
|
}
|
|
43
37
|
}), /*#__PURE__*/_react["default"].createElement(SDBorderText, {
|
|
44
|
-
style: !SDBorderActive ? {
|
|
38
|
+
style: !player.SDBorderActive ? {
|
|
45
39
|
display: 'none'
|
|
46
40
|
} : {
|
|
47
41
|
display: 'block'
|
|
48
42
|
}
|
|
49
43
|
}, "4:3 Safe Area"));
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// export default function SDOutline({ player, actions }) {
|
|
53
|
-
// return (
|
|
54
|
-
// <React.Fragment>
|
|
55
|
-
// <SDPlayerBorder
|
|
56
|
-
// style={
|
|
57
|
-
// !player.SDBorderActive ? { display: 'none' } : { display: 'block' }
|
|
58
|
-
// }
|
|
59
|
-
// onClick={() => {
|
|
60
|
-
// if (player.paused) {
|
|
61
|
-
// actions.play();
|
|
62
|
-
// } else {
|
|
63
|
-
// actions.pause();
|
|
64
|
-
// }
|
|
65
|
-
// actions.handleVideoRewind(false);
|
|
66
|
-
// }}
|
|
67
|
-
// />
|
|
68
|
-
// <SDBorderText
|
|
69
|
-
// style={
|
|
70
|
-
// !player.SDBorderActive ? { display: 'none' } : { display: 'block' }
|
|
71
|
-
// }
|
|
72
|
-
// >
|
|
73
|
-
// 4:3 Safe Area
|
|
74
|
-
// </SDBorderText>
|
|
75
|
-
// </React.Fragment>
|
|
76
|
-
// );
|
|
77
|
-
// }
|
|
78
|
-
|
|
44
|
+
}
|
|
79
45
|
SDOutline.propTypes = propTypes;
|
|
80
|
-
SDOutline.displayName = 'SDOutline';
|
|
81
|
-
var _default = SDOutline;
|
|
82
|
-
exports["default"] = _default;
|
|
46
|
+
SDOutline.displayName = 'SDOutline';
|