UNPKG

@gooddata/react-components

Version:

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

62 lines (61 loc) 1.9 kB
import * as React from "react"; import * as PropTypes from "prop-types"; import { SDK, IElement } from "@gooddata/gooddata-js"; import { IValidElementsOptions } from "@gooddata/gooddata-js/lib/metadata"; import { AFM } from "@gooddata/typings"; export interface IPaging { count: number; offset: number; total: number; } export interface IAttributeElementsProps { sdk?: SDK; projectId: string; uri?: string; identifier?: string; options?: IValidElementsOptions; children?(props: IAttributeElementsChildren): any; } export interface IValidElements { items: IElement[]; paging: IPaging; elementsMeta: { attribute: string; attributeDisplayForm: string; filter: string; order: AFM.SortDirection; }; } export interface IAttributeElementsState { validElements?: IValidElements; isLoading: boolean; error?: any; } export interface IAttributeElementsChildren { validElements: IValidElements; loadMore: () => void; isLoading: boolean; error: any; } /** * AttributeElements * is a component that lists attribute values using a children function */ export declare class AttributeElements extends React.PureComponent<IAttributeElementsProps, IAttributeElementsState> { static propTypes: { projectId: PropTypes.Validator<any>; uri: PropTypes.Requireable<any>; identifier: PropTypes.Requireable<any>; options: PropTypes.Requireable<any>; }; static defaultProps: Partial<IAttributeElementsProps>; private uri?; private getValidElementsPromise?; private sdk; constructor(props: IAttributeElementsProps); componentDidMount(): void; componentWillReceiveProps(nextProps: IAttributeElementsProps): void; loadMore(event?: any): void; getValidElements(props: IAttributeElementsProps, offset: number): void; render(): any; }