@desynova-digital/player 4.0.9 → 4.0.11
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/actions/player.js +22 -1
- package/components/Video.js +5 -2
- package/components/control-bar/CaptionControlMenuButton.js +101 -0
- package/components/control-bar/ControlBar.js +26 -7
- package/components/control-bar/SettingsMenuButton.js +10 -3
- package/components/settings-menu-control/ChildMenuComponent.js +231 -0
- package/components/settings-menu-control/ParentMenuComponent.js +89 -0
- package/components/settings-menu-control/SettingsMenu.js +67 -4
- package/package.json +3 -3
- package/reducers/player.js +12 -0
package/actions/player.js
CHANGED
|
@@ -3,19 +3,21 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ZOOM_CHANGE = exports.USER_ACTIVATE = exports.SD_BORDER_SWITCH = exports.REWIND_VIDEO = exports.PREVIEW_VIDEO = exports.PLAYER_TYPE = exports.PLAYER_ACTIVATE = exports.OPERATE = exports.MARKER_UPDATE = exports.MARKER_POINT_CHANGE = exports.MARKER_CREATE = exports.FULLSCREEN_CHANGE = exports.CONTROL_TYPE = exports.AUDIO_TRACKS = exports.ACTIVE_AUDIO_TRACK = void 0;
|
|
6
|
+
exports.ZOOM_CHANGE = exports.USER_ACTIVATE = exports.SUBTITLE_STATUS = exports.SD_BORDER_SWITCH = exports.REWIND_VIDEO = exports.PREVIEW_VIDEO = exports.PLAYER_TYPE = exports.PLAYER_ACTIVATE = exports.OPERATE = exports.MARKER_UPDATE = exports.MARKER_POINT_CHANGE = exports.MARKER_CREATE = exports.FULLSCREEN_CHANGE = exports.CONTROL_TYPE = exports.AUDIO_TRACKS = exports.ACTIVE_CAPTION_TRACK = exports.ACTIVE_AUDIO_TRACK = void 0;
|
|
7
7
|
exports.activate = activate;
|
|
8
8
|
exports.changeRate = changeRate;
|
|
9
9
|
exports.changeVolume = changeVolume;
|
|
10
10
|
exports.forward = forward;
|
|
11
11
|
exports.handleAudioTrackChange = handleAudioTrackChange;
|
|
12
12
|
exports.handleAudioTracks = handleAudioTracks;
|
|
13
|
+
exports.handleCaptionTrackChange = handleCaptionTrackChange;
|
|
13
14
|
exports.handleControlType = handleControlType;
|
|
14
15
|
exports.handleFullscreenChange = handleFullscreenChange;
|
|
15
16
|
exports.handleMarkerPointChange = handleMarkerPointChange;
|
|
16
17
|
exports.handleMarkerUpdate = handleMarkerUpdate;
|
|
17
18
|
exports.handlePlayerType = handlePlayerType;
|
|
18
19
|
exports.handleSDBorderChange = handleSDBorderChange;
|
|
20
|
+
exports.handleSubtitleStatus = handleSubtitleStatus;
|
|
19
21
|
exports.handleVideoPreview = handleVideoPreview;
|
|
20
22
|
exports.handleVideoRewind = handleVideoRewind;
|
|
21
23
|
exports.handleZoomChange = handleZoomChange;
|
|
@@ -44,6 +46,8 @@ var PREVIEW_VIDEO = exports.PREVIEW_VIDEO = 'video-react/PREVIEW_VIDEO';
|
|
|
44
46
|
var REWIND_VIDEO = exports.REWIND_VIDEO = 'video-react/REWIND_VIDEO';
|
|
45
47
|
var AUDIO_TRACKS = exports.AUDIO_TRACKS = 'video-react/AUDIO_TRACKS';
|
|
46
48
|
var ACTIVE_AUDIO_TRACK = exports.ACTIVE_AUDIO_TRACK = 'video-react/ACTIVE_AUDIO_TRACK';
|
|
49
|
+
var ACTIVE_CAPTION_TRACK = exports.ACTIVE_CAPTION_TRACK = 'video-react/ACTIVE_CAPTION_TRACK';
|
|
50
|
+
var SUBTITLE_STATUS = exports.SUBTITLE_STATUS = 'video-react/SUBTITLE_STATUS';
|
|
47
51
|
function handleFullscreenChange(isFullscreen) {
|
|
48
52
|
return {
|
|
49
53
|
type: FULLSCREEN_CHANGE,
|
|
@@ -221,6 +225,13 @@ function handleAudioTracks(tracks) {
|
|
|
221
225
|
tracks: tracks
|
|
222
226
|
};
|
|
223
227
|
}
|
|
228
|
+
// used to update the value of caption state
|
|
229
|
+
function handleCaptionTrackChange(caption) {
|
|
230
|
+
return {
|
|
231
|
+
type: ACTIVE_CAPTION_TRACK,
|
|
232
|
+
caption: caption
|
|
233
|
+
};
|
|
234
|
+
}
|
|
224
235
|
function handleAudioTrackChange(track) {
|
|
225
236
|
return {
|
|
226
237
|
type: ACTIVE_AUDIO_TRACK,
|
|
@@ -328,4 +339,14 @@ function handleSDBorderChange(SDBorderActive) {
|
|
|
328
339
|
SDBorderActive: SDBorderActive
|
|
329
340
|
};
|
|
330
341
|
return data;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// used to manage state for captionControlMenuButton
|
|
345
|
+
|
|
346
|
+
function handleSubtitleStatus(SubtitleStatus) {
|
|
347
|
+
var data = {
|
|
348
|
+
type: SUBTITLE_STATUS,
|
|
349
|
+
SubtitleStatus: SubtitleStatus
|
|
350
|
+
};
|
|
351
|
+
return data;
|
|
331
352
|
}
|
package/components/Video.js
CHANGED
|
@@ -1137,12 +1137,15 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
|
1137
1137
|
videoId = _this$props31.videoId,
|
|
1138
1138
|
fileType = _this$props31.fileType,
|
|
1139
1139
|
userEmail = _this$props31.userEmail,
|
|
1140
|
-
theme = _this$props31.theme
|
|
1140
|
+
theme = _this$props31.theme,
|
|
1141
|
+
player = _this$props31.player,
|
|
1142
|
+
playerType = _this$props31.playerType;
|
|
1141
1143
|
var _this$state2 = this.state,
|
|
1142
1144
|
isBuffering = _this$state2.isBuffering,
|
|
1143
1145
|
watermark = _this$state2.watermark,
|
|
1144
1146
|
currentSubtitleObj = _this$state2.currentSubtitleObj;
|
|
1145
1147
|
var children = this.getChildren(this.props);
|
|
1148
|
+
var isSubtitleActive = player.SubtitleStatus || playerType !== "default";
|
|
1146
1149
|
return /*#__PURE__*/_react["default"].createElement(VideoBlock, {
|
|
1147
1150
|
className: "video-react-player-block",
|
|
1148
1151
|
ref: function ref(c) {
|
|
@@ -1243,7 +1246,7 @@ var Video = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
|
1243
1246
|
className: "user-name-wrapper",
|
|
1244
1247
|
id: "watermark-text",
|
|
1245
1248
|
style: _objectSpread({}, watermark)
|
|
1246
|
-
}, userEmail), /*#__PURE__*/_react["default"].createElement(SubTitleSection, {
|
|
1249
|
+
}, userEmail), isSubtitleActive && /*#__PURE__*/_react["default"].createElement(SubTitleSection, {
|
|
1247
1250
|
id: "outer",
|
|
1248
1251
|
currentSubtitleObj: currentSubtitleObj,
|
|
1249
1252
|
onClick: function onClick() {
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
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
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = require("prop-types");
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _components = require("@desynova-digital/components");
|
|
12
|
+
var _tokens = require("@desynova-digital/tokens");
|
|
13
|
+
var _templateObject;
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18
|
+
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); } }
|
|
19
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
20
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
21
|
+
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); }
|
|
22
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
23
|
+
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); }
|
|
24
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
26
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
27
|
+
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); }
|
|
28
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
29
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
30
|
+
var CaptionControlButtonIcon = _styledComponents["default"].button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline;\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n cursor: pointer;\n"])));
|
|
31
|
+
var propTypes = {
|
|
32
|
+
actions: _propTypes.PropTypes.instanceOf(Object),
|
|
33
|
+
player: _propTypes.PropTypes.instanceOf(Object),
|
|
34
|
+
theme: _propTypes.PropTypes.string
|
|
35
|
+
};
|
|
36
|
+
var CaptionControlMenuButton = /*#__PURE__*/function (_Component) {
|
|
37
|
+
_inherits(CaptionControlMenuButton, _Component);
|
|
38
|
+
function CaptionControlMenuButton(props, context) {
|
|
39
|
+
var _this;
|
|
40
|
+
_classCallCheck(this, CaptionControlMenuButton);
|
|
41
|
+
_this = _callSuper(this, CaptionControlMenuButton, [props, context]);
|
|
42
|
+
_this.statusHandle = _this.statusHandle.bind(_assertThisInitialized(_this));
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* This function is used to to change the state responsible forshowing subtitle and not showing subtitle
|
|
47
|
+
*/
|
|
48
|
+
_createClass(CaptionControlMenuButton, [{
|
|
49
|
+
key: "statusHandle",
|
|
50
|
+
value: function statusHandle() {
|
|
51
|
+
var _this$props = this.props,
|
|
52
|
+
SubtitleStatus = _this$props.player.SubtitleStatus,
|
|
53
|
+
actions = _this$props.actions;
|
|
54
|
+
if (SubtitleStatus) {
|
|
55
|
+
actions.handleSubtitleStatus(false);
|
|
56
|
+
} else {
|
|
57
|
+
actions.handleSubtitleStatus(true);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* This sets the default value of subtitle to the first value of subtitleData
|
|
63
|
+
*/
|
|
64
|
+
}, {
|
|
65
|
+
key: "componentDidMount",
|
|
66
|
+
value: function componentDidMount() {
|
|
67
|
+
var _this$props2 = this.props,
|
|
68
|
+
subtitleData = _this$props2.subtitleData,
|
|
69
|
+
actions = _this$props2.actions,
|
|
70
|
+
filterSelectedSubtitle = _this$props2.filterSelectedSubtitle,
|
|
71
|
+
playerType = _this$props2.playerType,
|
|
72
|
+
player = _this$props2.player;
|
|
73
|
+
if (subtitleData && subtitleData.length && player.activeCaption === 'Off' && playerType === 'default') {
|
|
74
|
+
actions.handleCaptionTrackChange(subtitleData[0].title);
|
|
75
|
+
filterSelectedSubtitle(subtitleData[0].subtitle_info_id);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "render",
|
|
80
|
+
value: function render() {
|
|
81
|
+
var _this$props3 = this.props,
|
|
82
|
+
SubtitleStatus = _this$props3.player.SubtitleStatus,
|
|
83
|
+
theme = _this$props3.theme,
|
|
84
|
+
subtitleData = _this$props3.subtitleData;
|
|
85
|
+
return subtitleData && subtitleData.length ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
86
|
+
style: {
|
|
87
|
+
marginRight: '10px'
|
|
88
|
+
}
|
|
89
|
+
}, /*#__PURE__*/_react["default"].createElement(CaptionControlButtonIcon, {
|
|
90
|
+
onClick: this.statusHandle
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
|
|
92
|
+
name: "content-control",
|
|
93
|
+
color: SubtitleStatus ? _tokens.colors[theme].label.text : '#AFB2BA',
|
|
94
|
+
width: 18,
|
|
95
|
+
height: 16
|
|
96
|
+
}))) : null;
|
|
97
|
+
}
|
|
98
|
+
}]);
|
|
99
|
+
return CaptionControlMenuButton;
|
|
100
|
+
}(_react.Component);
|
|
101
|
+
var _default = exports["default"] = CaptionControlMenuButton;
|
|
@@ -22,6 +22,7 @@ var _utils = require("../../utils");
|
|
|
22
22
|
var _MarkingControl = _interopRequireDefault(require("../marking-controls/MarkingControl"));
|
|
23
23
|
var _SubtitleLanguagesMenuButton = _interopRequireDefault(require("./SubtitleLanguagesMenuButton"));
|
|
24
24
|
var _CameraButton = _interopRequireDefault(require("./CameraButton"));
|
|
25
|
+
var _CaptionControlMenuButton = _interopRequireDefault(require("./CaptionControlMenuButton"));
|
|
25
26
|
var _SubtitleMovementMenu = _interopRequireDefault(require("./SubtitleMovementMenu"));
|
|
26
27
|
var _ZoomMenuButton = _interopRequireDefault(require("./ZoomMenuButton"));
|
|
27
28
|
var _colors = _interopRequireDefault(require("../../colors"));
|
|
@@ -126,9 +127,17 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
|
126
127
|
}, this.props, {
|
|
127
128
|
key: "volume-menu-button",
|
|
128
129
|
order: 7
|
|
129
|
-
})),
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
})),
|
|
131
|
+
/*#__PURE__*/
|
|
132
|
+
// <SubtitleLanguagesMenuButton
|
|
133
|
+
// {...this.props}
|
|
134
|
+
// key="subtitle-menu-button"
|
|
135
|
+
// order={7}
|
|
136
|
+
// />,
|
|
137
|
+
_react["default"].createElement(_CaptionControlMenuButton["default"], _extends({}, this.props, {
|
|
138
|
+
order: 7,
|
|
139
|
+
playerType: playerType,
|
|
140
|
+
key: "caption-control-menu-button"
|
|
132
141
|
})), /*#__PURE__*/_react["default"].createElement(_AudioTracksMenuButton["default"], _extends({}, this.props, {
|
|
133
142
|
key: "audio-tracks-menu-button",
|
|
134
143
|
order: 7
|
|
@@ -201,10 +210,20 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
|
201
210
|
}, this.props, {
|
|
202
211
|
key: "volume-menu-button",
|
|
203
212
|
order: 8
|
|
204
|
-
})),
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
213
|
+
})),
|
|
214
|
+
/*#__PURE__*/
|
|
215
|
+
// <SubtitleLanguagesMenuButton
|
|
216
|
+
// {...this.props}
|
|
217
|
+
// key="subtitle-menu-button"
|
|
218
|
+
// order={8}
|
|
219
|
+
// />,
|
|
220
|
+
// <CaptionControlMenuButton
|
|
221
|
+
// {...this.props}
|
|
222
|
+
// order={8}
|
|
223
|
+
// playerType={playerType}
|
|
224
|
+
// key="caption-control-menu-button"
|
|
225
|
+
// />,
|
|
226
|
+
_react["default"].createElement(_CameraButton["default"], {
|
|
208
227
|
order: 9,
|
|
209
228
|
playerType: playerType
|
|
210
229
|
}), /*#__PURE__*/_react["default"].createElement(_SubtitleMovementMenu["default"], _extends({}, this.props, {
|
|
@@ -8,7 +8,11 @@ var _propTypes = require("prop-types");
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _Menu = _interopRequireDefault(require("../Menu"));
|
|
10
10
|
var _SettingsMenu = _interopRequireDefault(require("../settings-menu-control/SettingsMenu"));
|
|
11
|
+
var _excluded = ["style", "player", "actions", "disablePlayerActions", "theme", "playerType", "subtitleData"];
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
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); }
|
|
14
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
15
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
16
|
var propTypes = {
|
|
13
17
|
player: _propTypes.PropTypes.instanceOf(Object),
|
|
14
18
|
actions: _propTypes.PropTypes.instanceOf(Object),
|
|
@@ -24,7 +28,9 @@ function SettingsMenuButton(_ref) {
|
|
|
24
28
|
_ref$disablePlayerAct = _ref.disablePlayerActions,
|
|
25
29
|
disablePlayerActions = _ref$disablePlayerAct === void 0 ? [] : _ref$disablePlayerAct,
|
|
26
30
|
theme = _ref.theme,
|
|
27
|
-
playerType = _ref.playerType
|
|
31
|
+
playerType = _ref.playerType,
|
|
32
|
+
subtitleData = _ref.subtitleData,
|
|
33
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
28
34
|
return /*#__PURE__*/_react["default"].createElement(_Menu["default"], {
|
|
29
35
|
theme: theme,
|
|
30
36
|
icon: "settings",
|
|
@@ -32,13 +38,14 @@ function SettingsMenuButton(_ref) {
|
|
|
32
38
|
player: player,
|
|
33
39
|
actions: actions,
|
|
34
40
|
style: style
|
|
35
|
-
}, /*#__PURE__*/_react["default"].createElement(_SettingsMenu["default"], {
|
|
41
|
+
}, /*#__PURE__*/_react["default"].createElement(_SettingsMenu["default"], _extends({}, props, {
|
|
36
42
|
theme: theme,
|
|
37
43
|
player: player,
|
|
38
44
|
actions: actions,
|
|
39
45
|
disablePlayerActions: disablePlayerActions,
|
|
46
|
+
subtitleData: subtitleData,
|
|
40
47
|
playerType: playerType
|
|
41
|
-
}));
|
|
48
|
+
})));
|
|
42
49
|
}
|
|
43
50
|
SettingsMenuButton.propTypes = propTypes;
|
|
44
51
|
SettingsMenuButton.displayName = 'SettingsMenuButton';
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
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
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _propTypes = require("prop-types");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _components = require("@desynova-digital/components");
|
|
12
|
+
var _tokens = require("@desynova-digital/tokens");
|
|
13
|
+
var _templateObject, _templateObject2;
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18
|
+
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); } }
|
|
19
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
20
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
21
|
+
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); }
|
|
22
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
23
|
+
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); }
|
|
24
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
26
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
27
|
+
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); }
|
|
28
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
29
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
30
|
+
var propTypes = {
|
|
31
|
+
actions: _propTypes.PropTypes.instanceOf(Object),
|
|
32
|
+
player: _propTypes.PropTypes.instanceOf(Object),
|
|
33
|
+
theme: _propTypes.PropTypes.string,
|
|
34
|
+
subtitleData: _propTypes.PropTypes.instanceOf(Object),
|
|
35
|
+
mainHeader: _propTypes.PropTypes.string,
|
|
36
|
+
iconName: _propTypes.PropTypes.string,
|
|
37
|
+
handleStatus: _propTypes.PropTypes.func,
|
|
38
|
+
handleValueChange: _propTypes.PropTypes.func,
|
|
39
|
+
activeChild: _propTypes.PropTypes.string
|
|
40
|
+
};
|
|
41
|
+
var IconButtonStyles = (0, _styledComponents["default"])(_components.Button)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border: none;\n pointer-events: stroke;\n background-color: ", ";\n svg{\n path{\n fill: ", " !important;\n }\n }\n &:hover,\n &:focus,\n &:active {\n border: none;\n // background-color: ", ";\n border-radius: ", ";\n svg {\n path {\n fill: ", " !important;\n }\n }\n }\n"])), function (props) {
|
|
42
|
+
return props.backgroundColor;
|
|
43
|
+
}, function (_ref) {
|
|
44
|
+
var svgFillDefault = _ref.svgFillDefault;
|
|
45
|
+
return svgFillDefault;
|
|
46
|
+
}, function (props) {
|
|
47
|
+
return props.hoverBackgroundColor;
|
|
48
|
+
}, function (props) {
|
|
49
|
+
return props.borderRadius ? props.borderRadius : 'none';
|
|
50
|
+
}, function (_ref2) {
|
|
51
|
+
var hoverColor = _ref2.hoverColor;
|
|
52
|
+
return hoverColor;
|
|
53
|
+
});
|
|
54
|
+
var MainMenuBlock = (0, _styledComponents["default"])('div')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-bottom: 1px solid #eeeeee;\n display: flex;\n text-align: left;\n background: transparent;\n cursor: pointer;\n align-items: center; // Ensure alignment of children vertically\n justify-content: space-between; // Spreads out the children across the main axis\n &:last-child {\n border: none;\n }\n &:hover,\n &:focus {\n background: ", ";\n }\n p {\n font-size: 12px;\n line-height: 12px;\n padding-top: 17px;\n padding-bottom: 12px;\n padding-left: 14px;\n padding-right: 18px;\n margin: 0;\n font-family: SFUIText-Medium;\n white-space: nowrap;\n }\n .icon-wrapper-left {\n margin: 0;\n padding-top: 17px;\n padding-bottom: 12px;\n padding-left: 15px;\n padding-right: 0;\n }\n .icon-wrapper {\n margin: 0;\n padding-top: 12px;\n padding-bottom: 8px;\n margin-left: auto; // Automatically pushes the element to the right\n margin-right: 20px; // Maintains 20px distance from the right edge\n }\n"])), function (props) {
|
|
55
|
+
return props.theme ? " ".concat(_tokens.colors[props.theme].videoPlayer.rgbaThemeColor) : 'rgba(0, 206, 198, 0.1)';
|
|
56
|
+
});
|
|
57
|
+
var ChildMenuButton = /*#__PURE__*/function (_Component) {
|
|
58
|
+
_inherits(ChildMenuButton, _Component);
|
|
59
|
+
function ChildMenuButton(props, context) {
|
|
60
|
+
var _this;
|
|
61
|
+
_classCallCheck(this, ChildMenuButton);
|
|
62
|
+
_this = _callSuper(this, ChildMenuButton, [props, context]);
|
|
63
|
+
_this.changeCaption = _this.changeCaption.bind(_assertThisInitialized(_this));
|
|
64
|
+
_this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));
|
|
65
|
+
_this.stopCaption = _this.stopCaption.bind(_assertThisInitialized(_this));
|
|
66
|
+
_this.renderContentByHeader = _this.renderContentByHeader.bind(_assertThisInitialized(_this));
|
|
67
|
+
return _this;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* This function is used to change the state used to stop subtitles and also change the value of subtitle to be off
|
|
71
|
+
*/
|
|
72
|
+
_createClass(ChildMenuButton, [{
|
|
73
|
+
key: "stopCaption",
|
|
74
|
+
value: function stopCaption() {
|
|
75
|
+
var _this$props = this.props,
|
|
76
|
+
actions = _this$props.actions,
|
|
77
|
+
handleStatus = _this$props.handleStatus,
|
|
78
|
+
mainHeader = _this$props.mainHeader;
|
|
79
|
+
if (mainHeader === 'Subtitle') {
|
|
80
|
+
actions.handleSubtitleStatus(false);
|
|
81
|
+
}
|
|
82
|
+
handleStatus();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @param {string} value this is the value that we will be stored in our state and also call function used to change subtitle shown in our player
|
|
87
|
+
*/
|
|
88
|
+
}, {
|
|
89
|
+
key: "changeCaption",
|
|
90
|
+
value: function changeCaption(value) {
|
|
91
|
+
var _this$props2 = this.props,
|
|
92
|
+
actions = _this$props2.actions,
|
|
93
|
+
handleValueChange = _this$props2.handleValueChange,
|
|
94
|
+
filterSelectedSubtitle = _this$props2.filterSelectedSubtitle,
|
|
95
|
+
handleStatus = _this$props2.handleStatus,
|
|
96
|
+
mainHeader = _this$props2.mainHeader;
|
|
97
|
+
if (mainHeader === 'Subtitle') {
|
|
98
|
+
actions.handleSubtitleStatus(true);
|
|
99
|
+
filterSelectedSubtitle(value.subtitle_info_id);
|
|
100
|
+
handleValueChange(value.title);
|
|
101
|
+
}
|
|
102
|
+
handleStatus();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* This function is used to change the states that are responsible for showing settings menu or subtitle menu.
|
|
107
|
+
*/
|
|
108
|
+
}, {
|
|
109
|
+
key: "handleChange",
|
|
110
|
+
value: function handleChange() {
|
|
111
|
+
var handleStatus = this.props.handleStatus;
|
|
112
|
+
handleStatus();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
*
|
|
117
|
+
* @returns This function returns the mapping of children according to the value of mainHeader props
|
|
118
|
+
*/
|
|
119
|
+
}, {
|
|
120
|
+
key: "renderContentByHeader",
|
|
121
|
+
value: function renderContentByHeader() {
|
|
122
|
+
var _this2 = this;
|
|
123
|
+
var _this$props3 = this.props,
|
|
124
|
+
mainHeader = _this$props3.mainHeader,
|
|
125
|
+
subtitleData = _this$props3.subtitleData,
|
|
126
|
+
theme = _this$props3.theme,
|
|
127
|
+
player = _this$props3.player,
|
|
128
|
+
activeChild = _this$props3.activeChild;
|
|
129
|
+
switch (mainHeader) {
|
|
130
|
+
case 'Subtitle':
|
|
131
|
+
return subtitleData.map(function (subtitle, index) {
|
|
132
|
+
return /*#__PURE__*/_react["default"].createElement(MainMenuBlock, {
|
|
133
|
+
theme: theme,
|
|
134
|
+
onClick: function onClick() {
|
|
135
|
+
return _this2.changeCaption(subtitle);
|
|
136
|
+
},
|
|
137
|
+
role: "presentation",
|
|
138
|
+
key: index,
|
|
139
|
+
style: activeChild && activeChild === subtitle.title ? {
|
|
140
|
+
pointerEvents: 'none'
|
|
141
|
+
} : null
|
|
142
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
143
|
+
className: "icon-wrapper-left"
|
|
144
|
+
}), /*#__PURE__*/_react["default"].createElement("p", {
|
|
145
|
+
style: activeChild && activeChild === subtitle.title ? {
|
|
146
|
+
color: theme ? " ".concat(_tokens.colors[theme].videoPlayer.themeColor) : '#00cec6',
|
|
147
|
+
pointerEvents: 'none'
|
|
148
|
+
} : {
|
|
149
|
+
color: '#333333'
|
|
150
|
+
}
|
|
151
|
+
}, subtitle.title), subtitle.srt_file_name && /*#__PURE__*/_react["default"].createElement("div", {
|
|
152
|
+
className: "icon-wrapper"
|
|
153
|
+
}, /*#__PURE__*/_react["default"].createElement(IconButtonStyles, {
|
|
154
|
+
display: "rounded",
|
|
155
|
+
appearance: "cta",
|
|
156
|
+
icon: "download",
|
|
157
|
+
iconWidth: 14,
|
|
158
|
+
iconHeight: 14,
|
|
159
|
+
width: 22,
|
|
160
|
+
height: 22,
|
|
161
|
+
hoverColor: "#FFFFFF",
|
|
162
|
+
hoverBackgroundColor: theme ? "".concat(_tokens.colors[theme].videoPlayer.themeColor) : '#00cec6',
|
|
163
|
+
backgroundColor: activeChild && activeChild === subtitle.title ? theme ? "".concat(_tokens.colors[theme].videoPlayer.themeColor) : '#00cec6' : 'rgb(51,51,51,0.1)',
|
|
164
|
+
svgFillDefault: activeChild && activeChild === subtitle.title ? '#FFFFFF' : 'rgb(51,51,51)',
|
|
165
|
+
borderRadius: "50%",
|
|
166
|
+
onClick: function onClick(e) {
|
|
167
|
+
console.log('icon clicked1');
|
|
168
|
+
window.open(subtitle.srt_file_name, '_blank');
|
|
169
|
+
e.stopPropagation();
|
|
170
|
+
}
|
|
171
|
+
})));
|
|
172
|
+
});
|
|
173
|
+
case 'PlayBack Speed':
|
|
174
|
+
return; /* JSX for Audio */
|
|
175
|
+
default:
|
|
176
|
+
return /*#__PURE__*/_react["default"].createElement("p", null, "Unsupported type: ", mainHeader);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}, {
|
|
180
|
+
key: "render",
|
|
181
|
+
value: function render() {
|
|
182
|
+
var _this3 = this;
|
|
183
|
+
var _this$props4 = this.props,
|
|
184
|
+
player = _this$props4.player,
|
|
185
|
+
theme = _this$props4.theme,
|
|
186
|
+
mainHeader = _this$props4.mainHeader,
|
|
187
|
+
iconName = _this$props4.iconName,
|
|
188
|
+
stop = _this$props4.stop,
|
|
189
|
+
activeChild = _this$props4.activeChild;
|
|
190
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(MainMenuBlock, {
|
|
191
|
+
theme: theme,
|
|
192
|
+
onClick: function onClick() {
|
|
193
|
+
return _this3.handleChange();
|
|
194
|
+
},
|
|
195
|
+
role: "presentation"
|
|
196
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
197
|
+
className: "icon-wrapper-left"
|
|
198
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
|
|
199
|
+
name: "child-close-button",
|
|
200
|
+
color: '#121D29'
|
|
201
|
+
})), /*#__PURE__*/_react["default"].createElement("p", null, mainHeader), /*#__PURE__*/_react["default"].createElement("div", {
|
|
202
|
+
className: "icon-wrapper"
|
|
203
|
+
})), stop && /*#__PURE__*/_react["default"].createElement(MainMenuBlock, {
|
|
204
|
+
theme: theme,
|
|
205
|
+
onClick: function onClick() {
|
|
206
|
+
return _this3.stopCaption();
|
|
207
|
+
},
|
|
208
|
+
role: "presentation",
|
|
209
|
+
key: 'Off',
|
|
210
|
+
style: player.activeCaption && player.activeCaption === 'Off' ? {
|
|
211
|
+
pointerEvents: 'none'
|
|
212
|
+
} : null
|
|
213
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
214
|
+
className: "icon-wrapper-left"
|
|
215
|
+
}), /*#__PURE__*/_react["default"].createElement("p", {
|
|
216
|
+
style: activeChild && activeChild === 'Off' ? {
|
|
217
|
+
color: theme ? " ".concat(_tokens.colors[theme].videoPlayer.themeColor) : '#00cec6',
|
|
218
|
+
pointerEvents: 'none'
|
|
219
|
+
} : {
|
|
220
|
+
color: '#333333'
|
|
221
|
+
}
|
|
222
|
+
}, "Off"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
223
|
+
className: "icon-wrapper"
|
|
224
|
+
})), this.renderContentByHeader());
|
|
225
|
+
}
|
|
226
|
+
}]);
|
|
227
|
+
return ChildMenuButton;
|
|
228
|
+
}(_react.Component);
|
|
229
|
+
ChildMenuButton.propTypes = propTypes;
|
|
230
|
+
ChildMenuButton.displayName = 'ChildMenuButton';
|
|
231
|
+
var _default = exports["default"] = ChildMenuButton;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
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
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _propTypes = require("prop-types");
|
|
11
|
+
var _components = require("@desynova-digital/components");
|
|
12
|
+
var _tokens = require("@desynova-digital/tokens");
|
|
13
|
+
var _lodash = require("lodash");
|
|
14
|
+
var _templateObject, _templateObject2;
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
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
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
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
|
+
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(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)); }
|
|
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); }
|
|
25
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
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
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
31
|
+
var propTypes = {
|
|
32
|
+
actions: _propTypes.PropTypes.instanceOf(Object),
|
|
33
|
+
player: _propTypes.PropTypes.instanceOf(Object),
|
|
34
|
+
theme: _propTypes.PropTypes.string,
|
|
35
|
+
handleStatus: _propTypes.PropTypes.func,
|
|
36
|
+
activeChild: _propTypes.PropTypes.string,
|
|
37
|
+
heading: _propTypes.PropTypes.string,
|
|
38
|
+
hasChild: _propTypes.PropTypes.bool,
|
|
39
|
+
iconName: _propTypes.PropTypes.string
|
|
40
|
+
};
|
|
41
|
+
var ParentMenuBlock = (0, _styledComponents["default"])('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n background: transparent;\n font-family: SFUIText-Medium;\n font-size: 12px;\n text-transform: uppercase;\n justify-content: flex-start;\n align-items: center;\n &:hover {\n background: ", ";\n }\n\n p {\n margin-left: 10px;\n white-space: nowrap;\n }\n"])), function (props) {
|
|
42
|
+
return props.theme ? " ".concat(_tokens.colors[props.theme].videoPlayer.rgbaThemeColor) : 'rgba(0, 206, 198, 0.1)';
|
|
43
|
+
});
|
|
44
|
+
var RightContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute; /* Position absolutely */\n right: 0; /* Align to the right */\n display: flex;\n align-items: center;\n p {\n font-family: SFUIText-Medium;\n margin-right: 10px;\n white-space: nowrap;\n }\n"])));
|
|
45
|
+
var ParentMenuControl = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
46
|
+
_inherits(ParentMenuControl, _Component);
|
|
47
|
+
function ParentMenuControl(props) {
|
|
48
|
+
var _this;
|
|
49
|
+
_classCallCheck(this, ParentMenuControl);
|
|
50
|
+
_this = _callSuper(this, ParentMenuControl, [props]);
|
|
51
|
+
_this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));
|
|
52
|
+
return _this;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* This function is used to change the states that are responsible for showing settings menu or subtitle menu.
|
|
56
|
+
*/
|
|
57
|
+
_createClass(ParentMenuControl, [{
|
|
58
|
+
key: "handleClick",
|
|
59
|
+
value: function handleClick() {
|
|
60
|
+
var handleStatus = this.props.handleStatus;
|
|
61
|
+
handleStatus();
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
key: "render",
|
|
65
|
+
value: function render() {
|
|
66
|
+
var _this$props = this.props,
|
|
67
|
+
player = _this$props.player,
|
|
68
|
+
theme = _this$props.theme,
|
|
69
|
+
activeChild = _this$props.activeChild,
|
|
70
|
+
heading = _this$props.heading,
|
|
71
|
+
hasChild = _this$props.hasChild,
|
|
72
|
+
iconName = _this$props.iconName,
|
|
73
|
+
data = _this$props.data;
|
|
74
|
+
return data && data.length ? /*#__PURE__*/_react["default"].createElement(ParentMenuBlock, {
|
|
75
|
+
onClick: this.handleClick,
|
|
76
|
+
theme: theme
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.Icon, {
|
|
78
|
+
name: iconName,
|
|
79
|
+
color: '#0C141D'
|
|
80
|
+
}), /*#__PURE__*/_react["default"].createElement("p", null, heading), hasChild && /*#__PURE__*/_react["default"].createElement(RightContent, null, /*#__PURE__*/_react["default"].createElement("p", null, activeChild), /*#__PURE__*/_react["default"].createElement(_components.Icon, {
|
|
81
|
+
name: "child-open-button",
|
|
82
|
+
color: '#121D29'
|
|
83
|
+
}))) : null;
|
|
84
|
+
}
|
|
85
|
+
}]);
|
|
86
|
+
return ParentMenuControl;
|
|
87
|
+
}(_react.Component);
|
|
88
|
+
ParentMenuControl.propTypes = propTypes;
|
|
89
|
+
ParentMenuControl.displayName = 'ParentMenuControl';
|
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
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); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports["default"] = SettingsMenu;
|
|
7
8
|
var _propTypes = require("prop-types");
|
|
8
|
-
var _react =
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
11
|
var _SafeAreaControl = _interopRequireDefault(require("./SafeAreaControl"));
|
|
11
12
|
var _PlaybackRateControl = _interopRequireDefault(require("./PlaybackRateControl"));
|
|
13
|
+
var _ParentMenuComponent = _interopRequireDefault(require("./ParentMenuComponent"));
|
|
14
|
+
var _ChildMenuComponent = _interopRequireDefault(require("./ChildMenuComponent"));
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _excluded = ["player", "actions", "style", "disablePlayerActions", "theme", "playerType", "subtitleData"];
|
|
12
17
|
var _templateObject;
|
|
13
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
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 _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); }
|
|
22
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
24
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
26
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
27
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
28
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
29
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
14
30
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
15
31
|
/*
|
|
16
32
|
* import SubtitleControl from './SubtitleControl';
|
|
@@ -24,7 +40,7 @@ var propTypes = {
|
|
|
24
40
|
theme: _propTypes.PropTypes.string,
|
|
25
41
|
playerType: _propTypes.PropTypes.string
|
|
26
42
|
};
|
|
27
|
-
var SettingsMenuContainer = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n position: relative;\n .safe-area {\n cursor: pointer;\n }\n .settings-menu-tile {\n background: transparent;\n div {\n padding: 15px;\n }\n }\n .playback {\n cursor: ", ";\n }\n"])), function (props) {
|
|
43
|
+
var SettingsMenuContainer = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n position: relative;\n .parent-area{\n cursor: pointer;\n }\n .safe-area {\n cursor: pointer;\n }\n .settings-menu-tile {\n background: transparent;\n div {\n padding: 15px;\n }\n }\n .playback {\n cursor: ", ";\n }\n"])), function (props) {
|
|
28
44
|
return props.disablePlayerActions.includes('playback_rate') ? 'not-allowed' : 'pointer';
|
|
29
45
|
});
|
|
30
46
|
function SettingsMenu(_ref) {
|
|
@@ -34,12 +50,48 @@ function SettingsMenu(_ref) {
|
|
|
34
50
|
_ref$disablePlayerAct = _ref.disablePlayerActions,
|
|
35
51
|
disablePlayerActions = _ref$disablePlayerAct === void 0 ? [] : _ref$disablePlayerAct,
|
|
36
52
|
theme = _ref.theme,
|
|
37
|
-
playerType = _ref.playerType
|
|
53
|
+
playerType = _ref.playerType,
|
|
54
|
+
subtitleData = _ref.subtitleData,
|
|
55
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
56
|
+
var _useState = (0, _react.useState)(true),
|
|
57
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
58
|
+
settingStatus = _useState2[0],
|
|
59
|
+
setSettingStatus = _useState2[1];
|
|
60
|
+
var _useState3 = (0, _react.useState)(false),
|
|
61
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
62
|
+
subtitleChildStatus = _useState4[0],
|
|
63
|
+
setSubtitleChildStatus = _useState4[1];
|
|
64
|
+
var activeCaptionValue = player.activeCaption;
|
|
65
|
+
if (!player.SubtitleStatus) {
|
|
66
|
+
activeCaptionValue = "Off";
|
|
67
|
+
}
|
|
68
|
+
var handleSubtitleStatus = function handleSubtitleStatus() {
|
|
69
|
+
setSettingStatus(function (prevSettingStatus) {
|
|
70
|
+
return !prevSettingStatus;
|
|
71
|
+
});
|
|
72
|
+
setSubtitleChildStatus(function (prevSubtitleChildStatus) {
|
|
73
|
+
return !prevSubtitleChildStatus;
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
var playerValue = playerType === 'default';
|
|
77
|
+
var settingShow = settingStatus || !playerValue;
|
|
38
78
|
return /*#__PURE__*/_react["default"].createElement(SettingsMenuContainer, {
|
|
39
79
|
theme: theme,
|
|
40
80
|
style: style,
|
|
41
81
|
disablePlayerActions: disablePlayerActions
|
|
42
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
82
|
+
}, settingShow && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
83
|
+
className: "settings-menu-tile parent-area"
|
|
84
|
+
}, playerValue && /*#__PURE__*/_react["default"].createElement(_ParentMenuComponent["default"], _extends({}, props, {
|
|
85
|
+
data: subtitleData,
|
|
86
|
+
iconName: 'subtitle-on-off',
|
|
87
|
+
hasChild: true,
|
|
88
|
+
heading: "Subtitle",
|
|
89
|
+
theme: theme,
|
|
90
|
+
player: player,
|
|
91
|
+
actions: actions,
|
|
92
|
+
activeChild: activeCaptionValue,
|
|
93
|
+
handleStatus: handleSubtitleStatus
|
|
94
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
43
95
|
className: "settings-menu-tile safe-area"
|
|
44
96
|
}, /*#__PURE__*/_react["default"].createElement(_SafeAreaControl["default"], {
|
|
45
97
|
theme: theme,
|
|
@@ -53,6 +105,17 @@ function SettingsMenu(_ref) {
|
|
|
53
105
|
actions: actions,
|
|
54
106
|
disablePlayerActions: disablePlayerActions,
|
|
55
107
|
playerType: playerType
|
|
108
|
+
}))), subtitleChildStatus && playerValue && /*#__PURE__*/_react["default"].createElement(_ChildMenuComponent["default"], _extends({}, props, {
|
|
109
|
+
stop: true,
|
|
110
|
+
iconName: "child-close-button",
|
|
111
|
+
mainHeader: "Subtitle",
|
|
112
|
+
subtitleData: subtitleData,
|
|
113
|
+
theme: theme,
|
|
114
|
+
player: player,
|
|
115
|
+
actions: actions,
|
|
116
|
+
handleStatus: handleSubtitleStatus,
|
|
117
|
+
handleValueChange: actions.handleCaptionTrackChange,
|
|
118
|
+
activeChild: activeCaptionValue
|
|
56
119
|
})));
|
|
57
120
|
}
|
|
58
121
|
SettingsMenu.propTypes = propTypes;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@desynova-digital/player",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.11",
|
|
4
4
|
"description": "Video Player Package for Contido Application",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"webpack-dev-server": "^3.11.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@desynova-digital/components": "^9.0.
|
|
57
|
-
"@desynova-digital/tokens": "^9.0.
|
|
56
|
+
"@desynova-digital/components": "^9.0.13",
|
|
57
|
+
"@desynova-digital/tokens": "^9.0.13",
|
|
58
58
|
"hls.js": "1.4.12",
|
|
59
59
|
"babel-core": "7.0.0-bridge.0",
|
|
60
60
|
"latest-version": "^4.0.0",
|
package/reducers/player.js
CHANGED
|
@@ -46,8 +46,12 @@ var initialState = {
|
|
|
46
46
|
previewActive: false,
|
|
47
47
|
audioTracksArr: [],
|
|
48
48
|
activeAudio: {},
|
|
49
|
+
activeCaption: "Off",
|
|
50
|
+
// state used to show the value of selected subtitle
|
|
49
51
|
markerCreate: false,
|
|
50
52
|
rewindActive: false,
|
|
53
|
+
SubtitleStatus: true,
|
|
54
|
+
// state used to show whether subtitle will be shown on player or not
|
|
51
55
|
HLSConfig: {
|
|
52
56
|
debug: true,
|
|
53
57
|
capLevelToPlayerSize: false,
|
|
@@ -152,6 +156,10 @@ function player() {
|
|
|
152
156
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
153
157
|
activeAudio: action.track
|
|
154
158
|
});
|
|
159
|
+
case _player.ACTIVE_CAPTION_TRACK:
|
|
160
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
161
|
+
activeCaption: action.caption
|
|
162
|
+
});
|
|
155
163
|
case _player.ZOOM_CHANGE:
|
|
156
164
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
157
165
|
zoom: action.z
|
|
@@ -195,6 +203,10 @@ function player() {
|
|
|
195
203
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
196
204
|
SDBorderActive: action.SDBorderActive
|
|
197
205
|
});
|
|
206
|
+
case _player.SUBTITLE_STATUS:
|
|
207
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
208
|
+
SubtitleStatus: action.SubtitleStatus
|
|
209
|
+
});
|
|
198
210
|
case _video.DURATION_CHANGE:
|
|
199
211
|
case _video.TIME_UPDATE:
|
|
200
212
|
case _video.VOLUME_CHANGE:
|