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