1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 |
|
7 | var get_1 = __importDefault(require("lodash/get"));
|
8 | var BUCKETS = "buckets";
|
9 | function getBuckets(mdObj) {
|
10 | return get_1.default(mdObj, BUCKETS, []);
|
11 | }
|
12 | exports.getBuckets = getBuckets;
|
13 | function isAttribute(bucketItem) {
|
14 | return get_1.default(bucketItem, "visualizationAttribute") !== undefined;
|
15 | }
|
16 | function isAttributeMeasureFilter(measureFilter) {
|
17 | return ((get_1.default(measureFilter, "positiveAttributeFilter") || get_1.default(measureFilter, "negativeAttributeFilter")) !==
|
18 | undefined);
|
19 | }
|
20 | exports.isAttributeMeasureFilter = isAttributeMeasureFilter;
|
21 | function isMeasure(bucketItem) {
|
22 | return get_1.default(bucketItem, "measure") !== undefined;
|
23 | }
|
24 | function 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 | }
|
32 | function getAttributes(mdObject) {
|
33 | var buckets = getBuckets(mdObject);
|
34 | return buckets.reduce(function (categoriesList, bucket) { return categoriesList.concat(getAttributesInBucket(bucket)); }, []);
|
35 | }
|
36 | exports.getAttributes = getAttributes;
|
37 | function 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 | }
|
45 | function getDefinition(measure) {
|
46 | return get_1.default(measure, ["definition", "measureDefinition"], {});
|
47 | }
|
48 | exports.getDefinition = getDefinition;
|
49 | function getMeasures(mdObject) {
|
50 | var buckets = getBuckets(mdObject);
|
51 | return buckets.reduce(function (measuresList, bucket) { return measuresList.concat(getMeasuresInBucket(bucket)); }, []);
|
52 | }
|
53 | exports.getMeasures = getMeasures;
|
54 | function getMeasureFilters(measure) {
|
55 | return get_1.default(getDefinition(measure), "filters", []);
|
56 | }
|
57 | exports.getMeasureFilters = getMeasureFilters;
|
58 | function getMeasureAttributeFilters(measure) {
|
59 | return getMeasureFilters(measure).filter(isAttributeMeasureFilter);
|
60 | }
|
61 | exports.getMeasureAttributeFilters = getMeasureAttributeFilters;
|
62 | function getAttributeFilters(mdObject) {
|
63 | return getMeasures(mdObject).reduce(function (filters, measure) { return filters.concat(getMeasureAttributeFilters(measure)); }, []);
|
64 | }
|
65 | function getAttributeFilterDisplayForm(measureFilter) {
|
66 | return (get_1.default(measureFilter, ["positiveAttributeFilter", "displayForm", "uri"]) ||
|
67 | get_1.default(measureFilter, ["negativeAttributeFilter", "displayForm", "uri"]));
|
68 | }
|
69 | function 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 | }
|
77 | exports.getAttributesDisplayForms = getAttributesDisplayForms;
|