Skip to content

Commit 6438232

Browse files
committed
Update to 2.5.000;Webpackify and TypeScriptify cPlayer
1 parent d4adce9 commit 6438232

33 files changed

Lines changed: 4366 additions & 5745 deletions

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
/node_modules
2-
/play-pause/.sass-cache
1+
/node_modules
2+
yarn*

declaration/cplayer.d.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { cEmitter } from "modules/cEmitter.class";
2+
import { cOption, cList, __LYRIC__ } from "modules/c.interface";
3+
import { cBase } from "modules/cBase.class";
4+
import "../scss/cplayer.scss";
5+
declare class cPlayer extends cEmitter {
6+
static version: string;
7+
protected dragging: {
8+
contain: boolean;
9+
target: HTMLElement | undefined;
10+
};
11+
protected now: number;
12+
CBASE: cBase;
13+
protected options: cOption;
14+
protected transLock: boolean;
15+
music: HTMLAudioElement;
16+
protected __LIST__: {
17+
[propName: string]: HTMLElement;
18+
img: HTMLImageElement;
19+
};
20+
protected __LYRIC__: __LYRIC__;
21+
constructor(options: cOption);
22+
volume(vl?: number | void): number | undefined;
23+
isMuted(): boolean;
24+
play(): this;
25+
pause(): this | undefined;
26+
previous(): this | undefined;
27+
next(): this | undefined;
28+
to(now: number): this;
29+
private _toggle(now?);
30+
isPaused(): boolean;
31+
hasLyric(id?: number): boolean;
32+
showLyric(): this;
33+
hideLyric(): this;
34+
hasList(): boolean;
35+
showList(): this;
36+
hideList(): this;
37+
private _refreshList();
38+
add(u: cList): this;
39+
remove(id: number): this;
40+
lyric(content?: undefined): string | this | undefined;
41+
refreshLyric(isTrans?: boolean): void;
42+
updateTime(time?: number | void, func?: (time: number) => void): void;
43+
private _slideLyric(time);
44+
translate(): false | undefined;
45+
length: number;
46+
}
47+
export { cPlayer };
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
declare let SVG: {
2+
[propName: string]: string;
3+
};
4+
export { SVG };
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
export declare type AddEventListener = (type: string, listener: (event: Event) => void, options?: AddEventListenerOptions) => void;
2+
export interface cList {
3+
name: string;
4+
artist: string;
5+
image: string;
6+
url?: string;
7+
loop?: boolean;
8+
lyric?: string;
9+
transLyric?: string;
10+
}
11+
export interface cOption {
12+
element: HTMLElement;
13+
list?: cList[];
14+
autoplay?: boolean;
15+
}
16+
export interface __LYRIC__ {
17+
[index: number]: {
18+
"content": string;
19+
"time": number;
20+
};
21+
now?: number;
22+
length: number;
23+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { __LYRIC__ } from "c.interface";
2+
export declare class cBase {
3+
browser: string;
4+
root: Element;
5+
constructor(rootNode?: HTMLElement);
6+
replace(oldElement: HTMLElement, newElement: Node): void;
7+
replaceInner(element: HTMLElement, innerContent: string): void;
8+
getByClass(className: string, parentElement?: HTMLElement | Element): HTMLElement;
9+
getByTagName(tagName: string, parentElement?: HTMLElement | Element): HTMLElement;
10+
rand(start?: number, end?: number): number;
11+
find<T>(array: T[] | __LYRIC__, func: (any: any) => boolean): T[];
12+
style(dom: HTMLElement, property: string, content: string): void;
13+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export declare class cContext {
2+
options: {
3+
"element": HTMLElement;
4+
"items": {
5+
name: string;
6+
action?: (e: MouseEvent) => void;
7+
}[];
8+
};
9+
constructor(options: {
10+
"element": HTMLElement;
11+
"items": {
12+
name: string;
13+
action?: (e: MouseEvent) => void;
14+
}[];
15+
});
16+
add({name, action}: {
17+
name: string;
18+
action?: (e: MouseEvent) => void;
19+
}): this;
20+
show({pageX, pageY}: MouseEvent): this;
21+
hide(): this;
22+
items: {
23+
name: string;
24+
action?: ((e: MouseEvent) => void) | undefined;
25+
}[];
26+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export declare const cEmitter: {
2+
new (typeList: {
3+
[propName: string]: ((e?: any) => void)[];
4+
}): {
5+
events: {
6+
[propName: string]: ((e?: any) => void)[];
7+
};
8+
on(eventName: string, func: (...e: any[]) => void): any;
9+
emit(eventName: string, ...args: any[]): any;
10+
};
11+
};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export declare function cLyric(lrc: string): {
2+
time: number;
3+
content: string;
4+
}[];

demo/cpixel.js

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)