@cubejs-client/react 0.29.53 → 0.30.4

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/index.d.ts CHANGED
@@ -31,6 +31,7 @@ declare module '@cubejs-client/react' {
31
31
  UnaryOperator,
32
32
  BinaryOperator,
33
33
  DeeplyReadonly,
34
+ QueryRecordType,
34
35
  } from '@cubejs-client/core';
35
36
 
36
37
  type CubeProviderProps = {
@@ -428,7 +429,16 @@ declare module '@cubejs-client/react' {
428
429
  * @order 1
429
430
  * @stickyTypes
430
431
  */
431
- export function useCubeQuery<TData>(query: DeeplyReadonly<Query | Query[]>, options?: UseCubeQueryOptions): UseCubeQueryResult<TData>;
432
+ export function useCubeQuery<
433
+ TData,
434
+ TQuery extends DeeplyReadonly<Query | Query[]> = DeeplyReadonly<Query | Query[]>>(
435
+ query: TQuery,
436
+ options?: UseCubeQueryOptions,
437
+ ): UseCubeQueryResult<
438
+ unknown extends TData
439
+ ? QueryRecordType<TQuery>
440
+ : TData
441
+ >;
432
442
 
433
443
  type UseCubeQueryOptions = {
434
444
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubejs-client/react",
3
- "version": "0.29.53",
3
+ "version": "0.30.4",
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": "^0.29.53",
27
+ "@cubejs-client/core": "^0.30.4",
28
28
  "anser": "^2.0.1",
29
29
  "core-js": "^3.6.5",
30
30
  "html-entities": "^2.3.2",
@@ -44,5 +44,5 @@
44
44
  "peerDependencies": {
45
45
  "react": ">=16.10.2"
46
46
  },
47
- "gitHead": "b2815b43b973199420267695877b57eb6d744978"
47
+ "gitHead": "b7df8f6a3cfe104e639e0f7607868afa193ed0a3"
48
48
  }
@@ -8,7 +8,9 @@ import {
8
8
  isQueryPresent,
9
9
  moveItemInArray,
10
10
  movePivotItem,
11
- ResultSet
11
+ validateQuery,
12
+ ResultSet,
13
+ removeEmptyQueryFields
12
14
  } from '@cubejs-client/core';
13
15
 
14
16
  import QueryRenderer from './QueryRenderer.jsx';
@@ -200,6 +202,7 @@ export default class QueryBuilder extends React.Component {
200
202
 
201
203
  prepareRenderProps(queryRendererProps) {
202
204
  const getName = (member) => member.name;
205
+
203
206
  const toTimeDimension = (member) => {
204
207
  const rangeSelection = member.compareDateRange
205
208
  ? { compareDateRange: member.compareDateRange }
@@ -211,6 +214,7 @@ export default class QueryBuilder extends React.Component {
211
214
  ...rangeSelection,
212
215
  });
213
216
  };
217
+
214
218
  const toFilter = (member) => ({
215
219
  member: member.member?.name || member.dimension?.name,
216
220
  operator: member.operator,
@@ -420,10 +424,10 @@ export default class QueryBuilder extends React.Component {
420
424
  const { query } = this.state;
421
425
 
422
426
  this.updateVizState({
423
- query: {
427
+ query: removeEmptyQueryFields({
424
428
  ...query,
425
429
  ...queryUpdate,
426
- },
430
+ }),
427
431
  });
428
432
  }
429
433
 
@@ -525,10 +529,7 @@ export default class QueryBuilder extends React.Component {
525
529
  validatedQuery(state) {
526
530
  const { query } = state || this.state;
527
531
 
528
- return {
529
- ...query,
530
- filters: (query.filters || []).filter((f) => f.operator),
531
- };
532
+ return validateQuery(query);
532
533
  }
533
534
 
534
535
  defaultHeuristics(newState) {