@clickview/player 0.0.5 → 0.0.6-dev.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/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +21 -2
- package/dist/libs/common/src/backbone/core/AppLink.d.ts +0 -4
- package/dist/libs/common/src/backbone/interfaces/Xhr.d.ts +2 -2
- package/dist/libs/shared/src/apps/notifications/enums/NotificationType.d.ts +2 -1
- package/dist/libs/shared/src/enums/MasterType.d.ts +1 -0
- package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +4 -1
- package/dist/libs/shared/src/images/svg/objects/index.d.ts +2 -1
- package/dist/libs/shared/src/images/svg/status/index.d.ts +2 -1
- package/dist/libs/shared/src/interfaces/app-variables/BaseNotificationsAppVariables.d.ts +2 -0
- package/dist/libs/shared/src/interfaces/models/User.d.ts +13 -1
- package/dist/libs/shared/src/interfaces/models/interactive-results/StudentResult.d.ts +2 -1
- package/dist/libs/shared/src/utils/ImageHelper.d.ts +2 -1
- package/dist/player-app.css +23 -21
- package/dist/player-app.js +13 -13
- package/dist/projects/player/src/components/chapter-bar-items/chapter-bar-item.d.ts +1 -0
- package/dist/projects/player/src/components/chapter-bar-items/chapter-bar-items.d.ts +1 -0
- package/dist/projects/player/src/components/cog-button/cog-button.d.ts +0 -1
- package/dist/projects/player/src/components/cog-button/collapsible-heading-menu-item.d.ts +15 -0
- package/dist/projects/player/src/components/collapserator/collapserator.d.ts +1 -1
- package/dist/projects/player/src/components/keyboard-shortcuts-button/keyboard-shortcuts-button.d.ts +1 -0
- package/dist/projects/player/src/components/menu/menu.d.ts +7 -0
- package/dist/projects/player/src/components/play-pause-feedback/play-pause-feedback.d.ts +1 -0
- package/dist/projects/player/src/components/play-toggle/play-toggle.d.ts +1 -0
- package/dist/projects/player/src/components/player/player.d.ts +4 -0
- package/dist/projects/player/src/components/subs-caps-button/off-text-track-menu-item.d.ts +1 -0
- package/dist/projects/player/src/components/subs-caps-button/subs-caps-button.d.ts +1 -0
- package/dist/projects/player/src/components/subs-caps-button/subtitle-search-menu-item.d.ts +2 -1
- package/dist/projects/player/src/components/subtitle-search-button/subtitle-search-button.d.ts +2 -0
- package/dist/projects/player/src/components/subtitle-search-button/subtitle-search-input.d.ts +1 -0
- package/dist/projects/player/src/players/base-player.d.ts +13 -2
- package/dist/projects/player/src/players/interactive-player.d.ts +4 -0
- package/dist/projects/player/src/players/player.d.ts +0 -5
- package/dist/projects/player/src/plugins/fullscreen-on-rotate-plugin/fullscreen-on-rotate-plugin.d.ts +29 -0
- package/dist/projects/player/src/plugins/interactive-plugin/hooks/useStateManager.d.ts +2 -0
- package/dist/projects/player/src/plugins/interactive-plugin/interactive-plugin.d.ts +2 -0
- package/dist/projects/player/src/plugins/next-video-plugin/next-video-plugin.d.ts +1 -1
- package/dist/projects/player/src/plugins/open-externally-plugin/open-externally-plugin.d.ts +30 -0
- package/dist/projects/player/src/plugins/persist-subtitle-settings-plugin/persist-subtitle-settings-plugin.d.ts +0 -1
- package/dist/projects/player/src/plugins/persist-volume-plugin/persist-volume-plugin.d.ts +25 -0
- package/dist/projects/player/src/plugins/picture-in-picture-plugin/picture-in-picture-plugin.d.ts +0 -1
- package/dist/projects/player/src/plugins/progress-reporter-plugin/progress-reporter-plugin.d.ts +1 -0
- package/dist/projects/player/src/plugins/progressive-files-plugin/progressive-files-plugin.d.ts +3 -0
- package/dist/projects/player/src/plugins/touch-controls-plugin/touch-controls-plugin.d.ts +40 -0
- package/dist/projects/player/src/services/analytics-service.d.ts +5 -1
- package/package.json +70 -70
- package/dist/projects/player/src/plugins/example-plugin/components/example-button/example-button.d.ts +0 -1
- package/dist/projects/player/src/plugins/example-plugin/example-plugin.d.ts +0 -2
- package/dist/projects/player/src/utils/scrollbar-helper.d.ts +0 -6
- /package/dist/projects/player/src/{plugins/example-plugin/components/example-react-button/example-react-button.d.ts → components/seek-bar/seek-bar.d.ts} +0 -0
|
@@ -28,7 +28,6 @@ export declare class CogButton extends MenuButton {
|
|
|
28
28
|
constructor(player: VideoJsPlayer, options: CogButtonOptions);
|
|
29
29
|
buildWrapperCSSClass(): string;
|
|
30
30
|
buildCSSClass(): string;
|
|
31
|
-
pressButton(): void;
|
|
32
31
|
/**
|
|
33
32
|
* Create the list of menu items. Specific to each subclass.
|
|
34
33
|
*
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import videojs, { VideoJsPlayer } from 'video.js';
|
|
2
|
+
declare const MenuItem: {
|
|
3
|
+
new (player: VideoJsPlayer, options?: videojs.MenuItemOptions): videojs.MenuItem;
|
|
4
|
+
prototype: videojs.MenuItem;
|
|
5
|
+
};
|
|
6
|
+
interface CollapsibleHeadingMenuItemOptions extends videojs.MenuItemOptions {
|
|
7
|
+
onClickBack?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class CollapsibleHeadingMenuItem extends MenuItem {
|
|
10
|
+
options_: CollapsibleHeadingMenuItemOptions;
|
|
11
|
+
constructor(player: VideoJsPlayer, options?: CollapsibleHeadingMenuItemOptions);
|
|
12
|
+
createEl(): HTMLLIElement;
|
|
13
|
+
handleClick(event: videojs.EventTarget.Event): void;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'projects/player/components/cog-button/cog-button';
|
|
2
2
|
import 'projects/player/components/subtitle-size-button/subtitle-size-button';
|
|
3
3
|
import 'projects/player/components/subtitle-search-button/subtitle-search-button';
|
|
4
|
+
import 'projects/player/components/keyboard-shortcuts-button/keyboard-shortcuts-button';
|
|
4
5
|
import './collapserator.scss';
|
|
5
|
-
import '../play-toggle/play-toggle.scss';
|
|
6
6
|
import '../fullscreen-toggle/fullscreen-toggle.scss';
|
package/dist/projects/player/src/components/keyboard-shortcuts-button/keyboard-shortcuts-button.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './keyboard-shortcuts-button.scss';
|
|
@@ -5,6 +5,13 @@ declare const BaseMenu: {
|
|
|
5
5
|
};
|
|
6
6
|
export declare class Menu extends BaseMenu {
|
|
7
7
|
isDisposed_: boolean;
|
|
8
|
+
private simpleBar;
|
|
9
|
+
createEl(): HTMLDivElement;
|
|
10
|
+
contentEl(): Element;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
addItem(component: string | videojs.MenuItem): void;
|
|
13
|
+
lockShowing(): void;
|
|
14
|
+
recalculateScrollBar(): void;
|
|
8
15
|
/**
|
|
9
16
|
* The video.js Menu handleBlur function checks if the target is an immediate child
|
|
10
17
|
* but we have scenarios where the target is not an immediate child
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './play-pause-feedback.scss';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './play-toggle.scss';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { VideoJsPlayerOptions } from 'video.js';
|
|
1
2
|
import './player.scss';
|
|
2
3
|
export declare const IS_IPOD: boolean;
|
|
3
4
|
export declare const IS_ANDROID: boolean;
|
|
5
|
+
export interface PlayerWrapperOptions extends VideoJsPlayerOptions {
|
|
6
|
+
setMaxHeight?: boolean;
|
|
7
|
+
}
|
|
4
8
|
declare module 'video.js' {
|
|
5
9
|
interface VideoJsPlayer {
|
|
6
10
|
lock(callback: (success: () => void) => void): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -48,7 +48,8 @@ declare const TextTrackMenuItem: {
|
|
|
48
48
|
};
|
|
49
49
|
export declare class SubtitleSearchMenuItem extends TextTrackMenuItem {
|
|
50
50
|
constructor(player: VideoJsPlayer);
|
|
51
|
-
private
|
|
51
|
+
private toggleEnabled;
|
|
52
|
+
private bindTrackEvents;
|
|
52
53
|
handleClick(): void;
|
|
53
54
|
}
|
|
54
55
|
export {};
|
package/dist/projects/player/src/components/subtitle-search-button/subtitle-search-button.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ declare const MenuButton: {
|
|
|
8
8
|
};
|
|
9
9
|
export declare class SubtitleSearchButton extends MenuButton implements CollapsibleComponent {
|
|
10
10
|
constructor(player: VideoJsPlayer, options?: videojs.MenuButtonOptions);
|
|
11
|
+
private bindTrackEvents;
|
|
11
12
|
createItems(): SubtitleResultMenuItem[];
|
|
12
13
|
search(text: string): void;
|
|
13
14
|
private findMatches;
|
|
@@ -15,6 +16,7 @@ export declare class SubtitleSearchButton extends MenuButton implements Collapsi
|
|
|
15
16
|
private toggleNoResults;
|
|
16
17
|
buildWrapperCSSClass(): string;
|
|
17
18
|
update(): void;
|
|
19
|
+
pressButton(): void;
|
|
18
20
|
/**
|
|
19
21
|
* CollapsibileComponent interface implementation
|
|
20
22
|
* from here onward
|
package/dist/projects/player/src/components/subtitle-search-button/subtitle-search-input.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class SubtitleSearchInput extends MenuItem {
|
|
|
11
11
|
options_: SubtitleSearchInputOptions;
|
|
12
12
|
constructor(player: VideoJsPlayer, options: SubtitleSearchInputOptions);
|
|
13
13
|
createEl(): HTMLLIElement;
|
|
14
|
+
focus(): void;
|
|
14
15
|
/**
|
|
15
16
|
* Because we extend MenuItem which will close the menu by default
|
|
16
17
|
* we need to halt the event propogation here
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { VideoJsPlayer
|
|
1
|
+
import { VideoJsPlayer } from 'video.js';
|
|
2
2
|
import 'videojs-contrib-quality-levels';
|
|
3
|
+
import 'projects/player/plugins/persist-volume-plugin/persist-volume-plugin';
|
|
4
|
+
import 'projects/player/plugins/fullscreen-on-rotate-plugin/fullscreen-on-rotate-plugin';
|
|
5
|
+
import 'projects/player/plugins/open-externally-plugin/open-externally-plugin';
|
|
6
|
+
import 'projects/player/plugins/touch-controls-plugin/touch-controls-plugin';
|
|
3
7
|
import 'projects/player/plugins/progressive-files-plugin/progressive-files-plugin';
|
|
4
8
|
import 'projects/player/plugins/localcache-plugin/localcache-plugin';
|
|
5
9
|
import 'projects/player/plugins/persist-subtitle-settings-plugin/persist-subtitle-settings-plugin';
|
|
@@ -11,6 +15,8 @@ import 'projects/player/components/menu/menu';
|
|
|
11
15
|
import 'projects/player/components/menu-button/menu-button';
|
|
12
16
|
import 'projects/player/components/time-wrapper/time-wrapper';
|
|
13
17
|
import 'projects/player/components/collapserator/collapserator';
|
|
18
|
+
/** Seekbar must be imported before chapter-seek-bar */
|
|
19
|
+
import 'projects/player/components/seek-bar/seek-bar';
|
|
14
20
|
import 'projects/player/components/chapter-seek-bar/chapter-seek-bar';
|
|
15
21
|
import 'projects/player/components/progress-control/progress-control';
|
|
16
22
|
import 'projects/player/components/mouse-time-display/mouse-time-display';
|
|
@@ -20,6 +26,8 @@ import 'projects/player/components/quality-selector/quality-button';
|
|
|
20
26
|
import 'projects/player/components/playback-rate-button/playback-rate-button';
|
|
21
27
|
import 'projects/player/components/text-track-settings/text-track-settings';
|
|
22
28
|
import 'projects/player/components/player/player';
|
|
29
|
+
import 'projects/player/components/play-pause-feedback/play-pause-feedback';
|
|
30
|
+
import 'projects/player/components/play-toggle/play-toggle';
|
|
23
31
|
/**
|
|
24
32
|
* *.scss imports must be relative
|
|
25
33
|
*/
|
|
@@ -32,6 +40,8 @@ import { ExternalLinkOptions } from 'projects/player/plugins/open-externally-plu
|
|
|
32
40
|
import { PlaybackObject } from 'projects/player/interfaces/models/PlaybackObject';
|
|
33
41
|
import { AnalyticsPlayerType, AnalyticsService } from 'projects/player/services/analytics-service';
|
|
34
42
|
import { ProgressEvent } from 'projects/player/plugins/progress-reporter-plugin/progress-reporter-plugin';
|
|
43
|
+
import { PlayerWrapperOptions } from 'projects/player/components/player/player';
|
|
44
|
+
import { HashObject } from 'libs/analytics/interfaces';
|
|
35
45
|
export interface BasePlayerOptions {
|
|
36
46
|
autoplay?: boolean;
|
|
37
47
|
viewKey: string;
|
|
@@ -68,11 +78,12 @@ export declare abstract class BasePlayer {
|
|
|
68
78
|
protected configurePlugins(): void;
|
|
69
79
|
protected onFlushProgress(events: ProgressEvent[]): void;
|
|
70
80
|
protected buildVideoJs(): VideoJsPlayer;
|
|
71
|
-
protected getPlayerOptions():
|
|
81
|
+
protected getPlayerOptions(): PlayerWrapperOptions;
|
|
72
82
|
protected fetch(): Promise<void>;
|
|
73
83
|
private fetchConfig;
|
|
74
84
|
protected additionalSetup(playbackObject: PlaybackObject): void;
|
|
75
85
|
private setupAnalyticsService;
|
|
86
|
+
protected getAdditionalAnalyticsData(playbackObject: PlaybackObject): HashObject;
|
|
76
87
|
protected logStream(): void;
|
|
77
88
|
protected getAnalyticsPlayerType(): AnalyticsPlayerType;
|
|
78
89
|
protected createEl(id: string | Element): HTMLVideoElement;
|
|
@@ -6,6 +6,8 @@ import { PlaybackObject } from 'projects/player/interfaces/models/PlaybackObject
|
|
|
6
6
|
import { AnalyticsPlayerType } from 'projects/player/services/analytics-service';
|
|
7
7
|
import { ProgressEvent } from 'projects/player/plugins/progress-reporter-plugin/progress-reporter-plugin';
|
|
8
8
|
import 'projects/player/plugins/interactive-plugin/interactive-plugin';
|
|
9
|
+
import { PlayerWrapperOptions } from '../components/player/player';
|
|
10
|
+
import { HashObject } from 'libs/analytics/interfaces';
|
|
9
11
|
export interface InteractivePlayerOptions extends BasePlayerOptions {
|
|
10
12
|
mode?: InteractiveMode;
|
|
11
13
|
imageApi?: URL;
|
|
@@ -21,10 +23,12 @@ export declare class InteractivePlayer extends BasePlayer {
|
|
|
21
23
|
private resultsService;
|
|
22
24
|
private totalProgress;
|
|
23
25
|
constructor(id: string | Element, options: InteractivePlayerOptions);
|
|
26
|
+
protected getPlayerOptions(): PlayerWrapperOptions;
|
|
24
27
|
protected onFlushProgress(events: ProgressEvent[]): void;
|
|
25
28
|
protected additionalSetup(playbackObject: PlaybackObject): Promise<void>;
|
|
26
29
|
private setupUpClipPlugin;
|
|
27
30
|
private setupViewInteractivePlugin;
|
|
31
|
+
protected getAdditionalAnalyticsData(playbackObject: PlaybackObject): HashObject;
|
|
28
32
|
protected getSeekBarOptions(): any;
|
|
29
33
|
protected getAnalyticsPlayerType(): AnalyticsPlayerType;
|
|
30
34
|
}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { BasePlayer, BasePlayerOptions } from './base-player';
|
|
2
|
-
import 'projects/player/plugins/example-plugin/example-plugin';
|
|
3
|
-
import 'projects/player/plugins/persist-volume-plugin/persist-volume-plugin';
|
|
4
|
-
import 'projects/player/plugins/fullscreen-on-rotate-plugin/fullscreen-on-rotate-plugin';
|
|
5
|
-
import 'projects/player/plugins/open-externally-plugin/open-externally-plugin';
|
|
6
2
|
import 'projects/player/plugins/clip-plugin/clip-plugin';
|
|
7
|
-
import 'projects/player/plugins/touch-controls-plugin/touch-controls-plugin';
|
|
8
3
|
import 'projects/player/plugins/next-video-plugin/next-video-plugin';
|
|
9
4
|
import 'projects/player/plugins/create-clip-button-plugin/create-clip-button-plugin';
|
|
10
5
|
import 'projects/player/plugins/resources-plugin/resources-plugin';
|
|
@@ -1 +1,30 @@
|
|
|
1
|
+
import videojs, { VideoJsPlayer } from 'video.js';
|
|
2
|
+
declare const Plugin: {
|
|
3
|
+
new (player: VideoJsPlayer, options?: any): videojs.Plugin;
|
|
4
|
+
prototype: videojs.Plugin;
|
|
5
|
+
BASE_PLUGIN_NAME: string;
|
|
6
|
+
deregisterPlugin(name: string): void;
|
|
7
|
+
getPlugin(name: string): any;
|
|
8
|
+
getPluginVersion(name: string): string;
|
|
9
|
+
getPlugins(names?: string[]): {
|
|
10
|
+
[name: string]: videojs.Plugin;
|
|
11
|
+
};
|
|
12
|
+
isBasic(plugin: string | (() => any)): boolean;
|
|
13
|
+
registerPlugin<T, K>(name: string, plugin: (this: VideoJsPlayer, ...options: K[]) => T): (...options: K[]) => T;
|
|
14
|
+
registerPlugin<T_1 extends any>(name: string, plugin: T_1): () => T_1;
|
|
15
|
+
};
|
|
16
|
+
declare class FullscreenOnRotatePlugin extends Plugin {
|
|
17
|
+
constructor(player: VideoJsPlayer);
|
|
18
|
+
private initialize;
|
|
19
|
+
private onFullscreenChange;
|
|
20
|
+
private onRotate;
|
|
21
|
+
private hasScreenOrientation;
|
|
22
|
+
private hasScreenLock;
|
|
23
|
+
private getAngle;
|
|
24
|
+
}
|
|
25
|
+
declare module 'video.js' {
|
|
26
|
+
interface VideoJsPlayer {
|
|
27
|
+
fullscreenOnRotatePlugin(): FullscreenOnRotatePlugin;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
1
30
|
export {};
|
|
@@ -2,6 +2,7 @@ import { VideoJsPlayer } from 'video.js';
|
|
|
2
2
|
import { Interaction, InteractionTypeId, Interactive, Timepoint } from 'libs/shared/interfaces';
|
|
3
3
|
import { InteractiveMode, LatestSession } from 'projects/player/plugins/interactive-plugin/interfaces';
|
|
4
4
|
import { ResultsService } from 'projects/player/plugins/interactive-plugin/utils/ResultsService';
|
|
5
|
+
import { AnalyticsService } from 'projects/player/services/analytics-service';
|
|
5
6
|
interface UseStateManagerProps {
|
|
6
7
|
mode: InteractiveMode;
|
|
7
8
|
timepoint: Timepoint;
|
|
@@ -9,6 +10,7 @@ interface UseStateManagerProps {
|
|
|
9
10
|
player: VideoJsPlayer;
|
|
10
11
|
resultsService?: ResultsService;
|
|
11
12
|
latestSession?: LatestSession;
|
|
13
|
+
analyticsService: AnalyticsService;
|
|
12
14
|
setOpen: (open: boolean) => void;
|
|
13
15
|
addCue: (timepointId: string) => void;
|
|
14
16
|
updateCue: (oldTimepointId: string, timepointId: string) => void;
|
|
@@ -4,6 +4,7 @@ import { CurrentUser, Interactive } from 'libs/shared/interfaces';
|
|
|
4
4
|
import { InteractiveMode, LatestSession } from 'projects/player/plugins/interactive-plugin/interfaces';
|
|
5
5
|
import { ResultsService } from 'projects/player/plugins/interactive-plugin/utils/ResultsService';
|
|
6
6
|
import { ProgressEvent } from 'projects/player/plugins/progress-reporter-plugin/progress-reporter-plugin';
|
|
7
|
+
import { AnalyticsService } from 'projects/player/services/analytics-service';
|
|
7
8
|
import 'projects/player/plugins/interactive-plugin/components/interactive/interactive-component';
|
|
8
9
|
import 'projects/player/plugins/interactive-plugin/components/continue-session/continue-session';
|
|
9
10
|
import './interactive-plugin-styles.scss';
|
|
@@ -32,6 +33,7 @@ interface InteractivePluginOptions {
|
|
|
32
33
|
progress?: ProgressEvent[];
|
|
33
34
|
latestSession?: LatestSession;
|
|
34
35
|
clipOffset?: number;
|
|
36
|
+
analyticsService: AnalyticsService;
|
|
35
37
|
}
|
|
36
38
|
declare class InteractivePlugin extends Plugin {
|
|
37
39
|
private options;
|
|
@@ -30,7 +30,7 @@ declare class NextVideoPlugin extends Plugin {
|
|
|
30
30
|
setShouldPlayNext(val: boolean): void;
|
|
31
31
|
private setChapterTrack;
|
|
32
32
|
private bindListeners;
|
|
33
|
-
|
|
33
|
+
dispose(): void;
|
|
34
34
|
private onTimeUpdate;
|
|
35
35
|
private showUpNext;
|
|
36
36
|
private hideUpNext;
|
|
@@ -1 +1,31 @@
|
|
|
1
|
+
import videojs, { VideoJsPlayer } from 'video.js';
|
|
2
|
+
import { ExternalLinkOptions } from 'projects/player/plugins/open-externally-plugin/interfaces/ExternalLinkOptions';
|
|
1
3
|
import 'projects/player/plugins/open-externally-plugin/components/open-externally-button';
|
|
4
|
+
declare const Plugin: {
|
|
5
|
+
new (player: VideoJsPlayer, options?: any): videojs.Plugin;
|
|
6
|
+
prototype: videojs.Plugin;
|
|
7
|
+
BASE_PLUGIN_NAME: string;
|
|
8
|
+
deregisterPlugin(name: string): void;
|
|
9
|
+
getPlugin(name: string): any;
|
|
10
|
+
getPluginVersion(name: string): string;
|
|
11
|
+
getPlugins(names?: string[]): {
|
|
12
|
+
[name: string]: videojs.Plugin;
|
|
13
|
+
};
|
|
14
|
+
isBasic(plugin: string | (() => any)): boolean;
|
|
15
|
+
registerPlugin<T, K>(name: string, plugin: (this: VideoJsPlayer, ...options: K[]) => T): (...options: K[]) => T;
|
|
16
|
+
registerPlugin<T_1 extends any>(name: string, plugin: T_1): () => T_1;
|
|
17
|
+
};
|
|
18
|
+
interface OpenExternallyPluginOptions {
|
|
19
|
+
getExternalLink: (options: ExternalLinkOptions) => string;
|
|
20
|
+
}
|
|
21
|
+
declare class OpenExternallyPlugin extends Plugin {
|
|
22
|
+
private options;
|
|
23
|
+
constructor(player: VideoJsPlayer, options: OpenExternallyPluginOptions);
|
|
24
|
+
private onReady;
|
|
25
|
+
}
|
|
26
|
+
declare module 'video.js' {
|
|
27
|
+
interface VideoJsPlayer {
|
|
28
|
+
openExternallyPlugin(oprions: OpenExternallyPluginOptions): OpenExternallyPlugin;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -20,7 +20,6 @@ interface PersistSubtitleSettingsPluginOptions {
|
|
|
20
20
|
}
|
|
21
21
|
declare class PersistSubtitleSettingsPlugin extends Plugin {
|
|
22
22
|
private options;
|
|
23
|
-
private trackGuess;
|
|
24
23
|
constructor(player: VideoJsPlayer, options: PersistSubtitleSettingsPluginOptions);
|
|
25
24
|
private initialize;
|
|
26
25
|
private safeGet;
|
|
@@ -1 +1,26 @@
|
|
|
1
|
+
import videojs, { VideoJsPlayer } from 'video.js';
|
|
2
|
+
declare const Plugin: {
|
|
3
|
+
new (player: VideoJsPlayer, options?: any): videojs.Plugin;
|
|
4
|
+
prototype: videojs.Plugin;
|
|
5
|
+
BASE_PLUGIN_NAME: string;
|
|
6
|
+
deregisterPlugin(name: string): void;
|
|
7
|
+
getPlugin(name: string): any;
|
|
8
|
+
getPluginVersion(name: string): string;
|
|
9
|
+
getPlugins(names?: string[]): {
|
|
10
|
+
[name: string]: videojs.Plugin;
|
|
11
|
+
};
|
|
12
|
+
isBasic(plugin: string | (() => any)): boolean;
|
|
13
|
+
registerPlugin<T, K>(name: string, plugin: (this: VideoJsPlayer, ...options: K[]) => T): (...options: K[]) => T;
|
|
14
|
+
registerPlugin<T_1 extends any>(name: string, plugin: T_1): () => T_1;
|
|
15
|
+
};
|
|
16
|
+
declare class PersistVolumePlugin extends Plugin {
|
|
17
|
+
constructor(player: VideoJsPlayer);
|
|
18
|
+
private initialize;
|
|
19
|
+
private saveVolumeState;
|
|
20
|
+
}
|
|
21
|
+
declare module 'video.js' {
|
|
22
|
+
interface VideoJsPlayer {
|
|
23
|
+
persistVolumePlugin(): PersistVolumePlugin;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
1
26
|
export {};
|
package/dist/projects/player/src/plugins/picture-in-picture-plugin/picture-in-picture-plugin.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ declare const Plugin: {
|
|
|
15
15
|
registerPlugin<T_1 extends any>(name: string, plugin: T_1): () => T_1;
|
|
16
16
|
};
|
|
17
17
|
interface PictureInPicturePluginOptions {
|
|
18
|
-
initialIsInPictureInPicture: boolean;
|
|
19
18
|
onRequestPictureInPicture: (isPiP: boolean) => void;
|
|
20
19
|
}
|
|
21
20
|
declare class PictureInPicturePlugin extends Plugin {
|
package/dist/projects/player/src/plugins/progressive-files-plugin/progressive-files-plugin.d.ts
CHANGED
|
@@ -19,7 +19,9 @@ export declare class ProgressiveFilesPlugin extends Plugin {
|
|
|
19
19
|
private sources;
|
|
20
20
|
private _currentSource;
|
|
21
21
|
private qualityLevels;
|
|
22
|
+
private options_;
|
|
22
23
|
constructor(player: VideoJsPlayer, options: ProgressiveFilesPluginOptions);
|
|
24
|
+
private initialize;
|
|
23
25
|
get currentSource(): Source;
|
|
24
26
|
/**
|
|
25
27
|
* Sets the current player source. If the id cannot be found, the current source is returned
|
|
@@ -27,6 +29,7 @@ export declare class ProgressiveFilesPlugin extends Plugin {
|
|
|
27
29
|
*/
|
|
28
30
|
setSource(id: string): Source;
|
|
29
31
|
getSourceById(id: string): Source;
|
|
32
|
+
private sortSources;
|
|
30
33
|
private populateSources;
|
|
31
34
|
private sourceChangeUpdateQualityLevels;
|
|
32
35
|
}
|
|
@@ -1 +1,41 @@
|
|
|
1
|
+
import videojs, { VideoJsPlayer } from 'video.js';
|
|
1
2
|
import './components/touch-controls/touch-controls';
|
|
3
|
+
declare const Plugin: {
|
|
4
|
+
new (player: VideoJsPlayer, options?: any): videojs.Plugin;
|
|
5
|
+
prototype: videojs.Plugin;
|
|
6
|
+
BASE_PLUGIN_NAME: string;
|
|
7
|
+
deregisterPlugin(name: string): void;
|
|
8
|
+
getPlugin(name: string): any;
|
|
9
|
+
getPluginVersion(name: string): string;
|
|
10
|
+
getPlugins(names?: string[]): {
|
|
11
|
+
[name: string]: videojs.Plugin;
|
|
12
|
+
};
|
|
13
|
+
isBasic(plugin: string | (() => any)): boolean;
|
|
14
|
+
registerPlugin<T, K>(name: string, plugin: (this: VideoJsPlayer, ...options: K[]) => T): (...options: K[]) => T;
|
|
15
|
+
registerPlugin<T_1 extends any>(name: string, plugin: T_1): () => T_1;
|
|
16
|
+
};
|
|
17
|
+
declare class TouchControlsPlugin extends Plugin {
|
|
18
|
+
private tech;
|
|
19
|
+
private touchControls;
|
|
20
|
+
private touchStartTime;
|
|
21
|
+
private lastTouchTime;
|
|
22
|
+
private doubleTouchCount;
|
|
23
|
+
private seekStartTime;
|
|
24
|
+
private directionModifier;
|
|
25
|
+
constructor(player: VideoJsPlayer);
|
|
26
|
+
private bindFunctions;
|
|
27
|
+
private initialize;
|
|
28
|
+
private reBindEventListeners;
|
|
29
|
+
private unBindEventListeners;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
private onTouchStart;
|
|
32
|
+
private onTouchEnd;
|
|
33
|
+
private resetProperties;
|
|
34
|
+
private onDoubleTouch;
|
|
35
|
+
}
|
|
36
|
+
declare module 'video.js' {
|
|
37
|
+
interface VideoJsPlayer {
|
|
38
|
+
touchControls(): TouchControlsPlugin;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RegionName } from 'libs/analytics/enums/RegionName';
|
|
2
|
-
import { RegionalUrl } from 'libs/analytics/interfaces';
|
|
2
|
+
import { RegionalUrl, AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';
|
|
3
3
|
import { ProgressEvent } from 'projects/player/plugins/progress-reporter-plugin/progress-reporter-plugin';
|
|
4
4
|
export declare type AnalyticsPlayerType = 'player' | 'interactive-player' | 'create-clip-player';
|
|
5
5
|
interface AnalyticsServiceOptions {
|
|
@@ -8,12 +8,14 @@ interface AnalyticsServiceOptions {
|
|
|
8
8
|
productVersion: string;
|
|
9
9
|
regionName: RegionName;
|
|
10
10
|
videoId: string;
|
|
11
|
+
mediaId: string;
|
|
11
12
|
userId: string;
|
|
12
13
|
customerId: string;
|
|
13
14
|
mediaType: 'MasterVideo' | 'MasterClip' | 'MasterInteractive';
|
|
14
15
|
playerType: AnalyticsPlayerType;
|
|
15
16
|
isEmbedded: boolean;
|
|
16
17
|
isUsingLocalCache: boolean;
|
|
18
|
+
additionalAnalyticsData?: HashObject;
|
|
17
19
|
}
|
|
18
20
|
export declare class AnalyticsService {
|
|
19
21
|
private options;
|
|
@@ -21,6 +23,8 @@ export declare class AnalyticsService {
|
|
|
21
23
|
constructor(options: AnalyticsServiceOptions);
|
|
22
24
|
logStream(): void;
|
|
23
25
|
logVideoProgress(events: ProgressEvent[]): void;
|
|
26
|
+
logUserAction(analyticsData: HashObject | HashObject[], analyticsOptions: AnalyticsOptions): void;
|
|
27
|
+
private getAnalyticsData;
|
|
24
28
|
private initialize;
|
|
25
29
|
private setupCollectionApiClient;
|
|
26
30
|
private getCurrentUser;
|
package/package.json
CHANGED
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@clickview/player",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "ClickView Player",
|
|
5
|
-
"main": "dist/player-app.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"start": "set NODE_ENV=development&& webpack -w --config ./tooling/webpack.config.js",
|
|
8
|
-
"build": "set NODE_ENV=production&& webpack --config ./tooling/webpack.config.js",
|
|
9
|
-
"build-font": "set NODE_ENV=development&& npm run start",
|
|
10
|
-
"dev-build": "set NODE_ENV=development&& webpack --config ./tooling/webpack.config.js",
|
|
11
|
-
"storybook": "start-storybook -s ./.storybook/stories/assets -p 6006",
|
|
12
|
-
"build-storybook": "build-storybook",
|
|
13
|
-
"test": "jest",
|
|
14
|
-
"test-watch": "jest --watch",
|
|
15
|
-
"webpack-dev-server": "set NODE_ENV=development&& webpack-dev-server --config ./tooling/webpack.config.js"
|
|
16
|
-
},
|
|
17
|
-
"repository": {
|
|
18
|
-
"type": "git",
|
|
19
|
-
"url": "https://gitlab.cvinternal.net/front-end/clickview"
|
|
20
|
-
},
|
|
21
|
-
"cv": {
|
|
22
|
-
"publishable": true,
|
|
23
|
-
"rebuildable": true
|
|
24
|
-
},
|
|
25
|
-
"author": "Matt Trengrove, Cameron Hill, Shale Kuzmanovski",
|
|
26
|
-
"license": "ISC",
|
|
27
|
-
"devDependencies": {
|
|
28
|
-
"@babel/core": "7.11.6",
|
|
29
|
-
"@clickview/eslint-config": "1.0.1",
|
|
30
|
-
"@clickview/player-font": "0.0.
|
|
31
|
-
"@clickview/tooling": "0.0.
|
|
32
|
-
"@storybook/react": "6.0.26",
|
|
33
|
-
"@types/chromecast-caf-sender": "1.0.3",
|
|
34
|
-
"@types/cropperjs": "1.3.0",
|
|
35
|
-
"@types/draft-js": "0.10.44",
|
|
36
|
-
"@types/node-polyglot": "0.4.34",
|
|
37
|
-
"@types/react-draft-wysiwyg": "1.13.1",
|
|
38
|
-
"@types/simplebar": "5.1.1",
|
|
39
|
-
"@types/video.js": "7.3.11",
|
|
40
|
-
"jest": "26.1.0",
|
|
41
|
-
"ts-jest": "26.1.4",
|
|
42
|
-
"webpack-dev-server": "3.11.0"
|
|
43
|
-
},
|
|
44
|
-
"dependencies": {
|
|
45
|
-
"@clickview/styles": "1.0.
|
|
46
|
-
"@microsoft/signalr": "5.0.2",
|
|
47
|
-
"cropperjs": "1.5.6",
|
|
48
|
-
"draft-convert": "2.1.10",
|
|
49
|
-
"draft-js": "0.11.7",
|
|
50
|
-
"keycode": "2.2.0",
|
|
51
|
-
"node-polyglot": "2.3.0",
|
|
52
|
-
"react-draft-wysiwyg": "1.14.5",
|
|
53
|
-
"react-textarea-autosize": "8.3.2",
|
|
54
|
-
"simplebar": "5.3.0",
|
|
55
|
-
"simplebar-react": "2.3.0",
|
|
56
|
-
"video.js": "7.11.2",
|
|
57
|
-
"videojs-contrib-quality-levels": "2.0.9"
|
|
58
|
-
},
|
|
59
|
-
"babel": {
|
|
60
|
-
"presets": [
|
|
61
|
-
[
|
|
62
|
-
"@babel/preset-env",
|
|
63
|
-
{
|
|
64
|
-
"corejs": 3,
|
|
65
|
-
"useBuiltIns": "entry"
|
|
66
|
-
}
|
|
67
|
-
]
|
|
68
|
-
]
|
|
69
|
-
}
|
|
70
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@clickview/player",
|
|
3
|
+
"version": "0.0.6-dev.0",
|
|
4
|
+
"description": "ClickView Player",
|
|
5
|
+
"main": "dist/player-app.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "set NODE_ENV=development&& webpack -w --config ./tooling/webpack.config.js",
|
|
8
|
+
"build": "set NODE_ENV=production&& webpack --config ./tooling/webpack.config.js",
|
|
9
|
+
"build-font": "set NODE_ENV=development&& npm run start",
|
|
10
|
+
"dev-build": "set NODE_ENV=development&& webpack --config ./tooling/webpack.config.js",
|
|
11
|
+
"storybook": "start-storybook -s ./.storybook/stories/assets -p 6006",
|
|
12
|
+
"build-storybook": "build-storybook",
|
|
13
|
+
"test": "jest",
|
|
14
|
+
"test-watch": "jest --watch",
|
|
15
|
+
"webpack-dev-server": "set NODE_ENV=development&& webpack-dev-server --config ./tooling/webpack.config.js"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://gitlab.cvinternal.net/front-end/clickview"
|
|
20
|
+
},
|
|
21
|
+
"cv": {
|
|
22
|
+
"publishable": true,
|
|
23
|
+
"rebuildable": true
|
|
24
|
+
},
|
|
25
|
+
"author": "Matt Trengrove, Cameron Hill, Shale Kuzmanovski",
|
|
26
|
+
"license": "ISC",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@babel/core": "7.11.6",
|
|
29
|
+
"@clickview/eslint-config": "1.0.1",
|
|
30
|
+
"@clickview/player-font": "0.0.11",
|
|
31
|
+
"@clickview/tooling": "0.0.24-dev.2",
|
|
32
|
+
"@storybook/react": "6.0.26",
|
|
33
|
+
"@types/chromecast-caf-sender": "1.0.3",
|
|
34
|
+
"@types/cropperjs": "1.3.0",
|
|
35
|
+
"@types/draft-js": "0.10.44",
|
|
36
|
+
"@types/node-polyglot": "0.4.34",
|
|
37
|
+
"@types/react-draft-wysiwyg": "1.13.1",
|
|
38
|
+
"@types/simplebar": "5.1.1",
|
|
39
|
+
"@types/video.js": "7.3.11",
|
|
40
|
+
"jest": "26.1.0",
|
|
41
|
+
"ts-jest": "26.1.4",
|
|
42
|
+
"webpack-dev-server": "3.11.0"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@clickview/styles": "1.0.17-dev.2",
|
|
46
|
+
"@microsoft/signalr": "5.0.2",
|
|
47
|
+
"cropperjs": "1.5.6",
|
|
48
|
+
"draft-convert": "2.1.10",
|
|
49
|
+
"draft-js": "0.11.7",
|
|
50
|
+
"keycode": "2.2.0",
|
|
51
|
+
"node-polyglot": "2.3.0",
|
|
52
|
+
"react-draft-wysiwyg": "1.14.5",
|
|
53
|
+
"react-textarea-autosize": "8.3.2",
|
|
54
|
+
"simplebar": "5.3.0",
|
|
55
|
+
"simplebar-react": "2.3.0",
|
|
56
|
+
"video.js": "7.11.2",
|
|
57
|
+
"videojs-contrib-quality-levels": "2.0.9"
|
|
58
|
+
},
|
|
59
|
+
"babel": {
|
|
60
|
+
"presets": [
|
|
61
|
+
[
|
|
62
|
+
"@babel/preset-env",
|
|
63
|
+
{
|
|
64
|
+
"corejs": 3,
|
|
65
|
+
"useBuiltIns": "entry"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import './example-button.scss';
|