office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
62 lines (61 loc) • 2.66 kB
TypeScript
/// <reference types="react" />
import { BaseComponent } from '../../Utilities';
import { IColumn } from './DetailsList.types';
import { IDetailsRowBaseProps } from './DetailsRow.types';
import { IDetailsRowCheckProps } from './DetailsRowCheck.types';
export interface IDetailsRowSelectionState {
isSelected: boolean;
isSelectionModal: boolean;
}
export interface IDetailsRowState {
selectionState?: IDetailsRowSelectionState;
columnMeasureInfo?: {
index: number;
column: IColumn;
onMeasureDone: (measuredWidth: number) => void;
};
isDropping?: boolean;
groupNestingDepth?: number;
}
export declare class DetailsRowBase extends BaseComponent<IDetailsRowBaseProps, IDetailsRowState> {
private _root;
private _cellMeasurer;
private _focusZone;
private _droppingClassNames;
private _hasMounted;
private _dragDropSubscription;
constructor(props: IDetailsRowBaseProps);
componentDidMount(): void;
componentDidUpdate(previousProps: IDetailsRowBaseProps): void;
componentWillUnmount(): void;
componentWillReceiveProps(newProps: IDetailsRowBaseProps): void;
shouldComponentUpdate(nextProps: IDetailsRowBaseProps, nextState: IDetailsRowState): boolean;
render(): JSX.Element;
/**
* measure cell at index. and call the call back with the measured cell width when finish measure
*
* @param {number} index (the cell index)
* @param {(width: number) => void} onMeasureDone (the call back function when finish measure)
*/
measureCell(index: number, onMeasureDone: (width: number) => void): void;
focus(forceIntoFirstElement?: boolean): boolean;
protected _onRenderCheck(props: IDetailsRowCheckProps): JSX.Element;
private _getSelectionState(props);
private _onSelectionChanged();
private _onToggleSelection();
private _onRootRef;
private _getRowDragDropOptions();
/**
* update isDropping state based on the input value, which is used to change style during drag and drop
*
* when change to true, that means drag enter. we will add default dropping class name
* or the custom dropping class name (return result from onDragEnter) to the root elemet.
*
* when change to false, that means drag leave. we will remove the dropping class name from root element.
*
* @private
* @param {boolean} newValue (new isDropping state value)
* @param {DragEvent} event (the event trigger dropping state change which can be dragenter, dragleave etc)
*/
private _updateDroppingState(newValue, event);
}