@quillsql/react 2.13.40 → 2.13.42

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 (267) hide show
  1. package/dist/cjs/Chart.d.ts +5 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +51 -28
  4. package/dist/cjs/ChartBuilder.d.ts +30 -3
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +483 -182
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +11 -1
  9. package/dist/cjs/Context.d.ts +16 -4
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +95 -46
  12. package/dist/cjs/Dashboard.d.ts +6 -3
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +69 -28
  15. package/dist/cjs/QuillProvider.d.ts +4 -8
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/ReportBuilder.d.ts +2 -1
  18. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  19. package/dist/cjs/ReportBuilder.js +190 -48
  20. package/dist/cjs/SQLEditor.d.ts +8 -1
  21. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  22. package/dist/cjs/SQLEditor.js +94 -10
  23. package/dist/cjs/Table.d.ts +21 -1
  24. package/dist/cjs/Table.d.ts.map +1 -1
  25. package/dist/cjs/Table.js +30 -192
  26. package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
  27. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarChart.js +4 -3
  29. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
  30. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  31. package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
  32. package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
  33. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
  34. package/dist/cjs/components/Chart/GaugeChart.js +198 -0
  35. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/InternalChart.js +14 -11
  37. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  38. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/LineChart.js +4 -3
  40. package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
  41. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
  42. package/dist/cjs/components/Chart/MapChart.js +548 -0
  43. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
  45. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  46. package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
  47. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  49. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  51. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  52. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  53. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  55. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  56. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  59. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  61. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  62. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  63. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  65. package/dist/cjs/components/UiComponents.d.ts +5 -2
  66. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  67. package/dist/cjs/components/UiComponents.js +34 -7
  68. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/cjs/hooks/useDashboard.js +11 -9
  70. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useExport.js +18 -4
  72. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  73. package/dist/cjs/hooks/useQuill.js +16 -3
  74. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  75. package/dist/cjs/hooks/useReport.js +1 -7
  76. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  77. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  79. package/dist/cjs/index.d.ts +1 -1
  80. package/dist/cjs/index.d.ts.map +1 -1
  81. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  82. package/dist/cjs/internals/ReportBuilder/PivotModal.js +7 -8
  83. package/dist/cjs/models/Columns.d.ts +1 -0
  84. package/dist/cjs/models/Columns.d.ts.map +1 -1
  85. package/dist/cjs/models/Filter.d.ts +20 -13
  86. package/dist/cjs/models/Filter.d.ts.map +1 -1
  87. package/dist/cjs/models/Filter.js +161 -87
  88. package/dist/cjs/models/Report.d.ts +12 -1
  89. package/dist/cjs/models/Report.d.ts.map +1 -1
  90. package/dist/cjs/models/Schema.d.ts +12 -1
  91. package/dist/cjs/models/Schema.d.ts.map +1 -1
  92. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  93. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  94. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  95. package/dist/cjs/utils/astProcessing.js +25 -6
  96. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  97. package/dist/cjs/utils/axisFormatter.js +25 -0
  98. package/dist/cjs/utils/color.d.ts +159 -0
  99. package/dist/cjs/utils/color.d.ts.map +1 -1
  100. package/dist/cjs/utils/color.js +14 -5
  101. package/dist/cjs/utils/columnProcessing.js +3 -3
  102. package/dist/cjs/utils/constants.d.ts +1 -0
  103. package/dist/cjs/utils/constants.d.ts.map +1 -1
  104. package/dist/cjs/utils/constants.js +2 -1
  105. package/dist/cjs/utils/dashboard.d.ts +14 -3
  106. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  107. package/dist/cjs/utils/dashboard.js +79 -16
  108. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  109. package/dist/cjs/utils/dataFetcher.js +3 -1
  110. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  111. package/dist/cjs/utils/filterProcessing.js +9 -9
  112. package/dist/cjs/utils/getDomain.d.ts +4 -1
  113. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  114. package/dist/cjs/utils/getDomain.js +11 -1
  115. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/pivotConstructor.js +9 -6
  117. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  118. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  119. package/dist/cjs/utils/queryConstructor.js +83 -49
  120. package/dist/cjs/utils/report.d.ts +23 -5
  121. package/dist/cjs/utils/report.d.ts.map +1 -1
  122. package/dist/cjs/utils/report.js +36 -14
  123. package/dist/cjs/utils/schema.d.ts +28 -3
  124. package/dist/cjs/utils/schema.d.ts.map +1 -1
  125. package/dist/cjs/utils/schema.js +79 -43
  126. package/dist/cjs/utils/tableProcessing.d.ts +12 -3
  127. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  128. package/dist/cjs/utils/tableProcessing.js +36 -8
  129. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  130. package/dist/cjs/utils/textProcessing.js +0 -1
  131. package/dist/cjs/utils/valueFormatter.d.ts +1 -0
  132. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  133. package/dist/cjs/utils/valueFormatter.js +55 -1
  134. package/dist/esm/Chart.d.ts +5 -1
  135. package/dist/esm/Chart.d.ts.map +1 -1
  136. package/dist/esm/Chart.js +52 -29
  137. package/dist/esm/ChartBuilder.d.ts +30 -3
  138. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  139. package/dist/esm/ChartBuilder.js +487 -187
  140. package/dist/esm/ChartEditor.d.ts.map +1 -1
  141. package/dist/esm/ChartEditor.js +11 -1
  142. package/dist/esm/Context.d.ts +16 -4
  143. package/dist/esm/Context.d.ts.map +1 -1
  144. package/dist/esm/Context.js +97 -48
  145. package/dist/esm/Dashboard.d.ts +6 -3
  146. package/dist/esm/Dashboard.d.ts.map +1 -1
  147. package/dist/esm/Dashboard.js +70 -29
  148. package/dist/esm/QuillProvider.d.ts +4 -8
  149. package/dist/esm/QuillProvider.d.ts.map +1 -1
  150. package/dist/esm/ReportBuilder.d.ts +2 -1
  151. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  152. package/dist/esm/ReportBuilder.js +192 -50
  153. package/dist/esm/SQLEditor.d.ts +8 -1
  154. package/dist/esm/SQLEditor.d.ts.map +1 -1
  155. package/dist/esm/SQLEditor.js +95 -11
  156. package/dist/esm/Table.d.ts +21 -1
  157. package/dist/esm/Table.d.ts.map +1 -1
  158. package/dist/esm/Table.js +34 -196
  159. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  160. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  161. package/dist/esm/components/Chart/BarChart.js +5 -4
  162. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  163. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  164. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  165. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  166. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  167. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  168. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  169. package/dist/esm/components/Chart/InternalChart.js +14 -11
  170. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  171. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  172. package/dist/esm/components/Chart/LineChart.js +5 -4
  173. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  174. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  175. package/dist/esm/components/Chart/MapChart.js +541 -0
  176. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  177. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  178. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  179. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  180. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  181. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  182. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  183. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  184. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  185. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  186. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  187. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  188. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  189. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  190. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  191. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  192. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  193. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  194. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  195. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  196. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  197. package/dist/esm/components/ReportBuilder/util.js +15 -2
  198. package/dist/esm/components/UiComponents.d.ts +5 -2
  199. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  200. package/dist/esm/components/UiComponents.js +32 -6
  201. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  202. package/dist/esm/hooks/useDashboard.js +11 -9
  203. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  204. package/dist/esm/hooks/useExport.js +19 -5
  205. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  206. package/dist/esm/hooks/useQuill.js +16 -3
  207. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  208. package/dist/esm/hooks/useReport.js +1 -7
  209. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  210. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  211. package/dist/esm/hooks/useVirtualTables.js +6 -3
  212. package/dist/esm/index.d.ts +1 -1
  213. package/dist/esm/index.d.ts.map +1 -1
  214. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  215. package/dist/esm/internals/ReportBuilder/PivotModal.js +7 -8
  216. package/dist/esm/models/Columns.d.ts +1 -0
  217. package/dist/esm/models/Columns.d.ts.map +1 -1
  218. package/dist/esm/models/Filter.d.ts +20 -13
  219. package/dist/esm/models/Filter.d.ts.map +1 -1
  220. package/dist/esm/models/Filter.js +160 -86
  221. package/dist/esm/models/Report.d.ts +12 -1
  222. package/dist/esm/models/Report.d.ts.map +1 -1
  223. package/dist/esm/models/Schema.d.ts +12 -1
  224. package/dist/esm/models/Schema.d.ts.map +1 -1
  225. package/dist/esm/utils/astFilterProcessing.js +23 -23
  226. package/dist/esm/utils/astProcessing.d.ts +2 -2
  227. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  228. package/dist/esm/utils/astProcessing.js +25 -6
  229. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  230. package/dist/esm/utils/axisFormatter.js +25 -0
  231. package/dist/esm/utils/color.d.ts +159 -0
  232. package/dist/esm/utils/color.d.ts.map +1 -1
  233. package/dist/esm/utils/color.js +8 -2
  234. package/dist/esm/utils/columnProcessing.js +3 -3
  235. package/dist/esm/utils/constants.d.ts +1 -0
  236. package/dist/esm/utils/constants.d.ts.map +1 -1
  237. package/dist/esm/utils/constants.js +1 -0
  238. package/dist/esm/utils/dashboard.d.ts +14 -3
  239. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  240. package/dist/esm/utils/dashboard.js +80 -17
  241. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  242. package/dist/esm/utils/dataFetcher.js +3 -1
  243. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  244. package/dist/esm/utils/filterProcessing.js +10 -10
  245. package/dist/esm/utils/getDomain.d.ts +4 -1
  246. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  247. package/dist/esm/utils/getDomain.js +11 -1
  248. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  249. package/dist/esm/utils/pivotConstructor.js +9 -6
  250. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  251. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  252. package/dist/esm/utils/queryConstructor.js +83 -49
  253. package/dist/esm/utils/report.d.ts +23 -5
  254. package/dist/esm/utils/report.d.ts.map +1 -1
  255. package/dist/esm/utils/report.js +38 -16
  256. package/dist/esm/utils/schema.d.ts +28 -3
  257. package/dist/esm/utils/schema.d.ts.map +1 -1
  258. package/dist/esm/utils/schema.js +78 -43
  259. package/dist/esm/utils/tableProcessing.d.ts +12 -3
  260. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  261. package/dist/esm/utils/tableProcessing.js +36 -8
  262. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  263. package/dist/esm/utils/textProcessing.js +0 -1
  264. package/dist/esm/utils/valueFormatter.d.ts +1 -0
  265. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  266. package/dist/esm/utils/valueFormatter.js +53 -0
  267. package/package.json +10 -3
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
- import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedSecondaryButton, MemoizedText, MemoizedPopover, QuillTabs, MemoizedModal, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillColumnSearchEmptyState, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillTableReportBuilderComponent, } from './components/UiComponents';
3
+ import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedSecondaryButton, MemoizedText, MemoizedPopover, QuillTabs, MemoizedModal, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillColumnSearchEmptyState, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillTableReportBuilderComponent, QuillChartBuilderCheckboxComponent, } from './components/UiComponents';
4
4
  import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
