@cubejs-client/playground 1.1.12 → 1.1.17

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.
Files changed (193) hide show
  1. package/build/assets/{index-wSty61qr.js → index-DgSEz9T1.js} +613 -779
  2. package/build/index.html +1 -1
  3. package/build/vizard/download/react-typescript-antd-table.zip +0 -0
  4. package/build/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
  5. package/lib/.tsbuildinfo +1 -1
  6. package/lib/App.js +1 -1
  7. package/lib/App.js.map +1 -1
  8. package/lib/QueryBuilderV2/QueryBuilder.d.ts +4 -0
  9. package/lib/QueryBuilderV2/QueryBuilder.js +12 -9
  10. package/lib/QueryBuilderV2/QueryBuilder.js.map +1 -1
  11. package/lib/QueryBuilderV2/QueryBuilderChart.js +2 -2
  12. package/lib/QueryBuilderV2/QueryBuilderChart.js.map +1 -1
  13. package/lib/QueryBuilderV2/QueryBuilderChartResults.js +4 -4
  14. package/lib/QueryBuilderV2/QueryBuilderChartResults.js.map +1 -1
  15. package/lib/QueryBuilderV2/QueryBuilderError.js +1 -3
  16. package/lib/QueryBuilderV2/QueryBuilderError.js.map +1 -1
  17. package/lib/QueryBuilderV2/QueryBuilderExtras.d.ts +1 -0
  18. package/lib/QueryBuilderV2/QueryBuilderExtras.js +39 -18
  19. package/lib/QueryBuilderV2/QueryBuilderExtras.js.map +1 -1
  20. package/lib/QueryBuilderV2/QueryBuilderFilters.js +88 -84
  21. package/lib/QueryBuilderV2/QueryBuilderFilters.js.map +1 -1
  22. package/lib/QueryBuilderV2/QueryBuilderGraphQL.js +1 -1
  23. package/lib/QueryBuilderV2/QueryBuilderGraphQL.js.map +1 -1
  24. package/lib/QueryBuilderV2/QueryBuilderInternals.js +7 -10
  25. package/lib/QueryBuilderV2/QueryBuilderInternals.js.map +1 -1
  26. package/lib/QueryBuilderV2/QueryBuilderResults.js +87 -45
  27. package/lib/QueryBuilderV2/QueryBuilderResults.js.map +1 -1
  28. package/lib/QueryBuilderV2/QueryBuilderSidePanel.d.ts +4 -3
  29. package/lib/QueryBuilderV2/QueryBuilderSidePanel.js +95 -54
  30. package/lib/QueryBuilderV2/QueryBuilderSidePanel.js.map +1 -1
  31. package/lib/QueryBuilderV2/components/Accordion/AccordionItemTitle.js +1 -1
  32. package/lib/QueryBuilderV2/components/Accordion/AccordionItemTitle.js.map +1 -1
  33. package/lib/QueryBuilderV2/components/AddFilterInput.d.ts +10 -0
  34. package/lib/QueryBuilderV2/components/AddFilterInput.js +195 -0
  35. package/lib/QueryBuilderV2/components/AddFilterInput.js.map +1 -0
  36. package/lib/QueryBuilderV2/components/Badge.d.ts +3 -2
  37. package/lib/QueryBuilderV2/components/Badge.js +4 -3
  38. package/lib/QueryBuilderV2/components/Badge.js.map +1 -1
  39. package/lib/QueryBuilderV2/components/ChartRenderer.js +0 -1
  40. package/lib/QueryBuilderV2/components/ChartRenderer.js.map +1 -1
  41. package/lib/QueryBuilderV2/components/DateRangeFilter.d.ts +7 -0
  42. package/lib/QueryBuilderV2/components/DateRangeFilter.js +25 -4
  43. package/lib/QueryBuilderV2/components/DateRangeFilter.js.map +1 -1
  44. package/lib/QueryBuilderV2/components/EditQueryDialogForm.js +18 -20
  45. package/lib/QueryBuilderV2/components/EditQueryDialogForm.js.map +1 -1
  46. package/lib/QueryBuilderV2/components/FilterByMemberButton.d.ts +6 -1
  47. package/lib/QueryBuilderV2/components/FilterByMemberButton.js +16 -6
  48. package/lib/QueryBuilderV2/components/FilterByMemberButton.js.map +1 -1
  49. package/lib/QueryBuilderV2/components/FilterLabel.d.ts +9 -0
  50. package/lib/QueryBuilderV2/components/FilterLabel.js +18 -4
  51. package/lib/QueryBuilderV2/components/FilterLabel.js.map +1 -1
  52. package/lib/QueryBuilderV2/components/FilterMember.d.ts +19 -0
  53. package/lib/QueryBuilderV2/components/FilterMember.js +137 -0
  54. package/lib/QueryBuilderV2/components/FilterMember.js.map +1 -0
  55. package/lib/QueryBuilderV2/components/FilterOptionsButton.d.ts +8 -0
  56. package/lib/QueryBuilderV2/components/FilterOptionsButton.js +54 -0
  57. package/lib/QueryBuilderV2/components/FilterOptionsButton.js.map +1 -0
  58. package/lib/QueryBuilderV2/components/FilteredLabel.js +10 -2
  59. package/lib/QueryBuilderV2/components/FilteredLabel.js.map +1 -1
  60. package/lib/QueryBuilderV2/components/Folder.d.ts +9 -0
  61. package/lib/QueryBuilderV2/components/Folder.js +47 -0
  62. package/lib/QueryBuilderV2/components/Folder.js.map +1 -0
  63. package/lib/QueryBuilderV2/components/GranularityListMember.d.ts +3 -0
  64. package/lib/QueryBuilderV2/components/GranularityListMember.js +5 -14
  65. package/lib/QueryBuilderV2/components/GranularityListMember.js.map +1 -1
  66. package/lib/QueryBuilderV2/components/HierarchyMember.d.ts +14 -0
  67. package/lib/QueryBuilderV2/components/HierarchyMember.js +47 -0
  68. package/lib/QueryBuilderV2/components/HierarchyMember.js.map +1 -0
  69. package/lib/QueryBuilderV2/components/InstanceTooltipProvider.d.ts +15 -0
  70. package/lib/QueryBuilderV2/components/InstanceTooltipProvider.js +36 -0
  71. package/lib/QueryBuilderV2/components/InstanceTooltipProvider.js.map +1 -0
  72. package/lib/QueryBuilderV2/components/ListButton.d.ts +341 -11
  73. package/lib/QueryBuilderV2/components/ListButton.js +2 -1
  74. package/lib/QueryBuilderV2/components/ListButton.js.map +1 -1
  75. package/lib/QueryBuilderV2/components/ListCube.js +2 -2
  76. package/lib/QueryBuilderV2/components/ListCube.js.map +1 -1
  77. package/lib/QueryBuilderV2/components/ListMember.d.ts +11 -2
  78. package/lib/QueryBuilderV2/components/ListMember.js +39 -29
  79. package/lib/QueryBuilderV2/components/ListMember.js.map +1 -1
  80. package/lib/QueryBuilderV2/components/ListMemberButton.d.ts +341 -11
  81. package/lib/QueryBuilderV2/components/ListMemberButton.js +8 -1
  82. package/lib/QueryBuilderV2/components/ListMemberButton.js.map +1 -1
  83. package/lib/QueryBuilderV2/components/LogicalFilter.d.ts +12 -0
  84. package/lib/QueryBuilderV2/components/LogicalFilter.js +152 -0
  85. package/lib/QueryBuilderV2/components/LogicalFilter.js.map +1 -0
  86. package/lib/QueryBuilderV2/components/MemberLabel.d.ts +11 -1
  87. package/lib/QueryBuilderV2/components/MemberLabel.js +14 -6
  88. package/lib/QueryBuilderV2/components/MemberLabel.js.map +1 -1
  89. package/lib/QueryBuilderV2/components/MemberLabelText.js +11 -4
  90. package/lib/QueryBuilderV2/components/MemberLabelText.js.map +1 -1
  91. package/lib/QueryBuilderV2/components/ReorderableList.d.ts +20 -0
  92. package/lib/QueryBuilderV2/components/ReorderableList.js +173 -0
  93. package/lib/QueryBuilderV2/components/ReorderableList.js.map +1 -0
  94. package/lib/QueryBuilderV2/components/ScrollableArea.d.ts +354 -1
  95. package/lib/QueryBuilderV2/components/SegmentFilter.d.ts +7 -0
  96. package/lib/QueryBuilderV2/components/SegmentFilter.js +30 -4
  97. package/lib/QueryBuilderV2/components/SegmentFilter.js.map +1 -1
  98. package/lib/QueryBuilderV2/components/SidePanelCubeItem.d.ts +4 -5
  99. package/lib/QueryBuilderV2/components/SidePanelCubeItem.js +380 -130
  100. package/lib/QueryBuilderV2/components/SidePanelCubeItem.js.map +1 -1
  101. package/lib/QueryBuilderV2/components/TimeListMember.d.ts +20 -5
  102. package/lib/QueryBuilderV2/components/TimeListMember.js +95 -49
  103. package/lib/QueryBuilderV2/components/TimeListMember.js.map +1 -1
  104. package/lib/QueryBuilderV2/components/ValuesInput.d.ts +4 -0
  105. package/lib/QueryBuilderV2/components/ValuesInput.js +65 -41
  106. package/lib/QueryBuilderV2/components/ValuesInput.js.map +1 -1
  107. package/lib/QueryBuilderV2/hooks/dimension-values.d.ts +13 -0
  108. package/lib/QueryBuilderV2/hooks/dimension-values.js +62 -0
  109. package/lib/QueryBuilderV2/hooks/dimension-values.js.map +1 -0
  110. package/lib/QueryBuilderV2/hooks/filtered-cubes.d.ts +6 -2
  111. package/lib/QueryBuilderV2/hooks/filtered-cubes.js +26 -8
  112. package/lib/QueryBuilderV2/hooks/filtered-cubes.js.map +1 -1
  113. package/lib/QueryBuilderV2/hooks/filtered-members.d.ts +10 -4
  114. package/lib/QueryBuilderV2/hooks/filtered-members.js +57 -20
  115. package/lib/QueryBuilderV2/hooks/filtered-members.js.map +1 -1
  116. package/lib/QueryBuilderV2/hooks/has-overflow.d.ts +1 -1
  117. package/lib/QueryBuilderV2/hooks/has-overflow.js +3 -0
  118. package/lib/QueryBuilderV2/hooks/has-overflow.js.map +1 -1
  119. package/lib/QueryBuilderV2/hooks/index.d.ts +2 -1
  120. package/lib/QueryBuilderV2/hooks/index.js +2 -1
  121. package/lib/QueryBuilderV2/hooks/index.js.map +1 -1
  122. package/lib/QueryBuilderV2/hooks/local-storage.js +1 -1
  123. package/lib/QueryBuilderV2/hooks/local-storage.js.map +1 -1
  124. package/lib/QueryBuilderV2/hooks/query-builder.d.ts +36 -13
  125. package/lib/QueryBuilderV2/hooks/query-builder.js +258 -36
  126. package/lib/QueryBuilderV2/hooks/query-builder.js.map +1 -1
  127. package/lib/QueryBuilderV2/hooks/shown-member-name.d.ts +16 -0
  128. package/lib/QueryBuilderV2/hooks/shown-member-name.js +20 -0
  129. package/lib/QueryBuilderV2/hooks/shown-member-name.js.map +1 -0
  130. package/lib/QueryBuilderV2/icons/{ArrowIcon.d.ts → ChevronIcon.d.ts} +5 -5
  131. package/lib/QueryBuilderV2/icons/ChevronIcon.js +49 -0
  132. package/lib/QueryBuilderV2/icons/ChevronIcon.js.map +1 -0
  133. package/lib/QueryBuilderV2/icons/ItemInfoIcon.d.ts +7 -6
  134. package/lib/QueryBuilderV2/icons/ItemInfoIcon.js +7 -4
  135. package/lib/QueryBuilderV2/icons/ItemInfoIcon.js.map +1 -1
  136. package/lib/QueryBuilderV2/icons/PrimaryKeyIcon.js +1 -1
  137. package/lib/QueryBuilderV2/icons/PrimaryKeyIcon.js.map +1 -1
  138. package/lib/QueryBuilderV2/types.d.ts +38 -4
  139. package/lib/QueryBuilderV2/utils/cube-sql-converter.d.ts +5 -5
  140. package/lib/QueryBuilderV2/utils/cube-sql-converter.js +48 -25
  141. package/lib/QueryBuilderV2/utils/cube-sql-converter.js.map +1 -1
  142. package/lib/QueryBuilderV2/utils/get-member-search-name.d.ts +3 -0
  143. package/lib/QueryBuilderV2/utils/get-member-search-name.js +11 -0
  144. package/lib/QueryBuilderV2/utils/get-member-search-name.js.map +1 -0
  145. package/lib/QueryBuilderV2/utils/get-query-hash.js +2 -29
  146. package/lib/QueryBuilderV2/utils/get-query-hash.js.map +1 -1
  147. package/lib/QueryBuilderV2/utils/get-type-icon.d.ts +1 -1
  148. package/lib/QueryBuilderV2/utils/get-type-icon.js +1 -1
  149. package/lib/QueryBuilderV2/utils/get-type-icon.js.map +1 -1
  150. package/lib/QueryBuilderV2/utils/get-used-cubes-and-members.d.ts +7 -1
  151. package/lib/QueryBuilderV2/utils/get-used-cubes-and-members.js +48 -8
  152. package/lib/QueryBuilderV2/utils/get-used-cubes-and-members.js.map +1 -1
  153. package/lib/QueryBuilderV2/utils/graphql-converters.js +9 -12
  154. package/lib/QueryBuilderV2/utils/graphql-converters.js.map +1 -1
  155. package/lib/QueryBuilderV2/utils/index.d.ts +2 -0
  156. package/lib/QueryBuilderV2/utils/index.js +2 -0
  157. package/lib/QueryBuilderV2/utils/index.js.map +1 -1
  158. package/lib/QueryBuilderV2/utils/validate-query.d.ts +2 -0
  159. package/lib/QueryBuilderV2/utils/validate-query.js +109 -0
  160. package/lib/QueryBuilderV2/utils/validate-query.js.map +1 -0
  161. package/lib/QueryBuilderV2/values.d.ts +2 -2
  162. package/lib/QueryBuilderV2/values.js +8 -7
  163. package/lib/QueryBuilderV2/values.js.map +1 -1
  164. package/lib/components/Header/Header.js +2 -2
  165. package/lib/components/Header/Header.js.map +1 -1
  166. package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.js +1 -2
  167. package/lib/components/PlaygroundQueryBuilder/QueryBuilderContainer.js.map +1 -1
  168. package/lib/components/QueryTabs/QueryTabs.d.ts +3 -0
  169. package/lib/components/QueryTabs/QueryTabs.js +29 -4
  170. package/lib/components/QueryTabs/QueryTabs.js.map +1 -1
  171. package/package.json +6 -5
  172. package/public/vizard/download/react-typescript-antd-table.zip +0 -0
  173. package/public/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
  174. package/lib/QueryBuilderV2/QueryBuilderDevSidePanel.d.ts +0 -1
  175. package/lib/QueryBuilderV2/QueryBuilderDevSidePanel.js +0 -203
  176. package/lib/QueryBuilderV2/QueryBuilderDevSidePanel.js.map +0 -1
  177. package/lib/QueryBuilderV2/components/DeleteFilterButton.d.ts +0 -122
  178. package/lib/QueryBuilderV2/components/DeleteFilterButton.js +0 -10
  179. package/lib/QueryBuilderV2/components/DeleteFilterButton.js.map +0 -1
  180. package/lib/QueryBuilderV2/components/MemberFilter.d.ts +0 -13
  181. package/lib/QueryBuilderV2/components/MemberFilter.js +0 -106
  182. package/lib/QueryBuilderV2/components/MemberFilter.js.map +0 -1
  183. package/lib/QueryBuilderV2/components/Panel.d.ts +0 -19
  184. package/lib/QueryBuilderV2/components/Panel.js +0 -88
  185. package/lib/QueryBuilderV2/components/Panel.js.map +0 -1
  186. package/lib/QueryBuilderV2/components/QueryVisualization.d.ts +0 -8
  187. package/lib/QueryBuilderV2/components/QueryVisualization.js +0 -85
  188. package/lib/QueryBuilderV2/components/QueryVisualization.js.map +0 -1
  189. package/lib/QueryBuilderV2/hooks/list-mode.d.ts +0 -3
  190. package/lib/QueryBuilderV2/hooks/list-mode.js +0 -9
  191. package/lib/QueryBuilderV2/hooks/list-mode.js.map +0 -1
  192. package/lib/QueryBuilderV2/icons/ArrowIcon.js +0 -30
  193. package/lib/QueryBuilderV2/icons/ArrowIcon.js.map +0 -1
