@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
62 lines • 3.76 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 treemapMeasuresIcon = require("../../assets/treemap/bucket-title-measures.svg");
var treemapViewIcon = require("../../assets/treemap/bucket-title-view.svg");
var treemapSegmentIcon = require("../../assets/treemap/bucket-title-segment.svg");
function setTreemapBucketWarningMessages(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_view_by_warning";
}
if (bucket.localIdentifier === BucketNames.VIEW) {
warningMessageId = "dashboard.bucket.category_category_by_warning";
}
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 setTreemapUiConfig(referencePoint, intl, visualizationType) {
var referencePointConfigured = cloneDeep(referencePoint);
var buckets = get(referencePointConfigured, bucket_1.BUCKETS, []);
var measuresCanAddItems = !bucketRules_1.hasOneCategory(buckets) || bucketRules_1.hasNoMeasures(buckets);
var viewCanAddItems = !bucketRules_1.hasMoreThanOneMasterMeasure(buckets, BucketNames.MEASURES);
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.VIEW, "canAddItems"], viewCanAddItems);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.SEGMENT, "canAddItems"], true);
set(referencePointConfigured, uiConfig_1.UICONFIG, setTreemapBucketWarningMessages(referencePointConfigured, intl));
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.MEASURES, "icon"], treemapMeasuresIcon);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.VIEW, "icon"], treemapViewIcon);
set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.SEGMENT, "icon"], treemapSegmentIcon);
return referencePointConfigured;
}
exports.setTreemapUiConfig = setTreemapUiConfig;
//# sourceMappingURL=treemapUiConfigHelper.js.map