@quillsql/react 2.12.29 → 2.12.31

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 (530) hide show
  1. package/dist/cjs/Chart.d.ts +29 -46
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +187 -468
  4. package/dist/cjs/ChartBuilder.d.ts +30 -61
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +190 -131
  7. package/dist/cjs/ChartEditor.d.ts +14 -2
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +70 -125
  10. package/dist/cjs/Context.d.ts +4 -1
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +52 -6
  13. package/dist/cjs/Dashboard.d.ts +74 -118
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +273 -47
  16. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -1
  17. package/dist/cjs/DateRangePicker/Calendar.js +3 -6
  18. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/DateRangePicker.js +2 -29
  20. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  21. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  22. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +2 -4
  23. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  24. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  25. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +4 -4
  26. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  27. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  28. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -15
  29. package/dist/cjs/ReportBuilder.d.ts +18 -6
  30. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  31. package/dist/cjs/ReportBuilder.js +477 -489
  32. package/dist/cjs/SQLEditor.d.ts +4 -11
  33. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  34. package/dist/cjs/SQLEditor.js +76 -88
  35. package/dist/cjs/Table.d.ts +19 -3
  36. package/dist/cjs/Table.d.ts.map +1 -1
  37. package/dist/cjs/Table.js +130 -114
  38. package/dist/cjs/TableChart.d.ts.map +1 -1
  39. package/dist/cjs/TableChart.js +0 -1
  40. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  41. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -1
  42. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -1
  43. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  44. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  45. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -1
  46. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  47. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -1
  48. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -1
  49. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -1
  50. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  51. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  52. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  53. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -1
  54. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -1
  55. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -1
  56. package/dist/cjs/components/Banner/index.d.ts +1 -1
  57. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  58. package/dist/cjs/components/Banner/index.js +1 -1
  59. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -1
  60. package/dist/cjs/components/BigModal/BigModal.js +6 -12
  61. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  62. package/dist/cjs/components/Chart/BarChart.js +12 -1
  63. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  64. package/dist/cjs/components/Chart/BarList.js +21 -14
  65. package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
  66. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  67. package/dist/cjs/components/Chart/ChartError.js +40 -5
  68. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  69. package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
  70. package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
  71. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  72. package/dist/cjs/components/Chart/LineChart.js +27 -3
  73. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  74. package/dist/cjs/components/Chart/PieChart.js +1 -3
  75. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  76. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  77. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  78. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +5 -1
  79. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  80. package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
  81. package/dist/cjs/components/Dashboard/DataLoader.d.ts +8 -12
  82. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  83. package/dist/cjs/components/Dashboard/DataLoader.js +137 -194
  84. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  85. package/dist/cjs/components/Dashboard/MetricComponent.js +11 -45
  86. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -5
  87. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  88. package/dist/cjs/components/Dashboard/TableComponent.js +3 -32
  89. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
  90. package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
  91. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
  92. package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
  93. package/dist/cjs/components/Dropdown/index.d.ts +2 -2
  94. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
  95. package/dist/cjs/components/Modal/Modal.js +2 -3
  96. package/dist/cjs/components/Modal/index.d.ts +1 -1
  97. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  98. package/dist/cjs/components/QuillMultiSelect.js +18 -3
  99. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  100. package/dist/cjs/components/QuillMultiSelectWithCombo.js +18 -3
  101. package/dist/cjs/components/QuillSelect.js +1 -1
  102. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  103. package/dist/cjs/components/QuillSelectWithCombo.js +6 -3
  104. package/dist/cjs/components/QuillTable.d.ts +1 -4
  105. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  106. package/dist/cjs/components/QuillTable.js +5 -11
  107. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  108. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  109. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
  110. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  111. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
  112. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  113. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
  114. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +30 -0
  115. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  116. package/dist/cjs/components/ReportBuilder/FilterModal.js +579 -0
  117. package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
  118. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  119. package/dist/cjs/components/ReportBuilder/ast.js +33 -6
  120. package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
  121. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
  122. package/dist/cjs/components/ReportBuilder/constants.js +24 -3
  123. package/dist/cjs/components/ReportBuilder/convert.d.ts +18 -16
  124. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  125. package/dist/cjs/components/ReportBuilder/convert.js +378 -494
  126. package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
  127. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  128. package/dist/cjs/components/ReportBuilder/operators.js +32 -4
  129. package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
  130. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  131. package/dist/cjs/components/ReportBuilder/ui.js +15 -5
  132. package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
  133. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  134. package/dist/cjs/components/ReportBuilder/util.js +15 -18
  135. package/dist/cjs/components/UiComponents.d.ts +36 -8
  136. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  137. package/dist/cjs/components/UiComponents.js +106 -12
  138. package/dist/cjs/components/selectUtils.d.ts +0 -1
  139. package/dist/cjs/components/selectUtils.d.ts.map +1 -1
  140. package/dist/cjs/components/selectUtils.js +1 -22
  141. package/dist/cjs/hooks/index.d.ts +4 -4
  142. package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
  143. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
  144. package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
  145. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  146. package/dist/cjs/hooks/useDashboard.js +5 -1
  147. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  148. package/dist/cjs/hooks/useExport.js +3 -1
  149. package/dist/cjs/hooks/useOnClickOutside.js +4 -4
  150. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
  151. package/dist/cjs/hooks/useOnWindowResize.js +2 -2
  152. package/dist/cjs/hooks/useQuill.d.ts +10 -27
  153. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  154. package/dist/cjs/hooks/useQuill.js +133 -85
  155. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  156. package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
  157. package/dist/cjs/hooks/useTheme.js +1 -1
  158. package/dist/cjs/index.d.ts +3 -1
  159. package/dist/cjs/index.d.ts.map +1 -1
  160. package/dist/cjs/index.js +3 -1
  161. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  162. package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
  163. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
  164. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  165. package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
  166. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
  167. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  168. package/dist/cjs/internals/ReportBuilder/PivotModal.js +8 -21
  169. package/dist/cjs/lib/utils.js +2 -2
  170. package/dist/cjs/models/Columns.d.ts +2 -1
  171. package/dist/cjs/models/Columns.d.ts.map +1 -1
  172. package/dist/cjs/models/Filter.d.ts +115 -4
  173. package/dist/cjs/models/Filter.d.ts.map +1 -1
  174. package/dist/cjs/models/Filter.js +99 -0
  175. package/dist/cjs/models/Pagination.d.ts +10 -0
  176. package/dist/cjs/models/Pagination.d.ts.map +1 -0
  177. package/dist/cjs/models/Pagination.js +2 -0
  178. package/dist/cjs/models/Report.d.ts +103 -0
  179. package/dist/cjs/models/Report.d.ts.map +1 -0
  180. package/dist/cjs/models/Report.js +2 -0
  181. package/dist/cjs/utils/aggregate.js +1 -1
  182. package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
  183. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
  184. package/dist/cjs/utils/astFilterProcessing.js +8091 -0
  185. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  186. package/dist/cjs/utils/astProcessing.js +4 -3
  187. package/dist/cjs/utils/axisFormatter.js +0 -71
  188. package/dist/cjs/utils/color.js +9 -87
  189. package/dist/cjs/utils/columnProcessing.d.ts +2 -0
  190. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  191. package/dist/cjs/utils/columnProcessing.js +54 -1
  192. package/dist/cjs/utils/csv.d.ts.map +1 -1
  193. package/dist/cjs/utils/dashboard.d.ts +1 -1
  194. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  195. package/dist/cjs/utils/dashboard.js +6 -59
  196. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  197. package/dist/cjs/utils/dataFetcher.js +63 -1
  198. package/dist/cjs/utils/dataProcessing.d.ts +10 -0
  199. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
  200. package/dist/cjs/utils/dataProcessing.js +144 -0
  201. package/dist/cjs/utils/dates.d.ts +2 -1
  202. package/dist/cjs/utils/dates.d.ts.map +1 -1
  203. package/dist/cjs/utils/dates.js +23 -1
  204. package/dist/cjs/utils/error.d.ts +5 -0
  205. package/dist/cjs/utils/error.d.ts.map +1 -0
  206. package/dist/cjs/utils/error.js +12 -0
  207. package/dist/cjs/utils/filterConstants.d.ts +34 -0
  208. package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
  209. package/dist/cjs/utils/filterConstants.js +36 -0
  210. package/dist/cjs/utils/filterProcessing.d.ts +7 -1
  211. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  212. package/dist/cjs/utils/filterProcessing.js +104 -17
  213. package/dist/cjs/utils/logging.d.ts.map +1 -1
  214. package/dist/cjs/utils/logging.js +1 -0
  215. package/dist/cjs/utils/merge.js +0 -21
  216. package/dist/cjs/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
  217. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
  218. package/dist/cjs/utils/monacoConfig.js +324 -0
  219. package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
  220. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
  221. package/dist/cjs/utils/paginationProcessing.js +30 -0
  222. package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
  223. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  224. package/dist/cjs/utils/pivotConstructor.js +16 -1
  225. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  226. package/dist/cjs/utils/pivotProcessing.js +12 -6
  227. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  228. package/dist/cjs/utils/queryConstructor.js +4 -3
  229. package/dist/cjs/utils/report.d.ts +10 -0
  230. package/dist/cjs/utils/report.d.ts.map +1 -0
  231. package/dist/cjs/utils/report.js +180 -0
  232. package/dist/cjs/utils/schema.d.ts.map +1 -1
  233. package/dist/cjs/utils/schema.js +35 -6
  234. package/dist/cjs/utils/styles.d.ts +1 -1
  235. package/dist/cjs/utils/styles.d.ts.map +1 -1
  236. package/dist/cjs/utils/tableProcessing.d.ts +22 -8
  237. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  238. package/dist/cjs/utils/tableProcessing.js +116 -35
  239. package/dist/cjs/utils/textProcessing.js +3 -3
  240. package/dist/cjs/utils/validation.d.ts +9 -0
  241. package/dist/cjs/utils/validation.d.ts.map +1 -0
  242. package/dist/cjs/utils/validation.js +24 -0
  243. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  244. package/dist/cjs/utils/valueFormatter.js +8 -4
  245. package/dist/esm/Chart.d.ts +29 -46
  246. package/dist/esm/Chart.d.ts.map +1 -1
  247. package/dist/esm/Chart.js +189 -471
  248. package/dist/esm/ChartBuilder.d.ts +30 -61
  249. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  250. package/dist/esm/ChartBuilder.js +191 -129
  251. package/dist/esm/ChartEditor.d.ts +14 -2
  252. package/dist/esm/ChartEditor.d.ts.map +1 -1
  253. package/dist/esm/ChartEditor.js +71 -126
  254. package/dist/esm/Context.d.ts +4 -1
  255. package/dist/esm/Context.d.ts.map +1 -1
  256. package/dist/esm/Context.js +51 -5
  257. package/dist/esm/Dashboard.d.ts +74 -118
  258. package/dist/esm/Dashboard.d.ts.map +1 -1
  259. package/dist/esm/Dashboard.js +275 -49
  260. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
  261. package/dist/esm/DateRangePicker/Calendar.js +5 -8
  262. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  263. package/dist/esm/DateRangePicker/DateRangePicker.js +2 -29
  264. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  265. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  266. package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
  267. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  268. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  269. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
  270. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  271. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  272. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
  273. package/dist/esm/ReportBuilder.d.ts +18 -6
  274. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  275. package/dist/esm/ReportBuilder.js +484 -496
  276. package/dist/esm/SQLEditor.d.ts +4 -11
  277. package/dist/esm/SQLEditor.d.ts.map +1 -1
  278. package/dist/esm/SQLEditor.js +75 -87
  279. package/dist/esm/Table.d.ts +19 -3
  280. package/dist/esm/Table.d.ts.map +1 -1
  281. package/dist/esm/Table.js +132 -116
  282. package/dist/esm/TableChart.d.ts.map +1 -1
  283. package/dist/esm/TableChart.js +0 -1
  284. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  285. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
  286. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
  287. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  288. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  289. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
  290. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  291. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
  292. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
  293. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
  294. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  295. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  296. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  297. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
  298. package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
  299. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
  300. package/dist/esm/components/Banner/index.d.ts +1 -1
  301. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  302. package/dist/esm/components/Banner/index.js +1 -1
  303. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
  304. package/dist/esm/components/BigModal/BigModal.js +7 -13
  305. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  306. package/dist/esm/components/Chart/BarChart.js +13 -2
  307. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  308. package/dist/esm/components/Chart/BarList.js +21 -14
  309. package/dist/esm/components/Chart/ChartError.d.ts +8 -1
  310. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  311. package/dist/esm/components/Chart/ChartError.js +39 -6
  312. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  313. package/dist/esm/components/Chart/ChartTooltip.js +8 -2
  314. package/dist/esm/components/Chart/LineChart.d.ts +2 -1
  315. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  316. package/dist/esm/components/Chart/LineChart.js +28 -4
  317. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  318. package/dist/esm/components/Chart/PieChart.js +1 -3
  319. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  320. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  321. package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
  322. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
  323. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  324. package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
  325. package/dist/esm/components/Dashboard/DataLoader.d.ts +8 -12
  326. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  327. package/dist/esm/components/Dashboard/DataLoader.js +137 -194
  328. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  329. package/dist/esm/components/Dashboard/MetricComponent.js +11 -45
  330. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -5
  331. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  332. package/dist/esm/components/Dashboard/TableComponent.js +3 -32
  333. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  334. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  335. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  336. package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
  337. package/dist/esm/components/Dropdown/index.d.ts +2 -2
  338. package/dist/esm/components/Dropdown/index.js +2 -2
  339. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  340. package/dist/esm/components/Modal/Modal.js +2 -3
  341. package/dist/esm/components/Modal/index.d.ts +1 -1
  342. package/dist/esm/components/Modal/index.js +1 -1
  343. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  344. package/dist/esm/components/QuillMultiSelect.js +18 -3
  345. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  346. package/dist/esm/components/QuillMultiSelectWithCombo.js +18 -3
  347. package/dist/esm/components/QuillSelect.js +1 -1
  348. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  349. package/dist/esm/components/QuillSelectWithCombo.js +7 -4
  350. package/dist/esm/components/QuillTable.d.ts +1 -4
  351. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  352. package/dist/esm/components/QuillTable.js +5 -11
  353. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  354. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  355. package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
  356. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  357. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
  358. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  359. package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
  360. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +30 -0
  361. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  362. package/dist/esm/components/ReportBuilder/FilterModal.js +576 -0
  363. package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
  364. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  365. package/dist/esm/components/ReportBuilder/ast.js +31 -5
  366. package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
  367. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
  368. package/dist/esm/components/ReportBuilder/constants.js +24 -3
  369. package/dist/esm/components/ReportBuilder/convert.d.ts +18 -16
  370. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  371. package/dist/esm/components/ReportBuilder/convert.js +375 -493
  372. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
  373. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
  374. package/dist/esm/components/ReportBuilder/convert.uspec.js +1419 -0
  375. package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
  376. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  377. package/dist/esm/components/ReportBuilder/operators.js +32 -4
  378. package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
  379. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  380. package/dist/esm/components/ReportBuilder/ui.js +13 -4
  381. package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
  382. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  383. package/dist/esm/components/ReportBuilder/util.js +16 -19
  384. package/dist/esm/components/UiComponents.d.ts +36 -8
  385. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  386. package/dist/esm/components/UiComponents.js +104 -11
  387. package/dist/esm/components/selectUtils.d.ts +0 -1
  388. package/dist/esm/components/selectUtils.d.ts.map +1 -1
  389. package/dist/esm/components/selectUtils.js +0 -20
  390. package/dist/esm/hooks/index.d.ts +4 -4
  391. package/dist/esm/hooks/index.js +4 -4
  392. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  393. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  394. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  395. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  396. package/dist/esm/hooks/useDashboard.js +5 -1
  397. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  398. package/dist/esm/hooks/useExport.js +4 -2
  399. package/dist/esm/hooks/useOnClickOutside.js +5 -5
  400. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
  401. package/dist/esm/hooks/useOnWindowResize.js +3 -3
  402. package/dist/esm/hooks/useQuill.d.ts +10 -27
  403. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  404. package/dist/esm/hooks/useQuill.js +133 -85
  405. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  406. package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
  407. package/dist/esm/hooks/useTheme.js +1 -1
  408. package/dist/esm/index.d.ts +3 -1
  409. package/dist/esm/index.d.ts.map +1 -1
  410. package/dist/esm/index.js +1 -0
  411. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  412. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
  413. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
  414. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  415. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  416. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
  417. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  418. package/dist/esm/internals/ReportBuilder/PivotModal.js +11 -24
  419. package/dist/esm/lib/utils.js +2 -2
  420. package/dist/esm/models/Columns.d.ts +2 -1
  421. package/dist/esm/models/Columns.d.ts.map +1 -1
  422. package/dist/esm/models/Filter.d.ts +115 -4
  423. package/dist/esm/models/Filter.d.ts.map +1 -1
  424. package/dist/esm/models/Filter.js +98 -1
  425. package/dist/esm/models/Pagination.d.ts +10 -0
  426. package/dist/esm/models/Pagination.d.ts.map +1 -0
  427. package/dist/esm/models/Pagination.js +1 -0
  428. package/dist/esm/models/Report.d.ts +103 -0
  429. package/dist/esm/models/Report.d.ts.map +1 -0
  430. package/dist/esm/models/Report.js +1 -0
  431. package/dist/esm/test-utils/constants.d.ts +56 -0
  432. package/dist/esm/test-utils/constants.d.ts.map +1 -0
  433. package/dist/esm/test-utils/constants.js +271 -0
  434. package/dist/esm/test-utils/generators.d.ts +4 -0
  435. package/dist/esm/test-utils/generators.d.ts.map +1 -0
  436. package/dist/esm/test-utils/generators.js +37 -0
  437. package/dist/esm/utils/aggregate.js +1 -1
  438. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  439. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  440. package/dist/esm/utils/astFilterProcessing.js +8084 -0
  441. package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
  442. package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
  443. package/dist/esm/utils/astFilterProcessing.uspec.js +2877 -0
  444. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  445. package/dist/esm/utils/astProcessing.js +4 -3
  446. package/dist/esm/utils/axisFormatter.js +0 -71
  447. package/dist/esm/utils/color.js +9 -87
  448. package/dist/esm/utils/columnProcessing.d.ts +2 -0
  449. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  450. package/dist/esm/utils/columnProcessing.js +52 -0
  451. package/dist/esm/utils/columnProcessing.uspec.d.ts +2 -0
  452. package/dist/esm/utils/columnProcessing.uspec.d.ts.map +1 -0
  453. package/dist/esm/utils/columnProcessing.uspec.js +65 -0
  454. package/dist/esm/utils/csv.d.ts.map +1 -1
  455. package/dist/esm/utils/dashboard.d.ts +1 -1
  456. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  457. package/dist/esm/utils/dashboard.js +6 -59
  458. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  459. package/dist/esm/utils/dataFetcher.js +63 -1
  460. package/dist/esm/utils/dataProcessing.d.ts +10 -0
  461. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  462. package/dist/esm/utils/dataProcessing.js +138 -0
  463. package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
  464. package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
  465. package/dist/esm/utils/dataProcessing.uspec.js +205 -0
  466. package/dist/esm/utils/dates.d.ts +2 -1
  467. package/dist/esm/utils/dates.d.ts.map +1 -1
  468. package/dist/esm/utils/dates.js +21 -0
  469. package/dist/esm/utils/error.d.ts +5 -0
  470. package/dist/esm/utils/error.d.ts.map +1 -0
  471. package/dist/esm/utils/error.js +8 -0
  472. package/dist/esm/utils/filterConstants.d.ts +34 -0
  473. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  474. package/dist/esm/utils/filterConstants.js +33 -0
  475. package/dist/esm/utils/filterProcessing.d.ts +7 -1
  476. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  477. package/dist/esm/utils/filterProcessing.js +101 -16
  478. package/dist/esm/utils/filterProcessing.uspec.d.ts +2 -0
  479. package/dist/esm/utils/filterProcessing.uspec.d.ts.map +1 -0
  480. package/dist/esm/utils/filterProcessing.uspec.js +245 -0
  481. package/dist/esm/utils/logging.d.ts.map +1 -1
  482. package/dist/esm/utils/logging.js +1 -0
  483. package/dist/esm/utils/merge.js +0 -21
  484. package/dist/esm/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
  485. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  486. package/dist/esm/utils/monacoConfig.js +319 -0
  487. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  488. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  489. package/dist/esm/utils/paginationProcessing.js +25 -0
  490. package/dist/esm/utils/pivotConstructor.d.ts +2 -1
  491. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  492. package/dist/esm/utils/pivotConstructor.js +16 -1
  493. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  494. package/dist/esm/utils/pivotProcessing.js +12 -6
  495. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  496. package/dist/esm/utils/queryConstructor.js +4 -3
  497. package/dist/esm/utils/queryConstructor.uspec.js +21 -21
  498. package/dist/esm/utils/report.d.ts +10 -0
  499. package/dist/esm/utils/report.d.ts.map +1 -0
  500. package/dist/esm/utils/report.ispec.d.ts +2 -0
  501. package/dist/esm/utils/report.ispec.d.ts.map +1 -0
  502. package/dist/esm/utils/report.ispec.js +46 -0
  503. package/dist/esm/utils/report.js +174 -0
  504. package/dist/esm/utils/report.uspec.d.ts +2 -0
  505. package/dist/esm/utils/report.uspec.d.ts.map +1 -0
  506. package/dist/esm/utils/report.uspec.js +66 -0
  507. package/dist/esm/utils/schema.d.ts.map +1 -1
  508. package/dist/esm/utils/schema.js +35 -6
  509. package/dist/esm/utils/styles.d.ts +1 -1
  510. package/dist/esm/utils/styles.d.ts.map +1 -1
  511. package/dist/esm/utils/tableProcessing.d.ts +22 -8
  512. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  513. package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
  514. package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
  515. package/dist/esm/utils/tableProcessing.ispec.js +61 -0
  516. package/dist/esm/utils/tableProcessing.js +112 -33
  517. package/dist/esm/utils/textProcessing.js +3 -3
  518. package/dist/esm/utils/validation.d.ts +9 -0
  519. package/dist/esm/utils/validation.d.ts.map +1 -0
  520. package/dist/esm/utils/validation.js +20 -0
  521. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  522. package/dist/esm/utils/valueFormatter.js +8 -4
  523. package/package.json +1 -1
  524. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +0 -1
  525. package/dist/cjs/utils/monacoAutocomplete.js +0 -145
  526. package/dist/cjs/utils/queryConstructor.uspec.d.ts +0 -2
  527. package/dist/cjs/utils/queryConstructor.uspec.d.ts.map +0 -1
  528. package/dist/cjs/utils/queryConstructor.uspec.js +0 -225
  529. package/dist/esm/utils/monacoAutocomplete.d.ts.map +0 -1
  530. package/dist/esm/utils/monacoAutocomplete.js +0 -140
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA2BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B"}
@@ -76,8 +76,9 @@ export function createTableNameToTableAliasMap(ast) {
76
76
  }
