@angular-mdc/web
Version:
116 lines (115 loc) • 4.55 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { Platform } from '@angular/cdk/platform';
import { Observable } from 'rxjs';
import { MDCComponent } from '@angular-mdc/web/base';
import { MdcListItem, MdcListSelectionChange } from './list-item';
import { MDCListFoundation } from '@material/list';
/** Change event that is being fired whenever the selected state of an option changes. */
export declare class MdcListItemChange {
/** Reference to the selection list that emitted the event. */
source: MdcList;
/** Reference to the option that has been changed. */
option: MdcListItem;
constructor(
/** Reference to the selection list that emitted the event. */
source: MdcList,
/** Reference to the option that has been changed. */
option: MdcListItem);
}
/** Notifies user action on list item including keyboard and mouse actions. */
export interface MdcListItemAction {
index: number;
}
export declare class MdcListGroup {
elementRef: ElementRef;
subheader?: string;
constructor(elementRef: ElementRef);
}
export declare class MdcListGroupSubheader {
elementRef: ElementRef;
constructor(elementRef: ElementRef);
}
export declare class MdcList extends MDCComponent<any> implements AfterViewInit, OnDestroy {
private _platform;
private _changeDetectorRef;
elementRef: ElementRef;
get twoLine(): boolean;
set twoLine(value: boolean);
private _twoLine;
get dense(): boolean;
set dense(value: boolean);
private _dense;
get border(): boolean;
set border(value: boolean);
private _border;
get avatar(): boolean;
set avatar(value: boolean);
private _avatar;
get interactive(): boolean;
set interactive(value: boolean);
private _interactive;
get disableRipple(): boolean;
set disableRipple(value: boolean);
private _disableRipple;
get singleSelection(): boolean | undefined;
set singleSelection(value: boolean | undefined);
private _singleSelection;
get useActivatedClass(): boolean;
set useActivatedClass(value: boolean);
private _useActivatedClass;
get useSelectedClass(): boolean;
set useSelectedClass(value: boolean);
private _useSelectedClass;
get verticalOrientation(): boolean;
set verticalOrientation(value: boolean);
private _verticalOrientation;
get wrapFocus(): boolean;
set wrapFocus(value: boolean);
private _wrapFocus;
items: QueryList<MdcListItem>;
/** Emits a change event whenever the selected state of an option changes. */
readonly selectionChange: EventEmitter<MdcListItemChange>;
/** Emits an event for keyboard and mouse actions. */
readonly actionEvent: EventEmitter<MdcListItemAction>;
/** Subscription to changes in list items. */
private _changeSubscription;
/** Subscription to selection events in list items. */
private itemSelectionSubscription;
/** Combined stream of all of the list item selection events. */
get listItemSelections(): Observable<MdcListSelectionChange>;
getDefaultFoundation(): MDCListFoundation;
constructor(_platform: Platform, _changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef);
ngAfterViewInit(): void;
ngOnDestroy(): void;
setSelectedIndex(index: number): void;
setSelectedValue(value: any): void;
getSelectedItem(): MdcListItem | undefined;
getSelectedIndex(): number;
getSelectedValue(): any;
getSelectedText(): string;
getListItemByValue(value: any): MdcListItem | undefined;
getListItemByIndex(index: number): MdcListItem | undefined;
getListItemIndexByValue(value: any): number;
focusItemAtIndex(index: number): void;
focusFirstElement(): number;
focusLastElement(): number;
focusNextElement(index: number): number;
focusPrevElement(index: number): number;
setRole(role: string): void;
setTabIndex(index: number): void;
focus(): void;
reset(): void;
private _applySelectionState;
private _resetListItems;
private _dropSubscriptions;
/** Listens to selected events on each list item. */
private _listenForListItemSelection;
_onFocusIn(evt: FocusEvent): void;
_onFocusOut(evt: FocusEvent): void;
_onKeydown(evt: KeyboardEvent): void;
_handleClickEvent(evt: MouseEvent): void;
private _getListItemByEventTarget;
private _getListItemIndexByEvent;
/** Retrieves the DOM element of the component host. */
private _getHostElement;
}