UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

93 lines 4.68 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2020 GoodData Corporation var DrillEvents_1 = require("../../../interfaces/DrillEvents"); var agGridDrilling_1 = require("../../core/pivotTable/agGridDrilling"); var afmHelper_1 = require("../../../helpers/afmHelper"); var drilldownEventing_1 = require("./drilldownEventing"); var common_1 = require("./common"); var convertIntersectionToLegacy = function (intersection, afm) { return intersection.map(function (intersectionItem) { var header = intersectionItem.header; if (DrillEvents_1.isDrillIntersectionAttributeItem(header)) { var _a = header.attributeHeaderItem, itemUri = _a.uri, name_1 = _a.name; var _b = header.attributeHeader, uri = _b.uri, identifier = _b.identifier; return drilldownEventing_1.createDrillIntersectionElement(common_1.getAttributeElementIdFromAttributeElementUri(itemUri), name_1, uri, identifier); } return convertMeasureHeaderItem(header, afm); }); }; var convertPointToLegacy = function (afm) { return function (point) { return __assign({}, point, { intersection: convertIntersectionToLegacy(point.intersection, afm) }); }; }; var convertChartsDrillContextToLegacy = function (drillContext, afm) { var isGroup = !!drillContext.points; var convertedProp = isGroup ? { points: drillContext.points.map(convertPointToLegacy(afm)), } : { intersection: convertIntersectionToLegacy(drillContext.intersection, afm), }; return __assign({}, drillContext, convertedProp); }; var convertMeasureHeaderItem = function (header, afm) { if (!DrillEvents_1.isMappingMeasureHeaderItem(header)) { throw new Error("Converting wrong item type, IMeasureHeaderItem expected!"); } var _a = header.measureHeaderItem, localIdentifier = _a.localIdentifier, name = _a.name, headerUri = _a.uri, headerIdentifier = _a.identifier; var masterMeasureQualifier = afmHelper_1.getMasterMeasureObjQualifier(afm, localIdentifier); if (!masterMeasureQualifier) { throw new Error("The metric ids has not been found in execution request!"); } var id = localIdentifier; var uri = masterMeasureQualifier.uri || headerUri; var identifier = masterMeasureQualifier.identifier || headerIdentifier; return drilldownEventing_1.createDrillIntersectionElement(id, name, uri, identifier); }; function convertHeadlineDrillIntersectionToLegacy(intersectionExtended, afm) { return intersectionExtended .filter(function (_a) { var header = _a.header; return DrillEvents_1.isMappingMeasureHeaderItem(header); }) .map(function (intersectionElement) { var header = intersectionElement.header; var _a = header.measureHeaderItem, localIdentifier = _a.localIdentifier, name = _a.name; var masterMeasureQualifier = afmHelper_1.getMasterMeasureObjQualifier(afm, localIdentifier); if (!masterMeasureQualifier) { throw new Error("The metric ids has not been found in execution request!"); } return drilldownEventing_1.createDrillIntersectionElement(localIdentifier, name, masterMeasureQualifier.uri, masterMeasureQualifier.identifier); }); } function convertHeadlineDrillContextToLegacy(drillContext, executionContext) { var type = drillContext.type, element = drillContext.element, value = drillContext.value; return { type: type, element: element, value: value, intersection: convertHeadlineDrillIntersectionToLegacy(drillContext.intersection, executionContext), }; } exports.convertDrillContextToLegacy = function (drillContext, executionContext) { if (DrillEvents_1.isDrillEventContextTableExtended(drillContext)) { return agGridDrilling_1.convertPivotTableDrillContextToLegacy(drillContext, executionContext); } if (DrillEvents_1.isDrillEventContextHeadlineExtended(drillContext) || DrillEvents_1.isDrillEventContextXirrExtended(drillContext)) { return convertHeadlineDrillContextToLegacy(drillContext, executionContext); } return convertChartsDrillContextToLegacy(drillContext, executionContext); }; //# sourceMappingURL=drilldownEventingLegacy.js.map