@gooddata/gooddata-js
Version:
GoodData JavaScript SDK
78 lines (77 loc) • 3.32 kB
JavaScript
;
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;