@grafana/ui
Version:
Grafana Components Library
29 lines (28 loc) • 970 B
TypeScript
import React, { PureComponent } from 'react';
import { TimeRange, TimeOption, TimeZone } from '@grafana/data';
import { SelectOptionItem } from '../Select/Select';
export interface Props {
value: TimeRange;
selectOptions: TimeOption[];
timeZone?: TimeZone;
onChange: (timeRange: TimeRange) => void;
onMoveBackward: () => void;
onMoveForward: () => void;
onZoom: () => void;
}
export declare const defaultSelectOptions: TimeOption[];
export interface State {
isCustomOpen: boolean;
}
export declare class TimePicker extends PureComponent<Props, State> {
pickerTriggerRef: React.RefObject<HTMLDivElement>;
state: State;
mapTimeOptionsToSelectOptionItems: (selectOptions: TimeOption[]) => {
label: string;
value: TimeOption;
}[];
onSelectChanged: (item: SelectOptionItem<TimeOption>) => void;
onCustomChange: (timeRange: TimeRange) => void;
onCloseCustom: () => void;
render(): JSX.Element;
}