UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

61 lines (60 loc) 2.62 kB
import * as React from "react"; import * as PropTypes from "prop-types"; import { ExtendedDateFilters } from "@gooddata/typings"; interface IStatePropsIntersection { excludeCurrentPeriod: boolean; selectedFilterOption: ExtendedDateFilters.DateFilterOption; } export interface IDateFilterOwnProps extends IStatePropsIntersection { filterOptions: ExtendedDateFilters.IDateFilterOptionsByType; availableGranularities: ExtendedDateFilters.DateFilterGranularity[]; isEditMode?: boolean; customFilterName?: string; dateFilterMode: ExtendedDateFilters.DashboardDateFilterConfigMode; locale?: string; } export interface IDateFilterCallbackProps { onApply: (dateFilterOption: ExtendedDateFilters.DateFilterOption, excludeCurrentPeriod: boolean) => void; onCancel?: () => void; onOpen?: () => void; onClose?: () => void; } export interface IDateFilterProps extends IDateFilterOwnProps, IDateFilterCallbackProps { } interface IDateFilterState extends IStatePropsIntersection { initExcludeCurrentPeriod: boolean; initSelectedFilterOption: ExtendedDateFilters.DateFilterOption; isExcludeCurrentPeriodEnabled: boolean; } export declare class DateFilter extends React.PureComponent<IDateFilterProps, IDateFilterState> { static propTypes: { excludeCurrentPeriod: PropTypes.Validator<any>; selectedFilterOption: PropTypes.Validator<any>; filterOptions: PropTypes.Validator<any>; availableGranularities: PropTypes.Validator<any>; isEditMode: PropTypes.Requireable<any>; customFilterName: PropTypes.Requireable<any>; dateFilterMode: PropTypes.Validator<any>; locale: PropTypes.Requireable<any>; onApply: PropTypes.Validator<any>; onCancel: PropTypes.Requireable<any>; onOpen: PropTypes.Requireable<any>; onClose: PropTypes.Requireable<any>; }; static defaultProps: Partial<IDateFilterProps>; static getDerivedStateFromProps(nextProps: IDateFilterProps, prevState: IDateFilterState): IDateFilterState; private static getStateFromProps; private static getStateFromSelectedOption; constructor(props: IDateFilterProps); render(): React.ReactNode; private handleApplyClick; private onChangesDiscarded; private onCancelClicked; private onDropdownOpenChanged; private handleExcludeCurrentPeriodChange; private handleSelectedFilterOptionChange; } export declare const testAPI: { normalizeSelectedFilterOption: (selectedFilterOption: ExtendedDateFilters.DateFilterOption) => ExtendedDateFilters.DateFilterOption; }; export {};