elmer-ui-core
Version:
web app framework
93 lines (92 loc) • 4.12 kB
TypeScript
import { ElmerAnimation, TypeElmerAnimationType } from "../animation/ElmerAnimation";
import { TypeAnimationProperty } from "../animation/ElmerAnimationProperty";
import { ElmerDomQuery } from "./ElmerDomQuery";
declare type TypeAnimationOption = {
type: TypeElmerAnimationType;
from?: TypeAnimationProperty;
to: TypeAnimationProperty;
duration: number;
beginTime?: number;
dom: HTMLElement;
optionA?: number;
optionP?: number;
optionS?: number;
onStart?(): void;
onFinish?(): void;
};
declare type TypeAnimationOptions = {
duration: number;
beginTime?: number;
options: TypeAnimationOption[];
onStart?(): void;
onFinish?(): void;
};
declare type TypeAnimationParam = {
[P in Exclude<keyof TypeAnimationOptions, "options">]?: TypeAnimationOptions[P];
} & {
type?: TypeElmerAnimationType;
};
declare type TypeShowAnimationParam = TypeAnimationParam & {
display?: string;
};
export interface IElmerDOM {
supportCss3: boolean;
attr(dom: HTMLElement | Node | Element, attrName: any, attrValue?: any): any;
addClass(dom: HTMLElement | NodeList, className: String): void;
byId(id: string, dom?: HTMLElement | null): Element | HTMLElement;
contains(parent: HTMLElement | Element | Node, node: HTMLElement | Element | Node): Function;
css(dom: NodeList | HTMLElement, key: any, value?: string | number): void;
query(queryString: string, dom?: HTMLElement | Node): NodeList;
width(dom: HTMLElement): number;
height(dom: HTMLElement): number;
on(dom: HTMLElement | NodeList, eventName: string, callBack: Function): void;
removeClass(dom: HTMLElement | NodeList, className: string): void;
removeEvent(dom: HTMLElement | NodeList, eventName: String, callBack?: Function): void;
support(key: string): boolean;
}
export interface IElmerDOMEvent {
eventName: string;
handler: Function;
listener?: EventListenerObject;
}
export declare class ElmerDOM extends ElmerDomQuery {
bindEvents: string[];
supportCss3: boolean;
contains: Function;
listener: any[];
private eventObj;
private mDomModel;
constructor();
support(key: string): boolean;
byId(id: string, dom?: HTMLElement | Element | null): Element | HTMLElement | null;
query(queryString: string, dom?: HTMLElement | null): NodeList;
width(dom: HTMLElement): number;
height(dom: HTMLElement): number;
css(dom: NodeList | HTMLElement | HTMLElement[], key: any, value?: string | number): void;
setCss(dom: HTMLElement, key: any, value?: string | number): void;
setCss3(dom: HTMLElement, key: string, value?: string | number): void;
getCss3(key: string, value: string): string;
hasClass(dom: HTMLElement, className: string): boolean;
attr(dom: HTMLElement | Node | Element, attrName: any, attrValue?: any): any;
addClass(dom: HTMLElement | NodeList | HTMLElement[], className: string): void;
removeClass(dom: HTMLElement | NodeList | HTMLElement[], className: string): void;
on(dom: any | HTMLElement, eventName: string, callBack: Function, options?: AddEventListenerOptions): void;
addEvent(dom: any | HTMLElement, eventName: string, callBack: Function, options?: AddEventListenerOptions): void;
removeEvent(dom: any | HTMLElement, eventName: string, callBack: Function, options?: any): void;
unbind(dom: HTMLElement): void;
getMaxWidth(domList: HTMLElement[] | NodeList): number;
find(dom: HTMLElement, selector: string): HTMLElement[];
animation(options: TypeAnimationOption): ElmerAnimation;
animations(animationData: TypeAnimationOptions): ElmerAnimation;
show(dom: HTMLElement, options?: TypeAnimationParam): void;
hide(dom: HTMLElement, options?: TypeAnimationParam): void;
slideIn(dom: HTMLElement, options?: TypeShowAnimationParam): void;
slideOut(dom: HTMLElement, options?: TypeShowAnimationParam): void;
private onAnimationChange;
private queryInDom;
private getElementsBySelectValue;
private getNextSilbingElement;
private matchQueryNode;
private updateDomClassName;
}
export {};