UNPKG

3.32 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6// (C) 2007-2018 GoodData Corporation
7var get_1 = __importDefault(require("lodash/get"));
8var BUCKETS = "buckets";
9function getBuckets(mdObj) {
10 return get_1.default(mdObj, BUCKETS, []);
11}
12exports.getBuckets = getBuckets;
13function isAttribute(bucketItem) {
14 return get_1.default(bucketItem, "visualizationAttribute") !== undefined;
15}
16function isAttributeMeasureFilter(measureFilter) {
17 return ((get_1.default(measureFilter, "positiveAttributeFilter") || get_1.default(measureFilter, "negativeAttributeFilter")) !==
18 undefined);
19}
20exports.isAttributeMeasureFilter = isAttributeMeasureFilter;
21function isMeasure(bucketItem) {
22 return get_1.default(bucketItem, "measure") !== undefined;
23}
24function getAttributesInBucket(bucket) {
25 return get_1.default(bucket, "items").reduce(function (list, bucketItem) {
26 if (isAttribute(bucketItem)) {
27 list.push(get_1.default(bucketItem, "visualizationAttribute"));
28 }
29 return list;
30 }, []);
31}
32function getAttributes(mdObject) {
33 var buckets = getBuckets(mdObject);
34 return buckets.reduce(function (categoriesList, bucket) { return categoriesList.concat(getAttributesInBucket(bucket)); }, []);
35}
36exports.getAttributes = getAttributes;
37function getMeasuresInBucket(bucket) {
38 return get_1.default(bucket, "items").reduce(function (list, bucketItem) {
39 if (isMeasure(bucketItem)) {
40 list.push(get_1.default(bucketItem, "measure"));
41 }
42 return list;
43 }, []);
44}
45function getDefinition(measure) {
46 return get_1.default(measure, ["definition", "measureDefinition"], {});
47}
48exports.getDefinition = getDefinition;
49function getMeasures(mdObject) {
50 var buckets = getBuckets(mdObject);
51 return buckets.reduce(function (measuresList, bucket) { return measuresList.concat(getMeasuresInBucket(bucket)); }, []);
52}
53exports.getMeasures = getMeasures;
54function getMeasureFilters(measure) {
55 return get_1.default(getDefinition(measure), "filters", []);
56}
57exports.getMeasureFilters = getMeasureFilters;
58function getMeasureAttributeFilters(measure) {
59 return getMeasureFilters(measure).filter(isAttributeMeasureFilter);
60}
61exports.getMeasureAttributeFilters = getMeasureAttributeFilters;
62function getAttributeFilters(mdObject) {
63 return getMeasures(mdObject).reduce(function (filters, measure) { return filters.concat(getMeasureAttributeFilters(measure)); }, []);
64}
65function getAttributeFilterDisplayForm(measureFilter) {
66 return (get_1.default(measureFilter, ["positiveAttributeFilter", "displayForm", "uri"]) ||
67 get_1.default(measureFilter, ["negativeAttributeFilter", "displayForm", "uri"]));
68}
69function getAttributesDisplayForms(mdObject) {
70 var attributesDfs = getAttributes(mdObject).map(function (attribute) {
71 return get_1.default(attribute, ["displayForm", "uri"]);
72 });
73 var attrMeasureFilters = getAttributeFilters(mdObject);
74 var attrMeasureFiltersDfs = attrMeasureFilters.map(getAttributeFilterDisplayForm);
75 return attrMeasureFiltersDfs.concat(attributesDfs);
76}
77exports.getAttributesDisplayForms = getAttributesDisplayForms;