@cubejs-client/react 1.6.41 → 1.6.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-react.cjs.js","sources":["../src/CubeContext.js","../src/QueryRenderer.jsx","../src/QueryRendererWithTotals.jsx","../src/utils.js","../src/QueryBuilder.jsx","../src/CubeProvider.jsx","../src/hooks/deep-compare-memoize.js","../src/hooks/cube-fetch.js","../src/hooks/cube-sql.js","../src/hooks/dry-run.js","../src/hooks/lazy-dry-run.js","../src/hooks/cube-query.js","../src/hooks/cube-meta.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport default createContext(null);\n","import React from 'react';\nimport { equals, toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent } from '@cubejs-client/core';\n\nimport CubeContext from './CubeContext';\n\nexport default class QueryRenderer extends React.Component {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n query: null,\n render: null,\n queries: null,\n loadSql: null,\n updateOnlyOnStateChange: false,\n resetResultSetOnChange: true,\n cache: null,\n };\n\n // @deprecated use `isQueryPresent` from `@cubejs-client/core`\n static isQueryPresent(query) {\n return isQueryPresent(query);\n }\n\n constructor(props) {\n super(props);\n this.state = {};\n this.mutexObj = {};\n }\n\n componentDidMount() {\n const { query, queries } = this.props;\n if (query) {\n this.load(query);\n }\n if (queries) {\n this.loadQueries(queries);\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const {\n query, queries, render, cubeApi, loadSql, updateOnlyOnStateChange\n } = this.props;\n if (!updateOnlyOnStateChange) {\n return true;\n }\n return !equals(nextProps.query, query)\n || !equals(nextProps.queries, queries)\n || ((nextProps.render == null || render == null) && nextProps.render !== render)\n || nextProps.cubeApi !== cubeApi\n || nextProps.loadSql !== loadSql\n || !equals(nextState, this.state)\n || nextProps.updateOnlyOnStateChange !== updateOnlyOnStateChange;\n }\n\n componentDidUpdate(prevProps) {\n const { query, queries } = this.props;\n if (!equals(prevProps.query, query)) {\n this.load(query);\n }\n\n if (!equals(prevProps.queries, queries)) {\n this.loadQueries(queries);\n }\n }\n\n cubeApi() {\n // eslint-disable-next-line react/destructuring-assignment\n return this.props.cubeApi || this.context && this.context.cubeApi;\n }\n\n load(query) {\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n error: null,\n sqlQuery: null,\n ...(resetResultSetOnChange ? { resultSet: null } : {})\n });\n const { loadSql } = this.props;\n const cubeApi = this.cubeApi();\n\n const loadOptions = {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n ...(cache ? { cache } : {}),\n };\n\n if (query && isQueryPresent(query)) {\n if (loadSql === 'only') {\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' })\n .then(sqlQuery => this.setState({ sqlQuery, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else if (loadSql) {\n Promise.all([\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' }),\n cubeApi.load(query, loadOptions)\n ]).then(([sqlQuery, resultSet]) => this.setState({\n sqlQuery, resultSet, error: null, isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else {\n cubeApi.load(query, loadOptions)\n .then(resultSet => this.setState({ resultSet, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n }\n }\n\n loadQueries(queries) {\n const cubeApi = this.cubeApi();\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error: null\n });\n\n const resultPromises = Promise.all(toPairs(queries).map(\n ([name, query]) => cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n ...(cache ? { cache } : {}),\n }).then(r => [name, r])\n ));\n\n resultPromises\n .then(resultSet => this.setState({\n resultSet: fromPairs(resultSet),\n error: null,\n isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n\n render() {\n const {\n error, queries, resultSet, isLoading, sqlQuery\n } = this.state;\n const { render } = this.props;\n\n const loadState = {\n error: error ? new Error(error.response?.plainError || error.message || error.toString()) : null,\n resultSet: queries ? (resultSet || {}) : resultSet,\n loadingState: { isLoading },\n sqlQuery\n };\n\n if (render) {\n return render(loadState);\n }\n\n return null;\n }\n}\n","import React from 'react';\nimport QueryRenderer from './QueryRenderer.jsx';\n\nconst QueryRendererWithTotals = ({ query, ...restProps }) => (\n <QueryRenderer\n queries={{\n totals: {\n ...query,\n dimensions: [],\n timeDimensions: query.timeDimensions\n ? query.timeDimensions.map(td => ({ ...td, granularity: null }))\n : undefined\n },\n main: query\n }}\n {...restProps}\n />\n);\n\nexport default QueryRendererWithTotals;\n","export function removeEmpty(obj) {\n if (Array.isArray(obj) || typeof obj !== 'object') {\n return obj;\n }\n\n return Object.fromEntries(\n Object.entries(obj)\n .filter(([, v]) => v != null)\n .map(([k, v]) => {\n if (Array.isArray(v)) {\n return [k, v.map(removeEmpty)];\n }\n\n return [k, typeof v === 'object' ? removeEmpty(v) : v];\n })\n );\n}\n","import React from 'react';\nimport { clone, equals, indexBy, pick, prop, uniq, uniqBy } from 'ramda';\nimport {\n defaultHeuristics,\n defaultOrder,\n flattenFilters,\n getQueryMembers,\n isQueryPresent,\n moveItemInArray,\n movePivotItem,\n validateQuery,\n ResultSet,\n removeEmptyQueryFields\n} from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer.jsx';\nimport CubeContext from './CubeContext';\nimport { removeEmpty } from './utils';\n\nconst granularities = [\n { name: undefined, title: 'w/o grouping' },\n { name: 'second', title: 'Second' },\n { name: 'minute', title: 'Minute' },\n { name: 'hour', title: 'Hour' },\n { name: 'day', title: 'Day' },\n { name: 'week', title: 'Week' },\n { name: 'month', title: 'Month' },\n { name: 'quarter', title: 'Quarter' },\n { name: 'year', title: 'Year' },\n];\n\nexport default class QueryBuilder extends React.Component {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n stateChangeHeuristics: null,\n disableHeuristics: false,\n render: null,\n wrapWithQueryRenderer: true,\n defaultChartType: 'line',\n defaultQuery: {},\n initialVizState: null,\n onVizStateChanged: null,\n\n // deprecated\n query: null,\n setQuery: null,\n vizState: null,\n setVizState: null,\n };\n\n // This is an anti-pattern, only kept for backward compatibility\n // https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#anti-pattern-unconditionally-copying-props-to-state\n static getDerivedStateFromProps(props, state) {\n if (props.query || props.vizState) {\n const nextState = {\n ...state,\n ...(props.vizState || {}),\n };\n\n if (Array.isArray(props.query)) {\n throw new Error('Array of queries is not supported.');\n }\n\n return {\n ...nextState,\n query: {\n ...nextState.query,\n ...(props.query || {}),\n },\n };\n }\n return null;\n }\n\n static resolveMember(type, { meta, query }) {\n if (!meta) {\n return [];\n }\n\n if (Array.isArray(query)) {\n return query.reduce(\n (memo, currentQuery) => memo.concat(\n QueryBuilder.resolveMember(type, {\n meta,\n query: currentQuery,\n })\n ),\n []\n );\n }\n\n if (type === 'timeDimensions') {\n return (query.timeDimensions || []).map((m, index) => ({\n ...m,\n dimension: {\n ...meta.resolveMember(m.dimension, 'dimensions'),\n granularities,\n },\n index,\n }));\n }\n\n return (query[type] || []).map((m, index) => ({\n index,\n ...meta.resolveMember(m, type),\n }));\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n query: props.defaultQuery || props.query,\n chartType: props.defaultChartType,\n validatedQuery: props.query, // deprecated, validatedQuery should not be set until after dry-run for safety\n missingMembers: [],\n // todo: rename to `isMetaReady`\n isFetchingMeta: true,\n dryRunResponse: null,\n ...props.vizState, // deprecated\n ...props.initialVizState,\n };\n\n this.mutexObj = {};\n this.orderMembersOrderKeys = [];\n }\n\n async componentDidMount() {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n async componentDidUpdate(prevProps) {\n const { schemaVersion, onSchemaChange } = this.props;\n const { meta } = this.state;\n\n if (this.prevContext?.cubeApi !== this.context?.cubeApi) {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n if (prevProps.schemaVersion !== schemaVersion) {\n try {\n const newMeta = await this.cubeApi().meta();\n if (!equals(newMeta, meta) && typeof onSchemaChange === 'function') {\n onSchemaChange({\n schemaVersion,\n refresh: async () => {\n await this.fetchMeta();\n },\n });\n }\n } catch (error) {\n // eslint-disable-next-line\n this.setState({ metaError: error });\n }\n }\n }\n\n fetchMeta = async () => {\n if (!this.cubeApi()) {\n return;\n }\n\n let meta;\n let metaError = null;\n let richMetaError = null;\n let metaErrorStack = null;\n\n try {\n this.setState({ isFetchingMeta: true });\n meta = await this.cubeApi().meta();\n } catch (error) {\n metaError = error.response?.plainError || error;\n richMetaError = error;\n metaErrorStack = error.response?.stack?.replace(error.message || '', '') || '';\n }\n\n this.setState(\n {\n meta,\n metaError: metaError ? new Error(metaError.message || metaError.toString()) : null,\n richMetaError,\n metaErrorStack,\n isFetchingMeta: false,\n },\n () => {\n // Run update query to force viz state update\n // This will catch any new missing members, and also validate the query against the new meta\n this.updateQuery({});\n }\n );\n };\n\n cubeApi() {\n const { cubeApi } = this.props;\n // eslint-disable-next-line react/destructuring-assignment\n return cubeApi || (this.context && this.context.cubeApi);\n }\n\n getMissingMembers(query, meta) {\n if (!meta) {\n return [];\n }\n\n return getQueryMembers(query)\n .map((member) => {\n const resolvedMember = meta.resolveMember(member, ['measures', 'dimensions', 'segments']);\n if (resolvedMember.error) {\n return member;\n }\n return false;\n })\n .filter(Boolean);\n }\n\n isQueryPresent() {\n const { query } = this.state;\n return QueryRenderer.isQueryPresent(query);\n }\n\n prepareRenderProps(queryRendererProps) {\n const getName = (member) => member.name;\n\n const toTimeDimension = (member) => {\n const rangeSelection = member.compareDateRange\n ? { compareDateRange: member.compareDateRange }\n : { dateRange: member.dateRange };\n\n return removeEmpty({\n dimension: member.dimension.name,\n granularity: member.granularity,\n ...rangeSelection,\n });\n };\n\n const toFilter = (member) => ({\n member: member.member?.name || member.dimension?.name,\n operator: member.operator,\n ...(['set', 'notSet'].includes(member.operator) ? {} : { values: member.values }),\n });\n\n const updateMethods = (memberType, toQuery = getName) => ({\n add: (member) => {\n const { query } = this.state;\n this.updateQuery({\n [memberType]: (query[memberType] || []).concat(toQuery(member)),\n });\n },\n remove: (member) => {\n const { query } = this.state;\n\n return this.updateQuery({\n [memberType]: (query[memberType] || []).filter((_, index) => index !== member.index),\n });\n },\n update: (member, updateWith) => {\n const { query } = this.state;\n const members = (query[memberType] || []).concat([]);\n members.splice(member.index, 1, toQuery(updateWith));\n return this.updateQuery({\n [memberType]: members,\n });\n },\n });\n\n const {\n meta,\n metaError,\n richMetaError,\n query,\n queryError,\n chartType,\n pivotConfig,\n validatedQuery,\n missingMembers,\n isFetchingMeta,\n dryRunResponse,\n metaErrorStack\n } = this.state;\n\n const flatFilters = uniqBy((filter) => `${prop('member', filter)}${prop('operator', filter)}`,\n flattenFilters((meta && query.filters) || []).map((filter) => ({\n ...filter,\n member: filter.member || filter.dimension,\n })));\n\n const filters = flatFilters.map((m, i) => ({\n ...m,\n dimension: meta.resolveMember(m.member || m.dimension, ['dimensions', 'measures']),\n operators: meta.filterOperatorsForMember(m.member || m.dimension, ['dimensions', 'measures']),\n index: i,\n }));\n\n const measures = QueryBuilder.resolveMember('measures', this.state);\n const dimensions = QueryBuilder.resolveMember('dimensions', this.state);\n const timeDimensions = QueryBuilder.resolveMember('timeDimensions', this.state);\n const segments = ((meta && query.segments) || []).map((m, i) => ({\n index: i,\n ...meta.resolveMember(m, 'segments'),\n }));\n\n let availableMeasures = [];\n let availableDimensions = [];\n let availableSegments = [];\n let availableFilterMembers = [];\n\n const availableMembers = meta?.membersGroupedByCube() || {\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n };\n\n if (meta) {\n availableMeasures = meta.membersForQuery(query, 'measures');\n availableDimensions = meta.membersForQuery(query, 'dimensions');\n availableSegments = meta.membersForQuery(query, 'segments');\n\n const indexedMeasures = indexBy(prop('cubeName'), availableMembers.measures);\n const indexedDimensions = indexBy(prop('cubeName'), availableMembers.dimensions);\n const cubeNames = uniq([...Object.keys(indexedMeasures), ...Object.keys(indexedDimensions)]).sort();\n\n availableFilterMembers = cubeNames.map((name) => {\n const cube = indexedMeasures[name] || indexedDimensions[name];\n\n return {\n ...cube,\n members: [\n ...indexedMeasures[name]?.members,\n ...indexedDimensions[name]?.members\n ].sort((a, b) => (a.shortTitle > b.shortTitle ? 1 : -1)),\n };\n });\n }\n\n const activeOrder = Array.isArray(query.order) ? Object.fromEntries(query.order) : query.order;\n const members = [\n ...measures,\n ...dimensions,\n ...timeDimensions.map(({ dimension }) => dimension)\n ];\n\n let orderMembers = uniqBy(prop('id'), [\n // uniqBy prefers first, so these will only be added if not already in the query\n ...members.map(({ name, title }) => ({ id: name, title, order: activeOrder?.[name] || 'none' })),\n ]);\n\n if (this.orderMembersOrderKeys.length !== orderMembers.length) {\n this.orderMembersOrderKeys = orderMembers.map(({ id }) => id);\n }\n\n if (this.orderMembersOrderKeys.length) {\n // Preserve order until the members change or manually re-ordered\n // This is needed so that when an order member becomes active, it doesn't jump to the top of the list\n orderMembers = (this.orderMembersOrderKeys || [])\n .map((id) => orderMembers.find((member) => member.id === id))\n .filter(Boolean);\n }\n\n return {\n meta,\n metaError,\n richMetaError,\n metaErrorStack,\n query,\n error: queryError, // Match same name as QueryRenderer prop\n validatedQuery,\n isQueryPresent: this.isQueryPresent(),\n chartType,\n measures,\n dimensions,\n timeDimensions,\n segments,\n filters,\n orderMembers,\n availableMeasures,\n availableDimensions,\n availableTimeDimensions: availableDimensions.filter((m) => m.type === 'time'),\n availableSegments,\n availableMembers,\n availableFilterMembers,\n updateQuery: (queryUpdate) => this.updateQuery(queryUpdate),\n updateMeasures: updateMethods('measures'),\n updateDimensions: updateMethods('dimensions'),\n updateSegments: updateMethods('segments'),\n updateTimeDimensions: updateMethods('timeDimensions', toTimeDimension),\n updateFilters: updateMethods('filters', toFilter),\n updateChartType: (newChartType) => this.updateVizState({ chartType: newChartType }),\n updateOrder: {\n set: (memberId, newOrder = 'asc') => {\n this.updateQuery({\n order: orderMembers\n .map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n .reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []),\n });\n },\n update: (order) => {\n this.updateQuery({\n order,\n });\n },\n reorder: (sourceIndex, destinationIndex) => {\n if (sourceIndex == null || destinationIndex == null) {\n return;\n }\n\n const nextArray = moveItemInArray(orderMembers, sourceIndex, destinationIndex);\n this.orderMembersOrderKeys = nextArray.map(({ id }) => id);\n\n this.updateQuery({\n order: nextArray.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []),\n });\n },\n },\n pivotConfig,\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.updateVizState({\n pivotConfig: movePivotItem(pivotConfig, sourceIndex, destinationIndex, sourceAxis, destinationAxis),\n });\n },\n update: (config) => {\n const { limit } = config;\n\n this.updateVizState({\n pivotConfig: {\n ...pivotConfig,\n ...config,\n },\n ...(limit ? { query: { ...query, limit } } : null),\n });\n },\n },\n missingMembers,\n refresh: this.fetchMeta,\n isFetchingMeta,\n dryRunResponse,\n ...queryRendererProps,\n };\n }\n\n updateQuery(queryUpdate) {\n const { query } = this.state;\n\n this.updateVizState({\n query: removeEmptyQueryFields({\n ...query,\n ...queryUpdate,\n }),\n });\n }\n\n async updateVizState(state) {\n const { setQuery, setVizState } = this.props;\n const { query: stateQuery, pivotConfig: statePivotConfig, chartType, meta } = this.state;\n\n const finalState = this.applyStateChangeHeuristics(state);\n if (!finalState.query) {\n finalState.query = { ...stateQuery };\n }\n\n let vizStateSent = null;\n const handleVizStateChange = (currentState) => {\n const { onVizStateChanged } = this.props;\n if (onVizStateChanged) {\n const newVizState = pick(['chartType', 'pivotConfig', 'query'], currentState);\n // Don't run callbacks more than once unless the viz state has changed since last time\n if (!vizStateSent || !equals(vizStateSent, newVizState)) {\n onVizStateChanged(newVizState);\n // use clone to make sure we don't save object references\n vizStateSent = clone(newVizState);\n }\n }\n };\n\n // deprecated, setters replaced by onVizStateChanged\n const runSetters = (currentState) => {\n if (setVizState) {\n setVizState(pick(['chartType', 'pivotConfig', 'query'], currentState));\n }\n if (currentState.query && setQuery) {\n setQuery(currentState.query);\n }\n };\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = defaultOrder(finalState.query);\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(\n finalState.query,\n finalState.pivotConfig !== undefined ? finalState.pivotConfig : statePivotConfig\n );\n\n finalState.missingMembers = this.getMissingMembers(finalState.query, meta);\n finalState.chartType = finalState.chartType || state.chartType || chartType;\n\n // deprecated\n runSetters({\n ...state,\n query: finalState.query,\n });\n\n // Update optimistically so that UI does not stutter\n this.setState({\n ...finalState,\n queryError: null,\n });\n\n handleVizStateChange(finalState);\n\n const shouldFetchDryRun = !equals(\n pick(['measures', 'dimensions', 'timeDimensions'], stateQuery),\n pick(['measures', 'dimensions', 'timeDimensions'], finalState.query)\n );\n\n if (shouldFetchDryRun && isQueryPresent(finalState.query) && finalState.missingMembers.length === 0) {\n try {\n const response = await this.cubeApi().dryRun(finalState.query, {\n mutexObj: this.mutexObj,\n });\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = (response.queryOrder || []).reduce((memo, current) => ({ ...memo, ...current }), {});\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(response.pivotQuery, finalState.pivotConfig);\n finalState.validatedQuery = this.validatedQuery(finalState);\n finalState.dryRunResponse = response;\n\n // deprecated\n if (isQueryPresent(stateQuery)) {\n runSetters({\n ...this.state,\n ...finalState,\n });\n }\n } catch (error) {\n this.setState({\n queryError: new Error(error.response?.plainError || error.message),\n richQueryError: new Error(error.message || error.toString())\n });\n }\n }\n\n this.setState(finalState, () => handleVizStateChange(this.state));\n }\n\n validatedQuery(state) {\n const { query } = state || this.state;\n\n return validateQuery(query);\n }\n\n defaultHeuristics(newState) {\n const { query, sessionGranularity, meta } = this.state;\n\n return defaultHeuristics(newState, query, {\n meta,\n sessionGranularity: sessionGranularity || 'day',\n });\n }\n\n applyStateChangeHeuristics(newState) {\n const { stateChangeHeuristics, disableHeuristics } = this.props;\n if (disableHeuristics) {\n return newState;\n }\n return (stateChangeHeuristics && stateChangeHeuristics(this.state, newState)) || this.defaultHeuristics(newState);\n }\n\n render() {\n const { query } = this.state;\n const { cubeApi, render, wrapWithQueryRenderer } = this.props;\n\n if (wrapWithQueryRenderer) {\n return (\n <QueryRenderer\n query={query}\n cubeApi={cubeApi}\n resetResultSetOnChange={false}\n render={(queryRendererProps) => {\n if (render) {\n return render(this.prepareRenderProps(queryRendererProps));\n }\n return null;\n }}\n />\n );\n } else {\n if (render) {\n return render(this.prepareRenderProps());\n }\n return null;\n }\n }\n}\n","import React from 'react';\nimport CubeContext from './CubeContext';\n\nexport default function CubeProvider({ cubeApi, children, options = {} }) {\n return (\n <CubeContext.Provider value={{\n cubeApi,\n options\n }}\n >\n {children}\n </CubeContext.Provider>\n );\n}\n","import { useRef } from 'react';\nimport { equals } from 'ramda';\n\nexport default function useDeepCompareMemoize(value) {\n const ref = useRef([]);\n\n if (!equals(value, ref.current)) {\n ref.current = value;\n }\n\n return ref.current;\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\n\nexport function useCubeFetch(method, options = {}) {\n const context = useContext(CubeContext);\n const mutexRef = useRef({});\n\n const [response, setResponse] = useState({\n isLoading: false,\n response: null,\n });\n const [error, setError] = useState(null);\n\n const { skip = false } = options;\n\n async function load(loadOptions = {}, ignoreSkip = false) {\n const cubeApi = options.cubeApi || context?.cubeApi;\n const query = loadOptions.query || options.query;\n\n const queryCondition =\n method === 'meta' ? true : query && isQueryPresent(query);\n\n if (cubeApi && (ignoreSkip || !skip) && queryCondition) {\n setError(null);\n setResponse({\n isLoading: true,\n response: null,\n });\n\n const coreOptions = {\n mutexObj: mutexRef.current,\n mutexKey: method,\n ...(options.baseRequestId ? { baseRequestId: options.baseRequestId } : {})\n };\n const args = method === 'meta' ? [coreOptions] : [query, coreOptions];\n\n try {\n const response = await cubeApi[method](...args);\n\n setResponse({\n response,\n isLoading: false,\n });\n } catch (error) {\n setError(error);\n setResponse({\n isLoading: false,\n response: null,\n });\n }\n }\n }\n\n useEffect(() => {\n load();\n }, useDeepCompareMemoize([Object.keys(options.query?.order || {}), options, context]));\n\n return {\n ...response,\n error,\n refetch: (options) => load(options, true),\n };\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useCubeSql(query, options = {}) {\n return useCubeFetch('sql', {\n ...options,\n query\n });\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useDryRun(query, options = {}) {\n return useCubeFetch('dryRun', {\n ...options,\n query,\n });\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useLazyDryRun(query, options = {}) {\n const { refetch, ...result } = useCubeFetch('dryRun', {\n ...options,\n query,\n skip: true\n });\n\n return [refetch, result];\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\n\nexport function useCubeQuery(query, options = {}) {\n const mutexRef = useRef({});\n const [currentQuery, setCurrentQuery] = useState(null);\n const [isLoading, setLoading] = useState(!options.skip);\n const [resultSet, setResultSet] = useState(null);\n const [progress, setProgress] = useState(null);\n const [error, setError] = useState(null);\n const context = useContext(CubeContext);\n\n let subscribeRequest = null;\n\n const progressCallback = ({ progressResponse }) => setProgress(progressResponse);\n\n async function fetch() {\n const { resetResultSetOnChange } = options;\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n if (resetResultSetOnChange) {\n setResultSet(null);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n const response = await cubeApi.load(query, {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n castNumerics: Boolean(typeof options.castNumerics === 'boolean' ? options.castNumerics : context?.options?.castNumerics),\n ...(options.cache ? { cache: options.cache } : {}),\n });\n\n setResultSet(response);\n setProgress(null);\n } catch (error) {\n setError(error);\n setResultSet(null);\n setProgress(null);\n }\n\n setLoading(false);\n }\n\n useEffect(() => {\n const { skip = false, resetResultSetOnChange } = options;\n\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n async function loadQuery() {\n if (!skip && isQueryPresent(query)) {\n if (!areQueriesEqual(currentQuery, query)) {\n if (resetResultSetOnChange == null || resetResultSetOnChange) {\n setResultSet(null);\n }\n setCurrentQuery(query);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n if (subscribeRequest) {\n await subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n\n if (options.subscribe) {\n subscribeRequest = cubeApi.subscribe(\n query,\n {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n ...(options.cache ? { cache: options.cache } : {}),\n },\n (e, result) => {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n );\n } else {\n await fetch();\n }\n } catch (e) {\n setError(e);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\n }\n }\n\n loadQuery();\n\n return () => {\n if (subscribeRequest) {\n subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n };\n }, useDeepCompareMemoize([query, Object.keys((query && query.order) || {}), options, context]));\n\n return {\n isLoading,\n resultSet,\n error,\n progress,\n previousQuery: currentQuery,\n refetch: fetch\n };\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useCubeMeta(options = {}) {\n return useCubeFetch('meta', options);\n}\n"],"names":["createContext","QueryRenderer","_React$Component","props","_this","_classCallCheck","_callSuper","state","mutexObj","_inherits","_createClass","key","value","componentDidMount","_this$props","query","queries","load","loadQueries","shouldComponentUpdate","nextProps","nextState","_this$props2","render","cubeApi","loadSql","updateOnlyOnStateChange","equals","componentDidUpdate","prevProps","_this$props3","context","_this2","_this$props4","resetResultSetOnChange","cache","setState","_objectSpread","isLoading","error","sqlQuery","resultSet","loadOptions","mutexKey","isQueryPresent","sql","then","Promise","all","_ref","_ref2","_slicedToArray","_this3","_this$props5","resultPromises","toPairs","map","_ref3","_ref4","name","r","fromPairs","_error$response","_this$state","loadState","Error","response","plainError","message","toString","loadingState","React","Component","_defineProperty","CubeContext","QueryRendererWithTotals","restProps","_objectWithoutProperties","_excluded","createElement","_extends","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","Array","isArray","_typeof","Object","fromEntries","entries","filter","v","k","granularities","title","QueryBuilder","_asyncToGenerator","_regeneratorRuntime","mark","_callee","meta","metaError","richMetaError","metaErrorStack","_error$response2","_t","wrap","_context","prev","next","abrupt","isFetchingMeta","sent","stack","replace","updateQuery","stop","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_t2","_context4","refresh","_refresh","_callee3","_context3","_x","getMissingMembers","getQueryMembers","member","resolvedMember","resolveMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","_member$member","_member$dimension","operator","includes","values","updateMethods","memberType","toQuery","length","add","concat","remove","_","index","update","updateWith","members","splice","queryError","pivotConfig","flatFilters","uniqBy","prop","flattenFilters","filters","m","i","operators","filterOperatorsForMember","measures","segments","availableMeasures","availableDimensions","availableSegments","availableFilterMembers","availableMembers","membersGroupedByCube","membersForQuery","indexedMeasures","indexBy","indexedDimensions","cubeNames","uniq","_toConsumableArray","keys","sort","_indexedMeasures$name","_indexedDimensions$na","cube","a","b","shortTitle","activeOrder","order","orderMembers","id","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","_ref5","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","_ref6","_ref7","updatePivotConfig","moveItem","_ref8","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","_updateVizState","_callee5","_this4","setQuery","setVizState","_this$state2","stateQuery","statePivotConfig","finalState","vizStateSent","handleVizStateChange","runSetters","shouldFetchDryRun","_error$response3","_t3","_context5","applyStateChangeHeuristics","currentState","onVizStateChanged","newVizState","pick","clone","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","_x2","_ref9","validateQuery","defaultHeuristics","newState","_this$state3","sessionGranularity","stateChangeHeuristics","disableHeuristics","_this5","wrapWithQueryRenderer","getDerivedStateFromProps","_ref0","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","useCubeFetch","method","_options$query","useContext","mutexRef","_useState","useState","_useState2","setResponse","_useState3","_useState4","setError","_options$skip","skip","_load","ignoreSkip","queryCondition","coreOptions","args","_response","_args","baseRequestId","useEffect","refetch","useCubeSql","useDryRun","useLazyDryRun","_useCubeFetch","result","useCubeQuery","setCurrentQuery","setLoading","_useState5","_useState6","setResultSet","_useState7","_useState8","progress","setProgress","_useState9","_useState0","subscribeRequest","progressCallback","progressResponse","fetch","_fetch","_context$options","castNumerics","loadQuery","_loadQuery","areQueriesEqual","unsubscribe","subscribe","e","previousQuery","useCubeMeta"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-react.cjs.js","sources":["../src/CubeContext.js","../src/QueryRenderer.jsx","../src/QueryRendererWithTotals.jsx","../src/utils.js","../src/QueryBuilder.jsx","../src/CubeProvider.jsx","../src/hooks/deep-compare-memoize.js","../src/hooks/cube-fetch.js","../src/hooks/cube-sql.js","../src/hooks/dry-run.js","../src/hooks/lazy-dry-run.js","../src/hooks/cube-query.js","../src/hooks/cube-meta.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport default createContext(null);\n","import React from 'react';\nimport { equals, toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent } from '@cubejs-client/core';\n\nimport CubeContext from './CubeContext';\n\nexport default class QueryRenderer extends React.Component {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n query: null,\n render: null,\n queries: null,\n loadSql: null,\n updateOnlyOnStateChange: false,\n resetResultSetOnChange: true,\n cache: null,\n };\n\n // @deprecated use `isQueryPresent` from `@cubejs-client/core`\n static isQueryPresent(query) {\n return isQueryPresent(query);\n }\n\n constructor(props) {\n super(props);\n this.state = {};\n this.mutexObj = {};\n }\n\n componentDidMount() {\n const { query, queries } = this.props;\n if (query) {\n this.load(query);\n }\n if (queries) {\n this.loadQueries(queries);\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const {\n query, queries, render, cubeApi, loadSql, updateOnlyOnStateChange\n } = this.props;\n if (!updateOnlyOnStateChange) {\n return true;\n }\n return !equals(nextProps.query, query)\n || !equals(nextProps.queries, queries)\n || ((nextProps.render == null || render == null) && nextProps.render !== render)\n || nextProps.cubeApi !== cubeApi\n || nextProps.loadSql !== loadSql\n || !equals(nextState, this.state)\n || nextProps.updateOnlyOnStateChange !== updateOnlyOnStateChange;\n }\n\n componentDidUpdate(prevProps) {\n const { query, queries } = this.props;\n if (!equals(prevProps.query, query)) {\n this.load(query);\n }\n\n if (!equals(prevProps.queries, queries)) {\n this.loadQueries(queries);\n }\n }\n\n cubeApi() {\n // eslint-disable-next-line react/destructuring-assignment\n return this.props.cubeApi || this.context && this.context.cubeApi;\n }\n\n load(query) {\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n error: null,\n sqlQuery: null,\n ...(resetResultSetOnChange ? { resultSet: null } : {})\n });\n const { loadSql } = this.props;\n const cubeApi = this.cubeApi();\n\n const loadOptions = {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n ...(cache ? { cache } : {}),\n };\n\n if (query && isQueryPresent(query)) {\n if (loadSql === 'only') {\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' })\n .then(sqlQuery => this.setState({ sqlQuery, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else if (loadSql) {\n Promise.all([\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' }),\n cubeApi.load(query, loadOptions)\n ]).then(([sqlQuery, resultSet]) => this.setState({\n sqlQuery, resultSet, error: null, isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else {\n cubeApi.load(query, loadOptions)\n .then(resultSet => this.setState({ resultSet, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n }\n }\n\n loadQueries(queries) {\n const cubeApi = this.cubeApi();\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error: null\n });\n\n const resultPromises = Promise.all(toPairs(queries).map(\n ([name, query]) => cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n ...(cache ? { cache } : {}),\n }).then(r => [name, r])\n ));\n\n resultPromises\n .then(resultSet => this.setState({\n resultSet: fromPairs(resultSet),\n error: null,\n isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n\n render() {\n const {\n error, queries, resultSet, isLoading, sqlQuery\n } = this.state;\n const { render } = this.props;\n\n const loadState = {\n error: error ? new Error(error.response?.plainError || error.message || error.toString()) : null,\n resultSet: queries ? (resultSet || {}) : resultSet,\n loadingState: { isLoading },\n sqlQuery\n };\n\n if (render) {\n return render(loadState);\n }\n\n return null;\n }\n}\n","import React from 'react';\nimport QueryRenderer from './QueryRenderer.jsx';\n\nconst QueryRendererWithTotals = ({ query, ...restProps }) => (\n <QueryRenderer\n queries={{\n totals: {\n ...query,\n dimensions: [],\n timeDimensions: query.timeDimensions\n ? query.timeDimensions.map(td => ({ ...td, granularity: null }))\n : undefined\n },\n main: query\n }}\n {...restProps}\n />\n);\n\nexport default QueryRendererWithTotals;\n","export function removeEmpty(obj) {\n if (Array.isArray(obj) || typeof obj !== 'object') {\n return obj;\n }\n\n return Object.fromEntries(\n Object.entries(obj)\n .filter(([, v]) => v != null)\n .map(([k, v]) => {\n if (Array.isArray(v)) {\n return [k, v.map(removeEmpty)];\n }\n\n return [k, typeof v === 'object' ? removeEmpty(v) : v];\n })\n );\n}\n","import React from 'react';\nimport { clone, equals, indexBy, pick, prop, uniq, uniqBy } from 'ramda';\nimport {\n defaultHeuristics,\n defaultOrder,\n flattenFilters,\n getQueryMembers,\n isQueryPresent,\n moveItemInArray,\n movePivotItem,\n validateQuery,\n ResultSet,\n removeEmptyQueryFields\n} from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer.jsx';\nimport CubeContext from './CubeContext';\nimport { removeEmpty } from './utils';\n\nconst granularities = [\n { name: undefined, title: 'w/o grouping' },\n { name: 'second', title: 'Second' },\n { name: 'minute', title: 'Minute' },\n { name: 'hour', title: 'Hour' },\n { name: 'day', title: 'Day' },\n { name: 'week', title: 'Week' },\n { name: 'month', title: 'Month' },\n { name: 'quarter', title: 'Quarter' },\n { name: 'year', title: 'Year' },\n];\n\nexport default class QueryBuilder extends React.Component {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n stateChangeHeuristics: null,\n disableHeuristics: false,\n render: null,\n wrapWithQueryRenderer: true,\n defaultChartType: 'line',\n defaultQuery: {},\n initialVizState: null,\n onVizStateChanged: null,\n\n // deprecated\n query: null,\n setQuery: null,\n vizState: null,\n setVizState: null,\n };\n\n // This is an anti-pattern, only kept for backward compatibility\n // https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#anti-pattern-unconditionally-copying-props-to-state\n static getDerivedStateFromProps(props, state) {\n if (props.query || props.vizState) {\n const nextState = {\n ...state,\n ...(props.vizState || {}),\n };\n\n if (Array.isArray(props.query)) {\n throw new Error('Array of queries is not supported.');\n }\n\n return {\n ...nextState,\n query: {\n ...nextState.query,\n ...(props.query || {}),\n },\n };\n }\n return null;\n }\n\n static resolveMember(type, { meta, query }) {\n if (!meta) {\n return [];\n }\n\n if (Array.isArray(query)) {\n return query.reduce(\n (memo, currentQuery) => memo.concat(\n QueryBuilder.resolveMember(type, {\n meta,\n query: currentQuery,\n })\n ),\n []\n );\n }\n\n if (type === 'timeDimensions') {\n return (query.timeDimensions || []).map((m, index) => ({\n ...m,\n dimension: {\n ...meta.resolveMember(m.dimension, 'dimensions'),\n granularities,\n },\n index,\n }));\n }\n\n return (query[type] || []).map((m, index) => ({\n index,\n ...meta.resolveMember(m, type),\n }));\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n query: props.defaultQuery || props.query,\n chartType: props.defaultChartType,\n validatedQuery: props.query, // deprecated, validatedQuery should not be set until after dry-run for safety\n missingMembers: [],\n // todo: rename to `isMetaReady`\n isFetchingMeta: true,\n dryRunResponse: null,\n ...props.vizState, // deprecated\n ...props.initialVizState,\n };\n\n this.mutexObj = {};\n this.orderMembersOrderKeys = [];\n }\n\n async componentDidMount() {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n async componentDidUpdate(prevProps) {\n const { schemaVersion, onSchemaChange } = this.props;\n const { meta } = this.state;\n\n if (this.prevContext?.cubeApi !== this.context?.cubeApi) {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n if (prevProps.schemaVersion !== schemaVersion) {\n try {\n const newMeta = await this.cubeApi().meta();\n if (!equals(newMeta, meta) && typeof onSchemaChange === 'function') {\n onSchemaChange({\n schemaVersion,\n refresh: async () => {\n await this.fetchMeta();\n },\n });\n }\n } catch (error) {\n // eslint-disable-next-line\n this.setState({ metaError: error });\n }\n }\n }\n\n fetchMeta = async () => {\n if (!this.cubeApi()) {\n return;\n }\n\n let meta;\n let metaError = null;\n let richMetaError = null;\n let metaErrorStack = null;\n\n try {\n this.setState({ isFetchingMeta: true });\n meta = await this.cubeApi().meta();\n } catch (error) {\n metaError = error.response?.plainError || error;\n richMetaError = error;\n metaErrorStack = error.response?.stack?.replace(error.message || '', '') || '';\n }\n\n this.setState(\n {\n meta,\n metaError: metaError ? new Error(metaError.message || metaError.toString()) : null,\n richMetaError,\n metaErrorStack,\n isFetchingMeta: false,\n },\n () => {\n // Run update query to force viz state update\n // This will catch any new missing members, and also validate the query against the new meta\n this.updateQuery({});\n }\n );\n };\n\n cubeApi() {\n const { cubeApi } = this.props;\n // eslint-disable-next-line react/destructuring-assignment\n return cubeApi || (this.context && this.context.cubeApi);\n }\n\n getMissingMembers(query, meta) {\n if (!meta) {\n return [];\n }\n\n return getQueryMembers(query)\n .map((member) => {\n const resolvedMember = meta.resolveMember(member, ['measures', 'dimensions', 'segments']);\n if (resolvedMember.error) {\n return member;\n }\n return false;\n })\n .filter(Boolean);\n }\n\n isQueryPresent() {\n const { query } = this.state;\n return QueryRenderer.isQueryPresent(query);\n }\n\n prepareRenderProps(queryRendererProps) {\n const getName = (member) => member.name;\n\n const toTimeDimension = (member) => {\n const rangeSelection = member.compareDateRange\n ? { compareDateRange: member.compareDateRange }\n : { dateRange: member.dateRange };\n\n return removeEmpty({\n dimension: member.dimension.name,\n granularity: member.granularity,\n ...rangeSelection,\n });\n };\n\n const toFilter = (member) => ({\n member: member.member?.name || member.dimension?.name,\n operator: member.operator,\n ...(['set', 'notSet'].includes(member.operator) ? {} : { values: member.values }),\n });\n\n const updateMethods = (memberType, toQuery = getName) => ({\n add: (member) => {\n const { query } = this.state;\n this.updateQuery({\n [memberType]: (query[memberType] || []).concat(toQuery(member)),\n });\n },\n remove: (member) => {\n const { query } = this.state;\n\n return this.updateQuery({\n [memberType]: (query[memberType] || []).filter((_, index) => index !== member.index),\n });\n },\n update: (member, updateWith) => {\n const { query } = this.state;\n const members = (query[memberType] || []).concat([]);\n members.splice(member.index, 1, toQuery(updateWith));\n return this.updateQuery({\n [memberType]: members,\n });\n },\n });\n\n const {\n meta,\n metaError,\n richMetaError,\n query,\n queryError,\n chartType,\n pivotConfig,\n validatedQuery,\n missingMembers,\n isFetchingMeta,\n dryRunResponse,\n metaErrorStack\n } = this.state;\n\n const flatFilters = uniqBy((filter) => `${prop('member', filter)}${prop('operator', filter)}`,\n flattenFilters((meta && query.filters) || []).map((filter) => ({\n ...filter,\n member: filter.member || filter.dimension,\n })));\n\n const filters = flatFilters.map((m, i) => ({\n ...m,\n dimension: meta.resolveMember(m.member || m.dimension, ['dimensions', 'measures']),\n operators: meta.filterOperatorsForMember(m.member || m.dimension, ['dimensions', 'measures']),\n index: i,\n }));\n\n const measures = QueryBuilder.resolveMember('measures', this.state);\n const dimensions = QueryBuilder.resolveMember('dimensions', this.state);\n const timeDimensions = QueryBuilder.resolveMember('timeDimensions', this.state);\n const segments = ((meta && query.segments) || []).map((m, i) => ({\n index: i,\n ...meta.resolveMember(m, 'segments'),\n }));\n\n let availableMeasures = [];\n let availableDimensions = [];\n let availableSegments = [];\n let availableFilterMembers = [];\n\n const availableMembers = meta?.membersGroupedByCube() || {\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n };\n\n if (meta) {\n availableMeasures = meta.membersForQuery(query, 'measures');\n availableDimensions = meta.membersForQuery(query, 'dimensions');\n availableSegments = meta.membersForQuery(query, 'segments');\n\n const indexedMeasures = indexBy(prop('cubeName'), availableMembers.measures);\n const indexedDimensions = indexBy(prop('cubeName'), availableMembers.dimensions);\n const cubeNames = uniq([...Object.keys(indexedMeasures), ...Object.keys(indexedDimensions)]).sort();\n\n availableFilterMembers = cubeNames.map((name) => {\n const cube = indexedMeasures[name] || indexedDimensions[name];\n\n return {\n ...cube,\n members: [\n ...indexedMeasures[name]?.members,\n ...indexedDimensions[name]?.members\n ].sort((a, b) => (a.shortTitle > b.shortTitle ? 1 : -1)),\n };\n });\n }\n\n const activeOrder = Array.isArray(query.order) ? Object.fromEntries(query.order) : query.order;\n const members = [\n ...measures,\n ...dimensions,\n ...timeDimensions.map(({ dimension }) => dimension)\n ];\n\n let orderMembers = uniqBy(prop('id'), [\n // uniqBy prefers first, so these will only be added if not already in the query\n ...members.map(({ name, title }) => ({ id: name, title, order: activeOrder?.[name] || 'none' })),\n ]);\n\n if (this.orderMembersOrderKeys.length !== orderMembers.length) {\n this.orderMembersOrderKeys = orderMembers.map(({ id }) => id);\n }\n\n if (this.orderMembersOrderKeys.length) {\n // Preserve order until the members change or manually re-ordered\n // This is needed so that when an order member becomes active, it doesn't jump to the top of the list\n orderMembers = (this.orderMembersOrderKeys || [])\n .map((id) => orderMembers.find((member) => member.id === id))\n .filter(Boolean);\n }\n\n return {\n meta,\n metaError,\n richMetaError,\n metaErrorStack,\n query,\n error: queryError, // Match same name as QueryRenderer prop\n validatedQuery,\n isQueryPresent: this.isQueryPresent(),\n chartType,\n measures,\n dimensions,\n timeDimensions,\n segments,\n filters,\n orderMembers,\n availableMeasures,\n availableDimensions,\n availableTimeDimensions: availableDimensions.filter((m) => m.type === 'time'),\n availableSegments,\n availableMembers,\n availableFilterMembers,\n updateQuery: (queryUpdate) => this.updateQuery(queryUpdate),\n updateMeasures: updateMethods('measures'),\n updateDimensions: updateMethods('dimensions'),\n updateSegments: updateMethods('segments'),\n updateTimeDimensions: updateMethods('timeDimensions', toTimeDimension),\n updateFilters: updateMethods('filters', toFilter),\n updateChartType: (newChartType) => this.updateVizState({ chartType: newChartType }),\n updateOrder: {\n set: (memberId, newOrder = 'asc') => {\n this.updateQuery({\n order: orderMembers\n .map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n .reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []),\n });\n },\n update: (order) => {\n this.updateQuery({\n order,\n });\n },\n reorder: (sourceIndex, destinationIndex) => {\n if (sourceIndex == null || destinationIndex == null) {\n return;\n }\n\n const nextArray = moveItemInArray(orderMembers, sourceIndex, destinationIndex);\n this.orderMembersOrderKeys = nextArray.map(({ id }) => id);\n\n this.updateQuery({\n order: nextArray.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []),\n });\n },\n },\n pivotConfig,\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.updateVizState({\n pivotConfig: movePivotItem(pivotConfig, sourceIndex, destinationIndex, sourceAxis, destinationAxis),\n });\n },\n update: (config) => {\n const { limit } = config;\n\n this.updateVizState({\n pivotConfig: {\n ...pivotConfig,\n ...config,\n },\n ...(limit ? { query: { ...query, limit } } : null),\n });\n },\n },\n missingMembers,\n refresh: this.fetchMeta,\n isFetchingMeta,\n dryRunResponse,\n ...queryRendererProps,\n };\n }\n\n updateQuery(queryUpdate) {\n const { query } = this.state;\n\n this.updateVizState({\n query: removeEmptyQueryFields({\n ...query,\n ...queryUpdate,\n }),\n });\n }\n\n async updateVizState(state) {\n const { setQuery, setVizState } = this.props;\n const { query: stateQuery, pivotConfig: statePivotConfig, chartType, meta } = this.state;\n\n const finalState = this.applyStateChangeHeuristics(state);\n if (!finalState.query) {\n finalState.query = { ...stateQuery };\n }\n\n let vizStateSent = null;\n const handleVizStateChange = (currentState) => {\n const { onVizStateChanged } = this.props;\n if (onVizStateChanged) {\n const newVizState = pick(['chartType', 'pivotConfig', 'query'], currentState);\n // Don't run callbacks more than once unless the viz state has changed since last time\n if (!vizStateSent || !equals(vizStateSent, newVizState)) {\n onVizStateChanged(newVizState);\n // use clone to make sure we don't save object references\n vizStateSent = clone(newVizState);\n }\n }\n };\n\n // deprecated, setters replaced by onVizStateChanged\n const runSetters = (currentState) => {\n if (setVizState) {\n setVizState(pick(['chartType', 'pivotConfig', 'query'], currentState));\n }\n if (currentState.query && setQuery) {\n setQuery(currentState.query);\n }\n };\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = defaultOrder(finalState.query);\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(\n finalState.query,\n finalState.pivotConfig !== undefined ? finalState.pivotConfig : statePivotConfig\n );\n\n finalState.missingMembers = this.getMissingMembers(finalState.query, meta);\n finalState.chartType = finalState.chartType || state.chartType || chartType;\n\n // deprecated\n runSetters({\n ...state,\n query: finalState.query,\n });\n\n // Update optimistically so that UI does not stutter\n this.setState({\n ...finalState,\n queryError: null,\n });\n\n handleVizStateChange(finalState);\n\n const shouldFetchDryRun = !equals(\n pick(['measures', 'dimensions', 'timeDimensions'], stateQuery),\n pick(['measures', 'dimensions', 'timeDimensions'], finalState.query)\n );\n\n if (shouldFetchDryRun && isQueryPresent(finalState.query) && finalState.missingMembers.length === 0) {\n try {\n const response = await this.cubeApi().dryRun(finalState.query, {\n mutexObj: this.mutexObj,\n });\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = (response.queryOrder || []).reduce((memo, current) => ({ ...memo, ...current }), {});\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(response.pivotQuery, finalState.pivotConfig);\n finalState.validatedQuery = this.validatedQuery(finalState);\n finalState.dryRunResponse = response;\n\n // deprecated\n if (isQueryPresent(stateQuery)) {\n runSetters({\n ...this.state,\n ...finalState,\n });\n }\n } catch (error) {\n this.setState({\n queryError: new Error(error.response?.plainError || error.message),\n richQueryError: new Error(error.message || error.toString())\n });\n }\n }\n\n this.setState(finalState, () => handleVizStateChange(this.state));\n }\n\n validatedQuery(state) {\n const { query } = state || this.state;\n\n return validateQuery(query);\n }\n\n defaultHeuristics(newState) {\n const { query, sessionGranularity, meta } = this.state;\n\n return defaultHeuristics(newState, query, {\n meta,\n sessionGranularity: sessionGranularity || 'day',\n });\n }\n\n applyStateChangeHeuristics(newState) {\n const { stateChangeHeuristics, disableHeuristics } = this.props;\n if (disableHeuristics) {\n return newState;\n }\n return (stateChangeHeuristics && stateChangeHeuristics(this.state, newState)) || this.defaultHeuristics(newState);\n }\n\n render() {\n const { query } = this.state;\n const { cubeApi, render, wrapWithQueryRenderer } = this.props;\n\n if (wrapWithQueryRenderer) {\n return (\n <QueryRenderer\n query={query}\n cubeApi={cubeApi}\n resetResultSetOnChange={false}\n render={(queryRendererProps) => {\n if (render) {\n return render(this.prepareRenderProps(queryRendererProps));\n }\n return null;\n }}\n />\n );\n } else {\n if (render) {\n return render(this.prepareRenderProps());\n }\n return null;\n }\n }\n}\n","import React from 'react';\nimport CubeContext from './CubeContext';\n\nexport default function CubeProvider({ cubeApi, children, options = {} }) {\n return (\n <CubeContext.Provider value={{\n cubeApi,\n options\n }}\n >\n {children}\n </CubeContext.Provider>\n );\n}\n","import { useRef } from 'react';\nimport { equals } from 'ramda';\n\nexport default function useDeepCompareMemoize(value) {\n const ref = useRef([]);\n\n if (!equals(value, ref.current)) {\n ref.current = value;\n }\n\n return ref.current;\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\n\nexport function useCubeFetch(method, options = {}) {\n const context = useContext(CubeContext);\n const mutexRef = useRef({});\n\n const [response, setResponse] = useState({\n isLoading: false,\n response: null,\n });\n const [error, setError] = useState(null);\n\n const { skip = false } = options;\n\n async function load(loadOptions = {}, ignoreSkip = false) {\n const cubeApi = options.cubeApi || context?.cubeApi;\n const query = loadOptions.query || options.query;\n\n const queryCondition =\n method === 'meta' ? true : query && isQueryPresent(query);\n\n if (cubeApi && (ignoreSkip || !skip) && queryCondition) {\n setError(null);\n setResponse({\n isLoading: true,\n response: null,\n });\n\n const coreOptions = {\n mutexObj: mutexRef.current,\n mutexKey: method,\n ...(options.baseRequestId ? { baseRequestId: options.baseRequestId } : {})\n };\n const args = method === 'meta' ? [coreOptions] : [query, coreOptions];\n\n try {\n const response = await cubeApi[method](...args);\n\n setResponse({\n response,\n isLoading: false,\n });\n } catch (error) {\n setError(error);\n setResponse({\n isLoading: false,\n response: null,\n });\n }\n }\n }\n\n useEffect(() => {\n load();\n }, useDeepCompareMemoize([Object.keys(options.query?.order || {}), options, context]));\n\n return {\n ...response,\n error,\n refetch: (options) => load(options, true),\n };\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useCubeSql(query, options = {}) {\n return useCubeFetch('sql', {\n ...options,\n query\n });\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useDryRun(query, options = {}) {\n return useCubeFetch('dryRun', {\n ...options,\n query,\n });\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useLazyDryRun(query, options = {}) {\n const { refetch, ...result } = useCubeFetch('dryRun', {\n ...options,\n query,\n skip: true\n });\n\n return [refetch, result];\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\n\nexport function useCubeQuery(query, options = {}) {\n const mutexRef = useRef({});\n const [currentQuery, setCurrentQuery] = useState(null);\n const [isLoading, setLoading] = useState(!options.skip);\n const [resultSet, setResultSet] = useState(null);\n const [progress, setProgress] = useState(null);\n const [error, setError] = useState(null);\n const context = useContext(CubeContext);\n\n let subscribeRequest = null;\n\n const progressCallback = ({ progressResponse }) => setProgress(progressResponse);\n\n async function fetch() {\n const { resetResultSetOnChange } = options;\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n if (resetResultSetOnChange) {\n setResultSet(null);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n const response = await cubeApi.load(query, {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n castNumerics: Boolean(typeof options.castNumerics === 'boolean' ? options.castNumerics : context?.options?.castNumerics),\n ...(options.cache ? { cache: options.cache } : {}),\n });\n\n setResultSet(response);\n setProgress(null);\n } catch (error) {\n setError(error);\n setResultSet(null);\n setProgress(null);\n }\n\n setLoading(false);\n }\n\n useEffect(() => {\n const { skip = false, resetResultSetOnChange } = options;\n\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n async function loadQuery() {\n if (!skip && isQueryPresent(query)) {\n if (!areQueriesEqual(currentQuery, query)) {\n if (resetResultSetOnChange == null || resetResultSetOnChange) {\n setResultSet(null);\n }\n setCurrentQuery(query);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n if (subscribeRequest) {\n await subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n\n if (options.subscribe) {\n subscribeRequest = cubeApi.subscribe(\n query,\n {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n ...(options.cache ? { cache: options.cache } : {}),\n },\n (e, result) => {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n );\n } else {\n await fetch();\n }\n } catch (e) {\n setError(e);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\n }\n }\n\n loadQuery();\n\n return () => {\n if (subscribeRequest) {\n subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n };\n }, useDeepCompareMemoize([query, Object.keys((query && query.order) || {}), options, context]));\n\n return {\n isLoading,\n resultSet,\n error,\n progress,\n previousQuery: currentQuery,\n refetch: fetch\n };\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useCubeMeta(options = {}) {\n return useCubeFetch('meta', options);\n}\n"],"names":["createContext","QueryRenderer","_React$Component","props","_this","_classCallCheck","_callSuper","state","mutexObj","_inherits","_createClass","key","value","componentDidMount","_this$props","query","queries","load","loadQueries","shouldComponentUpdate","nextProps","nextState","_this$props2","render","cubeApi","loadSql","updateOnlyOnStateChange","equals","componentDidUpdate","prevProps","_this$props3","context","_this2","_this$props4","resetResultSetOnChange","cache","setState","_objectSpread","isLoading","error","sqlQuery","resultSet","loadOptions","mutexKey","isQueryPresent","sql","then","Promise","all","_ref","_ref2","_slicedToArray","_this3","_this$props5","resultPromises","toPairs","map","_ref3","_ref4","name","r","fromPairs","_error$response","_this$state","loadState","Error","response","plainError","message","toString","loadingState","React","Component","_defineProperty","CubeContext","QueryRendererWithTotals","restProps","_objectWithoutProperties","_excluded","createElement","_extends","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","Array","isArray","_typeof","Object","fromEntries","entries","filter","v","k","granularities","title","QueryBuilder","_asyncToGenerator","_regenerator","m","_callee","meta","metaError","richMetaError","metaErrorStack","_error$response2","_t","w","_context","p","n","a","isFetchingMeta","stack","replace","updateQuery","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_t2","_context4","refresh","_refresh","_callee3","_context3","_x","getMissingMembers","getQueryMembers","member","resolvedMember","resolveMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","_member$member","_member$dimension","operator","includes","values","updateMethods","memberType","toQuery","length","add","concat","remove","_","index","update","updateWith","members","splice","queryError","pivotConfig","flatFilters","uniqBy","prop","flattenFilters","filters","i","operators","filterOperatorsForMember","measures","segments","availableMeasures","availableDimensions","availableSegments","availableFilterMembers","availableMembers","membersGroupedByCube","membersForQuery","indexedMeasures","indexBy","indexedDimensions","cubeNames","uniq","_toConsumableArray","keys","sort","_indexedMeasures$name","_indexedDimensions$na","cube","b","shortTitle","activeOrder","order","orderMembers","id","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","_ref5","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","_ref6","_ref7","updatePivotConfig","moveItem","_ref8","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","_updateVizState","_callee5","_this4","setQuery","setVizState","_this$state2","stateQuery","statePivotConfig","finalState","vizStateSent","handleVizStateChange","runSetters","shouldFetchDryRun","_error$response3","_t3","_context5","applyStateChangeHeuristics","currentState","onVizStateChanged","newVizState","pick","clone","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","_x2","_ref9","validateQuery","defaultHeuristics","newState","_this$state3","sessionGranularity","stateChangeHeuristics","disableHeuristics","_this5","wrapWithQueryRenderer","getDerivedStateFromProps","_ref0","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","useCubeFetch","method","_options$query","useContext","mutexRef","_useState","useState","_useState2","setResponse","_useState3","_useState4","setError","_options$skip","skip","_load","ignoreSkip","queryCondition","coreOptions","args","_response","_args","baseRequestId","useEffect","refetch","useCubeSql","useDryRun","useLazyDryRun","_useCubeFetch","result","useCubeQuery","setCurrentQuery","setLoading","_useState5","_useState6","setResultSet","_useState7","_useState8","progress","setProgress","_useState9","_useState0","subscribeRequest","progressCallback","progressResponse","fetch","_fetch","_context$options","castNumerics","loadQuery","_loadQuery","areQueriesEqual","unsubscribe","subscribe","e","previousQuery","useCubeMeta"],"mappings":"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"}
|