@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
61 lines (60 loc) • 2.62 kB
TypeScript
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 {};