aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/VideoBox.tsx
diff options
context:
space:
mode:
authorgeireann <geireann.lindfield@gmail.com>2024-07-25 15:06:01 -0400
committergeireann <geireann.lindfield@gmail.com>2024-07-25 15:06:01 -0400
commite1db06d59d580aa640212a0d3a6aeecb9122bdf0 (patch)
tree26e61dd0fc7ed4ae6e4eabe00551ff3d9883e7ba /src/client/views/nodes/VideoBox.tsx
parent6b5455503c9a63648e9d8b475a41fdeef06352ce (diff)
lots more 'any' cleanup and more.
Diffstat (limited to 'src/client/views/nodes/VideoBox.tsx')
-rw-r--r--src/client/views/nodes/VideoBox.tsx16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/client/views/nodes/VideoBox.tsx b/src/client/views/nodes/VideoBox.tsx
index fe7600fa3..1f285b300 100644
--- a/src/client/views/nodes/VideoBox.tsx
+++ b/src/client/views/nodes/VideoBox.tsx
@@ -1,4 +1,3 @@
-/* eslint-disable jsx-a11y/media-has-caption */
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { action, computed, IReactionDisposer, makeObservable, observable, ObservableMap, reaction, runInAction } from 'mobx';
import { observer } from 'mobx-react';
@@ -59,8 +58,8 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
private _marqueeref = React.createRef<MarqueeAnnotator>();
private _mainCont: React.RefObject<HTMLDivElement> = React.createRef(); // outermost div
private _annotationLayer: React.RefObject<HTMLDivElement> = React.createRef();
- private _playRegionTimer: any = null; // timeout for playback
- private _controlsFadeTimer: any = null; // timeout for controls fade
+ private _playRegionTimer: NodeJS.Timeout | undefined; // timeout for playback
+ private _controlsFadeTimer: NodeJS.Timeout | undefined; // timeout for controls fade
private _ffref = React.createRef<CollectionFreeFormView>();
constructor(props: FieldViewProps) {
@@ -142,7 +141,7 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
switch (e.key) {
case 'ArrowLeft':
case 'ArrowRight':
- clearTimeout(this._controlsFadeTimer);
+ this._controlsFadeTimer && clearTimeout(this._controlsFadeTimer);
this._scrubbing = true;
this._controlsFadeTimer = setTimeout(
action(() => {
@@ -217,7 +216,7 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
this._playTimer = undefined;
this.updateTimecode();
if (!this._finished) {
- clearTimeout(this._playRegionTimer); // if paused in the middle of playback, prevents restart on next play
+ this._playRegionTimer && clearTimeout(this._playRegionTimer); // if paused in the middle of playback, prevents restart on next play
}
this._playRegionTimer = undefined;
};
@@ -420,7 +419,6 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
this._videoRef = vref;
if (vref) {
this._videoRef!.ontimeupdate = this.updateTimecode;
- // @ts-ignore
// vref.onfullscreenchange = action((e) => this._fullScreen = vref.webkitDisplayingFullscreen);
this._disposers.reactionDisposer?.();
this._disposers.reactionDisposer = reaction(
@@ -469,7 +467,7 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
runInAction(() => {
this._screenCapture = !this._screenCapture;
});
- this._videoRef!.srcObject = !this._screenCapture ? undefined : await (navigator.mediaDevices as any).getDisplayMedia({ video: true });
+ this._videoRef!.srcObject = !this._screenCapture ? null : await (navigator.mediaDevices).getDisplayMedia({ video: true });
},
icon: 'expand-arrows-alt',
});
@@ -877,7 +875,7 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
return (
<div className="videoBox-stackPanel" style={{ transition: this.transition, height: `${100 - this.heightPercent}%`, display: this.heightPercent === 100 ? 'none' : '' }}>
<CollectionStackedTimeline
- ref={action((r: any) => {
+ ref={action((r: CollectionStackedTimeline) => {
this._stackedTimeline = r;
})}
// eslint-disable-next-line react/jsx-props-no-spreading
@@ -968,7 +966,7 @@ export class VideoBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
focus = (anchor: Doc, options: FocusViewOptions) => (anchor.type === DocumentType.CONFIG ? undefined : this._ffref.current?.focus(anchor, options));
savedAnnotations = () => this._savedAnnotations;
render() {
- const borderRad = this._props.styleProvider?.(this.layoutDoc, this._props, StyleProp.BorderRounding);
+ const borderRad = this._props.styleProvider?.(this.layoutDoc, this._props, StyleProp.BorderRounding) as string;
const borderRadius = borderRad?.includes('px') ? `${Number(borderRad.split('px')[0]) / this.scaling()}px` : borderRad;
return (
<div