UNPKG

@gooddata/react-components

Version:

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

296 lines • 11.4 kB
"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