@quillsql/react 2.15.2 → 2.15.4

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 (1037) hide show
  1. package/dist/index.cjs +51544 -0
  2. package/dist/index.d.cts +3367 -0
  3. package/dist/index.d.ts +3367 -0
  4. package/dist/index.js +51680 -0
  5. package/package.json +12 -12
  6. package/dist/cjs/Chart.d.ts +0 -233
  7. package/dist/cjs/Chart.d.ts.map +0 -1
  8. package/dist/cjs/Chart.js +0 -612
  9. package/dist/cjs/ChartBuilder.d.ts +0 -375
  10. package/dist/cjs/ChartBuilder.d.ts.map +0 -1
  11. package/dist/cjs/ChartBuilder.js +0 -2282
  12. package/dist/cjs/ChartEditor.d.ts +0 -211
  13. package/dist/cjs/ChartEditor.d.ts.map +0 -1
  14. package/dist/cjs/ChartEditor.js +0 -139
  15. package/dist/cjs/Context.d.ts +0 -255
  16. package/dist/cjs/Context.d.ts.map +0 -1
  17. package/dist/cjs/Context.js +0 -1432
  18. package/dist/cjs/Dashboard.d.ts +0 -329
  19. package/dist/cjs/Dashboard.d.ts.map +0 -1
  20. package/dist/cjs/Dashboard.js +0 -824
  21. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +0 -37
  22. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +0 -1
  23. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -291
  24. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +0 -94
  25. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  26. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +0 -901
  27. package/dist/cjs/QuillProvider.d.ts +0 -192
  28. package/dist/cjs/QuillProvider.d.ts.map +0 -1
  29. package/dist/cjs/QuillProvider.js +0 -107
  30. package/dist/cjs/ReportBuilder.d.ts +0 -326
  31. package/dist/cjs/ReportBuilder.d.ts.map +0 -1
  32. package/dist/cjs/ReportBuilder.js +0 -272
  33. package/dist/cjs/SQLEditor.d.ts +0 -302
  34. package/dist/cjs/SQLEditor.d.ts.map +0 -1
  35. package/dist/cjs/SQLEditor.js +0 -980
  36. package/dist/cjs/StaticChart.d.ts +0 -8
  37. package/dist/cjs/StaticChart.d.ts.map +0 -1
  38. package/dist/cjs/StaticChart.js +0 -27
  39. package/dist/cjs/Table.d.ts +0 -187
  40. package/dist/cjs/Table.d.ts.map +0 -1
  41. package/dist/cjs/Table.js +0 -169
  42. package/dist/cjs/assets/AdjustmentsIcon.d.ts +0 -5
  43. package/dist/cjs/assets/AdjustmentsIcon.d.ts.map +0 -1
  44. package/dist/cjs/assets/AdjustmentsIcon.js +0 -5
  45. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +0 -5
  46. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  47. package/dist/cjs/assets/ArrowDownHeadIcon.js +0 -5
  48. package/dist/cjs/assets/ArrowDownIcon.d.ts +0 -5
  49. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +0 -1
  50. package/dist/cjs/assets/ArrowDownIcon.js +0 -5
  51. package/dist/cjs/assets/ArrowDownRightIcon.d.ts +0 -5
  52. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +0 -1
  53. package/dist/cjs/assets/ArrowDownRightIcon.js +0 -5
  54. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts +0 -5
  55. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +0 -1
  56. package/dist/cjs/assets/ArrowLeftHeadIcon.js +0 -5
  57. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts +0 -5
  58. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +0 -1
  59. package/dist/cjs/assets/ArrowRightHeadIcon.js +0 -5
  60. package/dist/cjs/assets/ArrowRightIcon.d.ts +0 -5
  61. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +0 -1
  62. package/dist/cjs/assets/ArrowRightIcon.js +0 -5
  63. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts +0 -5
  64. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +0 -1
  65. package/dist/cjs/assets/ArrowUpHeadIcon.js +0 -5
  66. package/dist/cjs/assets/ArrowUpIcon.d.ts +0 -5
  67. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +0 -1
  68. package/dist/cjs/assets/ArrowUpIcon.js +0 -5
  69. package/dist/cjs/assets/ArrowUpRightIcon.d.ts +0 -5
  70. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +0 -1
  71. package/dist/cjs/assets/ArrowUpRightIcon.js +0 -5
  72. package/dist/cjs/assets/CalendarIcon.d.ts +0 -5
  73. package/dist/cjs/assets/CalendarIcon.d.ts.map +0 -1
  74. package/dist/cjs/assets/CalendarIcon.js +0 -5
  75. package/dist/cjs/assets/CalendarNormalIcon.d.ts +0 -5
  76. package/dist/cjs/assets/CalendarNormalIcon.d.ts.map +0 -1
  77. package/dist/cjs/assets/CalendarNormalIcon.js +0 -5
  78. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts +0 -5
  79. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +0 -1
  80. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.js +0 -5
  81. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts +0 -5
  82. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +0 -1
  83. package/dist/cjs/assets/DoubleArrowRightHeadIcon.js +0 -5
  84. package/dist/cjs/assets/ExclamationFilledIcon.d.ts +0 -5
  85. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +0 -1
  86. package/dist/cjs/assets/ExclamationFilledIcon.js +0 -5
  87. package/dist/cjs/assets/FilterIcon.d.ts +0 -5
  88. package/dist/cjs/assets/FilterIcon.d.ts.map +0 -1
  89. package/dist/cjs/assets/FilterIcon.js +0 -5
  90. package/dist/cjs/assets/RefreshIcon.d.ts +0 -5
  91. package/dist/cjs/assets/RefreshIcon.d.ts.map +0 -1
  92. package/dist/cjs/assets/RefreshIcon.js +0 -5
  93. package/dist/cjs/assets/SearchIcon.d.ts +0 -5
  94. package/dist/cjs/assets/SearchIcon.d.ts.map +0 -1
  95. package/dist/cjs/assets/SearchIcon.js +0 -5
  96. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts +0 -5
  97. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts.map +0 -1
  98. package/dist/cjs/assets/UpLeftArrowsIcon.js +0 -5
  99. package/dist/cjs/assets/XCircleIcon.d.ts +0 -5
  100. package/dist/cjs/assets/XCircleIcon.d.ts.map +0 -1
  101. package/dist/cjs/assets/XCircleIcon.js +0 -5
  102. package/dist/cjs/assets/XIcon.d.ts +0 -5
  103. package/dist/cjs/assets/XIcon.d.ts.map +0 -1
  104. package/dist/cjs/assets/XIcon.js +0 -5
  105. package/dist/cjs/assets/index.d.ts +0 -21
  106. package/dist/cjs/assets/index.d.ts.map +0 -1
  107. package/dist/cjs/assets/index.js +0 -46
  108. package/dist/cjs/components/Banner/index.d.ts +0 -2
  109. package/dist/cjs/components/Banner/index.d.ts.map +0 -1
  110. package/dist/cjs/components/Banner/index.js +0 -27
  111. package/dist/cjs/components/Chart/BarChart.d.ts +0 -29
  112. package/dist/cjs/components/Chart/BarChart.d.ts.map +0 -1
  113. package/dist/cjs/components/Chart/BarChart.js +0 -129
  114. package/dist/cjs/components/Chart/BarList.d.ts +0 -23
  115. package/dist/cjs/components/Chart/BarList.d.ts.map +0 -1
  116. package/dist/cjs/components/Chart/BarList.js +0 -155
  117. package/dist/cjs/components/Chart/ChartError.d.ts +0 -13
  118. package/dist/cjs/components/Chart/ChartError.d.ts.map +0 -1
  119. package/dist/cjs/components/Chart/ChartError.js +0 -67
  120. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +0 -8
  121. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +0 -1
  122. package/dist/cjs/components/Chart/ChartSkeleton.js +0 -24
  123. package/dist/cjs/components/Chart/ChartTooltip.d.ts +0 -29
  124. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +0 -1
  125. package/dist/cjs/components/Chart/ChartTooltip.js +0 -206
  126. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +0 -5
  127. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +0 -1
  128. package/dist/cjs/components/Chart/ChartTooltipFrame.js +0 -17
  129. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts +0 -12
  130. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts.map +0 -1
  131. package/dist/cjs/components/Chart/ChartTooltipGroup.js +0 -29
  132. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts +0 -9
  133. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts.map +0 -1
  134. package/dist/cjs/components/Chart/ChartTooltipRow.js +0 -44
  135. package/dist/cjs/components/Chart/CustomBar.d.ts +0 -18
  136. package/dist/cjs/components/Chart/CustomBar.d.ts.map +0 -1
  137. package/dist/cjs/components/Chart/CustomBar.js +0 -70
  138. package/dist/cjs/components/Chart/CustomLegend.d.ts +0 -2
  139. package/dist/cjs/components/Chart/CustomLegend.d.ts.map +0 -1
  140. package/dist/cjs/components/Chart/CustomLegend.js +0 -20
  141. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +0 -2
  142. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +0 -1
  143. package/dist/cjs/components/Chart/CustomReferenceLine.js +0 -27
  144. package/dist/cjs/components/Chart/GaugeChart.d.ts +0 -11
  145. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +0 -1
  146. package/dist/cjs/components/Chart/GaugeChart.js +0 -277
  147. package/dist/cjs/components/Chart/InternalChart.d.ts +0 -25
  148. package/dist/cjs/components/Chart/InternalChart.d.ts.map +0 -1
  149. package/dist/cjs/components/Chart/InternalChart.js +0 -496
  150. package/dist/cjs/components/Chart/LineChart.d.ts +0 -33
  151. package/dist/cjs/components/Chart/LineChart.d.ts.map +0 -1
  152. package/dist/cjs/components/Chart/LineChart.js +0 -192
  153. package/dist/cjs/components/Chart/MapChart.d.ts +0 -36
  154. package/dist/cjs/components/Chart/MapChart.d.ts.map +0 -1
  155. package/dist/cjs/components/Chart/MapChart.js +0 -634
  156. package/dist/cjs/components/Chart/PieChart.d.ts +0 -79
  157. package/dist/cjs/components/Chart/PieChart.d.ts.map +0 -1
  158. package/dist/cjs/components/Chart/PieChart.js +0 -289
  159. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +0 -3
  160. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +0 -1
  161. package/dist/cjs/components/Dashboard/ChartComponent.js +0 -67
  162. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +0 -56
  163. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +0 -1
  164. package/dist/cjs/components/Dashboard/DashboardFilter.js +0 -93
  165. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +0 -6
  166. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +0 -1
  167. package/dist/cjs/components/Dashboard/DashboardSection.js +0 -25
  168. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +0 -2
  169. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +0 -1
  170. package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +0 -12
  171. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +0 -13
  172. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +0 -1
  173. package/dist/cjs/components/Dashboard/DashboardTemplate.js +0 -70
  174. package/dist/cjs/components/Dashboard/DataLoader.d.ts +0 -56
  175. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +0 -1
  176. package/dist/cjs/components/Dashboard/DataLoader.js +0 -720
  177. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +0 -3
  178. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +0 -1
  179. package/dist/cjs/components/Dashboard/MetricComponent.js +0 -138
  180. package/dist/cjs/components/Dashboard/TableComponent.d.ts +0 -16
  181. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +0 -1
  182. package/dist/cjs/components/Dashboard/TableComponent.js +0 -74
  183. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +0 -3
  184. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +0 -1
  185. package/dist/cjs/components/Dashboard/TemplateChartComponent.js +0 -23
  186. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +0 -3
  187. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +0 -1
  188. package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +0 -23
  189. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +0 -14
  190. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +0 -1
  191. package/dist/cjs/components/Dashboard/TemplateTableComponent.js +0 -23
  192. package/dist/cjs/components/Dashboard/util.d.ts +0 -8
  193. package/dist/cjs/components/Dashboard/util.d.ts.map +0 -1
  194. package/dist/cjs/components/Dashboard/util.js +0 -100
  195. package/dist/cjs/components/QuillCard.d.ts +0 -9
  196. package/dist/cjs/components/QuillCard.d.ts.map +0 -1
  197. package/dist/cjs/components/QuillCard.js +0 -60
  198. package/dist/cjs/components/QuillMultiSelect.d.ts +0 -11
  199. package/dist/cjs/components/QuillMultiSelect.d.ts.map +0 -1
  200. package/dist/cjs/components/QuillMultiSelect.js +0 -212
  201. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts +0 -39
  202. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +0 -1
  203. package/dist/cjs/components/QuillMultiSelectSectionList.js +0 -366
  204. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +0 -15
  205. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +0 -1
  206. package/dist/cjs/components/QuillMultiSelectWithCombo.js +0 -507
  207. package/dist/cjs/components/QuillSelect.d.ts +0 -6
  208. package/dist/cjs/components/QuillSelect.d.ts.map +0 -1
  209. package/dist/cjs/components/QuillSelect.js +0 -252
  210. package/dist/cjs/components/QuillSelectWithCombo.d.ts +0 -6
  211. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +0 -1
  212. package/dist/cjs/components/QuillSelectWithCombo.js +0 -249
  213. package/dist/cjs/components/QuillTable.d.ts +0 -38
  214. package/dist/cjs/components/QuillTable.d.ts.map +0 -1
  215. package/dist/cjs/components/QuillTable.js +0 -303
  216. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +0 -28
  217. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +0 -1
  218. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +0 -267
  219. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +0 -26
  220. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +0 -1
  221. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +0 -60
  222. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +0 -30
  223. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +0 -1
  224. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +0 -61
  225. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts +0 -49
  226. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
  227. package/dist/cjs/components/ReportBuilder/ColumnComponent.js +0 -46
  228. package/dist/cjs/components/ReportBuilder/DraggableColumns.d.ts +0 -17
  229. package/dist/cjs/components/ReportBuilder/DraggableColumns.d.ts.map +0 -1
  230. package/dist/cjs/components/ReportBuilder/DraggableColumns.js +0 -52
  231. package/dist/cjs/components/ReportBuilder/DraggableItem.d.ts +0 -17
  232. package/dist/cjs/components/ReportBuilder/DraggableItem.d.ts.map +0 -1
  233. package/dist/cjs/components/ReportBuilder/DraggableItem.js +0 -17
  234. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts +0 -65
  235. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
  236. package/dist/cjs/components/ReportBuilder/FilterComponent.js +0 -51
  237. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +0 -29
  238. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +0 -1
  239. package/dist/cjs/components/ReportBuilder/FilterModal.js +0 -703
  240. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +0 -28
  241. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +0 -1
  242. package/dist/cjs/components/ReportBuilder/FilterStack.js +0 -54
  243. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts +0 -42
  244. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
  245. package/dist/cjs/components/ReportBuilder/LimitComponent.js +0 -50
  246. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts +0 -66
  247. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
  248. package/dist/cjs/components/ReportBuilder/PivotComponent.js +0 -47
  249. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts +0 -162
  250. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts.map +0 -1
  251. package/dist/cjs/components/ReportBuilder/SaveReport.js +0 -31
  252. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts +0 -42
  253. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts.map +0 -1
  254. package/dist/cjs/components/ReportBuilder/SortComponent.js +0 -50
  255. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts +0 -28
  256. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts.map +0 -1
  257. package/dist/cjs/components/ReportBuilder/TableComponent.js +0 -24
  258. package/dist/cjs/components/ReportBuilder/ast.d.ts +0 -523
  259. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +0 -1
  260. package/dist/cjs/components/ReportBuilder/ast.js +0 -257
  261. package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts +0 -7
  262. package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts.map +0 -1
  263. package/dist/cjs/components/ReportBuilder/bigDateMap.js +0 -690
  264. package/dist/cjs/components/ReportBuilder/constants.d.ts +0 -117
  265. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +0 -1
  266. package/dist/cjs/components/ReportBuilder/constants.js +0 -164
  267. package/dist/cjs/components/ReportBuilder/convert.d.ts +0 -42
  268. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +0 -1
  269. package/dist/cjs/components/ReportBuilder/convert.js +0 -922
  270. package/dist/cjs/components/ReportBuilder/operators.d.ts +0 -462
  271. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +0 -1
  272. package/dist/cjs/components/ReportBuilder/operators.js +0 -585
  273. package/dist/cjs/components/ReportBuilder/postgres.d.ts +0 -150
  274. package/dist/cjs/components/ReportBuilder/postgres.d.ts.map +0 -1
  275. package/dist/cjs/components/ReportBuilder/postgres.js +0 -365
  276. package/dist/cjs/components/ReportBuilder/schema.d.ts +0 -30
  277. package/dist/cjs/components/ReportBuilder/schema.d.ts.map +0 -1
  278. package/dist/cjs/components/ReportBuilder/schema.js +0 -2
  279. package/dist/cjs/components/ReportBuilder/ui.d.ts +0 -136
  280. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +0 -1
  281. package/dist/cjs/components/ReportBuilder/ui.js +0 -453
  282. package/dist/cjs/components/ReportBuilder/util.d.ts +0 -78
  283. package/dist/cjs/components/ReportBuilder/util.d.ts.map +0 -1
  284. package/dist/cjs/components/ReportBuilder/util.js +0 -842
  285. package/dist/cjs/components/UiComponents.d.ts +0 -246
  286. package/dist/cjs/components/UiComponents.d.ts.map +0 -1
  287. package/dist/cjs/components/UiComponents.js +0 -994
  288. package/dist/cjs/components/selectUtils.d.ts +0 -9
  289. package/dist/cjs/components/selectUtils.d.ts.map +0 -1
  290. package/dist/cjs/components/selectUtils.js +0 -26
  291. package/dist/cjs/contexts/BaseColorContext.d.ts +0 -3
  292. package/dist/cjs/contexts/BaseColorContext.d.ts.map +0 -1
  293. package/dist/cjs/contexts/BaseColorContext.js +0 -5
  294. package/dist/cjs/contexts/HoveredValueContext.d.ts +0 -8
  295. package/dist/cjs/contexts/HoveredValueContext.d.ts.map +0 -1
  296. package/dist/cjs/contexts/HoveredValueContext.js +0 -7
  297. package/dist/cjs/contexts/RootStylesContext.d.ts +0 -3
  298. package/dist/cjs/contexts/RootStylesContext.d.ts.map +0 -1
  299. package/dist/cjs/contexts/RootStylesContext.js +0 -5
  300. package/dist/cjs/contexts/SelectedValueContext.d.ts +0 -7
  301. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +0 -1
  302. package/dist/cjs/contexts/SelectedValueContext.js +0 -8
  303. package/dist/cjs/contexts/index.d.ts +0 -5
  304. package/dist/cjs/contexts/index.d.ts.map +0 -1
  305. package/dist/cjs/contexts/index.js +0 -14
  306. package/dist/cjs/hooks/index.d.ts +0 -5
  307. package/dist/cjs/hooks/index.d.ts.map +0 -1
  308. package/dist/cjs/hooks/index.js +0 -14
  309. package/dist/cjs/hooks/useAskQuill.d.ts +0 -27
  310. package/dist/cjs/hooks/useAskQuill.d.ts.map +0 -1
  311. package/dist/cjs/hooks/useAskQuill.js +0 -254
  312. package/dist/cjs/hooks/useAstToFilterTree.d.ts +0 -16
  313. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +0 -1
  314. package/dist/cjs/hooks/useAstToFilterTree.js +0 -29
  315. package/dist/cjs/hooks/useDashboard.d.ts +0 -86
  316. package/dist/cjs/hooks/useDashboard.d.ts.map +0 -1
  317. package/dist/cjs/hooks/useDashboard.js +0 -885
  318. package/dist/cjs/hooks/useExport.d.ts +0 -22
  319. package/dist/cjs/hooks/useExport.d.ts.map +0 -1
  320. package/dist/cjs/hooks/useExport.js +0 -316
  321. package/dist/cjs/hooks/useFormat.d.ts +0 -5
  322. package/dist/cjs/hooks/useFormat.d.ts.map +0 -1
  323. package/dist/cjs/hooks/useFormat.js +0 -29
  324. package/dist/cjs/hooks/useInternalState.d.ts +0 -3
  325. package/dist/cjs/hooks/useInternalState.d.ts.map +0 -1
  326. package/dist/cjs/hooks/useInternalState.js +0 -16
  327. package/dist/cjs/hooks/useLongLoading.d.ts +0 -13
  328. package/dist/cjs/hooks/useLongLoading.d.ts.map +0 -1
  329. package/dist/cjs/hooks/useLongLoading.js +0 -67
  330. package/dist/cjs/hooks/useOnClickOutside.d.ts +0 -6
  331. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +0 -1
  332. package/dist/cjs/hooks/useOnClickOutside.js +0 -59
  333. package/dist/cjs/hooks/useOnWindowResize.d.ts +0 -5
  334. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +0 -1
  335. package/dist/cjs/hooks/useOnWindowResize.js +0 -16
  336. package/dist/cjs/hooks/useQuill.d.ts +0 -24
  337. package/dist/cjs/hooks/useQuill.d.ts.map +0 -1
  338. package/dist/cjs/hooks/useQuill.js +0 -235
  339. package/dist/cjs/hooks/useReport.d.ts +0 -12
  340. package/dist/cjs/hooks/useReport.d.ts.map +0 -1
  341. package/dist/cjs/hooks/useReport.js +0 -50
  342. package/dist/cjs/hooks/useReportBuilder.d.ts +0 -178
  343. package/dist/cjs/hooks/useReportBuilder.d.ts.map +0 -1
  344. package/dist/cjs/hooks/useReportBuilder.js +0 -1495
  345. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts +0 -3
  346. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +0 -1
  347. package/dist/cjs/hooks/useSelectOnKeyDown.js +0 -65
  348. package/dist/cjs/hooks/useVirtualTables.d.ts +0 -23
  349. package/dist/cjs/hooks/useVirtualTables.d.ts.map +0 -1
  350. package/dist/cjs/hooks/useVirtualTables.js +0 -131
  351. package/dist/cjs/index.d.ts +0 -49
  352. package/dist/cjs/index.d.ts.map +0 -1
  353. package/dist/cjs/index.js +0 -77
  354. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +0 -55
  355. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +0 -1
  356. package/dist/cjs/internals/ReportBuilder/PivotForm.js +0 -208
  357. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +0 -39
  358. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +0 -1
  359. package/dist/cjs/internals/ReportBuilder/PivotList.js +0 -101
  360. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +0 -163
  361. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +0 -1
  362. package/dist/cjs/internals/ReportBuilder/PivotModal.js +0 -1570
  363. package/dist/cjs/lib/font.d.ts +0 -14
  364. package/dist/cjs/lib/font.d.ts.map +0 -1
  365. package/dist/cjs/lib/font.js +0 -16
  366. package/dist/cjs/lib/index.d.ts +0 -4
  367. package/dist/cjs/lib/index.d.ts.map +0 -1
  368. package/dist/cjs/lib/index.js +0 -19
  369. package/dist/cjs/lib/inputTypes.d.ts +0 -21
  370. package/dist/cjs/lib/inputTypes.d.ts.map +0 -1
  371. package/dist/cjs/lib/inputTypes.js +0 -56
  372. package/dist/cjs/lib/utils.d.ts +0 -10
  373. package/dist/cjs/lib/utils.d.ts.map +0 -1
  374. package/dist/cjs/lib/utils.js +0 -53
  375. package/dist/cjs/models/Client.d.ts +0 -52
  376. package/dist/cjs/models/Client.d.ts.map +0 -1
  377. package/dist/cjs/models/Client.js +0 -2
  378. package/dist/cjs/models/Columns.d.ts +0 -14
  379. package/dist/cjs/models/Columns.d.ts.map +0 -1
  380. package/dist/cjs/models/Columns.js +0 -2
  381. package/dist/cjs/models/Dashboard.d.ts +0 -26
  382. package/dist/cjs/models/Dashboard.d.ts.map +0 -1
  383. package/dist/cjs/models/Dashboard.js +0 -2
  384. package/dist/cjs/models/Data.d.ts +0 -20
  385. package/dist/cjs/models/Data.d.ts.map +0 -1
  386. package/dist/cjs/models/Data.js +0 -2
  387. package/dist/cjs/models/Filter.d.ts +0 -318
  388. package/dist/cjs/models/Filter.d.ts.map +0 -1
  389. package/dist/cjs/models/Filter.js +0 -452
  390. package/dist/cjs/models/Pagination.d.ts +0 -10
  391. package/dist/cjs/models/Pagination.d.ts.map +0 -1
  392. package/dist/cjs/models/Pagination.js +0 -2
  393. package/dist/cjs/models/Pivot.d.ts +0 -57
  394. package/dist/cjs/models/Pivot.d.ts.map +0 -1
  395. package/dist/cjs/models/Pivot.js +0 -2
  396. package/dist/cjs/models/Report.d.ts +0 -147
  397. package/dist/cjs/models/Report.d.ts.map +0 -1
  398. package/dist/cjs/models/Report.js +0 -4
  399. package/dist/cjs/models/ReportBuilder.d.ts +0 -46
  400. package/dist/cjs/models/ReportBuilder.d.ts.map +0 -1
  401. package/dist/cjs/models/ReportBuilder.js +0 -19
  402. package/dist/cjs/models/Schema.d.ts +0 -18
  403. package/dist/cjs/models/Schema.d.ts.map +0 -1
  404. package/dist/cjs/models/Schema.js +0 -2
  405. package/dist/cjs/models/Tables.d.ts +0 -36
  406. package/dist/cjs/models/Tables.d.ts.map +0 -1
  407. package/dist/cjs/models/Tables.js +0 -2
  408. package/dist/cjs/utils/astFilterProcessing.d.ts +0 -45
  409. package/dist/cjs/utils/astFilterProcessing.d.ts.map +0 -1
  410. package/dist/cjs/utils/astFilterProcessing.js +0 -11768
  411. package/dist/cjs/utils/astProcessing.d.ts +0 -94
  412. package/dist/cjs/utils/astProcessing.d.ts.map +0 -1
  413. package/dist/cjs/utils/astProcessing.js +0 -616
  414. package/dist/cjs/utils/axisFormatter.d.ts +0 -19
  415. package/dist/cjs/utils/axisFormatter.d.ts.map +0 -1
  416. package/dist/cjs/utils/axisFormatter.js +0 -216
  417. package/dist/cjs/utils/client.d.ts +0 -20
  418. package/dist/cjs/utils/client.d.ts.map +0 -1
  419. package/dist/cjs/utils/client.js +0 -108
  420. package/dist/cjs/utils/color.d.ts +0 -203
  421. package/dist/cjs/utils/color.d.ts.map +0 -1
  422. package/dist/cjs/utils/color.js +0 -441
  423. package/dist/cjs/utils/columnProcessing.d.ts +0 -26
  424. package/dist/cjs/utils/columnProcessing.d.ts.map +0 -1
  425. package/dist/cjs/utils/columnProcessing.js +0 -402
  426. package/dist/cjs/utils/constants.d.ts +0 -9
  427. package/dist/cjs/utils/constants.d.ts.map +0 -1
  428. package/dist/cjs/utils/constants.js +0 -15
  429. package/dist/cjs/utils/crypto.d.ts +0 -2
  430. package/dist/cjs/utils/crypto.d.ts.map +0 -1
  431. package/dist/cjs/utils/crypto.js +0 -13
  432. package/dist/cjs/utils/csv.d.ts +0 -7
  433. package/dist/cjs/utils/csv.d.ts.map +0 -1
  434. package/dist/cjs/utils/csv.js +0 -78
  435. package/dist/cjs/utils/dashboard.d.ts +0 -36
  436. package/dist/cjs/utils/dashboard.d.ts.map +0 -1
  437. package/dist/cjs/utils/dashboard.js +0 -418
  438. package/dist/cjs/utils/dataFetcher.d.ts +0 -13
  439. package/dist/cjs/utils/dataFetcher.d.ts.map +0 -1
  440. package/dist/cjs/utils/dataFetcher.js +0 -402
  441. package/dist/cjs/utils/dataProcessing.d.ts +0 -15
  442. package/dist/cjs/utils/dataProcessing.d.ts.map +0 -1
  443. package/dist/cjs/utils/dataProcessing.js +0 -163
  444. package/dist/cjs/utils/dates.d.ts +0 -23
  445. package/dist/cjs/utils/dates.d.ts.map +0 -1
  446. package/dist/cjs/utils/dates.js +0 -106
  447. package/dist/cjs/utils/error.d.ts +0 -5
  448. package/dist/cjs/utils/error.d.ts.map +0 -1
  449. package/dist/cjs/utils/error.js +0 -12
  450. package/dist/cjs/utils/errorProcessing.d.ts +0 -2
  451. package/dist/cjs/utils/errorProcessing.d.ts.map +0 -1
  452. package/dist/cjs/utils/errorProcessing.js +0 -8
  453. package/dist/cjs/utils/filterConstants.d.ts +0 -34
  454. package/dist/cjs/utils/filterConstants.d.ts.map +0 -1
  455. package/dist/cjs/utils/filterConstants.js +0 -36
  456. package/dist/cjs/utils/filterProcessing.d.ts +0 -38
  457. package/dist/cjs/utils/filterProcessing.d.ts.map +0 -1
  458. package/dist/cjs/utils/filterProcessing.js +0 -605
  459. package/dist/cjs/utils/getDomain.d.ts +0 -11
  460. package/dist/cjs/utils/getDomain.d.ts.map +0 -1
  461. package/dist/cjs/utils/getDomain.js +0 -65
  462. package/dist/cjs/utils/logging.d.ts +0 -2
  463. package/dist/cjs/utils/logging.d.ts.map +0 -1
  464. package/dist/cjs/utils/logging.js +0 -10
  465. package/dist/cjs/utils/merge.d.ts +0 -18
  466. package/dist/cjs/utils/merge.d.ts.map +0 -1
  467. package/dist/cjs/utils/merge.js +0 -233
  468. package/dist/cjs/utils/monacoConfig.d.ts +0 -22
  469. package/dist/cjs/utils/monacoConfig.d.ts.map +0 -1
  470. package/dist/cjs/utils/monacoConfig.js +0 -324
  471. package/dist/cjs/utils/paginationProcessing.d.ts +0 -6
  472. package/dist/cjs/utils/paginationProcessing.d.ts.map +0 -1
  473. package/dist/cjs/utils/paginationProcessing.js +0 -33
  474. package/dist/cjs/utils/parserBigQuery.d.ts +0 -6
  475. package/dist/cjs/utils/parserBigQuery.d.ts.map +0 -1
  476. package/dist/cjs/utils/parserBigQuery.js +0 -60
  477. package/dist/cjs/utils/parserPostgres.d.ts +0 -3
  478. package/dist/cjs/utils/parserPostgres.d.ts.map +0 -1
  479. package/dist/cjs/utils/parserPostgres.js +0 -42
  480. package/dist/cjs/utils/pivotConstructor.d.ts +0 -25
  481. package/dist/cjs/utils/pivotConstructor.d.ts.map +0 -1
  482. package/dist/cjs/utils/pivotConstructor.js +0 -300
  483. package/dist/cjs/utils/pivotProcessing.d.ts +0 -33
  484. package/dist/cjs/utils/pivotProcessing.d.ts.map +0 -1
  485. package/dist/cjs/utils/pivotProcessing.js +0 -185
  486. package/dist/cjs/utils/queryConstructor.d.ts +0 -15
  487. package/dist/cjs/utils/queryConstructor.d.ts.map +0 -1
  488. package/dist/cjs/utils/queryConstructor.js +0 -949
  489. package/dist/cjs/utils/report.d.ts +0 -121
  490. package/dist/cjs/utils/report.d.ts.map +0 -1
  491. package/dist/cjs/utils/report.js +0 -628
  492. package/dist/cjs/utils/reportBuilder.d.ts +0 -97
  493. package/dist/cjs/utils/reportBuilder.d.ts.map +0 -1
  494. package/dist/cjs/utils/reportBuilder.js +0 -524
  495. package/dist/cjs/utils/schema.d.ts +0 -39
  496. package/dist/cjs/utils/schema.d.ts.map +0 -1
  497. package/dist/cjs/utils/schema.js +0 -233
  498. package/dist/cjs/utils/styles.d.ts +0 -17
  499. package/dist/cjs/utils/styles.d.ts.map +0 -1
  500. package/dist/cjs/utils/styles.js +0 -19
  501. package/dist/cjs/utils/tableProcessing.d.ts +0 -197
  502. package/dist/cjs/utils/tableProcessing.d.ts.map +0 -1
  503. package/dist/cjs/utils/tableProcessing.js +0 -665
  504. package/dist/cjs/utils/tenants.d.ts +0 -9
  505. package/dist/cjs/utils/tenants.d.ts.map +0 -1
  506. package/dist/cjs/utils/tenants.js +0 -2
  507. package/dist/cjs/utils/textProcessing.d.ts +0 -7
  508. package/dist/cjs/utils/textProcessing.d.ts.map +0 -1
  509. package/dist/cjs/utils/textProcessing.js +0 -117
  510. package/dist/cjs/utils/ui.d.ts +0 -2
  511. package/dist/cjs/utils/ui.d.ts.map +0 -1
  512. package/dist/cjs/utils/ui.js +0 -18
  513. package/dist/cjs/utils/validation.d.ts +0 -9
  514. package/dist/cjs/utils/validation.d.ts.map +0 -1
  515. package/dist/cjs/utils/validation.js +0 -30
  516. package/dist/cjs/utils/valueFormatter.d.ts +0 -34
  517. package/dist/cjs/utils/valueFormatter.d.ts.map +0 -1
  518. package/dist/cjs/utils/valueFormatter.js +0 -444
  519. package/dist/cjs/utils/width.d.ts +0 -12
  520. package/dist/cjs/utils/width.d.ts.map +0 -1
  521. package/dist/cjs/utils/width.js +0 -25
  522. package/dist/esm/Chart.d.ts +0 -233
  523. package/dist/esm/Chart.d.ts.map +0 -1
  524. package/dist/esm/Chart.js +0 -570
  525. package/dist/esm/ChartBuilder.d.ts +0 -375
  526. package/dist/esm/ChartBuilder.d.ts.map +0 -1
  527. package/dist/esm/ChartBuilder.js +0 -2273
  528. package/dist/esm/ChartEditor.d.ts +0 -211
  529. package/dist/esm/ChartEditor.d.ts.map +0 -1
  530. package/dist/esm/ChartEditor.js +0 -133
  531. package/dist/esm/Context.d.ts +0 -255
  532. package/dist/esm/Context.d.ts.map +0 -1
  533. package/dist/esm/Context.js +0 -1425
  534. package/dist/esm/Dashboard.d.ts +0 -329
  535. package/dist/esm/Dashboard.d.ts.map +0 -1
  536. package/dist/esm/Dashboard.js +0 -785
  537. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +0 -37
  538. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +0 -1
  539. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -288
  540. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +0 -94
  541. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  542. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +0 -887
  543. package/dist/esm/QuillProvider.d.ts +0 -192
  544. package/dist/esm/QuillProvider.d.ts.map +0 -1
  545. package/dist/esm/QuillProvider.js +0 -104
  546. package/dist/esm/ReportBuilder.d.ts +0 -326
  547. package/dist/esm/ReportBuilder.d.ts.map +0 -1
  548. package/dist/esm/ReportBuilder.js +0 -269
  549. package/dist/esm/SQLEditor.d.ts +0 -302
  550. package/dist/esm/SQLEditor.d.ts.map +0 -1
  551. package/dist/esm/SQLEditor.js +0 -972
  552. package/dist/esm/StaticChart.d.ts +0 -8
  553. package/dist/esm/StaticChart.d.ts.map +0 -1
  554. package/dist/esm/StaticChart.js +0 -24
  555. package/dist/esm/Table.d.ts +0 -187
  556. package/dist/esm/Table.d.ts.map +0 -1
  557. package/dist/esm/Table.js +0 -164
  558. package/dist/esm/assets/AdjustmentsIcon.d.ts +0 -5
  559. package/dist/esm/assets/AdjustmentsIcon.d.ts.map +0 -1
  560. package/dist/esm/assets/AdjustmentsIcon.js +0 -3
  561. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +0 -5
  562. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  563. package/dist/esm/assets/ArrowDownHeadIcon.js +0 -3
  564. package/dist/esm/assets/ArrowDownIcon.d.ts +0 -5
  565. package/dist/esm/assets/ArrowDownIcon.d.ts.map +0 -1
  566. package/dist/esm/assets/ArrowDownIcon.js +0 -3
  567. package/dist/esm/assets/ArrowDownRightIcon.d.ts +0 -5
  568. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +0 -1
  569. package/dist/esm/assets/ArrowDownRightIcon.js +0 -3
  570. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +0 -5
  571. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +0 -1
  572. package/dist/esm/assets/ArrowLeftHeadIcon.js +0 -3
  573. package/dist/esm/assets/ArrowRightHeadIcon.d.ts +0 -5
  574. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +0 -1
  575. package/dist/esm/assets/ArrowRightHeadIcon.js +0 -3
  576. package/dist/esm/assets/ArrowRightIcon.d.ts +0 -5
  577. package/dist/esm/assets/ArrowRightIcon.d.ts.map +0 -1
  578. package/dist/esm/assets/ArrowRightIcon.js +0 -3
  579. package/dist/esm/assets/ArrowUpHeadIcon.d.ts +0 -5
  580. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +0 -1
  581. package/dist/esm/assets/ArrowUpHeadIcon.js +0 -3
  582. package/dist/esm/assets/ArrowUpIcon.d.ts +0 -5
  583. package/dist/esm/assets/ArrowUpIcon.d.ts.map +0 -1
  584. package/dist/esm/assets/ArrowUpIcon.js +0 -3
  585. package/dist/esm/assets/ArrowUpRightIcon.d.ts +0 -5
  586. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +0 -1
  587. package/dist/esm/assets/ArrowUpRightIcon.js +0 -3
  588. package/dist/esm/assets/CalendarIcon.d.ts +0 -5
  589. package/dist/esm/assets/CalendarIcon.d.ts.map +0 -1
  590. package/dist/esm/assets/CalendarIcon.js +0 -3
  591. package/dist/esm/assets/CalendarNormalIcon.d.ts +0 -5
  592. package/dist/esm/assets/CalendarNormalIcon.d.ts.map +0 -1
  593. package/dist/esm/assets/CalendarNormalIcon.js +0 -3
  594. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +0 -5
  595. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +0 -1
  596. package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +0 -3
  597. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +0 -5
  598. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +0 -1
  599. package/dist/esm/assets/DoubleArrowRightHeadIcon.js +0 -3
  600. package/dist/esm/assets/ExclamationFilledIcon.d.ts +0 -5
  601. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +0 -1
  602. package/dist/esm/assets/ExclamationFilledIcon.js +0 -3
  603. package/dist/esm/assets/FilterIcon.d.ts +0 -5
  604. package/dist/esm/assets/FilterIcon.d.ts.map +0 -1
  605. package/dist/esm/assets/FilterIcon.js +0 -3
  606. package/dist/esm/assets/RefreshIcon.d.ts +0 -5
  607. package/dist/esm/assets/RefreshIcon.d.ts.map +0 -1
  608. package/dist/esm/assets/RefreshIcon.js +0 -3
  609. package/dist/esm/assets/SearchIcon.d.ts +0 -5
  610. package/dist/esm/assets/SearchIcon.d.ts.map +0 -1
  611. package/dist/esm/assets/SearchIcon.js +0 -3
  612. package/dist/esm/assets/UpLeftArrowsIcon.d.ts +0 -5
  613. package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +0 -1
  614. package/dist/esm/assets/UpLeftArrowsIcon.js +0 -3
  615. package/dist/esm/assets/XCircleIcon.d.ts +0 -5
  616. package/dist/esm/assets/XCircleIcon.d.ts.map +0 -1
  617. package/dist/esm/assets/XCircleIcon.js +0 -3
  618. package/dist/esm/assets/XIcon.d.ts +0 -5
  619. package/dist/esm/assets/XIcon.d.ts.map +0 -1
  620. package/dist/esm/assets/XIcon.js +0 -3
  621. package/dist/esm/assets/index.d.ts +0 -21
  622. package/dist/esm/assets/index.d.ts.map +0 -1
  623. package/dist/esm/assets/index.js +0 -20
  624. package/dist/esm/components/Banner/index.d.ts +0 -2
  625. package/dist/esm/components/Banner/index.d.ts.map +0 -1
  626. package/dist/esm/components/Banner/index.js +0 -24
  627. package/dist/esm/components/Chart/BarChart.d.ts +0 -29
  628. package/dist/esm/components/Chart/BarChart.d.ts.map +0 -1
  629. package/dist/esm/components/Chart/BarChart.js +0 -123
  630. package/dist/esm/components/Chart/BarList.d.ts +0 -23
  631. package/dist/esm/components/Chart/BarList.d.ts.map +0 -1
  632. package/dist/esm/components/Chart/BarList.js +0 -149
  633. package/dist/esm/components/Chart/ChartError.d.ts +0 -13
  634. package/dist/esm/components/Chart/ChartError.d.ts.map +0 -1
  635. package/dist/esm/components/Chart/ChartError.js +0 -63
  636. package/dist/esm/components/Chart/ChartSkeleton.d.ts +0 -8
  637. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +0 -1
  638. package/dist/esm/components/Chart/ChartSkeleton.js +0 -19
  639. package/dist/esm/components/Chart/ChartTooltip.d.ts +0 -29
  640. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +0 -1
  641. package/dist/esm/components/Chart/ChartTooltip.js +0 -200
  642. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +0 -5
  643. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +0 -1
  644. package/dist/esm/components/Chart/ChartTooltipFrame.js +0 -14
  645. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +0 -12
  646. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +0 -1
  647. package/dist/esm/components/Chart/ChartTooltipGroup.js +0 -23
  648. package/dist/esm/components/Chart/ChartTooltipRow.d.ts +0 -9
  649. package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +0 -1
  650. package/dist/esm/components/Chart/ChartTooltipRow.js +0 -41
  651. package/dist/esm/components/Chart/CustomBar.d.ts +0 -18
  652. package/dist/esm/components/Chart/CustomBar.d.ts.map +0 -1
  653. package/dist/esm/components/Chart/CustomBar.js +0 -68
  654. package/dist/esm/components/Chart/CustomLegend.d.ts +0 -2
  655. package/dist/esm/components/Chart/CustomLegend.d.ts.map +0 -1
  656. package/dist/esm/components/Chart/CustomLegend.js +0 -16
  657. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +0 -2
  658. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +0 -1
  659. package/dist/esm/components/Chart/CustomReferenceLine.js +0 -24
  660. package/dist/esm/components/Chart/GaugeChart.d.ts +0 -11
  661. package/dist/esm/components/Chart/GaugeChart.d.ts.map +0 -1
  662. package/dist/esm/components/Chart/GaugeChart.js +0 -241
  663. package/dist/esm/components/Chart/InternalChart.d.ts +0 -25
  664. package/dist/esm/components/Chart/InternalChart.d.ts.map +0 -1
  665. package/dist/esm/components/Chart/InternalChart.js +0 -491
  666. package/dist/esm/components/Chart/LineChart.d.ts +0 -33
  667. package/dist/esm/components/Chart/LineChart.d.ts.map +0 -1
  668. package/dist/esm/components/Chart/LineChart.js +0 -186
  669. package/dist/esm/components/Chart/MapChart.d.ts +0 -36
  670. package/dist/esm/components/Chart/MapChart.d.ts.map +0 -1
  671. package/dist/esm/components/Chart/MapChart.js +0 -594
  672. package/dist/esm/components/Chart/PieChart.d.ts +0 -79
  673. package/dist/esm/components/Chart/PieChart.d.ts.map +0 -1
  674. package/dist/esm/components/Chart/PieChart.js +0 -276
  675. package/dist/esm/components/Dashboard/ChartComponent.d.ts +0 -3
  676. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +0 -1
  677. package/dist/esm/components/Dashboard/ChartComponent.js +0 -61
  678. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +0 -56
  679. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +0 -1
  680. package/dist/esm/components/Dashboard/DashboardFilter.js +0 -90
  681. package/dist/esm/components/Dashboard/DashboardSection.d.ts +0 -6
  682. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +0 -1
  683. package/dist/esm/components/Dashboard/DashboardSection.js +0 -22
  684. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +0 -2
  685. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +0 -1
  686. package/dist/esm/components/Dashboard/DashboardSectionContainer.js +0 -9
  687. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +0 -13
  688. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +0 -1
  689. package/dist/esm/components/Dashboard/DashboardTemplate.js +0 -64
  690. package/dist/esm/components/Dashboard/DataLoader.d.ts +0 -56
  691. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +0 -1
  692. package/dist/esm/components/Dashboard/DataLoader.js +0 -712
  693. package/dist/esm/components/Dashboard/MetricComponent.d.ts +0 -3
  694. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +0 -1
  695. package/dist/esm/components/Dashboard/MetricComponent.js +0 -132
  696. package/dist/esm/components/Dashboard/TableComponent.d.ts +0 -16
  697. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +0 -1
  698. package/dist/esm/components/Dashboard/TableComponent.js +0 -68
  699. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +0 -3
  700. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +0 -1
  701. package/dist/esm/components/Dashboard/TemplateChartComponent.js +0 -17
  702. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +0 -3
  703. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +0 -1
  704. package/dist/esm/components/Dashboard/TemplateMetricComponent.js +0 -17
  705. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +0 -14
  706. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +0 -1
  707. package/dist/esm/components/Dashboard/TemplateTableComponent.js +0 -17
  708. package/dist/esm/components/Dashboard/util.d.ts +0 -8
  709. package/dist/esm/components/Dashboard/util.d.ts.map +0 -1
  710. package/dist/esm/components/Dashboard/util.js +0 -96
  711. package/dist/esm/components/QuillCard.d.ts +0 -9
  712. package/dist/esm/components/QuillCard.d.ts.map +0 -1
  713. package/dist/esm/components/QuillCard.js +0 -57
  714. package/dist/esm/components/QuillMultiSelect.d.ts +0 -11
  715. package/dist/esm/components/QuillMultiSelect.d.ts.map +0 -1
  716. package/dist/esm/components/QuillMultiSelect.js +0 -207
  717. package/dist/esm/components/QuillMultiSelectSectionList.d.ts +0 -39
  718. package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +0 -1
  719. package/dist/esm/components/QuillMultiSelectSectionList.js +0 -328
  720. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +0 -15
  721. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +0 -1
  722. package/dist/esm/components/QuillMultiSelectWithCombo.js +0 -469
  723. package/dist/esm/components/QuillSelect.d.ts +0 -6
  724. package/dist/esm/components/QuillSelect.d.ts.map +0 -1
  725. package/dist/esm/components/QuillSelect.js +0 -216
  726. package/dist/esm/components/QuillSelectWithCombo.d.ts +0 -6
  727. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +0 -1
  728. package/dist/esm/components/QuillSelectWithCombo.js +0 -213
  729. package/dist/esm/components/QuillTable.d.ts +0 -38
  730. package/dist/esm/components/QuillTable.d.ts.map +0 -1
  731. package/dist/esm/components/QuillTable.js +0 -300
  732. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +0 -28
  733. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +0 -1
  734. package/dist/esm/components/ReportBuilder/AddColumnModal.js +0 -264
  735. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +0 -26
  736. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +0 -1
  737. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +0 -55
  738. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +0 -30
  739. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +0 -1
  740. package/dist/esm/components/ReportBuilder/AddSortPopover.js +0 -56
  741. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts +0 -49
  742. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
  743. package/dist/esm/components/ReportBuilder/ColumnComponent.js +0 -39
  744. package/dist/esm/components/ReportBuilder/DraggableColumns.d.ts +0 -17
  745. package/dist/esm/components/ReportBuilder/DraggableColumns.d.ts.map +0 -1
  746. package/dist/esm/components/ReportBuilder/DraggableColumns.js +0 -46
  747. package/dist/esm/components/ReportBuilder/DraggableItem.d.ts +0 -17
  748. package/dist/esm/components/ReportBuilder/DraggableItem.d.ts.map +0 -1
  749. package/dist/esm/components/ReportBuilder/DraggableItem.js +0 -14
  750. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts +0 -65
  751. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
  752. package/dist/esm/components/ReportBuilder/FilterComponent.js +0 -44
  753. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +0 -29
  754. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +0 -1
  755. package/dist/esm/components/ReportBuilder/FilterModal.js +0 -700
  756. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +0 -28
  757. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +0 -1
  758. package/dist/esm/components/ReportBuilder/FilterStack.js +0 -51
  759. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts +0 -42
  760. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
  761. package/dist/esm/components/ReportBuilder/LimitComponent.js +0 -46
  762. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts +0 -66
  763. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
  764. package/dist/esm/components/ReportBuilder/PivotComponent.js +0 -40
  765. package/dist/esm/components/ReportBuilder/SaveReport.d.ts +0 -162
  766. package/dist/esm/components/ReportBuilder/SaveReport.d.ts.map +0 -1
  767. package/dist/esm/components/ReportBuilder/SaveReport.js +0 -31
  768. package/dist/esm/components/ReportBuilder/SortComponent.d.ts +0 -42
  769. package/dist/esm/components/ReportBuilder/SortComponent.d.ts.map +0 -1
  770. package/dist/esm/components/ReportBuilder/SortComponent.js +0 -46
  771. package/dist/esm/components/ReportBuilder/TableComponent.d.ts +0 -28
  772. package/dist/esm/components/ReportBuilder/TableComponent.d.ts.map +0 -1
  773. package/dist/esm/components/ReportBuilder/TableComponent.js +0 -20
  774. package/dist/esm/components/ReportBuilder/ast.d.ts +0 -523
  775. package/dist/esm/components/ReportBuilder/ast.d.ts.map +0 -1
  776. package/dist/esm/components/ReportBuilder/ast.js +0 -230
  777. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts +0 -7
  778. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +0 -1
  779. package/dist/esm/components/ReportBuilder/bigDateMap.js +0 -687
  780. package/dist/esm/components/ReportBuilder/constants.d.ts +0 -117
  781. package/dist/esm/components/ReportBuilder/constants.d.ts.map +0 -1
  782. package/dist/esm/components/ReportBuilder/constants.js +0 -161
  783. package/dist/esm/components/ReportBuilder/convert.d.ts +0 -42
  784. package/dist/esm/components/ReportBuilder/convert.d.ts.map +0 -1
  785. package/dist/esm/components/ReportBuilder/convert.js +0 -906
  786. package/dist/esm/components/ReportBuilder/operators.d.ts +0 -462
  787. package/dist/esm/components/ReportBuilder/operators.d.ts.map +0 -1
  788. package/dist/esm/components/ReportBuilder/operators.js +0 -581
  789. package/dist/esm/components/ReportBuilder/postgres.d.ts +0 -150
  790. package/dist/esm/components/ReportBuilder/postgres.d.ts.map +0 -1
  791. package/dist/esm/components/ReportBuilder/postgres.js +0 -355
  792. package/dist/esm/components/ReportBuilder/schema.d.ts +0 -30
  793. package/dist/esm/components/ReportBuilder/schema.d.ts.map +0 -1
  794. package/dist/esm/components/ReportBuilder/schema.js +0 -1
  795. package/dist/esm/components/ReportBuilder/ui.d.ts +0 -136
  796. package/dist/esm/components/ReportBuilder/ui.d.ts.map +0 -1
  797. package/dist/esm/components/ReportBuilder/ui.js +0 -433
  798. package/dist/esm/components/ReportBuilder/util.d.ts +0 -78
  799. package/dist/esm/components/ReportBuilder/util.d.ts.map +0 -1
  800. package/dist/esm/components/ReportBuilder/util.js +0 -801
  801. package/dist/esm/components/UiComponents.d.ts +0 -246
  802. package/dist/esm/components/UiComponents.d.ts.map +0 -1
  803. package/dist/esm/components/UiComponents.js +0 -924
  804. package/dist/esm/components/selectUtils.d.ts +0 -9
  805. package/dist/esm/components/selectUtils.d.ts.map +0 -1
  806. package/dist/esm/components/selectUtils.js +0 -17
  807. package/dist/esm/contexts/BaseColorContext.d.ts +0 -3
  808. package/dist/esm/contexts/BaseColorContext.d.ts.map +0 -1
  809. package/dist/esm/contexts/BaseColorContext.js +0 -3
  810. package/dist/esm/contexts/HoveredValueContext.d.ts +0 -8
  811. package/dist/esm/contexts/HoveredValueContext.d.ts.map +0 -1
  812. package/dist/esm/contexts/HoveredValueContext.js +0 -5
  813. package/dist/esm/contexts/RootStylesContext.d.ts +0 -3
  814. package/dist/esm/contexts/RootStylesContext.d.ts.map +0 -1
  815. package/dist/esm/contexts/RootStylesContext.js +0 -3
  816. package/dist/esm/contexts/SelectedValueContext.d.ts +0 -7
  817. package/dist/esm/contexts/SelectedValueContext.d.ts.map +0 -1
  818. package/dist/esm/contexts/SelectedValueContext.js +0 -6
  819. package/dist/esm/contexts/index.d.ts +0 -5
  820. package/dist/esm/contexts/index.d.ts.map +0 -1
  821. package/dist/esm/contexts/index.js +0 -4
  822. package/dist/esm/hooks/index.d.ts +0 -5
  823. package/dist/esm/hooks/index.d.ts.map +0 -1
  824. package/dist/esm/hooks/index.js +0 -4
  825. package/dist/esm/hooks/useAskQuill.d.ts +0 -27
  826. package/dist/esm/hooks/useAskQuill.d.ts.map +0 -1
  827. package/dist/esm/hooks/useAskQuill.js +0 -250
  828. package/dist/esm/hooks/useAstToFilterTree.d.ts +0 -16
  829. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +0 -1
  830. package/dist/esm/hooks/useAstToFilterTree.js +0 -27
  831. package/dist/esm/hooks/useDashboard.d.ts +0 -86
  832. package/dist/esm/hooks/useDashboard.d.ts.map +0 -1
  833. package/dist/esm/hooks/useDashboard.js +0 -876
  834. package/dist/esm/hooks/useExport.d.ts +0 -22
  835. package/dist/esm/hooks/useExport.d.ts.map +0 -1
  836. package/dist/esm/hooks/useExport.js +0 -309
  837. package/dist/esm/hooks/useFormat.d.ts +0 -5
  838. package/dist/esm/hooks/useFormat.d.ts.map +0 -1
  839. package/dist/esm/hooks/useFormat.js +0 -25
  840. package/dist/esm/hooks/useInternalState.d.ts +0 -3
  841. package/dist/esm/hooks/useInternalState.d.ts.map +0 -1
  842. package/dist/esm/hooks/useInternalState.js +0 -14
  843. package/dist/esm/hooks/useLongLoading.d.ts +0 -13
  844. package/dist/esm/hooks/useLongLoading.d.ts.map +0 -1
  845. package/dist/esm/hooks/useLongLoading.js +0 -64
  846. package/dist/esm/hooks/useOnClickOutside.d.ts +0 -6
  847. package/dist/esm/hooks/useOnClickOutside.d.ts.map +0 -1
  848. package/dist/esm/hooks/useOnClickOutside.js +0 -55
  849. package/dist/esm/hooks/useOnWindowResize.d.ts +0 -5
  850. package/dist/esm/hooks/useOnWindowResize.d.ts.map +0 -1
  851. package/dist/esm/hooks/useOnWindowResize.js +0 -14
  852. package/dist/esm/hooks/useQuill.d.ts +0 -24
  853. package/dist/esm/hooks/useQuill.d.ts.map +0 -1
  854. package/dist/esm/hooks/useQuill.js +0 -231
  855. package/dist/esm/hooks/useReport.d.ts +0 -12
  856. package/dist/esm/hooks/useReport.d.ts.map +0 -1
  857. package/dist/esm/hooks/useReport.js +0 -45
  858. package/dist/esm/hooks/useReportBuilder.d.ts +0 -178
  859. package/dist/esm/hooks/useReportBuilder.d.ts.map +0 -1
  860. package/dist/esm/hooks/useReportBuilder.js +0 -1490
  861. package/dist/esm/hooks/useSelectOnKeyDown.d.ts +0 -3
  862. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +0 -1
  863. package/dist/esm/hooks/useSelectOnKeyDown.js +0 -63
  864. package/dist/esm/hooks/useVirtualTables.d.ts +0 -23
  865. package/dist/esm/hooks/useVirtualTables.d.ts.map +0 -1
  866. package/dist/esm/hooks/useVirtualTables.js +0 -127
  867. package/dist/esm/index.d.ts +0 -49
  868. package/dist/esm/index.d.ts.map +0 -1
  869. package/dist/esm/index.js +0 -31
  870. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +0 -55
  871. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +0 -1
  872. package/dist/esm/internals/ReportBuilder/PivotForm.js +0 -205
  873. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +0 -39
  874. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +0 -1
  875. package/dist/esm/internals/ReportBuilder/PivotList.js +0 -96
  876. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +0 -163
  877. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +0 -1
  878. package/dist/esm/internals/ReportBuilder/PivotModal.js +0 -1565
  879. package/dist/esm/lib/font.d.ts +0 -14
  880. package/dist/esm/lib/font.d.ts.map +0 -1
  881. package/dist/esm/lib/font.js +0 -13
  882. package/dist/esm/lib/index.d.ts +0 -4
  883. package/dist/esm/lib/index.d.ts.map +0 -1
  884. package/dist/esm/lib/index.js +0 -3
  885. package/dist/esm/lib/inputTypes.d.ts +0 -21
  886. package/dist/esm/lib/inputTypes.d.ts.map +0 -1
  887. package/dist/esm/lib/inputTypes.js +0 -55
  888. package/dist/esm/lib/utils.d.ts +0 -10
  889. package/dist/esm/lib/utils.d.ts.map +0 -1
  890. package/dist/esm/lib/utils.js +0 -42
  891. package/dist/esm/models/Client.d.ts +0 -52
  892. package/dist/esm/models/Client.d.ts.map +0 -1
  893. package/dist/esm/models/Client.js +0 -1
  894. package/dist/esm/models/Columns.d.ts +0 -14
  895. package/dist/esm/models/Columns.d.ts.map +0 -1
  896. package/dist/esm/models/Columns.js +0 -1
  897. package/dist/esm/models/Dashboard.d.ts +0 -26
  898. package/dist/esm/models/Dashboard.d.ts.map +0 -1
  899. package/dist/esm/models/Dashboard.js +0 -1
  900. package/dist/esm/models/Data.d.ts +0 -20
  901. package/dist/esm/models/Data.d.ts.map +0 -1
  902. package/dist/esm/models/Data.js +0 -1
  903. package/dist/esm/models/Filter.d.ts +0 -318
  904. package/dist/esm/models/Filter.d.ts.map +0 -1
  905. package/dist/esm/models/Filter.js +0 -446
  906. package/dist/esm/models/Pagination.d.ts +0 -10
  907. package/dist/esm/models/Pagination.d.ts.map +0 -1
  908. package/dist/esm/models/Pagination.js +0 -1
  909. package/dist/esm/models/Pivot.d.ts +0 -57
  910. package/dist/esm/models/Pivot.d.ts.map +0 -1
  911. package/dist/esm/models/Pivot.js +0 -1
  912. package/dist/esm/models/Report.d.ts +0 -147
  913. package/dist/esm/models/Report.d.ts.map +0 -1
  914. package/dist/esm/models/Report.js +0 -1
  915. package/dist/esm/models/ReportBuilder.d.ts +0 -46
  916. package/dist/esm/models/ReportBuilder.d.ts.map +0 -1
  917. package/dist/esm/models/ReportBuilder.js +0 -16
  918. package/dist/esm/models/Schema.d.ts +0 -18
  919. package/dist/esm/models/Schema.d.ts.map +0 -1
  920. package/dist/esm/models/Schema.js +0 -1
  921. package/dist/esm/models/Tables.d.ts +0 -36
  922. package/dist/esm/models/Tables.d.ts.map +0 -1
  923. package/dist/esm/models/Tables.js +0 -1
  924. package/dist/esm/utils/astFilterProcessing.d.ts +0 -45
  925. package/dist/esm/utils/astFilterProcessing.d.ts.map +0 -1
  926. package/dist/esm/utils/astFilterProcessing.js +0 -11759
  927. package/dist/esm/utils/astProcessing.d.ts +0 -94
  928. package/dist/esm/utils/astProcessing.d.ts.map +0 -1
  929. package/dist/esm/utils/astProcessing.js +0 -596
  930. package/dist/esm/utils/axisFormatter.d.ts +0 -19
  931. package/dist/esm/utils/axisFormatter.d.ts.map +0 -1
  932. package/dist/esm/utils/axisFormatter.js +0 -212
  933. package/dist/esm/utils/client.d.ts +0 -20
  934. package/dist/esm/utils/client.d.ts.map +0 -1
  935. package/dist/esm/utils/client.js +0 -103
  936. package/dist/esm/utils/color.d.ts +0 -203
  937. package/dist/esm/utils/color.d.ts.map +0 -1
  938. package/dist/esm/utils/color.js +0 -431
  939. package/dist/esm/utils/columnProcessing.d.ts +0 -26
  940. package/dist/esm/utils/columnProcessing.d.ts.map +0 -1
  941. package/dist/esm/utils/columnProcessing.js +0 -388
  942. package/dist/esm/utils/constants.d.ts +0 -9
  943. package/dist/esm/utils/constants.d.ts.map +0 -1
  944. package/dist/esm/utils/constants.js +0 -12
  945. package/dist/esm/utils/crypto.d.ts +0 -2
  946. package/dist/esm/utils/crypto.d.ts.map +0 -1
  947. package/dist/esm/utils/crypto.js +0 -10
  948. package/dist/esm/utils/csv.d.ts +0 -7
  949. package/dist/esm/utils/csv.d.ts.map +0 -1
  950. package/dist/esm/utils/csv.js +0 -74
  951. package/dist/esm/utils/dashboard.d.ts +0 -36
  952. package/dist/esm/utils/dashboard.d.ts.map +0 -1
  953. package/dist/esm/utils/dashboard.js +0 -414
  954. package/dist/esm/utils/dataFetcher.d.ts +0 -13
  955. package/dist/esm/utils/dataFetcher.d.ts.map +0 -1
  956. package/dist/esm/utils/dataFetcher.js +0 -395
  957. package/dist/esm/utils/dataProcessing.d.ts +0 -15
  958. package/dist/esm/utils/dataProcessing.d.ts.map +0 -1
  959. package/dist/esm/utils/dataProcessing.js +0 -156
  960. package/dist/esm/utils/dates.d.ts +0 -23
  961. package/dist/esm/utils/dates.d.ts.map +0 -1
  962. package/dist/esm/utils/dates.js +0 -98
  963. package/dist/esm/utils/error.d.ts +0 -5
  964. package/dist/esm/utils/error.d.ts.map +0 -1
  965. package/dist/esm/utils/error.js +0 -8
  966. package/dist/esm/utils/errorProcessing.d.ts +0 -2
  967. package/dist/esm/utils/errorProcessing.d.ts.map +0 -1
  968. package/dist/esm/utils/errorProcessing.js +0 -5
  969. package/dist/esm/utils/filterConstants.d.ts +0 -34
  970. package/dist/esm/utils/filterConstants.d.ts.map +0 -1
  971. package/dist/esm/utils/filterConstants.js +0 -33
  972. package/dist/esm/utils/filterProcessing.d.ts +0 -38
  973. package/dist/esm/utils/filterProcessing.d.ts.map +0 -1
  974. package/dist/esm/utils/filterProcessing.js +0 -590
  975. package/dist/esm/utils/getDomain.d.ts +0 -11
  976. package/dist/esm/utils/getDomain.d.ts.map +0 -1
  977. package/dist/esm/utils/getDomain.js +0 -62
  978. package/dist/esm/utils/logging.d.ts +0 -2
  979. package/dist/esm/utils/logging.d.ts.map +0 -1
  980. package/dist/esm/utils/logging.js +0 -7
  981. package/dist/esm/utils/merge.d.ts +0 -18
  982. package/dist/esm/utils/merge.d.ts.map +0 -1
  983. package/dist/esm/utils/merge.js +0 -227
  984. package/dist/esm/utils/monacoConfig.d.ts +0 -22
  985. package/dist/esm/utils/monacoConfig.d.ts.map +0 -1
  986. package/dist/esm/utils/monacoConfig.js +0 -319
  987. package/dist/esm/utils/paginationProcessing.d.ts +0 -6
  988. package/dist/esm/utils/paginationProcessing.d.ts.map +0 -1
  989. package/dist/esm/utils/paginationProcessing.js +0 -28
  990. package/dist/esm/utils/parserBigQuery.d.ts +0 -6
  991. package/dist/esm/utils/parserBigQuery.d.ts.map +0 -1
  992. package/dist/esm/utils/parserBigQuery.js +0 -52
  993. package/dist/esm/utils/parserPostgres.d.ts +0 -3
  994. package/dist/esm/utils/parserPostgres.d.ts.map +0 -1
  995. package/dist/esm/utils/parserPostgres.js +0 -37
  996. package/dist/esm/utils/pivotConstructor.d.ts +0 -25
  997. package/dist/esm/utils/pivotConstructor.d.ts.map +0 -1
  998. package/dist/esm/utils/pivotConstructor.js +0 -296
  999. package/dist/esm/utils/pivotProcessing.d.ts +0 -33
  1000. package/dist/esm/utils/pivotProcessing.d.ts.map +0 -1
  1001. package/dist/esm/utils/pivotProcessing.js +0 -177
  1002. package/dist/esm/utils/queryConstructor.d.ts +0 -15
  1003. package/dist/esm/utils/queryConstructor.d.ts.map +0 -1
  1004. package/dist/esm/utils/queryConstructor.js +0 -935
  1005. package/dist/esm/utils/report.d.ts +0 -121
  1006. package/dist/esm/utils/report.d.ts.map +0 -1
  1007. package/dist/esm/utils/report.js +0 -616
  1008. package/dist/esm/utils/reportBuilder.d.ts +0 -97
  1009. package/dist/esm/utils/reportBuilder.d.ts.map +0 -1
  1010. package/dist/esm/utils/reportBuilder.js +0 -513
  1011. package/dist/esm/utils/schema.d.ts +0 -39
  1012. package/dist/esm/utils/schema.d.ts.map +0 -1
  1013. package/dist/esm/utils/schema.js +0 -226
  1014. package/dist/esm/utils/styles.d.ts +0 -17
  1015. package/dist/esm/utils/styles.d.ts.map +0 -1
  1016. package/dist/esm/utils/styles.js +0 -16
  1017. package/dist/esm/utils/tableProcessing.d.ts +0 -197
  1018. package/dist/esm/utils/tableProcessing.d.ts.map +0 -1
  1019. package/dist/esm/utils/tableProcessing.js +0 -651
  1020. package/dist/esm/utils/tenants.d.ts +0 -9
  1021. package/dist/esm/utils/tenants.d.ts.map +0 -1
  1022. package/dist/esm/utils/tenants.js +0 -1
  1023. package/dist/esm/utils/textProcessing.d.ts +0 -7
  1024. package/dist/esm/utils/textProcessing.d.ts.map +0 -1
  1025. package/dist/esm/utils/textProcessing.js +0 -109
  1026. package/dist/esm/utils/ui.d.ts +0 -2
  1027. package/dist/esm/utils/ui.d.ts.map +0 -1
  1028. package/dist/esm/utils/ui.js +0 -14
  1029. package/dist/esm/utils/validation.d.ts +0 -9
  1030. package/dist/esm/utils/validation.d.ts.map +0 -1
  1031. package/dist/esm/utils/validation.js +0 -26
  1032. package/dist/esm/utils/valueFormatter.d.ts +0 -34
  1033. package/dist/esm/utils/valueFormatter.d.ts.map +0 -1
  1034. package/dist/esm/utils/valueFormatter.js +0 -436
  1035. package/dist/esm/utils/width.d.ts +0 -12
  1036. package/dist/esm/utils/width.d.ts.map +0 -1
  1037. package/dist/esm/utils/width.js +0 -21
