Add tslint.json to "videojs".

* Fix all the issues the linting uncovered.
* Extend the tests for on() / off() functions.
This commit is contained in:
M0ns1gn0r
2017-02-01 20:39:59 +01:00
parent a3c4c02787
commit 3983f5b728
3 changed files with 37 additions and 23 deletions
+12 -17
View File
@@ -1,4 +1,4 @@
// Type definitions for Video.js
// Type definitions for Video.js 5.16
// Project: https://github.com/zencoder/video-js
// Definitions by: Vincent Bortone <https://github.com/vbortone/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -7,23 +7,22 @@
// Javascript, whether the browser is playing the video through HTML5
// video, Flash, or any other supported playback technologies.
declare var videojs: videojs;
declare var videojs: videojsStatic;
export = videojs;
export as namespace videojs;
interface videojs {
(id: any, options?: videojs.PlayerOptions, ready?: () => void): videojs.Player;
}
type videojsStatic =
(id: any, options?: videojs.PlayerOptions, ready?: () => void) => videojs.Player;
declare namespace videojs {
interface PlayerOptions {
techOrder?: string[];
html5?: Object;
html5?: any;
width?: number;
height?: number;
defaultVolume?: number;
children?: Object;
children?: string[];
controls?: boolean;
src?: string;
autoplay?: boolean;
@@ -39,9 +38,7 @@ declare namespace videojs {
play(): Player;
pause(): Player;
paused(): boolean;
src(newSource: string): Player;
src(newSource: Source): Player;
src(newSource: Source[]): Player;
src(newSource: string | Source | Source[]): Player;
currentTime(seconds: number): Player;
currentTime(): number;
duration(): number;
@@ -58,13 +55,11 @@ declare namespace videojs {
cancelFullScreen(): Player;
ready(callback: () => void ): Player;
on(eventName: string, callback: (eventObject: Event) => void ): void;
off(eventName: string, callback: () => void ): void;
off(eventName: string): void;
off(): void;
off(eventName?: string, callback?: (eventObject: Event) => void ): void;
dispose(): void;
addRemoteTextTrack(options : {}) : HTMLTrackElement;
removeRemoteTextTrack(track : HTMLTrackElement) : void;
poster(val?: string) : string|Player;
playbackRate(rate?: number) : number;
addRemoteTextTrack(options: {}): HTMLTrackElement;
removeRemoteTextTrack(track: HTMLTrackElement): void;
poster(val?: string): string | Player;
playbackRate(rate?: number): number;
}
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "../tslint.json" }
+24 -6
View File
@@ -58,17 +58,35 @@ videojs("example_video_1").ready(function(){
myPlayer.height(480);
myPlayer.size(640,480);
myPlayer.size(640, 480);
myPlayer.requestFullScreen();
myPlayer.cancelFullScreen();
testEvents(myPlayer);
});
var myFunc = function(){
var myPlayer: videojs.Player = this;
function testEvents(myPlayer: videojs.Player) {
const myFunc = function() {
const myPlayer: videojs.Player = this;
// Do something when the event is fired
};
//myPlayer.addEvent("volumechange", myFunc);
//myPlayer.removeEvent("volumechange", myFunc);
});
myPlayer.on("error", myFunc);
// Removes the specified listener only.
myPlayer.off("error", myFunc);
const myFuncWithArg = function(e: Event) {
const myPlayer: videojs.Player = this;
// Do something when the event is fired
};
myPlayer.on("volumechange", myFuncWithArg);
// Removes all listeners for the given event type.
myPlayer.off("volumechange");
myPlayer.on("loadeddata", function() { /* Some handler. */ });
// Removes all listeners.
myPlayer.off();
}