@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
296 lines • 11.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// (C) 2007-2018 GoodData Corporation
var PropTypes = require("prop-types");
var identifierPropTypes = PropTypes.string;
var objUriQualifierPropTypes = {
identifier: PropTypes.string.isRequired,
};
var objIdentifierQualifierPropTypes = {
uri: PropTypes.string.isRequired,
};
var objQualifierPropTypes = PropTypes.oneOfType([
PropTypes.shape(objUriQualifierPropTypes),
PropTypes.shape(objIdentifierQualifierPropTypes),
]);
var expressionFilterPropTypes = {
value: PropTypes.string.isRequired,
};
var absoluteDateFilterPropTypes = {
absoluteDateFilter: PropTypes.shape({
dataSet: objQualifierPropTypes.isRequired,
from: PropTypes.string.isRequired,
to: PropTypes.string.isRequired,
}).isRequired,
};
var relativeDateFilterPropTypes = {
relativeDateFilter: PropTypes.shape({
dataSet: objQualifierPropTypes.isRequired,
granularity: PropTypes.string.isRequired,
from: PropTypes.number.isRequired,
to: PropTypes.number.isRequired,
}).isRequired,
};
var dateFilterItemPropTypes = PropTypes.oneOfType([
PropTypes.shape(absoluteDateFilterPropTypes),
PropTypes.shape(relativeDateFilterPropTypes),
]);
var positiveAttributeFilterPropTypes = {
positiveAttributeFilter: PropTypes.shape({
displayForm: objQualifierPropTypes.isRequired,
in: PropTypes.arrayOf(PropTypes.string).isRequired,
}).isRequired,
};
var negativeAttributeFilterPropTypes = {
negativeAttributeFilter: PropTypes.shape({
displayForm: objQualifierPropTypes.isRequired,
notIn: PropTypes.arrayOf(PropTypes.string).isRequired,
}).isRequired,
};
var attributeFilterItemPropTypes = PropTypes.oneOfType([
PropTypes.shape(positiveAttributeFilterPropTypes),
PropTypes.shape(negativeAttributeFilterPropTypes),
]);
var localIdentifierQualifierPropTypes = {
localIdentifier: PropTypes.string.isRequired,
};
var qualifierPropTypes = PropTypes.oneOfType([
objQualifierPropTypes,
PropTypes.shape(localIdentifierQualifierPropTypes),
]);
var comparisonConditionPropTypes = {
comparison: PropTypes.shape({
operator: PropTypes.oneOf([
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"EQUAL_TO",
"NOT_EQUAL_TO",
]).isRequired,
value: PropTypes.number.isRequired,
}).isRequired,
};
var rangeConditionPropTypes = {
range: PropTypes.shape({
operator: PropTypes.oneOf(["BETWEEN", "NOT_BETWEEN"]).isRequired,
from: PropTypes.number.isRequired,
to: PropTypes.number.isRequired,
}).isRequired,
};
var measureValueFilterConditionPropTypes = PropTypes.oneOfType([
PropTypes.shape(comparisonConditionPropTypes),
PropTypes.shape(rangeConditionPropTypes),
]);
var measureValueFilterItemPropTypes = PropTypes.shape({
measureValueFilter: PropTypes.shape({
measure: qualifierPropTypes.isRequired,
condition: measureValueFilterConditionPropTypes,
}).isRequired,
});
var filterItemPropTypes = PropTypes.oneOfType([
dateFilterItemPropTypes,
attributeFilterItemPropTypes,
measureValueFilterItemPropTypes,
]);
var compatibilityFilterPropTypes = PropTypes.oneOfType([
PropTypes.shape(expressionFilterPropTypes),
filterItemPropTypes,
]);
var attributePropTypes = {
localIdentifier: identifierPropTypes.isRequired,
displayForm: objQualifierPropTypes.isRequired,
alias: PropTypes.string,
};
var simpleMeasurePropTypes = {
item: objQualifierPropTypes.isRequired,
aggregation: PropTypes.oneOf(["sum", "count", "avg", "min", "max", "median", "runsum"]),
filters: PropTypes.arrayOf(filterItemPropTypes),
computeRatio: PropTypes.bool,
};
var simpleMeasureDefinitionPropTypes = {
measure: PropTypes.shape(simpleMeasurePropTypes).isRequired,
};
var popMeasurePropTypes = {
measureIdentifier: identifierPropTypes.isRequired,
popAttribute: objQualifierPropTypes.isRequired,
};
var popMeasureDefinitionPropTypes = {
popMeasure: PropTypes.shape(popMeasurePropTypes).isRequired,
};
var dateDataSetsPropTypes = {
dataSet: objQualifierPropTypes.isRequired,
periodsAgo: PropTypes.number,
};
var previousPeriodMeasurePropTypes = {
measureIdentifier: identifierPropTypes.isRequired,
dateDataSets: PropTypes.arrayOf(PropTypes.shape(dateDataSetsPropTypes)).isRequired,
};
var previousPeriodMeasureDefinitionPropTypes = {
previousPeriodMeasure: PropTypes.shape(previousPeriodMeasurePropTypes).isRequired,
};
var arithmeticMeasurePropTypes = {
measureIdentifiers: PropTypes.arrayOf(identifierPropTypes).isRequired,
operator: PropTypes.oneOf(["sum", "difference", "multiplication", "ratio", "change"]).isRequired,
};
var arithmeticMeasureDefinitionPropTypes = {
arithmeticMeasure: PropTypes.shape(arithmeticMeasurePropTypes).isRequired,
};
var measurePropTypes = {
localIdentifier: identifierPropTypes.isRequired,
definition: PropTypes.oneOfType([
PropTypes.shape(simpleMeasureDefinitionPropTypes),
PropTypes.shape(popMeasureDefinitionPropTypes),
PropTypes.shape(previousPeriodMeasureDefinitionPropTypes),
PropTypes.shape(arithmeticMeasureDefinitionPropTypes),
]).isRequired,
alias: PropTypes.string,
format: PropTypes.string,
};
var nativeTotalItemPropTypes = {
measureIdentifier: identifierPropTypes.isRequired,
attributeIdentifiers: PropTypes.arrayOf(identifierPropTypes).isRequired,
};
exports.FiltersPropTypesShape = PropTypes.arrayOf(compatibilityFilterPropTypes);
var afmPropTypes = {
attributes: PropTypes.arrayOf(PropTypes.shape(attributePropTypes)),
measures: PropTypes.arrayOf(PropTypes.shape(measurePropTypes)),
filters: exports.FiltersPropTypesShape,
nativeTotals: PropTypes.arrayOf(PropTypes.shape(nativeTotalItemPropTypes)),
};
var totalTypePropTypes = PropTypes.oneOf(["sum", "avg", "max", "min", "nat", "med"]);
var totalItemPropTypes = {
measureIdentifier: identifierPropTypes.isRequired,
type: totalTypePropTypes.isRequired,
attributeIdentifier: identifierPropTypes.isRequired,
};
var dimensionPropTypes = {
itemIdentifiers: PropTypes.arrayOf(identifierPropTypes).isRequired,
totals: PropTypes.arrayOf(PropTypes.shape(totalItemPropTypes)),
};
var sortDirectionPropTypes = PropTypes.oneOf(["asc", "desc"]);
var attributeSortItemPropTypes = {
attributeSortItem: PropTypes.shape({
direction: sortDirectionPropTypes.isRequired,
attributeIdentifier: identifierPropTypes.isRequired,
}).isRequired,
};
var attributeLocatorItemPropTypes = {
attributeLocatorItem: PropTypes.shape({
attributeIdentifier: identifierPropTypes.isRequired,
element: PropTypes.string.isRequired,
}).isRequired,
};
var measureLocatorItemPropTypes = {
measureLocatorItem: PropTypes.shape({
measureIdentifier: identifierPropTypes.isRequired,
}).isRequired,
};
var locatorItemPropTypes = PropTypes.oneOfType([
PropTypes.shape(attributeLocatorItemPropTypes),
PropTypes.shape(measureLocatorItemPropTypes),
]);
var measureSortItemPropTypes = {
measureSortItem: PropTypes.shape({
direction: sortDirectionPropTypes.isRequired,
locators: PropTypes.arrayOf(locatorItemPropTypes).isRequired,
}).isRequired,
};
var sortItemPropTypes = PropTypes.oneOfType([
PropTypes.shape(attributeSortItemPropTypes),
PropTypes.shape(measureSortItemPropTypes),
]);
var resultSpecPropTypes = {
dimension: PropTypes.arrayOf(PropTypes.shape(dimensionPropTypes)),
sorts: PropTypes.arrayOf(sortItemPropTypes),
};
var measureHeaderItemPropTypes = {
measureHeaderItem: PropTypes.shape({
uri: PropTypes.string,
identifier: PropTypes.string,
localIdentifier: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
format: PropTypes.string.isRequired,
}).isRequired,
};
var totalHeaderItemPropTypes = {
totalHeaderItem: PropTypes.shape({
name: PropTypes.string.isRequired,
}).isRequired,
};
var responseMeasureGroupHeaderPropTypes = {
measureGroupHeader: PropTypes.shape({
items: PropTypes.arrayOf(PropTypes.shape(measureHeaderItemPropTypes)).isRequired,
totalItems: PropTypes.arrayOf(PropTypes.shape(totalHeaderItemPropTypes)),
}).isRequired,
};
var responseAttributeHeaderPropTypes = {
attributeHeader: PropTypes.shape({
uri: PropTypes.string.isRequired,
identifier: PropTypes.string.isRequired,
localIdentifier: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
totalItems: PropTypes.arrayOf(PropTypes.shape(totalHeaderItemPropTypes)),
formOf: PropTypes.shape({
name: PropTypes.string.isRequired,
uri: PropTypes.string.isRequired,
identifier: PropTypes.string.isRequired,
}).isRequired,
}).isRequired,
};
var responseHeaderPropTypes = PropTypes.oneOfType([
PropTypes.shape(responseMeasureGroupHeaderPropTypes),
PropTypes.shape(responseAttributeHeaderPropTypes),
]);
var responseDimensionPropTypes = {
headers: PropTypes.arrayOf(responseHeaderPropTypes).isRequired,
};
var resultAttributeHeaderItemPropTypes = {
attributeHeaderItem: PropTypes.shape({
uri: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
}).isRequired,
};
var resultMeasureHeaderItemPropTypes = {
measureHeaderItem: PropTypes.shape({
name: PropTypes.string.isRequired,
order: PropTypes.number.isRequired,
}).isRequired,
};
var resultTotalHeaderItemPropTypes = {
totalHeaderItem: PropTypes.shape({
name: PropTypes.string.isRequired,
type: PropTypes.string.isRequired,
}).isRequired,
};
var dataValuePropTypes = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);
exports.AfmPropTypesShape = PropTypes.shape(afmPropTypes);
exports.ResultSpecPropTypesShape = PropTypes.shape(resultSpecPropTypes);
exports.ExecutionRequestPropTypes = PropTypes.shape({
afm: exports.AfmPropTypesShape.isRequired,
resultSpec: exports.ResultSpecPropTypesShape,
});
exports.ExecutionResponsePropTypes = PropTypes.shape({
links: PropTypes.shape({ executionResult: PropTypes.string.isRequired }).isRequired,
dimensions: PropTypes.arrayOf(PropTypes.shape(responseDimensionPropTypes)).isRequired,
});
exports.ExecutionResultPropTypes = PropTypes.shape({
headerItems: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.oneOfType([
PropTypes.shape(resultAttributeHeaderItemPropTypes),
PropTypes.shape(resultTotalHeaderItemPropTypes),
])),
PropTypes.arrayOf(PropTypes.shape(resultMeasureHeaderItemPropTypes)),
]))),
data: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.arrayOf(dataValuePropTypes)),
PropTypes.arrayOf(dataValuePropTypes),
]).isRequired,
totals: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(dataValuePropTypes))),
paging: PropTypes.shape({
count: PropTypes.arrayOf(PropTypes.number).isRequired,
offset: PropTypes.arrayOf(PropTypes.number).isRequired,
total: PropTypes.arrayOf(PropTypes.number).isRequired,
}).isRequired,
});
//# sourceMappingURL=execution.js.map