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