@quillsql/react 2.12.45 → 2.12.47

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 (255) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +16 -7
  3. package/dist/cjs/ChartBuilder.d.ts +10 -11
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +78 -81
  6. package/dist/cjs/ChartEditor.d.ts +3 -1
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +26 -10
  9. package/dist/cjs/Context.d.ts +2 -3
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +42 -28
  12. package/dist/cjs/Dashboard.d.ts +12 -12
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +61 -69
  15. package/dist/cjs/QuillProvider.d.ts +2 -0
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/QuillProvider.js +1 -15
  18. package/dist/cjs/ReportBuilder.d.ts +9 -9
  19. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  20. package/dist/cjs/ReportBuilder.js +116 -179
  21. package/dist/cjs/SQLEditor.d.ts +20 -11
  22. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  23. package/dist/cjs/SQLEditor.js +157 -90
  24. package/dist/cjs/Table.js +3 -3
  25. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  26. package/dist/cjs/components/Chart/BarChart.js +6 -25
  27. package/dist/cjs/components/Chart/BarList.js +1 -1
  28. package/dist/cjs/components/Chart/ChartError.d.ts +5 -2
  29. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  30. package/dist/cjs/components/Chart/ChartError.js +7 -10
  31. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  32. package/dist/cjs/components/Chart/LineChart.js +16 -1
  33. package/dist/cjs/components/Chart/PieChart.js +1 -1
  34. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  35. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  36. package/dist/cjs/components/Dashboard/ChartComponent.js +46 -47
  37. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  38. package/dist/cjs/components/Dashboard/DashboardFilter.js +2 -1
  39. package/dist/cjs/components/Dashboard/DataLoader.d.ts +2 -2
  40. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  41. package/dist/cjs/components/Dashboard/DataLoader.js +19 -13
  42. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  43. package/dist/cjs/components/Dashboard/MetricComponent.js +16 -26
  44. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  45. package/dist/cjs/components/Dashboard/TableComponent.js +16 -25
  46. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  47. package/dist/cjs/components/QuillMultiSelectWithCombo.js +31 -1
  48. package/dist/cjs/components/QuillSelect.js +1 -1
  49. package/dist/cjs/components/QuillTable.d.ts +1 -1
  50. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillTable.js +115 -105
  52. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -3
  53. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -2
  55. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -2
  56. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  57. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +28 -9
  58. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +1 -1
  59. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  60. package/dist/cjs/components/ReportBuilder/FilterModal.js +178 -114
  61. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  62. package/dist/cjs/components/ReportBuilder/convert.js +1 -2
  63. package/dist/cjs/components/ReportBuilder/ui.d.ts +9 -1
  64. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  65. package/dist/cjs/components/ReportBuilder/ui.js +37 -3
  66. package/dist/cjs/components/ReportBuilder/util.d.ts +5 -1
  67. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  68. package/dist/cjs/components/ReportBuilder/util.js +26 -12
  69. package/dist/cjs/components/UiComponents.d.ts +17 -3
  70. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  71. package/dist/cjs/components/UiComponents.js +160 -29
  72. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  73. package/dist/cjs/hooks/useAskQuill.js +7 -7
  74. package/dist/cjs/hooks/useAstToFilterTree.d.ts +4 -1
  75. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  76. package/dist/cjs/hooks/useAstToFilterTree.js +4 -1
  77. package/dist/cjs/hooks/useDashboard.d.ts +5 -1
  78. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  79. package/dist/cjs/hooks/useDashboard.js +28 -4
  80. package/dist/cjs/hooks/useOnClickOutside.js +2 -2
  81. package/dist/cjs/hooks/useQuill.js +4 -4
  82. package/dist/cjs/hooks/useVirtualTables.d.ts +10 -0
  83. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -0
  84. package/dist/cjs/hooks/useVirtualTables.js +29 -0
  85. package/dist/cjs/index.d.ts +2 -1
  86. package/dist/cjs/index.d.ts.map +1 -1
  87. package/dist/cjs/index.js +4 -1
  88. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  89. package/dist/cjs/internals/ReportBuilder/PivotModal.js +45 -21
  90. package/dist/cjs/models/Client.d.ts +3 -0
  91. package/dist/cjs/models/Client.d.ts.map +1 -1
  92. package/dist/cjs/models/Report.d.ts +2 -0
  93. package/dist/cjs/models/Report.d.ts.map +1 -1
  94. package/dist/cjs/models/Schema.d.ts +7 -0
  95. package/dist/cjs/models/Schema.d.ts.map +1 -0
  96. package/dist/cjs/models/Schema.js +2 -0
  97. package/dist/cjs/models/Tables.d.ts +2 -0
  98. package/dist/cjs/models/Tables.d.ts.map +1 -1
  99. package/dist/cjs/utils/astFilterProcessing.d.ts +4 -0
  100. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  101. package/dist/cjs/utils/astFilterProcessing.js +47 -44
  102. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  103. package/dist/cjs/utils/astProcessing.js +8 -8
  104. package/dist/cjs/utils/client.d.ts.map +1 -1
  105. package/dist/cjs/utils/client.js +1 -0
  106. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  107. package/dist/cjs/utils/columnProcessing.js +88 -5
  108. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  109. package/dist/cjs/utils/dataFetcher.js +7 -3
  110. package/dist/cjs/utils/filterProcessing.d.ts +25 -0
  111. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  112. package/dist/cjs/utils/filterProcessing.js +121 -1
  113. package/dist/cjs/utils/paginationProcessing.js +2 -2
  114. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  115. package/dist/cjs/utils/pivotConstructor.js +10 -6
  116. package/dist/cjs/utils/queryConstructor.d.ts +1 -0
  117. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  118. package/dist/cjs/utils/queryConstructor.js +37 -11
  119. package/dist/cjs/utils/report.d.ts +5 -0
  120. package/dist/cjs/utils/report.d.ts.map +1 -1
  121. package/dist/cjs/utils/report.js +63 -9
  122. package/dist/cjs/utils/schema.js +22 -20
  123. package/dist/cjs/utils/tableProcessing.d.ts +1 -0
  124. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  125. package/dist/cjs/utils/tableProcessing.js +22 -1
  126. package/dist/cjs/utils/validation.d.ts.map +1 -1
  127. package/dist/cjs/utils/validation.js +4 -0
  128. package/dist/esm/Chart.d.ts.map +1 -1
  129. package/dist/esm/Chart.js +17 -8
  130. package/dist/esm/ChartBuilder.d.ts +10 -11
  131. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  132. package/dist/esm/ChartBuilder.js +81 -84
  133. package/dist/esm/ChartEditor.d.ts +3 -1
  134. package/dist/esm/ChartEditor.d.ts.map +1 -1
  135. package/dist/esm/ChartEditor.js +27 -11
  136. package/dist/esm/Context.d.ts +2 -3
  137. package/dist/esm/Context.d.ts.map +1 -1
  138. package/dist/esm/Context.js +42 -28
  139. package/dist/esm/Dashboard.d.ts +12 -12
  140. package/dist/esm/Dashboard.d.ts.map +1 -1
  141. package/dist/esm/Dashboard.js +63 -71
  142. package/dist/esm/QuillProvider.d.ts +2 -0
  143. package/dist/esm/QuillProvider.d.ts.map +1 -1
  144. package/dist/esm/QuillProvider.js +2 -16
  145. package/dist/esm/ReportBuilder.d.ts +9 -9
  146. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  147. package/dist/esm/ReportBuilder.js +122 -185
  148. package/dist/esm/SQLEditor.d.ts +20 -11
  149. package/dist/esm/SQLEditor.d.ts.map +1 -1
  150. package/dist/esm/SQLEditor.js +160 -93
  151. package/dist/esm/Table.js +4 -4
  152. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  153. package/dist/esm/components/Chart/BarChart.js +7 -26
  154. package/dist/esm/components/Chart/BarList.js +1 -1
  155. package/dist/esm/components/Chart/ChartError.d.ts +5 -2
  156. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  157. package/dist/esm/components/Chart/ChartError.js +7 -10
  158. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  159. package/dist/esm/components/Chart/LineChart.js +16 -1
  160. package/dist/esm/components/Chart/PieChart.js +1 -1
  161. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  162. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  163. package/dist/esm/components/Dashboard/ChartComponent.js +46 -47
  164. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  165. package/dist/esm/components/Dashboard/DashboardFilter.js +2 -1
  166. package/dist/esm/components/Dashboard/DataLoader.d.ts +2 -2
  167. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  168. package/dist/esm/components/Dashboard/DataLoader.js +20 -14
  169. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  170. package/dist/esm/components/Dashboard/MetricComponent.js +16 -26
  171. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  172. package/dist/esm/components/Dashboard/TableComponent.js +16 -25
  173. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  174. package/dist/esm/components/QuillMultiSelectWithCombo.js +31 -1
  175. package/dist/esm/components/QuillSelect.js +1 -1
  176. package/dist/esm/components/QuillTable.d.ts +1 -1
  177. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  178. package/dist/esm/components/QuillTable.js +115 -105
  179. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -3
  180. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  181. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -2
  182. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -2
  183. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  184. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +28 -9
  185. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +1 -1
  186. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  187. package/dist/esm/components/ReportBuilder/FilterModal.js +178 -114
  188. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  189. package/dist/esm/components/ReportBuilder/convert.js +1 -2
  190. package/dist/esm/components/ReportBuilder/ui.d.ts +9 -1
  191. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  192. package/dist/esm/components/ReportBuilder/ui.js +38 -4
  193. package/dist/esm/components/ReportBuilder/util.d.ts +5 -1
  194. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  195. package/dist/esm/components/ReportBuilder/util.js +26 -12
  196. package/dist/esm/components/UiComponents.d.ts +17 -3
  197. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  198. package/dist/esm/components/UiComponents.js +158 -28
  199. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  200. package/dist/esm/hooks/useAskQuill.js +8 -8
  201. package/dist/esm/hooks/useAstToFilterTree.d.ts +4 -1
  202. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  203. package/dist/esm/hooks/useAstToFilterTree.js +4 -1
  204. package/dist/esm/hooks/useDashboard.d.ts +5 -1
  205. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  206. package/dist/esm/hooks/useDashboard.js +28 -5
  207. package/dist/esm/hooks/useOnClickOutside.js +2 -2
  208. package/dist/esm/hooks/useQuill.js +5 -5
  209. package/dist/esm/hooks/useVirtualTables.d.ts +10 -0
  210. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -0
  211. package/dist/esm/hooks/useVirtualTables.js +25 -0
  212. package/dist/esm/index.d.ts +2 -1
  213. package/dist/esm/index.d.ts.map +1 -1
  214. package/dist/esm/index.js +2 -1
  215. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  216. package/dist/esm/internals/ReportBuilder/PivotModal.js +44 -23
  217. package/dist/esm/models/Client.d.ts +3 -0
  218. package/dist/esm/models/Client.d.ts.map +1 -1
  219. package/dist/esm/models/Report.d.ts +2 -0
  220. package/dist/esm/models/Report.d.ts.map +1 -1
  221. package/dist/esm/models/Schema.d.ts +7 -0
  222. package/dist/esm/models/Schema.d.ts.map +1 -0
  223. package/dist/esm/models/Schema.js +1 -0
  224. package/dist/esm/models/Tables.d.ts +2 -0
  225. package/dist/esm/models/Tables.d.ts.map +1 -1
  226. package/dist/esm/utils/astFilterProcessing.d.ts +4 -0
  227. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  228. package/dist/esm/utils/astFilterProcessing.js +45 -43
  229. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  230. package/dist/esm/utils/astProcessing.js +8 -8
  231. package/dist/esm/utils/client.d.ts.map +1 -1
  232. package/dist/esm/utils/client.js +1 -0
  233. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  234. package/dist/esm/utils/columnProcessing.js +88 -5
  235. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  236. package/dist/esm/utils/dataFetcher.js +7 -3
  237. package/dist/esm/utils/filterProcessing.d.ts +25 -0
  238. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  239. package/dist/esm/utils/filterProcessing.js +116 -0
  240. package/dist/esm/utils/paginationProcessing.js +2 -2
  241. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  242. package/dist/esm/utils/pivotConstructor.js +10 -6
  243. package/dist/esm/utils/queryConstructor.d.ts +1 -0
  244. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  245. package/dist/esm/utils/queryConstructor.js +35 -10
  246. package/dist/esm/utils/report.d.ts +5 -0
  247. package/dist/esm/utils/report.d.ts.map +1 -1
  248. package/dist/esm/utils/report.js +61 -8
  249. package/dist/esm/utils/schema.js +22 -20
  250. package/dist/esm/utils/tableProcessing.d.ts +1 -0
  251. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/tableProcessing.js +21 -1
  253. package/dist/esm/utils/validation.d.ts.map +1 -1
  254. package/dist/esm/utils/validation.js +4 -0
  255. package/package.json +3 -1
