@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"}
@@ -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
- }
@@ -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,3 +1,6 @@
1
+ function removeBigQuerySpecialChars(columnName) {
2
+ return columnName.replaceAll('quill_forward_slash', '/');
3
+ }
1
4
  export function convertPostgresColumn(field) {
2
5
  let format;
3
6
  let fieldType;
@@ -200,3 +203,6 @@ export function convertFormatToJsType(column) {
200
203
  return 'string';
201
204
  }
202
205
  }
206
+ export function processColumnName(columnName) {
207
+ return removeBigQuerySpecialChars(columnName);
208
+ }
@@ -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"}
@@ -69,7 +69,6 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
69
69
  filtersApplied: item.filtersApplied,
70
70
  rowCount: parseInt(item.rowCount),
71
71
  sort: item.sort,
72
- page: item.page,
73
72
  itemQuery: item.itemQuery,
74
73
  };
75
74
  }
@@ -113,14 +112,14 @@ function formatAggragation(item, value) {
113
112
  async function getPivotTable(report, dashboardFilters, client, dateBucketInitial) {
114
113
  if (!report)
115
114
  return undefined;
116
- let dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
117
- if (dateFilter?.opterator === 'BETWEEN') {
115
+ const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
116
+ if (dateFilter?.operator === 'BETWEEN') {
118
117
  dateFilter.startDate = dateFilter.value[0];
119
118
  dateFilter.endDate = dateFilter.value[1];
120
119
  }
121
120
  const pivot = report?.pivot;
122
121
  const data = report || {};
123
- if (pivot && client && client.databaseType.toLowerCase() === 'postgresql') {
122
+ if (pivot && client) {
124
123
  if (report.rowCount === 0) {
125
124
  return { rows: [], columns: [] };
126
125
  }
@@ -217,6 +216,7 @@ export async function getDashboard(dashboardName, client) {
217
216
  clientId: client.publicKey,
218
217
  orgId: client.customerId || '*',
219
218
  databaseType: client.databaseType,
219
+ useNewNodeSql: true,
220
220
  },
221
221
  };
222
222
  const resp = await 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,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 [];
@@ -8,7 +20,7 @@ function parseData(rows, queryType) {
8
20
  end: new Date(rows[0]?.max_date),
9
21
  };
10
22
  case 'rowCount':
11
- return parseInt(rows[0]?.count);
23
+ return parseInt(rows[0]?.row_count);
12
24
  case 'distinctStrings':
13
25
  return rows.map((row) => {
14
26
  return row['column_field'];
@@ -17,13 +29,43 @@ 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
- export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
60
+ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam) {
61
+ if (!client) {
62
+ return null;
63
+ }
23
64
  try {
24
65
  if (client.queryEndpoint) {
25
66
  // self hosted
26
- const resp = await fetch(client.queryEndpoint, {
67
+ const processedParam = queryParam ? `?${queryParam}` : '';
68
+ const resp = await fetch(`${client.queryEndpoint}${processedParam}`, {
27
69
  method: 'POST',
28
70
  headers: {
29
71
  ...client.queryHeaders,
@@ -33,19 +75,44 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
33
75
  body: JSON.stringify(hostedRequestBody),
34
76
  });
35
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
+ }
36
102
  if (responseJson.error) {
37
103
  return { success: false, errorMessage: responseJson.error };
38
104
  }
39
105
  let result;
40
106
  if (hostedRequestBody &&
41
107
  hostedRequestBody.metadata &&
42
- hostedRequestBody.metadata.task === 'report') {
108
+ (hostedRequestBody.metadata.task === 'report' ||
109
+ hostedRequestBody.metadata.useUpdatedDataGathering)) {
43
110
  if (responseJson.data?.data) {
44
111
  result = {
45
112
  fields: responseJson?.data.queries?.queryResults[0]?.fields,
46
113
  ...responseJson.data.data,
47
114
  };
48
- responseJson.data.data.queryOrder.forEach((queryKey, index) => {
115
+ responseJson.data.data?.queryOrder?.forEach((queryKey, index) => {
49
116
  result[queryKey] = parseData(responseJson.queries.queryResults[index].rows, queryKey);
50
117
  });
51
118
  }
@@ -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,122 @@
1
+ import { getDateString } from '../internals/ReportBuilder/PivotModal';
2
+ import { getDateBucketFromRange } from './dates';
3
+ export var Calculation;
4
+ (function (Calculation) {
5
+ Calculation["PointToPointPercentageChange"] = "POINT_TO_POINT_PERCENTAGE_CHANGE";
6
+ Calculation["SimplePercentageChange"] = "SIMPLE_PERCENTAGE_CHANGE";
7
+ })(Calculation || (Calculation = {}));
8
+ const getSumOfField = (rows, field) => {
9
+ if (rows[0] && rows[0][field]) {
10
+ const reduced = rows.reduce((acc, row) => {
11
+ if (isNaN(Number(row[field]))) {
12
+ return acc;
13
+ }
14
+ return acc + Number(row[field]);
15
+ }, 0);
16
+ return reduced;
17
+ }
18
+ return 0;
19
+ };
20
+ const getSumOfFieldsAndRows = (rows, fields) => {
21
+ const reduced = fields.reduce((acc, field) => {
22
+ return acc + getSumOfField(rows, field);
23
+ }, 0);
24
+ return reduced;
25
+ };
26
+ export const getSimplePercentageChange = (data) => {
27
+ if (data.compareRows && data.compareRows.length > 0) {
28
+ if (data.pivot && data.pivotRows && data.pivotColumns) {
29
+ const pivotRows = data.pivotRows;
30
+ const comparisonFields = data.pivotColumns
31
+ .filter((field) => {
32
+ return field.field.includes(`comparison_`);
33
+ })
34
+ .map((field) => {
35
+ return field.field;
36
+ });
37
+ const nonComparisonFields = data.pivotColumns
38
+ .filter((field) => {
39
+ return !field.field.includes(`comparison_`);
40
+ })
41
+ .map((field) => {
42
+ return field.field;
43
+ });
44
+ const nonComparisonSum = getSumOfFieldsAndRows(pivotRows, nonComparisonFields);
45
+ const comparisonSum = getSumOfFieldsAndRows(pivotRows, comparisonFields);
46
+ return (nonComparisonSum - comparisonSum) / comparisonSum;
47
+ }
48
+ else {
49
+ const yAxisFields = data.yAxisFields.map((field) => {
50
+ return field.field;
51
+ });
52
+ const nonComparisonSum = getSumOfFieldsAndRows(data.rows, yAxisFields);
53
+ const comparisonSum = getSumOfFieldsAndRows(data.compareRows, yAxisFields);
54
+ return (nonComparisonSum - comparisonSum) / comparisonSum;
55
+ }
56
+ }
57
+ else {
58
+ return getPointToPointPercentageChange(data);
59
+ }
60
+ };
61
+ export const getPointToPointPercentageChange = (data) => {
62
+ if (data.pivot &&
63
+ data.pivotRows &&
64
+ data.pivotRows.length > 0 &&
65
+ data.pivotColumns &&
66
+ data.pivot.rowFieldType === 'date') {
67
+ const lastRow = data.pivotRows[data.pivotRows.length - 1];
68
+ const sumLastRow = getSumOfFieldsAndRows(
69
+ // @ts-ignore
70
+ [lastRow], data.pivotColumns.map((field) => field.field));
71
+ const firstRow = data.pivotRows[0];
72
+ const sumFirstRow = getSumOfFieldsAndRows(
73
+ // @ts-ignore
74
+ [firstRow], data.pivotColumns.map((field) => field.field));
75
+ return (sumLastRow - sumFirstRow) / sumFirstRow;
76
+ }
77
+ else {
78
+ if (data.dateField && data.dateField.field) {
79
+ const dateField = data.dateField.field.replaceAll('"', '');
80
+ const maxDate = new Date(data.rows.reduce((acc, row) => {
81
+ const rowValue = row[dateField];
82
+ if (rowValue) {
83
+ return Math.max(acc, new Date(rowValue).getTime());
84
+ }
85
+ return Math.max(acc, 0);
86
+ }, 0));
87
+ const minDate = new Date(data.rows.reduce((acc, row) => {
88
+ const rowValue = row[dateField];
89
+ if (rowValue) {
90
+ return Math.min(acc, new Date(rowValue).getTime());
91
+ }
92
+ return Math.min(acc, 0);
93
+ }, new Date('3022-01-01').getTime()));
94
+ const dateBucket = getDateBucketFromRange({
95
+ start: minDate,
96
+ end: maxDate,
97
+ });
98
+ const minDateBucket = getDateString(minDate.toDateString(), undefined, dateBucket);
99
+ const maxDateBucket = getDateString(maxDate.toDateString(), undefined, dateBucket);
100
+ const minDateRows = data.rows.filter((row) => {
101
+ const rowValue = row[dateField];
102
+ if (rowValue) {
103
+ return (getDateString(rowValue, undefined, dateBucket) === minDateBucket);
104
+ }
105
+ return false;
106
+ });
107
+ const maxDateRows = data.rows.filter((row) => {
108
+ const rowValue = row[dateField];
109
+ if (rowValue) {
110
+ return (getDateString(rowValue, undefined, dateBucket) === maxDateBucket);
111
+ }
112
+ return false;
113
+ });
114
+ const yAxisFields = data.yAxisFields.map((field) => {
115
+ return field.field;
116
+ });
117
+ const sumMaxDateRows = getSumOfFieldsAndRows(maxDateRows, yAxisFields);
118
+ const sumMinDateRows = getSumOfFieldsAndRows(minDateRows, yAxisFields);
119
+ return (sumMaxDateRows - sumMinDateRows) / sumMaxDateRows;
120
+ }
121
+ }
122
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dataProcessing.uspec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataProcessing.uspec.d.ts","sourceRoot":"","sources":["../../../src/utils/dataProcessing.uspec.ts"],"names":[],"mappings":""}