5
5
  import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, } from '@dnd-kit/sortable';
6
6
  import { CSS as DND_CSS } from '@dnd-kit/utilities';
@@ -14,7 +14,7 @@ import { hashCode } from './utils/crypto';
14
14
  import { defaultAST, defaultColumn, defaultEntry, defaultNumericComparison, defaultTable, } from './components/ReportBuilder/constants';
15
15
  import AddColumnModal from './components/ReportBuilder/AddColumnModal';
16
16
  import { AddSortPopover, SortSentence, } from './components/ReportBuilder/AddSortPopover';
17
- import { PivotModal, generatePivotTable, } from './internals/ReportBuilder/PivotModal';
17
+ import { PivotModal, generatePivotTable, isDateField, } from './internals/ReportBuilder/PivotModal';
18
18
  import { snakeAndCamelCaseToTitleCase } from './utils/textProcessing';
19
19
  import { AddLimitPopover, LimitSentence, } from './components/ReportBuilder/AddLimitPopover';
20
20
  import { updateFirstChildWidth } from './utils/width';
@@ -37,6 +37,10 @@ import { TEMP_REPORT_ID, } from './models/Report';
37
37
  import equal from 'fast-deep-equal';
38
38
  import FilterStack from './components/ReportBuilder/FilterStack';
