@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
@@ -5,14 +5,21 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const QuillSelect_1 = require("../QuillSelect");
7
7
  const UiComponents_1 = require("../UiComponents");
8
- const Context_1 = require("../../Context");
9
8
  const textProcessing_1 = require("../../utils/textProcessing");
10
9
  const SORT_VALUE_TO_LABEL = {
11
10
  ASC: 'ascending',
12
11
  DESC: 'descending',
13
12
  };
14
- const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle = 'Edit Sort', SortPopover, EditPopover, Select = QuillSelect_1.QuillSelectComponent, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, children, }) => {
13
+ const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle = 'Edit Sort', SortPopover, EditPopover, Select = QuillSelect_1.QuillSelectComponent, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
15
14
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
15
+ const handleSetIsOpen = (isOpen) => {
16
+ setIsOpen(isOpen);
17
+ if (!isOpen) {
18
+ setIsPending(false);
19
+ setActiveEditItem(null);
20
+ setActivePath(null);
21
+ }
22
+ };
16
23
  const handleClickDelete = (e) => {
17
24
  e.stopPropagation(); // don't call onClick handler
18
25
  setIsPending(false);
@@ -24,38 +31,29 @@ const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopov
24
31
  if (!sortData && (!sortData.expr.column || !sortData.expr.value)) {
25
32
  return null;
26
33
  }
27
- return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SortPopover
28
- // @ts-ignore
29
- , {
30
- // @ts-ignore
31
- filterLabel: `${(0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.column) || (0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.value)} ${SORT_VALUE_TO_LABEL[sortData.type]}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
34
+ return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SortPopover, { isOpen: isOpen, setIsOpen: handleSetIsOpen, sortLabel: `${(0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.column) || (0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.value)} ${SORT_VALUE_TO_LABEL[sortData.type]}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
32
35
  setIsOpen(false);
33
36
  onSave(column, direction);
34
- }, columns: columns, isEdit: true, onDelete: handleClickDelete, column: sortData.expr.column || sortData.expr.value, Select: Select, Button: Button, SecondaryButton: SecondaryButton }), isOpen: isOpen, setIsOpen: setIsOpen, onDelete: () => {
35
- setIsPending(false);
36
- setActiveEditItem(null);
37
- setActivePath(null);
38
- } }) }));
37
+ }, columns: columns, isEdit: true, onDelete: handleClickDelete, column: sortData.expr.column || sortData.expr.value, Select: Select, Button: Button, SecondaryButton: SecondaryButton }) }) }));
39
38
  };
40
39
  exports.SortSentence = SortSentence;
