@cubejs-client/react 1.3.81 → 1.3.83
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 +37 -66
- package/dist/cubejs-client-react.cjs.js.map +1 -1
- package/dist/cubejs-client-react.esm.js +26 -53
- package/dist/cubejs-client-react.esm.js.map +1 -1
- package/dist/cubejs-client-react.umd.js +37 -66
- package/dist/cubejs-client-react.umd.js.map +1 -1
- package/package.json +3 -3
- package/src/hooks/cube-fetch.js +11 -16
- package/src/hooks/cube-query.js +16 -28
- package/src/hooks/is-mounted.js +0 -15
|
@@ -1054,25 +1054,11 @@ function useDeepCompareMemoize(value) {
|
|
|
1054
1054
|
return ref.current;
|
|
1055
1055
|
}
|
|
1056
1056
|
|
|
1057
|
-
function useIsMounted() {
|
|
1058
|
-
var isMounted = React.useRef(false);
|
|
1059
|
-
React.useEffect(function () {
|
|
1060
|
-
isMounted.current = true;
|
|
1061
|
-
return function () {
|
|
1062
|
-
isMounted.current = false;
|
|
1063
|
-
};
|
|
1064
|
-
}, []);
|
|
1065
|
-
return function () {
|
|
1066
|
-
return isMounted.current;
|
|
1067
|
-
};
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
1057
|
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1071
1058
|
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty__default['default'](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1072
1059
|
function useCubeFetch(method) {
|
|
1073
1060
|
var _options$query;
|
|
1074
1061
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1075
|
-
var isMounted = useIsMounted();
|
|
1076
1062
|
var context = React.useContext(CubeContext);
|
|
1077
1063
|
var mutexRef = React.useRef({});
|
|
1078
1064
|
var _useState = React.useState({
|
|
@@ -1111,7 +1097,7 @@ function useCubeFetch(method) {
|
|
|
1111
1097
|
query = loadOptions.query || options.query;
|
|
1112
1098
|
queryCondition = method === 'meta' ? true : query && core.isQueryPresent(query);
|
|
1113
1099
|
if (!(cubeApi && (ignoreSkip || !skip) && queryCondition)) {
|
|
1114
|
-
_context.next =
|
|
1100
|
+
_context.next = 21;
|
|
1115
1101
|
break;
|
|
1116
1102
|
}
|
|
1117
1103
|
setError(null);
|
|
@@ -1129,25 +1115,21 @@ function useCubeFetch(method) {
|
|
|
1129
1115
|
return cubeApi[method].apply(cubeApi, args);
|
|
1130
1116
|
case 13:
|
|
1131
1117
|
_response = _context.sent;
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
}
|
|
1138
|
-
_context.next = 20;
|
|
1118
|
+
setResponse({
|
|
1119
|
+
response: _response,
|
|
1120
|
+
isLoading: false
|
|
1121
|
+
});
|
|
1122
|
+
_context.next = 21;
|
|
1139
1123
|
break;
|
|
1140
1124
|
case 17:
|
|
1141
1125
|
_context.prev = 17;
|
|
1142
1126
|
_context.t0 = _context["catch"](10);
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
}
|
|
1150
|
-
case 20:
|
|
1127
|
+
setError(_context.t0);
|
|
1128
|
+
setResponse({
|
|
1129
|
+
isLoading: false,
|
|
1130
|
+
response: null
|
|
1131
|
+
});
|
|
1132
|
+
case 21:
|
|
1151
1133
|
case "end":
|
|
1152
1134
|
return _context.stop();
|
|
1153
1135
|
}
|
|
@@ -1201,7 +1183,6 @@ function useLazyDryRun(query) {
|
|
|
1201
1183
|
function useCubeQuery(query) {
|
|
1202
1184
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1203
1185
|
var mutexRef = React.useRef({});
|
|
1204
|
-
var isMounted = useIsMounted();
|
|
1205
1186
|
var _useState = React.useState(null),
|
|
1206
1187
|
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
1207
1188
|
currentQuery = _useState2[0],
|
|
@@ -1260,29 +1241,23 @@ function useCubeQuery(query) {
|
|
|
1260
1241
|
});
|
|
1261
1242
|
case 10:
|
|
1262
1243
|
response = _context2.sent;
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
}
|
|
1267
|
-
_context2.next = 17;
|
|
1244
|
+
setResultSet(response);
|
|
1245
|
+
setProgress(null);
|
|
1246
|
+
_context2.next = 20;
|
|
1268
1247
|
break;
|
|
1269
|
-
case
|
|
1270
|
-
_context2.prev =
|
|
1248
|
+
case 15:
|
|
1249
|
+
_context2.prev = 15;
|
|
1271
1250
|
_context2.t0 = _context2["catch"](7);
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
case
|
|
1278
|
-
if (isMounted()) {
|
|
1279
|
-
setLoading(false);
|
|
1280
|
-
}
|
|
1281
|
-
case 18:
|
|
1251
|
+
setError(_context2.t0);
|
|
1252
|
+
setResultSet(null);
|
|
1253
|
+
setProgress(null);
|
|
1254
|
+
case 20:
|
|
1255
|
+
setLoading(false);
|
|
1256
|
+
case 21:
|
|
1282
1257
|
case "end":
|
|
1283
1258
|
return _context2.stop();
|
|
1284
1259
|
}
|
|
1285
|
-
}, _callee2, null, [[7,
|
|
1260
|
+
}, _callee2, null, [[7, 15]]);
|
|
1286
1261
|
}));
|
|
1287
1262
|
return _fetch.apply(this, arguments);
|
|
1288
1263
|
}
|
|
@@ -1303,7 +1278,7 @@ function useCubeQuery(query) {
|
|
|
1303
1278
|
while (1) switch (_context.prev = _context.next) {
|
|
1304
1279
|
case 0:
|
|
1305
1280
|
if (!(!skip && core.isQueryPresent(query))) {
|
|
1306
|
-
_context.next =
|
|
1281
|
+
_context.next = 23;
|
|
1307
1282
|
break;
|
|
1308
1283
|
}
|
|
1309
1284
|
if (!core.areQueriesEqual(currentQuery, query)) {
|
|
@@ -1333,15 +1308,13 @@ function useCubeQuery(query) {
|
|
|
1333
1308
|
mutexKey: 'query',
|
|
1334
1309
|
progressCallback: progressCallback
|
|
1335
1310
|
}, function (e, result) {
|
|
1336
|
-
if (
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
setResultSet(result);
|
|
1341
|
-
}
|
|
1342
|
-
setLoading(false);
|
|
1343
|
-
setProgress(null);
|
|
1311
|
+
if (e) {
|
|
1312
|
+
setError(e);
|
|
1313
|
+
} else {
|
|
1314
|
+
setResultSet(result);
|
|
1344
1315
|
}
|
|
1316
|
+
setLoading(false);
|
|
1317
|
+
setProgress(null);
|
|
1345
1318
|
});
|
|
1346
1319
|
_context.next = 15;
|
|
1347
1320
|
break;
|
|
@@ -1349,18 +1322,16 @@ function useCubeQuery(query) {
|
|
|
1349
1322
|
_context.next = 15;
|
|
1350
1323
|
return fetch();
|
|
1351
1324
|
case 15:
|
|
1352
|
-
_context.next =
|
|
1325
|
+
_context.next = 23;
|
|
1353
1326
|
break;
|
|
1354
1327
|
case 17:
|
|
1355
1328
|
_context.prev = 17;
|
|
1356
1329
|
_context.t0 = _context["catch"](4);
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
}
|
|
1363
|
-
case 20:
|
|
1330
|
+
setError(_context.t0);
|
|
1331
|
+
setResultSet(null);
|
|
1332
|
+
setLoading(false);
|
|
1333
|
+
setProgress(null);
|
|
1334
|
+
case 23:
|
|
1364
1335
|
case "end":
|
|
1365
1336
|
return _context.stop();
|
|
1366
1337
|
}
|
|
@@ -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/is-mounted.js","../src/hooks/cube-fetch.js","../src/hooks/cube-sql.js","../src/hooks/dry-run.js","../src/hooks/lazy-dry-run.js","../src/hooks/cube-query.js","../src/hooks/cube-meta.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport default createContext(null);\n","import React from 'react';\nimport { equals, toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent } from '@cubejs-client/core';\n\nimport CubeContext from './CubeContext';\n\nexport default class QueryRenderer extends React.Component {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n query: null,\n render: null,\n queries: null,\n loadSql: null,\n updateOnlyOnStateChange: false,\n resetResultSetOnChange: true\n };\n\n // @deprecated use `isQueryPresent` from `@cubejs-client/core`\n static isQueryPresent(query) {\n return isQueryPresent(query);\n }\n\n constructor(props) {\n super(props);\n this.state = {};\n this.mutexObj = {};\n }\n\n componentDidMount() {\n const { query, queries } = this.props;\n if (query) {\n this.load(query);\n }\n if (queries) {\n this.loadQueries(queries);\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const {\n query, queries, render, cubeApi, loadSql, updateOnlyOnStateChange\n } = this.props;\n if (!updateOnlyOnStateChange) {\n return true;\n }\n return !equals(nextProps.query, query)\n || !equals(nextProps.queries, queries)\n || ((nextProps.render == null || render == null) && nextProps.render !== render)\n || nextProps.cubeApi !== cubeApi\n || nextProps.loadSql !== loadSql\n || !equals(nextState, this.state)\n || nextProps.updateOnlyOnStateChange !== updateOnlyOnStateChange;\n }\n\n componentDidUpdate(prevProps) {\n const { query, queries } = this.props;\n if (!equals(prevProps.query, query)) {\n this.load(query);\n }\n\n if (!equals(prevProps.queries, queries)) {\n this.loadQueries(queries);\n }\n }\n\n cubeApi() {\n // eslint-disable-next-line react/destructuring-assignment\n return this.props.cubeApi || this.context && this.context.cubeApi;\n }\n\n load(query) {\n const { resetResultSetOnChange } = this.props;\n this.setState({\n isLoading: true,\n error: null,\n sqlQuery: null,\n ...(resetResultSetOnChange ? { resultSet: null } : {})\n });\n const { loadSql } = this.props;\n const cubeApi = this.cubeApi();\n\n if (query && isQueryPresent(query)) {\n if (loadSql === 'only') {\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' })\n .then(sqlQuery => this.setState({ sqlQuery, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else if (loadSql) {\n Promise.all([\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' }),\n cubeApi.load(query, { mutexObj: this.mutexObj, mutexKey: 'query' })\n ]).then(([sqlQuery, resultSet]) => this.setState({\n sqlQuery, resultSet, error: null, isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else {\n cubeApi.load(query, { mutexObj: this.mutexObj, mutexKey: 'query' })\n .then(resultSet => this.setState({ resultSet, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n }\n }\n\n loadQueries(queries) {\n const cubeApi = this.cubeApi();\n const { resetResultSetOnChange } = this.props;\n this.setState({\n isLoading: true,\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error: null\n });\n\n const resultPromises = Promise.all(toPairs(queries).map(\n ([name, query]) => cubeApi.load(query, { mutexObj: this.mutexObj, mutexKey: name }).then(r => [name, r])\n ));\n\n resultPromises\n .then(resultSet => this.setState({\n resultSet: fromPairs(resultSet),\n error: null,\n isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n\n render() {\n const {\n error, queries, resultSet, isLoading, sqlQuery\n } = this.state;\n const { render } = this.props;\n\n const loadState = {\n error: error ? new Error(error.response?.plainError || error.message || error.toString()) : null,\n resultSet: queries ? (resultSet || {}) : resultSet,\n loadingState: { isLoading },\n sqlQuery\n };\n\n if (render) {\n return render(loadState);\n }\n\n return null;\n }\n}\n","import React from 'react';\nimport QueryRenderer from './QueryRenderer.jsx';\n\nconst QueryRendererWithTotals = ({ query, ...restProps }) => (\n <QueryRenderer\n queries={{\n totals: {\n ...query,\n dimensions: [],\n timeDimensions: query.timeDimensions\n ? query.timeDimensions.map(td => ({ ...td, granularity: null }))\n : undefined\n },\n main: query\n }}\n {...restProps}\n />\n);\n\nexport default QueryRendererWithTotals;\n","export function removeEmpty(obj) {\n if (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 { useEffect, useRef } from 'react';\n\nexport function useIsMounted() {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return () => isMounted.current;\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\nimport { useIsMounted } from './is-mounted';\n\nexport function useCubeFetch(method, options = {}) {\n const isMounted = useIsMounted();\n const context = useContext(CubeContext);\n const mutexRef = useRef({});\n\n const [response, setResponse] = useState({\n isLoading: false,\n response: null,\n });\n const [error, setError] = useState(null);\n\n const { skip = false } = options;\n\n async function load(loadOptions = {}, ignoreSkip = false) {\n const cubeApi = options.cubeApi || context?.cubeApi;\n const query = loadOptions.query || options.query;\n\n const queryCondition = method === 'meta' ? true : query && isQueryPresent(query);\n\n if (cubeApi && (ignoreSkip || !skip) && queryCondition) {\n setError(null);\n setResponse({\n isLoading: true,\n response: null,\n });\n\n const coreOptions = {\n mutexObj: mutexRef.current,\n mutexKey: method,\n };\n const args = method === 'meta' ? [coreOptions] : [query, coreOptions];\n\n try {\n const response = await cubeApi[method](...args);\n\n if (isMounted()) {\n setResponse({\n response,\n isLoading: false,\n });\n }\n } catch (error) {\n if (isMounted()) {\n setError(error);\n setResponse({\n isLoading: false,\n response: null,\n });\n }\n }\n }\n }\n\n useEffect(() => {\n load();\n }, useDeepCompareMemoize([Object.keys(options.query?.order || {}), options, context]));\n\n return {\n ...response,\n error,\n refetch: (options) => load(options, true),\n };\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useCubeSql(query, options = {}) {\n return useCubeFetch('sql', {\n ...options,\n query\n });\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useDryRun(query, options = {}) {\n return useCubeFetch('dryRun', {\n ...options,\n query,\n });\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useLazyDryRun(query, options = {}) {\n const { refetch, ...result } = useCubeFetch('dryRun', {\n ...options,\n query,\n skip: true\n });\n\n return [refetch, result];\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\nimport { useIsMounted } from './is-mounted';\n\nexport function useCubeQuery(query, options = {}) {\n const mutexRef = useRef({});\n const isMounted = useIsMounted();\n const [currentQuery, setCurrentQuery] = useState(null);\n const [isLoading, setLoading] = useState(!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 if (isMounted()) {\n setResultSet(response);\n setProgress(null);\n }\n } catch (error) {\n if (isMounted()) {\n setError(error);\n setResultSet(null);\n setProgress(null);\n }\n }\n\n if (isMounted()) {\n setLoading(false);\n }\n }\n\n useEffect(() => {\n const { skip = false, resetResultSetOnChange } = options;\n\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n async function loadQuery() {\n if (!skip && isQueryPresent(query)) {\n if (!areQueriesEqual(currentQuery, query)) {\n if (resetResultSetOnChange == null || resetResultSetOnChange) {\n setResultSet(null);\n }\n setCurrentQuery(query);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n if (subscribeRequest) {\n await subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n\n if (options.subscribe) {\n subscribeRequest = cubeApi.subscribe(\n query,\n {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n },\n (e, result) => {\n if (isMounted()) {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n }\n );\n } else {\n await fetch();\n }\n } catch (e) {\n if (isMounted()) {\n setError(e);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\n }\n }\n }\n\n loadQuery();\n\n return () => {\n if (subscribeRequest) {\n subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n };\n }, useDeepCompareMemoize([query, Object.keys((query && query.order) || {}), options, context]));\n\n return {\n isLoading,\n resultSet,\n error,\n progress,\n previousQuery: currentQuery,\n refetch: fetch\n };\n}\n","import { useCubeFetch } from './cube-fetch';\n\nexport function useCubeMeta(options = {}) {\n return useCubeFetch('meta', options);\n}\n"],"names":["createContext","QueryRenderer","_React$Component","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","wrap","_callee$","_context","prev","next","abrupt","isFetchingMeta","sent","t0","stack","replace","updateQuery","stop","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_callee2$","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_callee4$","_context4","refresh","_refresh","_callee3","_callee3$","_context3","_x","getMissingMembers","getQueryMembers","member","resolvedMember","resolveMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","_member$member","_member$dimension","operator","includes","values","updateMethods","memberType","toQuery","length","add","concat","remove","_","index","update","updateWith","members","splice","queryError","pivotConfig","flatFilters","uniqBy","prop","flattenFilters","filters","m","i","operators","filterOperatorsForMember","measures","segments","availableMeasures","availableDimensions","availableSegments","availableFilterMembers","availableMembers","membersGroupedByCube","membersForQuery","indexedMeasures","indexBy","indexedDimensions","cubeNames","uniq","_toConsumableArray","keys","sort","_indexedMeasures$name","_indexedDimensions$na","cube","a","b","shortTitle","activeOrder","order","orderMembers","id","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","_ref5","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","_ref6","_ref7","updatePivotConfig","moveItem","_ref8","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","_updateVizState","_callee5","_this4","setQuery","setVizState","_this$state2","stateQuery","statePivotConfig","finalState","vizStateSent","handleVizStateChange","runSetters","shouldFetchDryRun","_error$response3","_callee5$","_context5","applyStateChangeHeuristics","currentState","onVizStateChanged","newVizState","pick","clone","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","_x2","_ref9","validateQuery","defaultHeuristics","newState","_this$state3","sessionGranularity","stateChangeHeuristics","disableHeuristics","_this5","_this$props4","wrapWithQueryRenderer","getDerivedStateFromProps","_ref10","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","useIsMounted","isMounted","useEffect","useCubeFetch","method","_options$query","useContext","mutexRef","_useState","useState","_useState2","setResponse","_useState3","_useState4","setError","_options$skip","skip","_load","loadOptions","ignoreSkip","queryCondition","coreOptions","args","_response","_args","refetch","useCubeSql","useDryRun","useLazyDryRun","_useCubeFetch","result","useCubeQuery","setCurrentQuery","setLoading","_useState5","_useState6","setResultSet","_useState7","_useState8","progress","setProgress","_useState9","_useState10","subscribeRequest","progressCallback","progressResponse","fetch","_fetch","_context$options","castNumerics","loadQuery","_loadQuery","areQueriesEqual","unsubscribe","subscribe","e","previousQuery","useCubeMeta"],"mappings":"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"}
|
|
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","wrap","_callee$","_context","prev","next","abrupt","isFetchingMeta","sent","t0","stack","replace","updateQuery","stop","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_callee2$","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_callee4$","_context4","refresh","_refresh","_callee3","_callee3$","_context3","_x","getMissingMembers","getQueryMembers","member","resolvedMember","resolveMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","_member$member","_member$dimension","operator","includes","values","updateMethods","memberType","toQuery","length","add","concat","remove","_","index","update","updateWith","members","splice","queryError","pivotConfig","flatFilters","uniqBy","prop","flattenFilters","filters","m","i","operators","filterOperatorsForMember","measures","segments","availableMeasures","availableDimensions","availableSegments","availableFilterMembers","availableMembers","membersGroupedByCube","membersForQuery","indexedMeasures","indexBy","indexedDimensions","cubeNames","uniq","_toConsumableArray","keys","sort","_indexedMeasures$name","_indexedDimensions$na","cube","a","b","shortTitle","activeOrder","order","orderMembers","id","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","_ref5","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","_ref6","_ref7","updatePivotConfig","moveItem","_ref8","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","_updateVizState","_callee5","_this4","setQuery","setVizState","_this$state2","stateQuery","statePivotConfig","finalState","vizStateSent","handleVizStateChange","runSetters","shouldFetchDryRun","_error$response3","_callee5$","_context5","applyStateChangeHeuristics","currentState","onVizStateChanged","newVizState","pick","clone","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","_x2","_ref9","validateQuery","defaultHeuristics","newState","_this$state3","sessionGranularity","stateChangeHeuristics","disableHeuristics","_this5","_this$props4","wrapWithQueryRenderer","getDerivedStateFromProps","_ref10","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","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","_useState10","subscribeRequest","progressCallback","progressResponse","fetch","_fetch","_context$options","castNumerics","loadQuery","_loadQuery","areQueriesEqual","unsubscribe","subscribe","e","previousQuery","useCubeMeta"],"mappings":"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"}
|