39
39
  import { QUILL_SERVER } from './utils/constants';
40
+ import { convertQueryToSelectStar } from './components/ReportBuilder/convert';
41
+ import { disambiguatedValueField } from './utils/pivotConstructor';
42
+ import { isDateType, isNumberType } from './utils/columnProcessing';
43
+ import { cleanDashboardItem } from './utils/dashboard';
40
44
  /**
41
45
  * Quill Report Builder
42
46
  *
@@ -68,9 +72,7 @@ import { QUILL_SERVER } from './utils/constants';
68
72
  * ### Report Builder API
69
73
  * @see https://docs.quillsql.com/components/report-builder
70
74
  */
71
- export default function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void null, onSubmitCreateReport = () => void null, onDiscardChanges = undefined, onSaveChanges = undefined, onCloseChartBuilder = undefined, destinationDashboard, chartBuilderTitle = undefined, organizationName = '', ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, ModalComponent = MemoizedModal, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponentWithCombo, TableComponent = QuillTableReportBuilderComponent, PopoverComponent = MemoizedPopover, TabsComponent = QuillTabs,
72
- // CheckboxComponent = MemoizedCheckbox,
73
- SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectColumnComponent = QuillSelectColumn, DraggableColumnComponent = QuillDraggableColumn, SidebarHeadingComponent = QuillSidebarHeading, FilterPopoverComponent = QuillFilterPopover, SortPopoverComponent = QuillSortPopover, LimitPopoverComponent = QuillLimitPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, LoadingComponent = QuillLoadingComponent, ColumnSearchEmptyState = QuillColumnSearchEmptyState, ChartBuilderFormContainer = QuillChartBuilderFormContainer, ChartBuilderModalComponent = MemoizedModal, isAdminEnabled = false, isAIEnabled = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, onClickChartElement, }) {
75
+ export default function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void null, onSubmitCreateReport = () => void null, onSubmitSaveQuery = () => void null, onDiscardChanges = undefined, onSaveChanges = undefined, onCloseChartBuilder = undefined, destinationDashboard, chartBuilderTitle = undefined, organizationName = '', ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, ModalComponent = MemoizedModal, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponentWithCombo, TableComponent = QuillTableReportBuilderComponent, PopoverComponent = MemoizedPopover, TabsComponent = QuillTabs, CheckboxComponent = QuillChartBuilderCheckboxComponent, SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectColumnComponent = QuillSelectColumn, DraggableColumnComponent = QuillDraggableColumn, SidebarHeadingComponent = QuillSidebarHeading, FilterPopoverComponent = QuillFilterPopover, SortPopoverComponent = QuillSortPopover, LimitPopoverComponent = QuillLimitPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, LoadingComponent = QuillLoadingComponent, ColumnSearchEmptyState = QuillColumnSearchEmptyState, ChartBuilderFormContainer = QuillChartBuilderFormContainer, ChartBuilderModalComponent = MemoizedModal, isAdminEnabled = false, isAIEnabled = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, onClickChartElement, }) {
74
76
  const [dashboard] = useContext(DashboardContext);
75
77
  const [schemaData] = useContext(SchemaDataContext);
76
78
  const { dashboardFilters } = useContext(DashboardFiltersContext);
@@ -92,6 +94,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
92
94
  const [orderedColumnNames, setOrderedColumnNames] = useState([]);
93
95
  const [selectedColumns, setSelectedColumns] = useState([]);
94
96
  const [selectedOrderedColumns, setSelectedOrderedColumns] = useState([]);
97
+ const [isSaveQueryModalOpen, setIsSaveQueryModalOpen] = useState(false);
95
98
  const [activeQuery, setActiveQuery] = useState('');
96
99
  const [, setActiveEditItem] = useState(null);
97
100
  const [openPopover, setOpenPopover] = useState(null);
@@ -133,11 +136,13 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
133
136
  const [theme] = useContext(ThemeContext);
134
137
  const [pivotRowField, setPivotRowField] = useState(undefined);
135
138
  const [pivotColumnField, setPivotColumnField] = useState(undefined);
136
- const [pivotAggregations, setPivotAggregations] = useState(reportInfo?.pivot?.aggregations ?? [{
139
+ const [pivotAggregations, setPivotAggregations] = useState(reportInfo?.pivot?.aggregations ?? [
140
+ {
137
141
  valueField: reportInfo?.pivot?.valueField,
138
142
  valueField2: reportInfo?.pivot?.valueField2,
139
143
  aggregationType: reportInfo?.pivot?.aggregationType,
140
- }]);
144
+ },
145
+ ]);
141
146
  const [pivotHint, setPivotHint] = useState('');
142
147
  /* eslint-disable-next-line */
143
148
  const [pivotError, setPivotError] = useState(undefined);
@@ -217,8 +222,10 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
217
222
  ...newPivot,
218
223
  aggregations: newPivot.aggregations?.map((agg) => ({
219
224
  ...agg,
220
- valueFieldType: searchColumns.find((c) => c.field === agg.valueField)?.jsType,
221
- valueField2Type: searchColumns.find((c) => c.field === agg.valueField2)?.jsType,
225
+ valueFieldType: searchColumns.find((c) => c.field === agg.valueField)
226
+ ?.jsType,
227
+ valueField2Type: searchColumns.find((c) => c.field === agg.valueField2)
228
+ ?.jsType,
222
229
  })),
223
230
  valueField: newPivot.aggregations?.[0]?.valueField,
224
231
  valueField2: newPivot.aggregations?.[0]?.valueField2,
@@ -239,7 +246,9 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
239
246
  // set all percentage aggregations to undefined
240
247
  setPivotAggregations(pivotAggregations.map((agg) => ({
241
248
  ...agg,
242
- aggregationType: agg.aggregationType === 'percentage' ? undefined : agg.aggregationType,
249
+ aggregationType: agg.aggregationType === 'percentage'
250
+ ? undefined
251
+ : agg.aggregationType,
243
252
  })));
244
253
  }