41
40
  const AddSortPopover = ({ onSave, columns, isEdit, onDelete, column, Select = QuillSelect_1.QuillSelectComponent, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
42
41
  const [sortColumn, setSortColumn] = (0, react_1.useState)(column || '');
43
42
  const [sortDirection, setSortDirection] = (0, react_1.useState)('ASC');
44
- const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
45
43
  return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
46
44
  display: 'flex',
47
45
  flexDirection: 'row',
48
46
  gap: 12,
49
47
  padding: '6px 0px',
50
- }, children: [(0, jsx_runtime_1.jsx)(Select, { theme: theme, value: sortColumn, onChange: (value) => {
51
- setSortColumn(value);
48
+ }, children: [(0, jsx_runtime_1.jsx)(Select, { value: sortColumn, onChange: (e) => {
49
+ setSortColumn(e.target.value);
52
50
  }, options: [
53
51
  ...columns.map((column) => ({
54
52
  label: (0, textProcessing_1.snakeCaseToTitleCase)(column.split('.')[1] || ''),
55
53
  value: column.split('.')[1],
56
54
  })),
57
- ] }), (0, jsx_runtime_1.jsx)(Select, { theme: theme, value: sortDirection, onChange: (value) => {
58
- setSortDirection(value);
55
+ ] }), (0, jsx_runtime_1.jsx)(Select, { value: sortDirection, onChange: (e) => {
56
+ setSortDirection(e.target.value);
59
57
  }, options: [
60
58
  { label: 'Ascending', value: 'ASC' },
61
59
  { label: 'Descending', value: 'DESC' },
@@ -251,7 +251,7 @@ exports.DATE_DESCRIPTION_MAP = {
251
251
  },
252
252
  },
253
253
  },
254
- })]: (node) => `${cleanDateFieldName(node.left.args.value[1].column)} in the last ${node.right.right.expr.value.toLowerCase()}`,
254
+ })]: (node) => `${cleanDateFieldName(node.left.args.value[1].column)} in the previous ${node.right.right.expr.value.toLowerCase()}`,
255
255
  [JSON.stringify({
256
256
  type: 'binary_expr',
257
257
  left: {
@@ -3,6 +3,7 @@ import { Pivot } from './pivot';
3
3
  import { TableInfo } from './schema';
4
4
  export declare function convertDateComparison(node: NSP.Select): NSP.Select;
5
5
  export declare function recursiveSearchAndReplace(node: any, search: string, replace: string): void;
6
+ export declare function recursiveSearchAndReplaceByKey(node: any, search: string, replace: string, searchKey: string): void;
6
7
  /**
7
8
  * Takes a bigquery AST as input, cleans it, and returns a Select AST.
8
9
  */
@@ -20,8 +21,9 @@ export declare function convertGroupBy(ast: AST, prevPivot: Pivot | undefined, s
20
21
  pivot: Pivot;
21
22
  } | {
22
23
  pivot: Partial<{
23
- aggregationType: "sum" | "average" | "count" | "min" | "max";
24
+ aggregationType: "sum" | "average" | "count" | "min" | "max" | "avg";
24
25
  valueField: string;
26
+ valueFieldType?: string | undefined;
25
27
  rowField?: string | undefined;
26
28
  rowFieldType?: string | undefined;
27
29
  columnField?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAMJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AASjD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAuCpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CAwBZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE;;;;;;;;;;;;;;EA8b1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;EA6G5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyJtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAMJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AASjD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAGD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAalB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CA2CpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CAwBZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE;;;;;;;;;;;;;;;EAwd1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;EA6G5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyJtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertRemoveSimpleParentheses = exports.convertStringComparison = exports.applyPivot = exports.convertGroupBy = exports.convertWildcardColumns = exports.convertBigQuery = exports.recursiveSearchAndReplace = exports.convertDateComparison = void 0;
3
+ exports.convertRemoveSimpleParentheses = exports.convertStringComparison = exports.applyPivot = exports.convertGroupBy = exports.convertWildcardColumns = exports.convertBigQuery = exports.recursiveSearchAndReplaceByKey = exports.recursiveSearchAndReplace = exports.convertDateComparison = void 0;
4
4
  const ast_1 = require("./ast");
5
5
  const util_1 = require("./util");
6
6
  // Helper functions that preprocess the AST.
@@ -49,6 +49,21 @@ function recursiveSearchAndReplace(node, search, replace) {
49
49
  }
50
50
  }
51
51
  exports.recursiveSearchAndReplace = recursiveSearchAndReplace;
52
+ // THIS IS USED TO REPLACE UNITS IN INTERVALS FOR BIGQUERY
53
+ function recursiveSearchAndReplaceByKey(node, search, replace, searchKey) {
54
+ if (typeof node !== 'object') {
55
+ return;
56
+ }
57
+ if (node) {
58
+ Object.keys(node).forEach((key) => {
59
+ recursiveSearchAndReplaceByKey(node[key], search, replace, searchKey);
60
+ if (searchKey === key && node[key] === search) {
61
+ node[key] = replace;
62
+ }
63
+ });
64
+ }
65
+ }
66
+ exports.recursiveSearchAndReplaceByKey = recursiveSearchAndReplaceByKey;
52
67
  /**
53
68
  * Takes a bigquery AST as input, cleans it, and returns a Select AST.
54
69
  */
@@ -71,6 +86,10 @@ function convertBigQuery(ast) {
71
86
  recursiveSearchAndReplace(newAst.where, 'CURRENT_DATE', 'CURRENT_TIMESTAMP');
72
87
  recursiveSearchAndReplace(newAst.where, 'DATE_TRUNC', 'TIMESTAMP_TRUNC');
73
88
  recursiveSearchAndReplace(newAst.where, 'DATE', 'TIMESTAMP');
89
+ // JANK: If anyone is here this is how you have to do intervals in BigQuery no joke
90
+ recursiveSearchAndReplaceByKey(newAst.where, 'year', '* 365 DAY', 'unit');
91
+ recursiveSearchAndReplaceByKey(newAst.where, 'week', '* 7 DAY', 'unit');
92
+ recursiveSearchAndReplaceByKey(newAst.where, 'month', '* 30 DAY', 'unit');
74
93
  // TODO: handle joins nicely
75
94
  if (newAst.from?.length > 1) {
76
95
  newAst.from = [newAst.from[0]];
@@ -180,8 +199,11 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
180
199
  else if (column.expr?.args?.expr) {
181
200
  columnName = column.expr?.args?.expr?.value;
182
201
  }
183
- if (column.expr.type === 'aggr_func' && !isIdColumn(columnName)) {
202
+ if (column.expr.type === 'aggr_func' && !(0, util_1.isIdColumn)(columnName)) {
184
203
  pivot.aggregationType = column.expr.name.toLowerCase();
204
+ if (pivot.aggregationType === 'avg') {
205
+ pivot.aggregationType = 'average';
206
+ }
185
207
  pivot.valueField =
186
208
  column.expr.args?.expr?.value || column.expr.args?.expr?.column;
187
209
  if (column.expr.args.expr.type === 'column_ref') {
@@ -197,15 +219,23 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
197
219
  }
198
220
  }
199
221
  if (columnName === '*') {
200
- // TODO: make valueField be a number
222
+ // Use the first numeric column found, if none found, use the first column
223
+ let columnForValueField = columns.find((c) => {
224
+ return (0, ast_1.isNumericColumnType)(c.fieldType) && !(0, util_1.isIdColumn)(c.field);
225
+ });
226
+ if (!columnForValueField) {
227
+ columnForValueField = columns[0];
228
+ }
201
229
  for (let i = 0; i < columns.length; i++) {
202
- if (!isIdColumn(columns[i]?.field) &&
230
+ if (!(0, util_1.isIdColumn)(columns[i]?.field) &&
203
231
  (0, ast_1.isNumericColumnType)(columns[i]?.fieldType)) {
204
- pivot.valueField = columns[i].field;
205
- columnName = columns[i].field;
232
+ columnForValueField = columns[i];
206
233
  break;
207
234
  }
208
235
  }
236
+ pivot.valueField = columnForValueField.field;
237
+ pivot.valueFieldType = 'number';
238
+ columnName = columnForValueField.field;
209
239
  }
210
240
  newColumns.push({
211
241
  type: 'expr',
@@ -234,9 +264,12 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
234
264
  // The result of the CASE is the column to use
235
265
  const columnNode = column.expr?.args?.expr?.args[0]?.result;
236
266
  const columnName = columnNode?.value ?? columnNode?.column;
237
- if (!isIdColumn(columnName)) {
267
+ if (!(0, util_1.isIdColumn)(columnName)) {
238
268
  pivot.valueField = columnName;
239
269
  pivot.aggregationType = column?.expr?.name?.toLowerCase();
270
+ if (pivot.aggregationType === 'avg') {
271
+ pivot.aggregationType = 'average';
272
+ }
240
273
  }
241
274
  const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columnName);
242
275
  if (!newColumns.find(findByName)) {
@@ -254,7 +287,7 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
254
287
  // the CASE and we'll use that as the columnField in our pivot.
255
288
  const condNode = column.expr?.args?.expr?.args[0]?.cond;
256
289
  const condColumnName = condNode.left?.column ?? condNode.left?.value;
257
- if (!isIdColumn(condColumnName)) {
290
+ if (!(0, util_1.isIdColumn)(condColumnName)) {
258
291
  pivot.columnField = condColumnName;
259
292
  }
260
293
  const findByColName = (x) => [x.expr?.value, x.expr?.column].includes(condColumnName);
@@ -283,19 +316,27 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
283
316
  const columnName = columnNode?.value || columnNode?.column;
284
317
  // if count(*), make the value field an actual column
285
318
  if (columnName === '*') {
286
- const numericColumn = columns.find((c) => {
287
- return (0, ast_1.isNumericColumnType)(c.fieldType) && !isIdColumn(c.field);
319
+ let columnForValueField = columns.find((c) => {
320
+ return (0, ast_1.isNumericColumnType)(c.fieldType) && !(0, util_1.isIdColumn)(c.field);
288
321
  });
289
- pivot.valueField = numericColumn?.field;
322
+ // if there aren't any numeric columns use the first column
323
+ if (!column) {
324
+ columnForValueField = columns[0];
325
+ }
326
+ pivot.valueField = columnForValueField?.field;
327
+ pivot.valueFieldType = 'number';
290
328
  pivot.aggregationType = column?.expr?.name.toLowerCase();
291
- const findByName = (x) => [x.expr?.value, x.expr?.column].includes(numericColumn.field);
329
+ if (pivot.aggregationType === 'avg') {
330
+ pivot.aggregationType = 'average';
331
+ }
332
+ const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columnForValueField.field);
292
333
  if (!newColumns.find(findByName)) {
293
334
  newColumns.push({
294
335
  type: 'expr',
295
336
  expr: {
296
337
  type: 'column_ref',
297
338
  table: null,
298
- column: numericColumn?.field || '',
339
+ column: columnForValueField?.field || '',
299
340
  },
300
341
  as: null,
301
342
  });
@@ -304,9 +345,12 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
304
345
  else {
305
346
  // ONLY SET VALUE FIELD IF THE FIELD TYPE IS A NUMBER
306
347
  if ((0, ast_1.isNumericColumnType)(field?.fieldType) &&
307
- !isIdColumn(columnName)) {
348
+ !(0, util_1.isIdColumn)(columnName)) {
308
349
  pivot.valueField = columnName;
309
350
  pivot.aggregationType = column?.expr?.name.toLowerCase();
351
+ if (pivot.aggregationType === 'avg') {
352
+ pivot.aggregationType = 'average';
353
+ }
310
354
  }
311
355
  const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columnName);
312
356
  if (!newColumns.find(findByName)) {
@@ -459,7 +503,7 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
459
503
  for (let j = 0; j < ast.groupby.length; j++) {
460
504
  const group = ast.groupby[j];
461
505
  let groupValue = (0, ast_1.extractColumnish)(group);
462
- if (!groupValue || isIdColumn(groupValue)) {
506
+ if (!groupValue || (0, util_1.isIdColumn)(groupValue)) {
463
507
  continue;
464
508
  }
465
509
  // check if this value is an alias, if so use concrete value
@@ -501,7 +545,7 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
501
545
  newAst.columns[i].expr?.value ||
502
546
  undefined;
503
547
  if (columnName &&
504
- !isIdColumn(columnName) &&
548
+ !(0, util_1.isIdColumn)(columnName) &&
505
549
  (0, ast_1.isNumericColumnType)(columns.find((c) => c.field === columnName)?.fieldType)) {
506
550
  pivot.valueField = columnName;
507
551
  pivot.aggregationType = 'sum';
@@ -782,8 +826,3 @@ function convertRemoveSimpleParentheses(ast) {
782
826
  return { ...ast, where: node };
783
827
  }
784
828
  exports.convertRemoveSimpleParentheses = convertRemoveSimpleParentheses;
785
- function isIdColumn(columnName) {
786
- return (columnName &&
787
- (columnName.toLowerCase() === 'id' ||
788
- columnName.toLowerCase().endsWith('_id')));
789
- }
@@ -17,6 +17,8 @@ export declare const OPERATOR_GROUPS: {
17
17
  between: string;
18
18
  'IS NOT': string;
19
19
  IS: string;
20
+ EQUALS: string;
21
+ equals: string;
20
22
  };
21
23
  export declare const getDefaultOperatorSubtrees: (key: any, operator: any, left: any, right: any, databaseType: string) => any;
22
24
  export declare const DEFAULT_OPERATOR_SUBTREES: {
@@ -416,29 +418,32 @@ export declare const DEFAULT_BIG_QUERY_OPERATOR_SUBTREES: {
416
418
  name: string;
417
419
  args: {
418
420
  type: string;
419
- value: ({
420
- type: string;
421
- value: string;
422
- table?: undefined;
423
- column?: undefined;
424
- } | {
421
+ value: {
425
422
  type: string;
426
423
  table: null;
427
424
  column: string;
428
- value?: undefined;
429
- })[];
425
+ }[];
430
426
  };
427
+ over: null;
431
428
  };
432
429
  right: {
433
430
  type: string;
434
431
  name: string;
435
432
  args: {
436
433
  type: string;
437
- value: {
434
+ value: ({
438
435
  type: string;
439
436
  value: string;
440
- }[];
437
+ table?: undefined;
438
+ column?: undefined;
439
+ } | {
440
+ type: string;
441
+ table: null;
442
+ column: string;
443
+ value?: undefined;
444
+ })[];
441
445
  };
446
+ over: null;
442
447
  };
443
448
  };
444
449
  };
@@ -1 +1 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/operators.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAmB3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAChC,GAAG,YACE,GAAG,QACP,GAAG,SACF,GAAG,gBACI,MAAM,QA8DrB,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoQrC,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+L/C,CAAC"}
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/operators.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;CAqB3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAChC,GAAG,YACE,GAAG,QACP,GAAG,SACF,GAAG,gBACI,MAAM,QAoErB,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoQrC,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmM/C,CAAC"}
@@ -24,6 +24,8 @@ exports.OPERATOR_GROUPS = {
24
24
  between: 'in_the_last',
25
25
  'IS NOT': 'null_comp',
26
26
  IS: 'null_comp',
27
+ EQUALS: 'equals',
28
+ equals: 'equals',
27
29
  };
28
30
  const getDefaultOperatorSubtrees = (key, operator, left, right, databaseType) => {
29
31
  let result = exports.DEFAULT_OPERATOR_SUBTREES[key];
@@ -84,7 +86,14 @@ const getDefaultOperatorSubtrees = (key, operator, left, right, databaseType) =>
84
86
  result.left.column = left;
85
87
  }
86
88
  else if (key === 'equals') {
87
- result.left.args.value[1].column = left;
89
+ if (databaseType === 'BigQuery') {
90
+ result = exports.DEFAULT_BIG_QUERY_OPERATOR_SUBTREES['equals'];
91
+ result.left.args.value[0].column = left;
92
+ result.left.column = left;
93
+ }
94
+ else {
95
+ result.left.args.value[1].column = left;
96
+ }
88
97
  }
89
98
  else if (key === 'date') {
90
99
  result.operator = operator;
@@ -515,38 +524,42 @@ exports.DEFAULT_BIG_QUERY_OPERATOR_SUBTREES = {
515
524
  operator: '=',
516
525
  left: {
517
526
  type: 'function',
518
- name: 'date_trunc',
527
+ name: 'timestamp_trunc',
519
528
  args: {
520
529
  type: 'expr_list',
521
530
  value: [
522
531
  {
523
- type: 'single_quote_string',
524
- value: 'month',
532
+ type: 'column_ref',
533
+ table: null,
534
+ column: '',
525
535
  },
526
536
  {
527
537
  type: 'column_ref',
528
538
  table: null,
529
- column: '',
539
+ column: 'YEAR',
530
540
  },
531
541
  ],
532
542
  },
543
+ over: null,
533
544
  },
534
545
  right: {
535
546
  type: 'function',
536
- name: 'date_trunc',
547
+ name: 'timestamp_trunc',
537
548
  args: {
538
549
  type: 'expr_list',
539
550
  value: [
540
- {
541
- type: 'single_quote_string',
542
- value: 'month',
543
- },
544
551
  {
545
552
  type: 'timestamp',
546
553
  value: '2024-01-01',
547
554
  },
555
+ {
556
+ type: 'column_ref',
557
+ table: null,
558
+ column: 'YEAR',
559
+ },
548
560
  ],
549
561
  },
562
+ over: null,
550
563
  },
551
564
  },
552
565
  };
@@ -2,8 +2,9 @@
2
2
  * Represents the metadata of a pivot table.
3
3
  */
4
4
  export type Pivot = {
5
- aggregationType: 'sum' | 'average' | 'min' | 'max' | 'count';
5
+ aggregationType: 'sum' | 'average' | 'min' | 'max' | 'count' | 'avg';
6
6
  valueField: string;
7
+ valueFieldType?: string;
7
8
  rowField?: string;
8
9
  rowFieldType?: string;
9
10
  columnField?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pivot.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/pivot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;CAC/B,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"pivot.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/pivot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;CAC/B,GAAG,IAAI,CAAC"}
@@ -1,4 +1,5 @@
1
- /// <reference types="react" />
1
+ import { ReactNode } from 'react';
2
+ import { SidebarComponentProps, ContainerComponentProps } from '../UiComponents';
2
3
  /**
3
4
  * This file is a collection of basic UI components that conform to the shape
4
5
  * expected by the Report Builder. Where possible, we use our existing
@@ -9,26 +10,89 @@ export declare const QuillButton: ({ children, ...props }: any) => import("react
9
10
  export declare const QuillSecondaryButton: ({ children, ...props }: any) => import("react/jsx-runtime").JSX.Element;
10
11
  export declare const QuillReportBuilderTable: ({ rows, columns, error, ...props }: any) => import("react/jsx-runtime").JSX.Element;
11
12
  export declare const QuillTag: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
12
- export declare const QuillSidebarHeading: ({ label }: any) => import("react/jsx-runtime").JSX.Element;
13
- export declare const QuillSidebarSubHeading: ({ label }: any) => import("react/jsx-runtime").JSX.Element;
14
- export declare const QuillSidebar: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
15
- export declare const CustomContainer: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
16
- export declare const QuillSelect: ({ onChange, ...props }: any) => import("react/jsx-runtime").JSX.Element;
17
- export declare function MemoizedPopover({ onClose, children, style, trigger, isOpen, }: any): import("react/jsx-runtime").JSX.Element;
18
- export declare const QuillPopover: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
13
+ export interface SidebarHeadingComponentProps {
14
+ label: string;
15
+ }
16
+ export declare const QuillSidebarHeading: ({ label, }: SidebarHeadingComponentProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const QuillSidebar: ({ children }: SidebarComponentProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const CustomContainer: ({ children }: ContainerComponentProps) => import("react/jsx-runtime").JSX.Element;
19
19
  export declare const QuillHandleButton: () => import("react/jsx-runtime").JSX.Element;
20
- export declare const QuillSelectColumn: ({ label, selected, setSelected, children, }: any) => import("react/jsx-runtime").JSX.Element;
21
- export declare const QuillDraggableColumn: ({ label, children, onDelete }: any) => import("react/jsx-runtime").JSX.Element;
20
+ export interface SelectColumnComponentProps {
21
+ label: string;
22
+ isSelected: boolean;
23
+ setSelected: () => void;
24
+ DragHandle: ({ dragIcon }: {
25
+ dragIcon: () => JSX.Element;
26
+ }) => JSX.Element;
27
+ }
28
+ export declare const QuillSelectColumn: ({ label, isSelected, setSelected, DragHandle, }: SelectColumnComponentProps) => import("react/jsx-runtime").JSX.Element;
29
+ /**
30
+ * Props for a draggable card with a grab-handle and a column name.
31
+ */
32
+ export interface DraggableColumnComponentProps {
33
+ label: string;
34
+ onDelete: () => void;
35
+ DragHandle: ({ dragIcon }: {
36
+ dragIcon: () => JSX.Element;
37
+ }) => JSX.Element;
38
+ }
39
+ /**
40
+ * A draggable card with a grab-handle and a column name
41
+ */
42
+ export declare const QuillDraggableColumn: ({ label, onDelete, DragHandle, }: DraggableColumnComponentProps) => import("react/jsx-runtime").JSX.Element;
22
43
  export declare const QuillButtonLoadingState: () => import("react/jsx-runtime").JSX.Element;
23
44
  export declare const QuillTableLoadingState: () => import("react/jsx-runtime").JSX.Element;
24
- export declare const DEFAULT_TAB_OPTIONS: {
25
- label: string;
26
- value: string;
27
- }[];
28
- export declare const QuillTabs: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
29
45
  export declare const EditPopover: ({ onSave, onDelete, Button, renderNode, activeEditItem, }: any) => import("react/jsx-runtime").JSX.Element;
30
- export declare const QuillFilterPopover: ({ filterLabel, onClickDeleteFilter, popoverTitle, popoverChildren, isOpen, setIsOpen, }: any) => import("react/jsx-runtime").JSX.Element;
31
- export declare const QuillSortPopover: ({ filterLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: any) => import("react/jsx-runtime").JSX.Element;
32
- export declare const TagWrapper: ({ isCard, isRow, editPopoverKey, keyPrefix, formData, activeEditItem, setEditPopoverKey, setActiveEditItem, setActivePath, setOpenPopover, setIsPending, clearCheckboxes, fetchSqlQuery, handleDelete, setCheckboxes, handleReplaceSubtree, FilterPopover, getByKey, EditPopover, Button, renderNode, children, }: any) => import("react/jsx-runtime").JSX.Element;
46
+ export interface FilterPopoverComponentProps {
47
+ isOpen: boolean;
48
+ setIsOpen: (isOpen: boolean) => void;
49
+ popoverTitle?: string;
50
+ popoverChildren: ReactNode;
51
+ filterLabel: string;
52
+ onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
53
+ }
54
+ export declare const QuillFilterPopover: ({ filterLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: FilterPopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
55
+ export interface SortPopoverComponentProps {
56
+ isOpen: boolean;
57
+ setIsOpen: (isOpen: boolean) => void;
58
+ popoverTitle?: string;
59
+ popoverChildren: ReactNode;
60
+ sortLabel: string;
61
+ onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
62
+ }
63
+ export declare const QuillSortPopover: ({ sortLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: SortPopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
64
+ export interface LimitPopoverComponentProps {
65
+ isOpen: boolean;
66
+ setIsOpen: (isOpen: boolean) => void;
67
+ popoverTitle?: string;
68
+ popoverChildren: ReactNode;
69
+ limitLabel: string;
70
+ onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
71
+ }
72
+ export declare const QuillLimitPopover: ({ limitLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: LimitPopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
73
+ export interface TagWrapperProps {
74
+ isCard: boolean;
75
+ isRow: boolean;
76
+ editPopoverKey: string;
77
+ keyPrefix: string;
78
+ formData: any;
79
+ activeEditItem: any;
80
+ setEditPopoverKey: any;
81
+ setActiveEditItem: any;
82
+ setActivePath: any;
83
+ setOpenPopover: any;
84
+ setIsPending: any;
85
+ clearCheckboxes: any;
86
+ handleDelete: any;
87
+ setCheckboxes: any;
88
+ handleReplaceSubtree: any;
89
+ FilterPopover: (props: FilterPopoverComponentProps) => JSX.Element;
90
+ getByKey: any;
91
+ EditPopover: any;
92
+ Button: any;
93
+ renderNode: any;
94
+ children: any;
95
+ }
96
+ export declare const TagWrapper: ({ isCard, isRow, editPopoverKey, keyPrefix, formData, activeEditItem, setEditPopoverKey, setActiveEditItem, setActivePath, setOpenPopover, setIsPending, clearCheckboxes, handleDelete, setCheckboxes, handleReplaceSubtree, FilterPopover, getByKey, EditPopover, Button, renderNode, children, }: TagWrapperProps) => import("react/jsx-runtime").JSX.Element;
33
97
  export declare const AddFilterPopover: ({ onSave, Button, renderNode, activeEditItem, }: any) => import("react/jsx-runtime").JSX.Element;
34
98
  //# sourceMappingURL=ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":";AAiBA;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,2BAA4B,GAAG,4CA2BtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,2BAA4B,GAAG,4CA2B/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,uCAKjC,GAAG,4CAiBL,CAAC;AAEF,eAAO,MAAM,QAAQ,sGAoFpB,CAAC;AAGF,eAAO,MAAM,mBAAmB,cAAe,GAAG,4CAEjD,CAAC;AAGF,eAAO,MAAM,sBAAsB,cAAe,GAAG,4CAEpD,CAAC;AAGF,eAAO,MAAM,YAAY,sGAiBxB,CAAC;AAGF,eAAO,MAAM,eAAe,sGAuB3B,CAAC;AAEF,eAAO,MAAM,WAAW,2BAA4B,GAAG,4CAUtD,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,EACR,KAAU,EACV,OAAO,EACP,MAAM,GACP,EAAE,GAAG,2CAgDL;AAED,eAAO,MAAM,YAAY,sGAkCxB,CAAC;AAGF,eAAO,MAAM,iBAAiB,+CAwE7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gDAK3B,GAAG,4CA6CL,CAAC;AAGF,eAAO,MAAM,oBAAoB,kCAAmC,GAAG,4CAiDtE,CAAC;AAGF,eAAO,MAAM,uBAAuB,+CAMnC,CAAC;AAGF,eAAO,MAAM,sBAAsB,+CAMlC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAG/B,CAAC;AAEF,eAAO,MAAM,SAAS,sGAIrB,CAAC;AAEF,eAAO,MAAM,WAAW,8DAMrB,GAAG,4CA+BL,CAAC;AAEF,eAAO,MAAM,kBAAkB,4FAO5B,GAAG,4CAqBL,CAAC;AAEF,eAAO,MAAM,gBAAgB,sFAO1B,GAAG,4CAqBL,CAAC;AAEF,eAAO,MAAM,UAAU,sTAuBpB,GAAG,4CAqFL,CAAC;AAEF,eAAO,MAAM,gBAAgB,oDAK1B,GAAG,4CAsBL,CAAC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":"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"}