@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
139 lines • 5.56 kB
JavaScript
;
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