245
254
  // check to see if the new rowField value is a date field
@@ -258,7 +267,9 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
258
267
  }
259
268
  newPivot = setTypesOnPivot(newPivot, columns);
260
269
  setPivot(setTypesOnPivot(newPivot, columns));
261
- if (newPivot.aggregations?.length === 0 || newPivot.aggregations?.some((agg) => !agg.aggregationType) || newPivot.aggregations?.some((agg) => !agg.valueField && agg.aggregationType !== 'count')) {
270
+ if (newPivot.aggregations?.length === 0 ||
271
+ newPivot.aggregations?.some((agg) => !agg.aggregationType) ||
272
+ newPivot.aggregations?.some((agg) => !agg.valueField && agg.aggregationType !== 'count')) {
262
273
  return;
263
274
  }
264
275
  const { valid, reason } = isValidPivot(newPivot);
@@ -290,7 +301,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
290
301
  label: newPivot.columnField,
291
302
  format: 'string',
292
303
  },
293
- ], activeQuery, [], client, tenants, schemaData.customFields ?? [], undefined, dashboardName);
304
+ ], activeQuery, [], client, tenants, schemaData.customFields ?? {}, undefined, dashboardName);
294
305
  }
295
306
  }
296
307
  try {
@@ -559,7 +570,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
559
570
  const dateColumnNames = dateColumns.map((column) => {
560
571
  return column.field;
561
572
  });
562
- const dateRanges = await getQueryDateRangeByColumns(dateColumns, `Select ${dateColumnNames.join(', ')} from ${tableName}`, client, tenants, schemaData.customFields ?? [], dashboardName);
573
+ const dateRanges = await getQueryDateRangeByColumns(dateColumns, `Select ${dateColumnNames.join(', ')} from ${tableName}`, client, tenants, schemaData.customFields ?? {}, dashboardName);
563
574
  return dateRanges;
564
575
  };
565
576
  // It's just like getColumnsInPivot but we expand the columnField
@@ -621,7 +632,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
621
632
  };
