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