UNPKG

@gooddata/react-components

Version:

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

59 lines (58 loc) 2.44 kB
import * as React from "react"; import * as PropTypes from "prop-types"; import { SDK } from "@gooddata/gooddata-js"; import { AFM, VisualizationInput } from "@gooddata/typings"; import { IAttributeElement } from "./model"; export interface IAttributeFilterProps { onApply?: (...params: any[]) => any; onApplyWithFilterDefinition?: (filter: VisualizationInput.IPositiveAttributeFilter | VisualizationInput.INegativeAttributeFilter) => void; sdk?: SDK; uri?: string; projectId?: string; identifier?: string; filter?: VisualizationInput.IPositiveAttributeFilter | VisualizationInput.INegativeAttributeFilter; locale?: string; fullscreenOnMobile?: boolean; title?: string; FilterLoading?: React.ComponentType<{}>; FilterError?: React.ComponentType<IFilterErrorProps>; } export interface IFilterErrorProps { error: string; } export declare function createOldFilterDefinition(id: string, selection: IAttributeElement[], isInverted: boolean, isUsingTextFilter?: boolean): { [x: string]: string | string[]; id: string; type: string; }; export declare function createAfmFilter(id: string, selection: IAttributeElement[], isInverted: boolean, isUsingTextFilter?: boolean): AFM.AttributeFilterItem; /** * AttributeFilter * is a component that renders a dropdown populated with attribute values */ export declare class AttributeFilter extends React.PureComponent<IAttributeFilterProps> { static propTypes: { uri: PropTypes.Requireable<any>; identifier: PropTypes.Requireable<any>; filter: PropTypes.Requireable<any>; projectId: PropTypes.Requireable<any>; onApply: PropTypes.Requireable<any>; onApplyWithFilterDefinition: PropTypes.Requireable<any>; fullscreenOnMobile: PropTypes.Requireable<any>; FilterLoading: PropTypes.Requireable<any>; FilterError: PropTypes.Requireable<any>; locale: PropTypes.Requireable<any>; title: PropTypes.Requireable<any>; }; static defaultProps: Partial<IAttributeFilterProps>; private sdk; constructor(props: IAttributeFilterProps); componentWillReceiveProps(nextProps: IAttributeFilterProps): void; render(): JSX.Element; onApply: (selection: IAttributeElement[], isInverted: boolean) => void; private isInverted; private getIdentifierOrUri; private getFilterBody; private getSelection; private renderContent; }