622
633
  const onSchemaChange = async () => {
623
634
  try {
624
- setOrderedColumnNames((schemaData.schema ?? []).flatMap((table) => table.columns
635
+ setOrderedColumnNames((schemaData.schemaWithCustomFields ?? []).flatMap((table) => table.columns
625
636
  .map((c) => `${table.name}.${c.field}`)
626
637
  .sort((a, b) => {
627
638
  const aIsId = a.endsWith('.id') ||
@@ -639,7 +650,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
639
650
  return 0;
640
651
  })));
641
652
  if (initialTableName) {
642
- await loadTable(schemaData.schema);
653
+ await loadTable(schemaData.schemaWithCustomFields);
643
654
  }
644
655
  setInitialLoad(false);
645
656
  }
@@ -658,7 +669,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
658
669
  if (!report || report.referencedTables?.length !== 1) {
659
670
  throw new Error('Report not found');
660
671
  }
661
- const { ast: newAst, pivot: newPivot, schema: curSchema, } = await fetchASTFromQuillReport(report, client, schemaData.schema);
672
+ const { ast: newAst, pivot: newPivot, schema: curSchema, } = await fetchASTFromQuillReport(report, client, schemaData.schemaWithCustomFields);
662
673
  setBaseAst({ ...newAst, where: null });
663
674
  await fetchReportFromASTHelper({
664
675
  baseAst: { ...newAst, where: null },
@@ -683,7 +694,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
683
694
  }, [dashboard[reportId || '']]);
684
695
  useEffect(() => {
685
696
  onSchemaChange();
686
- }, [schemaData.schema, initialTableName, reportId]);
697
+ }, [schemaData.schemaWithCustomFields, initialTableName, reportId]);
687
698
  // Function to handle the insertion of expressions
688
699
  const handleInsertion = (value) => {
689
700
  const newFilterStack = [...filterStack];
@@ -744,13 +755,17 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
744
755
  else if (pivot && pivot.rowField) {
745
756
  return [
746
757
  { label: snakeAndCamelCaseToTitleCase(pivot.rowField) },
747
- ...(pivot.aggregations ?? []).filter((a) => !!a.valueField).map((agg) => ({
758
+ ...(pivot.aggregations ?? [])
759
+ .filter((a) => !!a.valueField)
760
+ .map((agg) => ({
748
761
  label: snakeAndCamelCaseToTitleCase(agg.valueField),
749
762
  })),
750
763
  ];
751
764
  }
752
765
  else {
753
- return (pivot?.aggregations ?? []).filter((a) => !!a.valueField).map((agg) => ({
766
+ return (pivot?.aggregations ?? [])
767
+ .filter((a) => !!a.valueField)
768
+ .map((agg) => ({
754
769
  label: snakeAndCamelCaseToTitleCase(agg.valueField),
755
770
  }));
756
771
  }
@@ -916,7 +931,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
916
931
  };
917
932
  const fetchRowCountFromAST = async (ast, where) => {
918
933
  setRowCountIsLoading(true);
919
- const tableData = await fetchTableByAST({ ...ast, where }, client, tenants, { page: REPORT_BUILDER_PAGINATION }, undefined, false, true, dashboardName);
934
+ const tableData = await fetchTableByAST({ ...ast, where }, client, tenants, { page: REPORT_BUILDER_PAGINATION }, schemaData.customFields, false, true, dashboardName);
920
935
  if (tableData.rowCount) {
921
936
  setNumberOfRows(tableData.rowCount);
922
937
  // @ts-ignore
@@ -1033,7 +1048,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1033
1048
  reportBuilderInfo = await fetchReportBuilderDataFromAST({
1034
1049
  baseAst,
1035
1050
  formData: curFormData,
1036
- schema: curSchema ?? schemaData.schema,
1051
+ schema: curSchema ?? schemaData.schemaWithCustomFields,
1037
1052
  client,
1038
1053
  tenants,
1039
1054
  pivot: curPivot ?? pivot,
@@ -1069,8 +1084,15 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1069
1084
  setErrorMessage('Failed to fetch');
1070
1085
  return;
1071
1086
  }
1087
+ const cleanedReport = await cleanDashboardItem({
1088
+ item: reportBuilderInfo.report,
1089
+ dashboardFilters: specificDashboardFilters,
1090
+ client,
1091
+ customFields: schemaData.customFields,
1092
+ skipPivotFetch: true,
1093
+ });
1072
1094
  setTempReport({
1073
- ...reportBuilderInfo.report,
1095
+ ...cleanedReport,
1074
1096
  pagination: REPORT_BUILDER_PAGINATION,
1075
1097
  });
1076
1098
  fetchRowCountFromAST(baseAst, curFormData);
@@ -1090,7 +1112,9 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1090
1112
  if (prevTable !== reportBuilderInfo.table) {
1091
1113
  setSelectedOrderedColumns([]); // reset selected ordered columns
1092
1114
  }
1093
- setPivot(reportBuilderInfo.pivot ? setTypesOnPivot(reportBuilderInfo.pivot, reportBuilderInfo.columns) : null);
1115
+ setPivot(reportBuilderInfo.pivot
1116
+ ? setTypesOnPivot(reportBuilderInfo.pivot, reportBuilderInfo.columns)
1117
+ : null);
1094
1118
  if (!keepPivotHint) {
1095
1119
  setPivotHint('');
1096
1120
  }
@@ -1103,17 +1127,19 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1103
1127
  if (reportBuilderInfo.pivot) {
1104
1128
  setPivotRowField(reportBuilderInfo.pivot.rowField);
1105
1129
  setPivotColumnField(reportBuilderInfo.pivot.columnField);
1106
- setPivotAggregations(reportBuilderInfo.pivot.aggregations ?? [{
1130
+ setPivotAggregations(reportBuilderInfo.pivot.aggregations ?? [
1131
+ {
1107
1132
  valueField: reportBuilderInfo.pivot.valueField,
1108
1133
  valueField2: reportBuilderInfo.pivot.valueField2,
1109
1134
  aggregationType: reportBuilderInfo.pivot.aggregationType,
1110
- }]);
1135
+ },
1136
+ ]);
1111
1137
  }
1112
1138
  else {
1113
1139
  setLoading(false);
1114
1140
  }
1115
1141
  setReportInfo(reportBuilderInfo.report);
1116
- const schema = curSchema ?? schemaData.schema;
1142
+ const schema = curSchema ?? schemaData.schemaWithCustomFields;
1117
1143
  const tableInfo = schema.find((tableInfo) => tableInfo.name === reportBuilderInfo?.table);
1118
1144
  let query = reportBuilderInfo.query;
1119
1145
  if (!query && tableInfo) {
@@ -1206,7 +1232,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1206
1232
  setLoading(true);
1207
1233
  setAskAILoading(true);
1208
1234
  setErrorMessage('');
1209
- astInfo = await fetchAndProcessASTFromPrompt(prompt, schemaData.schema, client, pivot ?? undefined, activeQuery, currentTable, dashboardName, tenants);
1235
+ astInfo = await fetchAndProcessASTFromPrompt(prompt, schemaData.schemaWithCustomFields, client, pivot ?? undefined, activeQuery, currentTable, dashboardName, tenants);
1210
1236
  if (astInfo.error) {
1211
1237
  throw new Error(astInfo.error);
1212
1238
  }
@@ -1228,7 +1254,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1228
1254
  }
1229
1255
  const _tables = getTableNames(astInfo.ast);
1230
1256
  const _table = _tables[0] ? _tables[0] : '';
1231
- const _columns = schemaData.schema.find((table) => {
1257
+ const _columns = schemaData.schemaWithCustomFields.find((table) => {
1232
1258
  return table.name === _table;
1233
1259
  })?.columns;
1234
1260
  // parse the whereAst first
@@ -1247,6 +1273,42 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1247
1273
  curPivot: astInfo.pivot,
1248
1274
  });
1249
1275
  };
1276
+ const pivotFormData = (pivot) => {
1277
+ const yAxisField = pivot.columnField ?? disambiguatedValueField(pivot) ?? '';
1278
+ const yAxisLabel = tempReport?.yAxisFields && tempReport?.yAxisFields?.length > 0
1279
+ ? (tempReport.yAxisFields[0]?.label ?? '')
1280
+ : (disambiguatedValueField(pivot) ?? '');
1281
+ // date labels for pivots should be treated like strings since they are
1282
+ const yAxisIsDate = pivot.columnField
1283
+ ? isDateField(pivot.columnFieldType ?? '')
1284
+ : false;
1285
+ const chartType = tempReport?.chartType ?? (pivot.rowField ? 'column' : 'metric');
1286
+ const result = {
1287
+ pivot,
1288
+ chartType: chartType,
1289
+ xAxisField: pivot.rowField
1290
+ ? pivot.rowField
1291
+ : disambiguatedValueField(pivot),
1292
+ xAxisFormat: isDateType(pivot.rowFieldType ?? '')
1293
+ ? 'string'
1294
+ : isNumberType(pivot.rowFieldType ?? '')
1295
+ ? 'whole_number'
1296
+ : 'string',
1297
+ xAxisLabel: tempReport?.xAxisLabel || pivot.rowField,
1298
+ yAxisFields: [
1299
+ {
1300
+ field: yAxisField,
1301
+ label: yAxisLabel,
1302
+ format: yAxisIsDate
1303
+ ? 'string'
1304
+ : tempReport?.yAxisFields && tempReport?.yAxisFields?.length > 0
1305
+ ? (tempReport?.yAxisFields[0]?.format ?? 'whole_number')
1306
+ : (tempReport?.columns.find((col) => col.field === disambiguatedValueField(pivot))?.format ?? 'whole_number'),
1307
+ },
1308
+ ],
1309
+ };
1310
+ return result;
1311
+ };
1250
1312
  const makePivotValid = (pivot, uniqueValuesForPivot, reportTable, reportColumns) => {
1251
1313
  if (!pivot) {
1252
1314
  return { pivot: null, hint: '' };
@@ -1359,7 +1421,8 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1359
1421
  setOrderedColumnNames(newOrder);
1360
1422
  const orderedSelectedColumns = [];
1361
1423
  for (const value of newOrder) {
1362
- const column = value.split('.')[1];
1424
+ const [, ...rest] = value.split('.'); // table.field
1425
+ const column = rest.join('.');
1363
1426
  if (selectedColumns.includes(value)) {
1364
1427
  orderedSelectedColumns.push(column);
1365
1428
  }
@@ -1479,7 +1542,8 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1479
1542
  }
1480
1543
  if (!openPopover) {
1481
1544
  const value = orderedColumnNames[0];
1482
- const column = value.split('.')[1];
1545
+ const [, ...rest] = value.split('.'); // table.field
1546
+ const column = rest.join('.');
1483
1547
  const columnType = getColumnTypeByName(column);
1484
1548
  if (isNumericColumnType(columnType)) {
1485
1549
  const newSubtree = deepCopy(defaultNumericComparison);
@@ -1505,8 +1569,8 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1505
1569
  setActiveEditItem(null);
1506
1570
  }, 300);
1507
1571
  }
1508
- }, popoverTitle: "Add filter", popoverChildren: _jsx(FilterModal, { schema: schemaData.schema.find((s) => s.name === currentTable ||
1509
- s.displayName === currentTable) ?? schemaData.schema[0], fieldValuesMap: fieldValuesMap, fieldValuesMapIsLoading: uniqueValuesIsLoading, onSubmitFilter: (filter) => {
1572
+ }, popoverTitle: "Add filter", popoverChildren: _jsx(FilterModal, { schema: schemaData.schemaWithCustomFields.find((s) => s.name === currentTable ||
1573
+ s.displayName === currentTable) ?? schemaData.schemaWithCustomFields[0], fieldValuesMap: fieldValuesMap, fieldValuesMapIsLoading: uniqueValuesIsLoading, onSubmitFilter: (filter) => {
1510
1574
  setOpenPopover(null);
1511
1575
  handleInsertion(filter);
1512
1576
  }, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent }) }) })] })] }), _jsxs("div", { style: { width: '100%' }, children: [_jsx(SidebarHeadingComponent, { label: "Pivot" }), _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotAggregations: pivotAggregations, setPivotAggregations: setPivotAggregations, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: initialTableName, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, TextComponent: TextComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEditingPivot, setShowUpdatePivot: setIsEditingPivot, parentRef: parentRef, data: rows, columns: columns, triggerButtonText: 'Add pivot', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: () => {
@@ -1556,6 +1620,10 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1556
1620
  }
1557
1621
  resetProcessing();
1558
1622
  setPivotData(pivotTable || []);
1623
+ setTempReport({
1624
+ ...tempReport,
1625
+ ...pivotFormData(processedPivot),
1626
+ });
1559
1627
  const formattedRows = formatRows(pivotTable.rows, columns, true, selectedPivot.aggregationType, dateBucket);
1560
1628
  setFormattedRows(formattedRows);
1561
1629
  setErrorMessage('');
@@ -1637,7 +1705,8 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1637
1705
  if (column === '')
1638
1706
  return;
1639
1707
  if (pivot) {
1640
- const sortFieldType = pivot.aggregations?.some((agg) => column === agg.valueField || column === 'count') ? 'number'
1708
+ const sortFieldType = pivot.aggregations?.some((agg) => column === agg.valueField || column === 'count')
1709
+ ? 'number'
1641
1710
  : pivot.rowFieldType;
1642
1711
  const tempPivot = setTypesOnPivot({
1643
1712
  ...pivot,
@@ -1781,8 +1850,80 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1781
1850
  alignItems: 'center',
1782
1851
  }, children: [_jsx(ErrorMessageComponent, { errorMessage: errorMessage || pivotError || '' }), _jsx(SecondaryButtonComponent, { onClick: () => {
1783
1852
  fetchAstFromPromptHelper();
1784
- }, label: 'Retry' }), _jsx(SecondaryButtonComponent, { onClick: clearAllState, label: 'Reset' })] })) : (_jsx("div", { style: { width: '100%' } })), baseAst && dataDisplayed && (_jsxs(_Fragment, { children: [onDiscardChanges && (_jsx(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), !hideCopySQL && (_jsx(SecondaryButtonComponent, { label: isCopying ? 'Copied' : 'Copy SQL', onClick: () => copySQLToClipboard() })), _jsx(ButtonComponent, { onClick: async () => {
1853
+ }, label: 'Retry' }), _jsx(SecondaryButtonComponent, { onClick: clearAllState, label: 'Reset' })] })) : (_jsx("div", { style: { width: '100%' } })), baseAst && dataDisplayed && (_jsxs(_Fragment, { children: [onDiscardChanges && (_jsx(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), !hideCopySQL && (_jsx(SecondaryButtonComponent, { label: isCopying ? 'Copied' : 'Copy SQL', onClick: () => copySQLToClipboard() })), !isAdminEnabled ? null : (_jsx(SecondaryButtonComponent, { onClick: async () => {
1854
+ const tempReportColumns = selectedOrderedColumns.length > 0
1855
+ ? selectedOrderedColumns
1856
+ .map((columnName) => {
1857
+ return columns.find((col) => col.field === columnName);
1858
+ })
1859
+ .filter((col) => col !== undefined)
1860
+ .map((c) => reportInfo?.columns.find((col) => col.field === c.field))
1861
+ .filter((col) => col !== undefined)
1862
+ : (reportInfo?.columns.filter((col) => {
1863
+ return columns.find((c) => {
1864
+ return col.field === c.field;
1865
+ });
1866
+ }) ?? []);
1867
+ setTempReport({
1868
+ ...(reportInfo
1869
+ ? {
1870
+ ...reportInfo,
1871
+ ...tempReport,
1872
+ id: TEMP_REPORT_ID,
1873
+ dashboardName: 'quill-saved-queries',
1874
+ chartType: 'table',
1875
+ pivot: pivot,
1876
+ yAxisFields: reportInfo?.pivot && !pivot
1877
+ ? []
1878
+ : reportInfo?.yAxisFields,
1879
+ columns: isSelectedAllColumns()
1880
+ ? // if SELECT *, filter out custom fields from tabular view
1881
+ // so Automatic Custom Fields can be applied
1882
+ tempReportColumns.filter((col) => {
1883
+ return !schemaData.customFields?.[currentTable]?.some((field) => {
1884
+ return field.field === col.field;
1885
+ });
1886
+ })
1887
+ : tempReportColumns,
1888
+ queryString: isSelectedAllColumns()
1889
+ ? convertQueryToSelectStar(activeQuery)
1890
+ : activeQuery,
1891
+ includeCustomFields: isSelectedAllColumns(),
1892
+ rows: rows,
1893
+ pivotRows: pivotData?.rows,
1894
+ pivotColumns: pivotData?.columns,
1895
+ pivotRowCount: pivotData?.rowCount,
1896
+ pivotQuery: pivotData?.pivotQuery,
1897
+ comparisonPivotQuery: pivotData?.comparisonPivotQuery,
1898
+ flags: reportInfo?.flags ?? tempReport?.flags,
1899
+ }
1900
+ : {
1901
+ ...tempReport,
1902
+ chartType: 'table',
1903
+ id: TEMP_REPORT_ID,
1904
+ flags: tempReport?.flags,
1905
+ }),
1906
+ });
1907
+ setIsSaveQueryModalOpen(true);
1908
+ }, disabled: !!errorMessage ||
1909
+ !!pivotError ||
1910
+ tableLoading ||
1911
+ loading ||
1912
+ unresolvedReportMessage, label: 'Save query', tooltipText: unresolvedReportMessage })), _jsx(ButtonComponent, { onClick: async () => {
1785
1913
  onSaveChanges && onSaveChanges();
1914
+ const tempReportColumns = selectedOrderedColumns.length > 0
1915
+ ? selectedOrderedColumns
1916
+ .map((columnName) => {
1917
+ return columns.find((col) => col.field === columnName);
1918
+ })
1919
+ .filter((col) => col !== undefined)
1920
+ .map((c) => reportInfo?.columns.find((col) => col.field === c.field))
1921
+ .filter((col) => col !== undefined)
1922
+ : (reportInfo?.columns.filter((col) => {
1923
+ return columns.find((c) => {
1924
+ return col.field === c.field;
1925
+ });
1926
+ }) ?? []);
1786
1927
  setTempReport({
1787
1928
  ...(reportInfo
1788
1929
  ? {
@@ -1794,20 +1935,19 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1794
1935
  yAxisFields: reportInfo?.pivot && !pivot
1795
1936
  ? []
1796
1937
  : reportInfo?.yAxisFields,
1797
- columns: selectedOrderedColumns.length > 0
1798
- ? selectedOrderedColumns
1799
- .map((columnName) => {
1800
- return columns.find((col) => col.field === columnName);
1801
- })
1802
- .filter((col) => col !== undefined)
1803
- .map((c) => reportInfo?.columns.find((col) => col.field === c.field))
1804
- .filter((col) => col !== undefined)
1805
- : reportInfo?.columns.filter((col) => {
1806
- return columns.find((c) => {
1807
- return col.field === c.field;
1808
- });
1809
- }),
1810
- queryString: activeQuery,
1938
+ columns: isSelectedAllColumns()
1939
+ ? // if SELECT *, filter out custom fields from tabular view
1940
+ // so Automatic Custom Fields can be applied
1941
+ tempReportColumns.filter((col) => {
1942
+ return !schemaData.customFields?.[currentTable]?.some((field) => {
1943
+ return field.field === col.field;
1944
+ });
1945
+ })
1946
+ : tempReportColumns,
1947
+ queryString: isSelectedAllColumns()
1948
+ ? convertQueryToSelectStar(activeQuery)
1949
+ : activeQuery,
1950
+ includeCustomFields: isSelectedAllColumns(),
1811
1951
  rows: rows,
1812
1952
  pivotRows: pivotData?.rows,
1813
1953
  pivotColumns: pivotData?.columns,
@@ -1831,7 +1971,9 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1831
1971
  ? chartBuilderTitle
1832
1972
  : reportId
1833
1973
  ? 'Save changes'
1834
- : 'Add to dashboard', isHorizontalView: true, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: reportId ? onSubmitEditReport : onSubmitCreateReport, organizationName: organizationName, initialUniqueValues: uniqueValues[currentTable], initialUniqueValuesIsLoading: uniqueValuesIsLoading, pivotRecommendationsEnabled: pivotRecommendationsEnabledState, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, CardComponent: CardComponent, ModalComponent: ChartBuilderModalComponent, PopoverComponent: PopoverComponent, TableComponent: TableComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, hideDeleteButton: true, buttonLabel: !!reportId ? 'Save changes' : 'Add to dashboard', onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => {
1974
+ : 'Add to dashboard', isHorizontalView: true, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: reportId ? onSubmitEditReport : onSubmitCreateReport, organizationName: organizationName, initialUniqueValues: uniqueValues[currentTable], initialUniqueValuesIsLoading: uniqueValuesIsLoading, pivotRecommendationsEnabled: pivotRecommendationsEnabledState, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, CardComponent: CardComponent, ModalComponent: ChartBuilderModalComponent, PopoverComponent: PopoverComponent, TableComponent: TableComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, CheckboxComponent: CheckboxComponent, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, hideDeleteButton: true, buttonLabel: !!reportId ? 'Save changes' : 'Add to dashboard', onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => {
1835
1975
  setFiltersEnabled(enabled);
1836
- }, isEditingMode: true }))] }));
1976
+ }, isEditingMode: true })), isSaveQueryModalOpen && (_jsx(ChartBuilderWithModal, { isHorizontalView: false, hideTableView: true, hideChartView: true, hidePivotForm: true, hideChartType: true, isOpen: isSaveQueryModalOpen, setIsOpen: setIsSaveQueryModalOpen, onAddToDashboardComplete: onSubmitSaveQuery, destinationDashboard: 'quill-saved-queries', isAdmin: false, title: 'Save query', buttonLabel: 'Save query', tempReport: tempReport, reportId: reportId, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, CheckboxComponent: CheckboxComponent, hideDateRangeFilter: true, hideDeleteButton: true, hideDiscardChanges: true, hideSQLQuery: false, onClickChartElement: onClickChartElement,
1977
+ // hide filters table, make it a table chart etc
1978
+ filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled), isEditingMode: true }))] }));
1837
1979
  }