77
77
  if (ast.with) {
78
78
  for (const withStmt of ast.with) {
79
- if (withStmt.stmt.ast.from) {
80
- for (const table of withStmt.stmt.ast.from) {
79
+ const astFrom = withStmt.stmt.from ?? withStmt.stmt.ast.from;
80
+ if (astFrom) {
81
+ for (const table of astFrom) {
81
82
  const tableObject = recursiveSearchByKeys(table, ['table', 'as']);
82
83
  if (tableObject.as) {
83
84
  tableNameToTableAliasMap[tableObject.as] = tableObject.table;
@@ -168,7 +169,7 @@ export function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
168
169
  return { tableName, columnName };
169
170
  }
170
171
  export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
171
- let referencedColumns = {};
172
+ const referencedColumns = {};
172
173
  if (ast.columns === '*' || ast.columns[0].expr.column === '*') {
173
174
  // Be sure to select everything from stars
174
175
  const tableList = ast.from.map((table) => recursiveSearchByKey(table, 'table'));
@@ -66,13 +66,6 @@ const formatterDollar = new Intl.NumberFormat('en-US', {
66
66
  currency: 'USD',
67
67
  maximumFractionDigits: 0,
68
68
  });
69
- // Formats to dollars like 1234.567 -> $1234.57
70
- const formatterDollarsCents = new Intl.NumberFormat('en-US', {
71
- style: 'currency',
72
- currency: 'USD',
73
- minimumFractionDigits: 2,
74
- maximumFractionDigits: 2,
75
- });
76
69
  /**
77
70
  * Formats the value as a (rounded) currency amount in dollars. If value is
78
71
  * zero, returns '$0' with no cents. If value is greater than or equal to 1000,
@@ -94,27 +87,6 @@ const formatDollarAmount = (value) => {
94
87
  return formatterDollar.format(num);
95
88
  }
96
89
  };
97
- /**
98
- * Formats the value as a (rounded) currency amount in dollars and cents. If
99
- * value is zero, returns '$0' with no cents. If value is greater than or equal
100
- * to 1000, it will not show cents and shorten the value with a suffix such
101
- * as K (for thousands) or M (for millions).
102
- *
103
- * @example format(1,234,567) => "$1.2M"
104
- * @example format(1234.567) => "$1.2K"
105
- * @example format(5000) => "$5K"
106
- * @example format(123.45) => "$123.45"
107
- * @example format(0.00) => "$0"
108
- */
109
- const formatDollarCents = (value) => {
110
- const num = Number(value ?? 0);
111
- if (num >= 1000 || num === 0) {
112
- return formatterBigDollars.format(num);
113
- }
114
- else {
115
- return formatterDollarsCents.format(num);
116
- }
117
- };
118
90
  const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
119
91
  minimumSignificantDigits: 1,
120
92
  maximumSignificantDigits: 2,
@@ -129,48 +101,6 @@ const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
129
101
  const formatWholeNumber = (value) => {
130
102
  return formatterBigWholeNumber.format(Number(value));
131
103
  };
132
- /**
133
- * Formats the value as a number rounded to exactly one decimal place.
134
- *
135
- * @example format(1234.567) => "1.2K"
136
- * @example format(123.456) => "1,234.6"
137
- */
138
- const formatOneDecimalPlace = (value) => {
139
- const formatter = new Intl.NumberFormat('en-US', {
140
- minimumFractionDigits: 1,
141
- maximumFractionDigits: 1,
142
- notation: 'compact',
143
- compactDisplay: 'short',
144
- });
145
- const num = Number(value ?? 0);
146
- if (num >= 1000 || num === 0) {
147
- return formatterBigWholeNumber.format(num);
148
- }
149
- else {
150
- return formatter.format(num);
151
- }
152
- };
153
- /**
154
- * Formats the value as a number rounded to exactly two decimal places.
155
- *
156
- * @example format(1234.567) => "1.23K"
157
- * @example format(123.456) => "123.46"
158
- */
159
- const formatTwoDecimalPlaces = (value) => {
160
- const formatter = new Intl.NumberFormat('en-US', {
161
- minimumFractionDigits: 2,
162
- maximumFractionDigits: 2,
163
- notation: 'compact',
164
- compactDisplay: 'short',
165
- });
166
- const num = Number(value ?? 0);
167
- if (num >= 1000 || num === 0) {
168
- return formatterBigWholeNumber.format(num);
169
- }
170
- else {
171
- return formatter.format(num);
172
- }
173
- };
174
104
  /**
175
105
  * Formats the value as a percentage.
176
106
  *
@@ -225,7 +155,6 @@ const format_MMM_ww_yyyy = (value) => {
225
155
  const utcDate = utcToZonedTime(new Date(value), 'UTC');
226
156
  if (!isValid(utcDate))
227
157
  return 'Invalid date';
228
- const currentDate = new Date();
229
158
  const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
230
159
  const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
231
160
  const month = format(utcDate, 'MMM');
@@ -69,7 +69,7 @@ function interpolateBetween(leftColor, rightColor, length = 3) {
69
69
  * @param length - The number of interpolated colors to generate.
70
70
  */
71
71
  function monochromaticInterpolation(color, length) {
72
- const [h, s, _l] = colorToHSL(color);
72
+ const [h, s] = colorToHSL(color);
73
73
  const hues = linspace(h, h, length);
74
74
  const saturations = linspace(s, s, length);
75
75
  const lightnesses = linspace(0.6, 0.9, length);
@@ -360,15 +360,15 @@ const COLOR_TO_HEX = {
360
360
  */
361
361
  export function rgbToHsl(r, g, b) {
362
362
  (r /= 255), (g /= 255), (b /= 255);
363
- var max = Math.max(r, g, b), min = Math.min(r, g, b);
364
- var h = (max + min) / 2;
365
- var s = (max + min) / 2;
366
- var l = (max + min) / 2;
363
+ const max = Math.max(r, g, b), min = Math.min(r, g, b);
364
+ let h = (max + min) / 2;
365
+ let s = (max + min) / 2;
366
+ const l = (max + min) / 2;
367
367
  if (max == min) {
368
368
  h = s = 0; // achromatic
369
369
  }
370
370
  else {
371
- var d = max - min;
371
+ const d = max - min;
372
372
  s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
373
373
  switch (max) {
374
374
  case r:
@@ -397,7 +397,7 @@ export function rgbToHsl(r, g, b) {
397
397
  * @return Array The RGB representation
398
398
  */
399
399
  export function HSLtoRGB(h, s, l) {
400
- var r, g, b;
400
+ let r, g, b;
401
401
  if (s == 0) {
402
402
  r = g = b = l; // achromatic
403
403
  }
@@ -415,89 +415,11 @@ export function HSLtoRGB(h, s, l) {
415
415
  return p + (q - p) * (2 / 3 - t) * 6;
416
416
  return p;
417
417
  };
418
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
419
- var p = 2 * l - q;
418
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
419
+ const p = 2 * l - q;
420
420
  r = hue2rgb(p, q, h + 1 / 3);
421
421
  g = hue2rgb(p, q, h);
422
422
  b = hue2rgb(p, q, h - 1 / 3);
423
423
  }
424
424
  return [r * 255, g * 255, b * 255];
425
425
  }
426
- /**
427
- * Converts an RGB color value to HSV. Conversion formula
428
- * adapted from http://en.wikipedia.org/wiki/HSV_color_space.
429
- * Assumes r, g, and b are contained in the set [0, 255] and
430
- * returns h, s, and v in the set [0, 1].
431
- *
432
- * @param Number r The red color value
433
- * @param Number g The green color value
434
- * @param Number b The blue color value
435
- * @return Array The HSV representation
436
- */
437
- function rgbToHsv(r, g, b) {
438
- (r = r / 255), (g = g / 255), (b = b / 255);
439
- var max = Math.max(r, g, b), min = Math.min(r, g, b);
440
- var h = max;
441
- var s = max;
442
- var v = max;
443
- var d = max - min;
444
- s = max == 0 ? 0 : d / max;
445
- if (max == min) {
446
- h = 0; // achromatic
447
- }
448
- else {
449
- switch (max) {
450
- case r:
451
- h = (g - b) / d + (g < b ? 6 : 0);
452
- break;
453
- case g:
454
- h = (b - r) / d + 2;
455
- break;
456
- case b:
457
- h = (r - g) / d + 4;
458
- break;
459
- }
460
- h /= 6;
461
- }
462
- return [h, s, v];
463
- }
464
- /**
465
- * Converts an HSV color value to RGB. Conversion formula
466
- * adapted from http://en.wikipedia.org/wiki/HSV_color_space.
467
- * Assumes h, s, and v are contained in the set [0, 1] and
468
- * returns r, g, and b in the set [0, 255].
469
- *
470
- * @param Number h The hue
471
- * @param Number s The saturation
472
- * @param Number v The value
473
- * @return Array The RGB representation
474
- */
475
- function hsvToRgb(h, s, v) {
476
- var r, g, b;
477
- var i = Math.floor(h * 6);
478
- var f = h * 6 - i;
479
- var p = v * (1 - s);
480
- var q = v * (1 - f * s);
481
- var t = v * (1 - (1 - f) * s);
482
- switch (i % 6) {
483
- case 0:
484
- (r = v), (g = t), (b = p);
485
- break;
486
- case 1:
487
- (r = q), (g = v), (b = p);
488
- break;
489
- case 2:
490
- (r = p), (g = v), (b = t);
491
- break;
492
- case 3:
493
- (r = p), (g = q), (b = v);
494
- break;
495
- case 4:
496
- (r = t), (g = p), (b = v);
497
- break;
498
- case 5:
499
- (r = v), (g = p), (b = q);
500
- break;
501
- }
502
- return [r * 255, g * 255, b * 255];
503
- }
@@ -1,5 +1,6 @@
1
1
  import { ColumnInfo } from '../components/ReportBuilder/schema';
2
2
  import { Column, ColumnInternal } from '../models/Columns';
3
+ import { QuillReportInternal } from '../models/Report';
3
4
  export declare function convertPostgresColumn(field: {
4
5
  name: string;
5
6
  dataTypeID: number;
@@ -8,4 +9,5 @@ export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo
8
9
  export declare function convertFieldTypeToJSType(fieldType: string): string;
9
10
  export declare function convertFormatToJsType(column: Column): string;
10
11
  export declare function processColumnName(columnName: string): string;
12
+ export declare const getYAxisFields: (report: QuillReportInternal) => any[];
11
13
  //# sourceMappingURL=columnProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAM3D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAyGjB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0DD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAsBlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAyGjB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0DD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAsBlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,cAAc,WAAY,mBAAmB,UAsDzD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { findAndProcessDateFilter } from './filterProcessing';
1
2
  function removeBigQuerySpecialChars(columnName) {
2
3
  return columnName.replaceAll('quill_forward_slash', '/');
3
4
  }
@@ -206,3 +207,54 @@ export function convertFormatToJsType(column) {
206
207
  export function processColumnName(columnName) {
207
208
  return removeBigQuerySpecialChars(columnName);
208
209
  }
210
+ export const getYAxisFields = (report) => {
211
+ try {
212
+ const curDateFilter = findAndProcessDateFilter(Object.values(report.filtersApplied));
213
+ if (report.pivot && report.pivotColumns && report.pivot.columnField) {
214
+ return (report.pivotColumns
215
+ .slice(1)
216
+ .map((column) => {
217
+ // @ts-ignore
218
+ return { ...column, format: report.yAxisFields[0].format };
219
+ }) ?? []);
220
+ }
221
+ else if (report.pivot && report.pivotColumns) {
222
+ return (report.pivotColumns
223
+ .slice(1)
224
+ .map((column) => {
225
+ return {
226
+ ...column,
227
+ // @ts-ignore
228
+ label: report?.yAxisFields[0].label,
229
+ // @ts-ignore
230
+ format: report?.yAxisFields[0].format,
231
+ };
232
+ }) ?? []);
233
+ }
234
+ else {
235
+ if (curDateFilter?.comparison &&
236
+ curDateFilter.comparisonRange.value !== 'NO_COMPARISON') {
237
+ const comparisonYAxisFields = report.yAxisFields?.map((field) => {
238
+ return {
239
+ ...field,
240
+ field: `comparison_${field.field}`,
241
+ label: `comparison ${field.label ?? field.field}`,
242
+ };
243
+ });
244
+ if (report.pivotColumns) {
245
+ return report.pivotColumns;
246
+ }
247
+ else if (comparisonYAxisFields || report.yAxisFields) {
248
+ const yAxisFields = report.yAxisFields ?? [];
249
+ const compYAxisFields = comparisonYAxisFields ?? [];
250
+ return [...yAxisFields, ...compYAxisFields];
251
+ }
252
+ return [];
253
+ }
254
+ return report.pivotColumns ?? report.yAxisFields ?? [];
255
+ }
256
+ }
257
+ catch (e) {
258
+ return report.yAxisFields;
259
+ }
260
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=columnProcessing.uspec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnProcessing.uspec.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.uspec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { DEFAULT_COMPARISON_DATE_FILTER, TWO_D_PIVOT, GENERIC_REPORT_INTERNAL, ONE_D_PIVOT, } from '../test-utils/constants';
2
+ import { createRows } from '../test-utils/generators';
3
+ import { getYAxisFields } from './columnProcessing';
4
+ describe('columnProcessing', () => {
5
+ describe('getYAxisFields', () => {
6
+ it('should return an array of fields for generic reports', () => {
7
+ const internalReport = {
8
+ ...GENERIC_REPORT_INTERNAL,
9
+ rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
10
+ };
11
+ const result = getYAxisFields(internalReport);
12
+ expect(result).toEqual([
13
+ { field: 'id', format: 'whole_number', label: 'ID' },
14
+ ]);
15
+ });
16
+ it('should return an array of fields for comparison reports', () => {
17
+ const internalReport = {
18
+ ...GENERIC_REPORT_INTERNAL,
19
+ rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
20
+ compareRows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
21
+ filtersApplied: [DEFAULT_COMPARISON_DATE_FILTER],
22
+ };
23
+ const result = getYAxisFields(internalReport);
24
+ expect(result).toEqual([
25
+ { field: 'id', format: 'whole_number', label: 'ID' },
26
+ {
27
+ field: 'comparison_id',
28
+ format: 'whole_number',
29
+ label: 'comparison ID',
30
+ },
31
+ ]);
32
+ });
33
+ it('should return the proper fields for a 2d pivot report', () => {
34
+ const internalReport = {
35
+ ...GENERIC_REPORT_INTERNAL,
36
+ rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
37
+ pivotColumns: TWO_D_PIVOT.pivotColumns,
38
+ pivotRows: TWO_D_PIVOT.pivotRows,
39
+ pivot: TWO_D_PIVOT.pivot,
40
+ };
41
+ const result = getYAxisFields(internalReport);
42
+ expect(result).toEqual([
43
+ { field: 'Food', format: 'whole_number', label: 'Food' },
44
+ { field: 'Fuel', format: 'whole_number', label: 'Fuel' },
45
+ { field: 'Other', format: 'whole_number', label: 'Other' },
46
+ ]);
47
+ });
48
+ it('should return the proper fields for a 1d pivot report', () => {
49
+ const internalReport = {
50
+ ...GENERIC_REPORT_INTERNAL,
51
+ rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
52
+ pivotColumns: ONE_D_PIVOT.pivotColumns,
53
+ pivotRows: ONE_D_PIVOT.pivotRows,
54
+ pivot: ONE_D_PIVOT.pivot,
55
+ yAxisFields: [
56
+ { field: 'amount', format: 'whole_number', label: 'Amount' },
57
+ ],
58
+ };
59
+ const result = getYAxisFields(internalReport);
60
+ expect(result).toEqual([
61
+ { field: 'amount', format: 'whole_number', label: 'Amount' },
62
+ ]);
63
+ });
64
+ });
65
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,SA2FA,CAAC"}
1
+ {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,SA2FA,CAAC"}
@@ -1,4 +1,4 @@
1
- import { QuillReportInternal } from '../Dashboard';
1
+ import { QuillReportInternal } from '../models/Report';
2
2
  /**
3
3
  * Returns a cleaned version of the dashboard item we store in state. We clean
4
4
  * the dashboard item so that we aren't exposing unnecessary details to the
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAoC5E;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,CAAC,EAAE,GAAG,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAiD9B;AA0KD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC,CA0Bd"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA+BpE;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,CAAC,EAAE,GAAG,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAyC9B;AAgHD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC,CA2Bd"}
@@ -1,4 +1,3 @@
1
- import { valueFormatter } from './valueFormatter';
2
1
  import { generatePivotTable, generatePivotTableYAxis, } from '../internals/ReportBuilder/PivotModal';
3
2
  import { snakeAndCamelCaseToTitleCase } from './textProcessing';
4
3
  import { getData } from './dataFetcher';
@@ -14,15 +13,14 @@ const defaultDashboardItem = {
14
13
  chartType: '',
15
14
  dateField: null,
16
15
  pivot: null,
17
- primaryAggregation: '',
18
- comparisonAggregation: '',
19
- aggregationPercentChange: undefined,
20
16
  yAxisFields: [],
21
17
  xAxisLabel: '',
22
18
  xAxisField: '',
23
19
  xAxisFormat: 'string',
24
20
  order: -1,
25
21
  filtersApplied: {},
22
+ queryString: '',
23
+ rowCount: 0,
26
24
  };
27
25
  /**
28
26
  * Returns a cleaned version of the dashboard item we store in state. We clean
@@ -41,7 +39,6 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
41
39
  name: item.name,
42
40
  };
43
41
  const pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket);
44
- const { primaryAggregation, comparisonAggregation, aggregationPercentChange, } = getAggragations(pivotTable, item);
45
42
  return {
46
43
  id: item._id,
47
44
  name: item.name,
@@ -56,9 +53,6 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
56
53
  chartType: item.chartType,
57
54
  dateField: item.dateField,
58
55
  pivot: item.pivot,
59
- primaryAggregation,
60
- comparisonAggregation,
61
- aggregationPercentChange,
62
56
  yAxisFields: pivotTable
63
57
  ? extractPivotedYAxis(pivotTable, item)
64
58
  : item.yAxisFields,
@@ -69,52 +63,18 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
69
63
  filtersApplied: item.filtersApplied,
70
64
  rowCount: parseInt(item.rowCount),
71
65
  sort: item.sort,
72
- page: item.page,
73
66
  itemQuery: item.itemQuery,
67
+ queryString: item.queryString,
74
68
  };
75
69
  }
76
- /**
77
- * Extracts the aggregations from the item, if any.
78
- */
79
- function getAggragations(pivotTable, item) {
80
- const yAxisFields = extractPivotedYAxis(pivotTable, item);
81
- const rows = extractPivotedData(pivotTable, item);
82
- // extract the aggragation for the primary range.
83
- const mainKey = yAxisFields[0]?.field ?? item.pivot?.valueField;
84
- const primary = mainKey
85
- ? rows.reduce((sum, row) => sum + parseFloat(row[mainKey]), 0)
86
- : 0;
87
- // extract the aggragation for the comparison range, if applicable.
88
- const compKey = yAxisFields[1]?.field ?? item.pivot?.valueField;
89
- const comparison = compKey
90
- ? rows.reduce((sum, row) => sum + parseFloat(row[compKey]), 0)
91
- : 0;
92
- return {
93
- primaryAggregation: formatAggragation(item, primary),
94
- comparisonAggregation: formatAggragation(item, comparison),
95
- aggregationPercentChange: Number(primary - comparison),
96
- };
97
- }
98
- /**
99
- * Applies a valueFormatter to the given value based on the format in the item.
100
- */
101
- function formatAggragation(item, value) {
102
- if (!value)
103
- return undefined;
104
- return valueFormatter({
105
- value,
106
- field: item.pivot?.valueField,
107
- fields: item.yAxisFields,
108
- });
109
- }
110
70
  /**
111
71
  * Extract and transform the data from itemInfo.
112
72
  */
113
73
  async function getPivotTable(report, dashboardFilters, client, dateBucketInitial) {
114
74
  if (!report)
115
75
  return undefined;
116
- let dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
117
- if (dateFilter?.opterator === 'BETWEEN') {
76
+ const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
77
+ if (dateFilter?.operator === 'BETWEEN') {
118
78
  dateFilter.startDate = dateFilter.value[0];
119
79
  dateFilter.endDate = dateFilter.value[1];
120
80
  }
@@ -162,20 +122,6 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
162
122
  : undefined)
163
123
  : undefined;
164
124
  }
165
- /**
166
- * Returns the data list based on whether the table is pivoted and if there is
167
- * a config value passed into this component.
168
- */
169
- function extractPivotedData(pivotTable, item, config = undefined) {
170
- if (pivotTable)
171
- return pivotTable.rows;
172
- if (config) {
173
- if (config.bucketedRows.length > 0)
174
- return config.bucketedRows;
175
- return config.rows;
176
- }
177
- return item.rows;
178
- }
179
125
  /**
180
126
  * Extracts the yAxis from the pivot table, if one exists.
181
127
  */
@@ -217,6 +163,7 @@ export async function getDashboard(dashboardName, client) {
217
163
  clientId: client.publicKey,
218
164
  orgId: client.customerId || '*',
219
165
  databaseType: client.databaseType,
166
+ useNewNodeSql: true,
220
167
  },
221
168
  };
222
169
  const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAqBA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,gBAwGpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAgChB"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAwEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,gBA0IpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAgChB"}
@@ -1,3 +1,15 @@
1
+ function fetchQuillData(responseData) {
2
+ if (!responseData) {
3
+ return null;
4
+ }
5
+ if (responseData.data && responseData.data?.data) {
6
+ return responseData.data;
7
+ }
8
+ else if (responseData.data) {
9
+ return responseData;
10
+ }
11
+ return null;
12
+ }
1
13
  function parseData(rows, queryType) {
2
14
  if (!rows || rows.length === 0)
3
15
  return [];
@@ -17,6 +29,32 @@ function parseData(rows, queryType) {
17
29
  return rows;
18
30
  }
19
31
  }
32
+ async function testSqlViewState(hostedRequestBody, client, referencedTables) {
33
+ let errorMessage = null;
34
+ await Promise.all(referencedTables.map(async (table) => {
35
+ const hostedBody = {
36
+ metadata: {
37
+ tables: [table],
38
+ task: 'test-view',
39
+ clientId: hostedRequestBody.metadata.clientId,
40
+ },
41
+ };
42
+ const cloudBody = { ...hostedBody };
43
+ const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
44
+ if (resp.success === false) {
45
+ const brokenBody = {
46
+ metadata: {
47
+ table: table,
48
+ task: 'set-broken-view',
49
+ clientId: hostedRequestBody.metadata.clientId,
50
+ },
51
+ };
52
+ getData(client, 'test-view', 'same-origin', brokenBody, cloudBody);
53
+ errorMessage = `SQL View Error: '${table}' is out of sync with datasource.`;
54
+ }
55
+ }));
56
+ return errorMessage;
57
+ }
20
58
  // this function gets the data either from the self hosted endpoint or
21
59
  // our cloud server
22
60
  export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam) {
@@ -37,6 +75,30 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
37
75
  body: JSON.stringify(hostedRequestBody),
38
76
  });
39
77
  const responseJson = await resp.json();
78
+ if (responseJson.status === 'error' &&
79
+ ['query', 'patterns', 'item'].includes(hostedRequestBody.metadata.task)) {
80
+ const brokenReport = { ...responseJson };
81
+ let errorPrefix = 'Error: ';
82
+ let errorMessage = 'Failed to fetch chart';
83
+ if (hostedRequestBody.metadata.task === 'query' ||
84
+ hostedRequestBody.metadata.task === 'patterns') {
85
+ errorPrefix = 'SQL Error: ';
86
+ errorMessage = errorPrefix + responseJson.error;
87
+ }
88
+ let adminErrorMessage = undefined;
89
+ const processedData = fetchQuillData(brokenReport);
90
+ if (processedData &&
91
+ processedData.data &&
92
+ processedData.data.referencedTables) {
93
+ adminErrorMessage = await testSqlViewState(hostedRequestBody, client, processedData.data.referencedTables);
94
+ }
95
+ return {
96
+ success: false,
97
+ errorMessage,
98
+ adminErrorMessage,
99
+ data: brokenReport.data,
100
+ };
101
+ }
40
102
  if (responseJson.error) {
41
103
  return { success: false, errorMessage: responseJson.error };
42
104
  }
@@ -50,7 +112,7 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
50
112
  fields: responseJson?.data.queries?.queryResults[0]?.fields,
51
113
  ...responseJson.data.data,
52
114
  };
53
- responseJson.data.data.queryOrder.forEach((queryKey, index) => {
115
+ responseJson.data.data?.queryOrder?.forEach((queryKey, index) => {
54
116
  result[queryKey] = parseData(responseJson.queries.queryResults[index].rows, queryKey);
55
117
  });
56
118
  }
@@ -0,0 +1,10 @@
1
+ import { QuillReportInternal } from '../models/Report';
2
+ export declare enum Calculation {
3
+ PointToPointPercentageChange = "POINT_TO_POINT_PERCENTAGE_CHANGE",
4
+ SimplePercentageChange = "SIMPLE_PERCENTAGE_CHANGE",
5
+ Sum = "SUM"
6
+ }
7
+ export declare const getSimplePercentageChange: (data: QuillReportInternal) => number | undefined;
8
+ export declare const getPointToPointPercentageChange: (data: QuillReportInternal) => number | undefined;
9
+ export declare const getSumOfFields: (data: QuillReportInternal) => number;
10
+ //# sourceMappingURL=dataProcessing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/dataProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,oBAAY,WAAW;IACrB,4BAA4B,qCAAqC;IACjE,sBAAsB,6BAA6B;IACnD,GAAG,QAAQ;CACZ;AAyBD,eAAO,MAAM,yBAAyB,SAAU,mBAAmB,uBAsClE,CAAC;AAEF,eAAO,MAAM,+BAA+B,SAAU,mBAAmB,uBAkFxE,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,mBAAmB,WAavD,CAAC"}