UNPKG

@gooddata/react-components

Version:

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

139 lines 5.56 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); 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 }); var utils_1 = require("./utils"); var MeasureBuilderBase = /** @class */ (function () { function MeasureBuilderBase() { var _this = this; this.alias = function (alias) { _this.measure.alias = alias; return _this; }; this.format = function (format) { _this.measure.format = format; return _this; }; this.title = function (title) { _this.measure.title = title; return _this; }; this.localIdentifier = function (localIdentifier) { _this.measure.localIdentifier = localIdentifier; return _this; }; this.measure = { localIdentifier: "m_" + MeasureBuilderBase.lastMeasureId++, }; // definition is added in subclass } MeasureBuilderBase.lastMeasureId = 0; return MeasureBuilderBase; }()); exports.MeasureBuilderBase = MeasureBuilderBase; var MeasureBuilder = /** @class */ (function (_super) { __extends(MeasureBuilder, _super); function MeasureBuilder(identifier) { var _this = _super.call(this) || this; _this.aggregation = function (aggregation) { _this.measure.definition.measureDefinition.aggregation = aggregation; return _this; }; _this.ratio = function () { _this.measure.definition.measureDefinition.computeRatio = true; return _this; }; _this.filters = function () { var filters = []; for (var _i = 0; _i < arguments.length; _i++) { filters[_i] = arguments[_i]; } _this.measure.definition.measureDefinition.filters = filters; return _this; }; _this.measure.definition = { measureDefinition: { item: utils_1.getObjQualifier(identifier), }, }; return _this; } return MeasureBuilder; }(MeasureBuilderBase)); exports.MeasureBuilder = MeasureBuilder; var ArithmeticMeasureBuilder = /** @class */ (function (_super) { __extends(ArithmeticMeasureBuilder, _super); function ArithmeticMeasureBuilder(measureIdentifiers, operator) { var _this = _super.call(this) || this; _this.measure.definition = { arithmeticMeasure: { measureIdentifiers: measureIdentifiers, operator: operator, }, }; return _this; } return ArithmeticMeasureBuilder; }(MeasureBuilderBase)); exports.ArithmeticMeasureBuilder = ArithmeticMeasureBuilder; var PoPMeasureBuilder = /** @class */ (function (_super) { __extends(PoPMeasureBuilder, _super); function PoPMeasureBuilder(measureIdentifier, popAttribute) { var _this = _super.call(this) || this; _this.measure.definition = { popMeasureDefinition: { measureIdentifier: measureIdentifier, popAttribute: utils_1.getObjQualifier(popAttribute), }, }; return _this; } return PoPMeasureBuilder; }(MeasureBuilderBase)); exports.PoPMeasureBuilder = PoPMeasureBuilder; var PreviousPeriodMeasureBuilder = /** @class */ (function (_super) { __extends(PreviousPeriodMeasureBuilder, _super); function PreviousPeriodMeasureBuilder(measureIdentifier, dateDataSets) { var _this = _super.call(this) || this; _this.measure.definition = { previousPeriodMeasure: { measureIdentifier: measureIdentifier, dateDataSets: dateDataSets.map(function (d) { return (__assign({}, d, { dataSet: typeof d.dataSet === "string" ? utils_1.getObjQualifier(d.dataSet) : d.dataSet })); }), }, }; return _this; } return PreviousPeriodMeasureBuilder; }(MeasureBuilderBase)); exports.PreviousPeriodMeasureBuilder = PreviousPeriodMeasureBuilder; exports.measure = function (identifier) { return new MeasureBuilder(identifier); }; exports.arithmeticMeasure = function (measureIdentifiers, operator) { return new ArithmeticMeasureBuilder(measureIdentifiers, operator); }; exports.popMeasure = function (measureIdentifier, popAttribute) { return new PoPMeasureBuilder(measureIdentifier, popAttribute); }; exports.previousPeriodMeasure = function (measureIdentifier, dateDataSets) { if (dateDataSets === void 0) { dateDataSets = []; } return new PreviousPeriodMeasureBuilder(measureIdentifier, dateDataSets); }; //# sourceMappingURL=measures.js.map