@quillsql/react 2.12.28 → 2.12.30

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 (502) hide show
  1. package/dist/cjs/Chart.d.ts +24 -10
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +151 -189
  4. package/dist/cjs/ChartBuilder.d.ts +51 -11
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +162 -101
  7. package/dist/cjs/ChartEditor.d.ts +13 -1
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +62 -121
  10. package/dist/cjs/Context.d.ts +1 -19
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +74 -85
  13. package/dist/cjs/Dashboard.d.ts +16 -7
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +90 -68
  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 -3
  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 +22 -1
  30. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  31. package/dist/cjs/ReportBuilder.js +758 -505
  32. package/dist/cjs/SQLEditor.d.ts +2 -9
  33. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  34. package/dist/cjs/SQLEditor.js +142 -90
  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 +110 -92
  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/BarList.d.ts.map +1 -1
  62. package/dist/cjs/components/Chart/BarList.js +21 -14
  63. package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
  64. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  65. package/dist/cjs/components/Chart/ChartError.js +40 -5
  66. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  67. package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
  68. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  69. package/dist/cjs/components/Chart/LineChart.js +2 -2
  70. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  71. package/dist/cjs/components/Chart/PieChart.js +1 -3
  72. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  73. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  74. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  75. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +5 -1
  76. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  77. package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
  78. package/dist/cjs/components/Dashboard/DataLoader.d.ts +2 -6
  79. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  80. package/dist/cjs/components/Dashboard/DataLoader.js +98 -187
  81. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  82. package/dist/cjs/components/Dashboard/MetricComponent.js +1 -1
  83. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -4
  84. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  85. package/dist/cjs/components/Dashboard/TableComponent.js +3 -3
  86. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
  87. package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
  88. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
  89. package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
  90. package/dist/cjs/components/Dropdown/index.d.ts +2 -2
  91. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
  92. package/dist/cjs/components/Modal/Modal.js +2 -3
  93. package/dist/cjs/components/Modal/index.d.ts +1 -1
  94. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  95. package/dist/cjs/components/QuillMultiSelect.js +18 -3
  96. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  97. package/dist/cjs/components/QuillMultiSelectWithCombo.js +2 -2
  98. package/dist/cjs/components/QuillSelect.js +1 -1
  99. package/dist/cjs/components/QuillSelectWithCombo.js +2 -2
  100. package/dist/cjs/components/QuillTable.d.ts +1 -4
  101. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  102. package/dist/cjs/components/QuillTable.js +5 -11
  103. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  104. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  105. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
  106. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  107. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
  108. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  109. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
  110. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +22 -0
  111. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  112. package/dist/cjs/components/ReportBuilder/FilterModal.js +555 -0
  113. package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
  114. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  115. package/dist/cjs/components/ReportBuilder/ast.js +33 -6
  116. package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
  117. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
  118. package/dist/cjs/components/ReportBuilder/constants.js +24 -3
  119. package/dist/cjs/components/ReportBuilder/convert.d.ts +12 -15
  120. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  121. package/dist/cjs/components/ReportBuilder/convert.js +326 -494
  122. package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
  123. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  124. package/dist/cjs/components/ReportBuilder/operators.js +32 -4
  125. package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
  126. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  127. package/dist/cjs/components/ReportBuilder/ui.js +30 -4
  128. package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
  129. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  130. package/dist/cjs/components/ReportBuilder/util.js +15 -18
  131. package/dist/cjs/components/UiComponents.d.ts +10 -7
  132. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  133. package/dist/cjs/components/UiComponents.js +9 -8
  134. package/dist/cjs/components/selectUtils.d.ts +0 -1
  135. package/dist/cjs/components/selectUtils.d.ts.map +1 -1
  136. package/dist/cjs/components/selectUtils.js +1 -22
  137. package/dist/cjs/hooks/index.d.ts +4 -4
  138. package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
  139. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
  140. package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
  141. package/dist/cjs/hooks/useDashboard.d.ts +1 -1
  142. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  143. package/dist/cjs/hooks/useDashboard.js +22 -4
  144. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  145. package/dist/cjs/hooks/useExport.js +3 -1
  146. package/dist/cjs/hooks/useOnClickOutside.js +4 -4
  147. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
  148. package/dist/cjs/hooks/useOnWindowResize.js +2 -2
  149. package/dist/cjs/hooks/useQuill.d.ts +10 -27
  150. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  151. package/dist/cjs/hooks/useQuill.js +114 -82
  152. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  153. package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
  154. package/dist/cjs/hooks/useTheme.js +1 -1
  155. package/dist/cjs/index.d.ts +1 -0
  156. package/dist/cjs/index.d.ts.map +1 -1
  157. package/dist/cjs/index.js +3 -1
  158. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  159. package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
  160. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
  161. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  162. package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
  163. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
  164. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  165. package/dist/cjs/internals/ReportBuilder/PivotModal.js +64 -78
  166. package/dist/cjs/lib/utils.js +2 -2
  167. package/dist/cjs/models/Filter.d.ts +104 -4
  168. package/dist/cjs/models/Filter.d.ts.map +1 -1
  169. package/dist/cjs/models/Filter.js +91 -0
  170. package/dist/cjs/models/Pagination.d.ts +10 -0
  171. package/dist/cjs/models/Pagination.d.ts.map +1 -0
  172. package/dist/cjs/models/Pagination.js +2 -0
  173. package/dist/cjs/models/Report.d.ts +116 -0
  174. package/dist/cjs/models/Report.d.ts.map +1 -0
  175. package/dist/cjs/models/Report.js +2 -0
  176. package/dist/cjs/utils/aggregate.js +1 -1
  177. package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
  178. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
  179. package/dist/cjs/utils/astFilterProcessing.js +8056 -0
  180. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  181. package/dist/cjs/utils/astProcessing.js +4 -3
  182. package/dist/cjs/utils/axisFormatter.js +0 -71
  183. package/dist/cjs/utils/color.js +9 -87
  184. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  185. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  186. package/dist/cjs/utils/columnProcessing.js +8 -1
  187. package/dist/cjs/utils/csv.d.ts.map +1 -1
  188. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  189. package/dist/cjs/utils/dashboard.js +4 -4
  190. package/dist/cjs/utils/dataFetcher.d.ts +1 -1
  191. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  192. package/dist/cjs/utils/dataFetcher.js +72 -5
  193. package/dist/cjs/utils/dataProcessing.d.ts +8 -0
  194. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
  195. package/dist/cjs/utils/dataProcessing.js +127 -0
  196. package/dist/cjs/utils/dates.d.ts +2 -1
  197. package/dist/cjs/utils/dates.d.ts.map +1 -1
  198. package/dist/cjs/utils/dates.js +12 -3
  199. package/dist/cjs/utils/error.d.ts +5 -0
  200. package/dist/cjs/utils/error.d.ts.map +1 -0
  201. package/dist/cjs/utils/error.js +12 -0
  202. package/dist/cjs/utils/filterConstants.d.ts +34 -0
  203. package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
  204. package/dist/cjs/utils/filterConstants.js +36 -0
  205. package/dist/cjs/utils/filterProcessing.js +4 -4
  206. package/dist/cjs/utils/logging.d.ts.map +1 -1
  207. package/dist/cjs/utils/logging.js +1 -0
  208. package/dist/cjs/utils/merge.js +0 -21
  209. package/dist/cjs/utils/monacoConfig.d.ts +21 -0
  210. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
  211. package/dist/cjs/utils/monacoConfig.js +324 -0
  212. package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
  213. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
  214. package/dist/cjs/utils/paginationProcessing.js +30 -0
  215. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  216. package/dist/cjs/utils/pivotConstructor.js +67 -5
  217. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  218. package/dist/cjs/utils/pivotProcessing.js +12 -6
  219. package/dist/cjs/utils/queryConstructor.d.ts +4 -2
  220. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  221. package/dist/cjs/utils/queryConstructor.js +121 -59
  222. package/dist/cjs/utils/report.d.ts +7 -0
  223. package/dist/cjs/utils/report.d.ts.map +1 -0
  224. package/dist/cjs/utils/report.js +93 -0
  225. package/dist/cjs/utils/schema.d.ts.map +1 -1
  226. package/dist/cjs/utils/schema.js +35 -6
  227. package/dist/cjs/utils/styles.d.ts +1 -1
  228. package/dist/cjs/utils/styles.d.ts.map +1 -1
  229. package/dist/cjs/utils/tableProcessing.d.ts +23 -8
  230. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  231. package/dist/cjs/utils/tableProcessing.js +156 -38
  232. package/dist/cjs/utils/textProcessing.js +3 -3
  233. package/dist/cjs/utils/validation.d.ts +9 -0
  234. package/dist/cjs/utils/validation.d.ts.map +1 -0
  235. package/dist/cjs/utils/validation.js +24 -0
  236. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  237. package/dist/cjs/utils/valueFormatter.js +8 -4
  238. package/dist/esm/Chart.d.ts +24 -10
  239. package/dist/esm/Chart.d.ts.map +1 -1
  240. package/dist/esm/Chart.js +154 -192
  241. package/dist/esm/ChartBuilder.d.ts +51 -11
  242. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  243. package/dist/esm/ChartBuilder.js +161 -101
  244. package/dist/esm/ChartEditor.d.ts +13 -1
  245. package/dist/esm/ChartEditor.d.ts.map +1 -1
  246. package/dist/esm/ChartEditor.js +63 -122
  247. package/dist/esm/Context.d.ts +1 -19
  248. package/dist/esm/Context.d.ts.map +1 -1
  249. package/dist/esm/Context.js +74 -84
  250. package/dist/esm/Dashboard.d.ts +16 -7
  251. package/dist/esm/Dashboard.d.ts.map +1 -1
  252. package/dist/esm/Dashboard.js +91 -69
  253. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
  254. package/dist/esm/DateRangePicker/Calendar.js +5 -8
  255. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  256. package/dist/esm/DateRangePicker/DateRangePicker.js +2 -3
  257. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  258. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  259. package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
  260. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  261. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  262. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
  263. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  264. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  265. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
  266. package/dist/esm/ReportBuilder.d.ts +22 -1
  267. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  268. package/dist/esm/ReportBuilder.js +766 -513
  269. package/dist/esm/SQLEditor.d.ts +2 -9
  270. package/dist/esm/SQLEditor.d.ts.map +1 -1
  271. package/dist/esm/SQLEditor.js +144 -92
  272. package/dist/esm/Table.d.ts +19 -3
  273. package/dist/esm/Table.d.ts.map +1 -1
  274. package/dist/esm/Table.js +112 -94
  275. package/dist/esm/TableChart.d.ts.map +1 -1
  276. package/dist/esm/TableChart.js +0 -1
  277. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  278. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
  279. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
  280. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  281. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  282. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
  283. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  284. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
  285. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
  286. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
  287. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  288. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  289. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  290. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
  291. package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
  292. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
  293. package/dist/esm/components/Banner/index.d.ts +1 -1
  294. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  295. package/dist/esm/components/Banner/index.js +1 -1
  296. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
  297. package/dist/esm/components/BigModal/BigModal.js +7 -13
  298. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  299. package/dist/esm/components/Chart/BarList.js +21 -14
  300. package/dist/esm/components/Chart/ChartError.d.ts +8 -1
  301. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  302. package/dist/esm/components/Chart/ChartError.js +39 -6
  303. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  304. package/dist/esm/components/Chart/ChartTooltip.js +8 -2
  305. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  306. package/dist/esm/components/Chart/LineChart.js +2 -2
  307. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  308. package/dist/esm/components/Chart/PieChart.js +1 -3
  309. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  310. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  311. package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
  312. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
  313. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  314. package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
  315. package/dist/esm/components/Dashboard/DataLoader.d.ts +2 -6
  316. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  317. package/dist/esm/components/Dashboard/DataLoader.js +98 -187
  318. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  319. package/dist/esm/components/Dashboard/MetricComponent.js +1 -1
  320. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -4
  321. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  322. package/dist/esm/components/Dashboard/TableComponent.js +3 -3
  323. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  324. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  325. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  326. package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
  327. package/dist/esm/components/Dropdown/index.d.ts +2 -2
  328. package/dist/esm/components/Dropdown/index.js +2 -2
  329. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  330. package/dist/esm/components/Modal/Modal.js +2 -3
  331. package/dist/esm/components/Modal/index.d.ts +1 -1
  332. package/dist/esm/components/Modal/index.js +1 -1
  333. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  334. package/dist/esm/components/QuillMultiSelect.js +18 -3
  335. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  336. package/dist/esm/components/QuillMultiSelectWithCombo.js +2 -2
  337. package/dist/esm/components/QuillSelect.js +1 -1
  338. package/dist/esm/components/QuillSelectWithCombo.js +2 -2
  339. package/dist/esm/components/QuillTable.d.ts +1 -4
  340. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  341. package/dist/esm/components/QuillTable.js +5 -11
  342. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  343. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  344. package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
  345. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  346. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
  347. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  348. package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
  349. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +22 -0
  350. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  351. package/dist/esm/components/ReportBuilder/FilterModal.js +552 -0
  352. package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
  353. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  354. package/dist/esm/components/ReportBuilder/ast.js +31 -5
  355. package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
  356. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
  357. package/dist/esm/components/ReportBuilder/constants.js +24 -3
  358. package/dist/esm/components/ReportBuilder/convert.d.ts +12 -15
  359. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  360. package/dist/esm/components/ReportBuilder/convert.js +324 -493
  361. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
  362. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
  363. package/dist/esm/components/ReportBuilder/convert.uspec.js +1152 -0
  364. package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
  365. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  366. package/dist/esm/components/ReportBuilder/operators.js +32 -4
  367. package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
  368. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  369. package/dist/esm/components/ReportBuilder/ui.js +28 -3
  370. package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
  371. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  372. package/dist/esm/components/ReportBuilder/util.js +16 -19
  373. package/dist/esm/components/UiComponents.d.ts +10 -7
  374. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  375. package/dist/esm/components/UiComponents.js +9 -8
  376. package/dist/esm/components/selectUtils.d.ts +0 -1
  377. package/dist/esm/components/selectUtils.d.ts.map +1 -1
  378. package/dist/esm/components/selectUtils.js +0 -20
  379. package/dist/esm/hooks/index.d.ts +4 -4
  380. package/dist/esm/hooks/index.js +4 -4
  381. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  382. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  383. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  384. package/dist/esm/hooks/useDashboard.d.ts +1 -1
  385. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  386. package/dist/esm/hooks/useDashboard.js +23 -5
  387. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  388. package/dist/esm/hooks/useExport.js +4 -2
  389. package/dist/esm/hooks/useOnClickOutside.js +5 -5
  390. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
  391. package/dist/esm/hooks/useOnWindowResize.js +3 -3
  392. package/dist/esm/hooks/useQuill.d.ts +10 -27
  393. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  394. package/dist/esm/hooks/useQuill.js +114 -82
  395. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  396. package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
  397. package/dist/esm/hooks/useTheme.js +1 -1
  398. package/dist/esm/index.d.ts +1 -0
  399. package/dist/esm/index.d.ts.map +1 -1
  400. package/dist/esm/index.js +1 -0
  401. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  402. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
  403. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
  404. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  405. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  406. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
  407. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  408. package/dist/esm/internals/ReportBuilder/PivotModal.js +68 -82
  409. package/dist/esm/lib/utils.js +2 -2
  410. package/dist/esm/models/Filter.d.ts +104 -4
  411. package/dist/esm/models/Filter.d.ts.map +1 -1
  412. package/dist/esm/models/Filter.js +90 -1
  413. package/dist/esm/models/Pagination.d.ts +10 -0
  414. package/dist/esm/models/Pagination.d.ts.map +1 -0
  415. package/dist/esm/models/Pagination.js +1 -0
  416. package/dist/esm/models/Report.d.ts +116 -0
  417. package/dist/esm/models/Report.d.ts.map +1 -0
  418. package/dist/esm/models/Report.js +1 -0
  419. package/dist/esm/utils/aggregate.js +1 -1
  420. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  421. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  422. package/dist/esm/utils/astFilterProcessing.js +8049 -0
  423. package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
  424. package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
  425. package/dist/esm/utils/astFilterProcessing.uspec.js +2729 -0
  426. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  427. package/dist/esm/utils/astProcessing.js +4 -3
  428. package/dist/esm/utils/axisFormatter.js +0 -71
  429. package/dist/esm/utils/color.js +9 -87
  430. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  431. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  432. package/dist/esm/utils/columnProcessing.js +6 -0
  433. package/dist/esm/utils/csv.d.ts.map +1 -1
  434. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  435. package/dist/esm/utils/dashboard.js +4 -4
  436. package/dist/esm/utils/dataFetcher.d.ts +1 -1
  437. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  438. package/dist/esm/utils/dataFetcher.js +72 -5
  439. package/dist/esm/utils/dataProcessing.d.ts +8 -0
  440. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  441. package/dist/esm/utils/dataProcessing.js +122 -0
  442. package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
  443. package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
  444. package/dist/esm/utils/dataProcessing.uspec.js +204 -0
  445. package/dist/esm/utils/dates.d.ts +2 -1
  446. package/dist/esm/utils/dates.d.ts.map +1 -1
  447. package/dist/esm/utils/dates.js +10 -2
  448. package/dist/esm/utils/error.d.ts +5 -0
  449. package/dist/esm/utils/error.d.ts.map +1 -0
  450. package/dist/esm/utils/error.js +8 -0
  451. package/dist/esm/utils/filterConstants.d.ts +34 -0
  452. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  453. package/dist/esm/utils/filterConstants.js +33 -0
  454. package/dist/esm/utils/filterProcessing.js +4 -4
  455. package/dist/esm/utils/logging.d.ts.map +1 -1
  456. package/dist/esm/utils/logging.js +1 -0
  457. package/dist/esm/utils/merge.js +0 -21
  458. package/dist/esm/utils/monacoConfig.d.ts +21 -0
  459. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  460. package/dist/esm/utils/monacoConfig.js +319 -0
  461. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  462. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  463. package/dist/esm/utils/paginationProcessing.js +25 -0
  464. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  465. package/dist/esm/utils/pivotConstructor.js +67 -5
  466. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  467. package/dist/esm/utils/pivotProcessing.js +12 -6
  468. package/dist/esm/utils/queryConstructor.d.ts +4 -2
  469. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  470. package/dist/esm/utils/queryConstructor.js +118 -58
  471. package/dist/esm/utils/queryConstructor.uspec.d.ts +2 -0
  472. package/dist/esm/utils/queryConstructor.uspec.d.ts.map +1 -0
  473. package/dist/esm/utils/queryConstructor.uspec.js +223 -0
  474. package/dist/esm/utils/report.d.ts +7 -0
  475. package/dist/esm/utils/report.d.ts.map +1 -0
  476. package/dist/esm/utils/report.ispec.d.ts +2 -0
  477. package/dist/esm/utils/report.ispec.d.ts.map +1 -0
  478. package/dist/esm/utils/report.ispec.js +46 -0
  479. package/dist/esm/utils/report.js +88 -0
  480. package/dist/esm/utils/schema.d.ts.map +1 -1
  481. package/dist/esm/utils/schema.js +35 -6
  482. package/dist/esm/utils/styles.d.ts +1 -1
  483. package/dist/esm/utils/styles.d.ts.map +1 -1
  484. package/dist/esm/utils/tableProcessing.d.ts +23 -8
  485. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  486. package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
  487. package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
  488. package/dist/esm/utils/tableProcessing.ispec.js +61 -0
  489. package/dist/esm/utils/tableProcessing.js +152 -37
  490. package/dist/esm/utils/textProcessing.js +3 -3
  491. package/dist/esm/utils/validation.d.ts +9 -0
  492. package/dist/esm/utils/validation.d.ts.map +1 -0
  493. package/dist/esm/utils/validation.js +20 -0
  494. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  495. package/dist/esm/utils/valueFormatter.js +8 -4
  496. package/package.json +1 -1
  497. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  498. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  499. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +0 -213
  500. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  501. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  502. package/dist/esm/internals/ReportBuilder/PivotModal.spec.js +0 -211
