@quillsql/react 2.11.16 → 2.11.18

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 (229) hide show
  1. package/dist/cjs/Chart.d.ts +109 -42
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +44 -18
  4. package/dist/cjs/ChartBuilder.d.ts +204 -30
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +124 -63
  7. package/dist/cjs/ChartEditor.d.ts +123 -19
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +47 -15
  10. package/dist/cjs/Dashboard.d.ts +148 -91
  11. package/dist/cjs/Dashboard.d.ts.map +1 -1
  12. package/dist/cjs/Dashboard.js +51 -159
  13. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +21 -1
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +5 -2
  16. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
  17. package/dist/cjs/QuillProvider.d.ts +105 -2
  18. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  19. package/dist/cjs/QuillProvider.js +59 -0
  20. package/dist/cjs/ReportBuilder.d.ts +194 -42
  21. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  22. package/dist/cjs/ReportBuilder.js +563 -416
  23. package/dist/cjs/SQLEditor.d.ts +160 -23
  24. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  25. package/dist/cjs/SQLEditor.js +36 -30
  26. package/dist/cjs/Table.d.ts +119 -15
  27. package/dist/cjs/Table.d.ts.map +1 -1
  28. package/dist/cjs/Table.js +37 -6
  29. package/dist/cjs/TableChart.d.ts.map +1 -1
  30. package/dist/cjs/TableChart.js +0 -194
  31. package/dist/cjs/{BarList.d.ts → components/Chart/BarList.d.ts} +1 -1
  32. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -0
  33. package/dist/cjs/{BarList.js → components/Chart/BarList.js} +1 -1
  34. package/dist/cjs/components/Chart/LineChart.d.ts +2 -3
  35. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/LineChart.js +3 -3
  37. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -0
  38. package/dist/cjs/{PieChart.js → components/Chart/PieChart.js} +1 -1
  39. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +2 -1
  40. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  41. package/dist/cjs/components/Dashboard/ChartComponent.js +6 -7
  42. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +22 -0
  43. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -0
  44. package/dist/cjs/components/Dashboard/DashboardFilter.js +75 -0
  45. package/dist/cjs/components/Dashboard/DataLoader.d.ts +1 -1
  46. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  47. package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
  48. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +2 -12
  49. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  50. package/dist/cjs/components/Dashboard/MetricComponent.js +39 -17
  51. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
  52. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  53. package/dist/cjs/components/Dashboard/TableComponent.js +6 -9
  54. package/dist/cjs/components/QuillCard.d.ts +2 -7
  55. package/dist/cjs/components/QuillCard.d.ts.map +1 -1
  56. package/dist/cjs/components/QuillCard.js +15 -9
  57. package/dist/cjs/components/QuillSelect.d.ts +4 -1
  58. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  59. package/dist/cjs/components/QuillSelect.js +13 -8
  60. package/dist/cjs/components/QuillTable.d.ts +16 -2
  61. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  62. package/dist/cjs/components/QuillTable.js +4 -4
  63. package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts +9 -3
  64. package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
  65. package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +10 -6
  66. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +13 -1
  67. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  68. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +5 -15
  69. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +21 -1
  70. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  71. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +15 -17
  72. package/dist/cjs/components/ReportBuilder/bigDateMap.js +1 -1
  73. package/dist/cjs/components/ReportBuilder/convert.d.ts +3 -1
  74. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  75. package/dist/cjs/components/ReportBuilder/convert.js +60 -21
  76. package/dist/cjs/components/ReportBuilder/operators.d.ts +15 -10
  77. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  78. package/dist/cjs/components/ReportBuilder/operators.js +23 -10
  79. package/dist/cjs/components/ReportBuilder/pivot.d.ts +2 -1
  80. package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +1 -1
  81. package/dist/cjs/components/ReportBuilder/ui.d.ts +82 -18
  82. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  83. package/dist/cjs/components/ReportBuilder/ui.js +55 -103
  84. package/dist/cjs/components/ReportBuilder/util.d.ts +10 -4
  85. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  86. package/dist/cjs/components/ReportBuilder/util.js +124 -71
  87. package/dist/cjs/components/UiComponents.d.ts +81 -87
  88. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  89. package/dist/cjs/components/UiComponents.js +76 -103
  90. package/dist/cjs/hooks/index.d.ts +1 -0
  91. package/dist/cjs/hooks/index.d.ts.map +1 -1
  92. package/dist/cjs/hooks/index.js +3 -1
  93. package/dist/cjs/hooks/useTheme.d.ts +7 -0
  94. package/dist/cjs/hooks/useTheme.d.ts.map +1 -0
  95. package/dist/cjs/hooks/useTheme.js +12 -0
  96. package/dist/cjs/index.d.ts +10 -2
  97. package/dist/cjs/index.d.ts.map +1 -1
  98. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +5 -2
  99. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  100. package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -21
  101. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +30 -14
  102. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  103. package/dist/cjs/internals/ReportBuilder/PivotModal.js +77 -52
  104. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  105. package/dist/cjs/utils/dataFetcher.js +2 -0
  106. package/dist/cjs/utils/parserBigQuery.d.ts +6 -0
  107. package/dist/cjs/utils/parserBigQuery.d.ts.map +1 -0
  108. package/dist/cjs/utils/parserBigQuery.js +60 -0
  109. package/dist/cjs/utils/parserPostgres.d.ts +3 -0
  110. package/dist/cjs/utils/parserPostgres.d.ts.map +1 -0
  111. package/dist/cjs/utils/parserPostgres.js +42 -0
  112. package/dist/esm/Chart.d.ts +109 -42
  113. package/dist/esm/Chart.d.ts.map +1 -1
  114. package/dist/esm/Chart.js +45 -19
  115. package/dist/esm/ChartBuilder.d.ts +204 -30
  116. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  117. package/dist/esm/ChartBuilder.js +124 -63
  118. package/dist/esm/ChartEditor.d.ts +123 -19
  119. package/dist/esm/ChartEditor.d.ts.map +1 -1
  120. package/dist/esm/ChartEditor.js +51 -19
  121. package/dist/esm/Dashboard.d.ts +148 -91
  122. package/dist/esm/Dashboard.d.ts.map +1 -1
  123. package/dist/esm/Dashboard.js +54 -160
  124. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +21 -1
  125. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  126. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +6 -3
  127. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
  128. package/dist/esm/QuillProvider.d.ts +105 -2
  129. package/dist/esm/QuillProvider.d.ts.map +1 -1
  130. package/dist/esm/QuillProvider.js +59 -0
  131. package/dist/esm/ReportBuilder.d.ts +194 -42
  132. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  133. package/dist/esm/ReportBuilder.js +566 -419
  134. package/dist/esm/SQLEditor.d.ts +160 -23
  135. package/dist/esm/SQLEditor.d.ts.map +1 -1
  136. package/dist/esm/SQLEditor.js +36 -30
  137. package/dist/esm/Table.d.ts +119 -15
  138. package/dist/esm/Table.d.ts.map +1 -1
  139. package/dist/esm/Table.js +38 -7
  140. package/dist/esm/TableChart.d.ts.map +1 -1
  141. package/dist/esm/TableChart.js +0 -194
  142. package/dist/esm/{BarList.d.ts → components/Chart/BarList.d.ts} +1 -1
  143. package/dist/esm/components/Chart/BarList.d.ts.map +1 -0
  144. package/dist/esm/{BarList.js → components/Chart/BarList.js} +1 -1
  145. package/dist/esm/components/Chart/LineChart.d.ts +2 -3
  146. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  147. package/dist/esm/components/Chart/LineChart.js +3 -3
  148. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -0
  149. package/dist/esm/{PieChart.js → components/Chart/PieChart.js} +1 -1
  150. package/dist/esm/components/Dashboard/ChartComponent.d.ts +2 -1
  151. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  152. package/dist/esm/components/Dashboard/ChartComponent.js +5 -6
  153. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +22 -0
  154. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -0
  155. package/dist/esm/components/Dashboard/DashboardFilter.js +71 -0
  156. package/dist/esm/components/Dashboard/DataLoader.d.ts +1 -1
  157. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  158. package/dist/esm/components/Dashboard/DataLoader.js +1 -1
  159. package/dist/esm/components/Dashboard/MetricComponent.d.ts +2 -12
  160. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  161. package/dist/esm/components/Dashboard/MetricComponent.js +39 -17
  162. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
  163. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  164. package/dist/esm/components/Dashboard/TableComponent.js +6 -9
  165. package/dist/esm/components/QuillCard.d.ts +2 -7
  166. package/dist/esm/components/QuillCard.d.ts.map +1 -1
  167. package/dist/esm/components/QuillCard.js +15 -9
  168. package/dist/esm/components/QuillSelect.d.ts +4 -1
  169. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  170. package/dist/esm/components/QuillSelect.js +14 -9
  171. package/dist/esm/components/QuillTable.d.ts +16 -2
  172. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  173. package/dist/esm/components/QuillTable.js +4 -4
  174. package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts +9 -3
  175. package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
  176. package/dist/esm/components/ReportBuilder/AddColumnPopover.js +10 -6
  177. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +13 -1
  178. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  179. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +5 -15
  180. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +21 -1
  181. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/AddSortPopover.js +17 -19
  183. package/dist/esm/components/ReportBuilder/bigDateMap.js +1 -1
  184. package/dist/esm/components/ReportBuilder/convert.d.ts +3 -1
  185. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  186. package/dist/esm/components/ReportBuilder/convert.js +51 -13
  187. package/dist/esm/components/ReportBuilder/operators.d.ts +15 -10
  188. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  189. package/dist/esm/components/ReportBuilder/operators.js +23 -10
  190. package/dist/esm/components/ReportBuilder/pivot.d.ts +2 -1
  191. package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -1
  192. package/dist/esm/components/ReportBuilder/ui.d.ts +82 -18
  193. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  194. package/dist/esm/components/ReportBuilder/ui.js +53 -101
  195. package/dist/esm/components/ReportBuilder/util.d.ts +10 -4
  196. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  197. package/dist/esm/components/ReportBuilder/util.js +114 -67
  198. package/dist/esm/components/UiComponents.d.ts +81 -87
  199. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  200. package/dist/esm/components/UiComponents.js +71 -102
  201. package/dist/esm/hooks/index.d.ts +1 -0
  202. package/dist/esm/hooks/index.d.ts.map +1 -1
  203. package/dist/esm/hooks/index.js +1 -0
  204. package/dist/esm/hooks/useTheme.d.ts +7 -0
  205. package/dist/esm/hooks/useTheme.d.ts.map +1 -0
  206. package/dist/esm/hooks/useTheme.js +10 -0
  207. package/dist/esm/index.d.ts +10 -2
  208. package/dist/esm/index.d.ts.map +1 -1
  209. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +5 -2
  210. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  211. package/dist/esm/internals/ReportBuilder/PivotList.js +21 -21
  212. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +30 -14
  213. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  214. package/dist/esm/internals/ReportBuilder/PivotModal.js +77 -52
  215. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  216. package/dist/esm/utils/dataFetcher.js +2 -0
  217. package/dist/esm/utils/parserBigQuery.d.ts +6 -0
  218. package/dist/esm/utils/parserBigQuery.d.ts.map +1 -0
  219. package/dist/esm/utils/parserBigQuery.js +52 -0
  220. package/dist/esm/utils/parserPostgres.d.ts +3 -0
  221. package/dist/esm/utils/parserPostgres.d.ts.map +1 -0
  222. package/dist/esm/utils/parserPostgres.js +37 -0
  223. package/package.json +1 -1
  224. package/dist/cjs/BarList.d.ts.map +0 -1
  225. package/dist/cjs/PieChart.d.ts.map +0 -1
  226. package/dist/esm/BarList.d.ts.map +0 -1
  227. package/dist/esm/PieChart.d.ts.map +0 -1
  228. /package/dist/cjs/{PieChart.d.ts → components/Chart/PieChart.d.ts} +0 -0
  229. /package/dist/esm/{PieChart.d.ts → components/Chart/PieChart.d.ts} +0 -0