@@ -1,2282 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.dateFormatOptions = exports.numberFormatOptions = void 0;
7
- exports.createInitialFormData = createInitialFormData;
8
- exports.createReportFromForm = createReportFromForm;
9
- exports.ChartBuilderWithModal = ChartBuilderWithModal;
10
- exports.default = ChartBuilder;
11
- exports.DashboardFilterModal = DashboardFilterModal;
12
- const jsx_runtime_1 = require("react/jsx-runtime");
13
- const react_1 = require("react");
14
- const Context_1 = require("./Context");
15
- const PivotModal_1 = require("./internals/ReportBuilder/PivotModal");
16
- const PivotList_1 = require("./internals/ReportBuilder/PivotList");
17
- const UiComponents_1 = require("./components/UiComponents");
18
- const textProcessing_1 = require("./utils/textProcessing");
19
- const QuillSelect_1 = require("./components/QuillSelect");
20
- const Report_1 = require("./models/Report");
21
- const QuillCard_1 = require("./components/QuillCard");
22
- const valueFormatter_1 = require("./utils/valueFormatter");
23
- const columnProcessing_1 = require("./utils/columnProcessing");
24
- const astProcessing_1 = require("./utils/astProcessing");
25
- const validation_1 = require("./utils/validation");
26
- const ChartError_1 = require("./components/Chart/ChartError");
27
- const report_1 = require("./utils/report");
28
- const merge_1 = require("./utils/merge");
29
- const assets_1 = require("./assets");
30
- const InternalChart_1 = __importDefault(require("./components/Chart/InternalChart"));
31
- const paginationProcessing_1 = require("./utils/paginationProcessing");
32
- const tableProcessing_1 = require("./utils/tableProcessing");
33
- const dates_1 = require("./utils/dates");
34
- const QuillMultiSelectWithCombo_1 = require("./components/QuillMultiSelectWithCombo");
35
- const QuillMultiSelectSectionList_1 = require("./components/QuillMultiSelectSectionList");
36
- const constants_1 = require("./utils/constants");
37
- const pivotConstructor_1 = require("./utils/pivotConstructor");
38
- const useDashboard_1 = require("./hooks/useDashboard");
39
- const CHART_TYPES = [
40
- 'column',
41
- 'stacked',
42
- 'line',
43
- 'table',
44
- 'metric',
45
- 'gauge',
46
- 'bar',
47
- 'pie',
48
- 'US map',
49
- 'World map',
50
- ];
51
- const CHART_TO_LABELS = {
52
- column: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
53
- line: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
54
- table: {},
55
- metric: {},
56
- bar: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
57
- stacked: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
58
- pie: { xAxisLabel: 'Category', yAxisLabel: 'Count' },
59
- 'US map': { xAxisLabel: 'State', yAxisLabel: 'Value' },
60
- 'World map': { xAxisLabel: 'Country', yAxisLabel: 'Value' },
61
- gauge: { xAxisLabel: 'Value' },
62
- };
63
- function getPivotMetricOptions(pivot, selectedPivotTable, chartType) {
64
- if (['metric', 'gauge'].includes(chartType) && selectedPivotTable) {
65
- return selectedPivotTable.columns.map((elem) => ({
66
- label: elem.field === pivot?.rowField
67
- ? `Pivot Row (${elem.field})`
68
- : elem.field,
69
- value: elem.field,
70
- }));
71
- }
72
- if (!pivot.rowField) {
73
- const valueField = (0, pivotConstructor_1.disambiguatedValueField)(pivot);
74
- return [
75
- {
76
- label: `Pivot Value (${valueField})`,
77
- value: valueField ?? '',
78
- },
79
- ];
80
- }
81
- else {
82
- return [
83
- {
84
- label: `Pivot Row (${pivot.rowField})`,
85
- value: pivot.rowField,
86
- },
87
- ];
88
- }
89
- }
90
- function createInitialFormData(columns) {
91
- const firstNumberColumn = columns?.find((col) => exports.numberFormatOptions.includes(col.format));
92
- const firstStringColumn = columns?.find((col) => !exports.numberFormatOptions.includes(col.format) &&
93
- !exports.dateFormatOptions.includes(col.format));
94
- const firstDateColumn = columns?.find((col) => exports.dateFormatOptions.includes(col.format));
95
- const xAxisField = firstStringColumn?.field ||
96
- firstDateColumn?.field ||
97
- firstNumberColumn?.field ||
98
- columns?.[0]?.field ||
99
- '';
100
- const xAxisFormat = firstStringColumn?.format ||
101
- firstDateColumn?.format ||
102
- firstNumberColumn?.format ||
103
- columns?.[0]?.format ||
104
- 'string';
105
- const formEmptyState = {
106
- name: '',
107
- columns: columns.map((col) => {
108
- return { ...col, label: (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(col.label) };
109
- }),
110
- xAxisField,
111
- xAxisFormat,
112
- yAxisFields: [
113
- {
114
- field: firstNumberColumn?.field || columns?.[0]?.field || '',
115
- label: '',
116
- format: firstNumberColumn?.format || columns?.[0]?.format || 'string',
117
- },
118
- ],
119
- xAxisLabel: '',
120
- chartType: firstNumberColumn ? 'line' : 'table',
121
- pivot: null,
122
- template: true,
123
- referenceLines: [],
124
- };
125
- return formEmptyState;
126
- }
127
- function getChartTypeOptions(formData, dashboard) {
128
- let viableCharts = CHART_TYPES;
129
- if (dashboard && dashboard.dateFilter && dashboard.dateFilter.comparison) {
130
- viableCharts = viableCharts.filter((chart) => ![
131
- 'table',
132
- 'metric',
133
- 'gauge',
134
- 'bar',
135
- 'stacked',
136
- 'pie',
137
- 'US map',
138
- 'World map',
139
- ].includes(chart));
140
- }
141
- if (formData.pivot && !formData.pivot.rowField) {
142
- return viableCharts
143
- .filter((elem) => ['table', 'metric', 'gauge'].includes(elem))
144
- .map((elem) => ({
145
- label: elem,
146
- value: elem,
147
- }));
148
- }
149
- else {
150
- return viableCharts
151
- .filter((elem) => !(formData.pivot &&
152
- formData.pivot.columnField &&
153
- (elem === 'bar' ||
154
- elem === 'pie' ||
155
- elem === 'US map' ||
156
- elem === 'World map')))
157
- .map((elem) => ({ label: elem, value: elem }));
158
- }
159
- }
160
- function createReportFromForm(formData, report, eventTracking, selectedPivotTable, rows = [], filtersApplied = [], referenceLineQueryResults) {
161
- const newReport = (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)({
162
- ...formData,
163
- dashboardName: formData.dashboardName || '',
164
- pivot: formData.pivot,
165
- id: report.id,
166
- order: -1,
167
- compareRows: report?.compareRows,
168
- filtersApplied: report?.filtersApplied || [],
169
- queryString: '',
170
- rows: rows,
171
- rowCount: selectedPivotTable?.rowCount ||
172
- report?.rowCount ||
173
- selectedPivotTable?.rows?.length ||
174
- rows.length ||
175
- 0,
176
- yAxisFields: formData.yAxisFields ?? [],
177
- pivotColumns: selectedPivotTable?.columns ?? undefined,
178
- pivotRows: selectedPivotTable?.rows ?? undefined,
179
- columnInternal: report?.columnInternal ?? [],
180
- referenceLines: formData.referenceLines?.map((elem) => ({
181
- label: elem.label,
182
- query: elem.label === constants_1.REFERENCE_LINE
183
- ? [Number(elem.y1) || 0, Number(elem.y2) || 0]
184
- : elem.label,
185
- })) || [],
186
- referenceLineYValues: formData.referenceLines?.map((elem, index) => ({
187
- label: elem.label,
188
- query: elem.label === constants_1.REFERENCE_LINE
189
- ? [Number(elem.y1) || 0, Number(elem.y2) || 0]
190
- : referenceLineQueryResults?.[index],
191
- })) || [],
192
- }), filtersApplied, eventTracking);
193
- return newReport;
194
- }
195
- exports.numberFormatOptions = [
196
- 'whole_number',
197
- 'one_decimal_place',
198
- 'two_decimal_places',
199
- 'dollar_amount',
200
- 'dollar_cents',
201
- 'percentage',
202
- ];
203
- exports.dateFormatOptions = [
204
- 'MMM_yyyy',
205
- 'MMM_dd',
206
- 'MMM_dd_yyyy',
207
- 'MMM_dd_hh:mm_ap_pm',
208
- 'hh_ap_pm',
209
- 'date',
210
- 'timestamptz',
211
- ];
212
- const NUMBER_OPTIONS = [
213
- { value: 'whole_number', label: 'whole number' },
214
- { value: 'one_decimal_place', label: 'one decimal place' },
215
- { value: 'two_decimal_places', label: 'two decimal places' },
216
- { value: 'dollar_amount', label: 'dollar amount' },
217
- { value: 'dollar_cents', label: 'dollar and cent amount' },
218
- { value: 'percent', label: 'percentage' },
219
- ];
220
- const DATE_OPTIONS = [
221
- { value: 'MMM_yyyy', label: 'month' },
222
- { value: 'MMM_dd', label: 'day' },
223
- { value: 'MMM_dd_yyyy', label: 'day and year' },
224
- { value: 'MMM_dd_hh:mm_ap_pm', label: 'day and time' },
225
- { value: 'hh_ap_pm', label: 'hour' },
226
- ];
227
- const ALL_FORMAT_OPTIONS = [
228
- ...NUMBER_OPTIONS,
229
- ...DATE_OPTIONS,
230
- { value: 'string', label: 'string' },
231
- ];
232
- /**
233
- * ### Quill Chart Builder with Modal
234
- *
235
- * Renders a ChartBuilder component with a modal.
236
- *
237
- * @example
238
- * ```js
239
- * // Usage without custom components
240
- * <ChartBuilder />
241
- * ```
242
- *
243
- * @example
244
- * ```js
245
- * // You can also pass your own components
246
- * <ChartBuilder
247
- * ButtonComponent={MyButton}
248
- * SecondaryButtonComponent={MySecondaryButton}
249
- * />
250
- * ```
251
- *
252
- * ### Chart Builder API
253
- * @see https://docs.quillsql.com/components/chart-builder#with-modal
254
- */
255
- function ChartBuilderWithModal(props) {
256
- const parentRef = (0, react_1.useRef)(null);
257
- const [modalWidth, setModalWidth] = (0, react_1.useState)(200);
258
- const [modalHeight, setModalHeight] = (0, react_1.useState)(200);
259
- const { isOpen, setIsOpen, title, isHorizontalView } = props;
260
- const Modal = props.ModalComponent ?? UiComponents_1.MemoizedModal;
261
- const { dashboardReports: dashboard } = (0, useDashboard_1.useDashboardReports)(props.destinationDashboard);
262
- const [filtersEnabledState, setFiltersEnabledState] = (0, react_1.useState)(!!props.reportId);
263
- (0, react_1.useEffect)(() => {
264
- function handleResize() {
265
- const screenSize = window.innerWidth;
266
- if (screenSize >= 1200) {
267
- setModalWidth(window.innerWidth - 80);
268
- }
269
- else {
270
- setModalWidth(undefined); // use dynamic width of contents
271
- }
272
- setModalHeight(window.innerHeight - 80);
273
- }
274
- handleResize();
275
- window.addEventListener('resize', handleResize);
276
- return () => {
277
- window.removeEventListener('resize', handleResize);
278
- };
279
- }, []);
280
- return ((0, jsx_runtime_1.jsx)("div", { style: { height: '100%' }, ref: parentRef, children: (0, jsx_runtime_1.jsx)(Modal, { isOpen: isOpen, setIsOpen: setIsOpen, title: title || 'Add to dashboard',
281
- // For isHorizontalView, use full viewport size minus 80px for padding,
282
- // otherwise use the default layout method of the modal (contents).
283
- width: isHorizontalView ? modalWidth : undefined, height: isHorizontalView ? modalHeight : undefined, children: (props.reportId
284
- ? (dashboard[props.reportId] ?? props.tempReport)
285
- : props.tempReport) ? ((0, jsx_runtime_1.jsx)(ChartBuilder, { ...props, filtersEnabled: filtersEnabledState, onFiltersEnabledChanged: setFiltersEnabledState, runQueryOnMount: filtersEnabledState })) : ((0, jsx_runtime_1.jsx)("div", { style: { padding: 20 }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.QuillLoadingComponent, {}) })) }) }));
286
- }
287
- /**
288
- * ### Quill Chart Builder
289
- *
290
- * A simple form that lets users turn a SQL query into a chart, metric, or table
291
- * and then add that dashboard item into one of their dashboards.
292
- *
293
- * @example
294
- * ```js
295
- * // Usage without custom components
296
- * <ChartBuilder />
297
- * ```
298
- *
299
- * @example
300
- * ```js
301
- * // You can also pass your own components
302
- * <ChartBuilder
303
- * ButtonComponent={MyButton}
304
- * SecondaryButtonComponent={MySecondaryButton}
305
- * />
306
- * ```
307
- *
308
- * ### Chart Builder API
309
- * @see https://docs.quillsql.com/components/chart-builder
310
- */
311
- function ChartBuilder({ TextInputComponent = UiComponents_1.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent,
312
- // MultiSelectComponent = QuillMultiSelectComponentWithCombo,
313
- ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, LabelComponent = UiComponents_1.MemoizedLabel, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextComponent = UiComponents_1.MemoizedText, PopoverComponent = UiComponents_1.MemoizedPopover, CardComponent = QuillCard_1.QuillCard, TableComponent = UiComponents_1.QuillTableComponent, ModalComponent = UiComponents_1.MemoizedModal, LoadingComponent = UiComponents_1.QuillLoadingComponent, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, FormContainer = UiComponents_1.QuillChartBuilderFormContainer, ErrorComponent = ChartError_1.QuillChartErrorWithAction, CheckboxComponent = UiComponents_1.QuillChartBuilderCheckboxComponent, onClickChartError, isOpen, isHorizontalView = true, setIsOpen, dateRange, isAdmin = false, showDashboardDropdown = true, hidePivotForm = false, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, tempReport, recommendedPivots: rp = [], createdPivots: cp = [], dateColumn, buttonLabel, organizationName, hideDeleteButton = false, hideSubmitButton = false, hideDateRangeFilter = false, showTableFormatOptions, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled = true, hideTableView = false, hideChartView = false, hideChartType = false, hideDiscardChanges = false, filtersEnabled, onFiltersEnabledChanged,
314
- // isLoading,
315
- destinationDashboard, destinationSection, onClickChartElement, isEditingMode = false, disableSort = true, runQueryOnMount = false, }) {
316
- const [client] = (0, react_1.useContext)(Context_1.ClientContext);
317
- const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
318
- const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
319
- const { getToken, quillFetchWithToken } = (0, react_1.useContext)(Context_1.FetchContext);
320
- const { eventTracking } = (0, react_1.useContext)(Context_1.EventTrackingContext);
321
- const { addReport } = (0, useDashboard_1.useDashboardReports)(destinationDashboard);
322
- const { reload: reloadDashboard } = (0, useDashboard_1.useDashboardInternal)(destinationDashboard);
323
- const { allReportsById } = (0, useDashboard_1.useAllReports)();
324
- const { dashboardConfig } = (0, react_1.useContext)(Context_1.DashboardConfigContext);
325
- const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
326
- const report = (0, react_1.useMemo)(() => {
327
- return reportId && !tempReport ? allReportsById[reportId] : tempReport;
328
- }, [reportId]);
329
- const [windowWidth, setWindowWidth] = (0, react_1.useState)(1200);
330
- const [rows, setRows] = (0, react_1.useState)(report?.rows ?? []);
331
- const [itemQuery, setItemQuery] = (0, react_1.useState)(report?.itemQuery);
332
- const [rowCount, setRowCount] = (0, react_1.useState)(report?.rowCount ?? 0);
333
- const [maxPage, setMaxPage] = (0, react_1.useState)(0);
334
- const [isLoading, setIsLoading] = (0, react_1.useState)(false);
335
- const [rowCountIsLoading, setRowCountIsLoading] = (0, react_1.useState)(false);
336
- const [isSubmitting, setIsSubmitting] = (0, react_1.useState)(false);
337
- const [pivotCardWidth, setPivotCardWidth] = (0, react_1.useState)(665);
338
- const [formWidth, setFormWidth] = (0, react_1.useState)(665);
339
- const inputRef = (0, react_1.useRef)(null);
340
- const selectRef = (0, react_1.useRef)(null);
341
- const processColumns = (columns) => {
342
- if (schemaData.schemaWithCustomFields) {
343
- const newProcessedColumns = columns?.map((col) => {
344
- if (col.jsType) {
345
- return col;
346
- }
347
- const newCol = { ...col };
348
- let foundColumn;
349
- schemaData.schemaWithCustomFields.forEach((table) => {
350
- if (table.columns) {
351
- const matchedColumn = table.columns.find((c) => c.field === col.field);
352
- if (matchedColumn) {
353
- foundColumn = matchedColumn;
354
- }
355
- }
356
- });
357
- if (!foundColumn) {
358
- return col;
359
- }
360
- newCol.fieldType = foundColumn.fieldType;
361
- newCol.jsType = (0, columnProcessing_1.convertFieldTypeToJSType)(foundColumn.fieldType);
362
- return newCol;
363
- });
364
- return newProcessedColumns;
365
- }
366
- return columns;
367
- };
368
- const [processedColumns, setProcessedColumns] = (0, react_1.useState)(processColumns(report?.columnInternal ?? []));
369
- const [currentPage, setCurrentPage] = (0, react_1.useState)(0);
370
- const parentRef = (0, react_1.useRef)(null);
371
- const deleteRef = (0, react_1.useRef)(null);
372
- const modalPadding = 20;
373
- const deleteButtonMargin = -12;
374
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
375
- const specificDashboardFilters = (0, react_1.useMemo)(() => {
376
- return Object.values(dashboardFilters[report?.dashboardName ?? ''] ?? {}).map((f) => f.filter);
377
- }, [dashboardFilters, report?.dashboardName]);
378
- const validationHelper = (formData, dashboard, dateField, tables) => {
379
- const issues = (0, validation_1.validateReport)(formData, dashboard, dateField || defaultDateField, tables || allTables);
380
- if (issues.length > 0) {
381
- setFilterIssues(issues);
382
- }
383
- else {
384
- setFilterIssues([]);
385
- }
386
- };
387
- (0, react_1.useEffect)(() => {
388
- const handleResize = () => {
389
- setWindowWidth(window.innerWidth);
390
- // The pivot card should be the same width as the row of inputs
391
- // above it (an input, two selects, plus the gaps between them).
392
- if (inputRef.current && selectRef.current) {
393
- const inputSize = inputRef.current?.getBoundingClientRect();
394
- const selectSize = selectRef.current?.getBoundingClientRect();
395
- const selectWidth = selectSize.width;
396
- const showDash = showDashboardDropdown && !report?.dashboardName;
397
- const spaceBetween = selectSize.left - inputSize.right;
398
- const gap = showDash ? (spaceBetween - selectWidth) / 2 : spaceBetween;
399
- const width = inputSize.width + 2 * gap + 2 * selectWidth;
400
- setPivotCardWidth(width);
401
- // Calculate the form width by adding the width of the delete button
402
- const deleteSize = deleteRef.current?.getBoundingClientRect();
403
- const deleteWidth = deleteSize?.width ?? 0;
404
- setFormWidth(width + deleteWidth);
405
- }
406
- };
407
- handleResize();
408
- window.addEventListener('resize', handleResize);
409
- return () => {
410
- window.removeEventListener('resize', handleResize);
411
- };
412
- }, [isOpen]);
413
- const [dashboardOptions, setDashboardOptions] = (0, react_1.useState)([]);
414
- const { reportFilters, loadFiltersForReport, reportFiltersDispatch, abortLoadingFilters, } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
415
- const { reportsDispatch } = (0, react_1.useContext)(Context_1.ReportsContext);
416
- const initialFilters = (0, react_1.useRef)(reportFilters[report?.id ?? Report_1.TEMP_REPORT_ID]);
417
- const [reportFiltersLoaded, setReportFiltersLoaded] = (0, react_1.useState)(!filtersEnabled);
418
- (0, react_1.useEffect)(() => {
419
- if (!reportFilters[report?.id ?? Report_1.TEMP_REPORT_ID]) {
420
- loadFiltersForReport(report?.id ?? Report_1.TEMP_REPORT_ID, 'ChartBuilder', specificDashboardFilters, undefined, undefined, report?.dashboardName);
421
- }
422
- setReportFiltersLoaded(true);
423
- return () => {
424
- abortLoadingFilters(report?.id ?? tempReport?.id ?? Report_1.TEMP_REPORT_ID);
425
- if (initialFilters.current) {
426
- reportFiltersDispatch({
427
- type: 'ADD_REPORT_FILTERS',
428
- id: report?.id ?? Report_1.TEMP_REPORT_ID,
429
- data: Object.values(initialFilters.current),
430
- });
431
- }
432
- else {
433
- reportFiltersDispatch({
434
- type: 'CLEAR_REPORT_FILTERS',
435
- id: report?.id ?? Report_1.TEMP_REPORT_ID,
436
- });
437
- }
438
- };
439
- }, []);
440
- const currentDashboardFilters = (0, react_1.useMemo)(() => {
441
- return Object.values(reportFilters[report?.id ?? Report_1.TEMP_REPORT_ID] ?? {}).map((f) => f.filter);
442
- }, [reportFilters, report?.id]);
443
- const [showFilterModal, setShowFilterModal] = (0, react_1.useState)(false);
444
- const [filterIssues, setFilterIssues] = (0, react_1.useState)([]);
445
- const [showPivotPopover, setShowPivotPopover] = (0, react_1.useState)(false);
446
- const [isEdittingPivot, setIsEdittingPivot] = (0, react_1.useState)(false);
447
- const [selectedPivotIndex, setSelectedPivotIndex] = (0, react_1.useState)(-1);
448
- const [tableName, setTableName] = (0, react_1.useState)(undefined);
449
- const [includeCustomFields, setIncludeCustomFields] = (0, react_1.useState)(report
450
- ? !!report.includeCustomFields
451
- : !!client?.featureFlags?.customFieldsEnabled);
452
- const selectedTable = schemaData.schema?.find((t) => t.displayName === tableName);
453
- const [pivotPopUpTitle, setPivotPopUpTitle] = (0, react_1.useState)('Add pivot');
454
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
455
- const [pivotError, setPivotError] = (0, react_1.useState)(undefined);
456
- const pivotData = report?.pivotRows && report?.pivotColumns
457
- ? {
458
- rows: report.pivotRows,
459
- columns: report.pivotColumns,
460
- rowCount: report.pivotRowCount ?? report.pivotRows.length,
461
- pivotQuery: report.pivotQuery ?? '',
462
- comparisonPivotQuery: report.comparisonPivotQuery,
463
- }
464
- : undefined;
465
- const columns = report?.columnInternal ?? [];
466
- const destinationDashboardName = report?.dashboardName || destinationDashboard;
467
- const query = report?.queryString;
468
- const [loadingFormData, setLoadingFormData] = (0, react_1.useState)(false);
469
- const [triggeredEditChart, setTriggeredEditChart] = (0, react_1.useState)(false);
470
- const [createdPivots, setCreatedPivots] = (0, react_1.useState)(report?.pivot ? [report.pivot] : cp);
471
- const [recommendedPivots, setRecommendedPivots] = (0, react_1.useState)(rp);
472
- const [pivotRowField, setPivotRowField] = (0, react_1.useState)(report?.pivot?.rowField);
473
- const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(report?.pivot?.columnField);
474
- const [pivotAggregations, setPivotAggregations] = (0, react_1.useState)(report?.pivot?.aggregations ?? [
475
- {
476
- valueField: report?.pivot?.valueField,
477
- valueField2: report?.pivot?.valueField2,
478
- aggregationType: report?.pivot?.aggregationType,
479
- },
480
- ]);
481
- const [pivotLimit, setPivotLimit] = (0, react_1.useState)(report?.pivot?.rowLimit);
482
- const [pivotSort, setPivotSort] = (0, react_1.useState)(report?.pivot?.sort &&
483
- report?.pivot?.sortDirection &&
484
- report?.pivot?.sortField
485
- ? {
486
- sortField: report.pivot.sortField,
487
- sortDirection: report.pivot.sortDirection,
488
- }
489
- : undefined);
490
- const baseProcessing = {
491
- page: report?.pagination ?? {
492
- page: 0,
493
- rowsPerPage: 10,
494
- rowsPerRequest: report?.chartType === 'table' ? 50 : 500,
495
- },
496
- };
497
- const [currentProcessing, setCurrentProcessing] = (0, react_1.useState)(baseProcessing);
498
- const [customTenantAccess, setCustomTenantAccess] = (0, react_1.useState)(!!Object.values(report?.flags ?? {}).length);
499
- // initial state is the fields array passed in, but can eventually be changed to be the pivot fields
500
- const [dateFieldOptions, setDateFieldOptions] = (0, react_1.useState)([]);
501
- const [allTables, setAllTables] = (0, react_1.useState)([]);
502
- const [customFieldTableRef, setCustomFieldTableRef] = (0, react_1.useState)(false);
503
- const [referencedColumns, setReferencedColumns] = (0, react_1.useState)({});
504
- const [referencedColumnsWithoutStar, setReferencedColumnsWithoutStar] = (0, react_1.useState)({});
505
- const [filterMap, setFilterMap] = (0, react_1.useState)(report?.filterMap ?? {});
506
- const canonicalFilterMap = (0, react_1.useMemo)(() => {
507
- return Object.fromEntries(Object.entries(filterMap).filter((f) => f[1].table !== undefined && f[1].field !== undefined));
508
- }, [filterMap]);
509
- const validFilter = (0, react_1.useMemo)(() => {
510
- return specificDashboardFilters.reduce((acc, filter) => {
511
- if (filter.filterType === 'date_range') {
512
- acc[filter.label] = true;
513
- return acc;
514
- }
515
- acc[filter.label] =
516
- !!allTables.find((table) => table === (filterMap[filter.label] ?? filter).table) &&
517
- !!schemaData.schemaWithCustomFields
518
- ?.find((table) => {
519
- return (table.displayName === (filterMap[filter.label] ?? filter).table);
520
- })
521
- ?.columns.find((col) => col.field === (filterMap[filter.label] ?? filter).field);
522
- return acc;
523
- }, {});
524
- }, [specificDashboardFilters, filterMap, allTables]);
525
- const [formFlags, setFormFlags] = (0, react_1.useState)(report?.flags
526
- ? Object.fromEntries(Object.entries(report.flags).map(([key, value]) => {
527
- if (value === constants_1.ALL_TENANTS) {
528
- const tenantType = client?.allTenantTypes?.find((t) => t.tenantField === key);
529
- return [
530
- key,
531
- tenantType?.tenantField === constants_1.SINGLE_TENANT
532
- ? (tenantType?.flags ?? [])
533
- : (tenantType?.tenantIds?.map((id) => id.flag) ?? []),
534
- ];
535
- }
536
- else {
537
- return [key, value];
538
- }
539
- }))
540
- : undefined);
541
- const [defaultDateField, setDefaultDateField] = (0, react_1.useState)({
542
- table: dateFieldOptions[0]?.name || '',
543
- field: dateFieldOptions[0]?.columns[0]?.field || '',
544
- });
545
- const firstNumberColumn = report?.columnInternal?.find((col) => exports.numberFormatOptions.includes(col.format));
546
- const formEmptyState = {
547
- name: report?.name ?? '',
548
- dashboardName: dashboardOptions[0]?.label ?? '',
549
- columns: report?.columns?.map((col) => {
550
- return { ...col, label: (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(col.label) };
551
- }) ?? [],
552
- xAxisField: report?.columns?.[0]?.field ?? '',
553
- xAxisFormat: report?.columns?.[0]?.format ?? 'string',
554
- yAxisFields: [
555
- {
556
- field: firstNumberColumn?.field ?? report?.columns?.[0]?.field ?? '',
557
- label: '',
558
- format: firstNumberColumn?.format ?? report?.columns?.[0]?.format ?? 'string',
559
- },
560
- ],
561
- xAxisLabel: '',
562
- chartType: firstNumberColumn ? 'line' : 'table',
563
- pivot: null,
564
- dateField: defaultDateField,
565
- template: true,
566
- referenceLines: [],
567
- };
568
- const updateDashboardFilters = async (dashboardName) => {
569
- if (dashboardConfig && dashboardConfig[dashboardName]) {
570
- return dashboardConfig[dashboardName];
571
- }
572
- if (!client) {
573
- return;
574
- }
575
- const { data: responseData } = await quillFetchWithToken({
576
- client,
577
- task: 'dashboard',
578
- metadata: {
579
- name: dashboardName,
580
- clientId: client.clientId,
581
- databaseType: client.databaseType,
582
- useNewNodeSql: true,
583
- tenants,
584
- },
585
- });
586
- if (responseData) {
587
- return {
588
- ...responseData,
589
- createdAt: responseData.createdAt && new Date(responseData.createdAt),
590
- dateFilter: responseData.dateFilter
591
- ? {
592
- ...responseData.dateFilter,
593
- presetOptions: responseData.dateFilter.presetOptions?.map((preset) => ({
594
- ...preset,
595
- loopStart: preset.loopStart
596
- ? new Date(preset.loopStart)
597
- : undefined,
598
- loopEnd: preset.loopEnd
599
- ? new Date(preset.loopEnd)
600
- : undefined,
601
- })),
602
- defaultPresetRanges: responseData.dateFilter.defaultPresetRanges?.map((preset) => ({
603
- ...preset,
604
- loopStart: preset.loopStart
605
- ? new Date(preset.loopStart)
606
- : undefined,
607
- loopEnd: preset.loopEnd
608
- ? new Date(preset.loopEnd)
609
- : undefined,
610
- })),
611
- }
612
- : undefined,
613
- };
614
- }
615
- };
616
- const pivotFormData = (pivot, reportChartType) => {
617
- const yAxisField = pivot.columnField ?? (0, pivotConstructor_1.disambiguatedValueField)(pivot) ?? '';
618
- const yAxisLabel = report?.yAxisFields && report?.yAxisFields?.length > 0
619
- ? (report.yAxisFields[0]?.label ?? '')
620
- : ((0, pivotConstructor_1.disambiguatedValueField)(pivot) ?? '');
621
- // date labels for pivots should be treated like strings since they are
622
- const yAxisIsDate = pivot.columnField
623
- ? (0, PivotModal_1.isDateField)(pivot.columnFieldType ?? '')
624
- : false;
625
- const chartType = reportChartType ??
626
- formData?.chartType ??
627
- (pivot.rowField ? 'column' : 'metric');
628
- const rowColumn = (selectedPivotTable?.columns ?? columns).find((col) => col.field === pivot.rowField);
629
- const xAxisField = pivot.rowField &&
630
- !(['metric', 'gauge'].includes(chartType) &&
631
- !valueFormatter_1.NUMBER_FORMAT_TYPES.includes(rowColumn?.format ?? ''))
632
- ? pivot.rowField
633
- : (0, pivotConstructor_1.disambiguatedValueField)(pivot);
634
- const result = {
635
- pivot,
636
- chartType: chartType,
637
- xAxisField,
638
- xAxisFormat: chartType === 'gauge'
639
- ? 'percent'
640
- : chartType === 'metric'
641
- ? 'whole_number'
642
- : (0, columnProcessing_1.isDateType)(pivot.rowFieldType ?? '')
643
- ? 'string'
644
- : (0, columnProcessing_1.isNumberType)(pivot.rowFieldType ?? '')
645
- ? 'whole_number'
646
- : (0, columnProcessing_1.isNumberType)((0, pivotConstructor_1.disambiguatedValueField)(pivot) ?? '')
647
- ? 'whole_number'
648
- : 'string',
649
- xAxisLabel: report?.xAxisLabel || pivot.rowField,
650
- yAxisFields: [
651
- {
652
- field: yAxisField,
653
- label: yAxisLabel,
654
- format: yAxisIsDate
655
- ? 'string'
656
- : report?.yAxisFields && report?.yAxisFields?.length > 0
657
- ? (report?.yAxisFields[0]?.format ?? 'whole_number')
658
- : (report?.columns.find((col) => col.field === (0, pivotConstructor_1.disambiguatedValueField)(pivot))?.format ?? 'whole_number'),
659
- },
660
- ],
661
- };
662
- return result;
663
- };
664
- const getReferencedTables = async (client, sqlQuery, dbTables, skipStar) => {
665
- const { data: resp } = await quillFetchWithToken({
666
- client,
667
- task: 'astify',
668
- metadata: {
669
- query: sqlQuery,
670
- clientId: client.clientId,
671
- useNewNodeSql: true,
672
- },
673
- });
674
- if (resp.success === false) {
675
- return (0, astProcessing_1.getTablesHelper)((0, astProcessing_1.getSelectFromAST)({}), dbTables, skipStar);
676
- }
677
- return (0, astProcessing_1.getTablesHelper)((0, astProcessing_1.getSelectFromAST)(resp.ast), dbTables, skipStar);
678
- };
679
- const getCurrentSection = () => dashboardConfig[destinationDashboard]?.config.sectionOrder?.find((section) => section.reportOrder?.includes(report?.id ?? ''))?.section ?? '';
680
- const formFormDataFromReport = (report, section) => {
681
- let pivotData = {};
682
- let dateField = defaultDateField;
683
- if (report?.pivot && report.pivot.rowField && !report.yAxisFields?.length) {
684
- pivotData = pivotFormData(report.pivot, report.chartType);
685
- }
686
- if (report) {
687
- dateField = report.dateField || defaultDateField;
688
- }
689
- const chartBuilderData = {
690
- ...formEmptyState,
691
- ...report,
692
- ...pivotData,
693
- dateField: dateField,
694
- referenceLines: report?.referenceLines
695
- ? report.referenceLines?.map(({ label, query }) => {
696
- if (typeof query === 'string') {
697
- return { label, y1: undefined, y2: undefined };
698
- }
699
- return {
700
- label,
701
- y1: query[0],
702
- y2: query[1],
703
- };
704
- })
705
- : [],
706
- section,
707
- };
708
- const chartType = report?.chartType ?? formEmptyState.chartType;
709
- const chartTypeOptions = getChartTypeOptions(chartBuilderData, dashboardConfig[report?.dashboardName || destinationDashboard || '']);
710
- if (!chartTypeOptions.find((option) => option.value === chartType)) {
711
- chartBuilderData.chartType = chartTypeOptions[0]?.value ?? 'table';
712
- }
713
- return chartBuilderData;
714
- };
715
- const [formData, setFormData] = (0, react_1.useState)(formFormDataFromReport(report, destinationSection ?? getCurrentSection()));
716
- const reportCustomFields = (0, react_1.useMemo)(() => {
717
- return (report?.columnsWithCustomFields?.filter((col) => !report?.columns?.some((c) => col.field === c.field)) ?? []);
718
- }, [report?.columnsWithCustomFields, report?.columns]);
719
- const referenceLineQueryResults = (0, react_1.useMemo)(() => {
720
- return formData?.referenceLines?.map((line) => {
721
- if (line.label === constants_1.REFERENCE_LINE) {
722
- return [Number(line.y1) || 0, Number(line.y2) || 0];
723
- }
724
- // line.label is a field
725
- // Get the first and last row of the field
726
- const field = formData.columns.find((col) => col.field === line.label);
727
- if (!field) {
728
- return [0, 0];
729
- }
730
- // return [Number(rows[0]?.[field.field]) || 0, Number(rows[rows.length - 1]?.[field.field]) || 0];
731
- return (pivotData?.rows ? pivotData.rows : rows).map((row) => Number(row[field.field]) || 0);
732
- });
733
- }, [formData?.referenceLines]);
734
- const currentDashboard = (0, react_1.useMemo)(() => {
735
- return dashboardConfig[formData.dashboardName ?? report?.dashboardName ?? '']?.config;
736
- }, [dashboardConfig, formData.dashboardName, report?.dashboardName]);
737
- const currentDashboardTenants = (0, react_1.useMemo)(() => {
738
- return (currentDashboard?.tenantKeys?.map((tenantKey) => client?.allTenantTypes?.find((t) => t.tenantField === tenantKey)) ?? []);
739
- }, [client?.allTenantTypes, currentDashboard?.tenantKeys]);
740
- const dashboardOwner = currentDashboardTenants?.[0];
741
- const currentTenantAsFormFlags = (0, react_1.useMemo)(() => {
742
- if (!tenants || !tenants.length) {
743
- return undefined;
744
- }
745
- const tenantField = typeof tenants[0] !== 'object'
746
- ? dashboardOwner?.name
747
- : tenants[0]?.tenantField;
748
- if (!tenantField) {
749
- return undefined;
750
- }
751
- const tenantIds = typeof tenants[0] !== 'object' ? tenants : tenants[0]?.tenantIds;
752
- return { [tenantField]: tenantIds };
753
- }, [tenants, dashboardOwner]);
754
- const invalidColumns = (0, react_1.useMemo)(() => {
755
- if (!rows || !rows.length) {
756
- return [];
757
- }
758
- if (report?.pivot || pivotData) {
759
- return [];
760
- }
761
- const columnsObservedInRows = rows[0] ? Object.keys(rows[0]) : [];
762
- return columns.filter((col) => !columnsObservedInRows.includes(col.field));
763
- }, [rows]);
764
- const [chartTypes, setChartTypes] = (0, react_1.useState)((() => {
765
- const data = formFormDataFromReport(report, destinationSection ?? getCurrentSection());
766
- return getChartTypeOptions(data, dashboardConfig[data.dashboardName || '']);
767
- })());
768
- const reportContainsCustomFields = (0, react_1.useMemo)(() => {
769
- // Check whether report query contains custom fields
770
- const customFieldsMap = schemaData.customFields;
771
- const reportQueryContainsCustomFields = allTables.some((table) => {
772
- const tableColumns = referencedColumnsWithoutStar[table] ?? [];
773
- const customFieldColumns = customFieldsMap?.[table] ?? [];
774
- return tableColumns.some((column) => customFieldColumns.some((field) => field.field === column));
775
- });
776
- return reportQueryContainsCustomFields;
777
- }, [allTables, referencedColumnsWithoutStar]);
778
- const chartBuilderFormDataContainsCustomFields = (0, react_1.useMemo)(() => {
779
- const customFields = allTables
780
- .map((table) => schemaData.customFields?.[table] ?? [])
781
- .flat();
782
- const customFieldsMap = schemaData.customFields;
783
- const pivotContainsCustomFields = customFields.some((field) => field.field === formData.pivot?.columnField ||
784
- field.field === formData.pivot?.rowField ||
785
- field.field === formData.pivot?.valueField);
786
- const xAxisFieldContainsCustomFields = customFields.some((field) => field.field === formData.xAxisField);
787
- const yAxisFieldsContainsCustomFields = formData.yAxisFields.some((yAxisField) => {
788
- return customFields.some((field) => field.field === yAxisField.field);
789
- });
790
- const dateFieldContainsCustomFields = customFields.some((field) => field.field === formData.dateField?.field);
791
- const canonicalFilterMapContainsCustomFields = Object.values(canonicalFilterMap).some((filter) => {
792
- return customFieldsMap?.[filter.table || '']?.some((field) => field.field === filter.field);
793
- });
794
- return (pivotContainsCustomFields ||
795
- xAxisFieldContainsCustomFields ||
796
- yAxisFieldsContainsCustomFields ||
797
- dateFieldContainsCustomFields ||
798
- canonicalFilterMapContainsCustomFields);
799
- }, [
800
- allTables,
801
- formData.pivot,
802
- formData.xAxisField,
803
- formData.yAxisFields,
804
- formData.dateField,
805
- canonicalFilterMap,
806
- ]);
807
- const customFieldsInTabularColumns = (0, react_1.useMemo)(() => {
808
- const customFields = allTables
809
- .map((table) => schemaData.customFields?.[table] ?? [])
810
- .flat();
811
- return formData.columns.some((col) => {
812
- return customFields.some((field) => field.field === col.field);
813
- });
814
- }, [allTables, formData.columns]);
815
- const containsCustomFields = (0, react_1.useMemo)(() => {
816
- return (reportContainsCustomFields ||
817
- customFieldsInTabularColumns ||
818
- chartBuilderFormDataContainsCustomFields);
819
- }, [
820
- reportContainsCustomFields,
821
- customFieldsInTabularColumns,
822
- chartBuilderFormDataContainsCustomFields,
823
- ]);
824
- (0, react_1.useEffect)(() => {
825
- if (!loadingFormData && triggeredEditChart) {
826
- editChart();
827
- }
828
- }, [loadingFormData]);
829
- (0, react_1.useEffect)(() => {
830
- async function getFormData() {
831
- if (!client) {
832
- return;
833
- }
834
- setLoadingFormData(true);
835
- const curFormData = formData;
836
- let dashNames = Object.keys(dashboardConfig);
837
- if (dashNames.length === 0) {
838
- const { data: resp } = await quillFetchWithToken({
839
- client,
840
- task: 'dashnames',
841
- metadata: {
842
- clientId: client.clientId,
843
- },
844
- });
845
- dashNames = resp.dashboardNames;
846
- }
847
- let dashboardOptions = dashNames
848
- .filter((elem) => elem !== null)
849
- .map((key) => ({ label: key, value: key }));
850
- if (!dashboardOptions.length) {
851
- dashboardOptions = [
852
- { label: 'New - Dashboard', value: 'New - Dashboard' },
853
- ];
854
- }
855
- if (destinationDashboardName) {
856
- dashboardOptions = [
857
- { label: destinationDashboardName, value: destinationDashboardName },
858
- ];
859
- }
860
- let dashboardName = report?.dashboardName ?? dashboardOptions[0]?.label ?? '';
861
- if (destinationDashboardName) {
862
- dashboardName = destinationDashboardName;
863
- }
864
- const curDashboard = await updateDashboardFilters(dashboardName);
865
- setDashboardOptions(dashboardOptions);
866
- curFormData.dashboardName = dashboardName;
867
- const curSchemaData = schemaData.schemaWithCustomFields;
868
- if (!query) {
869
- setLoadingFormData(false);
870
- return;
871
- }
872
- const result = await getReferencedTables(client, query, curSchemaData);
873
- const referencedTablesWithoutStar = await getReferencedTables(client, query, curSchemaData, true);
874
- setDateFieldOptions(result.dateFields);
875
- if (result.dateFields[0] && result.dateFields[0].columns[0]) {
876
- setDefaultDateField({
877
- table: result.dateFields[0].name,
878
- field: result.dateFields[0].columns[0].field,
879
- });
880
- }
881
- // check if the referenced table is a table with custom field info.. If so block template settings
882
- const tableNames = result.referencedTablesAndColumns.map((table) => table.name);
883
- setAllTables(tableNames);
884
- let customFieldUsage = false;
885
- for (const table of tableNames) {
886
- const tableInfo = curSchemaData.find((elem) => elem.name === table);
887
- if (tableInfo?.customFieldInfo) {
888
- customFieldUsage = true;
889
- break;
890
- }
891
- }
892
- setCustomFieldTableRef(customFieldUsage);
893
- const referencedColumns = result.referencedTablesAndColumns.reduce((acc, table) => {
894
- acc[table.name] = table.columns.map((col) => col.field);
895
- return acc;
896
- }, {});
897
- const referencedColumnsWithoutStar = referencedTablesWithoutStar.referencedTablesAndColumns.reduce((acc, table) => {
898
- acc[table.name] = table.columns.map((col) => col.field);
899
- return acc;
900
- }, {});
901
- setReferencedColumnsWithoutStar(referencedColumnsWithoutStar);
902
- setReferencedColumns(referencedColumns);
903
- setTableName(result.dateFields[0]?.name);
904
- const dateField = {
905
- table: result.dateFields[0]?.name || '',
906
- field: dateColumn || result.dateFields[0]?.columns[0]?.field || '',
907
- };
908
- let isTemplate = curFormData.template;
909
- if (customFieldUsage) {
910
- isTemplate = false;
911
- }
912
- curFormData.dashboardName =
913
- report && report.dashboardName
914
- ? report?.dashboardName
915
- : dashboardOptions[0]?.label;
916
- curFormData.template = isTemplate;
917
- if (!curFormData.dateField) {
918
- curFormData.dateField = { field: '', table: '' };
919
- }
920
- if (!curFormData.dateField.field || !curFormData.dateField.table) {
921
- if (dateField && dateField.field) {
922
- curFormData.dateField = dateField;
923
- }
924
- }
925
- setFormData(curFormData);
926
- validationHelper(curFormData, curDashboard, curFormData.dateField ?? dateField, tableNames);
927
- setLoadingFormData(false);
928
- }
929
- getFormData();
930
- }, []);
931
- const ranMountQuery = (0, react_1.useRef)(false);
932
- (0, react_1.useEffect)(() => {
933
- if (runQueryOnMount &&
934
- reportFiltersLoaded &&
935
- filtersEnabled &&
936
- !ranMountQuery.current) {
937
- ranMountQuery.current = true;
938
- handleRunQuery(baseProcessing, currentDashboardFilters);
939
- }
940
- }, [runQueryOnMount, reportFiltersLoaded, filtersEnabled]);
941
- const allTenantMap = (0, react_1.useMemo)(() => {
942
- return (client?.allTenantTypes?.reduce((acc, tenantType) => {
943
- if (tenantType.scope === 'database') {
944
- acc[tenantType.tenantField] =
945
- tenantType.flags?.map((t) => ({
946
- label: t.toString(),
947
- value: t.toString(),
948
- })) ?? [];
949
- }
950
- else {
951
- acc[tenantType.tenantField] =
952
- tenantType.tenantIds?.map((t) => ({
953
- label: t.label.toString(),
954
- value: t.flag.toString(),
955
- })) ?? [];
956
- }
957
- return acc;
958
- }, {}) ?? {});
959
- }, [client?.allTenantTypes]);
960
- const [selectedPivotTable, setSelectedPivotTable] = (0, react_1.useState)(pivotData);
961
- const pivotCardTable = (0, react_1.useMemo)(() => {
962
- return {
963
- pivot: formData.pivot,
964
- rows: selectedPivotTable?.rows ?? [],
965
- columns: selectedPivotTable?.columns ?? [],
966
- };
967
- }, [selectedPivotTable, formData.pivot]);
968
- const chartData = (0, react_1.useMemo)(() => {
969
- const data = createReportFromForm(formData, report ? { ...report, rowCount } : tempReport, eventTracking, selectedPivotTable, rows, currentDashboardFilters, referenceLineQueryResults);
970
- return {
971
- ...data,
972
- filterMap: canonicalFilterMap,
973
- };
974
- }, [
975
- formData,
976
- selectedPivotTable,
977
- report,
978
- rows,
979
- rowCount,
980
- currentDashboardFilters,
981
- ]);
982
- const xAxisFormatOptions = (0, react_1.useMemo)(() => {
983
- return chartData?.chartType === 'gauge'
984
- ? [
985
- { value: 'whole_number', label: 'whole number' },
986
- { value: 'two_decimal_places', label: 'two decimal places' },
987
- { value: 'percent', label: 'percentage' },
988
- ]
989
- : ALL_FORMAT_OPTIONS;
990
- }, [chartData?.chartType]);
991
- const fetchPivotData = async (pivot, tableInfo, uniqueValues, overrideFilters) => {
992
- const dashboardFilters = filtersEnabled
993
- ? (overrideFilters ?? currentDashboardFilters)
994
- : undefined;
995
- if (pivot) {
996
- let dateBucket = undefined;
997
- let dateFilter = undefined;
998
- if (filtersEnabled) {
999
- dateFilter = dashboardFilters?.find((f) => f.filterType === 'date_range');
1000
- dateBucket =
1001
- dateFilter?.startDate && dateFilter?.endDate
1002
- ? (0, dates_1.getDateBucketFromRange)({
1003
- start: dateFilter?.startDate,
1004
- end: dateFilter?.endDate,
1005
- })
1006
- : undefined;
1007
- }
1008
- try {
1009
- const pivotTable = await (0, PivotModal_1.generatePivotTable)({
1010
- pivot,
1011
- dateBucket,
1012
- dateFilter,
1013
- report: report
1014
- ? { ...report, ...(tableInfo ?? { itemQuery }) }
1015
- : undefined,
1016
- client,
1017
- uniqueValues,
1018
- dashboardName: destinationDashboardName,
1019
- tenants,
1020
- additionalProcessing: baseProcessing,
1021
- getToken,
1022
- eventTracking,
1023
- });
1024
- setSelectedPivotTable(pivotTable);
1025
- return pivotTable;
1026
- }
1027
- catch (e) {
1028
- console.log('error', e);
1029
- eventTracking?.logError?.({
1030
- type: 'bug', // TODO: determine type
1031
- severity: 'high',
1032
- message: 'Error fetching pivot',
1033
- errorMessage: e.message,
1034
- errorStack: e.stack,
1035
- errorData: {
1036
- caller: 'ChartBuilder',
1037
- function: 'fetchPivotData',
1038
- },
1039
- });
1040
- if (e instanceof Error) {
1041
- setPivotError(e.message);
1042
- }
1043
- }
1044
- }
1045
- else {
1046
- setSelectedPivotTable(undefined);
1047
- }
1048
- };
1049
- const formattedRows = (0, react_1.useMemo)(() => {
1050
- if (selectedPivotTable &&
1051
- selectedPivotTable.columns &&
1052
- formData.chartType === 'table') {
1053
- const columns = selectedPivotTable.columns;
1054
- columns.forEach((col, index) => {
1055
- // ADD THE RIGHT FIELD TYPE FOR THE VALUE COLUMNS
1056
- if (['min', 'max'].includes(formData.pivot?.aggregations?.[0]?.aggregationType ?? '') &&
1057
- index !== 0) {
1058
- col.format = 'two_decimal_places';
1059
- }
1060
- });
1061
- return selectedPivotTable.rows.map((row) => {
1062
- return columns.reduce((formattedRow, column) => {
1063
- // Apply the format function to each field in the row
1064
- const formattedValue = (0, valueFormatter_1.quillFormat)({
1065
- value: row[column.field],
1066
- format: column.format,
1067
- });
1068
- formattedRow[column.field] = formattedValue;
1069
- return formattedRow;
1070
- }, {});
1071
- });
1072
- }
1073
- else {
1074
- if (!rows)
1075
- return [];
1076
- return rows.map((row) => {
1077
- const columns = formData.includeCustomFields && !containsCustomFields
1078
- ? formData.columns.concat(reportCustomFields)
1079
- : formData.columns;
1080
- return columns.reduce((formattedRow, column) => {
1081
- // Apply the format function to each field in the row
1082
- const formattedValue = column.inferFormat
1083
- ? (0, valueFormatter_1.quillAutoFormat)(row[column.field])
1084
- : (0, valueFormatter_1.quillFormat)({
1085
- value: row[column.field],
1086
- format: column.format,
1087
- });
1088
- formattedRow[column.field] = formattedValue;
1089
- return formattedRow;
1090
- }, {});
1091
- });
1092
- }
1093
- }, [
1094
- selectedPivotTable,
1095
- formData.columns,
1096
- formData.chartType,
1097
- rows,
1098
- formData.pivot,
1099
- ]);
1100
- const fetchRowCount = async (processing, overrideFilters) => {
1101
- if (!client || !query) {
1102
- return;
1103
- }
1104
- setRowCountIsLoading(true);
1105
- const tableInfo = await (0, tableProcessing_1.fetchResultsByQuery)({
1106
- query,
1107
- client,
1108
- getToken,
1109
- eventTracking,
1110
- tenants,
1111
- processing,
1112
- customFields: schemaData.customFields,
1113
- filters: filtersEnabled ? overrideFilters : undefined,
1114
- dateField: filtersEnabled
1115
- ? (report?.dateField ?? formData.dateField)
1116
- : undefined,
1117
- rowsOnly: false,
1118
- rowCountOnly: true,
1119
- filterMap: canonicalFilterMap,
1120
- dashboardName: destinationDashboardName,
1121
- });
1122
- if (tableInfo.rowCount !== undefined) {
1123
- setRowCount(tableInfo.rowCount);
1124
- }
1125
- setRowCountIsLoading(false);
1126
- };
1127
- const onDashboardFilterChange = (label, value) => {
1128
- const updatedFilters = currentDashboardFilters.map((filter) => {
1129
- if (filter.label === label) {
1130
- return {
1131
- ...filter,
1132
- ...value,
1133
- };
1134
- }
1135
- return filter;
1136
- });
1137
- loadFiltersForReport(report?.id ?? Report_1.TEMP_REPORT_ID, 'ChartBuilder', updatedFilters, label, undefined, report?.dashboardName).then(() => {
1138
- setCurrentPage(0);
1139
- setMaxPage(0);
1140
- handleRunQuery(baseProcessing, updatedFilters);
1141
- });
1142
- };
1143
- const filtersEnabledRef = (0, react_1.useRef)(filtersEnabled);
1144
- (0, react_1.useEffect)(() => {
1145
- // Previous strategy of using mounted.current was not working in StrictMode
1146
- if (filtersEnabledRef.current !== filtersEnabled) {
1147
- filtersEnabledRef.current = filtersEnabled;
1148
- setCurrentPage(0);
1149
- setMaxPage(0);
1150
- handleRunQuery(baseProcessing, currentDashboardFilters);
1151
- }
1152
- }, [filtersEnabled]);
1153
- const handleRunQuery = async (processing, overrideFilters) => {
1154
- if (!client || !query) {
1155
- return;
1156
- }
1157
- try {
1158
- setIsLoading(true);
1159
- const tableInfo = await (0, tableProcessing_1.fetchResultsByQuery)({
1160
- query,
1161
- client,
1162
- tenants,
1163
- processing,
1164
- customFields: schemaData.customFields,
1165
- filters: filtersEnabled ? overrideFilters : undefined,
1166
- dateField: filtersEnabled
1167
- ? (report?.dateField ?? formData.dateField)
1168
- : undefined,
1169
- rowsOnly: true,
1170
- rowCountOnly: false,
1171
- filterMap: canonicalFilterMap,
1172
- dashboardName: destinationDashboardName,
1173
- getToken,
1174
- eventTracking,
1175
- });
1176
- setCurrentProcessing(processing);
1177
- setRows(tableInfo.rows);
1178
- setProcessedColumns(processColumns(tableInfo.columns));
1179
- setItemQuery(tableInfo.itemQuery);
1180
- fetchRowCount(processing, overrideFilters);
1181
- if (formData.pivot) {
1182
- try {
1183
- const uniqueValues = await (0, tableProcessing_1.getUniqueValuesByQuery)({
1184
- columns: tableInfo.columns.filter((column) => column.field === formData.pivot?.columnField),
1185
- query: report.queryString,
1186
- client,
1187
- getToken,
1188
- tenants,
1189
- customFields: schemaData.customFields ?? {},
1190
- filters: overrideFilters,
1191
- dashboardName: destinationDashboardName ?? '',
1192
- eventTracking,
1193
- });
1194
- fetchPivotData(formData.pivot, tableInfo, uniqueValues ?? {}, overrideFilters);
1195
- }
1196
- catch (e) {
1197
- console.log('error fetching pivot', e);
1198
- eventTracking?.logError?.({
1199
- type: 'bug', // TODO: determine type
1200
- severity: 'high',
1201
- message: 'Error running query with pivot',
1202
- errorMessage: e.message,
1203
- errorStack: e.stack,
1204
- errorData: {
1205
- caller: 'ChartBuilder',
1206
- function: 'handleRunQuery',
1207
- },
1208
- });
1209
- setPivotError(e.message);
1210
- }
1211
- }
1212
- setTimeout(() => {
1213
- setIsLoading(false);
1214
- }, 1000); // timeout to avoid a flash
1215
- }
1216
- catch (e) {
1217
- eventTracking?.logError?.({
1218
- type: 'bug', // TODO: determine type
1219
- severity: 'high',
1220
- message: 'Error running query',
1221
- errorMessage: e.message,
1222
- errorStack: e.stack,
1223
- errorData: {
1224
- caller: 'ChartBuilder',
1225
- function: 'handleRunQuery',
1226
- },
1227
- });
1228
- console.log(e);
1229
- }
1230
- };
1231
- const onPageChange = (page, isPivotTable) => {
1232
- // only fetch if report is valid, else use query task
1233
- if (currentProcessing.page &&
1234
- (0, paginationProcessing_1.shouldFetchMore)(currentProcessing.page, page, maxPage)) {
1235
- const newPagination = {
1236
- ...currentProcessing.page,
1237
- page,
1238
- };
1239
- const updatedProcessing = {
1240
- ...currentProcessing,
1241
- page: newPagination,
1242
- };
1243
- setCurrentProcessing(updatedProcessing);
1244
- updateTableRows(updatedProcessing, false, isPivotTable);
1245
- }
1246
- if (page > maxPage) {
1247
- setMaxPage(page);
1248
- }
1249
- };
1250
- const onSortChange = (sort, isPivotTable) => {
1251
- // if (shouldSortInMemory(baseProcessing.page, rowCount)) {
1252
- // return;
1253
- // }
1254
- const updatedProcessing = { ...baseProcessing, sort };
1255
- updateTableRows(updatedProcessing, true, isPivotTable);
1256
- setCurrentProcessing(updatedProcessing);
1257
- setCurrentPage(0);
1258
- setMaxPage(0);
1259
- };
1260
- const updateTableRows = async (processing, resetRows = false, isPivotTable = false) => {
1261
- if (!client) {
1262
- return;
1263
- }
1264
- if (!isLoading && report && query) {
1265
- setIsLoading(true);
1266
- try {
1267
- const updatedProcessing = { ...currentProcessing, ...processing };
1268
- const paginatedRows = await (0, tableProcessing_1.fetchResultsByQuery)({
1269
- query: isPivotTable && report.pivotQuery ? report.pivotQuery : query,
1270
- comparisonQuery: isPivotTable && report.comparisonPivotQuery
1271
- ? report.comparisonPivotQuery
1272
- : undefined,
1273
- client,
1274
- getToken,
1275
- tenants,
1276
- processing: updatedProcessing,
1277
- customFields: schemaData.customFields,
1278
- filters: filtersEnabled ? currentDashboardFilters : undefined,
1279
- dateField: filtersEnabled
1280
- ? (report?.dateField ?? formData.dateField)
1281
- : undefined,
1282
- rowsOnly: false,
1283
- rowCountOnly: false,
1284
- filterMap: canonicalFilterMap,
1285
- dashboardName: destinationDashboardName,
1286
- pivot: isPivotTable ? report.pivot : undefined,
1287
- getPivotRowCount: false,
1288
- eventTracking,
1289
- });
1290
- if (paginatedRows.error) {
1291
- throw new Error('Error fetching chart');
1292
- }
1293
- const prevRows = isPivotTable && selectedPivotTable ? selectedPivotTable.rows : rows;
1294
- let updatedRows = [...prevRows, ...paginatedRows.rows];
1295
- if (resetRows) {
1296
- updatedRows = paginatedRows.rows;
1297
- }
1298
- if (isPivotTable && selectedPivotTable) {
1299
- setSelectedPivotTable({ ...selectedPivotTable, rows: updatedRows });
1300
- }
1301
- else {
1302
- setRows(updatedRows);
1303
- }
1304
- setCurrentProcessing(updatedProcessing);
1305
- }
1306
- catch (e) {
1307
- console.log(e);
1308
- eventTracking?.logError?.({
1309
- type: 'bug', // TODO: determine type
1310
- severity: 'high',
1311
- message: 'Error updating table rows',
1312
- errorMessage: e.message,
1313
- errorStack: e.stack,
1314
- errorData: {
1315
- caller: 'ChartBuilder',
1316
- function: 'updateTableRows',
1317
- },
1318
- });
1319
- }
1320
- finally {
1321
- setTimeout(() => {
1322
- setIsLoading(false);
1323
- }, 500);
1324
- }
1325
- }
1326
- };
1327
- const handleChange = async (value, fieldName, index) => {
1328
- let updatedForm = { ...formData };
1329
- try {
1330
- if (index !== undefined) {
1331
- // For dynamic array fields
1332
- const [field, subfield] = fieldName.split('.');
1333
- if (field === 'pivot' && !!subfield) {
1334
- if (!selectedPivotTable) {
1335
- return;
1336
- }
1337
- let newLabel = undefined;
1338
- if (subfield === 'field') {
1339
- newLabel = (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(value);
1340
- }
1341
- const newColumns = selectedPivotTable.columns.map((col, i) => i === index
1342
- ? {
1343
- ...col,
1344
- label: newLabel ? newLabel : col.label,
1345
- [subfield]: value,
1346
- }
1347
- : col);
1348
- setSelectedPivotTable({
1349
- ...selectedPivotTable,
1350
- columns: newColumns,
1351
- });
1352
- }
1353
- else {
1354
- let newLabel = undefined;
1355
- if (field === 'columns' && subfield === 'field') {
1356
- if (!formData['columns'][index]?.label) {
1357
- newLabel = (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(value);
1358
- }
1359
- }
1360
- // @ts-ignore
1361
- const updatedArray = formData[field].map((item, i) => i === index
1362
- ? {
1363
- ...item,
1364
- label: newLabel ? newLabel : item.label,
1365
- [subfield]: value,
1366
- }
1367
- : item);
1368
- updatedForm = { ...formData, [field]: updatedArray };
1369
- setFormData(updatedForm);
1370
- setChartTypes(getChartTypeOptions(updatedForm, dashboardConfig[updatedForm.dashboardName ?? '']));
1371
- }
1372
- }
1373
- else if (fieldName.includes('.')) {
1374
- // For nested fields
1375
- const [field, subfield] = fieldName.split('.');
1376
- if (field === 'dateField' &&
1377
- subfield === 'table' &&
1378
- !formData.dateField?.field) {
1379
- const field = schemaData.schemaWithCustomFields?.find((elem) => elem.name === value)?.columns?.[0]?.field;
1380
- updatedForm.dateField = {
1381
- // @ts-ignore
1382
- ...updatedForm[field],
1383
- [subfield]: value,
1384
- field: field,
1385
- };
1386
- }
1387
- updatedForm = {
1388
- ...updatedForm,
1389
- // @ts-ignore
1390
- [field]: { ...updatedForm[field], [subfield]: value },
1391
- };
1392
- }
1393
- else {
1394
- // For simple fields
1395
- updatedForm = { ...updatedForm, [fieldName]: value };
1396
- }
1397
- if (fieldName === 'chartType') {
1398
- if (value === 'metric') {
1399
- updatedForm.xAxisFormat = 'whole_number';
1400
- const currentXAxisColumn = (selectedPivotTable?.columns ?? columns).find((c) => c.field === updatedForm.xAxisField);
1401
- if (!valueFormatter_1.NUMBER_FORMAT_TYPES.includes(currentXAxisColumn?.format ?? '')) {
1402
- updatedForm.xAxisField =
1403
- (selectedPivotTable?.columns ?? columns).find((c) => valueFormatter_1.NUMBER_FORMAT_TYPES.includes(c.format))?.field ?? updatedForm.xAxisField;
1404
- }
1405
- }
1406
- else if (value === 'gauge') {
1407
- updatedForm.xAxisFormat = 'percent';
1408
- const currentXAxisColumn = (selectedPivotTable?.columns ?? columns).find((c) => c.field === updatedForm.xAxisField);
1409
- if (!valueFormatter_1.NUMBER_FORMAT_TYPES.includes(currentXAxisColumn?.format ?? '')) {
1410
- updatedForm.xAxisField =
1411
- (selectedPivotTable?.columns ?? columns).find((c) => valueFormatter_1.NUMBER_FORMAT_TYPES.includes(c.format))?.field ?? updatedForm.xAxisField;
1412
- }
1413
- }
1414
- }
1415
- let dashboardName = updatedForm.dashboardName;
1416
- if (fieldName === 'dashboardName') {
1417
- dashboardName = value;
1418
- }
1419
- validationHelper(updatedForm, dashboardConfig[dashboardName || '']);
1420
- setChartTypes(getChartTypeOptions(updatedForm, dashboardConfig[dashboardName || '']));
1421
- }
1422
- catch (e) {
1423
- updatedForm = { ...updatedForm, [fieldName]: value };
1424
- eventTracking?.logError?.({
1425
- type: 'bug', // TODO: determine type
1426
- severity: 'high',
1427
- message: 'Error changing form',
1428
- errorMessage: e.message,
1429
- errorStack: e.stack,
1430
- errorData: {
1431
- caller: 'ChartBuilder',
1432
- function: 'handleChange',
1433
- },
1434
- });
1435
- }
1436
- setFormData(updatedForm);
1437
- };
1438
- const handleAddPivot = async (pivot, uniqueValues, pivotData) => {
1439
- const newPivotFormData = pivotFormData(pivot);
1440
- // Only keep the old chart type if the shapes of the pivots are the same
1441
- // since the valid chart types for some pivots might have changed (eg. going
1442
- // from a 1D pivot to a 2D pivot would make bar lists not an option).
1443
- // They don't have to have the same value, just same 'truthiness'.
1444
- const isPivotSameShape = Boolean(formData.pivot?.rowField) === Boolean(pivot.rowField) &&
1445
- Boolean(formData.pivot?.columnField) === Boolean(pivot.columnField);
1446
- const isNewChartType = formData.chartType !== newPivotFormData.chartType;
1447
- const keepOldChartType = isNewChartType && isPivotSameShape;
1448
- if (pivotData) {
1449
- setSelectedPivotTable({
1450
- rows: pivotData.rows,
1451
- columns: pivotData.columns,
1452
- rowCount: pivotData.rowCount,
1453
- pivotQuery: pivotData.pivotQuery,
1454
- comparisonPivotQuery: pivotData.comparisonPivotQuery,
1455
- });
1456
- }
1457
- else {
1458
- pivotData = await fetchPivotData(pivot, undefined, uniqueValues);
1459
- }
1460
- // NOTE: we are setting the date field to the rowField if it is a date
1461
- // This method is *potentially* flawed because it chooses the first matching field it finds
1462
- // which may not be robust to joins, aliases, disambiguations, etc.
1463
- // unfortunately the pivot doesn't store the table of the rowField so we can't do better
1464
- const dateField = pivot.rowField && (0, PivotModal_1.isDateField)(pivot.rowFieldType ?? '')
1465
- ? dateFieldOptions.find((table) => {
1466
- return table.columns.find((col) => col.field === pivot.rowField);
1467
- })
1468
- : undefined;
1469
- setFormData((formData) => ({
1470
- ...formData,
1471
- ...newPivotFormData,
1472
- ...(keepOldChartType && { chartType: formData.chartType }),
1473
- dateField: dateField
1474
- ? { table: dateField.name, field: pivot.rowField }
1475
- : formData.dateField,
1476
- }));
1477
- setChartTypes(getChartTypeOptions({ ...formData, ...newPivotFormData }, dashboardConfig[formData.dashboardName || '']));
1478
- // maybe validate
1479
- };
1480
- const handleDeletePivot = () => {
1481
- if (!formData.pivot) {
1482
- return;
1483
- }
1484
- setFormData({
1485
- ...formEmptyState,
1486
- ...formData,
1487
- dashboardName: formData.dashboardName,
1488
- pivot: null,
1489
- chartType: formEmptyState.chartType,
1490
- xAxisField: formEmptyState.xAxisField,
1491
- xAxisFormat: formEmptyState.xAxisFormat,
1492
- xAxisLabel: formEmptyState.xAxisLabel,
1493
- yAxisFields: formEmptyState.yAxisFields,
1494
- });
1495
- // maybe validate
1496
- setSelectedPivotTable(undefined);
1497
- setChartTypes(getChartTypeOptions({ ...formEmptyState, pivot: null }, dashboardConfig[formData.dashboardName || '']));
1498
- };
1499
- const handleAddField = (fieldName) => {
1500
- if (fieldName === 'columns') {
1501
- setFormData({
1502
- ...formData,
1503
- columns: [
1504
- ...formData.columns,
1505
- { label: '', field: '', format: 'string' },
1506
- ],
1507
- });
1508
- }
1509
- else if (fieldName === 'yAxisFields') {
1510
- setFormData({
1511
- ...formData,
1512
- yAxisFields: [
1513
- ...formData.yAxisFields,
1514
- { label: '', field: '', format: 'string' },
1515
- ],
1516
- });
1517
- }
1518
- else if (fieldName === 'pivot') {
1519
- setFormData({
1520
- ...formData,
1521
- pivot: {
1522
- title: '',
1523
- rowField: '',
1524
- rowFieldType: '',
1525
- columnField: '',
1526
- columnFieldType: '',
1527
- valueField: '',
1528
- aggregationType: 'sum',
1529
- },
1530
- });
1531
- }
1532
- else if (fieldName === 'referenceLines') {
1533
- setFormData({
1534
- ...formData,
1535
- referenceLines: [
1536
- ...formData.referenceLines,
1537
- { label: '', y1: undefined, y2: undefined },
1538
- ],
1539
- });
1540
- }
1541
- };
1542
- const handleRemoveField = (fieldName, index) => {
1543
- if (fieldName === 'pivot') {
1544
- setFormData({
1545
- ...formData,
1546
- pivot: null,
1547
- });
1548
- return;
1549
- }
1550
- // @ts-ignore
1551
- const updatedArray = formData[fieldName].filter((_, i) => i !== index);
1552
- setFormData({ ...formData, [fieldName]: updatedArray });
1553
- };
1554
- const handleSubmit = (event) => {
1555
- event.preventDefault();
1556
- };
1557
- const deleteChart = async () => {
1558
- if (onDelete && onDelete()) {
1559
- setIsOpen(false);
1560
- setIsSubmitting(false);
1561
- }
1562
- };
1563
- const editChart = async () => {
1564
- if (!client) {
1565
- return;
1566
- }
1567
- if (isSubmitting) {
1568
- setTriggeredEditChart(false);
1569
- return;
1570
- }
1571
- setIsSubmitting(true);
1572
- if (!client) {
1573
- setTriggeredEditChart(false);
1574
- return;
1575
- }
1576
- // If the dashboardItem is a template but the editor isn't an admin, create a new dashboardItem and set the template to false
1577
- let dashboardItemId = reportId ? reportId : undefined;
1578
- if (report && !isAdmin && formData.template) {
1579
- dashboardItemId = undefined;
1580
- }
1581
- const newReport = {
1582
- ...formData,
1583
- yAxisFields: formData.yAxisFields.slice(0, formData.chartType === 'pie' ? 1 : formData.yAxisFields.length),
1584
- filterMap,
1585
- columns: formData.columns.filter((col) => !invalidColumns.includes(col)),
1586
- ...(formData.dateField?.table
1587
- ? {}
1588
- : { dateField: { ...defaultDateField } }),
1589
- dashboardName: destinationDashboardName,
1590
- query: report?.queryString ?? '',
1591
- pivot: formData.pivot,
1592
- referencedTables: allTables,
1593
- referencedColumns,
1594
- includeCustomFields: includeCustomFields || containsCustomFields,
1595
- template: tenants
1596
- ? undefined
1597
- : report && !isAdmin && formData.template
1598
- ? false
1599
- : formData.template,
1600
- reportFlags: containsCustomFields
1601
- ? currentTenantAsFormFlags
1602
- : formFlags
1603
- ? Object.fromEntries(Object.entries(formFlags)
1604
- .filter(([, value]) => value.length > 0)
1605
- .map(([key, value]) => {
1606
- return [
1607
- key,
1608
- Object.keys(allTenantMap).length > 1 &&
1609
- allTenantMap[key]?.length === value.length
1610
- ? constants_1.ALL_TENANTS
1611
- : value,
1612
- ];
1613
- }))
1614
- : undefined,
1615
- referenceLines: formData.referenceLines.map((line) => {
1616
- return {
1617
- label: line.label,
1618
- query: line.label === constants_1.REFERENCE_LINE
1619
- ? [Number(line.y1 ?? 0) || 0, Number(line.y2 ?? 0) || 0]
1620
- : '',
1621
- };
1622
- }),
1623
- };
1624
- const resp = await (0, report_1.saveReport)({
1625
- report: { ...newReport, rows: undefined, pivotRows: undefined }, // stop including rows in request
1626
- dashboardItemId,
1627
- client,
1628
- getToken,
1629
- eventTracking,
1630
- });
1631
- if (resp && resp.name !== 'error') {
1632
- const data = {
1633
- ...resp,
1634
- rows,
1635
- columns: formData.columns.filter((col) => !invalidColumns.includes(col)),
1636
- pivotRows: selectedPivotTable?.rows || undefined,
1637
- pivotColumns: selectedPivotTable?.columns || undefined,
1638
- triggerReload: true,
1639
- error: undefined,
1640
- section: formData.section,
1641
- };
1642
- addReport(data);
1643
- reportsDispatch({
1644
- type: 'ADD_REPORT',
1645
- id: resp.id,
1646
- data,
1647
- });
1648
- if (onAddToDashboardComplete) {
1649
- onAddToDashboardComplete(data);
1650
- }
1651
- else {
1652
- // if no explicit onAddToDashboardComplete, default to reloading the dashboard
1653
- // TODO: Should probably always reload the dashboard, but currently, in the admin library, onAddToDashboardComplete
1654
- // handles the reload way upstream, and it's a bit spooky to change that right now
1655
- reloadDashboard(destinationDashboard, true, {
1656
- report: data,
1657
- action: 'upsert',
1658
- });
1659
- }
1660
- }
1661
- setIsOpen(false);
1662
- setIsSubmitting(false);
1663
- setTriggeredEditChart(false);
1664
- };
1665
- // Prevent horizontal view on small screens.
1666
- isHorizontalView = windowWidth < 1200 ? false : isHorizontalView;
1667
- if (!schemaData.schema) {
1668
- return (0, jsx_runtime_1.jsx)("div", { children: "No schema" });
1669
- }
1670
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
1671
- width: '100%',
1672
- height: '100%',
1673
- display: 'flex',
1674
- flexDirection: 'column',
1675
- flexGrow: 1,
1676
- }, children: [(0, jsx_runtime_1.jsxs)("div", { id: "quill-chart-modal", style: {
1677
- width: '100%',
1678
- height: '100%',
1679
- maxWidth: '100%',
1680
- display: 'flex',
1681
- padding: modalPadding,
1682
- paddingTop: windowWidth < 1200 && isOpen ? 0 : modalPadding,
1683
- gap: '20px',
1684
- flexDirection: isHorizontalView ? 'row' : 'column',
1685
- boxSizing: 'border-box',
1686
- }, children: [hideChartView ? null : ((0, jsx_runtime_1.jsxs)("div", { style: {
1687
- display: 'flex',
1688
- flexDirection: 'column',
1689
- gap: isOpen ? 16 : 20,
1690
- overflowY: 'scroll',
1691
- height: isHorizontalView || !isOpen ? '100%' : 800,
1692
- ...(isHorizontalView && {
1693
- // flexGrow: 1,
1694
- width: !isOpen ? '100%' : `calc(100% - ${formWidth}px - 20px)`, // width of left sidebar plus gap
1695
- }),
1696
- ...(!isHorizontalView && isOpen && { width: formWidth }),
1697
- }, children: [!isEditingMode && (report?.adminError || report?.error) ? ((0, jsx_runtime_1.jsx)(ErrorComponent, { label: report.adminError || report.error, onClick: onClickChartError })) : ((isHorizontalView || (!isOpen && windowWidth > 1200)) && ((0, jsx_runtime_1.jsx)(InternalChart_1.default, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
1698
- onFiltersEnabledChanged(hide);
1699
- }, colors: theme?.chartColors, loading: isLoading || !reportFiltersLoaded, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
1700
- width: '100%',
1701
- // height:
1702
- // formData.chartType === 'metric'
1703
- // ? 100
1704
- // : `calc(${filtersEnabled ? 50 : 70}%)`,
1705
- ...(isHorizontalView && {
1706
- flexGrow: !['table'].includes(formData.chartType) ? 1 : 0,
1707
- }),
1708
- }, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen, SelectComponent: SelectComponent, MultiSelectComponent: QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, LoadingComponent: LoadingComponent }))),
1709
- // Make sure to display non-pivoted table when using pivot chart
1710
- !hideChartView &&
1711
- (isHorizontalView || (!isOpen && windowWidth < 1200)) && ((0, jsx_runtime_1.jsxs)("div", { style: {
1712
- width: '100%',
1713
- // height:
1714
- // isHorizontalView || !isOpen
1715
- // ? `calc(${filtersEnabled ? 30 : 50}%)`
1716
- // : 400,
1717
- flexGrow: 1,
1718
- display: 'flex',
1719
- flexDirection: 'column',
1720
- gap: 8,
1721
- }, children: [windowWidth < 1200 && ((0, jsx_runtime_1.jsx)(InternalChart_1.default, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
1722
- onFiltersEnabledChanged(hide);
1723
- }, colors: theme?.chartColors, loading: isLoading || !reportFiltersLoaded, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
1724
- width: '100%',
1725
- // height:
1726
- // formData.chartType === 'table'
1727
- // ? 200
1728
- // : formData.chartType === 'metric'
1729
- // ? 300
1730
- // : 500,
1731
- flexGrow: formData.chartType !== 'table' ? 1 : 0,
1732
- }, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen })), hideTableView ? null : formData.chartType !== 'table' ? ((0, jsx_runtime_1.jsx)(TableComponent, { rows: formattedRows, columns: includeCustomFields && !containsCustomFields
1733
- ? formData.columns.concat(reportCustomFields)
1734
- : formData.columns, onPageChange: (page) => {
1735
- onPageChange(page);
1736
- setCurrentPage(page);
1737
- }, onSortChange: (sort) => {
1738
- onSortChange && onSortChange(sort);
1739
- }, currentPage: currentPage, rowCount: rowCount, isLoading: isLoading || !reportFiltersLoaded, rowCountIsLoading: rowCountIsLoading, disableSort: disableSort, hideLabels: false })) : ((0, jsx_runtime_1.jsx)(TableComponent, { rows: formattedRows, columns: selectedPivotTable
1740
- ? selectedPivotTable.columns
1741
- : includeCustomFields && !containsCustomFields
1742
- ? formData.columns.concat(reportCustomFields)
1743
- : formData.columns, onPageChange: (page) => {
1744
- onPageChange(page, true);
1745
- setCurrentPage(page);
1746
- }, onSortChange: (sort) => {
1747
- onSortChange && onSortChange(sort, true);
1748
- }, currentPage: currentPage, rowCount: selectedPivotTable ? pivotData?.rowCount : rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading || !reportFiltersLoaded, disableSort: disableSort, hideLabels: false }))] }))] })), isOpen && ((0, jsx_runtime_1.jsxs)("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, style: {
1749
- display: 'flex',
1750
- flexDirection: 'column',
1751
- gap: 20,
1752
- ...(isHorizontalView && {
1753
- height: '100%',
1754
- minWidth: formWidth,
1755
- maxWidth: formWidth,
1756
- width: formWidth,
1757
- }),
1758
- ...(windowWidth < 1200 && {
1759
- height: '100%',
1760
- width: formWidth,
1761
- paddingTop: modalPadding,
1762
- paddingBottom: modalPadding,
1763
- }),
1764
- }, children: [(0, jsx_runtime_1.jsxs)(FormContainer, { children: [hideChartView
1765
- ? null
1766
- : (formData.pivot || formData.chartType !== 'table') &&
1767
- windowWidth < 1200 && ((0, jsx_runtime_1.jsx)(InternalChart_1.default, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
1768
- onFiltersEnabledChanged(hide);
1769
- }, colors: theme?.chartColors, loading: isLoading || !reportFiltersLoaded, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
1770
- width: '100%',
1771
- // height:
1772
- // formData.chartType === 'table'
1773
- // ? 200
1774
- // : formData.chartType === 'metric'
1775
- // ? 300
1776
- // : formData.chartType === 'US map' ||
1777
- // formData.chartType === 'World map'
1778
- // ? 'fit-content'
1779
- // : 500,
1780
- flexGrow: !['table'].includes(formData.chartType)
1781
- ? 1
1782
- : 0,
1783
- }, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen })), (0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)("div", { ref: inputRef, style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(TextInputComponent
1784
- // {...autofocusRefProp}
1785
- , {
1786
- // {...autofocusRefProp}
1787
- id: "chart-builder-name", label: "Name", width: 200, value: formData.name, onChange: (e) => handleChange(e.target.value, 'name'), placeholder: "Name" }) }), showDashboardDropdown && !destinationDashboardName && ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { label: "Dashboard", value: formData.dashboardName || '', onChange: async (e) => {
1788
- handleChange(e.target.value, 'dashboardName');
1789
- await updateDashboardFilters(e.target.value);
1790
- }, options: dashboardOptions.map((elem) => ({
1791
- label: elem.label,
1792
- value: elem.label,
1793
- })), width: 200 }) })), hideChartType ? ((0, jsx_runtime_1.jsx)("div", { style: { width: 200 } })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { ref: selectRef, style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { label: "Chart type", value: formData.chartType, onChange: (e) => handleChange(e.target.value, 'chartType'), options: chartTypes, width: 200 }) }), !destinationSection &&
1794
- currentDashboard?.sectionOrder?.some((s) => s.section) && ((0, jsx_runtime_1.jsx)("div", { style: {
1795
- display: currentDashboard?.sectionOrder?.length
1796
- ? 'flex'
1797
- : 'none',
1798
- flexDirection: 'column',
1799
- }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { label: "Section", value: formData.section ?? '', options: currentDashboard?.sectionOrder?.map((s) => ({
1800
- label: s.section ? s.section : 'No section',
1801
- value: s.section,
1802
- })) ?? [], onChange: (e) => {
1803
- handleChange(e.target.value ?? '', 'section');
1804
- }, width: 200, hideEmptyOption: true }) }))] }))] }), hidePivotForm ? null : ((0, jsx_runtime_1.jsxs)("div", { style: {
1805
- display: 'flex',
1806
- flexDirection: 'column',
1807
- gap: 6,
1808
- }, children: [(0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Pivot" }), (0, jsx_runtime_1.jsxs)("div", { style: { fontFamily: theme?.fontFamily }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
1809
- maxWidth: 200,
1810
- // marginTop: 6,
1811
- display: 'flex',
1812
- flexDirection: 'column',
1813
- }, children: (0, jsx_runtime_1.jsx)(PivotModal_1.PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotAggregations: pivotAggregations, pivotSort: pivotSort, setPivotSort: setPivotSort, pivotLimit: pivotLimit, setPivotLimit: setPivotLimit, setPivotAggregations: setPivotAggregations, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: processedColumns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot, query: query, pivotCountRequest: 4, initialUniqueValues: initialUniqueValues, uniqueValuesIsLoading: initialUniqueValuesIsLoading, initialSelectedPivotTable: selectedPivotTable, pivotRecommendationsEnabled: pivotRecommendationsEnabled, report: report ? { ...report, ...{ itemQuery } } : undefined, dashboardName: destinationDashboardName || '', dateFilter: filtersEnabled
1814
- ? currentDashboardFilters?.find((f) => f.filterType === 'date_range')
1815
- : undefined, heightAdjustment: 200 }) }), formData.pivot && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { style: { width: pivotCardWidth }, children: isLoading || !reportFiltersLoaded ? ((0, jsx_runtime_1.jsx)(LoadingComponent, {})) : ((0, jsx_runtime_1.jsx)(PivotList_1.PivotCard, { pivotTable: pivotCardTable, theme: theme, index: 0, onSelectPivot: () => {
1816
- setIsEdittingPivot(true);
1817
- setShowPivotPopover(true);
1818
- setPivotRowField(formData.pivot?.rowField);
1819
- setPivotColumnField(formData.pivot?.columnField);
1820
- setPivotAggregations(formData.pivot?.aggregations ?? [
1821
- {
1822
- valueField: formData.pivot?.valueField,
1823
- aggregationType: formData.pivot?.aggregationType,
1824
- valueField2: formData.pivot?.valueField2,
1825
- },
1826
- ]);
1827
- setPivotSort(formData.pivot?.sort &&
1828
- formData.pivot?.sortDirection &&
1829
- formData.pivot?.sortField
1830
- ? {
1831
- sortField: formData.pivot?.sortField,
1832
- sortDirection: formData.pivot?.sortDirection,
1833
- }
1834
- : undefined);
1835
- setPivotLimit(formData.pivot?.rowLimit);
1836
- setPivotPopUpTitle('Edit pivot');
1837
- }, selectedPivotIndex: -1, onEditPivot: () => { }, CardComponent: CardComponent, ButtonComponent: ButtonComponent, HeaderComponent: HeaderComponent, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: LabelComponent, TextComponent: TextComponent })) }) }))] })] })), !hideChartView &&
1838
- (formData.pivot ||
1839
- (formData.chartType !== 'table' &&
1840
- formData.chartType !== 'metric')) && ((0, jsx_runtime_1.jsxs)("div", { children: [CHART_TO_LABELS[formData.chartType]?.xAxisLabel && ((0, jsx_runtime_1.jsx)("div", { style: {
1841
- display: 'flex',
1842
- flexDirection: 'column',
1843
- }, children: (0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Chart" }) })), CHART_TO_LABELS[formData.chartType]?.xAxisLabel && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.xAxisLabel ??
1844
- '' }), (0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(SelectComponent, { value: formData.xAxisField, onChange: (e) => handleChange(e.target.value, 'xAxisField'), options: formData.pivot
1845
- ? getPivotMetricOptions(formData.pivot, selectedPivotTable, formData.chartType)
1846
- : columns.map((elem) => ({
1847
- label: elem.field,
1848
- value: elem.field,
1849
- })), width: 200 }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "chart-builder-x-axis-label", width: 200, value: formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'xAxisLabel') }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: formData.pivot &&
1850
- (0, PivotModal_1.isDateField)(formData.pivot.rowFieldType ?? '')
1851
- ? 'string'
1852
- : formData.xAxisFormat, onChange: (e) => handleChange(e.target.value, 'xAxisFormat'), options: formData.pivot &&
1853
- (0, PivotModal_1.isDateField)(formData.pivot.rowFieldType ?? '')
1854
- ? [{ value: 'string', label: 'date' }]
1855
- : xAxisFormatOptions, width: 200, hideEmptyOption: true })] })] })), CHART_TO_LABELS[formData.chartType]?.yAxisLabel && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.yAxisLabel ??
1856
- '' }), (0, jsx_runtime_1.jsxs)(ChartBuilderInputColumnContainer, { children: [formData.yAxisFields
1857
- .slice(0, formData.chartType === 'pie'
1858
- ? 1
1859
- : formData.yAxisFields.length)
1860
- .map((yAxisField, index) => ((0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(SelectComponent, { value: formData.pivot
1861
- ? formData.pivot.aggregations?.length
1862
- ? ((0, pivotConstructor_1.disambiguatedValueField)(formData.pivot) ?? 'count')
1863
- : 'count'
1864
- : yAxisField.field, onChange: (e) => handleChange(e.target.value, 'yAxisFields.field', index), options: formData.pivot
1865
- ? [
1866
- {
1867
- label: `Pivot Column (${formData.pivot.aggregations?.length ? ((0, pivotConstructor_1.disambiguatedValueField)(formData.pivot) ?? 'count') : 'count'})`,
1868
- value: formData.pivot.aggregations
1869
- ?.length
1870
- ? ((0, pivotConstructor_1.disambiguatedValueField)(formData.pivot) ?? 'count')
1871
- : 'count',
1872
- },
1873
- ]
1874
- : columns
1875
- .filter((elem) => {
1876
- return exports.numberFormatOptions.includes(columns.find((col) => col.field === elem.field)?.format || '');
1877
- })
1878
- .map((elem) => ({
1879
- label: elem.field,
1880
- value: elem.field,
1881
- })), width: 200 }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "chart-builder-y-axis-label", width: 200, value: yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'yAxisFields.label', index) }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: formData.pivot
1882
- ? (NUMBER_OPTIONS.find((option) => {
1883
- return (option.value === yAxisField.format);
1884
- })?.value ?? NUMBER_OPTIONS[0].value)
1885
- : yAxisField.format, onChange: (e) => handleChange(e.target.value, 'yAxisFields.format', index), options: formData.pivot
1886
- ? NUMBER_OPTIONS
1887
- : ALL_FORMAT_OPTIONS, width: 200, hideEmptyOption: true }), !formData.pivot && ((0, jsx_runtime_1.jsx)("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: (0, jsx_runtime_1.jsx)(DeleteButtonComponent, { onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField_' + yAxisField.field + index))), !formData.pivot && formData.chartType !== 'pie' && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" }) }))] })] })), client?.featureFlags?.['referenceLines'] &&
1888
- (chartData.chartType === 'line' ||
1889
- chartData.chartType === 'column') && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(SubHeaderComponent, { label: 'Reference Lines' }), (0, jsx_runtime_1.jsxs)(ChartBuilderInputColumnContainer, { children: [formData.referenceLines?.map((refLine, index) => ((0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(SelectComponent, { width: 200, value: refLine.label, onChange: (e) => handleChange(e.target.value, 'referenceLines.label', index),
1890
- // only include numeric columns
1891
- options: [
1892
- {
1893
- label: 'Custom Values',
1894
- value: constants_1.REFERENCE_LINE,
1895
- },
1896
- ].concat((selectedPivotTable?.columns
1897
- ? selectedPivotTable.columns
1898
- : columns)
1899
- .filter((c) => valueFormatter_1.NUMBER_FORMAT_TYPES.includes(c.format))
1900
- .map((elem) => ({
1901
- label: elem.field,
1902
- value: elem.field,
1903
- }))) }), refLine.label === constants_1.REFERENCE_LINE && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { id: "chart-builder-ref-line-y1", width: 200, value: refLine.y1?.toString() ?? '', placeholder: "Start value", onChange: (e) => handleChange(e.target.value, 'referenceLines.y1', index) }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: "chart-builder-ref-line-y2", width: 200, value: refLine.y2?.toString() ?? '', placeholder: "End value", onChange: (e) => handleChange(e.target.value, 'referenceLines.y2', index) })] })), (0, jsx_runtime_1.jsx)("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: (0, jsx_runtime_1.jsx)(DeleteButtonComponent, { onClick: () => handleRemoveField('referenceLines', index) }) })] }, 'referenceLine' + index))), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleAddField('referenceLines'), label: "Add line +" }) })] })] }))] })), windowWidth < 1200 && ((0, jsx_runtime_1.jsx)("div", { style: {
1904
- width: '100%',
1905
- height: isHorizontalView || !isOpen ? 'calc(50% - 10px)' : 400,
1906
- flexGrow: 1,
1907
- }, children: formData.chartType !== 'table' ? ((0, jsx_runtime_1.jsx)(TableComponent, { rows: formattedRows, columns: includeCustomFields && !containsCustomFields
1908
- ? formData.columns.concat(reportCustomFields)
1909
- : formData.columns, onPageChange: (page) => {
1910
- onPageChange(page);
1911
- setCurrentPage(page);
1912
- }, onSortChange: (sort) => {
1913
- onSortChange && onSortChange(sort);
1914
- }, currentPage: currentPage, rowCount: rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading || !reportFiltersLoaded, disableSort: disableSort, hideLabels: false })) : ((0, jsx_runtime_1.jsx)(TableComponent, { rows: formattedRows, columns: selectedPivotTable
1915
- ? selectedPivotTable.columns
1916
- : includeCustomFields && !containsCustomFields
1917
- ? formData.columns.concat(reportCustomFields)
1918
- : formData.columns, onPageChange: (page) => {
1919
- onPageChange(page, true);
1920
- setCurrentPage(page);
1921
- }, onSortChange: (sort) => {
1922
- onSortChange && onSortChange(sort, true);
1923
- }, currentPage: currentPage, rowCount: selectedPivotTable ? pivotData?.rowCount : rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading || !reportFiltersLoaded, disableSort: disableSort, hideLabels: false })) })), (showTableFormatOptions || isAdmin) && ((0, jsx_runtime_1.jsxs)("div", { style: {
1924
- display: 'flex',
1925
- flexDirection: 'column',
1926
- gap: 6,
1927
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
1928
- display: 'flex',
1929
- flexDirection: 'column',
1930
- }, children: [(0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Table" }), (0, jsx_runtime_1.jsx)(SubHeaderComponent, { label: "Columns" })] }), (0, jsx_runtime_1.jsxs)(ChartBuilderInputColumnContainer, { children: [formData.pivot &&
1931
- selectedPivotTable &&
1932
- selectedPivotTable.columns &&
1933
- formData.chartType === 'table'
1934
- ? // THIS CASE IF FOR PIVOT TABLES ONLY
1935
- selectedPivotTable.columns.map((column, index) => ((0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(SelectComponent, { value: column.field, onChange: (e) => handleChange(e.target.value, 'pivot.field', index), options: selectedPivotTable.columns.map((elem) => ({
1936
- label: elem.field,
1937
- value: elem.field,
1938
- })), disabled: index === 0, width: 200, hideEmptyOption: true }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'pivot.label', index) }), (0, jsx_runtime_1.jsx)(SelectComponent, { value:
1939
- // The first index use rowField for the rest of them use value fields
1940
- column.format, onChange: (e) => handleChange(e.target.value, 'pivot.format', index), options: formData.pivot &&
1941
- index === 0 &&
1942
- selectedPivotTable?.columns.length > 1
1943
- ? (0, PivotModal_1.isDateField)(formData.pivot.rowFieldType || '')
1944
- ? [{ label: 'date', value: 'string' }]
1945
- : [{ label: 'string', value: 'string' }]
1946
- : [
1947
- ...NUMBER_OPTIONS,
1948
- { label: 'string', value: 'string' },
1949
- ], width: 200, hideEmptyOption: true })] }, 'column' + index)))
1950
- : formData.columns.map((column, index) => ((0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(SelectComponent, { value: column.field, onChange: (e) => handleChange(e.target.value, 'columns.field', index), options: rows[0]
1951
- ? Object.keys(rows[0]).map((elem) => ({
1952
- label: elem,
1953
- value: elem,
1954
- }))
1955
- : columns.map((elem) => ({
1956
- label: elem.field,
1957
- value: elem.field,
1958
- })), width: 200, hideEmptyOption: true }), (0, jsx_runtime_1.jsx)(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'columns.label', index) }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: column.format, onChange: (e) => handleChange(e.target.value, 'columns.format', index), options: ALL_FORMAT_OPTIONS, width: 200, hideEmptyOption: true }), (0, jsx_runtime_1.jsx)("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: (0, jsx_runtime_1.jsx)(DeleteButtonComponent, { onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))), (0, jsx_runtime_1.jsx)("div", { children: !(
1959
- // hide when pivoted and chartType === 'table'
1960
- (formData.pivot &&
1961
- selectedPivotTable &&
1962
- selectedPivotTable.columns &&
1963
- formData.chartType === 'table')) && ((0, jsx_runtime_1.jsxs)("div", { style: {
1964
- display: 'flex',
1965
- flexDirection: 'row',
1966
- gap: 10,
1967
- }, children: [(0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleAddField('columns'), label: "Add column +" }), isAdmin &&
1968
- client?.featureFlags?.customFieldsEnabled && ((0, jsx_runtime_1.jsx)(UiComponents_1.QuillToolTip, { text: "Custom field directly referenced in report", enabled: containsCustomFields, textStyle: {
1969
- maxWidth: '200px',
1970
- whiteSpace: 'normal',
1971
- }, children: (0, jsx_runtime_1.jsx)(CheckboxComponent, { isChecked: containsCustomFields || includeCustomFields, label: "Include Custom Fields", onChange: () => setIncludeCustomFields((prev) => !prev), disabled: containsCustomFields, containerStyle: {
1972
- height: containsCustomFields
1973
- ? '100%' // required when wrapped with QuillToolTip
1974
- : undefined,
1975
- } }) }))] })) })] })] })), isAdmin && tenants && dashboardOwner && ((0, jsx_runtime_1.jsxs)("div", { style: {
1976
- display: 'flex',
1977
- flexDirection: 'column',
1978
- gap: 12,
1979
- }, children: [(0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Tenant access" }), (0, jsx_runtime_1.jsx)("div", { style: {
1980
- display: 'flex',
1981
- flexDirection: 'column',
1982
- width: 'fit-content',
1983
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
1984
- display: 'flex',
1985
- flexDirection: 'row',
1986
- width: 'fit-content',
1987
- gap: 12,
1988
- marginBottom: 8,
1989
- }, children: [(0, jsx_runtime_1.jsx)(UiComponents_1.QuillToolTip, { text: 'Tenant access is restricted to current tenant with direct custom field reference.', enabled: containsCustomFields, textStyle: {
1990
- maxWidth: '200px',
1991
- whiteSpace: 'normal',
1992
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
1993
- outline: '1px solid #E7E7E7',
1994
- borderRadius: 6,
1995
- padding: 4,
1996
- display: 'flex',
1997
- flexDirection: 'row',
1998
- marginLeft: 2,
1999
- backgroundColor: '#FCFCFC',
2000
- height: 38,
2001
- width: 'fit-content',
2002
- }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: () => {
2003
- if (!containsCustomFields) {
2004
- setCustomTenantAccess(false);
2005
- setFormFlags(undefined);
2006
- }
2007
- }, style: {
2008
- width: 95,
2009
- outline: !(customTenantAccess || containsCustomFields)
2010
- ? '1px solid #E7E7E7'
2011
- : undefined,
2012
- backgroundColor: !(customTenantAccess || containsCustomFields)
2013
- ? 'white'
2014
- : undefined,
2015
- // Center text vertically and horizontally
2016
- display: 'flex',
2017
- justifyContent: 'center',
2018
- alignItems: 'center',
2019
- borderRadius: 6,
2020
- fontSize: 14,
2021
- fontWeight: 500,
2022
- userSelect: 'none',
2023
- }, children: "Global" }), (0, jsx_runtime_1.jsx)("button", { onClick: () => {
2024
- setCustomTenantAccess(true);
2025
- }, style: {
2026
- width: 95,
2027
- outline: customTenantAccess || containsCustomFields
2028
- ? '1px solid #E7E7E7'
2029
- : undefined,
2030
- backgroundColor: customTenantAccess || containsCustomFields
2031
- ? 'white'
2032
- : undefined,
2033
- // Center text vertically and horizontally
2034
- display: 'flex',
2035
- justifyContent: 'center',
2036
- alignItems: 'center',
2037
- borderRadius: 6,
2038
- fontSize: 14,
2039
- fontWeight: 500,
2040
- userSelect: 'none',
2041
- }, children: "Custom" })] }) }), client?.allTenantTypes?.length === 1 ? ((0, jsx_runtime_1.jsx)(QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, { disabled: containsCustomFields, value: containsCustomFields
2042
- ? (currentTenantAsFormFlags?.[dashboardOwner.tenantField] ?? []) // Even though value requires string[], turns out flags can be numbers
2043
- : (formFlags?.[dashboardOwner.tenantField] ?? []), onChange: (e) => setFormFlags({
2044
- ...formFlags,
2045
- [dashboardOwner.tenantField]: e.target
2046
- .value,
2047
- }), options: dashboardOwner.scope === 'database'
2048
- ? (dashboardOwner.flags?.map((f) => ({
2049
- label: f,
2050
- value: f,
2051
- })) ?? [])
2052
- : (dashboardOwner.tenantIds
2053
- ?.filter((t) => t.flag !== undefined)
2054
- .map((t) => ({
2055
- label: t.label ?? t.flag,
2056
- value: t.flag,
2057
- })) ?? []), width: 200, emptyLabel: dashboardOwner.scope === 'database'
2058
- ? 'No tags supplied'
2059
- : undefined, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
2060
- display: customTenantAccess || containsCustomFields
2061
- ? 'inline'
2062
- : 'none',
2063
- marginTop: -1,
2064
- marginBottom: -4,
2065
- } })) : ((0, jsx_runtime_1.jsx)(QuillMultiSelectSectionList_1.QuillMultiSelectSectionList, { value: formFlags ?? {}, onChange: (e) => setFormFlags(e.target.value), options: allTenantMap, sectionHeaderMap: client?.allTenantTypes?.reduce((acc, tenantType) => {
2066
- if (tenantType.scope === 'database') {
2067
- acc[constants_1.SINGLE_TENANT] = 'Database';
2068
- return acc;
2069
- }
2070
- acc[tenantType.tenantField] = tenantType.name;
2071
- return acc;
2072
- }, {}) ?? {}, width: 200, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
2073
- display: customTenantAccess || containsCustomFields
2074
- ? 'inline'
2075
- : 'none',
2076
- marginTop: -1,
2077
- marginBottom: -4,
2078
- }, owner: dashboardOwner.tenantField }))] }) })] })), specificDashboardFilters.length > 0 && isAdmin && ((0, jsx_runtime_1.jsxs)("div", { style: {
2079
- display: 'flex',
2080
- flexDirection: 'column',
2081
- gap: 6,
2082
- marginBottom: 128,
2083
- }, children: [(0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Dashboard filter fields" }), isAdmin &&
2084
- formData.dateField &&
2085
- dashboardConfig[formData.dashboardName ?? destinationDashboardName ?? '']?.config.dateFilter?.label && ((0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { id: 'filterMap.dateFilter.' +
2086
- (dashboardConfig[formData.dashboardName ?? '']
2087
- ?.config.dateFilter?.label ?? 'Date'), value: dashboardConfig[formData.dashboardName ?? '']
2088
- ?.config.dateFilter?.label ?? 'Date', width: 200, onChange: () => { }, label: 'Filter', disabled: true }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { label: "Virtual Table", value: formData.dateField?.table, onChange: (e) => handleChange(e.target.value, 'dateField.table'), options: dateFieldOptions.map((elem) => ({
2089
- label: elem.name,
2090
- value: elem.name,
2091
- })), width: 200, hideEmptyOption: true }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { label: "Field", value: (0, textProcessing_1.removeDoubleQuotes)(formData.dateField?.field), onChange: (e) => handleChange(e.target.value, 'dateField.field'), options: dateFieldOptions
2092
- ?.find((elem) => elem.name === formData.dateField?.table)
2093
- ?.columns?.map((elem) => ({
2094
- label: elem.field,
2095
- value: elem.field,
2096
- })) || [], width: 200, hideEmptyOption: true }) }), (!formData.dateField?.table ||
2097
- !formData.dateField?.field) && ((0, jsx_runtime_1.jsx)("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: (0, jsx_runtime_1.jsx)(assets_1.ExclamationFilledIcon, { height: 28, width: 28, style: {
2098
- color: '#dc143c',
2099
- } }) }))] })), specificDashboardFilters.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
2100
- display: 'flex',
2101
- flexDirection: 'column',
2102
- gap: 6,
2103
- }, children: specificDashboardFilters
2104
- .filter((f) => {
2105
- return f.filterType !== 'date_range';
2106
- })
2107
- .map((filter, index) => ((0, jsx_runtime_1.jsxs)(ChartBuilderInputRowContainer, { children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { id: 'filterMap.' + filter.label, value: filter.label, width: 200, onChange: () => { }, label: index === 0 &&
2108
- !(isAdmin &&
2109
- formData.dateField &&
2110
- dashboardConfig[formData.dashboardName ?? '']
2111
- ?.config.dateFilter?.label)
2112
- ? 'Filter'
2113
- : '', disabled: true }), (0, jsx_runtime_1.jsx)(SelectComponent, { label: index === 0 &&
2114
- !(isAdmin &&
2115
- formData.dateField &&
2116
- dashboardConfig[formData.dashboardName ?? '']
2117
- ?.config.dateFilter?.label)
2118
- ? 'Virtual Table'
2119
- : '', value: filterMap[filter.label]?.table ?? filter.table, onChange: (e) => setFilterMap({
2120
- ...filterMap,
2121
- [filter.label]: {
2122
- table: e.target.value,
2123
- field: schemaData.schemaWithCustomFields
2124
- .find((t) => t.name == e.target.value)
2125
- ?.columns.find((elem) => elem.field ===
2126
- (filterMap[filter.label]?.field ??
2127
- filter.field))?.field ?? '',
2128
- },
2129
- }), options: allTables.map((elem) => ({
2130
- label: elem,
2131
- value: elem,
2132
- })), width: 200, hideEmptyOption: true }), (0, jsx_runtime_1.jsx)(SelectComponent, { label: index === 0 &&
2133
- !(isAdmin &&
2134
- formData.dateField &&
2135
- dashboardConfig[formData.dashboardName ?? '']
2136
- ?.config.dateFilter?.label)
2137
- ? 'Field'
2138
- : '', value: filterMap[filter.label]?.field ?? filter.field, onChange: (e) => setFilterMap({
2139
- ...filterMap,
2140
- [filter.label]: {
2141
- table: filterMap[filter.label]?.table ??
2142
- filter.table,
2143
- field: e.target.value,
2144
- },
2145
- }), options: schemaData.schemaWithCustomFields
2146
- .find((t) => t.name ==
2147
- (filterMap[filter.label]?.table ??
2148
- filter.table) &&
2149
- allTables.includes(t.name))
2150
- ?.columns.filter((column) => (0, columnProcessing_1.isStringType)(column.fieldType))
2151
- .map((elem) => ({
2152
- label: elem.label,
2153
- value: elem.field,
2154
- })) ?? [], width: 200, hideEmptyOption: true }), !validFilter[filter.label] && ((0, jsx_runtime_1.jsx)("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: (0, jsx_runtime_1.jsx)(assets_1.ExclamationFilledIcon, { height: 28, width: 28, style: {
2155
- color: '#dc143c',
2156
- } }) }))] }, filter.label))) }))] })), isAdmin && !tenants && !flags && ((0, jsx_runtime_1.jsxs)("div", { style: {
2157
- display: 'flex',
2158
- flexDirection: 'column',
2159
- gap: 12,
2160
- }, children: [(0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Organization access" }), (0, jsx_runtime_1.jsx)(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template || !organizationName, theme: theme ?? undefined, organizationName: organizationName, customFieldTableRef: customFieldTableRef })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
2161
- display: 'flex',
2162
- flexDirection: 'row',
2163
- justifyContent: 'flex-end',
2164
- gap: 10,
2165
- position: 'absolute',
2166
- bottom: 16,
2167
- right: 16,
2168
- }, children: [!hideDeleteButton && !isHorizontalView && report && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: deleteChart, label: 'Delete' })), !hideSubmitButton && ((0, jsx_runtime_1.jsxs)("div", { style: {
2169
- display: 'flex',
2170
- flexDirection: 'row',
2171
- width: '100%',
2172
- justifyContent: 'space-between',
2173
- alignItems: 'center',
2174
- gap: 6,
2175
- }, children: [!!filterIssues?.length && ((0, jsx_runtime_1.jsx)(ErrorMessageComponent, { errorMessage: filterIssues[0] || 'Dashboard - Report issues', containerStyle: { height: '100%' } })), (0, jsx_runtime_1.jsxs)("div", { style: {
2176
- display: 'flex',
2177
- flexDirection: 'row',
2178
- gap: 10,
2179
- backgroundColor: 'white',
2180
- }, children: [hideDiscardChanges ? null : ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => {
2181
- setIsOpen(false);
2182
- onDiscardChanges && onDiscardChanges();
2183
- }, label: 'Discard changes' })), (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
2184
- if (loadingFormData) {
2185
- setTriggeredEditChart(true);
2186
- }
2187
- else {
2188
- editChart();
2189
- }
2190
- }, disabled: formData.name === '' ||
2191
- formData.dashboardName === '' ||
2192
- formData.chartType === '' ||
2193
- filterIssues.length !== 0 ||
2194
- Object.values(validFilter).includes(false) ||
2195
- (currentDashboard?.tenantKeys &&
2196
- customTenantAccess &&
2197
- Object.values(formFlags ?? {}).every((value) => !value.length)), label: buttonLabel
2198
- ? buttonLabel
2199
- : report
2200
- ? 'Save changes'
2201
- : 'Add to dashboard' })] })] }))] })] }))] }), (0, jsx_runtime_1.jsx)(DashboardFilterModal, { isOpen: showFilterModal, setIsOpen: setShowFilterModal, issues: filterIssues, ButtonComponent: ButtonComponent, ModalComponent: ModalComponent })] }));
2202
- }
2203
- function SegmentedControl({ onChange, value, theme, organizationName, customFieldTableRef, }) {
2204
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
2205
- display: 'flex',
2206
- flexDirection: 'row',
2207
- alignItems: 'center',
2208
- background: '#F5F5F6',
2209
- maxWidth: organizationName ? 418 : 209,
2210
- padding: 4,
2211
- borderRadius: 6,
2212
- }, children: [!customFieldTableRef && ((0, jsx_runtime_1.jsxs)("button", { className: "quill-tab", onClick: () => onChange(true), style: {
2213
- border: value === true ? '1px solid #E7E7E7' : '1px solid transparent',
2214
- outline: 'none',
2215
- width: '100%',
2216
- borderRadius: 4,
2217
- padding: 10,
2218
- boxShadow: value === true
2219
- ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
2220
- : undefined,
2221
- color: value === true ? 'rgba(56, 65, 81, 1)' : 'rgba(56, 65, 81, 0.85)',
2222
- fontWeight: value === true ? 600 : 500,
2223
- fontSize: 14,
2224
- fontFamily: theme?.fontFamily,
2225
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
2226
- .quill-tab {
2227
- background-color: ${value === true ? 'white' : 'transparent'};
2228
- }
2229
- .quill-tab:hover {
2230
- background-color: ${value === false ? 'rgba(56, 65, 81, 0.05)' : undefined};
2231
- }
2232
- .quill-tab:active {
2233
- background-color: "rgba(56, 65, 81, 0.15)";
2234
- }
2235
- ` }), 'All Organizations'] })), organizationName && ((0, jsx_runtime_1.jsxs)("button", { className: "quill-tab2", onClick: () => onChange(false), style: {
2236
- border: value === false ? '1px solid #E7E7E7' : '1px solid transparent',
2237
- boxShadow: value === false
2238
- ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
2239
- : undefined,
2240
- outline: 'none',
2241
- width: '100%',
2242
- borderRadius: 4,
2243
- color: value === false
2244
- ? 'rgba(56, 65, 81, 1)'
2245
- : 'rgba(56, 65, 81, 0.85)',
2246
- padding: 10,
2247
- fontWeight: value === false ? 600 : 500,
2248
- fontSize: 14,
2249
- fontFamily: theme?.fontFamily,
2250
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
2251
- .quill-tab2 {
2252
- background-color: ${value === false ? 'white' : 'transparent'};
2253
- }
2254
- .quill-tab2:hover {
2255
- background-color: ${value === true ? 'rgba(56, 65, 81, 0.05)' : undefined};
2256
- }
2257
- .quill-tab2:focused {
2258
- background-color: blue;
2259
- }
2260
- .quill-tab2:active {
2261
- background-color: "rgba(56, 65, 81, 0.15)";
2262
- }
2263
- ` }), organizationName] }))] }));
2264
- }
2265
- function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalComponent = UiComponents_1.MemoizedModal, ButtonComponent = UiComponents_1.MemoizedButton, }) {
2266
- if (!isOpen)
2267
- return null;
2268
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, setIsOpen: setIsOpen, title: 'Chart not compatible with selected dashboard', width: 600, children: (0, jsx_runtime_1.jsxs)("div", { style: {
2269
- display: 'flex',
2270
- flexDirection: 'column',
2271
- width: '600px',
2272
- padding: '20px',
2273
- boxSizing: 'border-box',
2274
- overflow: 'scroll',
2275
- maxHeight: 600,
2276
- }, children: [issues.map((issue) => ((0, jsx_runtime_1.jsx)("span", { style: { paddingTop: '10px' }, children: issue }, issue))), (0, jsx_runtime_1.jsx)("div", { style: {
2277
- display: 'flex',
2278
- flexDirection: 'row',
2279
- justifyContent: 'flex-end',
2280
- paddingTop: '14px',
2281
- }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { label: "Got It", onClick: () => setIsOpen(false) }) })] }) }));
2282
- }