@@ -1,30 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis, Bar, BarChart as ReChartsBarChart, } from 'recharts';
3
- import { quillFormat, valueFormatter } from '../../utils/valueFormatter';
3
+ import { valueFormatter } from '../../utils/valueFormatter';
4
4
  import { axisFormatter } from '../../utils/axisFormatter';
5
5
  import { generateArrayFromColor, selectColor } from '../../utils/color';
6
6
  import ChartTooltip from '../../components/Chart/ChartTooltip';
7
7
  import getDomain from '../../utils/getDomain';
8
- import { useEffect, useState } from 'react';
9
8
  export default function BarChart({ colors, colorMap, yAxisFields, data, containerStyle, className, xAxisField, xAxisFormat, theme, comparison, isStacked, isAnimationActive = true, hideXAxis = false, hideYAxis = false, hideCartesianGrid = false, onClickChartElement, dateFilter, }) {
10
- const [formattedData, setFormattedData] = useState(data);
11
- useEffect(() => {
12
- setFormattedData(data);
13
- if (!data || data.length === 0) {
14
- let barChartData = [];
15
- if (dateFilter && (!barChartData || barChartData.length === 0)) {
16
- const xAxis = xAxisField || '';
17
- const endDate = quillFormat({
18
- value: dateFilter?.endDate,
19
- format: xAxisFormat,
20
- });
21
- const yAxis = yAxisFields[0]?.field;
22
- barChartData = [{ [xAxis]: endDate, [yAxis]: '0' }];
23
- }
24
- setFormattedData(barChartData);
25
- return;
26
- }
27
- }, [data]);
28
9
  const getCustomColor = (field) => {
29
10
  const key = field.startsWith('comparison_') ? 'comparison' : 'primary';
30
11
  field = field.replace('comparison_', '');
@@ -34,15 +15,15 @@ export default function BarChart({ colors, colorMap, yAxisFields, data, containe
34
15
  return colorMap?.[field]?.[key];
35
16
  };
36
17
  const sortYAxisFields = (fields) => {
37
- if (formattedData.length > 0) {
18
+ if (data?.length > 0) {
38
19
  fields = fields
39
- .sort((a, b) => Object.keys(formattedData[0]).indexOf(a.field) -
40
- Object.keys(formattedData[0]).indexOf(b.field))
20
+ .sort((a, b) => Object.keys(data[0]).indexOf(a.field) -
21
+ Object.keys(data[0]).indexOf(b.field))
41
22
  .filter((field) => comparison || !field.field.startsWith('comparison_'));
42
23
  }
43
24
  return fields;
44
25
  };
45
- if (!formattedData || formattedData.length === 0) {
26
+ if (!data || data.length === 0) {
46
27
  return (_jsx("div", { style: {
47
28
  display: 'flex',
48
29
  flex: '1 0 auto',
@@ -53,12 +34,12 @@ export default function BarChart({ colors, colorMap, yAxisFields, data, containe
53
34
  fontSize: 13,
54
35
  color: theme.secondaryTextColor,
55
36
  ...containerStyle,
56
- }, className: className, children: "No results found for specified time period." }));
37
+ }, className: className, children: "No results" }));
57
38
  }
58
39
  return (_jsx("div", { style: {
59
40
  boxSizing: 'content-box',
60
41
  ...containerStyle,
61
- }, className: className, children: _jsx(ResponsiveContainer, { width: "100%", height: '100%', children: _jsxs(ReChartsBarChart, { data: formattedData, layout: 'horizontal', children: [!hideCartesianGrid && (_jsx(CartesianGrid, { horizontal: true, vertical: false, stroke: "#e5e7eb" })), _jsx(YAxis, { width: 44, hide: hideYAxis, axisLine: false, tickLine: false, type: "number", domain: getDomain(data, yAxisFields), tick: { transform: 'translate(-3, 0)' }, tickCount: 5, style: {
42
+ }, className: className, children: _jsx(ResponsiveContainer, { width: "100%", height: '100%', children: _jsxs(ReChartsBarChart, { data: data ?? [], layout: 'horizontal', children: [!hideCartesianGrid && (_jsx(CartesianGrid, { horizontal: true, vertical: false, stroke: "#e5e7eb" })), _jsx(YAxis, { width: 44, hide: hideYAxis, axisLine: false, tickLine: false, type: "number", domain: getDomain(data, yAxisFields), tick: { transform: 'translate(-3, 0)' }, tickCount: 5, style: {
62
43
  fontSize: '12px',
63
44
  fontFamily: theme.chartLabelFontFamily,
64
45
  }, tickFormatter: (tick) => {
@@ -57,7 +57,7 @@ const BarList = React.forwardRef((props, ref) => {
57
57
  fontSize: 13,
58
58
  color: theme.secondaryTextColor,
59
59
  ...containerStyle,
60
- }, className: className, children: "No results found for specified time period." }));
60
+ }, className: className, children: "No results" }));
61
61
  }
62
62
  return (_jsx("div", { ref: ref, className: className, style: {
63
63
  // width: '100%',
@@ -1,5 +1,8 @@
1
- /// <reference types="react" />
2
- export default function ChartError({ errorMessage, }: any): JSX.Element;
1
+ import { CSSProperties } from 'react';
2
+ export default function ChartError({ errorMessage, containerStyle, }: {
3
+ errorMessage: string;
4
+ containerStyle?: CSSProperties;
5
+ }): JSX.Element;
3
6
  export declare function QuillChartErrorWithAction({ className, containerStyle, label, onClick, ButtonComponent, }: {
4
7
  className?: string;
5
8
  containerStyle?: React.CSSProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartError.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/ChartError.tsx"],"names":[],"mappings":";AAIA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,YAAsC,GACvC,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CA0CnB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,cAAc,EACd,KAA+B,EAC/B,OAAO,EACP,eAAgC,GACjC,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5C,GAAG,GAAG,CAAC,OAAO,CAqDd"}
1
+ {"version":3,"file":"ChartError.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/ChartError.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,YAAsC,EACtC,cAAc,GACf,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,GAAG,GAAG,CAAC,OAAO,CAsCd;AAED,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,cAAc,EACd,KAA+B,EAC/B,OAAO,EACP,eAAgC,GACjC,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5C,GAAG,GAAG,CAAC,OAAO,CAsDd"}
@@ -2,30 +2,26 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useContext } from 'react';
3
3
  import { MemoizedButton } from '../UiComponents';
4
4
  import { ThemeContext } from '../../Context';
5
- export default function ChartError({ errorMessage = 'Failed to fetch data.', }) {
5
+ export default function ChartError({ errorMessage = 'Failed to fetch data.', containerStyle, }) {
6
6
  const [theme] = useContext(ThemeContext);
7
7
  return (_jsx("div", { style: {
8
8
  boxSizing: 'content-box',
9
9
  height: '100%',
10
+ width: '100%',
11
+ ...containerStyle,
10
12
  }, children: _jsx("div", { style: {
11
- height: '100%',
13
+ height: containerStyle?.height || '100%',
12
14
  width: '100%',
13
15
  boxSizing: 'content-box',
14
16
  borderRadius: 8,
17
+ border: '1px solid rgb(229, 229, 229)',
15
18
  overflow: 'hidden',
16
19
  display: 'flex',
17
20
  justifyContent: 'center',
18
21
  alignItems: 'center',
19
22
  }, children: _jsx("div", { style: {
20
- width: '100%',
21
23
  paddingLeft: 12,
22
24
  paddingRight: 12,
23
- display: 'flex',
24
- flex: '1 0 auto',
25
- margin: 'auto',
26
- justifyContent: 'center',
27
- alignItems: 'center',
28
- textAlign: 'center',
29
25
  fontSize: 13,
30
26
  color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
31
27
  fontFamily: theme?.fontFamily,
@@ -43,6 +39,7 @@ export function QuillChartErrorWithAction({ className, containerStyle, label = '
43
39
  width: '100%',
44
40
  boxSizing: 'content-box',
45
41
  borderRadius: 8,
42
+ border: '1px solid rgb(229, 229, 229)',
46
43
  overflow: 'hidden',
47
44
  display: 'flex',
48
45
  justifyContent: 'center',
@@ -53,7 +50,7 @@ export function QuillChartErrorWithAction({ className, containerStyle, label = '
53
50
  fontSize: 13,
54
51
  color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
55
52
  fontFamily: theme?.fontFamily,
56
- }, children: label }), onClick && label && label.startsWith('SQL View Error:') && (_jsx(ButtonComponent, { label: "Edit View", onClick: () => {
53
+ }, children: label }), onClick && label && label.startsWith('Virtual Table Error:') && (_jsx(ButtonComponent, { label: "Edit Virtual Table", onClick: () => {
57
54
  const regex = /'([^']+)'/;
58
55
  const matches = regex.exec(label);
59
56
  if (matches && matches.length > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CAqQA"}
1
+ {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CAqRA"}
@@ -113,7 +113,22 @@ export default function LineChart({ colors, colorMap = {}, yAxisFields, data, co
113
113
  if (!payload || payload.length === 0) {
114
114
  return null;
115
115
  }
116
- const payloadItems = payload.map((p) => {
116
+ const payloadItems = payload
117
+ .sort((a, b) => {
118
+ if (a.value === b.value)
119
+ return 0;
120
+ if (!a.value)
121
+ return 1;
122
+ if (!b.value)
123
+ return -1;
124
+ const aValue = parseFloat(a.value?.toString()?.replace(/,/g, '') ?? '');
125
+ const bValue = parseFloat(b.value?.toString()?.replace(/,/g, '') ?? '');
126
+ if (isNaN(aValue) || isNaN(bValue)) {
127
+ return a.value > b.value ? -1 : 1;
128
+ }
129
+ return aValue > bValue ? -1 : 1;
130
+ })
131
+ .map((p) => {
117
132
  return {
118
133
  ...p,
119
134
  color: p.color || 'black',
@@ -170,7 +170,7 @@ const PieChartWrapper = React.forwardRef((props, ref) => {
170
170
  fontSize: 13,
171
171
  color: theme.secondaryTextColor,
172
172
  ...containerStyle,
173
- }, className: className, children: "No results found for specified time period." }));
173
+ }, className: className, children: "No results" }));
174
174
  }
175
175
  return (_jsx("div", { ref: ref, className: className, style: {
176
176
  width: '100%',
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { QuillReportProps } from '../../Dashboard';
3
- export default function QuillChartComponent({ report, onClick, children, isLoading, }: QuillReportProps): JSX.Element;
3
+ export default function QuillChartComponent({ report, onClick, hoverActions, children, isLoading, }: QuillReportProps): JSX.Element;
4
4
  //# sourceMappingURL=ChartComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/ChartComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAuGhC"}
1
+ {"version":3,"file":"ChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/ChartComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAuGhC"}
@@ -2,61 +2,60 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useContext } from 'react';
3
3
  import ChartSkeleton from '../Chart/ChartSkeleton';
4
4
  import { ThemeContext } from '../../Context';
5
- export default function QuillChartComponent({ report, onClick, children, isLoading, }) {
5
+ export default function QuillChartComponent({ report, onClick, hoverActions, children, isLoading, }) {
6
6
  const [theme] = useContext(ThemeContext);
7
- return (_jsx("div", { onClick: () => onClick && onClick(report), style: {
8
- cursor: 'pointer',
7
+ return (_jsxs("div", { className: `quill-chart-${report?.id}`, onClick: () => onClick && onClick(report), style: {
8
+ cursor: onClick ? 'pointer' : 'default',
9
9
  boxSizing: 'content-box',
10
10
  height: '100%',
11
11
  minHeight: 400,
12
12
  borderRadius: 8,
13
- }, children: _jsx("div", { style: {
14
- width: '100%',
15
- height: '100%',
16
- boxSizing: 'content-box',
17
- }, children: _jsx("div", { style: {
13
+ }, children: [_jsx("div", { style: {
18
14
  width: '100%',
19
15
  height: '100%',
20
16
  boxSizing: 'content-box',
21
- }, children: _jsxs("div", { style: {
22
- display: 'flex',
23
- flexDirection: 'column',
24
- justifyContent: 'space-between',
17
+ }, children: _jsx("div", { style: {
18
+ width: '100%',
25
19
  height: '100%',
26
20
  boxSizing: 'content-box',
27
- }, children: [_jsxs("div", { style: {
28
- display: 'flex',
29
- flexDirection: 'row',
30
- justifyContent: 'space-between',
31
- boxSizing: 'content-box',
32
- paddingBottom: 20,
33
- }, children: [_jsx("div", { style: {
34
- fontFamily: theme?.fontFamily,
35
- color: theme?.primaryTextColor,
36
- boxSizing: 'content-box',
37
- fontSize: 18,
38
- fontWeight: '500',
39
- textOverflow: 'ellipsis',
40
- padding: 0,
41
- whiteSpace: 'nowrap',
42
- display: 'block',
43
- maxWidth: '100%',
44
- overflow: 'hidden',
45
- }, children: report?.name }), onClick && report?.name ? (_jsx("div", { style: {
46
- fontFamily: theme?.fontFamily,
47
- color: theme?.primaryTextColor,
48
- boxSizing: 'content-box',
49
- fontWeight: '500',
50
- fontSize: 14,
51
- minWidth: 14 * 7,
52
- display: 'flex',
53
- alignItems: 'center',
54
- justifyContent: 'flex-end',
55
- }, children: 'view report →' })) : null] }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: {
56
- height: '100%',
57
- } })) : (_jsx("div", { style: {
58
- padding: 0,
59
- height: '100%',
60
- boxSizing: 'content-box',
61
- }, children: children }))] }) }) }) }, report?.name));
21
+ }, children: _jsxs("div", { style: {
22
+ display: 'flex',
23
+ flexDirection: 'column',
24
+ justifyContent: 'space-between',
25
+ height: '100%',
26
+ boxSizing: 'content-box',
27
+ }, children: [_jsxs("div", { style: {
28
+ display: 'flex',
29
+ flexDirection: 'row',
30
+ justifyContent: 'space-between',
31
+ boxSizing: 'content-box',
32
+ paddingBottom: 20,
33
+ }, children: [_jsx("div", { style: {
34
+ fontFamily: theme?.fontFamily,
35
+ color: theme?.primaryTextColor,
36
+ boxSizing: 'content-box',
37
+ fontSize: 18,
38
+ fontWeight: '500',
39
+ textOverflow: 'ellipsis',
40
+ padding: 0,
41
+ whiteSpace: 'nowrap',
42
+ display: 'block',
43
+ maxWidth: '100%',
44
+ overflow: 'hidden',
45
+ }, children: report?.name }), hoverActions && (_jsx("div", { className: `quill-chart-${report?.id}-actions`, children: hoverActions(report) }))] }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: {
46
+ height: '100%',
47
+ } })) : (_jsx("div", { style: {
48
+ padding: 0,
49
+ height: '100%',
50
+ boxSizing: 'content-box',
51
+ }, children: children }))] }) }) }), _jsx("style", { children: `
52
+ .quill-chart-${report?.id}-actions {
53
+ opacity: 0;
54
+ pointer-events: none;
55
+ }
56
+ .quill-chart-${report?.id}:hover .quill-chart-${report?.id}-actions {
57
+ opacity: 1;
58
+ pointer-events: all;
59
+ }
60
+ ` })] }, report?.name));
62
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAGhG,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,mBAAmB,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACjE,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,wBAAwB,GAAG,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE,CACR,KAAK,EACD,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GACpC;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,KAChC,IAAI,CAAC;CACX,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,4BAA4B,GAAG,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,EACN,WAAW,GACZ,EAAE,6BAA6B,KAAK,GAAG,CAAC,OAAO,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,eAAe,EACX,mBAAmB,GACnB,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACnD,oBAAoB,EAChB,wBAAwB,GACxB,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACxD,wBAAwB,EACpB,4BAA4B,GAC5B,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,eAAsC,EACtC,oBAAgD,EAChD,wBAAwB,EACxB,KAAK,GACN,EAAE,oBAAoB,kDA0ItB"}
1
+ {"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,mBAAmB,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACjE,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,wBAAwB,GAAG,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE,CACR,KAAK,EACD,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GACpC;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,KAChC,IAAI,CAAC;CACX,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,4BAA4B,GAAG,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,EACN,WAAW,GACZ,EAAE,6BAA6B,KAAK,GAAG,CAAC,OAAO,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,eAAe,EACX,mBAAmB,GACnB,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACnD,oBAAoB,EAChB,wBAAwB,GACxB,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACxD,wBAAwB,EACpB,4BAA4B,GAC5B,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,eAAsC,EACtC,oBAAgD,EAChD,wBAA+C,EAC/C,KAAK,GACN,EAAE,oBAAoB,kDA0ItB"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
3
  import { COMPARISON_OPTIONS } from '../../DateRangePicker/dateRangePickerUtils';
4
+ import { QuillDateRangePicker, } from '../../DateRangePicker/QuillDateRangePicker';
4
5
  import { QuillMultiSelectComponent } from '../QuillMultiSelect';
5
6
  import { QuillSelectComponent } from '../QuillSelect';
6
- export function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponent, DateRangePickerComponent, theme, }) {
7
+ export function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponent, DateRangePickerComponent = QuillDateRangePicker, theme, }) {
7
8
  const [filterValue, setFilterValue] = useState(null);
8
9
  useEffect(() => {
9
10
  if (filter.filterType === 'string') {
@@ -13,7 +13,7 @@ export type DataLoaderChildProps = {
13
13
  };
14
14
  export default function DataLoader({ item, children, filters, }: {
15
15
  item: any;
16
- filters?: any;
16
+ filters: any[] | null;
17
17
  children: ({ isLoading, error, onPageChange, onSortChange, data, }: DataLoaderChildProps) => JSX.Element;
18
18
  }): JSX.Element;
19
19
  type ColorMapType = {
@@ -37,7 +37,7 @@ export declare const ChartDataLoader: ({ item, children, dateBucket, additionalP
37
37
  dateBucket?: string | undefined;
38
38
  mapColorsToFields?: ((_report: QuillReport, _theme: QuillTheme) => ColorMapType) | undefined;
39
39
  additionalProcessing?: any;
40
- filters?: any;
40
+ filters: any[] | null;
41
41
  children: ({ isLoading, error, data, dateBucket, }: ChartDataLoaderChildProps) => JSX.Element;
42
42
  }) => JSX.Element;
43
43
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmCjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,GACR,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CA8Id;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,GAAG;;mCAGE,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;cAChB,GAAG;wDAMV,yBAAyB,KAAK,WAAW;MAC1C,WAyEH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmCjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,GACR,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAiJd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,GAAG;;mCAGE,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;aACjB,GAAG,EAAE,GAAG,IAAI;wDAMlB,yBAAyB,KAAK,WAAW;MAC1C,WA4EH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext, useEffect, useState } from 'react';
3
3
  import { didFiltersChange } from '../../Chart';
4
- import { ClientContext, CustomFieldContext, DashboardContext, } from '../../Context';
4
+ import { ClientContext, DashboardContext, SchemaDataContext, } from '../../Context';
5
5
  import { convertInternalReportToReport, EMPTY_INTERNAL_REPORT, fetchReport, } from '../../utils/report';
6
6
  import { shouldFetchMore, DEFAULT_PAGINATION, shouldSortInMemory, } from '../../utils/paginationProcessing';
7
7
  import { fetchTableByReport } from '../../utils/tableProcessing';
@@ -28,7 +28,7 @@ const constructReportFromItem = (item) => {
28
28
  export default function DataLoader({ item, children, filters, }) {
29
29
  const [client] = useContext(ClientContext);
30
30
  const [dashboard, dispatch] = useContext(DashboardContext);
31
- const [customFields] = useContext(CustomFieldContext);
31
+ const [schemaData] = useContext(SchemaDataContext);
32
32
  const [loading, setLoading] = useState(false);
33
33
  const [error, setError] = useState(undefined);
34
34
  const [previousPage, setPreviousPage] = useState(0);
@@ -57,7 +57,7 @@ export default function DataLoader({ item, children, filters, }) {
57
57
  return;
58
58
  }
59
59
  const updatedProcessing = { page: DEFAULT_PAGINATION, sort };
60
- fetchReportHelper(true, additionalProcessing);
60
+ fetchReportHelper(additionalProcessing);
61
61
  updateTableRows(updatedProcessing, true);
62
62
  setPreviousPage(0);
63
63
  };
@@ -69,7 +69,7 @@ export default function DataLoader({ item, children, filters, }) {
69
69
  setLoading(true);
70
70
  try {
71
71
  const updatedProcessing = { ...additionalProcessing, ...processing };
72
- const paginatedRows = await fetchTableByReport(report.id, client, updatedProcessing, filters, customFields);
72
+ const paginatedRows = await fetchTableByReport(report.id, client, updatedProcessing, filters, schemaData.customFields);
73
73
  if (paginatedRows.error) {
74
74
  throw new Error('Error fetching chart');
75
75
  }
@@ -89,8 +89,8 @@ export default function DataLoader({ item, children, filters, }) {
89
89
  }
90
90
  }
91
91
  };
92
- const fetchReportHelper = async (useReportTask = true, processing) => {
93
- if (!client) {
92
+ const fetchReportHelper = async (processing) => {
93
+ if (!client || !filters) {
94
94
  return;
95
95
  }
96
96
  if (dashboard[item._id] &&
@@ -106,9 +106,9 @@ export default function DataLoader({ item, children, filters, }) {
106
106
  return;
107
107
  }
108
108
  setLoading(true);
109
- const { report, error } = await fetchReport(item._id, client, useReportTask, filters, processing, undefined, customFields);
109
+ const { report, error } = await fetchReport(item._id, client, true, filters, processing, undefined, schemaData.customFields);
110
110
  dispatch({
111
- type: 'UPDATE_DASHBOARD_ITEM',
111
+ type: 'ADD_DASHBOARD_ITEM',
112
112
  id: item._id,
113
113
  data: { ...report, triggerReload: false },
114
114
  });
@@ -119,12 +119,15 @@ export default function DataLoader({ item, children, filters, }) {
119
119
  setLoading(false);
120
120
  };
121
121
  useEffect(() => {
122
- fetchReportHelper(true, additionalProcessing);
122
+ if (!filters) {
123
+ return;
124
+ }
125
+ fetchReportHelper(additionalProcessing);
123
126
  }, [filters, item._id]);
124
127
  useEffect(() => {
125
128
  // @ts-ignore
126
129
  if (dashboard[item._id] && dashboard[item._id].triggerReload) {
127
- fetchReportHelper(true, additionalProcessing);
130
+ fetchReportHelper(additionalProcessing);
128
131
  }
129
132
  }, [dashboard[item._id]]);
130
133
  return (_jsx(_Fragment, { children: children({
@@ -146,9 +149,9 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
146
149
  const [localAdditionalProcessing, setLocalAdditionalProcessing] = useState();
147
150
  const [report, setReport] = useState(dashboard[item._id] ?? constructReportFromItem(item));
148
151
  const [client] = useContext(ClientContext);
149
- const [customFields] = useContext(CustomFieldContext);
152
+ const [schemaData] = useContext(SchemaDataContext);
150
153
  const fetchReportHelper = async (useReportTask = true) => {
151
- if (!client) {
154
+ if (!client || !filters) {
152
155
  return;
153
156
  }
154
157
  const tempReport = dashboard[item._id];
@@ -163,9 +166,9 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
163
166
  return;
164
167
  }
165
168
  setLoading(true);
166
- const { report, error } = await fetchReport(item._id, client, useReportTask, filters, additionalProcessing, dateBucket, customFields);
169
+ const { report, error } = await fetchReport(item._id, client, useReportTask, filters, additionalProcessing, dateBucket, schemaData.customFields);
167
170
  dispatch({
168
- type: 'UPDATE_DASHBOARD_ITEM',
171
+ type: 'ADD_DASHBOARD_ITEM',
169
172
  id: item._id,
170
173
  data: { ...report, triggerReload: false },
171
174
  });
@@ -177,6 +180,9 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
177
180
  setLoading(false);
178
181
  };
179
182
  useEffect(() => {
183
+ if (!filters) {
184
+ return;
185
+ }
180
186
  setInitialLoad(false);
181
187
  fetchReportHelper();
182
188
  }, [filters, item._id, dateBucket, additionalProcessing]);
@@ -1 +1 @@
1
- {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAgOhC"}
1
+ {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA+MhC"}
@@ -10,8 +10,8 @@ export default function QuillMetricComponent({ report, onClick, error, isLoading
10
10
  const primaryMetricLabel = report?.filtersApplied?.date_range?.preset?.label;
11
11
  const comparisonKey = report?.filtersApplied?.date_range?.comparisonRange?.value;
12
12
  const comparisonLabel = COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
13
- return (_jsx("div", { onClick: () => onClick && onClick(report), style: {
14
- cursor: 'pointer',
13
+ return (_jsx("div", { onClick: () => onClick && !error && onClick(report), style: {
14
+ cursor: error || !onClick ? 'default' : 'pointer',
15
15
  boxSizing: 'content-box',
16
16
  borderRadius: 8,
17
17
  paddingBottom: isLoading ? 0 : 30,
@@ -30,35 +30,25 @@ export default function QuillMetricComponent({ report, onClick, error, isLoading
30
30
  justifyContent: 'space-between',
31
31
  height: '100%',
32
32
  boxSizing: 'content-box',
33
- }, children: [_jsxs("div", { style: {
33
+ }, children: [_jsx("div", { style: {
34
34
  display: 'flex',
35
35
  flexDirection: 'row',
36
36
  justifyContent: 'space-between',
37
37
  boxSizing: 'content-box',
38
38
  paddingBottom: 5,
39
- }, children: [onClick && (_jsx("div", { style: {
40
- fontFamily: theme?.fontFamily,
41
- color: theme?.primaryTextColor,
42
- boxSizing: 'content-box',
43
- fontSize: 18,
44
- fontWeight: '500',
45
- textOverflow: 'ellipsis',
46
- padding: 0,
47
- whiteSpace: 'nowrap',
48
- display: 'block',
49
- maxWidth: '100%',
50
- overflow: 'hidden',
51
- }, children: report?.name })), onClick && report?.name ? (_jsx("div", { style: {
52
- fontFamily: theme?.fontFamily,
53
- color: theme?.primaryTextColor,
54
- boxSizing: 'content-box',
55
- fontWeight: '500',
56
- fontSize: 14,
57
- minWidth: 14 * 7,
58
- display: 'flex',
59
- alignItems: 'center',
60
- justifyContent: 'flex-end',
61
- }, children: 'view report →' })) : null] }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: {
39
+ }, children: onClick && (_jsx("div", { style: {
40
+ fontFamily: theme?.fontFamily,
41
+ color: theme?.primaryTextColor,
42
+ boxSizing: 'content-box',
43
+ fontSize: 18,
44
+ fontWeight: '500',
45
+ textOverflow: 'ellipsis',
46
+ padding: 0,
47
+ whiteSpace: 'nowrap',
48
+ display: 'block',
49
+ maxWidth: '100%',
50
+ overflow: 'hidden',
51
+ }, children: report?.name })) }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: {
62
52
  maxHeight: '78px',
63
53
  height: '100%',
64
54
  } })) : error ? (_jsx("div", { children: _jsx(ChartError, { errorMessage: error }) })) : report.rows?.length === 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE,GAAG,GAAG,CAAC,OAAO,CAwGd"}
1
+ {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE,GAAG,GAAG,CAAC,OAAO,CAyFd"}