@cubejs-client/react 0.34.60 → 0.35.23
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.
- package/dist/cubejs-client-react.esm.js +103 -187
- package/dist/cubejs-client-react.esm.js.map +1 -1
- package/dist/cubejs-client-react.js +153 -359
- package/dist/cubejs-client-react.js.map +1 -1
- package/dist/cubejs-client-react.umd.js +223 -576
- package/dist/cubejs-client-react.umd.js.map +1 -1
- package/index.d.ts +22 -33
- package/package.json +3 -3
- package/src/CubeProvider.jsx +2 -9
- package/src/QueryBuilder.jsx +11 -11
- package/src/QueryRenderer.jsx +12 -12
- package/src/hooks/cube-fetch.js +1 -1
- package/src/hooks/cube-query.js +2 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-react.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/is-mounted.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 cubejsApi: null,\n query: null,\n render: null,\n queries: null,\n loadSql: null,\n updateOnlyOnStateChange: false,\n resetResultSetOnChange: true\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, cubejsApi, 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.cubejsApi !== cubejsApi\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 cubejsApi() {\n // eslint-disable-next-line react/destructuring-assignment\n return this.props.cubejsApi || this.context && this.context.cubejsApi;\n }\n\n load(query) {\n const { resetResultSetOnChange } = 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 cubejsApi = this.cubejsApi();\n\n if (query && isQueryPresent(query)) {\n if (loadSql === 'only') {\n cubejsApi.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 cubejsApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' }),\n cubejsApi.load(query, { mutexObj: this.mutexObj, mutexKey: 'query' })\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 cubejsApi.load(query, { mutexObj: this.mutexObj, mutexKey: 'query' })\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 cubejsApi = this.cubejsApi();\n const { resetResultSetOnChange } = 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]) => cubejsApi.load(query, { mutexObj: this.mutexObj, mutexKey: name }).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 (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 cubejsApi: 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?.cubejsApi !== this.context?.cubejsApi) {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n if (prevProps.schemaVersion !== schemaVersion) {\n try {\n const newMeta = await this.cubejsApi().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.cubejsApi()) {\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.cubejsApi().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 cubejsApi() {\n const { cubejsApi } = this.props;\n // eslint-disable-next-line react/destructuring-assignment\n return cubejsApi || (this.context && this.context.cubejsApi);\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.cubejsApi().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 { cubejsApi, render, wrapWithQueryRenderer } = this.props;\n\n if (wrapWithQueryRenderer) {\n return (\n <QueryRenderer\n query={query}\n cubejsApi={cubejsApi}\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, { useEffect } from 'react';\nimport CubeContext from './CubeContext';\n\nexport default function CubeProvider({ cubeApi, cubejsApi, children, options = {} }) {\n useEffect(() => {\n if (cubejsApi && !cubeApi) {\n console.warn('\"cubejsApi\" is deprecated and will be removed in the following version. Use \"cubeApi\" instead.');\n }\n }, [cubeApi, cubejsApi]);\n \n return (\n <CubeContext.Provider value={{\n cubejsApi,\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 { useEffect, useRef } from 'react';\n\nexport function useIsMounted() {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return () => isMounted.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';\nimport { useIsMounted } from './is-mounted';\n\nexport function useCubeFetch(method, options = {}) {\n const isMounted = useIsMounted();\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 || options.cubejsApi || context?.cubeApi || context?.cubejsApi;\n const query = loadOptions.query || options.query;\n\n const queryCondition = 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 };\n const args = method === 'meta' ? [coreOptions] : [query, coreOptions];\n\n try {\n const response = await cubeApi[method](...args);\n\n if (isMounted()) {\n setResponse({\n response,\n isLoading: false,\n });\n }\n } catch (error) {\n if (isMounted()) {\n setError(error);\n setResponse({\n isLoading: false,\n response: null,\n });\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';\nimport { useIsMounted } from './is-mounted';\n\nexport function useCubeQuery(query, options = {}) {\n const mutexRef = useRef({});\n const isMounted = useIsMounted();\n const [currentQuery, setCurrentQuery] = useState(null);\n const [isLoading, setLoading] = useState(false);\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 useEffect(() => {\n if (options.cubejsApi && !options.cubeApi) {\n console.warn('\"cubejsApi\" is deprecated and will be removed in the following version. Use \"cubeApi\" instead.');\n }\n }, [options.cubeApi, options.cubejsApi]);\n\n async function fetch() {\n const { resetResultSetOnChange } = options;\n const cubeApi = options.cubeApi || options.cubejsApi || context?.cubeApi || context?.cubejsApi;\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 });\n\n if (isMounted()) {\n setResultSet(response);\n setProgress(null);\n }\n } catch (error) {\n if (isMounted()) {\n setError(error);\n setResultSet(null);\n setProgress(null);\n }\n }\n\n if (isMounted()) {\n setLoading(false);\n }\n }\n\n useEffect(() => {\n const { skip = false, resetResultSetOnChange } = options;\n\n const cubeApi = options.cubeApi || options.cubejsApi || context?.cubeApi || context?.cubejsApi;\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 },\n (e, result) => {\n if (isMounted()) {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n }\n );\n } else {\n await fetch();\n }\n } catch (e) {\n if (isMounted()) {\n setError(e);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\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","props","state","mutexObj","query","queries","load","loadQueries","nextProps","nextState","render","cubejsApi","loadSql","updateOnlyOnStateChange","equals","prevProps","context","resetResultSetOnChange","setState","isLoading","error","sqlQuery","resultSet","isQueryPresent","sql","mutexKey","then","Promise","all","resultPromises","toPairs","map","name","r","fromPairs","loadState","Error","response","plainError","message","toString","loadingState","React","Component","CubeContext","QueryRendererWithTotals","restProps","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","_typeof","Object","fromEntries","entries","filter","v","k","Array","isArray","granularities","title","QueryBuilder","metaError","richMetaError","metaErrorStack","isFetchingMeta","meta","stack","replace","updateQuery","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","prevContext","fetchMeta","schemaVersion","onSchemaChange","newMeta","refresh","getQueryMembers","member","resolvedMember","resolveMember","Boolean","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","operator","includes","values","updateMethods","memberType","toQuery","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","keys","sort","cube","a","b","shortTitle","activeOrder","order","orderMembers","id","length","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","setQuery","setVizState","stateQuery","statePivotConfig","finalState","applyStateChangeHeuristics","vizStateSent","handleVizStateChange","currentState","onVizStateChanged","newVizState","pick","clone","runSetters","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","getMissingMembers","shouldFetchDryRun","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","validateQuery","newState","sessionGranularity","defaultHeuristics","stateChangeHeuristics","disableHeuristics","wrapWithQueryRenderer","prepareRenderProps","currentQuery","CubeProvider","cubeApi","children","options","useEffect","console","warn","useDeepCompareMemoize","value","ref","useRef","useIsMounted","isMounted","useCubeFetch","method","useContext","mutexRef","useState","setResponse","setError","skip","loadOptions","ignoreSkip","queryCondition","coreOptions","args","refetch","useCubeSql","useDryRun","useLazyDryRun","result","useCubeQuery","setCurrentQuery","setLoading","setResultSet","progress","setProgress","subscribeRequest","progressCallback","progressResponse","fetch","castNumerics","loadQuery","areQueriesEqual","unsubscribe","subscribe","e","previousQuery","useCubeMeta"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-react.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/is-mounted.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 };\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 } = 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 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, { mutexObj: this.mutexObj, mutexKey: 'query' })\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, { mutexObj: this.mutexObj, mutexKey: 'query' })\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 } = 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, { mutexObj: this.mutexObj, mutexKey: name }).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 (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 { useEffect, useRef } from 'react';\n\nexport function useIsMounted() {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return () => isMounted.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';\nimport { useIsMounted } from './is-mounted';\n\nexport function useCubeFetch(method, options = {}) {\n const isMounted = useIsMounted();\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 = 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 };\n const args = method === 'meta' ? [coreOptions] : [query, coreOptions];\n\n try {\n const response = await cubeApi[method](...args);\n\n if (isMounted()) {\n setResponse({\n response,\n isLoading: false,\n });\n }\n } catch (error) {\n if (isMounted()) {\n setError(error);\n setResponse({\n isLoading: false,\n response: null,\n });\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';\nimport { useIsMounted } from './is-mounted';\n\nexport function useCubeQuery(query, options = {}) {\n const mutexRef = useRef({});\n const isMounted = useIsMounted();\n const [currentQuery, setCurrentQuery] = useState(null);\n const [isLoading, setLoading] = useState(false);\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 });\n\n if (isMounted()) {\n setResultSet(response);\n setProgress(null);\n }\n } catch (error) {\n if (isMounted()) {\n setError(error);\n setResultSet(null);\n setProgress(null);\n }\n }\n\n if (isMounted()) {\n setLoading(false);\n }\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 },\n (e, result) => {\n if (isMounted()) {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n }\n );\n } else {\n await fetch();\n }\n } catch (e) {\n if (isMounted()) {\n setError(e);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\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","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","state","mutexObj","_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","resetResultSetOnChange","setState","_objectSpread","isLoading","error","sqlQuery","resultSet","isQueryPresent","sql","mutexKey","then","Promise","all","_ref","_ref2","_slicedToArray","_this3","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","_typeof","Object","fromEntries","entries","filter","v","k","Array","isArray","granularities","title","QueryBuilder","_assertThisInitialized","_asyncToGenerator","_regeneratorRuntime","mark","_callee","meta","metaError","richMetaError","metaErrorStack","_error$response2","_error$response2$stac","wrap","_callee$","_context","prev","next","abrupt","isFetchingMeta","sent","t0","stack","replace","updateQuery","stop","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_callee2$","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_callee4$","_context4","refresh","_refresh","_callee3","_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","_callee5$","_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","_this$props4","wrapWithQueryRenderer","getDerivedStateFromProps","_ref10","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","useIsMounted","isMounted","useEffect","useCubeFetch","method","_options$query","useContext","mutexRef","_useState","useState","_useState2","setResponse","_useState3","_useState4","setError","_options$skip","skip","_load","loadOptions","ignoreSkip","queryCondition","coreOptions","args","_response","_args","refetch","useCubeSql","useDryRun","useLazyDryRun","_useCubeFetch","result","useCubeQuery","setCurrentQuery","setLoading","_useState5","_useState6","setResultSet","_useState7","_useState8","progress","setProgress","_useState9","_useState10","subscribeRequest","progressCallback","progressResponse","fetch","_fetch","_context$options","castNumerics","loadQuery","_loadQuery","areQueriesEqual","unsubscribe","subscribe","e","previousQuery","useCubeMeta"],"mappings":"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"}
|