@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
51 lines (45 loc) • 2.53 kB
text/typescript
// (C) 2019-2020 GoodData Corporation
import { IntlShape } from "react-intl";
import cloneDeep = require("lodash/cloneDeep");
import set = require("lodash/set");
import get = require("lodash/get");
import { IExtendedReferencePoint } from "../../interfaces/Visualization";
import { UICONFIG, OPEN_AS_REPORT, SUPPORTED } from "../../constants/uiConfig";
import { BUCKETS } from "../../constants/bucket";
import { setBucketTitles } from "../bucketHelper";
import * as BucketNames from "../../../constants/bucketNames";
import * as geoPushPinBucketLocationIcon from "../../assets/geoPushpin/bucket-title-location-icon.svg";
import * as geoPushPinBucketSizeIcon from "../../assets/geoPushpin/bucket-title-size-icon.svg";
import * as geoPushPinBucketColorIcon from "../../assets/geoPushpin/bucket-title-color-icon.svg";
import * as geoPushPinBucketSegmentIcon from "../../assets/geoPushpin/bucket-title-segment-icon.svg";
export function setGeoPushpinUiConfig(
referencePoint: IExtendedReferencePoint,
intl: IntlShape,
visualizationType: string,
): IExtendedReferencePoint {
const referencePointConfigured = cloneDeep(referencePoint);
set(referencePointConfigured, UICONFIG, setBucketTitles(referencePoint, visualizationType, intl));
set(
referencePointConfigured,
[],
geoPushPinBucketLocationIcon,
);
set(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.SIZE, "icon"], geoPushPinBucketSizeIcon);
set(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.COLOR, "icon"], geoPushPinBucketColorIcon);
set(
referencePointConfigured,
[],
geoPushPinBucketSegmentIcon,
);
// overide base config
set(referencePointConfigured, [UICONFIG, OPEN_AS_REPORT, SUPPORTED], false);
// only apply related bucket uiConfig
set(referencePointConfigured, [UICONFIG, BUCKETS], {
[]: get(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.LOCATION]),
[]: get(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.SIZE]),
[]: get(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.COLOR]),
[]: get(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.SEGMENT]),
[]: get(referencePointConfigured, [UICONFIG, BUCKETS, BucketNames.FILTERS]),
});
return referencePointConfigured;
}