azure-devops-ui
Version:
React components for building web UI in Azure DevOps
31 lines (30 loc) • 1.58 kB
TypeScript
import { IObservableArrayEventArgs, IReadonlyObservableArray, Observable, ObservableArrayAction } from '../Core/Observable';
import { IItemProvider } from '../Utilities/Provider';
interface IAggregateItemProviderEntry<T> {
items: T[];
provider?: IReadonlyObservableArray<T> | IItemProvider<T>;
subscriber?: (args: IObservableArrayEventArgs<T>) => void;
}
/**
* An AggregateItemProvider takes a set of arrays, ObservableArrays, and ItemProviders and returns listItems from them as if they were a single
* ItemProvider.
*/
export declare class AggregateItemProvider<T> extends Observable<IObservableArrayEventArgs<T>, ObservableArrayAction> implements IItemProvider<T> {
constructor();
get length(): number;
get value(): T[];
get collections(): Array<IAggregateItemProviderEntry<T>>;
private internalCollections;
private items;
/**
* Adds an additional collection of items to the end of the array
*
* @param collection Array of items or an observable array of items
*/
push(collection: T[] | IReadonlyObservableArray<T> | IItemProvider<T>): void;
getItem(index: number): T | undefined;
subscribe(observer: (value: IObservableArrayEventArgs<T>, action: ObservableArrayAction) => void, action?: ObservableArrayAction): (value: IObservableArrayEventArgs<T>, action: ObservableArrayAction) => void;
unsubscribe(observer: (value: IObservableArrayEventArgs<T>, action: ObservableArrayAction) => void, action?: ObservableArrayAction): void;
private getSubscriber;
}
export {};