@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
@@ -4,25 +4,47 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
7
8
  const dateRangePickerUtils_1 = require("../../DateRangePicker/dateRangePickerUtils");
8
9
  const valueFormatter_1 = require("../../utils/valueFormatter");
9
10
  const ChartError_1 = __importDefault(require("../Chart/ChartError"));
10
11
  const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
11
- function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLoading, theme, style, }) {
12
+ const PivotModal_1 = require("../../internals/ReportBuilder/PivotModal");
13
+ const Context_1 = require("../../Context");
14
+ const hooks_1 = require("../../hooks");
15
+ function QuillMetricComponent({ dashboardItem, onClick, error, isLoading, }) {
16
+ const theme = (0, hooks_1.useTheme)();
17
+ const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
12
18
  const data = dashboardItem;
13
- const isComparison = data.rows.length > 0 &&
14
- Object.keys(data.rows[0]).includes(`comparison_${data.xAxisField}`);
19
+ const config = dashboardItem;
20
+ const dateFilter = Object.values(dashboardFilters).find((filter) => filter.filterType == 'date_range');
21
+ const pivotTable = (0, react_1.useMemo)(() => {
22
+ const pivot = config?.pivot;
23
+ const data = config;
24
+ return pivot && data?.rows
25
+ ? (0, PivotModal_1.generatePivotTable)(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
26
+ dateFilter
27
+ ? [dateFilter.startDate || null, dateFilter.endDate || null, null]
28
+ : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
29
+ ? [
30
+ dateFilter?.comparisonRange.startDate,
31
+ dateFilter?.comparisonRange.endDate,
32
+ null,
33
+ ]
34
+ : [null, null, null])
35
+ : null;
36
+ }, [config?.pivot]);
15
37
  const primaryMetricLabel = data?.filtersApplied?.date_range?.preset?.label;
16
38
  const comparisonKey = data?.filtersApplied?.date_range?.comparisonRange?.value;
17
39
  const comparisonLabel = dateRangePickerUtils_1.COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
18
- return ((0, jsx_runtime_1.jsx)("div", { onClick: onClickDashboardItem
19
- ? () => onClickDashboardItem(dashboardItem)
20
- : () => { }, style: {
40
+ const rows = pivotTable?.rows ?? data.rows ?? [];
41
+ const isComparison = rows.length > 0 &&
42
+ Object.keys(rows[0]).includes(`comparison_${data.xAxisField}`);
43
+ return ((0, jsx_runtime_1.jsx)("div", { onClick: () => onClick && onClick(dashboardItem), style: {
21
44
  cursor: 'pointer',
22
45
  boxSizing: 'content-box',
23
46
  borderRadius: 8,
24
47
  paddingBottom: isLoading ? 0 : 30,
25
- ...style,
26
48
  }, children: (0, jsx_runtime_1.jsx)("div", { style: {
27
49
  width: '100%',
28
50
  height: '100%',
@@ -55,7 +77,7 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
55
77
  display: 'block',
56
78
  maxWidth: '100%',
57
79
  overflow: 'hidden',
58
- }, children: dashboardItem?.name }), onClickDashboardItem ? ((0, jsx_runtime_1.jsx)("div", { style: {
80
+ }, children: dashboardItem?.name }), onClick ? ((0, jsx_runtime_1.jsx)("div", { style: {
59
81
  fontFamily: theme.fontFamily,
60
82
  color: theme.primaryTextColor,
61
83
  boxSizing: 'content-box',
@@ -65,11 +87,13 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
65
87
  display: 'flex',
66
88
  alignItems: 'center',
67
89
  justifyContent: 'flex-end',
68
- }, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: { maxHeight: '78px', height: style?.height ?? '100%' } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : data.rows?.length === 0 ||
69
- data.rows[0][data.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
90
+ }, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: {
91
+ maxHeight: '78px',
92
+ height: '100%',
93
+ } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : rows?.length === 0 || rows[0][data.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
70
94
  display: 'flex',
71
95
  flex: '1 0 auto',
72
- height: style?.height ?? '100%',
96
+ height: '100%',
73
97
  margin: 'auto',
74
98
  justifyContent: 'center',
75
99
  alignItems: 'center',
@@ -77,7 +101,6 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
77
101
  color: theme.secondaryTextColor,
78
102
  maxWidth: '100%',
79
103
  width: '100%',
80
- ...style,
81
104
  }, children: "No results" })) : ((0, jsx_runtime_1.jsx)("div", { style: {
82
105
  padding: 0,
83
106
  height: '100%',
@@ -104,9 +127,9 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
104
127
  gap: 4,
105
128
  alignItems: 'baseline',
106
129
  marginRight: 'auto',
107
- }, children: [(0, jsx_runtime_1.jsx)("span", { children: data.rows.length > 0 &&
130
+ }, children: [(0, jsx_runtime_1.jsx)("span", { children: rows.length > 0 &&
108
131
  (0, valueFormatter_1.valueFormatter)({
109
- value: data.rows[0][data.xAxisField] ?? 0,
132
+ value: rows[0][data.xAxisField] ?? 0,
110
133
  field: data.xAxisField,
111
134
  fields: [
112
135
  {
@@ -135,10 +158,9 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
135
158
  fontWeight: '500',
136
159
  fontFamily: theme?.fontFamily,
137
160
  color: theme?.secondaryTextColor,
138
- }, children: data.rows.length > 0 &&
161
+ }, children: rows.length > 0 &&
139
162
  (0, valueFormatter_1.valueFormatter)({
140
- value: data.rows[0][`comparison_${data.xAxisField}`] ??
141
- 0,
163
+ value: rows[0][`comparison_${data.xAxisField}`] ?? 0,
142
164
  field: data.xAxisField,
143
165
  fields: [
144
166
  {
@@ -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"}
@@ -12,7 +12,9 @@ const Context_1 = require("../../Context");
12
12
  const valueFormatter_1 = require("../../utils/valueFormatter");
13
13
  const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
14
14
  const ChartError_1 = __importDefault(require("../Chart/ChartError"));
15
- function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, error, theme, style, children, }) {
15
+ const hooks_1 = require("../../hooks");
16
+ function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }) {
17
+ const theme = (0, hooks_1.useTheme)();
16
18
  const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
17
19
  const config = dashboardItem;
18
20
  const data = dashboardItem;
@@ -62,12 +64,7 @@ function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, e
62
64
  return formattedRow;
63
65
  }, {});
64
66
  });
65
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
66
- cursor: 'pointer',
67
- ...style,
68
- }, onClick: onClickDashboardItem
69
- ? () => onClickDashboardItem(dashboardItem)
70
- : () => { }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
67
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { cursor: 'pointer' }, onClick: () => onClick && onClick(dashboardItem), children: [(0, jsx_runtime_1.jsxs)("div", { style: {
71
68
  display: 'flex',
72
69
  flexDirection: 'row',
73
70
  justifyContent: 'space-between',
@@ -86,7 +83,7 @@ function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, e
86
83
  display: 'block',
87
84
  maxWidth: '100%',
88
85
  overflow: 'hidden',
89
- }, children: dashboardItem?.name }), onClickDashboardItem ? ((0, jsx_runtime_1.jsx)("div", { style: {
86
+ }, children: dashboardItem?.name }), onClick ? ((0, jsx_runtime_1.jsx)("div", { style: {
90
87
  fontFamily: theme.fontFamily,
91
88
  color: theme.primaryTextColor,
92
89
  boxSizing: 'content-box',
@@ -102,7 +99,7 @@ function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, e
102
99
  } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, { containerStyle: {
103
100
  width: '100%',
104
101
  height: '400px',
105
- } })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: config?.rowsPerPage || 10, containerStyle: {
102
+ } })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: 10, containerStyle: {
106
103
  width: '100%',
107
104
  height: '400px',
108
105
  }, 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"}
@@ -3,20 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QuillCard = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const assets_1 = require("../assets");
6
- function QuillCard({ children, theme, onClick, isSelected = false, clickable = true, onClose, minHeight = 0, style = {}, }) {
7
- return ((0, jsx_runtime_1.jsxs)("div", { className: clickable ? 'quill-card-hover' : '', style: {
6
+ const hooks_1 = require("../hooks");
7
+ function QuillCard({ children, onClick, onDelete, }) {
8
+ const theme = (0, hooks_1.useTheme)();
9
+ return ((0, jsx_runtime_1.jsxs)("div", { className: onClick ? 'quill-card-hover' : '', style: {
8
10
  backgroundColor: theme.backgroundColor || 'white',
9
- cursor: clickable ? 'pointer' : 'default',
11
+ cursor: onClick ? 'pointer' : 'default',
10
12
  padding: 16,
11
13
  borderRadius: 8,
12
14
  boxShadow: '0 1px 4px 0 rgba(56, 65, 81, 0.07)',
13
15
  borderWidth: theme.borderWidth,
14
16
  borderStyle: 'solid',
15
- borderColor: isSelected ? '#aaaaaa' : theme.borderColor,
17
+ borderColor: theme.borderColor,
16
18
  overflowX: 'hidden',
17
19
  position: 'relative',
18
- minHeight: minHeight,
19
- ...style,
20
20
  }, onClick: onClick, children: [(0, jsx_runtime_1.jsx)("style", { children: `
21
21
  .quill-card-hover:hover {
22
22
  background-color: #f9f9f9 !important;
@@ -27,9 +27,11 @@ function QuillCard({ children, theme, onClick, isSelected = false, clickable = t
27
27
  background-color: #f5f5f5;
28
28
  }
29
29
  }
30
- ` }), onClose && ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: e => {
30
+ ` }), onDelete && ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: (e) => {
31
+ onDelete();
32
+ // Since this button is inside of the card, we do not want to fire
33
+ // the onClick callback as well, if we fire the onDelete callback.
31
34
  e.stopPropagation();
32
- onClose();
33
35
  }, style: {
34
36
  height: 40,
35
37
  width: 40,
@@ -49,6 +51,10 @@ function QuillCard({ children, theme, onClick, isSelected = false, clickable = t
49
51
  }
50
52
  .quill-delete-button:hover {
51
53
  background-color: rgba(56, 65, 81, 0.03);
52
- }` }), (0, jsx_runtime_1.jsx)(assets_1.XIcon, { height: "20", width: "20", fill: "#6C727F" })] })), (0, jsx_runtime_1.jsx)("div", { style: { overflowX: 'scroll' }, children: children })] }));
54
+ }` }), (0, jsx_runtime_1.jsx)(assets_1.XIcon, { height: "20", width: "20", fill: "#6C727F" })] })), (0, jsx_runtime_1.jsx)("div", { style: {
55
+ overflowX: 'scroll',
56
+ display: 'flex',
57
+ height: '100%',
58
+ }, children: children })] }));
53
59
  }
54
60
  exports.QuillCard = QuillCard;
@@ -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"}
@@ -4,17 +4,19 @@ exports.QuillSelectComponent = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const hooks_1 = require("../hooks");
6
6
  const react_1 = require("react");
7
- function QuillSelectComponent({ options, value, onChange, theme, label, }) {
7
+ const Context_1 = require("../Context");
8
+ /**
9
+ * A robust select component that implements the new minimal Select interface.
10
+ */
11
+ function QuillSelectComponent({ options, value, onChange, label, }) {
12
+ const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
8
13
  const [showModal, setShowModal] = (0, react_1.useState)(false);
9
14
  const modalRef = (0, react_1.useRef)(null);
10
- (0, hooks_1.useOnClickOutside)(modalRef, (e) => {
11
- setShowModal(false);
12
- });
15
+ (0, hooks_1.useOnClickOutside)(modalRef, (e) => setShowModal(false));
13
16
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
14
17
  position: 'relative',
15
18
  width: 200,
16
19
  minWidth: 200,
17
- boxShadow: 'rgba(0, 0, 0, 0.1) 0px 1px 5px 0px',
18
20
  borderRadius: '6px',
19
21
  }, children: [label && ((0, jsx_runtime_1.jsx)("div", { style: {
20
22
  fontSize: 14,
@@ -65,7 +67,6 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
65
67
  paddingBottom: 6,
66
68
  paddingLeft: 6,
67
69
  paddingRight: 6,
68
- boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
69
70
  fontFamily: theme.fontFamily,
70
71
  maxHeight: '50vh',
71
72
  overflow: 'scroll',
@@ -88,7 +89,9 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
88
89
  height: 34,
89
90
  minHeight: 34,
90
91
  }, className: "quill-option", onClick: () => {
91
- onChange('');
92
+ // Manually create a synthetic ChangeEvent and pass it to callback
93
+ const changeEvent = { target: { value: '' } };
94
+ onChange(changeEvent);
92
95
  setShowModal(false);
93
96
  }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
94
97
  .quill-option {
@@ -116,7 +119,9 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
116
119
  minHeight: 34,
117
120
  overflow: 'hidden',
118
121
  }, className: "quill-option", onClick: () => {
119
- onChange(option.value);
122
+ // Manually create a synthetic ChangeEvent and pass it to callback
123
+ const changeEvent = { target: { value: option.value } };
124
+ onChange(changeEvent);
120
125
  setShowModal(false);
121
126
  }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
122
127
  .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"}
@@ -8,7 +8,7 @@ const react_1 = require("react");
8
8
  const valueFormatter_1 = require("../utils/valueFormatter");
9
9
  const Context_1 = require("../Context");
10
10
  const ChartSkeleton_1 = __importDefault(require("./Chart/ChartSkeleton"));
11
- function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
11
+ function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
12
12
  const [activeRows, setActiveRows] = (0, react_1.useState)([]);
13
13
  const [page, setPage] = (0, react_1.useState)(1);
14
14
  const [maxPage, setMaxPage] = (0, react_1.useState)(1);
@@ -18,7 +18,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
18
18
  const [isPaginating, setIsPaginating] = (0, react_1.useState)(true);
19
19
  (0, react_1.useEffect)(() => {
20
20
  setIsPaginating(true);
21
- if (rows.length === 0 && loading) {
21
+ if (rows.length === 0 && isLoading) {
22
22
  return;
23
23
  }
24
24
  const sortedRows = [...rows];
@@ -35,7 +35,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
35
35
  }
36
36
  setActiveRows(sortedRows.slice(start, end));
37
37
  setIsPaginating(false);
38
- }, [page, rows, sortColumn, sortDirection, loading, columns]);
38
+ }, [page, rows, sortColumn, sortDirection, isLoading, columns]);
39
39
  const increasePage = () => {
40
40
  if (page === maxPage) {
41
41
  return;
@@ -57,7 +57,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
57
57
  setSortDirection('desc');
58
58
  }
59
59
  };
60
- if (loading || isPaginating) {
60
+ if (isLoading || isPaginating) {
61
61
  return ((0, jsx_runtime_1.jsx)("div", { style: {
62
62
  ...containerStyle,
63
63
  }, children: (0, jsx_runtime_1.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,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /* eslint-disable no-unused-vars */
4
5
  const react_1 = require("react");
5
6
  const core_1 = require("@dnd-kit/core");
6
7
  const sortable_1 = require("@dnd-kit/sortable");
@@ -8,7 +9,7 @@ const utilities_1 = require("@dnd-kit/utilities");
8
9
  const Context_1 = require("../../Context");
9
10
  const width_1 = require("../../utils/width");
10
11
  const textProcessing_1 = require("../../utils/textProcessing");
11
- function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, HandleButton, }) {
12
+ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, }) {
12
13
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
13
14
  const [search, setSearch] = (0, react_1.useState)('');
14
15
  const [searchResults, setSearchResults] = (0, react_1.useState)(orderedColumnNames);
@@ -25,6 +26,8 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
25
26
  // When a drag event ends, switch the item order.
26
27
  function handleDragEnd(event) {
27
28
  const { active, over } = event;
29
+ if (!active || !over)
30
+ return;
28
31
  if (active.id !== over.id) {
29
32
  setOrderedColumnNames((orderedColumnNames) => {
30
33
  const oldIndex = orderedColumnNames.indexOf(active.id);
@@ -43,7 +46,8 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
43
46
  setSearchResults(orderedColumnNames
44
47
  .filter((row) => {
45
48
  const [table, _column] = row.split('.');
46
- return (selectedColumns.length === 0 || selectedColumns[0].startsWith(table));
49
+ const selectedTable = selectedColumns[0]?.split('.')[0];
50
+ return selectedColumns.length === 0 || selectedTable === table;
47
51
  })
48
52
  .filter((row) => search.length === 0 ||
49
53
  row.includes(search) ||
@@ -71,7 +75,7 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
71
75
  overflowY: 'auto',
72
76
  maxWidth: '300px',
73
77
  }, children: [searchResults.map((value) => {
74
- return ((0, jsx_runtime_1.jsx)(SortableItem, { theme: theme, selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' | '), SelectColumn: SelectColumn, HandleButton: HandleButton }, value));
78
+ return ((0, jsx_runtime_1.jsx)(SortableItem, { selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' | '), SelectColumn: SelectColumn }, value));
75
79
  }), search.length > 0 && searchResults.length === 0 && ((0, jsx_runtime_1.jsx)("div", { style: { fontFamily: theme?.fontFamily }, children: "No results found" }))] }) }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
76
80
  display: 'flex',
77
81
  width: '100%',
@@ -125,7 +129,7 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
125
129
  }, label: "Select columns" })] })] }));
126
130
  }
127
131
  exports.default = AddColumnPopover;
128
- const SortableItem = ({ id, label, setSelectedColumns, theme, selectedColumns, SelectColumn, HandleButton, }) => {
132
+ const SortableItem = ({ id, label, setSelectedColumns, selectedColumns, SelectColumn, }) => {
129
133
  const { attributes, listeners, setNodeRef, transform, transition } = (0, sortable_1.useSortable)({ id: id });
130
134
  const style = {
131
135
  transform: utilities_1.CSS.Transform.toString(transform),
@@ -141,7 +145,7 @@ const SortableItem = ({ id, label, setSelectedColumns, theme, selectedColumns, S
141
145
  }
142
146
  });
143
147
  };
144
- return ((0, jsx_runtime_1.jsx)("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: (0, jsx_runtime_1.jsx)(SelectColumn, { selected: selectedColumns?.includes(id), setSelected: handleSelect, label: label, children: (0, jsx_runtime_1.jsx)("div", { style: {
148
+ return ((0, jsx_runtime_1.jsx)("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: (0, jsx_runtime_1.jsx)(SelectColumn, { isSelected: selectedColumns?.includes(id), setSelected: handleSelect, label: label, DragHandle: (props) => ((0, jsx_runtime_1.jsx)("div", { style: {
145
149
  cursor: 'grab',
146
- }, ...attributes, ...listeners, children: (0, jsx_runtime_1.jsx)(HandleButton, {}) }) }) }));
150
+ }, ...attributes, ...listeners, children: (0, jsx_runtime_1.jsx)(props.dragIcon, {}) })) }) }));
147
151
  };
@@ -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"}
@@ -5,29 +5,19 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const UiComponents_1 = require("../UiComponents");
7
7
  const Context_1 = require("../../Context");
8
- const SORT_VALUE_TO_LABEL = {
9
- ASC: 'ascending',
10
- DESC: 'descending',
11
- };
12
- const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, children, }) => {
8
+ const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
13
9
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
14
10
  const handleClickDelete = (e) => {
15
11
  setOpenPopover(null);
16
12
  handleDelete();
17
13
  };
18
- return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(LimitPopover
19
- // @ts-ignore
20
- , {
21
- // @ts-ignore
22
- filterLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
14
+ return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(LimitPopover, { isOpen: isOpen, setIsOpen: setIsOpen, limitLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
23
15
  setIsOpen(false);
24
16
  onSave(column, direction);
25
- }, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton }), isOpen: isOpen, setIsOpen: setIsOpen, onDelete: () => {
26
- handleDelete();
27
- } }) }));
17
+ }, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton }) }) }));
28
18
  };
29
19
  exports.LimitSentence = LimitSentence;
30
- const AddLimitPopover = ({ onSave, initialLimit = 0, isEdit = false, onDelete = () => { }, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
20
+ const AddLimitPopover = ({ onSave, initialLimit = 10, isEdit = false, onDelete = () => { }, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
31
21
  const [limit, setLimit] = (0, react_1.useState)(initialLimit);
32
22
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
33
23
  return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
@@ -35,7 +25,7 @@ const AddLimitPopover = ({ onSave, initialLimit = 0, isEdit = false, onDelete =
35
25
  flexDirection: 'row',
36
26
  gap: 12,
37
27
  padding: '6px 0px',
38
- }, children: (0, jsx_runtime_1.jsx)(TextInput, { id: 'add_limit_input', value: limit, width: 200,
28
+ }, children: (0, jsx_runtime_1.jsx)(TextInput, { id: 'add_limit_input', value: limit.toString() ?? initialLimit.toString(), width: 200,
39
29
  // style={{ minHeight: 32, padding: '6px 12px' }}
40
30
  onChange: (e) => {
41
31
  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"}