@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
70 lines (69 loc) • 2.18 kB
TypeScript
export interface IIdentifierWithTags {
identifier: string;
tags: string;
}
export interface IDisplayForms {
[key: string]: IIdentifierWithTags;
}
export interface IAttrItem {
identifier: string;
tags: string;
displayForms: IDisplayForms;
defaultDisplayForm: IIdentifierWithTags;
}
export interface IAttrs {
[key: string]: IAttrItem;
}
export interface IDataSet {
identifier: string;
tags: string;
attributes: IAttrs;
}
export interface ICatalog {
measures?: {
[key: string]: IIdentifierWithTags;
};
visualizations: {
[key: string]: IIdentifierWithTags;
};
attributes: IAttrs;
dateDataSets: {
[key: string]: IDataSet;
};
}
/**
* CatalogHelper
* is a tool that exposes API that to look up measures, attributes, visualizations and other metadata elements
* example usage:
* import catalog from './catalog.json';
* const C = new CatalogHelper(catalog);
*/
export default class CatalogHelper {
measures: {
[key: string]: IIdentifierWithTags;
};
visualizations: {
[key: string]: IIdentifierWithTags;
};
attributes: {
[key: string]: IAttrItem;
};
dateDataSets: {
[key: string]: IDataSet;
};
constructor(catalog: ICatalog);
measure(name: string): string;
measureTags(name: string): string;
visualization(name: string): string;
visualizationTags(name: string): string;
attribute(attributeName: string): string;
attributeTags(attributeName: string): string;
attributeDisplayForm(attributeName: string, displayFormName?: string): string;
attributeDisplayFormTags(attributeName: string, displayFormName?: string): string;
dateDataSet(dataSetName: string): string;
dateDataSetTags(dataSetName: string): string;
dateDataSetAttribute(dataSetName: string, attrName: string): string;
dateDataSetAttributeTags(dataSetName: string, attrName: string): string;
dateDataSetDisplayForm(dataSetName: string, attributeName: string, displayFormName?: string): string;
dateDataSetDisplayFormTags(dataSetName: string, attributeName: string, displayFormName?: string): string;
}