angular2
Version:
Angular 2 - a web framework for modern web apps
64 lines (63 loc) • 2.52 kB
TypeScript
/**
* A css selector contains an element name,
* css classes and attribute/value pairs with the purpose
* of selecting subsets out of them.
*/
export declare class CssSelector {
element: string;
classNames: string[];
attrs: string[];
notSelectors: CssSelector[];
static parse(selector: string): CssSelector[];
isElementSelector(): boolean;
setElement(element?: string): void;
/** Gets a template string for an element that matches the selector. */
getMatchingElementTemplate(): string;
addAttribute(name: string, value?: string): void;
addClassName(name: string): void;
toString(): string;
}
/**
* Reads a list of CssSelectors and allows to calculate which ones
* are contained in a given CssSelector.
*/
export declare class SelectorMatcher {
static createNotMatcher(notSelectors: CssSelector[]): SelectorMatcher;
private _elementMap;
private _elementPartialMap;
private _classMap;
private _classPartialMap;
private _attrValueMap;
private _attrValuePartialMap;
private _listContexts;
addSelectables(cssSelectors: CssSelector[], callbackCtxt?: any): void;
/**
* Add an object that can be found later on by calling `match`.
* @param cssSelector A css selector
* @param callbackCtxt An opaque object that will be given to the callback of the `match` function
*/
private _addSelectable(cssSelector, callbackCtxt, listContext);
private _addTerminal(map, name, selectable);
private _addPartial(map, name);
/**
* Find the objects that have been added via `addSelectable`
* whose css selector is contained in the given css selector.
* @param cssSelector A css selector
* @param matchedCallback This callback will be called with the object handed into `addSelectable`
* @return boolean true if a match was found
*/
match(cssSelector: CssSelector, matchedCallback: (c: CssSelector, a: any) => void): boolean;
}
export declare class SelectorListContext {
selectors: CssSelector[];
alreadyMatched: boolean;
constructor(selectors: CssSelector[]);
}
export declare class SelectorContext {
selector: CssSelector;
cbContext: any;
listContext: SelectorListContext;
notSelectors: CssSelector[];
constructor(selector: CssSelector, cbContext: any, listContext: SelectorListContext);
finalize(cssSelector: CssSelector, callback: (c: CssSelector, a: any) => void): boolean;
}