UNPKG

@rcsb/rcsb-saguaro-app

Version:
55 lines (54 loc) 3.25 kB
import { BucketFacet } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchResultInterface"; import { FacetMemberInterface } from "./FacetStore/FacetMemberInterface"; import { AttributeTextQueryParameters } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchQueryInterface"; import { Service } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchEnums"; import { ChartDisplayConfigInterface, ChartObjectInterface } from "@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface"; import { RcsbSearchAttributeType } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchMetadata"; export type SearchFilter = { attribute: RcsbSearchAttributeType; value: AttributeTextQueryParameters['value']; operator: AttributeTextQueryParameters["operator"]; service: Service.Text | Service.TextChem; }; export interface RcsbChartInterface<T = any> extends Omit<FacetMemberInterface, "id" | "facet"> { data: ChartObjectInterface<T>[]; filters?: SearchFilter[]; } export declare class FacetTools { static getResultDrilldowns(facetMembers: FacetMemberInterface[], searchResultFacets: Array<BucketFacet>): Array<RcsbChartInterface>; static subtractDrilldowns(partial: Array<RcsbChartInterface>, full: Array<RcsbChartInterface>): Array<RcsbChartInterface>; static getFacetFromName(facetMembers: FacetMemberInterface[], name: string): FacetMemberInterface | undefined; static addChartDisplayConfig(chart: RcsbChartInterface, chartDisplayConfig: Partial<ChartDisplayConfigInterface>): { chartConfig: { chartDisplayConfig: Partial<ChartDisplayConfigInterface>; mostPopulatedGroups?: number; domainMinValue?: number; domainMaxValue?: number; domainEmptyBins?: boolean; histogramBinIncrement?: number; tickIncrement?: { origin: number; increment: number; }; tickFormat?: { domAxis?: (x: string | number) => string; imgAxis?: (x: string | number) => string; }; axisLabel?: string; barClickCallback?: import("@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface").BarClickCallbackType; sort?: (b: import("@rcsb/rcsb-charts/lib/RcsbChartDataProvider/ChartDataProviderInterface").ChartDataColumnInterface, a: import("@rcsb/rcsb-charts/lib/RcsbChartDataProvider/ChartDataProviderInterface").ChartDataColumnInterface) => number; tooltipText?: (a: import("@rcsb/rcsb-charts/lib/RcsbChartDataProvider/ChartDataProviderInterface").ChartDataValueInterface) => string | string[] | undefined; }; data: ChartObjectInterface<any>[]; filters?: SearchFilter[]; title?: string | undefined; attribute: RcsbSearchAttributeType; attributeName: string; chartType: import("@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface").ChartType; facetConfig?: import("./FacetStore/FacetMemberInterface").FacetConfigInterface | undefined; contentType: "date" | "number" | "string"; }; private static includeMissingFacets; private static getFacetChartTypeFromAttribute; private static getFacetFiltersFromName; }