UNPKG

@gooddata/react-components

Version:

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

34 lines (28 loc) 1.32 kB
// (C) 2019-2020 GoodData Corporation import get = require("lodash/get"); import isEmpty = require("lodash/isEmpty"); import { VisualizationObject } from "@gooddata/typings"; import { SECONDARY_MEASURES } from "../constants/bucketNames"; export function findBucketByLocalIdentifier( buckets: VisualizationObject.IBucket[], bucketName: string, ): VisualizationObject.IBucket { return (buckets || []).find(bucket => bucket.localIdentifier === bucketName); } export function getBucketItems( buckets: VisualizationObject.IBucket[], localIdentifier: string, ): VisualizationObject.BucketItem[] { return get(findBucketByLocalIdentifier(buckets, localIdentifier), "items", []); } export function isBucketEmpty(buckets: VisualizationObject.IBucket[], bucketName: string): boolean { return isEmpty(getBucketItems(buckets, bucketName)); } export function getSecondaryMeasuresLocalIdentifiers(buckets: VisualizationObject.IBucket[]): string[] { return getBucketItems(buckets, SECONDARY_MEASURES).map((item: VisualizationObject.BucketItem) => get(item, "measure.localIdentifier"), ); } export const filterOutEmptyBuckets = ( buckets: VisualizationObject.IBucket[], ): VisualizationObject.IBucket[] => buckets.filter(bucket => !isBucketEmpty(buckets, bucket.localIdentifier));