@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
40 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// (C) 2020 GoodData Corporation
var uniqBy = require("lodash/uniqBy");
var color_1 = require("../../utils/color");
function isValidMappedColor(colorItem, colorPalette) {
if (!colorItem) {
return false;
}
if (colorItem.type === "guid") {
return isColorItemInPalette(colorItem, colorPalette);
}
return true;
}
exports.isValidMappedColor = isValidMappedColor;
function getAtributeColorAssignment(attribute, colorPalette, colorMapping, executionResponse, afm) {
var currentColorPaletteIndex = 0;
var uniqItems = uniqBy(attribute.items, "attributeHeaderItem.uri");
return uniqItems.map(function (headerItem) {
var mappedColor = color_1.getColorFromMapping(headerItem, colorMapping, executionResponse, afm);
var color = isValidMappedColor(mappedColor, colorPalette)
? mappedColor
: {
type: "guid",
value: colorPalette[currentColorPaletteIndex % colorPalette.length].guid,
};
currentColorPaletteIndex++;
return {
headerItem: headerItem,
color: color,
};
});
}
exports.getAtributeColorAssignment = getAtributeColorAssignment;
function isColorItemInPalette(colorItem, colorPalette) {
return colorPalette.some(function (paletteItem) {
return colorItem.type === "guid" && colorItem.value === paletteItem.guid;
});
}
//# sourceMappingURL=utils.js.map