@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
61 lines • 3.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// (C) 2019 GoodData Corporation
var cloneDeep = require("lodash/cloneDeep");
var get = require("lodash/get");
var set = require("lodash/set");
var forEach = require("lodash/forEach");
var BucketNames = require("../../../constants/bucketNames");
var uiConfig_1 = require("../../constants/uiConfig");
var bucket_1 = require("../../constants/bucket");
var bucketRules_1 = require("./../bucketRules");
var bucketHelper_1 = require("./../bucketHelper");
var translations_1 = require("./../translations");
var lineMeasuresIcon = require("../../assets/line/bucket-title-measures.svg");
var lineTrendIcon = require("../../assets/line/bucket-title-trend.svg");
var lineSegmentIcon = require("../../assets/line/bucket-title-segment.svg");
var propertiesHelper_1 = require("../propertiesHelper");
function setLineChartBucketWarningMessages(referencePoint, intl) {
var buckets = get(referencePoint, bucket_1.BUCKETS);
var updatedUiConfig = cloneDeep(get(referencePoint, uiConfig_1.UICONFIG));
forEach(buckets, function (bucket) {
var localIdentifier = get(bucket, "localIdentifier", "");
var bucketUiConfig = get(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier]);
// skip disabled buckets
if (!get(bucketUiConfig, "enabled", false)) {
return;
}
if (!get(bucketUiConfig, "canAddItems")) {
var warningMessageId = void 0;
if (bucket.localIdentifier === BucketNames.MEASURES) {
warningMessageId = "dashboard.bucket.metric_segment_by_warning";
}
else if (bucket.localIdentifier === BucketNames.SEGMENT) {
warningMessageId = "dashboard.bucket.category_segment_by_warning";
}
if (warningMessageId) {
var warningMessage = translations_1.getTranslation(warningMessageId, intl);
set(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier, "warningMessage"], warningMessage);
}
}
});
return updatedUiConfig;
}
function setLineChartUiConfig(referencePoint, intl, visualizationType) {
var referencePointConfigured = cloneDeep(referencePoint);
var buckets = get(referencePointConfigured, bucket_1.BUCKETS, []);
var measuresCanAddItems = bucketRules_1.hasNoMeasures(buckets) || bucketRules_1.hasNoStacks(buckets);
var segmentCanAddItems = bucketRules_1.hasSomeSegmentByItems(buckets) || bucketRules_1.hasNoMeasures(buckets) || bucketRules_1.hasOneMeasure(buckets);
set(referencePointConfigured, uiConfig_1.UICONFIG, bucketHelper_1.setBucketTitles(referencePoint, visualizationType, intl));
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.MEASURES, "canAddItems"], measuresCanAddItems);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.TREND, "canAddItems"], true);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.SEGMENT, "canAddItems"], segmentCanAddItems);
set(referencePointConfigured, uiConfig_1.UICONFIG, setLineChartBucketWarningMessages(referencePointConfigured, intl));
set(referencePointConfigured, [uiConfig_1.UICONFIG, uiConfig_1.OPEN_AS_REPORT, uiConfig_1.SUPPORTED], !propertiesHelper_1.hasColorMapping(referencePoint.properties));
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.MEASURES, "icon"], lineMeasuresIcon);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.TREND, "icon"], lineTrendIcon);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.SEGMENT, "icon"], lineSegmentIcon);
return referencePointConfigured;
}
exports.setLineChartUiConfig = setLineChartUiConfig;
//# sourceMappingURL=lineChartUiConfigHelper.js.map