UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

82 lines (63 loc) 3.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateLegendDefaults = generateLegendDefaults; exports.getDefaultLegendDefinitions = getDefaultLegendDefinitions; exports.getNonDefaultLegendDefinitions = getNonDefaultLegendDefinitions; exports.resetLegends = resetLegends; var _lodash = require("lodash"); var _utils = require("../../../core/utils"); function generateLegendDefaults() { let legendDefinitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; let weight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100; let highIsGood = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; if (!(0, _lodash.isEmpty)(legendDefinitions)) { const actualWeight = weight !== null && weight !== void 0 ? weight : 100; //sets 100 as the default weight const range = actualWeight / (legendDefinitions === null || legendDefinitions === void 0 ? void 0 : legendDefinitions.length); const values = []; let legendDefinitionIterator = legendDefinitions.length - 1; for (let i = 0; i < actualWeight; i += range) { const { id } = legendDefinitions[legendDefinitionIterator]; values.push({ id: (0, _utils.uid)(), startValue: "".concat(Math.floor(i)), endValue: "".concat(Math.floor(i + range)), legendDefinitionId: id }); legendDefinitionIterator--; } return highIsGood ? values.reverse() : values; } return []; } function resetLegends(groups, legendDefinitions) { const newGroups = (0, _lodash.cloneDeep)(groups); if (newGroups) { newGroups === null || newGroups === void 0 ? void 0 : newGroups.forEach(group => { var _group$dataHolders; group === null || group === void 0 ? void 0 : (_group$dataHolders = group.dataHolders) === null || _group$dataHolders === void 0 ? void 0 : _group$dataHolders.forEach(dataHolder => { var _dataHolder$dataSourc; dataHolder === null || dataHolder === void 0 ? void 0 : (_dataHolder$dataSourc = dataHolder.dataSources) === null || _dataHolder$dataSourc === void 0 ? void 0 : _dataHolder$dataSourc.forEach(dataSource => { (0, _lodash.set)(dataSource, "legends", generateLegendDefaults(getNonDefaultLegendDefinitions(legendDefinitions))); if (!(0, _lodash.isEmpty)(dataSource.specificTargets)) { dataSource.specificTargets.forEach(specificTarget => { (0, _lodash.set)(specificTarget, "legends", generateLegendDefaults(getNonDefaultLegendDefinitions(legendDefinitions))); }); } }); }); }); } return newGroups; } function getNonDefaultLegendDefinitions(legendDefinitions) { var _legendDefinitions$fi; return (_legendDefinitions$fi = legendDefinitions === null || legendDefinitions === void 0 ? void 0 : legendDefinitions.filter(legendDefinition => !legendDefinition.isDefault)) !== null && _legendDefinitions$fi !== void 0 ? _legendDefinitions$fi : []; } function getDefaultLegendDefinitions(legendDefinitions) { var _legendDefinitions$fi2; return (_legendDefinitions$fi2 = legendDefinitions === null || legendDefinitions === void 0 ? void 0 : legendDefinitions.filter(legendDefinition => legendDefinition.isDefault)) !== null && _legendDefinitions$fi2 !== void 0 ? _legendDefinitions$fi2 : []; }