@atlaskit/media-ui 16.5.0 → 17.2.0
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/CHANGELOG.md +80 -0
- package/dist/cjs/BlockCard/components/Byline.js +4 -2
- package/dist/cjs/BlockCard/components/Content.js +6 -2
- package/dist/cjs/BlockCard/components/ContentHeader.js +6 -2
- package/dist/cjs/BlockCard/components/Icon.js +3 -3
- package/dist/cjs/BlockCard/components/Link.js +3 -1
- package/dist/cjs/BlockCard/components/Modal.js +13 -21
- package/dist/cjs/BlockCard/components/ModalHeader.js +7 -2
- package/dist/cjs/BlockCard/components/Name.js +6 -2
- package/dist/cjs/BlockCard/views/ErroredView.js +5 -1
- package/dist/cjs/BlockCard/views/ForbiddenView.js +5 -2
- package/dist/cjs/BlockCard/views/NotFoundView.js +5 -1
- package/dist/cjs/BlockCard/views/ResolvedView.js +5 -2
- package/dist/cjs/EmbedCard/components/Frame.js +1 -1
- package/dist/cjs/MediaInlineCard/ErroredView/index.js +93 -0
- package/dist/cjs/MediaInlineCard/Frame/index.js +98 -0
- package/dist/cjs/MediaInlineCard/Frame/styled.js +54 -0
- package/dist/cjs/MediaInlineCard/Icon.js +30 -0
- package/dist/cjs/MediaInlineCard/IconAndTitleLayout/index.js +131 -0
- package/dist/cjs/MediaInlineCard/IconAndTitleLayout/styled.js +72 -0
- package/dist/cjs/MediaInlineCard/LoadedView/index.js +66 -0
- package/dist/cjs/MediaInlineCard/LoadingView/index.js +85 -0
- package/dist/cjs/MediaInlineCard/LoadingView/styled.js +19 -0
- package/dist/cjs/MediaInlineCard/index.js +29 -0
- package/dist/cjs/MediaInlineCard/styled.js +25 -0
- package/dist/cjs/classNames.js +52 -0
- package/dist/cjs/codeViewer.js +8 -0
- package/dist/cjs/customMediaPlayer/analytics/events/screen/customMediaPlayer.js +35 -0
- package/dist/cjs/customMediaPlayer/analytics/events/track/playCount.js +35 -0
- package/dist/cjs/customMediaPlayer/analytics/events/track/played.js +35 -0
- package/dist/cjs/customMediaPlayer/analytics/events/ui/mediaButtonClicked.js +33 -0
- package/dist/cjs/customMediaPlayer/analytics/events/ui/playPauseBlanketClicked.js +32 -0
- package/dist/cjs/customMediaPlayer/analytics/events/ui/playbackSpeedChanged.js +32 -0
- package/dist/cjs/customMediaPlayer/analytics/events/ui/shortcutPressed.js +33 -0
- package/dist/cjs/customMediaPlayer/analytics/events/ui/timeRangeNavigated.js +33 -0
- package/dist/cjs/customMediaPlayer/analytics/index.js +89 -0
- package/dist/cjs/customMediaPlayer/analytics/utils/analytics.js +29 -0
- package/dist/cjs/customMediaPlayer/analytics/utils/playbackAttributes.js +40 -0
- package/dist/cjs/customMediaPlayer/fullscreen.js +4 -2
- package/dist/cjs/customMediaPlayer/icons.js +61 -0
- package/dist/cjs/customMediaPlayer/index.js +345 -83
- package/dist/cjs/customMediaPlayer/playbackSpeedControls.js +4 -2
- package/dist/cjs/customMediaPlayer/timeRange.js +6 -1
- package/dist/cjs/customMediaPlayer/types.js +5 -0
- package/dist/cjs/ellipsify.js +42 -40
- package/dist/cjs/index.js +22 -2
- package/dist/cjs/locales.js +17 -0
- package/dist/cjs/mediaImage/index.js +8 -4
- package/dist/cjs/mediaImage/styled.js +32 -4
- package/dist/cjs/messages.js +22 -7
- package/dist/cjs/shortcut.js +12 -5
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/BlockCard/components/Byline.js +4 -2
- package/dist/es2019/BlockCard/components/Content.js +3 -1
- package/dist/es2019/BlockCard/components/ContentHeader.js +3 -1
- package/dist/es2019/BlockCard/components/Icon.js +3 -3
- package/dist/es2019/BlockCard/components/Link.js +3 -1
- package/dist/es2019/BlockCard/components/Modal.js +30 -19
- package/dist/es2019/BlockCard/components/ModalHeader.js +60 -55
- package/dist/es2019/BlockCard/components/Name.js +3 -1
- package/dist/es2019/BlockCard/views/ErroredView.js +2 -0
- package/dist/es2019/BlockCard/views/ForbiddenView.js +3 -1
- package/dist/es2019/BlockCard/views/NotFoundView.js +2 -0
- package/dist/es2019/BlockCard/views/ResolvedView.js +3 -1
- package/dist/es2019/EmbedCard/components/Frame.js +1 -1
- package/dist/es2019/MediaInlineCard/ErroredView/index.js +43 -0
- package/dist/es2019/MediaInlineCard/Frame/index.js +60 -0
- package/dist/es2019/MediaInlineCard/Frame/styled.js +60 -0
- package/dist/es2019/MediaInlineCard/Icon.js +23 -0
- package/dist/es2019/MediaInlineCard/IconAndTitleLayout/index.js +90 -0
- package/dist/es2019/MediaInlineCard/IconAndTitleLayout/styled.js +103 -0
- package/dist/es2019/MediaInlineCard/LoadedView/index.js +25 -0
- package/dist/es2019/MediaInlineCard/LoadingView/index.js +42 -0
- package/dist/es2019/MediaInlineCard/LoadingView/styled.js +6 -0
- package/dist/es2019/MediaInlineCard/index.js +3 -0
- package/dist/es2019/MediaInlineCard/styled.js +9 -0
- package/dist/es2019/classNames.js +8 -3
- package/dist/es2019/codeViewer.js +8 -0
- package/dist/es2019/customMediaPlayer/analytics/events/screen/customMediaPlayer.js +16 -0
- package/dist/es2019/customMediaPlayer/analytics/events/track/playCount.js +16 -0
- package/dist/es2019/customMediaPlayer/analytics/events/track/played.js +16 -0
- package/dist/es2019/customMediaPlayer/analytics/events/ui/mediaButtonClicked.js +18 -0
- package/dist/es2019/customMediaPlayer/analytics/events/ui/playPauseBlanketClicked.js +17 -0
- package/dist/es2019/customMediaPlayer/analytics/events/ui/playbackSpeedChanged.js +17 -0
- package/dist/es2019/customMediaPlayer/analytics/events/ui/shortcutPressed.js +18 -0
- package/dist/es2019/customMediaPlayer/analytics/events/ui/timeRangeNavigated.js +18 -0
- package/dist/es2019/customMediaPlayer/analytics/index.js +9 -0
- package/dist/es2019/customMediaPlayer/analytics/utils/analytics.js +14 -0
- package/dist/es2019/customMediaPlayer/analytics/utils/playbackAttributes.js +31 -0
- package/dist/es2019/customMediaPlayer/fullscreen.js +4 -2
- package/dist/es2019/customMediaPlayer/icons.js +49 -0
- package/dist/es2019/customMediaPlayer/index.js +357 -78
- package/dist/es2019/customMediaPlayer/playbackSpeedControls.js +4 -2
- package/dist/es2019/customMediaPlayer/timeRange.js +9 -1
- package/dist/es2019/customMediaPlayer/types.js +1 -0
- package/dist/es2019/ellipsify.js +22 -16
- package/dist/es2019/index.js +2 -1
- package/dist/es2019/locales.js +3 -0
- package/dist/es2019/mediaImage/index.js +8 -4
- package/dist/es2019/mediaImage/styled.js +29 -8
- package/dist/es2019/messages.js +22 -7
- package/dist/es2019/shortcut.js +12 -5
- package/dist/es2019/version.json +1 -1
- package/dist/esm/BlockCard/components/Byline.js +4 -2
- package/dist/esm/BlockCard/components/Content.js +3 -1
- package/dist/esm/BlockCard/components/ContentHeader.js +3 -1
- package/dist/esm/BlockCard/components/Icon.js +3 -3
- package/dist/esm/BlockCard/components/Link.js +3 -1
- package/dist/esm/BlockCard/components/Modal.js +31 -22
- package/dist/esm/BlockCard/components/ModalHeader.js +6 -2
- package/dist/esm/BlockCard/components/Name.js +3 -1
- package/dist/esm/BlockCard/views/ErroredView.js +2 -0
- package/dist/esm/BlockCard/views/ForbiddenView.js +3 -1
- package/dist/esm/BlockCard/views/NotFoundView.js +2 -0
- package/dist/esm/BlockCard/views/ResolvedView.js +3 -1
- package/dist/esm/EmbedCard/components/Frame.js +1 -1
- package/dist/esm/MediaInlineCard/ErroredView/index.js +70 -0
- package/dist/esm/MediaInlineCard/Frame/index.js +84 -0
- package/dist/esm/MediaInlineCard/Frame/styled.js +39 -0
- package/dist/esm/MediaInlineCard/Icon.js +15 -0
- package/dist/esm/MediaInlineCard/IconAndTitleLayout/index.js +113 -0
- package/dist/esm/MediaInlineCard/IconAndTitleLayout/styled.js +33 -0
- package/dist/esm/MediaInlineCard/LoadedView/index.js +50 -0
- package/dist/esm/MediaInlineCard/LoadingView/index.js +66 -0
- package/dist/esm/MediaInlineCard/LoadingView/styled.js +7 -0
- package/dist/esm/MediaInlineCard/index.js +3 -0
- package/dist/esm/MediaInlineCard/styled.js +11 -0
- package/dist/esm/classNames.js +8 -3
- package/dist/esm/codeViewer.js +8 -0
- package/dist/esm/customMediaPlayer/analytics/events/screen/customMediaPlayer.js +23 -0
- package/dist/esm/customMediaPlayer/analytics/events/track/playCount.js +23 -0
- package/dist/esm/customMediaPlayer/analytics/events/track/played.js +23 -0
- package/dist/esm/customMediaPlayer/analytics/events/ui/mediaButtonClicked.js +23 -0
- package/dist/esm/customMediaPlayer/analytics/events/ui/playPauseBlanketClicked.js +22 -0
- package/dist/esm/customMediaPlayer/analytics/events/ui/playbackSpeedChanged.js +22 -0
- package/dist/esm/customMediaPlayer/analytics/events/ui/shortcutPressed.js +23 -0
- package/dist/esm/customMediaPlayer/analytics/events/ui/timeRangeNavigated.js +23 -0
- package/dist/esm/customMediaPlayer/analytics/index.js +9 -0
- package/dist/esm/customMediaPlayer/analytics/utils/analytics.js +14 -0
- package/dist/esm/customMediaPlayer/analytics/utils/playbackAttributes.js +29 -0
- package/dist/esm/customMediaPlayer/fullscreen.js +4 -2
- package/dist/esm/customMediaPlayer/icons.js +49 -0
- package/dist/esm/customMediaPlayer/index.js +354 -78
- package/dist/esm/customMediaPlayer/playbackSpeedControls.js +4 -2
- package/dist/esm/customMediaPlayer/timeRange.js +6 -1
- package/dist/esm/customMediaPlayer/types.js +1 -0
- package/dist/esm/ellipsify.js +38 -36
- package/dist/esm/index.js +2 -1
- package/dist/esm/locales.js +3 -0
- package/dist/esm/mediaImage/index.js +8 -4
- package/dist/esm/mediaImage/styled.js +31 -4
- package/dist/esm/messages.js +22 -7
- package/dist/esm/shortcut.js +12 -5
- package/dist/esm/version.json +1 -1
- package/dist/types/BlockCard/components/Byline.d.ts +2 -1
- package/dist/types/BlockCard/components/Content.d.ts +1 -0
- package/dist/types/BlockCard/components/ContentHeader.d.ts +1 -0
- package/dist/types/BlockCard/components/Link.d.ts +2 -1
- package/dist/types/BlockCard/components/ModalHeader.d.ts +2 -2
- package/dist/types/BlockCard/components/Name.d.ts +1 -0
- package/dist/types/BlockCard/views/ErroredView.d.ts +1 -0
- package/dist/types/BlockCard/views/ForbiddenView.d.ts +1 -0
- package/dist/types/BlockCard/views/NotFoundView.d.ts +1 -0
- package/dist/types/BlockCard/views/ResolvedView.d.ts +1 -0
- package/dist/types/MediaInlineCard/ErroredView/index.d.ts +16 -0
- package/dist/types/MediaInlineCard/Frame/index.d.ts +17 -0
- package/dist/types/MediaInlineCard/Frame/styled.d.ts +5 -0
- package/dist/types/MediaInlineCard/Icon.d.ts +3 -0
- package/dist/types/MediaInlineCard/IconAndTitleLayout/index.d.ts +18 -0
- package/dist/types/MediaInlineCard/IconAndTitleLayout/styled.d.ts +12 -0
- package/dist/types/MediaInlineCard/LoadedView/index.d.ts +18 -0
- package/dist/types/MediaInlineCard/LoadingView/index.d.ts +17 -0
- package/dist/types/MediaInlineCard/LoadingView/styled.d.ts +2 -0
- package/dist/types/MediaInlineCard/index.d.ts +6 -0
- package/dist/types/MediaInlineCard/styled.d.ts +2 -0
- package/dist/types/classNames.d.ts +7 -2
- package/dist/types/customMediaPlayer/analytics/events/screen/customMediaPlayer.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/track/playCount.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/track/played.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/ui/mediaButtonClicked.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/ui/playPauseBlanketClicked.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/ui/playbackSpeedChanged.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/ui/shortcutPressed.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/events/ui/timeRangeNavigated.d.ts +5 -0
- package/dist/types/customMediaPlayer/analytics/index.d.ts +11 -0
- package/dist/types/customMediaPlayer/analytics/utils/analytics.d.ts +19 -0
- package/dist/types/customMediaPlayer/analytics/utils/playbackAttributes.d.ts +24 -0
- package/dist/types/customMediaPlayer/icons.d.ts +3 -0
- package/dist/types/customMediaPlayer/index.d.ts +44 -30
- package/dist/types/customMediaPlayer/playbackSpeedControls.d.ts +1 -0
- package/dist/types/customMediaPlayer/timeRange.d.ts +1 -0
- package/dist/types/customMediaPlayer/types.d.ts +4 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/locales.d.ts +4 -0
- package/dist/types/mediaImage/index.d.ts +2 -0
- package/dist/types/mediaImage/styled.d.ts +5 -2
- package/dist/types/messages.d.ts +1 -1
- package/dist/types/shortcut.d.ts +15 -4
- package/locales/package.json +7 -0
- package/package.json +17 -14
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.CustomMediaPlayer = exports.CustomMediaPlayerBase = void 0;
|
|
11
11
|
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
|
|
@@ -25,6 +25,10 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
25
25
|
|
|
26
26
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
27
|
|
|
28
|
+
var _version = require("../version.json");
|
|
29
|
+
|
|
30
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
31
|
+
|
|
28
32
|
var _vidPlay = _interopRequireDefault(require("@atlaskit/icon/glyph/vid-play"));
|
|
29
33
|
|
|
30
34
|
var _vidPause = _interopRequireDefault(require("@atlaskit/icon/glyph/vid-pause"));
|
|
@@ -39,6 +43,8 @@ var _vidHdCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/vid-hd-c
|
|
|
39
43
|
|
|
40
44
|
var _download = _interopRequireDefault(require("@atlaskit/icon/glyph/download"));
|
|
41
45
|
|
|
46
|
+
var _mediaCommon = require("@atlaskit/media-common");
|
|
47
|
+
|
|
42
48
|
var _MediaButton = _interopRequireDefault(require("../MediaButton"));
|
|
43
49
|
|
|
44
50
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
@@ -53,6 +59,8 @@ var _timeRange = require("./timeRange");
|
|
|
53
59
|
|
|
54
60
|
var _styled = require("./styled");
|
|
55
61
|
|
|
62
|
+
var _analytics = require("./analytics");
|
|
63
|
+
|
|
56
64
|
var _formatDuration = require("../formatDuration");
|
|
57
65
|
|
|
58
66
|
var _classNames = require("../classNames");
|
|
@@ -73,33 +81,52 @@ var _playbackSpeedControls = _interopRequireDefault(require("./playbackSpeedCont
|
|
|
73
81
|
|
|
74
82
|
var _playPauseBlanket = require("./playPauseBlanket");
|
|
75
83
|
|
|
84
|
+
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
85
|
+
|
|
86
|
+
var _icons = require("./icons");
|
|
87
|
+
|
|
76
88
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
77
89
|
|
|
78
90
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
79
91
|
|
|
92
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
93
|
+
|
|
94
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
95
|
+
|
|
80
96
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
81
97
|
|
|
82
98
|
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; } }
|
|
83
99
|
|
|
84
100
|
var SMALL_VIDEO_MAX_WIDTH = 400;
|
|
85
101
|
var MINIMUM_DURATION_BEFORE_SAVING_TIME = 60;
|
|
102
|
+
var VIEWED_TRACKING_SECS = 2;
|
|
86
103
|
|
|
87
|
-
var
|
|
88
|
-
(0, _inherits2.default)(
|
|
104
|
+
var CustomMediaPlayerBase = /*#__PURE__*/function (_Component) {
|
|
105
|
+
(0, _inherits2.default)(CustomMediaPlayerBase, _Component);
|
|
89
106
|
|
|
90
|
-
var _super = _createSuper(
|
|
107
|
+
var _super = _createSuper(CustomMediaPlayerBase);
|
|
91
108
|
|
|
92
|
-
function
|
|
109
|
+
function CustomMediaPlayerBase() {
|
|
93
110
|
var _this;
|
|
94
111
|
|
|
95
|
-
(0, _classCallCheck2.default)(this,
|
|
112
|
+
(0, _classCallCheck2.default)(this, CustomMediaPlayerBase);
|
|
96
113
|
|
|
97
114
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
98
115
|
args[_key] = arguments[_key];
|
|
99
116
|
}
|
|
100
117
|
|
|
101
118
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
119
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "videoState", {
|
|
120
|
+
isLoading: true,
|
|
121
|
+
buffered: 0,
|
|
122
|
+
currentTime: 0,
|
|
123
|
+
volume: 1,
|
|
124
|
+
status: 'paused',
|
|
125
|
+
duration: 0,
|
|
126
|
+
isMuted: false
|
|
127
|
+
});
|
|
102
128
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wasPlayedOnce", false);
|
|
129
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastCurrentTime", 0);
|
|
103
130
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "timeSaver", new _timeSaver.TimeSaver(_this.props.lastWatchTimeConfig));
|
|
104
131
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
105
132
|
isFullScreenEnabled: false,
|
|
@@ -120,15 +147,11 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
120
147
|
});
|
|
121
148
|
}
|
|
122
149
|
});
|
|
123
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
124
|
-
|
|
125
|
-
navigate(value);
|
|
126
|
-
};
|
|
150
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onTimeChanged", function () {
|
|
151
|
+
_this.createAndFireUIEvent('timeRangeNavigate', 'time');
|
|
127
152
|
});
|
|
128
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
129
|
-
|
|
130
|
-
return setVolume(value);
|
|
131
|
-
};
|
|
153
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onVolumeChanged", function () {
|
|
154
|
+
_this.createAndFireUIEvent('volumeRangeNavigate', 'volume');
|
|
132
155
|
});
|
|
133
156
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onCurrentTimeChange", function (currentTime, duration) {
|
|
134
157
|
if (duration - currentTime > MINIMUM_DURATION_BEFORE_SAVING_TIME) {
|
|
@@ -137,16 +160,6 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
137
160
|
_this.timeSaver.defaultTime = 0;
|
|
138
161
|
}
|
|
139
162
|
});
|
|
140
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shortcutHandler", function (toggleButtonAction) {
|
|
141
|
-
return function () {
|
|
142
|
-
var showControls = _this.props.showControls;
|
|
143
|
-
toggleButtonAction();
|
|
144
|
-
|
|
145
|
-
if (showControls) {
|
|
146
|
-
showControls();
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
});
|
|
150
163
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderCurrentTime", function (_ref) {
|
|
151
164
|
var currentTime = _ref.currentTime,
|
|
152
165
|
duration = _ref.duration;
|
|
@@ -169,7 +182,7 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
169
182
|
var secondaryColor = isHDActive ? _colors.N0 : _colors.DN60;
|
|
170
183
|
return /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
171
184
|
testId: "custom-media-player-hd-button",
|
|
172
|
-
onClick: onHDToggleClick,
|
|
185
|
+
onClick: !!onHDToggleClick ? _this.getMediaButtonClickHandler(onHDToggleClick, 'HDButton') : undefined,
|
|
173
186
|
iconBefore: /*#__PURE__*/_react.default.createElement(_vidHdCircle.default, {
|
|
174
187
|
primaryColor: primaryColor,
|
|
175
188
|
secondaryColor: secondaryColor,
|
|
@@ -187,6 +200,8 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
187
200
|
_this.setState({
|
|
188
201
|
playbackSpeed: playbackSpeed
|
|
189
202
|
});
|
|
203
|
+
|
|
204
|
+
_this.createAndFireUIEvent('playbackSpeedChange');
|
|
190
205
|
});
|
|
191
206
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSpeedControls", function () {
|
|
192
207
|
var playbackSpeed = _this.state.playbackSpeed;
|
|
@@ -194,36 +209,43 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
194
209
|
return /*#__PURE__*/_react.default.createElement(_playbackSpeedControls.default, {
|
|
195
210
|
originalDimensions: originalDimensions,
|
|
196
211
|
playbackSpeed: playbackSpeed,
|
|
197
|
-
onPlaybackSpeedChange: _this.onPlaybackSpeedChange
|
|
212
|
+
onPlaybackSpeedChange: _this.onPlaybackSpeedChange,
|
|
213
|
+
onClick: function onClick() {
|
|
214
|
+
return _this.createAndFireUIEvent('mediaButtonClick', 'playbackSpeedButton');
|
|
215
|
+
}
|
|
198
216
|
});
|
|
199
217
|
});
|
|
200
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderVolume", function (
|
|
201
|
-
var isMuted = _ref2.isMuted,
|
|
202
|
-
volume = _ref2.volume;
|
|
218
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderVolume", function (videoState, actions, showSlider) {
|
|
203
219
|
return /*#__PURE__*/_react.default.createElement(_styled.VolumeWrapper, {
|
|
204
220
|
showSlider: showSlider
|
|
205
221
|
}, /*#__PURE__*/_react.default.createElement(_styled.VolumeToggleWrapper, {
|
|
206
|
-
isMuted: isMuted
|
|
222
|
+
isMuted: videoState.isMuted
|
|
207
223
|
}, /*#__PURE__*/_react.default.createElement(_styled.MutedIndicator, {
|
|
208
|
-
isMuted: isMuted
|
|
224
|
+
isMuted: videoState.isMuted
|
|
209
225
|
}), /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
210
226
|
testId: "custom-media-player-volume-toggle-button",
|
|
211
|
-
onClick: actions.toggleMute,
|
|
227
|
+
onClick: _this.getMediaButtonClickHandler(actions.toggleMute, 'muteButton'),
|
|
212
228
|
iconBefore: /*#__PURE__*/_react.default.createElement(_outgoingSound.default, {
|
|
213
229
|
label: "volume"
|
|
214
230
|
})
|
|
215
231
|
})), showSlider && /*#__PURE__*/_react.default.createElement(_styled.VolumeTimeRangeWrapper, null, /*#__PURE__*/_react.default.createElement(_timeRange.TimeRange, {
|
|
216
|
-
onChange:
|
|
232
|
+
onChange: actions.setVolume,
|
|
217
233
|
duration: 1,
|
|
218
|
-
currentTime: volume,
|
|
219
|
-
bufferedTime: volume,
|
|
234
|
+
currentTime: videoState.volume,
|
|
235
|
+
bufferedTime: videoState.volume,
|
|
220
236
|
disableThumbTooltip: true,
|
|
221
|
-
isAlwaysActive: true
|
|
237
|
+
isAlwaysActive: true,
|
|
238
|
+
onChanged: _this.onVolumeChanged
|
|
222
239
|
})));
|
|
223
240
|
});
|
|
224
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
241
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleFullscreen", function () {
|
|
225
242
|
return (0, _fullscreen.toggleFullscreen)(_this.videoWrapperRef);
|
|
226
243
|
});
|
|
244
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFullScreenButtonClick", function () {
|
|
245
|
+
_this.toggleFullscreen();
|
|
246
|
+
|
|
247
|
+
_this.createAndFireUIEvent('mediaButtonClick', 'fullScreenButton');
|
|
248
|
+
});
|
|
227
249
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onResize", function (width) {
|
|
228
250
|
return _this.setState({
|
|
229
251
|
isLargePlayer: width > SMALL_VIDEO_MAX_WIDTH
|
|
@@ -249,7 +271,7 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
249
271
|
});
|
|
250
272
|
return /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
251
273
|
testId: "custom-media-player-fullscreen-button",
|
|
252
|
-
onClick: _this.
|
|
274
|
+
onClick: _this.onFullScreenButtonClick,
|
|
253
275
|
iconBefore: icon
|
|
254
276
|
});
|
|
255
277
|
});
|
|
@@ -262,12 +284,88 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
262
284
|
|
|
263
285
|
return /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
264
286
|
testId: "custom-media-player-download-button",
|
|
265
|
-
onClick: onDownloadClick,
|
|
287
|
+
onClick: _this.getMediaButtonClickHandler(onDownloadClick, 'downloadButton'),
|
|
266
288
|
iconBefore: /*#__PURE__*/_react.default.createElement(_download.default, {
|
|
267
289
|
label: "download"
|
|
268
290
|
})
|
|
269
291
|
});
|
|
270
292
|
});
|
|
293
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderShortcuts", function (_ref2) {
|
|
294
|
+
var togglePlayPauseAction = _ref2.togglePlayPauseAction,
|
|
295
|
+
toggleMute = _ref2.toggleMute,
|
|
296
|
+
skipBackward = _ref2.skipBackward,
|
|
297
|
+
skipForward = _ref2.skipForward;
|
|
298
|
+
var isShortcutEnabled = _this.props.isShortcutEnabled;
|
|
299
|
+
var isFullScreenEnabled = _this.state.isFullScreenEnabled;
|
|
300
|
+
var shortcuts = (isShortcutEnabled || isFullScreenEnabled) && [/*#__PURE__*/_react.default.createElement(_shortcut.Shortcut, {
|
|
301
|
+
key: "space-shortcut",
|
|
302
|
+
code: _shortcut.keyCodes.space,
|
|
303
|
+
handler: _this.getKeyboardShortcutHandler(togglePlayPauseAction, 'space')
|
|
304
|
+
}), /*#__PURE__*/_react.default.createElement(_shortcut.Shortcut, {
|
|
305
|
+
key: "m-shortcut",
|
|
306
|
+
code: _shortcut.keyCodes.m,
|
|
307
|
+
handler: _this.getKeyboardShortcutHandler(toggleMute, 'mute')
|
|
308
|
+
})];
|
|
309
|
+
|
|
310
|
+
if (shortcuts && isFullScreenEnabled) {
|
|
311
|
+
// Fullscreen shortcuts only. We don't want to override left/right keys in media-viewer settings
|
|
312
|
+
shortcuts.push( /*#__PURE__*/_react.default.createElement(_shortcut.Shortcut, {
|
|
313
|
+
key: "skip-backward-shortcut",
|
|
314
|
+
code: _shortcut.keyCodes.leftArrow,
|
|
315
|
+
handler: _this.getKeyboardShortcutHandler(skipBackward, 'leftArrow')
|
|
316
|
+
}));
|
|
317
|
+
shortcuts.push( /*#__PURE__*/_react.default.createElement(_shortcut.Shortcut, {
|
|
318
|
+
key: "skip-forward-shortcut",
|
|
319
|
+
code: _shortcut.keyCodes.rightArrow,
|
|
320
|
+
handler: _this.getKeyboardShortcutHandler(skipForward, 'rightArrow')
|
|
321
|
+
}));
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return shortcuts;
|
|
325
|
+
});
|
|
326
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderPlayPauseButton", function (isPlaying) {
|
|
327
|
+
var formatMessage = _this.props.intl.formatMessage;
|
|
328
|
+
var toggleButtonIcon = isPlaying ? /*#__PURE__*/_react.default.createElement(_vidPause.default, {
|
|
329
|
+
label: formatMessage(_messages.messages.pause)
|
|
330
|
+
}) : /*#__PURE__*/_react.default.createElement(_vidPlay.default, {
|
|
331
|
+
label: formatMessage(_messages.messages.play)
|
|
332
|
+
});
|
|
333
|
+
return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
334
|
+
content: formatMessage(isPlaying ? _messages.messages.pause : _messages.messages.play),
|
|
335
|
+
position: "top"
|
|
336
|
+
}, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
337
|
+
testId: "custom-media-player-play-toggle-button",
|
|
338
|
+
"data-test-is-playing": isPlaying,
|
|
339
|
+
iconBefore: toggleButtonIcon,
|
|
340
|
+
onClick: isPlaying ? _this.pausePlayByButtonClick : _this.startPlayByButtonClick
|
|
341
|
+
}));
|
|
342
|
+
});
|
|
343
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSkipBackwardButton", function (skipBackward) {
|
|
344
|
+
var formatMessage = _this.props.intl.formatMessage;
|
|
345
|
+
return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
346
|
+
content: formatMessage(_messages.messages.skipBackward),
|
|
347
|
+
position: "top"
|
|
348
|
+
}, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
349
|
+
testId: "custom-media-player-skip-backward-button",
|
|
350
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_icons.SkipTenBackwardIcon, {
|
|
351
|
+
label: formatMessage(_messages.messages.skipBackward)
|
|
352
|
+
}),
|
|
353
|
+
onClick: _this.getMediaButtonClickHandler(skipBackward, 'skipBackwardButton')
|
|
354
|
+
}));
|
|
355
|
+
});
|
|
356
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSkipForwardButton", function (skipForward) {
|
|
357
|
+
var formatMessage = _this.props.intl.formatMessage;
|
|
358
|
+
return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
359
|
+
content: formatMessage(_messages.messages.skipForward),
|
|
360
|
+
position: "top"
|
|
361
|
+
}, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
362
|
+
testId: "custom-media-player-skip-forward-button",
|
|
363
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_icons.SkipTenForwardIcon, {
|
|
364
|
+
label: formatMessage(_messages.messages.skipForward)
|
|
365
|
+
}),
|
|
366
|
+
onClick: _this.getMediaButtonClickHandler(skipForward, 'skipForwardButton')
|
|
367
|
+
}));
|
|
368
|
+
});
|
|
271
369
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderSpinner", function () {
|
|
272
370
|
return /*#__PURE__*/_react.default.createElement(_styled.SpinnerWrapper, null, /*#__PURE__*/_react.default.createElement(_spinner.default, {
|
|
273
371
|
appearance: "invert",
|
|
@@ -293,15 +391,106 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
293
391
|
onFirstPlay();
|
|
294
392
|
}
|
|
295
393
|
});
|
|
394
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getMediaButtonClickHandler", function (action, buttonType) {
|
|
395
|
+
return function () {
|
|
396
|
+
action();
|
|
397
|
+
|
|
398
|
+
_this.createAndFireUIEvent('mediaButtonClick', buttonType);
|
|
399
|
+
};
|
|
400
|
+
});
|
|
401
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getKeyboardShortcutHandler", function (action, shortcutType) {
|
|
402
|
+
return function () {
|
|
403
|
+
var showControls = _this.props.showControls;
|
|
404
|
+
action();
|
|
405
|
+
|
|
406
|
+
if (showControls) {
|
|
407
|
+
showControls();
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
_this.createAndFireUIEvent('shortcutPress', shortcutType);
|
|
411
|
+
};
|
|
412
|
+
});
|
|
413
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onViewed", function (videoState) {
|
|
414
|
+
var _this$props3 = _this.props,
|
|
415
|
+
createAnalyticsEvent = _this$props3.createAnalyticsEvent,
|
|
416
|
+
fileId = _this$props3.fileId,
|
|
417
|
+
isAutoPlay = _this$props3.isAutoPlay,
|
|
418
|
+
isHDAvailable = _this$props3.isHDAvailable,
|
|
419
|
+
isHDActive = _this$props3.isHDActive,
|
|
420
|
+
type = _this$props3.type;
|
|
421
|
+
var _this$state = _this.state,
|
|
422
|
+
isFullScreenEnabled = _this$state.isFullScreenEnabled,
|
|
423
|
+
isLargePlayer = _this$state.isLargePlayer,
|
|
424
|
+
playbackSpeed = _this$state.playbackSpeed;
|
|
425
|
+
var status = videoState.status,
|
|
426
|
+
currentTime = videoState.currentTime;
|
|
427
|
+
|
|
428
|
+
if (status === 'playing' && (currentTime < _this.lastCurrentTime || currentTime >= _this.lastCurrentTime + VIEWED_TRACKING_SECS)) {
|
|
429
|
+
(0, _analytics.fireAnalyticsEvent)((0, _analytics.createPlayedTrackEvent)(type, _objectSpread(_objectSpread({}, videoState), {}, {
|
|
430
|
+
isAutoPlay: isAutoPlay,
|
|
431
|
+
isHDAvailable: isHDAvailable,
|
|
432
|
+
isHDActive: isHDActive,
|
|
433
|
+
isFullScreenEnabled: isFullScreenEnabled,
|
|
434
|
+
isLargePlayer: isLargePlayer,
|
|
435
|
+
playbackSpeed: playbackSpeed
|
|
436
|
+
}), fileId), createAnalyticsEvent);
|
|
437
|
+
_this.lastCurrentTime = currentTime;
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resetPendingPlayPauseToggleTimer", function () {
|
|
441
|
+
if (_this.clickToTogglePlayTimoutId !== undefined) {
|
|
442
|
+
clearTimeout(_this.clickToTogglePlayTimoutId);
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "doubleClickToFullscreen", function () {
|
|
446
|
+
_this.resetPendingPlayPauseToggleTimer();
|
|
447
|
+
|
|
448
|
+
_this.toggleFullscreen(); // TODO Add an event similar to "playPauseBlanketClick" but for fullscreen trigger
|
|
449
|
+
|
|
450
|
+
});
|
|
451
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "togglePlayByBlanketClick", function (action) {
|
|
452
|
+
_this.resetPendingPlayPauseToggleTimer();
|
|
453
|
+
|
|
454
|
+
_this.clickToTogglePlayTimoutId = setTimeout(function () {
|
|
455
|
+
action();
|
|
456
|
+
|
|
457
|
+
_this.createAndFireUIEvent('playPauseBlanketClick');
|
|
458
|
+
}, 200);
|
|
459
|
+
});
|
|
460
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "startPlayByBlanketClick", function () {
|
|
461
|
+
_this.togglePlayByBlanketClick(_this.play);
|
|
462
|
+
});
|
|
463
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pausePlayByBlanketClick", function () {
|
|
464
|
+
_this.togglePlayByBlanketClick(_this.pause);
|
|
465
|
+
});
|
|
466
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "startPlayByButtonClick", _this.getMediaButtonClickHandler(_this.play, 'playButton'));
|
|
467
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pausePlayByButtonClick", _this.getMediaButtonClickHandler(_this.pause, 'pauseButton'));
|
|
296
468
|
return _this;
|
|
297
469
|
}
|
|
298
470
|
|
|
299
|
-
(0, _createClass2.default)(
|
|
471
|
+
(0, _createClass2.default)(CustomMediaPlayerBase, [{
|
|
300
472
|
key: "componentDidMount",
|
|
301
473
|
value: function componentDidMount() {
|
|
302
|
-
var _this$
|
|
303
|
-
|
|
304
|
-
|
|
474
|
+
var _this$props4 = this.props,
|
|
475
|
+
type = _this$props4.type,
|
|
476
|
+
fileId = _this$props4.fileId,
|
|
477
|
+
isAutoPlay = _this$props4.isAutoPlay,
|
|
478
|
+
isHDAvailable = _this$props4.isHDAvailable,
|
|
479
|
+
isHDActive = _this$props4.isHDActive,
|
|
480
|
+
onFirstPlay = _this$props4.onFirstPlay,
|
|
481
|
+
createAnalyticsEvent = _this$props4.createAnalyticsEvent;
|
|
482
|
+
var _this$state2 = this.state,
|
|
483
|
+
isFullScreenEnabled = _this$state2.isFullScreenEnabled,
|
|
484
|
+
isLargePlayer = _this$state2.isLargePlayer,
|
|
485
|
+
playbackSpeed = _this$state2.playbackSpeed;
|
|
486
|
+
(0, _analytics.fireAnalyticsEvent)((0, _analytics.createCustomMediaPlayerScreenEvent)(type, {
|
|
487
|
+
isAutoPlay: isAutoPlay,
|
|
488
|
+
isHDAvailable: isHDAvailable,
|
|
489
|
+
isHDActive: isHDActive,
|
|
490
|
+
isFullScreenEnabled: isFullScreenEnabled,
|
|
491
|
+
isLargePlayer: isLargePlayer,
|
|
492
|
+
playbackSpeed: playbackSpeed
|
|
493
|
+
}, fileId), createAnalyticsEvent);
|
|
305
494
|
|
|
306
495
|
if (this.videoWrapperRef) {
|
|
307
496
|
this.videoWrapperRef.addEventListener('fullscreenchange', this.onFullScreenChange);
|
|
@@ -313,6 +502,14 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
313
502
|
_simultaneousPlayManager.default.pauseOthers(this);
|
|
314
503
|
|
|
315
504
|
if (onFirstPlay) {
|
|
505
|
+
(0, _analytics.fireAnalyticsEvent)((0, _analytics.createFirstPlayedTrackEvent)(type, {
|
|
506
|
+
isAutoPlay: isAutoPlay,
|
|
507
|
+
isHDAvailable: isHDAvailable,
|
|
508
|
+
isHDActive: isHDActive,
|
|
509
|
+
isFullScreenEnabled: isFullScreenEnabled,
|
|
510
|
+
isLargePlayer: isLargePlayer,
|
|
511
|
+
playbackSpeed: playbackSpeed
|
|
512
|
+
}, fileId), createAnalyticsEvent);
|
|
316
513
|
this.wasPlayedOnce = true;
|
|
317
514
|
onFirstPlay();
|
|
318
515
|
}
|
|
@@ -336,20 +533,78 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
336
533
|
this.actions = actions;
|
|
337
534
|
}
|
|
338
535
|
}
|
|
536
|
+
}, {
|
|
537
|
+
key: "createAndFireUIEvent",
|
|
538
|
+
value: function createAndFireUIEvent(eventType, actionSubjectId) {
|
|
539
|
+
var _this$props5 = this.props,
|
|
540
|
+
type = _this$props5.type,
|
|
541
|
+
fileId = _this$props5.fileId,
|
|
542
|
+
isHDActive = _this$props5.isHDActive,
|
|
543
|
+
isHDAvailable = _this$props5.isHDAvailable,
|
|
544
|
+
isAutoPlay = _this$props5.isAutoPlay,
|
|
545
|
+
createAnalyticsEvent = _this$props5.createAnalyticsEvent;
|
|
546
|
+
var _this$state3 = this.state,
|
|
547
|
+
isFullScreenEnabled = _this$state3.isFullScreenEnabled,
|
|
548
|
+
isLargePlayer = _this$state3.isLargePlayer,
|
|
549
|
+
playbackSpeed = _this$state3.playbackSpeed;
|
|
550
|
+
|
|
551
|
+
var playbackState = _objectSpread(_objectSpread({}, this.videoState), {}, {
|
|
552
|
+
isAutoPlay: isAutoPlay,
|
|
553
|
+
isHDAvailable: isHDAvailable,
|
|
554
|
+
isHDActive: isHDActive,
|
|
555
|
+
isFullScreenEnabled: isFullScreenEnabled,
|
|
556
|
+
isLargePlayer: isLargePlayer,
|
|
557
|
+
playbackSpeed: playbackSpeed
|
|
558
|
+
});
|
|
559
|
+
|
|
560
|
+
var analyticsEvent;
|
|
561
|
+
|
|
562
|
+
switch (eventType) {
|
|
563
|
+
case 'mediaButtonClick':
|
|
564
|
+
analyticsEvent = (0, _analytics.createMediaButtonClickedEvent)(type, playbackState, actionSubjectId, fileId);
|
|
565
|
+
break;
|
|
566
|
+
|
|
567
|
+
case 'shortcutPress':
|
|
568
|
+
analyticsEvent = (0, _analytics.createMediaShortcutPressedEvent)(type, playbackState, actionSubjectId, fileId);
|
|
569
|
+
break;
|
|
570
|
+
|
|
571
|
+
case 'playPauseBlanketClick':
|
|
572
|
+
analyticsEvent = (0, _analytics.createPlayPauseBlanketClickedEvent)(type, playbackState, fileId);
|
|
573
|
+
break;
|
|
574
|
+
|
|
575
|
+
case 'timeRangeNavigate':
|
|
576
|
+
case 'volumeRangeNavigate':
|
|
577
|
+
analyticsEvent = (0, _analytics.createTimeRangeNavigatedEvent)(type, playbackState, actionSubjectId, fileId);
|
|
578
|
+
break;
|
|
579
|
+
|
|
580
|
+
case 'playbackSpeedChange':
|
|
581
|
+
analyticsEvent = (0, _analytics.createPlaybackSpeedChangedEvent)(type, playbackState, fileId);
|
|
582
|
+
break;
|
|
583
|
+
|
|
584
|
+
default:
|
|
585
|
+
analyticsEvent = {
|
|
586
|
+
eventType: 'ui',
|
|
587
|
+
action: 'default',
|
|
588
|
+
actionSubject: 'customMediaPlayer',
|
|
589
|
+
attributes: {
|
|
590
|
+
type: type
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
(0, _analytics.fireAnalyticsEvent)(analyticsEvent, createAnalyticsEvent);
|
|
596
|
+
}
|
|
339
597
|
}, {
|
|
340
598
|
key: "render",
|
|
341
599
|
value: function render() {
|
|
342
600
|
var _this2 = this;
|
|
343
601
|
|
|
344
|
-
var _this$
|
|
345
|
-
type = _this$
|
|
346
|
-
src = _this$
|
|
347
|
-
isAutoPlay = _this$
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
onCanPlay = _this$props4.onCanPlay,
|
|
351
|
-
onError = _this$props4.onError;
|
|
352
|
-
var isFullScreenEnabled = this.state.isFullScreenEnabled;
|
|
602
|
+
var _this$props6 = this.props,
|
|
603
|
+
type = _this$props6.type,
|
|
604
|
+
src = _this$props6.src,
|
|
605
|
+
isAutoPlay = _this$props6.isAutoPlay,
|
|
606
|
+
onCanPlay = _this$props6.onCanPlay,
|
|
607
|
+
onError = _this$props6.onError;
|
|
353
608
|
return /*#__PURE__*/_react.default.createElement(_styled.CustomVideoWrapper, {
|
|
354
609
|
innerRef: this.saveVideoWrapperRef,
|
|
355
610
|
"data-testid": "custom-media-player"
|
|
@@ -362,8 +617,12 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
362
617
|
onTimeChange: this.onCurrentTimeChange,
|
|
363
618
|
onError: onError
|
|
364
619
|
}, function (video, videoState, actions) {
|
|
365
|
-
_this2.
|
|
620
|
+
_this2.onViewed(videoState);
|
|
621
|
+
|
|
622
|
+
_this2.setActions(actions); //Video State(either prop or variable) is ReadOnly
|
|
366
623
|
|
|
624
|
+
|
|
625
|
+
_this2.videoState = videoState;
|
|
367
626
|
var status = videoState.status,
|
|
368
627
|
currentTime = videoState.currentTime,
|
|
369
628
|
buffered = videoState.buffered,
|
|
@@ -371,33 +630,30 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
371
630
|
isLoading = videoState.isLoading;
|
|
372
631
|
var isLargePlayer = _this2.state.isLargePlayer;
|
|
373
632
|
var isPlaying = status === 'playing';
|
|
374
|
-
var
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
var
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
633
|
+
var skipAmount = 10;
|
|
634
|
+
|
|
635
|
+
var skipBackward = function skipBackward() {
|
|
636
|
+
var newTime = videoState.currentTime - skipAmount;
|
|
637
|
+
actions.navigate(Math.max(newTime, 0));
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
var skipForward = function skipForward() {
|
|
641
|
+
var newTime = videoState.currentTime + skipAmount;
|
|
642
|
+
actions.navigate(Math.min(newTime, videoState.duration));
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
var shortcuts = _this2.renderShortcuts({
|
|
646
|
+
togglePlayPauseAction: isPlaying ? _this2.pause : _this2.play,
|
|
647
|
+
toggleMute: actions.toggleMute,
|
|
648
|
+
skipBackward: skipBackward,
|
|
649
|
+
skipForward: skipForward
|
|
386
650
|
});
|
|
387
651
|
|
|
388
|
-
var shortcuts = (isShortcutEnabled || isFullScreenEnabled) && [/*#__PURE__*/_react.default.createElement(_shortcut.Shortcut, {
|
|
389
|
-
key: "space-shortcut",
|
|
390
|
-
keyCode: _shortcut.keyCodes.space,
|
|
391
|
-
handler: _this2.shortcutHandler(toggleButtonAction)
|
|
392
|
-
}), /*#__PURE__*/_react.default.createElement(_shortcut.Shortcut, {
|
|
393
|
-
key: "m-shortcut",
|
|
394
|
-
keyCode: _shortcut.keyCodes.m,
|
|
395
|
-
handler: _this2.shortcutHandler(actions.toggleMute)
|
|
396
|
-
})];
|
|
397
652
|
return /*#__PURE__*/_react.default.createElement(_styled.VideoWrapper, null, /*#__PURE__*/_react.default.createElement(_widthDetector.WidthObserver, {
|
|
398
653
|
setWidth: _this2.onResize
|
|
399
654
|
}), shortcuts, isLoading && _this2.renderSpinner(), /*#__PURE__*/_react.default.createElement(_playPauseBlanket.PlayPauseBlanket, {
|
|
400
|
-
|
|
655
|
+
onDoubleClick: _this2.doubleClickToFullscreen,
|
|
656
|
+
onClick: isPlaying ? _this2.pausePlayByBlanketClick : _this2.startPlayByBlanketClick,
|
|
401
657
|
"data-testid": "play-pause-blanket"
|
|
402
658
|
}, video), /*#__PURE__*/_react.default.createElement(_styled.ControlsWrapper, {
|
|
403
659
|
className: _classNames.hideControlsClassName
|
|
@@ -405,16 +661,22 @@ var CustomMediaPlayer = /*#__PURE__*/function (_Component) {
|
|
|
405
661
|
currentTime: currentTime,
|
|
406
662
|
bufferedTime: buffered,
|
|
407
663
|
duration: duration,
|
|
408
|
-
onChange:
|
|
409
|
-
|
|
664
|
+
onChange: actions.navigate,
|
|
665
|
+
onChanged: _this2.onTimeChanged
|
|
666
|
+
})), /*#__PURE__*/_react.default.createElement(_styled.TimebarWrapper, null, /*#__PURE__*/_react.default.createElement(_styled.LeftControls, null, _this2.renderPlayPauseButton(isPlaying), _this2.renderSkipBackwardButton(skipBackward), _this2.renderSkipForwardButton(skipForward), _this2.renderVolume(videoState, actions, isLargePlayer)), /*#__PURE__*/_react.default.createElement(_styled.RightControls, null, isLargePlayer && _this2.renderCurrentTime(videoState), _this2.renderHDButton(), _this2.renderSpeedControls(), _this2.renderFullScreenButton(), _this2.renderDownloadButton()))));
|
|
410
667
|
}));
|
|
411
668
|
}
|
|
412
669
|
}]);
|
|
413
|
-
return
|
|
670
|
+
return CustomMediaPlayerBase;
|
|
414
671
|
}(_react.Component);
|
|
415
672
|
|
|
416
|
-
exports.
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
673
|
+
exports.CustomMediaPlayerBase = CustomMediaPlayerBase;
|
|
674
|
+
var CustomMediaPlayer = (0, _mediaCommon.withMediaAnalyticsContext)({
|
|
675
|
+
packageVersion: _version.version,
|
|
676
|
+
packageName: _version.name,
|
|
677
|
+
componentName: 'customMediaPlayer',
|
|
678
|
+
component: 'customMediaPlayer'
|
|
679
|
+
}, {
|
|
680
|
+
filterFeatureFlags: _analytics.relevantFeatureFlagNames
|
|
681
|
+
})((0, _analyticsNext.withAnalyticsEvents)()((0, _reactIntl.injectIntl)(CustomMediaPlayerBase)));
|
|
682
|
+
exports.CustomMediaPlayer = CustomMediaPlayer;
|
|
@@ -150,7 +150,8 @@ var PlaybackSpeedControls = /*#__PURE__*/function (_Component) {
|
|
|
150
150
|
value: function render() {
|
|
151
151
|
var _this$props = this.props,
|
|
152
152
|
playbackSpeed = _this$props.playbackSpeed,
|
|
153
|
-
intl = _this$props.intl
|
|
153
|
+
intl = _this$props.intl,
|
|
154
|
+
onClick = _this$props.onClick;
|
|
154
155
|
var popupHeight = this.state.popupHeight;
|
|
155
156
|
var value = this.speedOptions()[0].options.find(function (option) {
|
|
156
157
|
return option.value === playbackSpeed;
|
|
@@ -200,7 +201,8 @@ var PlaybackSpeedControls = /*#__PURE__*/function (_Component) {
|
|
|
200
201
|
}, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
201
202
|
testId: "custom-media-player-playback-speed-toggle-button",
|
|
202
203
|
buttonRef: ref,
|
|
203
|
-
isSelected: isOpen
|
|
204
|
+
isSelected: isOpen,
|
|
205
|
+
onClick: onClick
|
|
204
206
|
}, playbackSpeed, "x"));
|
|
205
207
|
},
|
|
206
208
|
styles: this.popupCustomStyles,
|
|
@@ -101,10 +101,15 @@ var TimeRange = /*#__PURE__*/function (_Component) {
|
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
103
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMouseUp", function () {
|
|
104
|
-
// As soon as user finished dragging, we should clean up events.
|
|
104
|
+
var onChanged = _this.props.onChanged; // As soon as user finished dragging, we should clean up events.
|
|
105
|
+
|
|
105
106
|
document.removeEventListener('mouseup', _this.onMouseUp);
|
|
106
107
|
document.removeEventListener('mousemove', _this.onMouseMove);
|
|
107
108
|
|
|
109
|
+
if (onChanged) {
|
|
110
|
+
onChanged();
|
|
111
|
+
}
|
|
112
|
+
|
|
108
113
|
_this.setState({
|
|
109
114
|
isDragging: false
|
|
110
115
|
});
|