@@ -0,0 +1,62 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ export function useDimensionValues({ cubeApi, mutexObj, dimension, skip, }) {
3
+ const [isLoading, setIsLoading] = useState(false);
4
+ const [suggestions, setSuggestions] = useState([]);
5
+ const [error, setError] = useState(null);
6
+ const requestIdRef = useRef();
7
+ const mutexRef = useRef({});
8
+ mutexObj = mutexObj ?? mutexRef.current;
9
+ function loadSuggestions() {
10
+ setError(null);
11
+ if (!dimension || !cubeApi || dimension === requestIdRef.current) {
12
+ return;
13
+ }
14
+ requestIdRef.current = dimension;
15
+ setIsLoading(true);
16
+ cubeApi
17
+ .load({
18
+ dimensions: [dimension],
19
+ }, {
20
+ mutexObj,
21
+ mutexKey: `dimension-values:${dimension}`,
22
+ })
23
+ .then((resultSet) => {
24
+ if (dimension !== requestIdRef.current) {
25
+ return; // Ignore outdated responses
26
+ }
27
+ // @ts-ignore
28
+ const data = resultSet.loadResponse?.results?.[0]?.data || [];
29
+ const dimensionValues = data.map((r) => r[dimension]).filter(Boolean); // Filter out undefined or null values
30
+ if (dimensionValues.join() !== suggestions.join()) {
31
+ setSuggestions(dimensionValues);
32
+ }
33
+ setIsLoading(false);
34
+ })
35
+ .catch((e) => {
36
+ if (dimension !== requestIdRef.current) {
37
+ return;
38
+ }
39
+ setError(String(e.message || e)); // More specific error handling
40
+ setIsLoading(false);
41
+ requestIdRef.current = undefined;
42
+ });
43
+ }
44
+ useEffect(() => {
45
+ mutexRef.current = {};
46
+ requestIdRef.current = undefined;
47
+ }, [cubeApi]);
48
+ useEffect(() => {
49
+ if (dimension && !skip) {
50
+ loadSuggestions();
51
+ }
52
+ else {
53
+ setIsLoading(false);
54
+ }
55
+ }, [dimension, cubeApi, skip]);
56
+ return {
57
+ isLoading,
58
+ suggestions,
59
+ error,
60
+ };
61
+ }
62
+ //# sourceMappingURL=dimension-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension-values.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/dimension-values.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASpD,MAAM,UAAU,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,GACqB;IACzB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,EAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAE5B,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC;IAExC,SAAS,eAAe;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,EAAE;YAChE,OAAO;SACR;QAED,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;QAEjC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO;aACJ,IAAI,CACH;YACE,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,EACD;YACE,QAAQ;YACR,QAAQ,EAAE,oBAAoB,SAAS,EAAE;SAC1C,CACF;aACA,IAAI,CAAC,CAAC,SAAoB,EAAE,EAAE;YAC7B,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,EAAE;gBACtC,OAAO,CAAC,4BAA4B;aACrC;YAED,aAAa;YACb,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC;YAElH,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,IAAI,EAAE,EAAE;gBACjD,cAAc,CAAC,eAAe,CAAC,CAAC;aACjC;YAED,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,EAAE;gBACtC,OAAO;aACR;YAED,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;YACjE,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE;YACtB,eAAe,EAAE,CAAC;SACnB;aAAM;YACL,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,OAAO;QACL,SAAS;QACT,WAAW;QACX,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1,10 +1,14 @@
1
- import { Cube } from '@cubejs-client/core';
2
- export declare function useFilteredCubes(filterString: string, cubes: Cube[]): {
1
+ import { MemberViewType } from '../types';
2
+ import { Cube } from '../types';
3
+ export declare function useFilteredCubes(filterString: string, cubes: Cube[], memberViewType: MemberViewType): {
3
4
  isFiltered: boolean;
4
5
  cubes: Cube[];
5
6
  membersByCube: Record<string, {
6
7
  dimensions: string[];
7
8
  measures: string[];
9
+ segments: string[];
10
+ folders: string[];
11
+ hierarchies: string[];
8
12
  }>;
9
13
  members: string[];
10
14
  };
@@ -1,28 +1,46 @@
1
+ import { getMemberSearchName } from '../utils';
1
2
  import { useRawFilter } from './raw-filter';
2
- export function useFilteredCubes(filterString, cubes) {
3
+ export function useFilteredCubes(filterString, cubes, memberViewType) {
3
4
  // Search filters logic
4
5
  const rawFilterFn = useRawFilter();
6
+ const cubesMap = cubes.reduce((acc, cube) => {
7
+ acc[cube.name] = cube;
8
+ return acc;
9
+ }, {});
5
10
  const filterMemberFn = (items) => {
6
11
  return items.filter((item) => {
7
- return rawFilterFn(item.name.split('.')[1], filterString);
12
+ const cubeName = item.name.split('.')[0];
13
+ const cube = cubesMap[cubeName];
14
+ const cubeId = cube ? getMemberSearchName(cube, memberViewType) : cubeName;
15
+ const itemId = getMemberSearchName(item, memberViewType);
16
+ return (rawFilterFn(cubeId ?? item.name, filterString) ||
17
+ (itemId && rawFilterFn(itemId, filterString)));
8
18
  });
9
19
  };
10
20
  const members = [];
11
21
  const membersByCube = cubes.reduce((acc, cube) => {
12
22
  acc[cube.name] = {
13
- measures: filterMemberFn(cube.measures).map((m) => m.name),
14
- dimensions: filterMemberFn(cube.dimensions).map((m) => m.name),
23
+ // search by member names
24
+ measures: filterMemberFn(cube.measures ?? []).map((m) => m.name),
25
+ dimensions: filterMemberFn(cube.dimensions ?? []).map((m) => m.name),
26
+ segments: filterMemberFn(cube.segments ?? []).map((m) => m.name),
27
+ // search by folder names
28
+ folders: filterMemberFn(cube.folders ?? []).map((m) => m.name),
29
+ // search by hierarchy names
30
+ hierarchies: filterMemberFn(cube.hierarchies ?? []).map((m) => m.name),
15
31
  };
16
- members.push(...acc[cube.name].dimensions, ...acc[cube.name].measures);
32
+ members.push(...acc[cube.name].dimensions, ...acc[cube.name].measures, ...acc[cube.name].segments);
17
33
  return acc;
18
34
  }, {});
19
35
  return {
20
36
  isFiltered: !!filterString,
21
37
  cubes: cubes.filter((item) => {
22
- return (rawFilterFn(item.title, filterString) ||
23
- rawFilterFn(item.name, filterString) ||
38
+ return (rawFilterFn(getMemberSearchName(item, memberViewType), filterString) ||
24
39
  membersByCube[item.name].dimensions.length ||
25
- membersByCube[item.name].measures.length);
40
+ membersByCube[item.name].measures.length ||
41
+ membersByCube[item.name].segments.length ||
42
+ membersByCube[item.name].folders.length ||
43
+ membersByCube[item.name].hierarchies.length);
26
44
  }),
27
45
  membersByCube,
28
46
  members,
@@ -1 +1 @@
1
- {"version":3,"file":"filtered-cubes.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/filtered-cubes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,KAAa;IAClE,uBAAuB;IACvB,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,CACrB,KAAU,EACL,EAAE;QACP,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAO,EAAE,EAAE;YAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACf,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAC/D,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvE,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAkE,CACnE,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,YAAY;QAC1B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,CACL,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;gBACrC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;gBACpC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM;gBAC1C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CACzC,CAAC;QACJ,CAAC,CAAC;QACF,aAAa;QACb,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"filtered-cubes.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/filtered-cubes.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  import { TCubeDimension, TCubeMeasure, TCubeSegment } from '@cubejs-client/core';
2
+ import { MemberViewType, TCubeFolder, TCubeHierarchy } from '../types';
2
3
  export declare function useFilteredMembers(filterString: string, members: {
3
4
  dimensions: TCubeDimension[];
4
5
  measures: TCubeMeasure[];
5
6
  segments: TCubeSegment[];
6
- }): {
7
- measures: (TCubeMeasure | TCubeDimension | TCubeSegment)[];
8
- dimensions: (TCubeMeasure | TCubeDimension | TCubeSegment)[];
9
- segments: (TCubeMeasure | TCubeDimension | TCubeSegment)[];
7
+ folders: TCubeFolder[];
8
+ hierarchies: TCubeHierarchy[];
9
+ }, memberViewType?: MemberViewType): {
10
+ measures: (TCubeMeasure | TCubeDimension | TCubeSegment | TCubeFolder | TCubeHierarchy)[];
11
+ dimensions: (TCubeMeasure | TCubeDimension | TCubeSegment | TCubeFolder | TCubeHierarchy)[];
12
+ segments: (TCubeMeasure | TCubeDimension | TCubeSegment | TCubeFolder | TCubeHierarchy)[];
13
+ folders: (TCubeMeasure | TCubeDimension | TCubeSegment | TCubeFolder | TCubeHierarchy)[];
14
+ hierarchies: TCubeHierarchy[];
15
+ members: (TCubeSegment | TCubeFolder | TCubeHierarchy)[];
10
16
  };
@@ -1,36 +1,73 @@
1
+ import { getMemberSearchName } from '../utils/get-member-search-name';
1
2
  import { useEvent } from './event';
2
3
  import { useRawFilter } from './raw-filter';
3
- export function useFilteredMembers(filterString, members) {
4
+ export function useFilteredMembers(filterString, members, memberViewType = 'name') {
4
5
  // Search filters logic
5
6
  const rawFilterFn = useRawFilter();
6
- const { dimensions, measures, segments } = members;
7
+ const { dimensions, measures, segments, folders, hierarchies } = members;
8
+ const sortFn = (a, b) => {
9
+ const aName = getMemberSearchName(a, memberViewType);
10
+ const bName = getMemberSearchName(b, memberViewType);
11
+ return aName.localeCompare(bName);
12
+ };
7
13
  const filterMemberFn = useEvent((items) => {
8
14
  return items.filter((item) => {
9
- return rawFilterFn(item.name.split('.')[1], filterString);
15
+ const itemId = getMemberSearchName(item, memberViewType);
16
+ return itemId && rawFilterFn(itemId, filterString);
10
17
  });
11
18
  });
12
19
  if (!filterString) {
13
20
  return {
14
- measures: measures.sort((a, b) => a.name.localeCompare(b.name)),
15
- dimensions: dimensions.sort((a, b) => a.name.localeCompare(b.name)),
16
- segments: segments.sort((a, b) => a.name.localeCompare(b.name)),
21
+ measures: measures.sort(sortFn),
22
+ dimensions: dimensions.sort(sortFn),
23
+ segments: segments.sort(sortFn),
24
+ folders: folders.sort(sortFn),
25
+ hierarchies: hierarchies.sort(sortFn),
26
+ members: [...dimensions, ...measures, ...segments],
17
27
  };
18
28
  }
19
- // Filtered measures
20
- const shownMeasures = measures.length
21
- ? filterMemberFn(measures).sort((a, b) => a.name.localeCompare(b.name))
22
- : [];
23
- // Filtered dimensions
24
- const shownDimensions = dimensions.length
25
- ? filterMemberFn(dimensions).sort((a, b) => a.name.localeCompare(b.name))
26
- : [];
27
- const shownSegments = segments.length
28
- ? filterMemberFn(segments).sort((a, b) => a.name.localeCompare(b.name))
29
- : [];
29
+ // Filtered members
30
+ const filteredMeasures = measures.length ? filterMemberFn(measures).sort(sortFn) : [];
31
+ const filteredDimensions = dimensions.length ? filterMemberFn(dimensions).sort(sortFn) : [];
32
+ const filteredSegments = segments.length ? filterMemberFn(segments).sort(sortFn) : [];
33
+ const filteredFolders = folders.length ? filterMemberFn(folders).sort(sortFn) : [];
34
+ const filteredHierarchies = (hierarchies.length ? filterMemberFn(hierarchies).sort(sortFn) : []);
35
+ const filteredMeasuresNames = filteredMeasures.map((measure) => measure.name);
36
+ const filteredSegmentNames = filteredSegments.map((segment) => segment.name);
37
+ const filteredFolderNames = filteredFolders.map((folder) => folder.name);
38
+ const filteredDimensionNames = filteredDimensions.map((dimension) => dimension.name);
39
+ const filteredHierarchyNames = filteredHierarchies.map((hierarchy) => hierarchy.name);
40
+ // Include hierarchies with filtered members inside.
41
+ // Hierarchy can only include dimensions.
42
+ hierarchies.forEach((hierarchy) => {
43
+ if (filteredHierarchyNames.includes(hierarchy.name)) {
44
+ return;
45
+ }
46
+ if (hierarchy.levels.find((memberName) => filteredDimensionNames.includes(memberName))) {
47
+ filteredHierarchies.push(hierarchy);
48
+ filteredHierarchyNames.push(hierarchy.name);
49
+ }
50
+ });
51
+ // Include folders with filtered members inside.
52
+ // Folders can include dimensions, measures, segments and hierarchies.
53
+ folders.forEach((folder) => {
54
+ if (filteredFolderNames.includes(folder.name)) {
55
+ return;
56
+ }
57
+ if (folder.members.find((memberName) => filteredDimensionNames.includes(memberName) ||
58
+ filteredMeasuresNames.includes(memberName) ||
59
+ filteredSegmentNames.includes(memberName) ||
60
+ filteredHierarchyNames.includes(memberName))) {
61
+ filteredFolders.push(folder);
62
+ }
63
+ });
30
64
  return {
31
- measures: shownMeasures,
32
- dimensions: shownDimensions,
33
- segments: shownSegments,
65
+ measures: filteredMeasures,
66
+ dimensions: filteredDimensions,
67
+ segments: filteredSegments,
68
+ folders: filteredFolders,
69
+ hierarchies: filteredHierarchies,
70
+ members: [...filteredDimensions, ...filteredMeasures, ...filteredSegments],
34
71
  };
35
72
  }
36
73
  //# sourceMappingURL=filtered-members.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filtered-members.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/filtered-members.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,OAA6F;IAE7F,uBAAuB;IACvB,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;IAEnC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEnD,MAAM,cAAc,GAAG,QAAQ,CAC7B,CAAyD,KAAU,EAAO,EAAE;QAC1E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAO,EAAE,EAAE;YAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAChE,CAAC;KACH;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;QACnC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;IACP,sBAAsB;IACtB,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM;QACvC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;QACnC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,aAAa;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"filtered-members.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/filtered-members.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { RefObject } from 'react';
2
- export declare function useHasOverflow(ref: RefObject<HTMLDivElement>): boolean;
2
+ export declare function useHasOverflow(ref?: RefObject<HTMLDivElement>): boolean;
@@ -7,6 +7,9 @@ export function useHasOverflow(ref) {
7
7
  const hasOverflow = (element?.scrollWidth ?? 0) > (element?.clientWidth ?? 0);
8
8
  setHasOverflow(hasOverflow);
9
9
  };
10
+ if (!ref) {
11
+ setHasOverflow(false);
12
+ }
10
13
  element?.addEventListener('mouseenter', handler);
11
14
  return () => {
12
15
  element?.removeEventListener('mouseenter', handler);
@@ -1 +1 @@
1
- {"version":3,"file":"has-overflow.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/has-overflow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,UAAU,cAAc,CAAC,GAA8B;IAC3D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;YAE9E,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"has-overflow.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/has-overflow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,UAAU,cAAc,CAAC,GAA+B;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;YAE9E,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE;YACR,cAAc,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -2,7 +2,6 @@ export * from './event';
2
2
  export * from './auto-size';
3
3
  export * from './filtered-cubes';
4
4
  export * from './filtered-members';
5
- export * from './list-mode';
6
5
  export * from './raw-filter';
7
6
  export * from './query-builder';
8
7
  export * from './has-overflow';
@@ -21,3 +20,5 @@ export * from './server-core-version-gte';
21
20
  export * from './outside-focus';
22
21
  export * from './is-first-render';
23
22
  export * from './uniq-id';
23
+ export * from './shown-member-name';
24
+ export * from './dimension-values';
@@ -2,7 +2,6 @@ export * from './event';
2
2
  export * from './auto-size';
3
3
  export * from './filtered-cubes';
4
4
  export * from './filtered-members';
5
- export * from './list-mode';
6
5
  export * from './raw-filter';
7
6
  export * from './query-builder';
8
7
  export * from './has-overflow';
@@ -21,4 +20,6 @@ export * from './server-core-version-gte';
21
20
  export * from './outside-focus';
22
21
  export * from './is-first-render';
23
22
  export * from './uniq-id';
23
+ export * from './shown-member-name';
24
+ export * from './dimension-values';
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -70,7 +70,7 @@ export function useLocalStorage(key, defaultValue) {
70
70
  setValue(getter);
71
71
  storage.subscribe(key, (value) => {
72
72
  // @ts-ignore
73
- setValue(typeof defaultValue === 'function' ? defaultValue(value) : value ?? defaultValue);
73
+ setValue(typeof defaultValue === 'function' ? defaultValue(value) : (value ?? defaultValue));
74
74
  });
75
75
  return () => {
76
76
  storage.unsubscribe(key, setValue);
@@ -1 +1 @@
1
- {"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/local-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/QueryBuilderV2/hooks/local-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,OAAO;IAGhC;QAFA,YAAO,GAAG,IAAI,EAAE,CAAC;QAGf,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE3B,OAAO;aACR;YAED,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE;gBACrC,IAAI,KAAK,CAAC;gBAEV,IAAI;oBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;iBAC1C;gBAAC,OAAO,KAAU,EAAE;oBACnB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;iBACxB;gBACD,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,KAAW;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,QAAa;QAClC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,QAAa;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,QAAa;QACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,QAAa;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,KAAU;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC9B;aAAM;YACL,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,YAAiB;QACpC,IAAI;YACF,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEvE,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;gBACtC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;aAC7B;YAED,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;SACrD;QAAC,OAAO,KAAU,EAAE;YACnB,OAAO,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SAC/E;IACH,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC,EAAE,CAAC;AAEL,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,YAA0C;IAE1C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAExD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAI,MAAM,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEjB,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAQ,EAAE,EAAE;YAClC,aAAa;YACb,QAAQ,CAAC,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE;QAChC,aAAa;QACb,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACV,OAAO,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,SAAS,OAAO,CAAC,IAAO;YACtB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAE3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS,UAAU;YACjB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACnB,CAAC"}
@@ -1,13 +1,15 @@
1
1
  /// <reference path="../../../src/base-types.d.ts" />
2
2
  /// <reference types="react" />
3
- import { ChartType, Cube, CubeApi, DateRange, DryRunResponse, Filter, Meta, PivotConfig, ProgressResult, Query, QueryOrder, ResultSet, SqlQuery, TCubeDimension, TCubeMeasure, TCubeSegment, TimeDimensionGranularity, TQueryOrderObject } from '@cubejs-client/core';
4
- import { CubeStats } from '../types';
5
- interface QueryBuilderProps {
3
+ import { ChartType, CubeApi, DateRange, DryRunResponse, Filter, Meta, PivotConfig, ProgressResult, Query, QueryOrder, ResultSet, SqlQuery, TCubeDimension, TCubeMeasure, TCubeSegment, TimeDimensionGranularity, TQueryOrderObject } from '@cubejs-client/core';
4
+ import { CubeStats, MissingMember, WithUndefinedValues, MemberViewType, Cube } from '../types';
5
+ interface UseQueryBuilderProps {
6
+ displayPrivateItems?: boolean;
6
7
  defaultQuery?: Query;
7
8
  defaultChartType?: ChartType;
8
9
  defaultPivotConfig?: PivotConfig;
9
10
  schemaVersion?: number;
10
11
  cubeApi?: CubeApi;
12
+ memberViewType?: MemberViewType;
11
13
  tracking?: {
12
14
  event: (name: string, props?: Record<string, any>) => void;
13
15
  };
@@ -30,9 +32,10 @@ type MemberUpdater = {
30
32
  add(name: string): boolean;
31
33
  remove(name: string): boolean;
32
34
  toggle(name: string): void;
35
+ clear(): void;
33
36
  list: string[];
34
37
  };
35
- export declare function useQueryBuilder(props: QueryBuilderProps): {
38
+ export declare function useQueryBuilder(props: UseQueryBuilderProps): {
36
39
  grouping: {
37
40
  add(name: string, granularity: TimeDimensionGranularity): boolean;
38
41
  remove(name: string): boolean;
@@ -40,11 +43,13 @@ export declare function useQueryBuilder(props: QueryBuilderProps): {
40
43
  get(name: string): string | undefined;
41
44
  getAll(): import("@cubejs-client/core").TimeDimension[];
42
45
  reorder(names: string[]): void;
46
+ clear(): void;
43
47
  };
44
48
  dateRanges: {
45
49
  set(name: string, dateRange?: DateRange): boolean;
46
50
  remove(name: string): boolean;
47
51
  readonly list: string[];
52
+ clear(): void;
48
53
  };
49
54
  order: {
50
55
  set(name: string, order: QueryOrder): boolean;
@@ -53,6 +58,7 @@ export declare function useQueryBuilder(props: QueryBuilderProps): {
53
58
  readonly map: TQueryOrderObject;
54
59
  setOrder(names: string[]): void;
55
60
  getOrder(): string[];
61
+ clear(): void;
56
62
  };
57
63
  filters: {
58
64
  add(filter: Filter): boolean;
@@ -60,11 +66,11 @@ export declare function useQueryBuilder(props: QueryBuilderProps): {
60
66
  removeByMember(name: string): boolean;
61
67
  update(index: number, filter: Filter): boolean;
62
68
  readonly list: Filter[];
69
+ clear(): void;
63
70
  };
64
71
  chartType: ChartType;
72
+ hasPrivateMembers: boolean;
65
73
  setChartType: import("react").Dispatch<import("react").SetStateAction<ChartType>>;
66
- usedCubes: string[];
67
- usedMembers: string[];
68
74
  isCubeJoined: (name: string) => boolean;
69
75
  isMemberJoined: (name: string) => boolean;
70
76
  isCubeUsed: (name: string) => boolean;
@@ -72,21 +78,23 @@ export declare function useQueryBuilder(props: QueryBuilderProps): {
72
78
  isApiTokenChanged: boolean;
73
79
  isDataModelChanged: boolean;
74
80
  isResultOutdated: boolean;
75
- queryHash: string;
76
81
  cubeApi: CubeApi | undefined;
77
- hasPrivateMembers: boolean;
82
+ mutexObj: {};
78
83
  selectedCube: Cube | null;
79
84
  selectCube: (name: string | null) => void;
80
- dimensions?: MemberUpdater | undefined;
81
- measures?: MemberUpdater | undefined;
82
- segments?: MemberUpdater | undefined;
85
+ totalRows: number | null | undefined;
86
+ dimensions: MemberUpdater;
87
+ measures: MemberUpdater;
88
+ segments: MemberUpdater;
89
+ memberViewType: MemberViewType;
83
90
  query: Query;
91
+ queryHash: string;
84
92
  executedQuery: Query | null;
85
93
  runQuery: () => Promise<void>;
86
94
  stopQuery: () => void;
87
95
  clearQuery: () => void;
88
96
  setQuery: (query: Query) => void;
89
- updateQuery: (queryPart: Query | ((query: Query) => Query | void)) => void;
97
+ updateQuery: (queryPart: Query | ((query: Query) => WithUndefinedValues<Query> | void)) => void;
90
98
  isVerifying: boolean;
91
99
  verificationError: string | null;
92
100
  isQueryTouched: boolean;
@@ -97,7 +105,7 @@ export declare function useQueryBuilder(props: QueryBuilderProps): {
97
105
  isMetaLoading: boolean;
98
106
  metaError: null;
99
107
  richMetaError: null;
100
- loadMeta: () => void;
108
+ loadMeta: () => Promise<void> | undefined;
101
109
  queryStats: Record<string, CubeStats>;
102
110
  pivotConfig: PivotConfig;
103
111
  updatePivotConfig: {
@@ -117,5 +125,20 @@ export declare function useQueryBuilder(props: QueryBuilderProps): {
117
125
  cubes: Cube[];
118
126
  members: CubeMembers;
119
127
  joinableCubes: Cube[];
128
+ joinableMembers: {
129
+ dimensions: Record<string, TCubeDimension>;
130
+ measures: Record<string, TCubeMeasure>;
131
+ segments: Record<string, TCubeSegment>;
132
+ };
133
+ usedCubes: string[];
134
+ usedMembers: string[];
135
+ usedGranularities: {
136
+ dimension: string;
137
+ granularities: string[];
138
+ }[];
139
+ usedMembersInGrouping: string[];
140
+ usedMembersInFilters: string[];
141
+ missingCubes: string[];
142
+ missingMembers: MissingMember[];
120
143
  };
121
144
  export {};