@@ -1,23 +1,45 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useMemo } from 'react';
2
3
  import { COMPARISON_OPTIONS } from '../../DateRangePicker/dateRangePickerUtils';
3
4
  import { valueFormatter } from '../../utils/valueFormatter';
4
5
  import ChartError from '../Chart/ChartError';
5
6
  import ChartSkeleton from '../Chart/ChartSkeleton';
6
- export default function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLoading, theme, style, }) {
7
+ import { generatePivotTable } from '../../internals/ReportBuilder/PivotModal';
8
+ import { DashboardFiltersContext } from '../../Context';
9
+ import { useTheme } from '../../hooks';
10
+ export default function QuillMetricComponent({ dashboardItem, onClick, error, isLoading, }) {
11
+ const theme = useTheme();
12
+ const { dashboardFilters } = useContext(DashboardFiltersContext);
7
13
  const data = dashboardItem;
8
- const isComparison = data.rows.length > 0 &&
9
- Object.keys(data.rows[0]).includes(`comparison_${data.xAxisField}`);
14
+ const config = dashboardItem;
15
+ const dateFilter = Object.values(dashboardFilters).find((filter) => filter.filterType == 'date_range');
16
+ const pivotTable = useMemo(() => {
17
+ const pivot = config?.pivot;
18
+ const data = config;
19
+ return pivot && data?.rows
20
+ ? generatePivotTable(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
21
+ dateFilter
22
+ ? [dateFilter.startDate || null, dateFilter.endDate || null, null]
23
+ : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
24
+ ? [
25
+ dateFilter?.comparisonRange.startDate,
26
+ dateFilter?.comparisonRange.endDate,
27
+ null,
28
+ ]
29
+ : [null, null, null])
30
+ : null;
31
+ }, [config?.pivot]);
10
32
  const primaryMetricLabel = data?.filtersApplied?.date_range?.preset?.label;
11
33
  const comparisonKey = data?.filtersApplied?.date_range?.comparisonRange?.value;
12
34
  const comparisonLabel = COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
13
- return (_jsx("div", { onClick: onClickDashboardItem
14
- ? () => onClickDashboardItem(dashboardItem)
15
- : () => { }, style: {
35
+ const rows = pivotTable?.rows ?? data.rows ?? [];
36
+ const isComparison = rows.length > 0 &&
37
+ Object.keys(rows[0]).includes(`comparison_${data.xAxisField}`);
38
+ return (_jsx("div", { onClick: () => onClick && onClick(dashboardItem), style: {
16
39
  cursor: 'pointer',
17
40
  boxSizing: 'content-box',
18
41
  borderRadius: 8,
19
42
  paddingBottom: isLoading ? 0 : 30,
20
- ...style,
21
43
  }, children: _jsx("div", { style: {
22
44
  width: '100%',
23
45
  height: '100%',
@@ -50,7 +72,7 @@ export default function QuillMetricComponent({ dashboardItem, onClickDashboardIt
50
72
  display: 'block',
51
73
  maxWidth: '100%',
52
74
  overflow: 'hidden',
53
- }, children: dashboardItem?.name }), onClickDashboardItem ? (_jsx("div", { style: {
75
+ }, children: dashboardItem?.name }), onClick ? (_jsx("div", { style: {
54
76
  fontFamily: theme.fontFamily,
55
77
  color: theme.primaryTextColor,
56
78
  boxSizing: 'content-box',
@@ -60,11 +82,13 @@ export default function QuillMetricComponent({ dashboardItem, onClickDashboardIt
60
82
  display: 'flex',
61
83
  alignItems: 'center',
62
84
  justifyContent: 'flex-end',
63
- }, children: 'view report →' })) : null] }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: { maxHeight: '78px', height: style?.height ?? '100%' } })) : error ? (_jsx(ChartError, {})) : data.rows?.length === 0 ||
64
- data.rows[0][data.xAxisField] === null ? (_jsx("div", { style: {
85
+ }, children: 'view report →' })) : null] }), isLoading ? (_jsx(ChartSkeleton, { containerStyle: {
86
+ maxHeight: '78px',
87
+ height: '100%',
88
+ } })) : error ? (_jsx(ChartError, {})) : rows?.length === 0 || rows[0][data.xAxisField] === null ? (_jsx("div", { style: {
65
89
  display: 'flex',
66
90
  flex: '1 0 auto',
67
- height: style?.height ?? '100%',
91
+ height: '100%',
68
92
  margin: 'auto',
69
93
  justifyContent: 'center',
70
94
  alignItems: 'center',
@@ -72,7 +96,6 @@ export default function QuillMetricComponent({ dashboardItem, onClickDashboardIt
72
96
  color: theme.secondaryTextColor,
73
97
  maxWidth: '100%',
74
98
  width: '100%',
75
- ...style,
76
99
  }, children: "No results" })) : (_jsx("div", { style: {
77
100
  padding: 0,
78
101
  height: '100%',
@@ -99,9 +122,9 @@ export default function QuillMetricComponent({ dashboardItem, onClickDashboardIt
99
122
  gap: 4,
100
123
  alignItems: 'baseline',
101
124
  marginRight: 'auto',
102
- }, children: [_jsx("span", { children: data.rows.length > 0 &&
125
+ }, children: [_jsx("span", { children: rows.length > 0 &&
103
126
  valueFormatter({
104
- value: data.rows[0][data.xAxisField] ?? 0,
127
+ value: rows[0][data.xAxisField] ?? 0,
105
128
  field: data.xAxisField,
106
129
  fields: [
107
130
  {
@@ -130,10 +153,9 @@ export default function QuillMetricComponent({ dashboardItem, onClickDashboardIt
130
153
  fontWeight: '500',
131
154
  fontFamily: theme?.fontFamily,
132
155
  color: theme?.secondaryTextColor,
133
- }, children: data.rows.length > 0 &&
156
+ }, children: rows.length > 0 &&
134
157
  valueFormatter({
135
- value: data.rows[0][`comparison_${data.xAxisField}`] ??
136
- 0,
158
+ value: rows[0][`comparison_${data.xAxisField}`] ?? 0,
137
159
  field: data.xAxisField,
138
160
  fields: [
139
161
  {
@@ -1,3 +1,4 @@
1
1
  /// <reference types="react" />
2
- export default function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, error, theme, style, children, }: any): JSX.Element;
2
+ import { DashboardItemProps } from '../../Dashboard';
3
+ export default function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }: DashboardItemProps): JSX.Element;
3
4
  //# sourceMappingURL=TableComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AASA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAiKnB"}
1
+ {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA2JlC"}
@@ -7,7 +7,9 @@ import { DashboardFiltersContext } from '../../Context';
7
7
  import { quillFormat } from '../../utils/valueFormatter';
8
8
  import ChartSkeleton from '../Chart/ChartSkeleton';
9
9
  import ChartError from '../Chart/ChartError';
10
- export default function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, error, theme, style, children, }) {
10
+ import { useTheme } from '../../hooks';
11
+ export default function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }) {
12
+ const theme = useTheme();
11
13
  const { dashboardFilters } = useContext(DashboardFiltersContext);
12
14
  const config = dashboardItem;
13
15
  const data = dashboardItem;
@@ -57,12 +59,7 @@ export default function QuillTableComponent({ dashboardItem, onClickDashboardIte
57
59
  return formattedRow;
58
60
  }, {});
59
61
  });
60
- return (_jsxs("div", { style: {
61
- cursor: 'pointer',
62
- ...style,
63
- }, onClick: onClickDashboardItem
64
- ? () => onClickDashboardItem(dashboardItem)
65
- : () => { }, children: [_jsxs("div", { style: {
62
+ return (_jsxs("div", { style: { cursor: 'pointer' }, onClick: () => onClick && onClick(dashboardItem), children: [_jsxs("div", { style: {
66
63
  display: 'flex',
67
64
  flexDirection: 'row',
68
65
  justifyContent: 'space-between',
@@ -81,7 +78,7 @@ export default function QuillTableComponent({ dashboardItem, onClickDashboardIte
81
78
  display: 'block',
82
79
  maxWidth: '100%',
83
80
  overflow: 'hidden',
84
- }, children: dashboardItem?.name }), onClickDashboardItem ? (_jsx("div", { style: {
81
+ }, children: dashboardItem?.name }), onClick ? (_jsx("div", { style: {
85
82
  fontFamily: theme.fontFamily,
86
83
  color: theme.primaryTextColor,
87
84
  boxSizing: 'content-box',
@@ -97,7 +94,7 @@ export default function QuillTableComponent({ dashboardItem, onClickDashboardIte
97
94
  } })) : error ? (_jsx(ChartError, { containerStyle: {
98
95
  width: '100%',
99
96
  height: '400px',
100
- } })) : (_jsx(QuillTable, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: config?.rowsPerPage || 10, containerStyle: {
97
+ } })) : (_jsx(QuillTable, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: 10, containerStyle: {
101
98
  width: '100%',
102
99
  height: '400px',
103
100
  }, showDownloadCSVButton: true, downloadCSV: () => {
@@ -1,14 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
- import { QuillTheme } from '../QuillProvider';
3
2
  interface QuillCardProps {
4
3
  children: ReactNode;
5
- theme: QuillTheme;
6
4
  onClick?: () => void;
7
- onClose?: () => void;
8
- isSelected?: boolean;
9
- clickable?: boolean;
10
- minHeight?: number;
5
+ onDelete?: () => void;
11
6
  }
12
- export declare function QuillCard({ children, theme, onClick, isSelected, clickable, onClose, minHeight, style, }: QuillCardProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function QuillCard({ children, onClick, onDelete, }: QuillCardProps): import("react/jsx-runtime").JSX.Element;
13
8
  export {};
14
9
  //# sourceMappingURL=QuillCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillCard.d.ts","sourceRoot":"","sources":["../../../src/components/QuillCard.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,SAAgB,EAChB,OAAO,EACP,SAAa,EACb,KAAU,GACX,EAAE,cAAc,2CAmEhB"}
1
+ {"version":3,"file":"QuillCard.d.ts","sourceRoot":"","sources":["../../../src/components/QuillCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,EAAE,cAAc,2CA4EhB"}
@@ -1,19 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { XIcon } from '../assets';
3
- export function QuillCard({ children, theme, onClick, isSelected = false, clickable = true, onClose, minHeight = 0, style = {}, }) {
4
- return (_jsxs("div", { className: clickable ? 'quill-card-hover' : '', style: {
3
+ import { useTheme } from '../hooks';
4
+ export function QuillCard({ children, onClick, onDelete, }) {
5
+ const theme = useTheme();
6
+ return (_jsxs("div", { className: onClick ? 'quill-card-hover' : '', style: {
5
7
  backgroundColor: theme.backgroundColor || 'white',
6
- cursor: clickable ? 'pointer' : 'default',
8
+ cursor: onClick ? 'pointer' : 'default',
7
9
  padding: 16,
8
10
  borderRadius: 8,
9
11
  boxShadow: '0 1px 4px 0 rgba(56, 65, 81, 0.07)',
10
12
  borderWidth: theme.borderWidth,
11
13
  borderStyle: 'solid',
12
- borderColor: isSelected ? '#aaaaaa' : theme.borderColor,
14
+ borderColor: theme.borderColor,
13
15
  overflowX: 'hidden',
14
16
  position: 'relative',
15
- minHeight: minHeight,
16
- ...style,
17
17
  }, onClick: onClick, children: [_jsx("style", { children: `
18
18
  .quill-card-hover:hover {
19
19
  background-color: #f9f9f9 !important;
@@ -24,9 +24,11 @@ export function QuillCard({ children, theme, onClick, isSelected = false, clicka
24
24
  background-color: #f5f5f5;
25
25
  }
26
26
  }
27
- ` }), onClose && (_jsxs("button", { className: "quill-delete-button", type: "button", onClick: e => {
27
+ ` }), onDelete && (_jsxs("button", { className: "quill-delete-button", type: "button", onClick: (e) => {
28
+ onDelete();
29
+ // Since this button is inside of the card, we do not want to fire
30
+ // the onClick callback as well, if we fire the onDelete callback.
28
31
  e.stopPropagation();
29
- onClose();
30
32
  }, style: {
31
33
  height: 40,
32
34
  width: 40,
@@ -46,5 +48,9 @@ export function QuillCard({ children, theme, onClick, isSelected = false, clicka
46
48
  }
47
49
  .quill-delete-button:hover {
48
50
  background-color: rgba(56, 65, 81, 0.03);
49
- }` }), _jsx(XIcon, { height: "20", width: "20", fill: "#6C727F" })] })), _jsx("div", { style: { overflowX: 'scroll' }, children: children })] }));
51
+ }` }), _jsx(XIcon, { height: "20", width: "20", fill: "#6C727F" })] })), _jsx("div", { style: {
52
+ overflowX: 'scroll',
53
+ display: 'flex',
54
+ height: '100%',
55
+ }, children: children })] }));
50
56
  }
@@ -1,3 +1,6 @@
1
1
  import { SelectComponentProps } from './UiComponents';
2
- export declare function QuillSelectComponent({ options, value, onChange, theme, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
2
+ /**
3
+ * A robust select component that implements the new minimal Select interface.
4
+ */
5
+ export declare function QuillSelectComponent({ options, value, onChange, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
3
6
  //# sourceMappingURL=QuillSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,oBAAoB,2CAwMtB"}
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAKtD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,2CA0MtB"}
@@ -1,17 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useOnClickOutside } from '../hooks';
3
- import { useRef, useState } from 'react';
4
- export function QuillSelectComponent({ options, value, onChange, theme, label, }) {
3
+ import { useContext, useRef, useState } from 'react';
4
+ import { ThemeContext } from '../Context';
5
+ /**
6
+ * A robust select component that implements the new minimal Select interface.
7
+ */
8
+ export function QuillSelectComponent({ options, value, onChange, label, }) {
9
+ const [theme] = useContext(ThemeContext);
5
10
  const [showModal, setShowModal] = useState(false);
6
11
  const modalRef = useRef(null);
7
- useOnClickOutside(modalRef, (e) => {
8
- setShowModal(false);
9
- });
12
+ useOnClickOutside(modalRef, (e) => setShowModal(false));
10
13
  return (_jsxs("div", { style: {
11
14
  position: 'relative',
12
15
  width: 200,
13
16
  minWidth: 200,
14
- boxShadow: 'rgba(0, 0, 0, 0.1) 0px 1px 5px 0px',
15
17
  borderRadius: '6px',
16
18
  }, children: [label && (_jsx("div", { style: {
17
19
  fontSize: 14,
@@ -62,7 +64,6 @@ export function QuillSelectComponent({ options, value, onChange, theme, label, }
62
64
  paddingBottom: 6,
63
65
  paddingLeft: 6,
64
66
  paddingRight: 6,
65
- boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
66
67
  fontFamily: theme.fontFamily,
67
68
  maxHeight: '50vh',
68
69
  overflow: 'scroll',
@@ -85,7 +86,9 @@ export function QuillSelectComponent({ options, value, onChange, theme, label, }
85
86
  height: 34,
86
87
  minHeight: 34,
87
88
  }, className: "quill-option", onClick: () => {
88
- onChange('');
89
+ // Manually create a synthetic ChangeEvent and pass it to callback
90
+ const changeEvent = { target: { value: '' } };
91
+ onChange(changeEvent);
89
92
  setShowModal(false);
90
93
  }, children: [_jsx("style", { children: `
91
94
  .quill-option {
@@ -113,7 +116,9 @@ export function QuillSelectComponent({ options, value, onChange, theme, label, }
113
116
  minHeight: 34,
114
117
  overflow: 'hidden',
115
118
  }, className: "quill-option", onClick: () => {
116
- onChange(option.value);
119
+ // Manually create a synthetic ChangeEvent and pass it to callback
120
+ const changeEvent = { target: { value: option.value } };
121
+ onChange(changeEvent);
117
122
  setShowModal(false);
118
123
  }, children: [_jsx("style", { children: `
119
124
  .quill-option {
@@ -1,3 +1,17 @@
1
- import { TableComponentProps } from './UiComponents';
2
- export default function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent, rowsPerPage, emptyStateLabel, downloadCSV, }: TableComponentProps): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ import { ButtonComponentProps } from './UiComponents';
3
+ export interface TableComponentProps {
4
+ rows: any[];
5
+ columns: any[];
6
+ containerStyle?: React.CSSProperties;
7
+ isLoading?: boolean;
8
+ showDownloadCSVButton?: boolean;
9
+ downloadFileName?: string;
10
+ downloadCSV?: () => void;
11
+ LoadingComponent?: () => JSX.Element;
12
+ DownloadCSVButtonComponent?: (props: ButtonComponentProps) => JSX.Element;
13
+ rowsPerPage?: number;
14
+ emptyStateLabel?: string;
15
+ }
16
+ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent, rowsPerPage, emptyStateLabel, downloadCSV, }: TableComponentProps): import("react/jsx-runtime").JSX.Element;
3
17
  //# sourceMappingURL=QuillTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMrD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAA0C,EAC1C,WAAgB,EAChB,eAA8B,EAC9B,WAAW,GACZ,EAAE,mBAAmB,2CAwZrB"}
1
+ {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAA0C,EAC1C,WAAgB,EAChB,eAA8B,EAC9B,WAAW,GACZ,EAAE,mBAAmB,2CAwZrB"}
@@ -3,7 +3,7 @@ import { useContext, useEffect, useState } from 'react';
3
3
  import { compareValues } from '../utils/valueFormatter';
4
4
  import { ThemeContext } from '../Context';
5
5
  import ChartSkeleton from './Chart/ChartSkeleton';
6
- export default function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => _jsx(ChartSkeleton, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
6
+ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => _jsx(ChartSkeleton, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
7
7
  const [activeRows, setActiveRows] = useState([]);
8
8
  const [page, setPage] = useState(1);
9
9
  const [maxPage, setMaxPage] = useState(1);
@@ -13,7 +13,7 @@ export default function QuillTable({ rows, columns, loading, showDownloadCSVButt
13
13
  const [isPaginating, setIsPaginating] = useState(true);
14
14
  useEffect(() => {
15
15
  setIsPaginating(true);
16
- if (rows.length === 0 && loading) {
16
+ if (rows.length === 0 && isLoading) {
17
17
  return;
18
18
  }
19
19
  const sortedRows = [...rows];
@@ -30,7 +30,7 @@ export default function QuillTable({ rows, columns, loading, showDownloadCSVButt
30
30
  }
31
31
  setActiveRows(sortedRows.slice(start, end));
32
32
  setIsPaginating(false);
33
- }, [page, rows, sortColumn, sortDirection, loading, columns]);
33
+ }, [page, rows, sortColumn, sortDirection, isLoading, columns]);
34
34
  const increasePage = () => {
35
35
  if (page === maxPage) {
36
36
  return;
@@ -52,7 +52,7 @@ export default function QuillTable({ rows, columns, loading, showDownloadCSVButt
52
52
  setSortDirection('desc');
53
53
  }
54
54
  };
55
- if (loading || isPaginating) {
55
+ if (isLoading || isPaginating) {
56
56
  return (_jsx("div", { style: {
57
57
  ...containerStyle,
58
58
  }, children: _jsx(LoadingComponent, {}) }));
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { TextInputComponentProps } from '../UiComponents';
3
- export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, HandleButton, }: {
3
+ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, }: {
4
4
  onSave: any;
5
5
  orderedColumnNames: any;
6
6
  setOrderedColumnNames: any;
@@ -17,9 +17,15 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
17
17
  defaultTable: any;
18
18
  setPivot: any;
19
19
  TextInput: (props: TextInputComponentProps) => JSX.Element;
20
- SelectColumn: any;
20
+ SelectColumn: (props: {
21
+ label: string;
22
+ isSelected: boolean;
23
+ setSelected: () => void;
24
+ DragHandle: ({ dragIcon }: {
25
+ dragIcon: () => JSX.Element;
26
+ }) => JSX.Element;
27
+ }) => JSX.Element;
21
28
  SecondaryButton: any;
22
29
  Button: any;
23
- HandleButton: any;
24
30
  }): import("react/jsx-runtime").JSX.Element;
25
31
  //# sourceMappingURL=AddColumnPopover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddColumnPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnPopover.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,MAAM,EACN,YAAY,GACb,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,YAAY,EAAE,GAAG,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,GAAG,CAAC;CACnB,2CAsNA"}
1
+ {"version":3,"file":"AddColumnPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnPopover.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;CACb,2CAqNA"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable no-unused-vars */
2
3
  import { useContext, useState, useRef, useEffect } from 'react';
3
4
  import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
4
5
  import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, } from '@dnd-kit/sortable';
@@ -6,7 +7,7 @@ import { CSS as DND_CSS } from '@dnd-kit/utilities';
6
7
  import { ThemeContext } from '../../Context';
7
8
  import { updateFirstChildWidth } from '../../utils/width';
8
9
  import { snakeCaseToTitleCase } from '../../utils/textProcessing';
9
- export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, HandleButton, }) {
10
+ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, }) {
10
11
  const [theme] = useContext(ThemeContext);
11
12
  const [search, setSearch] = useState('');
12
13
  const [searchResults, setSearchResults] = useState(orderedColumnNames);
@@ -23,6 +24,8 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
23
24
  // When a drag event ends, switch the item order.
24
25
  function handleDragEnd(event) {
25
26
  const { active, over } = event;
27
+ if (!active || !over)
28
+ return;
26
29
  if (active.id !== over.id) {
27
30
  setOrderedColumnNames((orderedColumnNames) => {
28
31
  const oldIndex = orderedColumnNames.indexOf(active.id);
@@ -41,7 +44,8 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
41
44
  setSearchResults(orderedColumnNames
42
45
  .filter((row) => {
43
46
  const [table, _column] = row.split('.');
44
- return (selectedColumns.length === 0 || selectedColumns[0].startsWith(table));
47
+ const selectedTable = selectedColumns[0]?.split('.')[0];
48
+ return selectedColumns.length === 0 || selectedTable === table;
45
49
  })
46
50
  .filter((row) => search.length === 0 ||
47
51
  row.includes(search) ||
@@ -69,7 +73,7 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
69
73
  overflowY: 'auto',
70
74
  maxWidth: '300px',
71
75
  }, children: [searchResults.map((value) => {
72
- return (_jsx(SortableItem, { theme: theme, selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' | '), SelectColumn: SelectColumn, HandleButton: HandleButton }, value));
76
+ return (_jsx(SortableItem, { selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' | '), SelectColumn: SelectColumn }, value));
73
77
  }), search.length > 0 && searchResults.length === 0 && (_jsx("div", { style: { fontFamily: theme?.fontFamily }, children: "No results found" }))] }) }) }), _jsxs("div", { style: {
74
78
  display: 'flex',
75
79
  width: '100%',
@@ -122,7 +126,7 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
122
126
  onSave();
123
127
  }, label: "Select columns" })] })] }));
124
128
  }
125
- const SortableItem = ({ id, label, setSelectedColumns, theme, selectedColumns, SelectColumn, HandleButton, }) => {
129
+ const SortableItem = ({ id, label, setSelectedColumns, selectedColumns, SelectColumn, }) => {
126
130
  const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: id });
127
131
  const style = {
128
132
  transform: DND_CSS.Transform.toString(transform),
@@ -138,7 +142,7 @@ const SortableItem = ({ id, label, setSelectedColumns, theme, selectedColumns, S
138
142
  }
139
143
  });
140
144
  };
141
- return (_jsx("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: _jsx(SelectColumn, { selected: selectedColumns?.includes(id), setSelected: handleSelect, label: label, children: _jsx("div", { style: {
145
+ return (_jsx("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: _jsx(SelectColumn, { isSelected: selectedColumns?.includes(id), setSelected: handleSelect, label: label, DragHandle: (props) => (_jsx("div", { style: {
142
146
  cursor: 'grab',
143
- }, ...attributes, ...listeners, children: _jsx(HandleButton, {}) }) }) }));
147
+ }, ...attributes, ...listeners, children: _jsx(props.dragIcon, {}) })) }) }));
144
148
  };
@@ -1,6 +1,18 @@
1
1
  /// <reference types="react" />
2
2
  import { ButtonComponentProps, TextInputComponentProps } from '../UiComponents';
3
- export declare const LimitSentence: ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle, LimitPopover, EditPopover, TextInput, Button, SecondaryButton, children, }: any) => import("react/jsx-runtime").JSX.Element;
3
+ import { LimitPopoverComponentProps } from './ui';
4
+ export declare const LimitSentence: ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle, LimitPopover, EditPopover, TextInput, Button, SecondaryButton, }: {
5
+ limit: any;
6
+ handleDelete: () => void;
7
+ setOpenPopover: (arg: any) => void;
8
+ onSave: (column: any, direction: any) => void;
9
+ popoverTitle?: string | undefined;
10
+ LimitPopover: (props: LimitPopoverComponentProps) => JSX.Element;
11
+ EditPopover: any;
12
+ TextInput: any;
13
+ Button: (props: ButtonComponentProps) => JSX.Element;
14
+ SecondaryButton: (props: ButtonComponentProps) => JSX.Element;
15
+ }) => import("react/jsx-runtime").JSX.Element;
4
16
  export interface AddLimitPopoverProps {
5
17
  onSave: (limit: number) => void;
6
18
  initialLimit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"AddLimitPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddLimitPopover.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,oBAAoB,EAIpB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAUzB,eAAO,MAAM,aAAa,4IAYvB,GAAG,4CAoCL,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CAChE;AAED,eAAO,MAAM,eAAe,oFAQzB,oBAAoB,4CA+CtB,CAAC"}
1
+ {"version":3,"file":"AddLimitPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddLimitPopover.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,oBAAoB,EAIpB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAElD,eAAO,MAAM,aAAa;WAYjB,GAAG;kBACI,MAAM,IAAI;0BACF,GAAG,KAAK,IAAI;qBACjB,GAAG,aAAa,GAAG,KAAK,IAAI;;0BAEvB,0BAA0B,KAAK,WAAW;iBACnD,GAAG;eACL,GAAG;oBACE,oBAAoB,KAAK,WAAW;6BAC3B,oBAAoB,KAAK,WAAW;6CAiC9D,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CAChE;AAED,eAAO,MAAM,eAAe,oFAQzB,oBAAoB,4CA8CtB,CAAC"}
@@ -2,28 +2,18 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { useState, useContext } from 'react';
3
3
  import { MemoizedButton, MemoizedSecondaryButton, QuillTextInput, } from '../UiComponents';
4
4
  import { ThemeContext } from '../../Context';
5
- const SORT_VALUE_TO_LABEL = {
6
- ASC: 'ascending',
7
- DESC: 'descending',
8
- };
9
- export const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = QuillTextInput, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, children, }) => {
5
+ export const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = QuillTextInput, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
10
6
  const [isOpen, setIsOpen] = useState(false);
11
7
  const handleClickDelete = (e) => {
12
8
  setOpenPopover(null);
13
9
  handleDelete();
14
10
  };
15
- return (_jsx("div", { style: { width: '100%' }, children: _jsx(LimitPopover
16
- // @ts-ignore
17
- , {
18
- // @ts-ignore
19
- filterLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: _jsx(EditPopover, { onSave: (column, direction) => {
11
+ return (_jsx("div", { style: { width: '100%' }, children: _jsx(LimitPopover, { isOpen: isOpen, setIsOpen: setIsOpen, limitLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: _jsx(EditPopover, { onSave: (column, direction) => {
20
12
  setIsOpen(false);
21
13
  onSave(column, direction);
22
- }, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton }), isOpen: isOpen, setIsOpen: setIsOpen, onDelete: () => {
23
- handleDelete();
24
- } }) }));
14
+ }, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton }) }) }));
25
15
  };
26
- export const AddLimitPopover = ({ onSave, initialLimit = 0, isEdit = false, onDelete = () => { }, TextInput = QuillTextInput, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
16
+ export const AddLimitPopover = ({ onSave, initialLimit = 10, isEdit = false, onDelete = () => { }, TextInput = QuillTextInput, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
27
17
  const [limit, setLimit] = useState(initialLimit);
28
18
  const [theme] = useContext(ThemeContext);
29
19
  return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [_jsx("div", { style: {
@@ -31,7 +21,7 @@ export const AddLimitPopover = ({ onSave, initialLimit = 0, isEdit = false, onDe
31
21
  flexDirection: 'row',
32
22
  gap: 12,
33
23
  padding: '6px 0px',
34
- }, children: _jsx(TextInput, { id: 'add_limit_input', value: limit, width: 200,
24
+ }, children: _jsx(TextInput, { id: 'add_limit_input', value: limit.toString() ?? initialLimit.toString(), width: 200,
35
25
  // style={{ minHeight: 32, padding: '6px 12px' }}
36
26
  onChange: (e) => {
37
27
  if (Number.isNaN(parseFloat(e.target.value || '0'))) {
@@ -1,3 +1,23 @@
1
- export declare const SortSentence: ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle, SortPopover, EditPopover, Select, Button, SecondaryButton, children, }: any) => import("react/jsx-runtime").JSX.Element | null;
1
+ /// <reference types="react" />
2
+ import { ButtonComponentProps, SelectComponentProps } from '../UiComponents';
3
+ import { SortPopoverComponentProps } from './ui';
4
+ export declare const SortSentence: ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle, SortPopover, EditPopover, Select, Button, SecondaryButton, }: {
5
+ sortData: any;
6
+ columns: any;
7
+ setIsPending: any;
8
+ setEditPopoverKey: any;
9
+ setActiveEditItem: any;
10
+ setOpenPopover: any;
11
+ setActivePath: any;
12
+ keyPrefix?: any;
13
+ handleDelete: any;
14
+ onSave: any;
15
+ popoverTitle?: string | undefined;
16
+ SortPopover: (props: SortPopoverComponentProps) => JSX.Element;
17
+ EditPopover: any;
18
+ Select?: ((props: SelectComponentProps) => JSX.Element) | undefined;
19
+ Button?: ((props: ButtonComponentProps) => JSX.Element) | undefined;
20
+ SecondaryButton?: ((props: ButtonComponentProps) => JSX.Element) | undefined;
21
+ }) => import("react/jsx-runtime").JSX.Element | null;
2
22
  export declare const AddSortPopover: ({ onSave, columns, isEdit, onDelete, column, Select, Button, SecondaryButton, }: any) => import("react/jsx-runtime").JSX.Element;
3
23
  //# sourceMappingURL=AddSortPopover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,kOAkBtB,GAAG,mDA8CL,CAAC;AAEF,eAAO,MAAM,cAAc,oFASxB,GAAG,4CAiEL,CAAC"}
1
+ {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAC;AAOjD,eAAO,MAAM,YAAY;cAkBb,GAAG;aACJ,GAAG;kBACE,GAAG;uBACE,GAAG;uBACH,GAAG;oBACN,GAAG;mBACJ,GAAG;gBACN,GAAG;kBACD,GAAG;YACT,GAAG;;yBAEU,yBAAyB,KAAK,WAAW;iBACjD,GAAG;sBACC,oBAAoB,KAAK,WAAW;sBACpC,oBAAoB,KAAK,WAAW;+BAC3B,oBAAoB,KAAK,WAAW;oDAoD/D,CAAC;AAEF,eAAO,MAAM,cAAc,oFASxB,GAAG,4CA6DL,CAAC"}