added tests + several refinements

This commit is contained in:
stephen.lautier
2015-06-24 01:14:36 +02:00
parent 95ddb113e8
commit 78aab4f0cb
2 changed files with 35 additions and 6 deletions
+7 -6
View File
@@ -5,12 +5,13 @@
declare var eqjs: eqjs.EqjsStatic;
// Support AMD require
// Support AMD require
declare module 'eqjs' {
export = eqjs;
}
declare module eqjs {
type AvailableElementType = HTMLElement|HTMLElement[]|NodeList|JQuery;
interface EqjsStatic {
@@ -29,7 +30,7 @@ declare module eqjs {
* @param nodes
* @param callback function to use as a callback once query and nodeWrites have finished
*/
query(nodes: HTMLElement[]|JQuery, callback?: Function): void;
query(nodes: AvailableElementType, callback?: Function): void;
/**
* Refreshes the list of nodes for eqjs to work with
@@ -41,14 +42,14 @@ declare module eqjs {
* @param obj e.g. "small: 380, medium: 490, large: 600"
* @returns {}
*/
sortObj(obj: string): EqjsKeyValuePair;
sortObj(obj: string): EqjsKeyValuePair[];
/**
* Runs through all nodes and writes their eq status.
* @param nodes An array or NodeList of nodes to query
* @returns {}
*/
nodeWrites(nodes?: HTMLElement[]|JQuery);
nodeWrites(nodes?: AvailableElementType): void;
}
interface EqjsKeyValuePair {
@@ -57,9 +58,9 @@ declare module eqjs {
}
interface EqjsNodesTable {
[key: string]: HTMLElement;
[index: number]: HTMLElement;
}
}
// Support jQuery selectors.
+28
View File
@@ -0,0 +1,28 @@
/// <reference path="eqjs.d.ts" />
/// <reference path="../jquery/jquery.d.ts" />
var nodes = document.getElementsByClassName(".test-container");
var node = document.getElementById("#test-container");
var $nodes = $(".selector");
eqjs.query(node);
eqjs.query(node, () => { });
eqjs.query(nodes);
eqjs.query($nodes);
var nodesCount: number = eqjs.nodesLength;
eqjs.refreshNodes();
eqjs.nodeWrites();
eqjs.nodeWrites(node);
eqjs.nodeWrites(nodes);
eqjs.nodeWrites($nodes);
var sortMap = eqjs.sortObj("small: 380, medium: 490, large: 600");
var sortFirstKey = sortMap[0].key;
var sortFirstValue = sortMap[0].value;
var nodesMap = eqjs.nodes;
var ele: HTMLElement = nodesMap[1];