@@ -97,6 +97,12 @@ export interface SQLEditorProps {
97
97
  popoverTitle?: string;
98
98
  popoverChildren: ReactNode;
99
99
  }) => JSX.Element;
100
+ /** A checkbox component. */
101
+ CheckboxComponent?: (props: {
102
+ isChecked: boolean;
103
+ label: string;
104
+ onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
105
+ }) => JSX.Element;
100
106
  /** A label component. */
101
107
  LabelComponent?: (props: {
102
108
  label: string;
@@ -175,6 +181,7 @@ export interface SQLEditorProps {
175
181
  * A callback that is fired when a report has been added to a dashboard.
176
182
  */
177
183
  onAddToDashboardComplete?: (report: QuillReport) => void;
184
+ onSaveQueryComplete?: (report: QuillReport) => void;
178
185
  /** A callback function triggered when a chart element is clicked */
179
186
  onClickChartElement?: (event: any) => void;
180
187
  /**
@@ -275,7 +282,7 @@ export interface SQLEditorProps {
275
282
  * ### SQLEditor API
276
283
  * @see https://docs.quillsql.com/components/sql-editor
277
284
  */
278
- export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, DeleteButtonComponent, TextInputComponent, SelectComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, PopoverComponent, CardComponent, LabelComponent, HeaderComponent, SubHeaderComponent, TextComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ChartBuilderFormContainer, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled, isAdminEnabled, chartBuilderTitle, runQueryOnMount, onAddToDashboardComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
285
+ export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, DeleteButtonComponent, TextInputComponent, SelectComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, PopoverComponent, CardComponent, LabelComponent, HeaderComponent, SubHeaderComponent, TextComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ChartBuilderFormContainer, CheckboxComponent, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled, isAdminEnabled, chartBuilderTitle, runQueryOnMount, onAddToDashboardComplete, onSaveQueryComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
279
286
  export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, style, }: {
280
287
  schema: any;
281
288
  theme: any;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}