@cubejs-client/react 1.5.11 → 1.5.12
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.cjs.js +4 -2
- package/dist/cubejs-client-react.cjs.js.map +1 -1
- package/dist/cubejs-client-react.esm.js +4 -1
- package/dist/cubejs-client-react.esm.js.map +1 -1
- package/dist/cubejs-client-react.umd.js +4 -2
- package/dist/cubejs-client-react.umd.js.map +1 -1
- package/package.json +3 -3
- package/src/hooks/cube-fetch.js +1 -0
|
@@ -1106,10 +1106,12 @@ function useCubeFetch(method) {
|
|
|
1106
1106
|
isLoading: true,
|
|
1107
1107
|
response: null
|
|
1108
1108
|
});
|
|
1109
|
-
coreOptions = {
|
|
1109
|
+
coreOptions = _objectSpread$3({
|
|
1110
1110
|
mutexObj: mutexRef.current,
|
|
1111
1111
|
mutexKey: method
|
|
1112
|
-
}
|
|
1112
|
+
}, options.baseRequestId ? {
|
|
1113
|
+
baseRequestId: options.baseRequestId
|
|
1114
|
+
} : {});
|
|
1113
1115
|
args = method === 'meta' ? [coreOptions] : [query, coreOptions];
|
|
1114
1116
|
_context.prev = 1;
|
|
1115
1117
|
_context.next = 2;
|
|
@@ -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 };\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 (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 };\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 });\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 },\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","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","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","_this$props4","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","loadOptions","ignoreSkip","queryCondition","coreOptions","args","_response","_args","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 };\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 (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 });\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 },\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","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","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","_this$props4","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","loadOptions","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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"}
|
|
@@ -869,7 +869,10 @@ function useCubeFetch(method, options = {}) {
|
|
|
869
869
|
});
|
|
870
870
|
const coreOptions = {
|
|
871
871
|
mutexObj: mutexRef.current,
|
|
872
|
-
mutexKey: method
|
|
872
|
+
mutexKey: method,
|
|
873
|
+
...(options.baseRequestId ? {
|
|
874
|
+
baseRequestId: options.baseRequestId
|
|
875
|
+
} : {})
|
|
873
876
|
};
|
|
874
877
|
const args = method === 'meta' ? [coreOptions] : [query, coreOptions];
|
|
875
878
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-react.esm.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 };\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 (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 };\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 });\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 },\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","contextType","CubeContext","defaultProps","cubeApi","query","render","queries","loadSql","updateOnlyOnStateChange","resetResultSetOnChange","isQueryPresent","constructor","props","state","mutexObj","componentDidMount","load","loadQueries","shouldComponentUpdate","nextProps","nextState","equals","componentDidUpdate","prevProps","context","setState","isLoading","error","sqlQuery","resultSet","sql","mutexKey","then","catch","Promise","all","resultPromises","toPairs","map","name","r","fromPairs","loadState","Error","response","plainError","message","toString","loadingState","QueryRendererWithTotals","restProps","createElement","_extends","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","Array","isArray","Object","fromEntries","entries","filter","v","k","granularities","title","QueryBuilder","stateChangeHeuristics","disableHeuristics","wrapWithQueryRenderer","defaultChartType","defaultQuery","initialVizState","onVizStateChanged","setQuery","vizState","setVizState","getDerivedStateFromProps","resolveMember","type","meta","reduce","memo","currentQuery","concat","m","index","dimension","chartType","validatedQuery","missingMembers","isFetchingMeta","dryRunResponse","orderMembersOrderKeys","prevContext","fetchMeta","schemaVersion","onSchemaChange","newMeta","refresh","metaError","richMetaError","metaErrorStack","stack","replace","updateQuery","getMissingMembers","getQueryMembers","member","resolvedMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","toFilter","operator","includes","values","updateMethods","memberType","toQuery","add","remove","_","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","keys","sort","cube","a","b","shortTitle","activeOrder","order","orderMembers","id","length","find","availableTimeDimensions","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","acc","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","stateQuery","statePivotConfig","finalState","applyStateChangeHeuristics","vizStateSent","handleVizStateChange","currentState","newVizState","pick","clone","runSetters","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","shouldFetchDryRun","dryRun","queryOrder","current","pivotQuery","richQueryError","validateQuery","defaultHeuristics","newState","sessionGranularity","CubeProvider","children","options","Provider","value","useDeepCompareMemoize","ref","useRef","useCubeFetch","method","useContext","mutexRef","setResponse","useState","setError","skip","loadOptions","ignoreSkip","queryCondition","coreOptions","args","useEffect","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.esm.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 };\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 (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 });\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 },\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","contextType","CubeContext","defaultProps","cubeApi","query","render","queries","loadSql","updateOnlyOnStateChange","resetResultSetOnChange","isQueryPresent","constructor","props","state","mutexObj","componentDidMount","load","loadQueries","shouldComponentUpdate","nextProps","nextState","equals","componentDidUpdate","prevProps","context","setState","isLoading","error","sqlQuery","resultSet","sql","mutexKey","then","catch","Promise","all","resultPromises","toPairs","map","name","r","fromPairs","loadState","Error","response","plainError","message","toString","loadingState","QueryRendererWithTotals","restProps","createElement","_extends","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","Array","isArray","Object","fromEntries","entries","filter","v","k","granularities","title","QueryBuilder","stateChangeHeuristics","disableHeuristics","wrapWithQueryRenderer","defaultChartType","defaultQuery","initialVizState","onVizStateChanged","setQuery","vizState","setVizState","getDerivedStateFromProps","resolveMember","type","meta","reduce","memo","currentQuery","concat","m","index","dimension","chartType","validatedQuery","missingMembers","isFetchingMeta","dryRunResponse","orderMembersOrderKeys","prevContext","fetchMeta","schemaVersion","onSchemaChange","newMeta","refresh","metaError","richMetaError","metaErrorStack","stack","replace","updateQuery","getMissingMembers","getQueryMembers","member","resolvedMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","toFilter","operator","includes","values","updateMethods","memberType","toQuery","add","remove","_","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","keys","sort","cube","a","b","shortTitle","activeOrder","order","orderMembers","id","length","find","availableTimeDimensions","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","acc","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","stateQuery","statePivotConfig","finalState","applyStateChangeHeuristics","vizStateSent","handleVizStateChange","currentState","newVizState","pick","clone","runSetters","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","shouldFetchDryRun","dryRun","queryOrder","current","pivotQuery","richQueryError","validateQuery","defaultHeuristics","newState","sessionGranularity","CubeProvider","children","options","Provider","value","useDeepCompareMemoize","ref","useRef","useCubeFetch","method","useContext","mutexRef","setResponse","useState","setError","skip","loadOptions","ignoreSkip","queryCondition","coreOptions","baseRequestId","args","useEffect","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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"}
|
|
@@ -1060,10 +1060,12 @@
|
|
|
1060
1060
|
isLoading: true,
|
|
1061
1061
|
response: null
|
|
1062
1062
|
});
|
|
1063
|
-
coreOptions = {
|
|
1063
|
+
coreOptions = _objectSpread$3({
|
|
1064
1064
|
mutexObj: mutexRef.current,
|
|
1065
1065
|
mutexKey: method
|
|
1066
|
-
}
|
|
1066
|
+
}, options.baseRequestId ? {
|
|
1067
|
+
baseRequestId: options.baseRequestId
|
|
1068
|
+
} : {});
|
|
1067
1069
|
args = method === 'meta' ? [coreOptions] : [query, coreOptions];
|
|
1068
1070
|
_context.prev = 1;
|
|
1069
1071
|
_context.next = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-react.umd.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 };\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 (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 };\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 });\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 },\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","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","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","_this$props4","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","loadOptions","ignoreSkip","queryCondition","coreOptions","args","_response","_args","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.umd.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 };\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 (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 });\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 },\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","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","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","_this$props4","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","loadOptions","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cubejs-client/react",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.12",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {},
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@babel/runtime": "^7.1.2",
|
|
27
|
-
"@cubejs-client/core": "1.5.
|
|
27
|
+
"@cubejs-client/core": "1.5.12",
|
|
28
28
|
"core-js": "^3.6.5",
|
|
29
29
|
"ramda": "^0.27.2"
|
|
30
30
|
},
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": ">=16.10.2"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "89bd72bdaab24eefb9868990a709c909258d5609"
|
|
46
46
|
}
|
package/src/hooks/cube-fetch.js
CHANGED
|
@@ -33,6 +33,7 @@ export function useCubeFetch(method, options = {}) {
|
|
|
33
33
|
const coreOptions = {
|
|
34
34
|
mutexObj: mutexRef.current,
|
|
35
35
|
mutexKey: method,
|
|
36
|
+
...(options.baseRequestId ? { baseRequestId: options.baseRequestId } : {})
|
|
36
37
|
};
|
|
37
38
|
const args = method === 'meta' ? [coreOptions] : [query, coreOptions];
|
|
38
39
|
|