@desynova-digital/player 4.0.1 → 4.0.2
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
|
});
|
|
@@ -8,30 +8,30 @@ exports["default"] = void 0;
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
10
|
var _propTypes = require("prop-types");
|
|
11
|
-
var _Slider = _interopRequireDefault(require("
|
|
11
|
+
var _Slider = _interopRequireDefault(require("../Slider"));
|
|
12
12
|
var _PlayProgressBar = _interopRequireDefault(require("./PlayProgressBar"));
|
|
13
|
-
var _utils = require("
|
|
13
|
+
var _utils = require("../../utils");
|
|
14
14
|
var _Timeline = _interopRequireDefault(require("./Timeline"));
|
|
15
|
-
var _MarkerBar = _interopRequireDefault(require("
|
|
16
|
-
var
|
|
15
|
+
var _MarkerBar = _interopRequireDefault(require("../MarkerBar"));
|
|
16
|
+
var _TagsBar = _interopRequireDefault(require("../TagsBar"));
|
|
17
|
+
var _templateObject, _templateObject2; // import AudioWaveform from './AudioWaveform';
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
-
function _getRequireWildcardCache(
|
|
19
|
-
function _interopRequireWildcard(
|
|
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; }
|
|
20
21
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
21
22
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
22
23
|
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); } }
|
|
23
24
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
24
|
-
function _toPropertyKey(
|
|
25
|
-
function _toPrimitive(
|
|
26
|
-
function
|
|
27
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
28
|
-
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); }; }
|
|
25
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
26
|
+
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); }
|
|
27
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
29
28
|
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); }
|
|
30
|
-
function
|
|
31
|
-
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; } }
|
|
29
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
32
30
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
31
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
32
|
+
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); }
|
|
33
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
33
34
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
34
|
-
// import TagsBar from '../TagsBar';
|
|
35
35
|
// import MouseTimeDisplay from './MouseTimeDisplay';
|
|
36
36
|
|
|
37
37
|
var AdvancedControlBlock = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: 46px;\n position: relative;\n cursor: pointer;\n z-index: 1;\n"])));
|
|
@@ -43,15 +43,15 @@ var propTypes = {
|
|
|
43
43
|
tagsMarker: _propTypes.PropTypes.instanceOf(Array),
|
|
44
44
|
mouseTime: _propTypes.PropTypes.instanceOf(Object),
|
|
45
45
|
assetType: _propTypes.PropTypes.oneOf(['fc', 'rc']),
|
|
46
|
-
playerType: _propTypes.PropTypes.oneOf(['dubbing_review', 'clipping_default', 'default', 'tagging', 'qc', 'subtitle', 'snp_edit', 'archive', 'restore', 'clipping', 'storyboard', 'panel'])
|
|
46
|
+
playerType: _propTypes.PropTypes.oneOf(['dubbing_review', 'clipping_default', 'default', 'tagging', 'qc', 'subtitle', 'snp_edit', 'archive', 'restore', 'clipping', 'storyboard', 'panel']),
|
|
47
|
+
theme: _propTypes.PropTypes.string
|
|
47
48
|
};
|
|
48
|
-
var SeekBar = /*#__PURE__*/function (_Component) {
|
|
49
|
+
var SeekBar = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
49
50
|
_inherits(SeekBar, _Component);
|
|
50
|
-
var _super = _createSuper(SeekBar);
|
|
51
51
|
function SeekBar(props, context) {
|
|
52
52
|
var _this;
|
|
53
53
|
_classCallCheck(this, SeekBar);
|
|
54
|
-
_this =
|
|
54
|
+
_this = _callSuper(this, SeekBar, [props, context]);
|
|
55
55
|
_this.getPercent = _this.getPercent.bind(_assertThisInitialized(_this));
|
|
56
56
|
_this.getNewTime = _this.getNewTime.bind(_assertThisInitialized(_this));
|
|
57
57
|
_this.stepForward = _this.stepForward.bind(_assertThisInitialized(_this));
|
|
@@ -69,34 +69,79 @@ var SeekBar = /*#__PURE__*/function (_Component) {
|
|
|
69
69
|
value: function componentDidMount() {}
|
|
70
70
|
}, {
|
|
71
71
|
key: "componentDidUpdate",
|
|
72
|
-
value: function componentDidUpdate() {
|
|
72
|
+
value: function componentDidUpdate(prevProps) {
|
|
73
|
+
var _prevProps$player, _this$props$player;
|
|
74
|
+
if (((_prevProps$player = prevProps.player) === null || _prevProps$player === void 0 ? void 0 : _prevProps$player.currentTime) !== ((_this$props$player = this.props.player) === null || _this$props$player === void 0 ? void 0 : _this$props$player.currentTime)) {
|
|
75
|
+
this.scrollToSeekbarMiddle();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
73
78
|
|
|
74
|
-
/**
|
|
75
|
-
* Get percentage of video played
|
|
76
|
-
*
|
|
77
|
-
* @return {Number} Percentage played
|
|
78
|
-
* @method getPercent
|
|
79
|
+
/**
|
|
80
|
+
* Get percentage of video played
|
|
81
|
+
*
|
|
82
|
+
* @return {Number} Percentage played
|
|
83
|
+
* @method getPercent
|
|
79
84
|
*/
|
|
80
85
|
}, {
|
|
81
86
|
key: "getPercent",
|
|
82
87
|
value: function getPercent() {
|
|
83
88
|
var _this$props = this.props,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
_this$props$player2 = _this$props.player,
|
|
90
|
+
currentTime = _this$props$player2.currentTime,
|
|
91
|
+
seekingTime = _this$props$player2.seekingTime,
|
|
92
|
+
duration = _this$props$player2.duration,
|
|
93
|
+
zoom = _this$props.zoom;
|
|
94
|
+
var time = seekingTime || currentTime;
|
|
95
|
+
var percent = time / duration;
|
|
96
|
+
percent = percent >= 1 ? 1 : percent;
|
|
97
|
+
if (zoom > 0) {
|
|
98
|
+
percent = percent * zoom * 20;
|
|
99
|
+
}
|
|
100
|
+
return percent;
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "getScrollableWidth",
|
|
104
|
+
value: function getScrollableWidth(element) {
|
|
105
|
+
var style = getComputedStyle(element);
|
|
106
|
+
var padding = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
|
|
107
|
+
var scrollbarWidth = element.offsetWidth - element.clientWidth;
|
|
108
|
+
return element.scrollWidth - padding - scrollbarWidth;
|
|
90
109
|
}
|
|
91
110
|
}, {
|
|
92
111
|
key: "getNewTime",
|
|
93
112
|
value: function getNewTime(event) {
|
|
94
|
-
var
|
|
95
|
-
|
|
96
|
-
|
|
113
|
+
var _this$props2 = this.props,
|
|
114
|
+
duration = _this$props2.player.duration,
|
|
115
|
+
playerType = _this$props2.playerType;
|
|
116
|
+
var newTime;
|
|
117
|
+
if (playerType === 'default') {
|
|
118
|
+
var distance = this.slider.calculateDistance(event);
|
|
119
|
+
newTime = distance * duration;
|
|
120
|
+
} else {
|
|
121
|
+
var seekBar = document.getElementById('timeline-block');
|
|
122
|
+
var clickPosition = event.clientX - seekBar.getBoundingClientRect().left;
|
|
123
|
+
var data = this.getScrollableWidth(seekBar);
|
|
124
|
+
var seekPercentage = clickPosition / data;
|
|
125
|
+
newTime = duration * seekPercentage;
|
|
126
|
+
}
|
|
97
127
|
|
|
98
128
|
// Don't let video end while scrubbing.
|
|
99
|
-
return newTime ===
|
|
129
|
+
return newTime === duration ? newTime - 0.1 : newTime;
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "scrollToSeekbarMiddle",
|
|
133
|
+
value: function scrollToSeekbarMiddle() {
|
|
134
|
+
var viewportWidth = document.getElementById('seekbar-control-block').clientWidth;
|
|
135
|
+
var percentScroll = (this.getPercent() * 100).toFixed(2) / 100;
|
|
136
|
+
var scrollWidth = viewportWidth * percentScroll;
|
|
137
|
+
if (scrollWidth < document.getElementsByClassName('timeline-content')[0].scrollLeft || scrollWidth > document.getElementsByClassName('timeline-content')[0].scrollLeft + viewportWidth) {
|
|
138
|
+
viewportWidth = viewportWidth / 2;
|
|
139
|
+
scrollWidth = scrollWidth - viewportWidth;
|
|
140
|
+
document.getElementsByClassName('timeline-content')[0].scrollTo({
|
|
141
|
+
left: scrollWidth,
|
|
142
|
+
behavior: 'instant'
|
|
143
|
+
});
|
|
144
|
+
}
|
|
100
145
|
}
|
|
101
146
|
}, {
|
|
102
147
|
key: "handleMouseDown",
|
|
@@ -110,14 +155,11 @@ var SeekBar = /*#__PURE__*/function (_Component) {
|
|
|
110
155
|
key: "handleMouseUp",
|
|
111
156
|
value: function handleMouseUp(event) {
|
|
112
157
|
console.log('handleMouse handleMouseUp');
|
|
113
|
-
var
|
|
158
|
+
var actions = this.props.actions;
|
|
114
159
|
var newTime = this.getNewTime(event);
|
|
115
160
|
// Set new time (tell video to seek to new time)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
value: newTime
|
|
119
|
-
});
|
|
120
|
-
// actions.handleEndSeeking(newTime);//todo check if needed
|
|
161
|
+
actions.seek(newTime);
|
|
162
|
+
actions.handleEndSeeking(newTime);
|
|
121
163
|
this.setState({
|
|
122
164
|
sliderActive: false
|
|
123
165
|
});
|
|
@@ -127,57 +169,54 @@ var SeekBar = /*#__PURE__*/function (_Component) {
|
|
|
127
169
|
value: function handleMouseMove(event) {
|
|
128
170
|
var sliderActive = this.state.sliderActive;
|
|
129
171
|
if (sliderActive) {
|
|
130
|
-
var
|
|
172
|
+
var actions = this.props.actions;
|
|
131
173
|
var newTime = this.getNewTime(event);
|
|
132
|
-
|
|
133
|
-
action: 'seeking_time',
|
|
134
|
-
value: newTime
|
|
135
|
-
});
|
|
174
|
+
actions.handleSeekingTime(newTime);
|
|
136
175
|
}
|
|
137
176
|
}
|
|
138
177
|
}, {
|
|
139
178
|
key: "stepForward",
|
|
140
179
|
value: function stepForward() {
|
|
141
|
-
var
|
|
142
|
-
|
|
143
|
-
action: 'add_seconds',
|
|
144
|
-
value: '0.04'
|
|
145
|
-
});
|
|
180
|
+
var actions = this.props.actions;
|
|
181
|
+
actions.forward(0.04);
|
|
146
182
|
}
|
|
147
183
|
}, {
|
|
148
184
|
key: "stepBack",
|
|
149
185
|
value: function stepBack() {
|
|
150
|
-
var
|
|
151
|
-
|
|
152
|
-
action: 'add_seconds',
|
|
153
|
-
value: '-0.04'
|
|
154
|
-
});
|
|
186
|
+
var actions = this.props.actions;
|
|
187
|
+
actions.replay(0.04);
|
|
155
188
|
}
|
|
156
189
|
}, {
|
|
157
190
|
key: "render",
|
|
158
191
|
value: function render() {
|
|
159
192
|
var _this2 = this;
|
|
160
|
-
var _this$
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
193
|
+
var _this$props3 = this.props,
|
|
194
|
+
_this$props3$player = _this$props3.player,
|
|
195
|
+
currentTime = _this$props3$player.currentTime,
|
|
196
|
+
seekingTime = _this$props3$player.seekingTime,
|
|
197
|
+
duration = _this$props3$player.duration,
|
|
198
|
+
isFullscreen = _this$props3$player.isFullscreen,
|
|
199
|
+
controlType = _this$props3.controlType,
|
|
200
|
+
playerType = _this$props3.playerType,
|
|
201
|
+
tagsMarker = _this$props3.tagsMarker,
|
|
202
|
+
assetType = _this$props3.assetType,
|
|
203
|
+
zoom = _this$props3.zoom;
|
|
204
|
+
var time = seekingTime || currentTime;
|
|
205
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
206
|
+
id: "seekbarss"
|
|
207
|
+
}, /*#__PURE__*/_react["default"].createElement(_MarkerBar["default"], _extends({}, this.props, {
|
|
208
|
+
zoom: zoom
|
|
209
|
+
})), tagsMarker && tagsMarker.length ? /*#__PURE__*/_react["default"].createElement(_TagsBar["default"], this.props) : null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
171
210
|
onMouseDown: this.handleMouseDown,
|
|
172
211
|
onMouseMove: this.handleMouseMove,
|
|
173
212
|
onMouseUp: this.handleMouseUp
|
|
174
|
-
}, /*#__PURE__*/_react["default"].createElement(SliderBlock, null, /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
213
|
+
}, /*#__PURE__*/_react["default"].createElement(SliderBlock, null, /*#__PURE__*/_react["default"].createElement(_Slider["default"], _extends({}, this.props, {
|
|
175
214
|
ref: function ref(input) {
|
|
176
215
|
_this2.slider = input;
|
|
177
216
|
},
|
|
178
217
|
label: "video progress bar",
|
|
179
218
|
valuenow: (this.getPercent() * 100).toFixed(2),
|
|
180
|
-
valuetext: (0, _utils.formatTime)(time, duration
|
|
219
|
+
valuetext: (0, _utils.formatTime)(time, duration)
|
|
181
220
|
// onMouseDown={this.handleMouseDown}
|
|
182
221
|
// onMouseMove={this.handleMouseMove}
|
|
183
222
|
// onMouseUp={this.handleMouseUp}
|
|
@@ -185,12 +224,15 @@ var SeekBar = /*#__PURE__*/function (_Component) {
|
|
|
185
224
|
getPercent: this.getPercent,
|
|
186
225
|
stepForward: this.stepForward,
|
|
187
226
|
stepBack: this.stepBack
|
|
188
|
-
}, /*#__PURE__*/_react["default"].createElement(_PlayProgressBar["default"], _extends({
|
|
227
|
+
}), /*#__PURE__*/_react["default"].createElement(_PlayProgressBar["default"], _extends({
|
|
189
228
|
currentTime: time,
|
|
190
|
-
duration: duration
|
|
229
|
+
duration: duration,
|
|
191
230
|
playerType: playerType,
|
|
192
231
|
assetType: assetType
|
|
193
232
|
}, this.props)))), controlType === 'advanced' && !isFullscreen ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(AdvancedControlBlock, null, /*#__PURE__*/_react["default"].createElement(_Timeline["default"], _extends({}, this.props, {
|
|
233
|
+
scrollSeekBar: function scrollSeekBar() {
|
|
234
|
+
_this2.scrollToSeekbarMiddle();
|
|
235
|
+
},
|
|
194
236
|
ref: function ref(c) {
|
|
195
237
|
_this2.timeline = c;
|
|
196
238
|
}
|
|
@@ -199,6 +241,5 @@ var SeekBar = /*#__PURE__*/function (_Component) {
|
|
|
199
241
|
}]);
|
|
200
242
|
return SeekBar;
|
|
201
243
|
}(_react.Component);
|
|
202
|
-
exports["default"] = SeekBar;
|
|
203
244
|
SeekBar.displayName = 'SeekBar';
|
|
204
245
|
SeekBar.propTypes = propTypes;
|
|
@@ -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,37 +10,38 @@ var _reactDom = require("react-dom");
|
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _propTypes = require("prop-types");
|
|
12
12
|
var _components = require("@desynova-digital/components");
|
|
13
|
-
var _utils = require("
|
|
13
|
+
var _utils = require("../../utils");
|
|
14
14
|
var _templateObject;
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
|
-
function _getRequireWildcardCache(
|
|
17
|
-
function _interopRequireWildcard(
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
18
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19
19
|
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); } }
|
|
20
20
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
21
|
-
function _toPropertyKey(
|
|
22
|
-
function _toPrimitive(
|
|
23
|
-
function
|
|
24
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
25
|
-
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); }; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
22
|
+
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); }
|
|
23
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
26
24
|
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); }
|
|
27
|
-
function
|
|
28
|
-
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; } }
|
|
25
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
29
26
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
27
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
28
|
+
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); }
|
|
29
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
30
30
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
31
31
|
var propTypes = {
|
|
32
32
|
player: _propTypes.PropTypes.instanceOf(Object),
|
|
33
33
|
initialTime: _propTypes.PropTypes.number,
|
|
34
34
|
frameRate: _propTypes.PropTypes.number
|
|
35
35
|
};
|
|
36
|
-
var TimelineBlock = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0;\n .player-time {\n width: 100%;\n position: relative;\n height: 46px;\n user-select: none;\n &:first-child {\n p {\n left: 0px;\n }\n }\n &:last-child {\n
|
|
37
|
-
|
|
36
|
+
var TimelineBlock = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0;\n width: ", ";\n .player-time {\n width: 100%;\n :not(:last-child) {\n min-width: 100px;\n }\n position: relative;\n height: 46px;\n user-select: none;\n &:first-child {\n p {\n left: 0px;\n }\n }\n &:last-child {\n flex-grow: 1;\n ", " {\n display: none;\n }\n p {\n left: auto;\n right: 0px;\n }\n }\n ", " {\n position: absolute;\n left: 0;\n bottom: 0;\n }\n p {\n color: #aaa;\n font-size: 10px;\n font-family: SFUIText-Regular;\n left: -28px;\n top: 10px;\n letter-spacing: 0.5px;\n position: absolute;\n user-select: none;\n }\n }\n"])), function (props) {
|
|
37
|
+
return props.maxWidth ? props.maxWidth : '';
|
|
38
|
+
}, _components.Icon.Element, _components.Icon.Element);
|
|
39
|
+
var Timeline = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
38
40
|
_inherits(Timeline, _Component);
|
|
39
|
-
var _super = _createSuper(Timeline);
|
|
40
41
|
function Timeline(props, context) {
|
|
41
42
|
var _this;
|
|
42
43
|
_classCallCheck(this, Timeline);
|
|
43
|
-
_this =
|
|
44
|
+
_this = _callSuper(this, Timeline, [props, context]);
|
|
44
45
|
_this.state = {
|
|
45
46
|
timeArray: []
|
|
46
47
|
};
|
|
@@ -54,45 +55,56 @@ var Timeline = /*#__PURE__*/function (_Component) {
|
|
|
54
55
|
}
|
|
55
56
|
}, {
|
|
56
57
|
key: "componentDidUpdate",
|
|
57
|
-
value: function componentDidUpdate(prevProps
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
value: function componentDidUpdate(prevProps) {
|
|
59
|
+
var _this$props = this.props,
|
|
60
|
+
scrollSeekBar = _this$props.scrollSeekBar,
|
|
61
|
+
zoom = _this$props.zoom;
|
|
62
|
+
if (prevProps.zoom !== zoom) scrollSeekBar && scrollSeekBar();
|
|
62
63
|
}
|
|
63
64
|
}, {
|
|
64
65
|
key: "generateTimeline",
|
|
65
|
-
value: function generateTimeline() {
|
|
66
|
-
var
|
|
66
|
+
value: function generateTimeline(zoomFactor) {
|
|
67
|
+
var player = this.props.player;
|
|
67
68
|
var timelineBlock = (0, _reactDom.findDOMNode)(this.timelineBlock);
|
|
68
69
|
var perTimeWidth = 100;
|
|
69
|
-
var sliderWidth =
|
|
70
|
+
var sliderWidth = 0;
|
|
71
|
+
if (zoomFactor > 0) {
|
|
72
|
+
sliderWidth = (document.getElementById('seekbar-control-block').clientWidth * zoomFactor * 20).toFixed(0);
|
|
73
|
+
} else {
|
|
74
|
+
sliderWidth = document.getElementById('seekbar-control-block').clientWidth.toFixed(0);
|
|
75
|
+
}
|
|
70
76
|
var timeBlocks = parseInt(sliderWidth / perTimeWidth, 10);
|
|
71
|
-
var timeDistance = parseInt(
|
|
77
|
+
var timeDistance = parseInt(player.duration / timeBlocks, 10);
|
|
72
78
|
var timeArray = [0];
|
|
73
79
|
for (var i = 0; i < timeBlocks; i++) {
|
|
74
80
|
var lastValue = timeArray[timeArray.length - 1];
|
|
75
81
|
var currentTime = lastValue + timeDistance;
|
|
76
|
-
if (currentTime + timeDistance <
|
|
82
|
+
if (currentTime + timeDistance < player.duration) {
|
|
77
83
|
timeArray.push(currentTime);
|
|
78
84
|
} else {
|
|
79
|
-
timeArray.push(
|
|
85
|
+
timeArray.push(player.duration);
|
|
80
86
|
break;
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
this.setState({
|
|
84
|
-
timeArray: timeArray
|
|
90
|
+
timeArray: timeArray,
|
|
91
|
+
zoom: zoomFactor,
|
|
92
|
+
maxWidth: sliderWidth + 'px'
|
|
85
93
|
});
|
|
86
94
|
}
|
|
87
95
|
}, {
|
|
88
96
|
key: "render",
|
|
89
97
|
value: function render() {
|
|
90
98
|
var _this2 = this;
|
|
91
|
-
var _this$
|
|
92
|
-
initialTime = _this$
|
|
93
|
-
frameRate = _this$
|
|
94
|
-
var
|
|
99
|
+
var _this$props2 = this.props,
|
|
100
|
+
initialTime = _this$props2.initialTime,
|
|
101
|
+
frameRate = _this$props2.frameRate;
|
|
102
|
+
var _this$state = this.state,
|
|
103
|
+
timeArray = _this$state.timeArray,
|
|
104
|
+
maxWidth = _this$state.maxWidth;
|
|
95
105
|
return /*#__PURE__*/_react["default"].createElement(TimelineBlock, {
|
|
106
|
+
id: "timeline-block",
|
|
107
|
+
maxWidth: maxWidth,
|
|
96
108
|
ref: function ref(c) {
|
|
97
109
|
_this2.timelineBlock = c;
|
|
98
110
|
}
|
|
@@ -113,6 +125,5 @@ var Timeline = /*#__PURE__*/function (_Component) {
|
|
|
113
125
|
}]);
|
|
114
126
|
return Timeline;
|
|
115
127
|
}(_react.Component);
|
|
116
|
-
exports["default"] = Timeline;
|
|
117
128
|
Timeline.propTypes = propTypes;
|
|
118
129
|
Timeline.displayName = 'Timeline';
|