@@ -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"}
@@ -83,8 +83,9 @@ function createTableNameToTableAliasMap(ast) {
83
83
  }
84
84
  if (ast.with) {
85
85
  for (const withStmt of ast.with) {
86
- if (withStmt.stmt.ast.from) {
87
- for (const table of withStmt.stmt.ast.from) {
86
+ const astFrom = withStmt.stmt.from ?? withStmt.stmt.ast.from;
87
+ if (astFrom) {
88
+ for (const table of astFrom) {
88
89
  const tableObject = recursiveSearchByKeys(table, ['table', 'as']);
89
90
  if (tableObject.as) {
90
91
  tableNameToTableAliasMap[tableObject.as] = tableObject.table;
@@ -180,7 +181,7 @@ function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
180
181
  }
181
182
  exports.getColumnAndTableInfo = getColumnAndTableInfo;
182
183
  function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
183
- let referencedColumns = {};
184
+ const referencedColumns = {};
184
185
  if (ast.columns === '*' || ast.columns[0].expr.column === '*') {
185
186
  // Be sure to select everything from stars
186
187
  const tableList = ast.from.map((table) => recursiveSearchByKey(table, 'table'));
@@ -70,13 +70,6 @@ const formatterDollar = new Intl.NumberFormat('en-US', {
70
70
  currency: 'USD',
71
71
  maximumFractionDigits: 0,
72
72
  });
73
- // Formats to dollars like 1234.567 -> $1234.57
74
- const formatterDollarsCents = new Intl.NumberFormat('en-US', {
75
- style: 'currency',
76
- currency: 'USD',
77
- minimumFractionDigits: 2,
78
- maximumFractionDigits: 2,
79
- });
80
73
  /**
81
74
  * Formats the value as a (rounded) currency amount in dollars. If value is
82
75
  * zero, returns '$0' with no cents. If value is greater than or equal to 1000,
@@ -98,27 +91,6 @@ const formatDollarAmount = (value) => {
98
91
  return formatterDollar.format(num);
99
92
  }
100
93
  };
101
- /**
102
- * Formats the value as a (rounded) currency amount in dollars and cents. If
103
- * value is zero, returns '$0' with no cents. If value is greater than or equal
104
- * to 1000, it will not show cents and shorten the value with a suffix such
105
- * as K (for thousands) or M (for millions).
106
- *
107
- * @example format(1,234,567) => "$1.2M"
108
- * @example format(1234.567) => "$1.2K"
109
- * @example format(5000) => "$5K"
110
- * @example format(123.45) => "$123.45"
111
- * @example format(0.00) => "$0"
112
- */
113
- const formatDollarCents = (value) => {
114
- const num = Number(value ?? 0);
115
- if (num >= 1000 || num === 0) {
116
- return formatterBigDollars.format(num);
117
- }
118
- else {
119
- return formatterDollarsCents.format(num);
120
- }
121
- };
122
94
  const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
123
95
  minimumSignificantDigits: 1,
124
96
  maximumSignificantDigits: 2,
@@ -133,48 +105,6 @@ const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
133
105
  const formatWholeNumber = (value) => {
134
106
  return formatterBigWholeNumber.format(Number(value));
135
107
  };
136
- /**
137
- * Formats the value as a number rounded to exactly one decimal place.
138
- *
139
- * @example format(1234.567) => "1.2K"
140
- * @example format(123.456) => "1,234.6"
141
- */
142
- const formatOneDecimalPlace = (value) => {
143
- const formatter = new Intl.NumberFormat('en-US', {
144
- minimumFractionDigits: 1,
145
- maximumFractionDigits: 1,
146
- notation: 'compact',
147
- compactDisplay: 'short',
148
- });
149
- const num = Number(value ?? 0);
150
- if (num >= 1000 || num === 0) {
151
- return formatterBigWholeNumber.format(num);
152
- }
153
- else {
154
- return formatter.format(num);
155
- }
156
- };
157
- /**
158
- * Formats the value as a number rounded to exactly two decimal places.
159
- *
160
- * @example format(1234.567) => "1.23K"
161
- * @example format(123.456) => "123.46"
162
- */
163
- const formatTwoDecimalPlaces = (value) => {
164
- const formatter = new Intl.NumberFormat('en-US', {
165
- minimumFractionDigits: 2,
166
- maximumFractionDigits: 2,
167
- notation: 'compact',
168
- compactDisplay: 'short',
169
- });
170
- const num = Number(value ?? 0);
171
- if (num >= 1000 || num === 0) {
172
- return formatterBigWholeNumber.format(num);
173
- }
174
- else {
175
- return formatter.format(num);
176
- }
177
- };
178
108
  /**
179
109
  * Formats the value as a percentage.
180
110
  *
@@ -229,7 +159,6 @@ const format_MMM_ww_yyyy = (value) => {
229
159
  const utcDate = (0, date_fns_tz_1.utcToZonedTime)(new Date(value), 'UTC');
230
160
  if (!(0, date_fns_1.isValid)(utcDate))
231
161
  return 'Invalid date';
232
- const currentDate = new Date();
233
162
  const startOfWeekDate = (0, date_fns_1.startOfWeek)(utcDate, { weekStartsOn: 1 });
234
163
  const endOfWeekDate = (0, date_fns_1.endOfWeek)(utcDate, { weekStartsOn: 1 });
235
164
  const month = (0, date_fns_1.format)(utcDate, 'MMM');
@@ -73,7 +73,7 @@ function interpolateBetween(leftColor, rightColor, length = 3) {
73
73
  * @param length - The number of interpolated colors to generate.
74
74
  */
75
75
  function monochromaticInterpolation(color, length) {
76
- const [h, s, _l] = colorToHSL(color);
76
+ const [h, s] = colorToHSL(color);
77
77
  const hues = linspace(h, h, length);
78
78
  const saturations = linspace(s, s, length);
79
79
  const lightnesses = linspace(0.6, 0.9, length);
@@ -366,15 +366,15 @@ const COLOR_TO_HEX = {
366
366
  */
367
367
  function rgbToHsl(r, g, b) {
368
368
  (r /= 255), (g /= 255), (b /= 255);
369
- var max = Math.max(r, g, b), min = Math.min(r, g, b);
370
- var h = (max + min) / 2;
371
- var s = (max + min) / 2;
372
- var l = (max + min) / 2;
369
+ const max = Math.max(r, g, b), min = Math.min(r, g, b);
370
+ let h = (max + min) / 2;
371
+ let s = (max + min) / 2;
372
+ const l = (max + min) / 2;
373
373
  if (max == min) {
374
374
  h = s = 0; // achromatic
375
375
  }
376
376
  else {
377
- var d = max - min;
377
+ const d = max - min;
378
378
  s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
379
379
  switch (max) {
380
380
  case r:
@@ -404,7 +404,7 @@ exports.rgbToHsl = rgbToHsl;
404
404
  * @return Array The RGB representation
405
405
  */
406
406
  function HSLtoRGB(h, s, l) {
407
- var r, g, b;
407
+ let r, g, b;
408
408
  if (s == 0) {
409
409
  r = g = b = l; // achromatic
410
410
  }
@@ -422,8 +422,8 @@ function HSLtoRGB(h, s, l) {
422
422
  return p + (q - p) * (2 / 3 - t) * 6;
423
423
  return p;
424
424
  };
425
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
426
- var p = 2 * l - q;
425
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
426
+ const p = 2 * l - q;
427
427
  r = hue2rgb(p, q, h + 1 / 3);
428
428
  g = hue2rgb(p, q, h);
429
429
  b = hue2rgb(p, q, h - 1 / 3);
@@ -431,81 +431,3 @@ function HSLtoRGB(h, s, l) {
431
431
  return [r * 255, g * 255, b * 255];
432
432
  }
433
433
  exports.HSLtoRGB = HSLtoRGB;
434
- /**
435
- * Converts an RGB color value to HSV. Conversion formula
436
- * adapted from http://en.wikipedia.org/wiki/HSV_color_space.
437
- * Assumes r, g, and b are contained in the set [0, 255] and
438
- * returns h, s, and v in the set [0, 1].
439
- *
440
- * @param Number r The red color value
441
- * @param Number g The green color value
442
- * @param Number b The blue color value
443
- * @return Array The HSV representation
444
- */
445
- function rgbToHsv(r, g, b) {
446
- (r = r / 255), (g = g / 255), (b = b / 255);
447
- var max = Math.max(r, g, b), min = Math.min(r, g, b);
448
- var h = max;
449
- var s = max;
450
- var v = max;
451
- var d = max - min;
452
- s = max == 0 ? 0 : d / max;
453
- if (max == min) {
454
- h = 0; // achromatic
455
- }
456
- else {
457
- switch (max) {
458
- case r:
459
- h = (g - b) / d + (g < b ? 6 : 0);
460
- break;
461
- case g:
462
- h = (b - r) / d + 2;
463
- break;
464
- case b:
465
- h = (r - g) / d + 4;
466
- break;
467
- }
468
- h /= 6;
469
- }
470
- return [h, s, v];
471
- }
472
- /**
473
- * Converts an HSV color value to RGB. Conversion formula
474
- * adapted from http://en.wikipedia.org/wiki/HSV_color_space.
475
- * Assumes h, s, and v are contained in the set [0, 1] and
476
- * returns r, g, and b in the set [0, 255].
477
- *
478
- * @param Number h The hue
479
- * @param Number s The saturation
480
- * @param Number v The value
481
- * @return Array The RGB representation
482
- */
483
- function hsvToRgb(h, s, v) {
484
- var r, g, b;
485
- var i = Math.floor(h * 6);
486
- var f = h * 6 - i;
487
- var p = v * (1 - s);
488
- var q = v * (1 - f * s);
489
- var t = v * (1 - (1 - f) * s);
490
- switch (i % 6) {
491
- case 0:
492
- (r = v), (g = t), (b = p);
493
- break;
494
- case 1:
495
- (r = q), (g = v), (b = p);
496
- break;
497
- case 2:
498
- (r = p), (g = v), (b = t);
499
- break;
500
- case 3:
501
- (r = p), (g = q), (b = v);
502
- break;
503
- case 4:
504
- (r = t), (g = p), (b = v);
505
- break;
506
- case 5:
507
- (r = v), (g = p), (b = q);
508
- break;
509
- }
510
- return [r * 255, g * 255, b * 255];
511
- }
@@ -7,4 +7,5 @@ export declare function convertPostgresColumn(field: {
7
7
  export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo): ColumnInternal;
8
8
  export declare function convertFieldTypeToJSType(fieldType: string): string;
9
9
  export declare function convertFormatToJsType(column: Column): string;
10
+ export declare function processColumnName(columnName: string): string;
10
11
  //# 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;AAE3D,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"}
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,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertFormatToJsType = exports.convertFieldTypeToJSType = exports.convertColumnInfoToColumnInternal = exports.convertPostgresColumn = void 0;
3
+ exports.processColumnName = exports.convertFormatToJsType = exports.convertFieldTypeToJSType = exports.convertColumnInfoToColumnInternal = exports.convertPostgresColumn = void 0;
4
+ function removeBigQuerySpecialChars(columnName) {
5
+ return columnName.replaceAll('quill_forward_slash', '/');
6
+ }
4
7
  function convertPostgresColumn(field) {
5
8
  let format;
6
9
  let fieldType;
@@ -207,3 +210,7 @@ function convertFormatToJsType(column) {
207
210
  }
208
211
  }
209
212
  exports.convertFormatToJsType = convertFormatToJsType;
213
+ function processColumnName(columnName) {
214
+ return removeBigQuerySpecialChars(columnName);
215
+ }
216
+ exports.processColumnName = processColumnName;
@@ -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 +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,EAA2B,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAgC5E;;;;;;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,CAgD9B;AA0KD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC,CA2Bd"}
@@ -72,7 +72,6 @@ async function cleanDashboardItem(item, dashboardFilters, client, dateBucket) {
72
72
  filtersApplied: item.filtersApplied,
73
73
  rowCount: parseInt(item.rowCount),
74
74
  sort: item.sort,
75
- page: item.page,
76
75
  itemQuery: item.itemQuery,
77
76
  };
78
77
  }
@@ -117,14 +116,14 @@ function formatAggragation(item, value) {
117
116
  async function getPivotTable(report, dashboardFilters, client, dateBucketInitial) {
118
117
  if (!report)
119
118
  return undefined;
120
- let dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
121
- if (dateFilter?.opterator === 'BETWEEN') {
119
+ const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
120
+ if (dateFilter?.operator === 'BETWEEN') {
122
121
  dateFilter.startDate = dateFilter.value[0];
123
122
  dateFilter.endDate = dateFilter.value[1];
124
123
  }
125
124
  const pivot = report?.pivot;
126
125
  const data = report || {};
127
- if (pivot && client && client.databaseType.toLowerCase() === 'postgresql') {
126
+ if (pivot && client) {
128
127
  if (report.rowCount === 0) {
129
128
  return { rows: [], columns: [] };
130
129
  }
@@ -221,6 +220,7 @@ async function getDashboard(dashboardName, client) {
221
220
  clientId: client.publicKey,
222
221
  orgId: client.customerId || '*',
223
222
  databaseType: client.databaseType,
223
+ useNewNodeSql: true,
224
224
  },
225
225
  };
226
226
  const resp = await (0, dataFetcher_1.getData)(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
@@ -1,3 +1,3 @@
1
- export declare function getData(client: any, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string): Promise<any>;
1
+ export declare function getData(client: any, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string, queryParam?: string): Promise<any>;
2
2
  export declare function getDataFromCloud(client: any, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string): Promise<any>;
3
3
  //# sourceMappingURL=dataFetcher.d.ts.map
@@ -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,gBAmGhB;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,6 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDataFromCloud = exports.getData = void 0;
4
+ function fetchQuillData(responseData) {
5
+ if (!responseData) {
6
+ return null;
7
+ }
8
+ if (responseData.data && responseData.data?.data) {
9
+ return responseData.data;
10
+ }
11
+ else if (responseData.data) {
12
+ return responseData;
13
+ }
14
+ return null;
15
+ }
4
16
  function parseData(rows, queryType) {
5
17
  if (!rows || rows.length === 0)
6
18
  return [];
@@ -11,7 +23,7 @@ function parseData(rows, queryType) {
11
23
  end: new Date(rows[0]?.max_date),
12
24
  };
13
25
  case 'rowCount':
14
- return parseInt(rows[0]?.count);
26
+ return parseInt(rows[0]?.row_count);
15
27
  case 'distinctStrings':
16
28
  return rows.map((row) => {
17
29
  return row['column_field'];
@@ -20,13 +32,43 @@ function parseData(rows, queryType) {
20
32
  return rows;
21
33
  }
22
34
  }
35
+ async function testSqlViewState(hostedRequestBody, client, referencedTables) {
36
+ let errorMessage = null;
37
+ await Promise.all(referencedTables.map(async (table) => {
38
+ const hostedBody = {
39
+ metadata: {
40
+ tables: [table],
41
+ task: 'test-view',
42
+ clientId: hostedRequestBody.metadata.clientId,
43
+ },
44
+ };
45
+ const cloudBody = { ...hostedBody };
46
+ const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
47
+ if (resp.success === false) {
48
+ const brokenBody = {
49
+ metadata: {
50
+ table: table,
51
+ task: 'set-broken-view',
52
+ clientId: hostedRequestBody.metadata.clientId,
53
+ },
54
+ };
55
+ getData(client, 'test-view', 'same-origin', brokenBody, cloudBody);
56
+ errorMessage = `SQL View Error: '${table}' is out of sync with datasource.`;
57
+ }
58
+ }));
59
+ return errorMessage;
60
+ }
23
61
  // this function gets the data either from the self hosted endpoint or
24
62
  // our cloud server
25
- async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
63
+ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam) {
64
+ if (!client) {
65
+ return null;
66
+ }
26
67
  try {
27
68
  if (client.queryEndpoint) {
28
69
  // self hosted
29
- const resp = await fetch(client.queryEndpoint, {
70
+ const processedParam = queryParam ? `?${queryParam}` : '';
71
+ const resp = await fetch(`${client.queryEndpoint}${processedParam}`, {
30
72
  method: 'POST',
31
73
  headers: {
32
74
  ...client.queryHeaders,
@@ -36,19 +78,44 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
36
78
  body: JSON.stringify(hostedRequestBody),
37
79
  });
38
80
  const responseJson = await resp.json();
81
+ if (responseJson.status === 'error' &&
82
+ ['query', 'patterns', 'item'].includes(hostedRequestBody.metadata.task)) {
83
+ const brokenReport = { ...responseJson };
84
+ let errorPrefix = 'Error: ';
85
+ let errorMessage = 'Failed to fetch chart';
86
+ if (hostedRequestBody.metadata.task === 'query' ||
87
+ hostedRequestBody.metadata.task === 'patterns') {
88
+ errorPrefix = 'SQL Error: ';
89
+ errorMessage = errorPrefix + responseJson.error;
90
+ }
91
+ let adminErrorMessage = undefined;
92
+ const processedData = fetchQuillData(brokenReport);
93
+ if (processedData &&
94
+ processedData.data &&
95
+ processedData.data.referencedTables) {
96
+ adminErrorMessage = await testSqlViewState(hostedRequestBody, client, processedData.data.referencedTables);
97
+ }
98
+ return {
99
+ success: false,
100
+ errorMessage,
101
+ adminErrorMessage,
102
+ data: brokenReport.data,
103
+ };
104
+ }
39
105
  if (responseJson.error) {
40
106
  return { success: false, errorMessage: responseJson.error };
41
107
  }
42
108
  let result;
43
109
  if (hostedRequestBody &&
44
110
  hostedRequestBody.metadata &&
45
- hostedRequestBody.metadata.task === 'report') {
111
+ (hostedRequestBody.metadata.task === 'report' ||
112
+ hostedRequestBody.metadata.useUpdatedDataGathering)) {
46
113
  if (responseJson.data?.data) {
47
114
  result = {
48
115
  fields: responseJson?.data.queries?.queryResults[0]?.fields,
49
116
  ...responseJson.data.data,
50
117
  };
51
- responseJson.data.data.queryOrder.forEach((queryKey, index) => {
118
+ responseJson.data.data?.queryOrder?.forEach((queryKey, index) => {
52
119
  result[queryKey] = parseData(responseJson.queries.queryResults[index].rows, queryKey);
53
120
  });
54
121
  }
@@ -0,0 +1,8 @@
1
+ import { QuillReportInternal } from '../Dashboard';
2
+ export declare enum Calculation {
3
+ PointToPointPercentageChange = "POINT_TO_POINT_PERCENTAGE_CHANGE",
4
+ SimplePercentageChange = "SIMPLE_PERCENTAGE_CHANGE"
5
+ }
6
+ export declare const getSimplePercentageChange: (data: QuillReportInternal) => number | undefined;
7
+ export declare const getPointToPointPercentageChange: (data: QuillReportInternal) => number | undefined;
8
+ //# 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,cAAc,CAAC;AAInD,oBAAY,WAAW;IACrB,4BAA4B,qCAAqC;IACjE,sBAAsB,6BAA6B;CACpD;AAyBD,eAAO,MAAM,yBAAyB,SAAU,mBAAmB,uBAsClE,CAAC;AAEF,eAAO,MAAM,+BAA+B,SAAU,mBAAmB,uBAkFxE,CAAC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPointToPointPercentageChange = exports.getSimplePercentageChange = exports.Calculation = void 0;
4
+ const PivotModal_1 = require("../internals/ReportBuilder/PivotModal");
5
+ const dates_1 = require("./dates");
6
+ var Calculation;
7
+ (function (Calculation) {
8
+ Calculation["PointToPointPercentageChange"] = "POINT_TO_POINT_PERCENTAGE_CHANGE";
9
+ Calculation["SimplePercentageChange"] = "SIMPLE_PERCENTAGE_CHANGE";
10
+ })(Calculation || (exports.Calculation = Calculation = {}));
11
+ const getSumOfField = (rows, field) => {
12
+ if (rows[0] && rows[0][field]) {
13
+ const reduced = rows.reduce((acc, row) => {
14
+ if (isNaN(Number(row[field]))) {
15
+ return acc;
16
+ }
17
+ return acc + Number(row[field]);
18
+ }, 0);
19
+ return reduced;
20
+ }
21
+ return 0;
22
+ };
23
+ const getSumOfFieldsAndRows = (rows, fields) => {
24
+ const reduced = fields.reduce((acc, field) => {
25
+ return acc + getSumOfField(rows, field);
26
+ }, 0);
27
+ return reduced;
28
+ };
29
+ const getSimplePercentageChange = (data) => {
30
+ if (data.compareRows && data.compareRows.length > 0) {
31
+ if (data.pivot && data.pivotRows && data.pivotColumns) {
32
+ const pivotRows = data.pivotRows;
33
+ const comparisonFields = data.pivotColumns
34
+ .filter((field) => {
35
+ return field.field.includes(`comparison_`);
36
+ })
37
+ .map((field) => {
38
+ return field.field;
39
+ });
40
+ const nonComparisonFields = data.pivotColumns
41
+ .filter((field) => {
42
+ return !field.field.includes(`comparison_`);
43
+ })
44
+ .map((field) => {
45
+ return field.field;
46
+ });
47
+ const nonComparisonSum = getSumOfFieldsAndRows(pivotRows, nonComparisonFields);
48
+ const comparisonSum = getSumOfFieldsAndRows(pivotRows, comparisonFields);
49
+ return (nonComparisonSum - comparisonSum) / comparisonSum;
50
+ }
51
+ else {
52
+ const yAxisFields = data.yAxisFields.map((field) => {
53
+ return field.field;
54
+ });
55
+ const nonComparisonSum = getSumOfFieldsAndRows(data.rows, yAxisFields);
56
+ const comparisonSum = getSumOfFieldsAndRows(data.compareRows, yAxisFields);
57
+ return (nonComparisonSum - comparisonSum) / comparisonSum;
58
+ }
59
+ }
60
+ else {
61
+ return (0, exports.getPointToPointPercentageChange)(data);
62
+ }
63
+ };
64
+ exports.getSimplePercentageChange = getSimplePercentageChange;
65
+ const getPointToPointPercentageChange = (data) => {
66
+ if (data.pivot &&
67
+ data.pivotRows &&
68
+ data.pivotRows.length > 0 &&
69
+ data.pivotColumns &&
70
+ data.pivot.rowFieldType === 'date') {
71
+ const lastRow = data.pivotRows[data.pivotRows.length - 1];
72
+ const sumLastRow = getSumOfFieldsAndRows(
73
+ // @ts-ignore
74
+ [lastRow], data.pivotColumns.map((field) => field.field));
75
+ const firstRow = data.pivotRows[0];
76
+ const sumFirstRow = getSumOfFieldsAndRows(
77
+ // @ts-ignore
78
+ [firstRow], data.pivotColumns.map((field) => field.field));
79
+ return (sumLastRow - sumFirstRow) / sumFirstRow;
80
+ }
81
+ else {
82
+ if (data.dateField && data.dateField.field) {
83
+ const dateField = data.dateField.field.replaceAll('"', '');
84
+ const maxDate = new Date(data.rows.reduce((acc, row) => {
85
+ const rowValue = row[dateField];
86
+ if (rowValue) {
87
+ return Math.max(acc, new Date(rowValue).getTime());
88
+ }
89
+ return Math.max(acc, 0);
90
+ }, 0));
91
+ const minDate = new Date(data.rows.reduce((acc, row) => {
92
+ const rowValue = row[dateField];
93
+ if (rowValue) {
94
+ return Math.min(acc, new Date(rowValue).getTime());
95
+ }
96
+ return Math.min(acc, 0);
97
+ }, new Date('3022-01-01').getTime()));
98
+ const dateBucket = (0, dates_1.getDateBucketFromRange)({
99
+ start: minDate,
100
+ end: maxDate,
101
+ });
102
+ const minDateBucket = (0, PivotModal_1.getDateString)(minDate.toDateString(), undefined, dateBucket);
103
+ const maxDateBucket = (0, PivotModal_1.getDateString)(maxDate.toDateString(), undefined, dateBucket);
104
+ const minDateRows = data.rows.filter((row) => {
105
+ const rowValue = row[dateField];
106
+ if (rowValue) {
107
+ return ((0, PivotModal_1.getDateString)(rowValue, undefined, dateBucket) === minDateBucket);
108
+ }
109
+ return false;
110
+ });
111
+ const maxDateRows = data.rows.filter((row) => {
112
+ const rowValue = row[dateField];
113
+ if (rowValue) {
114
+ return ((0, PivotModal_1.getDateString)(rowValue, undefined, dateBucket) === maxDateBucket);
115
+ }
116
+ return false;
117
+ });
118
+ const yAxisFields = data.yAxisFields.map((field) => {
119
+ return field.field;
120
+ });
121
+ const sumMaxDateRows = getSumOfFieldsAndRows(maxDateRows, yAxisFields);
122
+ const sumMinDateRows = getSumOfFieldsAndRows(minDateRows, yAxisFields);
123
+ return (sumMaxDateRows - sumMinDateRows) / sumMaxDateRows;
124
+ }
125
+ }
126
+ };
127
+ exports.getPointToPointPercentageChange = getPointToPointPercentageChange;
@@ -14,5 +14,6 @@ export declare function getComparisonInterval(comparisonRange: {
14
14
  export declare function getDateBucketFromRange(dateRange: {
15
15
  start: Date;
16
16
  end: Date;
17
- }): "month" | "week" | "day" | "year";
17
+ }): "month" | "week" | "year" | "day";
18
+ export declare function parseDateByDatabaseType(date: any, databaseType: string): Date;
18
19
  //# sourceMappingURL=dates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../src/utils/dates.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,UAYxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,WAa/C;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,EACD,UAAU,CAAC,EAAE,MAAM,sBAepB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,qCAW3E"}
1
+ {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../src/utils/dates.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,UAYxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,WAa/C;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,EACD,UAAU,CAAC,EAAE,MAAM,sBAepB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,qCAW3E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,QAMtE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDateBucketFromRange = exports.getComparisonInterval = exports.isDateFormat = exports.convertComparisonRange = void 0;
3
+ exports.parseDateByDatabaseType = exports.getDateBucketFromRange = exports.getComparisonInterval = exports.isDateFormat = exports.convertComparisonRange = void 0;
4
4
  const date_fns_1 = require("date-fns");
5
5
  const dateRangePickerUtils_1 = require("../DateRangePicker/dateRangePickerUtils");
6
6
  /**
@@ -44,10 +44,10 @@ function getComparisonInterval(comparisonRange, dateBucket) {
44
44
  const dayCount = (0, date_fns_1.differenceInDays)(comparisonRange.endDate, comparisonRange.startDate);
45
45
  if (!isNaN(dayCount)) {
46
46
  if (dateBucket === 'month') {
47
- return dayCount / 30 + ' month';
47
+ return Math.floor(dayCount / 30) + ' month';
48
48
  }
49
49
  else if (dateBucket === 'year') {
50
- return dayCount / 365 + ' year';
50
+ return Math.floor(dayCount / 365) + ' year';
51
51
  }
52
52
  else {
53
53
  return dayCount + ' day';
@@ -71,3 +71,12 @@ function getDateBucketFromRange(dateRange) {
71
71
  }
72
72
  }
73
73
  exports.getDateBucketFromRange = getDateBucketFromRange;
74
+ function parseDateByDatabaseType(date, databaseType) {
75
+ if (databaseType.toLowerCase() === 'bigquery') {
76
+ return new Date(date.value);
77
+ }
78
+ else {
79
+ return new Date(date);
80
+ }
81
+ }
82
+ exports.parseDateByDatabaseType = parseDateByDatabaseType;