UNPKG

@gooddata/gooddata-js

Version:
78 lines (77 loc) 3.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2007-2018 GoodData Corporation var get_1 = __importDefault(require("lodash/get")); var BUCKETS = "buckets"; function getBuckets(mdObj) { return get_1.default(mdObj, BUCKETS, []); } exports.getBuckets = getBuckets; function isAttribute(bucketItem) { return get_1.default(bucketItem, "visualizationAttribute") !== undefined; } function isAttributeMeasureFilter(measureFilter) { return ((get_1.default(measureFilter, "positiveAttributeFilter") || get_1.default(measureFilter, "negativeAttributeFilter")) !== undefined); } exports.isAttributeMeasureFilter = isAttributeMeasureFilter; function isMeasure(bucketItem) { return get_1.default(bucketItem, "measure") !== undefined; } function getAttributesInBucket(bucket) { return get_1.default(bucket, "items").reduce(function (list, bucketItem) { if (isAttribute(bucketItem)) { list.push(get_1.default(bucketItem, "visualizationAttribute")); } return list; }, []); } function getAttributes(mdObject) { var buckets = getBuckets(mdObject); return buckets.reduce(function (categoriesList, bucket) { return categoriesList.concat(getAttributesInBucket(bucket)); }, []); } exports.getAttributes = getAttributes; function getMeasuresInBucket(bucket) { return get_1.default(bucket, "items").reduce(function (list, bucketItem) { if (isMeasure(bucketItem)) { list.push(get_1.default(bucketItem, "measure")); } return list; }, []); } function getDefinition(measure) { return get_1.default(measure, ["definition", "measureDefinition"], {}); } exports.getDefinition = getDefinition; function getMeasures(mdObject) { var buckets = getBuckets(mdObject); return buckets.reduce(function (measuresList, bucket) { return measuresList.concat(getMeasuresInBucket(bucket)); }, []); } exports.getMeasures = getMeasures; function getMeasureFilters(measure) { return get_1.default(getDefinition(measure), "filters", []); } exports.getMeasureFilters = getMeasureFilters; function getMeasureAttributeFilters(measure) { return getMeasureFilters(measure).filter(isAttributeMeasureFilter); } exports.getMeasureAttributeFilters = getMeasureAttributeFilters; function getAttributeFilters(mdObject) { return getMeasures(mdObject).reduce(function (filters, measure) { return filters.concat(getMeasureAttributeFilters(measure)); }, []); } function getAttributeFilterDisplayForm(measureFilter) { return (get_1.default(measureFilter, ["positiveAttributeFilter", "displayForm", "uri"]) || get_1.default(measureFilter, ["negativeAttributeFilter", "displayForm", "uri"])); } function getAttributesDisplayForms(mdObject) { var attributesDfs = getAttributes(mdObject).map(function (attribute) { return get_1.default(attribute, ["displayForm", "uri"]); }); var attrMeasureFilters = getAttributeFilters(mdObject); var attrMeasureFiltersDfs = attrMeasureFilters.map(getAttributeFilterDisplayForm); return attrMeasureFiltersDfs.concat(attributesDfs); } exports.getAttributesDisplayForms = getAttributesDisplayForms;