@quillsql/react 2.14.16 → 2.15.0

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 (253) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +12 -0
  3. package/dist/cjs/ChartBuilder.d.ts +3 -2
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +112 -18
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +2 -0
  8. package/dist/cjs/Context.d.ts +6 -2
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +160 -33
  11. package/dist/cjs/Dashboard.d.ts.map +1 -1
  12. package/dist/cjs/Dashboard.js +99 -19
  13. package/dist/cjs/QuillProvider.d.ts +38 -1
  14. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  15. package/dist/cjs/QuillProvider.js +2 -2
  16. package/dist/cjs/ReportBuilder.d.ts +7 -2
  17. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  18. package/dist/cjs/ReportBuilder.js +104 -1271
  19. package/dist/cjs/SQLEditor.d.ts +9 -2
  20. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  21. package/dist/cjs/SQLEditor.js +67 -10
  22. package/dist/cjs/Table.d.ts.map +1 -1
  23. package/dist/cjs/Table.js +12 -0
  24. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  25. package/dist/cjs/components/Chart/InternalChart.js +24 -1
  26. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  27. package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
  28. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  29. package/dist/cjs/components/Dashboard/DataLoader.js +73 -2
  30. package/dist/cjs/components/Dashboard/util.d.ts +2 -1
  31. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  32. package/dist/cjs/components/Dashboard/util.js +12 -1
  33. package/dist/cjs/components/QuillTable.d.ts +2 -1
  34. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  35. package/dist/cjs/components/QuillTable.js +2 -2
  36. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +2 -1
  37. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  38. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +28 -3
  39. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts +49 -0
  40. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts.map +1 -0
  41. package/dist/cjs/components/ReportBuilder/ColumnComponent.js +46 -0
  42. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts +65 -0
  43. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts.map +1 -0
  44. package/dist/cjs/components/ReportBuilder/FilterComponent.js +51 -0
  45. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts +42 -0
  46. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts.map +1 -0
  47. package/dist/cjs/components/ReportBuilder/LimitComponent.js +50 -0
  48. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts +66 -0
  49. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts.map +1 -0
  50. package/dist/cjs/components/ReportBuilder/PivotComponent.js +47 -0
  51. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts +162 -0
  52. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts.map +1 -0
  53. package/dist/cjs/components/ReportBuilder/SaveReport.js +31 -0
  54. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts +42 -0
  55. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts.map +1 -0
  56. package/dist/cjs/components/ReportBuilder/SortComponent.js +50 -0
  57. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts +28 -0
  58. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts.map +1 -0
  59. package/dist/cjs/components/ReportBuilder/TableComponent.js +24 -0
  60. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  61. package/dist/cjs/components/ReportBuilder/ui.js +3 -1
  62. package/dist/cjs/components/UiComponents.d.ts +5 -2
  63. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  64. package/dist/cjs/components/UiComponents.js +7 -5
  65. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  66. package/dist/cjs/hooks/useAskQuill.js +38 -0
  67. package/dist/cjs/hooks/useDashboard.d.ts +1 -1
  68. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/cjs/hooks/useDashboard.js +62 -6
  70. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useExport.js +5 -2
  72. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  73. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  74. package/dist/cjs/hooks/useLongLoading.js +67 -0
  75. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  76. package/dist/cjs/hooks/useQuill.js +25 -1
  77. package/dist/cjs/hooks/useReportBuilder.d.ts +178 -0
  78. package/dist/cjs/hooks/useReportBuilder.d.ts.map +1 -0
  79. package/dist/cjs/hooks/useReportBuilder.js +1495 -0
  80. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  81. package/dist/cjs/hooks/useVirtualTables.js +27 -2
  82. package/dist/cjs/index.d.ts +11 -0
  83. package/dist/cjs/index.d.ts.map +1 -1
  84. package/dist/cjs/index.js +17 -1
  85. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +14 -1
  86. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  87. package/dist/cjs/internals/ReportBuilder/PivotForm.js +86 -3
  88. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  89. package/dist/cjs/internals/ReportBuilder/PivotList.js +3 -3
  90. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +18 -2
  91. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  92. package/dist/cjs/internals/ReportBuilder/PivotModal.js +438 -147
  93. package/dist/cjs/models/Filter.d.ts +1 -1
  94. package/dist/cjs/models/Filter.d.ts.map +1 -1
  95. package/dist/cjs/models/Filter.js +3 -3
  96. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  97. package/dist/cjs/utils/astFilterProcessing.js +25 -4
  98. package/dist/cjs/utils/astProcessing.d.ts +4 -2
  99. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  100. package/dist/cjs/utils/astProcessing.js +25 -2
  101. package/dist/cjs/utils/client.d.ts +2 -1
  102. package/dist/cjs/utils/client.d.ts.map +1 -1
  103. package/dist/cjs/utils/client.js +12 -1
  104. package/dist/cjs/utils/dashboard.d.ts +3 -1
  105. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  106. package/dist/cjs/utils/dashboard.js +44 -3
  107. package/dist/cjs/utils/filterProcessing.d.ts +2 -1
  108. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  109. package/dist/cjs/utils/filterProcessing.js +12 -1
  110. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  111. package/dist/cjs/utils/pivotConstructor.js +15 -10
  112. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotProcessing.js +13 -3
  114. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  115. package/dist/cjs/utils/queryConstructor.js +30 -16
  116. package/dist/cjs/utils/report.d.ts +10 -5
  117. package/dist/cjs/utils/report.d.ts.map +1 -1
  118. package/dist/cjs/utils/report.js +55 -7
  119. package/dist/cjs/utils/reportBuilder.d.ts.map +1 -1
  120. package/dist/cjs/utils/reportBuilder.js +5 -2
  121. package/dist/cjs/utils/schema.d.ts +5 -2
  122. package/dist/cjs/utils/schema.d.ts.map +1 -1
  123. package/dist/cjs/utils/schema.js +14 -2
  124. package/dist/cjs/utils/tableProcessing.d.ts +17 -10
  125. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  126. package/dist/cjs/utils/tableProcessing.js +99 -17
  127. package/dist/esm/Chart.d.ts.map +1 -1
  128. package/dist/esm/Chart.js +13 -1
  129. package/dist/esm/ChartBuilder.d.ts +3 -2
  130. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  131. package/dist/esm/ChartBuilder.js +114 -20
  132. package/dist/esm/ChartEditor.d.ts.map +1 -1
  133. package/dist/esm/ChartEditor.js +3 -1
  134. package/dist/esm/Context.d.ts +6 -2
  135. package/dist/esm/Context.d.ts.map +1 -1
  136. package/dist/esm/Context.js +159 -32
  137. package/dist/esm/Dashboard.d.ts.map +1 -1
  138. package/dist/esm/Dashboard.js +100 -20
  139. package/dist/esm/QuillProvider.d.ts +38 -1
  140. package/dist/esm/QuillProvider.d.ts.map +1 -1
  141. package/dist/esm/QuillProvider.js +2 -2
  142. package/dist/esm/ReportBuilder.d.ts +7 -2
  143. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  144. package/dist/esm/ReportBuilder.js +107 -1271
  145. package/dist/esm/SQLEditor.d.ts +9 -2
  146. package/dist/esm/SQLEditor.d.ts.map +1 -1
  147. package/dist/esm/SQLEditor.js +68 -11
  148. package/dist/esm/Table.d.ts.map +1 -1
  149. package/dist/esm/Table.js +13 -1
  150. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  151. package/dist/esm/components/Chart/InternalChart.js +25 -2
  152. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  153. package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
  154. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  155. package/dist/esm/components/Dashboard/DataLoader.js +74 -3
  156. package/dist/esm/components/Dashboard/util.d.ts +2 -1
  157. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  158. package/dist/esm/components/Dashboard/util.js +12 -1
  159. package/dist/esm/components/QuillTable.d.ts +2 -1
  160. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  161. package/dist/esm/components/QuillTable.js +2 -2
  162. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +2 -1
  163. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  164. package/dist/esm/components/ReportBuilder/AddColumnModal.js +29 -4
  165. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts +49 -0
  166. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts.map +1 -0
  167. package/dist/esm/components/ReportBuilder/ColumnComponent.js +39 -0
  168. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts +65 -0
  169. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts.map +1 -0
  170. package/dist/esm/components/ReportBuilder/FilterComponent.js +44 -0
  171. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts +42 -0
  172. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts.map +1 -0
  173. package/dist/esm/components/ReportBuilder/LimitComponent.js +46 -0
  174. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts +66 -0
  175. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts.map +1 -0
  176. package/dist/esm/components/ReportBuilder/PivotComponent.js +40 -0
  177. package/dist/esm/components/ReportBuilder/SaveReport.d.ts +162 -0
  178. package/dist/esm/components/ReportBuilder/SaveReport.d.ts.map +1 -0
  179. package/dist/esm/components/ReportBuilder/SaveReport.js +31 -0
  180. package/dist/esm/components/ReportBuilder/SortComponent.d.ts +42 -0
  181. package/dist/esm/components/ReportBuilder/SortComponent.d.ts.map +1 -0
  182. package/dist/esm/components/ReportBuilder/SortComponent.js +46 -0
  183. package/dist/esm/components/ReportBuilder/TableComponent.d.ts +28 -0
  184. package/dist/esm/components/ReportBuilder/TableComponent.d.ts.map +1 -0
  185. package/dist/esm/components/ReportBuilder/TableComponent.js +20 -0
  186. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  187. package/dist/esm/components/ReportBuilder/ui.js +4 -2
  188. package/dist/esm/components/UiComponents.d.ts +5 -2
  189. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  190. package/dist/esm/components/UiComponents.js +7 -5
  191. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  192. package/dist/esm/hooks/useAskQuill.js +39 -1
  193. package/dist/esm/hooks/useDashboard.d.ts +1 -1
  194. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  195. package/dist/esm/hooks/useDashboard.js +63 -7
  196. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  197. package/dist/esm/hooks/useExport.js +6 -3
  198. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  199. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  200. package/dist/esm/hooks/useLongLoading.js +64 -0
  201. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  202. package/dist/esm/hooks/useQuill.js +26 -2
  203. package/dist/esm/hooks/useReportBuilder.d.ts +178 -0
  204. package/dist/esm/hooks/useReportBuilder.d.ts.map +1 -0
  205. package/dist/esm/hooks/useReportBuilder.js +1490 -0
  206. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  207. package/dist/esm/hooks/useVirtualTables.js +28 -3
  208. package/dist/esm/index.d.ts +11 -0
  209. package/dist/esm/index.d.ts.map +1 -1
  210. package/dist/esm/index.js +8 -0
  211. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +14 -1
  212. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  213. package/dist/esm/internals/ReportBuilder/PivotForm.js +87 -4
  214. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  215. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  216. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +18 -2
  217. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  218. package/dist/esm/internals/ReportBuilder/PivotModal.js +440 -149
  219. package/dist/esm/models/Filter.d.ts +1 -1
  220. package/dist/esm/models/Filter.d.ts.map +1 -1
  221. package/dist/esm/models/Filter.js +3 -3
  222. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  223. package/dist/esm/utils/astFilterProcessing.js +25 -4
  224. package/dist/esm/utils/astProcessing.d.ts +4 -2
  225. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  226. package/dist/esm/utils/astProcessing.js +25 -2
  227. package/dist/esm/utils/client.d.ts +2 -1
  228. package/dist/esm/utils/client.d.ts.map +1 -1
  229. package/dist/esm/utils/client.js +12 -1
  230. package/dist/esm/utils/dashboard.d.ts +3 -1
  231. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  232. package/dist/esm/utils/dashboard.js +44 -3
  233. package/dist/esm/utils/filterProcessing.d.ts +2 -1
  234. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  235. package/dist/esm/utils/filterProcessing.js +12 -1
  236. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  237. package/dist/esm/utils/pivotConstructor.js +15 -10
  238. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  239. package/dist/esm/utils/pivotProcessing.js +13 -3
  240. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  241. package/dist/esm/utils/queryConstructor.js +30 -16
  242. package/dist/esm/utils/report.d.ts +10 -5
  243. package/dist/esm/utils/report.d.ts.map +1 -1
  244. package/dist/esm/utils/report.js +55 -7
  245. package/dist/esm/utils/reportBuilder.d.ts.map +1 -1
  246. package/dist/esm/utils/reportBuilder.js +5 -2
  247. package/dist/esm/utils/schema.d.ts +5 -2
  248. package/dist/esm/utils/schema.d.ts.map +1 -1
  249. package/dist/esm/utils/schema.js +14 -2
  250. package/dist/esm/utils/tableProcessing.d.ts +17 -10
  251. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/tableProcessing.js +99 -17
  253. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,qBAA4B,EAC5B,cAAc,EACd,SAAS,EACT,gBAAwC,EACxC,WAAgB,EAChB,eAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,EAAE,wBAAwB,2CA+e1B"}
1
+ {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,oBAAoB,EACpB,qBAA4B,EAC5B,cAAc,EACd,SAAS,EACT,gBAAwC,EACxC,WAAgB,EAChB,eAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,EAAE,wBAAwB,2CA+e1B"}
@@ -6,7 +6,7 @@ const react_1 = require("react");
6
6
  const valueFormatter_1 = require("../utils/valueFormatter");
7
7
  const Context_1 = require("../Context");
8
8
  const UiComponents_1 = require("./UiComponents");
9
- function QuillTable({ rows, rowCount, rowCountIsLoading, columns, isLoading, currentPage, sort, hideCSVDownloadButton = true, containerStyle, className, LoadingComponent = UiComponents_1.QuillLoadingComponent, rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, onPageChange, onSortChange, hideLabels, disableSort, }) {
9
+ function QuillTable({ rows, rowCount, rowCountIsLoading, columns, isLoading, currentPage, sort, overrideInMemortSort, hideCSVDownloadButton = true, containerStyle, className, LoadingComponent = UiComponents_1.QuillLoadingComponent, rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, onPageChange, onSortChange, hideLabels, disableSort, }) {
10
10
  const [activeRows, setActiveRows] = (0, react_1.useState)([]);
11
11
  const [maxPage, setMaxPage] = (0, react_1.useState)(1);
12
12
  const [sortColumn, setSortColumn] = (0, react_1.useState)(sort?.field || '');
@@ -31,7 +31,7 @@ function QuillTable({ rows, rowCount, rowCountIsLoading, columns, isLoading, cur
31
31
  }
32
32
  else {
33
33
  const sortedRows = [...rows];
34
- if (sortColumn) {
34
+ if (sortColumn && !overrideInMemortSort) {
35
35
  sortedRows.sort((a, b) => {
36
36
  const result = (0, valueFormatter_1.compareValues)(a, b, sortColumn);
37
37
  return sortDirection === 'asc' ? result : -result;
@@ -3,7 +3,7 @@ import { TextInputComponentProps } from '../UiComponents';
3
3
  import { Table } from '../../models/Tables';
4
4
  import { ReportBuilderColumn, ReportBuilderTable } from '../../models/ReportBuilder';
5
5
  import { ForeignKeyMap } from './schema';
6
- export default function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schemaLoading, foreignKeyMap, TextInputComponent, SelectColumn, SecondaryButton, Button, ColumnSearchEmptyState, LoadingComponent, }: {
6
+ export default function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schemaLoading, foreignKeyMap, TextInputComponent, SelectColumn, SecondaryButton, Button, ColumnSearchEmptyState, LoadingComponent, onRequestAddVirtualTable, }: {
7
7
  onSave: (newTables: ReportBuilderTable[], newColumns: ReportBuilderColumn[]) => void;
8
8
  selectedTables: ReportBuilderTable[];
9
9
  selectedColumns: ReportBuilderColumn[];
@@ -23,5 +23,6 @@ export default function AddColumnModal({ onSave, selectedTables, selectedColumns
23
23
  Button: any;
24
24
  ColumnSearchEmptyState: () => JSX.Element;
25
25
  LoadingComponent: () => JSX.Element;
26
+ onRequestAddVirtualTable?: () => void;
26
27
  }): import("react/jsx-runtime").JSX.Element;
27
28
  //# sourceMappingURL=AddColumnModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddColumnModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAiBpE,OAAO,EAGL,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,cAAc,EACd,eAAe,EACf,MAAM,EACN,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,MAAM,EACN,sBAAoD,EACpD,gBAAwC,GACzC,EAAE;IACD,MAAM,EAAE,CACN,SAAS,EAAE,kBAAkB,EAAE,EAC/B,UAAU,EAAE,mBAAmB,EAAE,KAC9B,IAAI,CAAC;IACV,cAAc,EAAE,kBAAkB,EAAE,CAAC;IACrC,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EACd,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IACN,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,sBAAsB,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC1C,gBAAgB,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACrC,2CAgUA"}
1
+ {"version":3,"file":"AddColumnModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAiBhF,OAAO,EAGL,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,cAAc,EACd,eAAe,EACf,MAAM,EACN,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,MAAM,EACN,sBAAoD,EACpD,gBAAwC,EACxC,wBAAwB,GACzB,EAAE;IACD,MAAM,EAAE,CACN,SAAS,EAAE,kBAAkB,EAAE,EAC/B,UAAU,EAAE,mBAAmB,EAAE,KAC9B,IAAI,CAAC;IACV,cAAc,EAAE,kBAAkB,EAAE,CAAC;IACrC,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EACd,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IACN,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,sBAAsB,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC1C,gBAAgB,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACpC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC,2CA2WA"}
@@ -9,9 +9,12 @@ const utilities_1 = require("@dnd-kit/utilities");
9
9
  const UiComponents_1 = require("../UiComponents");
10
10
  const textProcessing_1 = require("../../utils/textProcessing");
11
11
  const ReportBuilder_1 = require("../../models/ReportBuilder");
12
- function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schemaLoading, foreignKeyMap, TextInputComponent, SelectColumn, SecondaryButton, Button, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, LoadingComponent = UiComponents_1.QuillLoadingComponent, }) {
12
+ const Context_1 = require("../../Context");
13
+ function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schemaLoading, foreignKeyMap, TextInputComponent, SelectColumn, SecondaryButton, Button, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, LoadingComponent = UiComponents_1.QuillLoadingComponent, onRequestAddVirtualTable, }) {
13
14
  const [primaryTable, setPrimaryTable] = (0, react_1.useState)(selectedTables[0]?.name);
15
+ const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
14
16
  const [search, setSearch] = (0, react_1.useState)('');
17
+ const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
15
18
  const textInputContainerRef = (0, react_1.useRef)(null);
16
19
  const [modalSelectedColumns, setModalSelectedColumns] = (0, react_1.useState)(selectedColumns.map((col) => `${col.table}.${col.field}`));
17
20
  const columnOptions = (0, react_1.useMemo)(() => {
@@ -69,6 +72,11 @@ function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schem
69
72
  const remainingColumns = columnOptions.filter((col) => !modalSelectedColumns.includes(col));
70
73
  setOrderedColumnNames([...modalSelectedColumns, ...remainingColumns]);
71
74
  }, [columnOptions]);
75
+ (0, react_1.useEffect)(() => {
76
+ if (!schemaLoading && initialLoad) {
77
+ setTimeout(() => setInitialLoad(false), 200); // This artificial load prevents a flash as searchResults gets populated from empty array
78
+ }
79
+ }, [schemaLoading]);
72
80
  const sensors = (0, core_1.useSensors)((0, core_1.useSensor)(core_1.PointerSensor), (0, core_1.useSensor)(core_1.KeyboardSensor, {
73
81
  coordinateGetter: sortable_1.sortableKeyboardCoordinates,
74
82
  }));
@@ -101,7 +109,7 @@ function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schem
101
109
  alignItems: 'center',
102
110
  marginTop: 2,
103
111
  marginBottom: 6,
104
- }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { id: 'add_column_search_bar', value: search, placeholder: 'Search...', width: 400, onChange: (e) => setSearch(e.target.value) }) }), schemaLoading ? ((0, jsx_runtime_1.jsx)(LoadingComponent, {})) : ((0, jsx_runtime_1.jsx)(core_1.DndContext, { sensors: sensors, collisionDetection: core_1.closestCenter, onDragEnd: handleDragEnd, children: (0, jsx_runtime_1.jsx)(sortable_1.SortableContext, { items: orderedColumnNames, strategy: sortable_1.verticalListSortingStrategy, children: (0, jsx_runtime_1.jsxs)("div", { style: {
112
+ }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { id: 'add_column_search_bar', value: search, placeholder: 'Search...', width: 400, onChange: (e) => setSearch(e.target.value), disabled: schemaLoading || initialLoad }) }), schemaLoading || initialLoad ? ((0, jsx_runtime_1.jsx)(LoadingComponent, {})) : schema.length > 0 ? ((0, jsx_runtime_1.jsx)(core_1.DndContext, { sensors: sensors, collisionDetection: core_1.closestCenter, onDragEnd: handleDragEnd, children: (0, jsx_runtime_1.jsx)(sortable_1.SortableContext, { items: orderedColumnNames, strategy: sortable_1.verticalListSortingStrategy, children: (0, jsx_runtime_1.jsxs)("div", { style: {
105
113
  display: 'flex',
106
114
  flexDirection: 'column',
107
115
  gap: 8,
@@ -137,8 +145,25 @@ function AddColumnModal({ onSave, selectedTables, selectedColumns, schema, schem
137
145
  .split('.')
138
146
  .map((v) => (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(v))
139
147
  .join(' | '), SelectColumn: SelectColumn }, index));
140
- }), search.length > 0 && searchResults.length === 0 && ((0, jsx_runtime_1.jsx)(ColumnSearchEmptyState, {}))] }) }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
148
+ }), search.length > 0 && searchResults.length === 0 && ((0, jsx_runtime_1.jsx)(ColumnSearchEmptyState, {}))] }) }) })) : ((0, jsx_runtime_1.jsxs)("div", { style: {
141
149
  display: 'flex',
150
+ flexDirection: 'column',
151
+ justifyContent: 'space-around',
152
+ paddingTop: 20,
153
+ alignItems: 'center',
154
+ minHeight: 140,
155
+ height: '100%',
156
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: {
157
+ fontFamily: theme?.fontFamily,
158
+ fontSize: theme?.fontSize,
159
+ color: theme?.secondaryTextColor,
160
+ textAlign: 'center',
161
+ }, children: "No tables found for the current tenant" }), onRequestAddVirtualTable && ((0, jsx_runtime_1.jsx)(Button, { onClick: () => {
162
+ onRequestAddVirtualTable?.();
163
+ }, label: "Add Table" }))] })), (0, jsx_runtime_1.jsxs)("div", { style: {
164
+ display: schemaLoading || initialLoad || columnOptions.length === 0
165
+ ? 'none'
166
+ : 'flex',
142
167
  width: '100%',
143
168
  flexDirection: 'row',
144
169
  gap: 8,
@@ -0,0 +1,49 @@
1
+ import { ReportBuilder } from '../../hooks/useReportBuilder';
2
+ import { TextInputComponentProps } from '../UiComponents';
3
+ interface AddColumnsProps {
4
+ reportBuilder: ReportBuilder;
5
+ ModalComponent?: (props: {
6
+ isOpen: boolean;
7
+ setIsOpen: (isOpen: boolean) => void;
8
+ title?: string;
9
+ children: React.ReactNode;
10
+ }) => JSX.Element;
11
+ ButtonComponent?: (props: {
12
+ onClick: () => void;
13
+ label: string;
14
+ disabled?: boolean;
15
+ isLoading?: boolean;
16
+ }) => JSX.Element;
17
+ DraggableColumnComponent?: (props: {
18
+ label: string;
19
+ onDelete: () => void;
20
+ DragHandle: ({ dragIcon }: {
21
+ dragIcon: () => JSX.Element;
22
+ }) => JSX.Element;
23
+ deleteDisabled?: boolean;
24
+ }) => JSX.Element;
25
+ TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
26
+ SelectColumnComponent?: (props: {
27
+ label: string;
28
+ isSelected: boolean;
29
+ setSelected: () => void;
30
+ DragHandle: ({ dragIcon }: {
31
+ dragIcon: () => JSX.Element;
32
+ }) => JSX.Element;
33
+ }) => JSX.Element;
34
+ SecondaryButtonComponent?: (props: {
35
+ onClick: () => void;
36
+ label: string;
37
+ disabled?: boolean;
38
+ isLoading?: boolean;
39
+ }) => JSX.Element;
40
+ ColumnSearchEmptyState?: () => JSX.Element;
41
+ LoadingComponent?: () => JSX.Element;
42
+ ColumnDisplay?: React.ReactNode;
43
+ ModalTrigger?: React.ReactNode;
44
+ Modal?: React.ReactNode;
45
+ onRequestAddVirtualTable?: () => void;
46
+ }
47
+ export declare const AddColumns: ({ reportBuilder, ModalComponent, ButtonComponent, DraggableColumnComponent, TextInputComponent, SelectColumnComponent, SecondaryButtonComponent, ColumnSearchEmptyState, LoadingComponent, onRequestAddVirtualTable, ColumnDisplay, ModalTrigger, Modal, }: AddColumnsProps) => import("react/jsx-runtime").JSX.Element;
48
+ export {};
49
+ //# sourceMappingURL=ColumnComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ColumnComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAML,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAKzB,UAAU,eAAe;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;QAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,kBAAkB,CAAC,EACf,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IAEN,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC;AAyID,eAAO,MAAM,UAAU,+PAoCpB,eAAe,4CAQjB,CAAC"}
@@ -0,0 +1,46 @@
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.AddColumns = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const ReportBuilder_1 = require("../../models/ReportBuilder");
9
+ const UiComponents_1 = require("../UiComponents");
10
+ const AddColumnModal_1 = __importDefault(require("./AddColumnModal"));
11
+ const DraggableColumns_1 = __importDefault(require("./DraggableColumns"));
12
+ const ui_1 = require("./ui");
13
+ const ColumnsDisplayWrapper = ({ reportBuilder, DraggableColumnComponent, }) => {
14
+ return ((0, jsx_runtime_1.jsx)(DraggableColumns_1.default, { columns: reportBuilder.columns, DraggableColumnComponent: DraggableColumnComponent, onColumnOrderChange: reportBuilder.handleColumnsChange, loading: reportBuilder.loading }));
15
+ };
16
+ const ModalTriggerWrapper = ({ reportBuilder, ButtonComponent, }) => {
17
+ return ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
18
+ if (!reportBuilder.openPopover) {
19
+ reportBuilder.setOpenPopover('AddColumnModal');
20
+ }
21
+ }, label: "Select columns", disabled: reportBuilder.loading }));
22
+ };
23
+ const ModalWrapper = ({ reportBuilder, ModalComponent, TextInputComponent, SelectColumnComponent, SecondaryButtonComponent, ButtonComponent, ColumnSearchEmptyState, LoadingComponent, onRequestAddVirtualTable, }) => {
24
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: reportBuilder.openPopover === 'AddColumnModal', setIsOpen: (isOpen) => {
25
+ if (!isOpen) {
26
+ // delay onClose callback so onClick no-ops
27
+ setTimeout(() => {
28
+ reportBuilder.setOpenPopover(null);
29
+ }, 100);
30
+ }
31
+ }, title: "Select columns", children: (0, jsx_runtime_1.jsx)(AddColumnModal_1.default, { onSave: (tables, columns) => {
32
+ reportBuilder.handleMultiStateChange({
33
+ state: {
34
+ ...ReportBuilder_1.EMPTY_REPORT_BUILDER_STATE,
35
+ tables,
36
+ columns,
37
+ },
38
+ fetchData: true,
39
+ });
40
+ reportBuilder.setOpenPopover(null);
41
+ }, selectedTables: reportBuilder.tables, selectedColumns: reportBuilder.columns, schema: reportBuilder.filteredSchema, foreignKeyMap: reportBuilder.foreignKeyMap, schemaLoading: reportBuilder.schemaData.isSchemaLoading, TextInputComponent: TextInputComponent, SelectColumn: SelectColumnComponent, SecondaryButton: SecondaryButtonComponent, Button: ButtonComponent, ColumnSearchEmptyState: ColumnSearchEmptyState, LoadingComponent: LoadingComponent, onRequestAddVirtualTable: onRequestAddVirtualTable }) }));
42
+ };
43
+ const AddColumns = ({ reportBuilder, ModalComponent = UiComponents_1.MemoizedModal, ButtonComponent = UiComponents_1.MemoizedSecondaryButton, DraggableColumnComponent = ui_1.QuillDraggableColumn, TextInputComponent = UiComponents_1.QuillTextInput, SelectColumnComponent = ui_1.QuillSelectColumn, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, LoadingComponent = UiComponents_1.QuillLoadingComponent, onRequestAddVirtualTable, ColumnDisplay = ((0, jsx_runtime_1.jsx)(ColumnsDisplayWrapper, { reportBuilder: reportBuilder, DraggableColumnComponent: DraggableColumnComponent })), ModalTrigger = ((0, jsx_runtime_1.jsx)(ModalTriggerWrapper, { reportBuilder: reportBuilder, ButtonComponent: SecondaryButtonComponent })), Modal = ((0, jsx_runtime_1.jsx)(ModalWrapper, { reportBuilder: reportBuilder, ModalComponent: ModalComponent, TextInputComponent: TextInputComponent, SelectColumnComponent: SelectColumnComponent, SecondaryButtonComponent: SecondaryButtonComponent, ColumnSearchEmptyState: ColumnSearchEmptyState, LoadingComponent: LoadingComponent, ButtonComponent: ButtonComponent, onRequestAddVirtualTable: onRequestAddVirtualTable })), }) => {
44
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [ColumnDisplay, ModalTrigger, Modal] }));
45
+ };
46
+ exports.AddColumns = AddColumns;
@@ -0,0 +1,65 @@
1
+ import { ReportBuilder } from '../../hooks/useReportBuilder';
2
+ import { TextInputComponentProps, SelectComponentProps } from '../UiComponents';
3
+ interface AddFiltersProps {
4
+ reportBuilder: ReportBuilder;
5
+ FilterDisplay?: React.ReactNode;
6
+ PopoverTrigger?: React.ReactNode;
7
+ Popover?: React.ReactNode;
8
+ TabsComponent?: (props: {
9
+ options: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ value: string;
14
+ onChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
15
+ }) => JSX.Element;
16
+ FilterPopoverComponent?: (props: {
17
+ isOpen: boolean;
18
+ setIsOpen: (isOpen: boolean) => void;
19
+ popoverTitle?: string;
20
+ popoverChildren: React.ReactNode;
21
+ filterLabel: string;
22
+ onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
23
+ }) => JSX.Element;
24
+ ButtonComponent?: (props: {
25
+ onClick: () => void;
26
+ label: string;
27
+ disabled?: boolean;
28
+ icon?: React.ReactNode;
29
+ isLoading?: boolean;
30
+ tooltipText?: string;
31
+ }) => JSX.Element;
32
+ SecondaryButtonComponent?: (props: {
33
+ onClick: () => void;
34
+ label: string;
35
+ disabled?: boolean;
36
+ icon?: React.ReactNode;
37
+ tooltipText?: string;
38
+ }) => JSX.Element;
39
+ SelectComponent?: (props: SelectComponentProps) => JSX.Element;
40
+ TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
41
+ MultiSelectComponent?: (props: {
42
+ label?: string;
43
+ width: number;
44
+ value: string[];
45
+ options: {
46
+ value: string;
47
+ label: string;
48
+ }[];
49
+ onChange: (event: React.ChangeEvent<HTMLSelectElement> | {
50
+ target: {
51
+ value: (string | null)[];
52
+ };
53
+ }) => void;
54
+ }) => JSX.Element;
55
+ PopoverComponent?: (props: {
56
+ isOpen: boolean;
57
+ setIsOpen: (isOpen: boolean) => void;
58
+ triggerLabel?: string;
59
+ popoverTitle?: string;
60
+ popoverChildren: React.ReactNode;
61
+ }) => JSX.Element;
62
+ }
63
+ export declare const AddFilters: ({ reportBuilder, TabsComponent, FilterPopoverComponent, ButtonComponent, SecondaryButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, PopoverComponent, FilterDisplay, PopoverTrigger, Popover, }: AddFiltersProps) => import("react/jsx-runtime").JSX.Element;
64
+ export {};
65
+ //# sourceMappingURL=FilterComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/FilterComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
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.AddFilters = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const FilterStack_1 = __importDefault(require("./FilterStack"));
9
+ const FilterModal_1 = __importDefault(require("./FilterModal"));
10
+ const UiComponents_1 = require("../UiComponents");
11
+ const ui_1 = require("./ui");
12
+ const QuillSelect_1 = require("../QuillSelect");
13
+ const QuillMultiSelectWithCombo_1 = require("../QuillMultiSelectWithCombo");
14
+ const FilterDisplayWrapper = ({ reportBuilder, FilterStack, TabsComponent, FilterPopoverComponent, FilterModal, ButtonComponent, SecondaryButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, }) => {
15
+ return reportBuilder.filterStack.length > 0 ? ((0, jsx_runtime_1.jsx)("div", { style: {
16
+ display: 'flex',
17
+ flexDirection: 'column',
18
+ gap: 8,
19
+ marginBottom: 12,
20
+ }, children: (0, jsx_runtime_1.jsx)(FilterStack, { client: reportBuilder.client, filterStack: reportBuilder.filterStack, handleFilterStackChange: reportBuilder.handleFilterStackChange, schemaData: reportBuilder.schemaData, uniqueValues: reportBuilder.unfilteredUniqueValues, uniqueValuesIsLoading: reportBuilder.unfilteredUniqueValuesIsLoading, tables: reportBuilder.tables, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, actionsEnabled: !reportBuilder.loading, dashboardName: reportBuilder.destinationDashboard, getToken: reportBuilder.getToken, reportBuilderColumns: reportBuilder.columns }) })) : null;
21
+ };
22
+ const PopoverTriggerWrapper = ({ reportBuilder, SecondaryButtonComponent, }) => {
23
+ return ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { disabled: reportBuilder.columns.length === 0 || reportBuilder.loading, onClick: () => {
24
+ if (!reportBuilder.openPopover) {
25
+ reportBuilder.setOpenPopover('AddFilterPopover');
26
+ }
27
+ }, label: 'Add filter' }));
28
+ };
29
+ const PopoverWrapper = ({ reportBuilder, PopoverComponent, FilterModal, ButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, }) => {
30
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
31
+ position: 'relative',
32
+ ...(reportBuilder.openPopover === 'AddFilterPopover' && { top: 12 }),
33
+ }, children: (0, jsx_runtime_1.jsx)(PopoverComponent, { isOpen: reportBuilder.openPopover === 'AddFilterPopover', setIsOpen: (isOpen) => {
34
+ if (!isOpen) {
35
+ reportBuilder.setOpenPopover(null);
36
+ }
37
+ }, popoverTitle: "Add filter", popoverChildren: (0, jsx_runtime_1.jsx)(FilterModal, { schema: reportBuilder.filteredSchema, tables: reportBuilder.tables.map((table) => table.name), fieldValuesMap: reportBuilder.filteredUniqueValues ??
38
+ reportBuilder.unfilteredUniqueValues, fieldValuesMapIsLoading: reportBuilder.filteredUniqueValuesIsLoading ||
39
+ reportBuilder.unfilteredUniqueValuesIsLoading, onSubmitFilter: (filter) => {
40
+ reportBuilder.setOpenPopover(null);
41
+ reportBuilder.handleFilterInsertion(filter);
42
+ }, hideTableName: reportBuilder.tables.length === 1, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, reportBuilderColumns: reportBuilder.columns }) }) }));
43
+ };
44
+ const AddFilters = ({ reportBuilder, TabsComponent = UiComponents_1.QuillTabs, FilterPopoverComponent = ui_1.QuillFilterPopover, ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, SelectComponent = QuillSelect_1.QuillSelectComponent, TextInputComponent = UiComponents_1.QuillTextInput, MultiSelectComponent = QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, PopoverComponent = UiComponents_1.MemoizedPopover, FilterDisplay = ((0, jsx_runtime_1.jsx)(FilterDisplayWrapper, { reportBuilder: reportBuilder, FilterStack: FilterStack_1.default, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal_1.default, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent })), PopoverTrigger = ((0, jsx_runtime_1.jsx)(PopoverTriggerWrapper, { reportBuilder: reportBuilder, SecondaryButtonComponent: SecondaryButtonComponent })), Popover = ((0, jsx_runtime_1.jsx)(PopoverWrapper, { reportBuilder: reportBuilder, PopoverComponent: PopoverComponent, FilterModal: FilterModal_1.default, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent })), }) => {
45
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [FilterDisplay, (0, jsx_runtime_1.jsxs)("div", { style: {
46
+ display: 'flex',
47
+ flexDirection: 'column',
48
+ alignItems: 'flex-start',
49
+ }, children: [PopoverTrigger, Popover] })] }));
50
+ };
51
+ exports.AddFilters = AddFilters;
@@ -0,0 +1,42 @@
1
+ import { ReportBuilder } from '../../hooks/useReportBuilder';
2
+ import { TextInputComponentProps } from '../UiComponents';
3
+ interface AddLimitProps {
4
+ reportBuilder: ReportBuilder;
5
+ LimitDisplay?: React.ReactNode;
6
+ PopoverTrigger?: React.ReactNode;
7
+ Popover?: React.ReactNode;
8
+ ButtonComponent?: (props: {
9
+ onClick: () => void;
10
+ label: string;
11
+ disabled?: boolean;
12
+ icon?: React.ReactNode;
13
+ isLoading?: boolean;
14
+ tooltipText?: string;
15
+ }) => JSX.Element;
16
+ SecondaryButtonComponent?: (props: {
17
+ onClick: () => void;
18
+ label: string;
19
+ disabled?: boolean;
20
+ icon?: React.ReactNode;
21
+ tooltipText?: string;
22
+ }) => JSX.Element;
23
+ TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
24
+ PopoverComponent?: (props: {
25
+ isOpen: boolean;
26
+ setIsOpen: (isOpen: boolean) => void;
27
+ triggerLabel?: string;
28
+ popoverTitle?: string;
29
+ popoverChildren: React.ReactNode;
30
+ }) => JSX.Element;
31
+ LimitPopoverComponent?: (props: {
32
+ isOpen: boolean;
33
+ setIsOpen: (isOpen: boolean) => void;
34
+ popoverTitle?: string;
35
+ popoverChildren: React.ReactNode;
36
+ limitLabel: string;
37
+ onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
38
+ }) => JSX.Element;
39
+ }
40
+ export declare const AddLimit: ({ reportBuilder, ButtonComponent, SecondaryButtonComponent, TextInputComponent, PopoverComponent, LimitPopoverComponent, LimitDisplay, PopoverTrigger, Popover, }: AddLimitProps) => import("react/jsx-runtime").JSX.Element;
41
+ export {};
42
+ //# sourceMappingURL=LimitComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/LimitComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,uBAAuB,EAIxB,MAAM,iBAAiB,CAAC;AAKzB,UAAU,aAAa;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAG1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,kBAAkB,CAAC,EACf,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IACN,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;KAClC,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;KAC3D,KAAK,GAAG,CAAC,OAAO,CAAC;CACnB;AAsHD,eAAO,MAAM,QAAQ,sKAmClB,aAAa,4CAkBf,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddLimit = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const UiComponents_1 = require("../UiComponents");
6
+ const AddLimitPopover_1 = require("./AddLimitPopover");
7
+ const UiComponents_2 = require("../UiComponents");
8
+ const ui_1 = require("./ui");
9
+ const LimitDisplayWrapper = ({ reportBuilder, LimitSentence, setOpenPopover, LimitPopover, EditPopover, TextInput, Button, SecondaryButton, }) => {
10
+ return reportBuilder.limit ? ((0, jsx_runtime_1.jsx)("div", { style: {
11
+ display: 'flex',
12
+ flexDirection: 'column',
13
+ gap: 8,
14
+ marginBottom: 12,
15
+ }, children: (0, jsx_runtime_1.jsx)(LimitSentence, { limit: reportBuilder.limit?.value || 0, setOpenPopover: setOpenPopover, LimitPopover: LimitPopover, EditPopover: EditPopover, handleDelete: () => {
16
+ reportBuilder.onLimitChange(null, false);
17
+ setOpenPopover(null);
18
+ }, onSave: (limit) => {
19
+ reportBuilder.onLimitChange(limit, false);
20
+ setOpenPopover(null);
21
+ }, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton, disabled: reportBuilder.loading }) })) : null;
22
+ };
23
+ const PopoverTriggerWrapper = ({ reportBuilder, SecondaryButtonComponent, }) => {
24
+ return ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { disabled: reportBuilder.columns.length === 0 || reportBuilder.loading, onClick: () => {
25
+ if (!reportBuilder.openPopover) {
26
+ reportBuilder.setOpenPopover('AddLimitPopover');
27
+ }
28
+ }, label: 'Add limit' }));
29
+ };
30
+ const PopoverWrapper = ({ reportBuilder, PopoverComponent, AddLimitPopover, TextInputComponent, ButtonComponent, SecondaryButtonComponent, }) => {
31
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
32
+ position: 'relative',
33
+ ...(reportBuilder.openPopover === 'AddLimitPopover' && { top: 12 }),
34
+ }, children: (0, jsx_runtime_1.jsx)(PopoverComponent, { isOpen: reportBuilder.openPopover === 'AddLimitPopover', setIsOpen: (isOpen) => {
35
+ if (!isOpen) {
36
+ reportBuilder.setOpenPopover(null);
37
+ }
38
+ }, popoverTitle: "Add limit", popoverChildren: (0, jsx_runtime_1.jsx)(AddLimitPopover, { TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, onSave: (limit) => {
39
+ reportBuilder.onLimitChange(limit, false);
40
+ reportBuilder.setOpenPopover(null);
41
+ } }) }) }));
42
+ };
43
+ const AddLimit = ({ reportBuilder, ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, TextInputComponent = UiComponents_2.QuillTextInput, PopoverComponent = UiComponents_1.MemoizedPopover, LimitPopoverComponent = ui_1.QuillLimitPopover, LimitDisplay = reportBuilder.limit ? ((0, jsx_runtime_1.jsx)(LimitDisplayWrapper, { reportBuilder: reportBuilder, LimitSentence: AddLimitPopover_1.LimitSentence, setOpenPopover: reportBuilder.setOpenPopover, LimitPopover: LimitPopoverComponent, EditPopover: AddLimitPopover_1.AddLimitPopover, TextInput: TextInputComponent, Button: ButtonComponent, SecondaryButton: SecondaryButtonComponent })) : null, PopoverTrigger = ((0, jsx_runtime_1.jsx)(PopoverTriggerWrapper, { reportBuilder: reportBuilder, SecondaryButtonComponent: SecondaryButtonComponent })), Popover = ((0, jsx_runtime_1.jsx)(PopoverWrapper, { reportBuilder: reportBuilder, PopoverComponent: PopoverComponent, AddLimitPopover: AddLimitPopover_1.AddLimitPopover, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent })), }) => {
44
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [LimitDisplay, !reportBuilder.limit && ((0, jsx_runtime_1.jsxs)("div", { style: {
45
+ display: 'flex',
46
+ flexDirection: 'column',
47
+ alignItems: 'flex-start',
48
+ }, children: [PopoverTrigger, Popover] }))] }));
49
+ };
50
+ exports.AddLimit = AddLimit;
@@ -0,0 +1,66 @@
1
+ import { ReportBuilder } from '../../hooks/useReportBuilder';
2
+ import { TextInputComponentProps, SelectComponentProps } from '../UiComponents';
3
+ interface AddPivotProps {
4
+ reportBuilder: ReportBuilder;
5
+ parentRef?: any;
6
+ theme?: any;
7
+ PivotDisplay?: React.ReactNode;
8
+ PivotModal?: React.ReactNode;
9
+ SubHeaderComponent?: (props: {
10
+ label: string;
11
+ }) => JSX.Element;
12
+ DeleteButtonComponent?: (props: {
13
+ onClick: () => void;
14
+ }) => JSX.Element;
15
+ SelectComponent?: (props: SelectComponentProps) => JSX.Element;
16
+ TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
17
+ ButtonComponent?: (props: {
18
+ onClick: () => void;
19
+ label: string;
20
+ disabled?: boolean;
21
+ icon?: React.ReactNode;
22
+ isLoading?: boolean;
23
+ tooltipText?: string;
24
+ }) => JSX.Element;
25
+ CardComponent?: (props: {
26
+ children: React.ReactNode;
27
+ onClick?: () => void;
28
+ onDelete?: () => void;
29
+ }) => JSX.Element;
30
+ SecondaryButtonComponent?: (props: {
31
+ onClick: () => void;
32
+ label: string;
33
+ disabled?: boolean;
34
+ icon?: React.ReactNode;
35
+ tooltipText?: string;
36
+ }) => JSX.Element;
37
+ PopoverComponent?: (props: {
38
+ isOpen: boolean;
39
+ setIsOpen: (isOpen: boolean) => void;
40
+ triggerLabel?: string;
41
+ popoverTitle?: string;
42
+ popoverChildren: React.ReactNode;
43
+ }) => JSX.Element;
44
+ TextComponent?: (props: {
45
+ label: string;
46
+ }) => JSX.Element;
47
+ ErrorMessageComponent?: (props: {
48
+ errorMessage: string;
49
+ }) => JSX.Element;
50
+ PivotRowContainer?: (props: {
51
+ children: React.ReactNode;
52
+ }) => JSX.Element;
53
+ PivotColumnContainer?: (props: {
54
+ children: React.ReactNode;
55
+ }) => JSX.Element;
56
+ LoadingComponent?: () => JSX.Element;
57
+ LabelComponent?: (props: {
58
+ label: string;
59
+ }) => JSX.Element;
60
+ HeaderComponent?: (props: {
61
+ label: string;
62
+ }) => JSX.Element;
63
+ }
64
+ export declare const AddPivot: ({ reportBuilder, parentRef, theme, SubHeaderComponent, DeleteButtonComponent, SelectComponent, TextInputComponent, ButtonComponent, CardComponent, SecondaryButtonComponent, PopoverComponent, TextComponent, ErrorMessageComponent, PivotRowContainer, PivotColumnContainer, LoadingComponent, LabelComponent, HeaderComponent, PivotModal, PivotDisplay, }: AddPivotProps) => import("react/jsx-runtime").JSX.Element;
65
+ export {};
66
+ //# sourceMappingURL=PivotComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PivotComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/PivotComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
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.AddPivot = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const PivotModal_1 = require("../../internals/ReportBuilder/PivotModal");
9
+ const PivotForm_1 = __importDefault(require("../../internals/ReportBuilder/PivotForm"));
10
+ const UiComponents_1 = require("../UiComponents");
11
+ const QuillCard_1 = require("../QuillCard");
12
+ const QuillSelectWithCombo_1 = require("../QuillSelectWithCombo");
13
+ const PivotModalWrapper = ({ reportBuilder, PivotModalComponent, SubHeaderComponent, DeleteButtonComponent, SelectComponent, TextInputComponent, ButtonComponent, CardComponent, SecondaryButtonComponent, PopoverComponent, TextComponent, ErrorMessageComponent, PivotRowContainer, PivotColumnContainer, LoadingComponent, LabelComponent, HeaderComponent, initialTableName, parentRef, theme, destinationDashboard, }) => {
14
+ return ((0, jsx_runtime_1.jsx)(PivotModalComponent, { pivotRowField: reportBuilder.pivotRowField, setPivotRowField: reportBuilder.setPivotRowField, pivotColumnField: reportBuilder.pivotColumnField, setPivotColumnField: reportBuilder.setPivotColumnField, pivotAggregations: reportBuilder.pivotAggregations, setPivotAggregations: reportBuilder.setPivotAggregations, pivotSort: reportBuilder.pivotSort, setPivotSort: reportBuilder.setPivotSort, pivotLimit: reportBuilder.pivotLimit, setPivotLimit: reportBuilder.setPivotLimit, createdPivots: reportBuilder.createdPivots, setCreatedPivots: reportBuilder.setCreatedPivots, recommendedPivots: reportBuilder.recommendedPivots, setRecommendedPivots: reportBuilder.setRecommendedPivots, popUpTitle: reportBuilder.pivotPopUpTitle, setPopUpTitle: reportBuilder.setPivotPopUpTitle, selectedTable: initialTableName, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, TextComponent: TextComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, isOpen: reportBuilder.showPivotPopover, setIsOpen: reportBuilder.setShowPivotPopover, showUpdatePivot: reportBuilder.isEditingPivot, setShowUpdatePivot: reportBuilder.setIsEditingPivot, parentRef: parentRef, data: reportBuilder.reportRows, columns: reportBuilder.reportColumnsToStateColumns, triggerButtonText: 'Add pivot', selectedPivotIndex: reportBuilder.selectedPivotIndex, setSelectedPivotIndex: reportBuilder.setSelectedPivotIndex, removePivot: () => {
15
+ reportBuilder.handlePivotChange(null);
16
+ }, selectPivot: async (selectedPivot) => {
17
+ if (!selectedPivot)
18
+ return;
19
+ reportBuilder.handlePivotChange(selectedPivot, true);
20
+ }, selectPivotOnEdit: true, showTrigger: !reportBuilder.pivot, theme: theme, LabelComponent: LabelComponent, HeaderComponent: HeaderComponent, dateRange: undefined, pivotCountRequest: 4, query: reportBuilder.activeQuery, initialUniqueValues: reportBuilder.columnUniqueValues, uniqueValuesIsLoading: reportBuilder.filteredUniqueValuesIsLoading ||
21
+ reportBuilder.unfilteredUniqueValuesIsLoading, disabled: !reportBuilder.columns.length || reportBuilder.loading, pivotRecommendationsEnabled: reportBuilder.pivotRecommendationsEnabledState, report: reportBuilder.tempReport, dashboardName: destinationDashboard, heightAdjustment: 150 }));
22
+ };
23
+ const PivotFormWrapper = ({ reportBuilder, PivotForm, SecondaryButtonComponent, SelectComponent, TextInputComponent, PivotColumnContainer, DeleteButtonComponent, }) => {
24
+ return ((0, jsx_runtime_1.jsx)(PivotForm, { columns: reportBuilder.reportColumnsToStateColumns, uniqueValues: reportBuilder.columnUniqueValues, uniqueValuesIsLoading: reportBuilder.filteredUniqueValuesIsLoading ||
25
+ reportBuilder.unfilteredUniqueValuesIsLoading, setPivotRowField: (value) => {
26
+ reportBuilder.setPivotRowField(value);
27
+ reportBuilder.updatePivot(value, 'rowField');
28
+ }, setPivotColumnField: (value) => {
29
+ reportBuilder.setPivotColumnField(value);
30
+ reportBuilder.updatePivot(value, 'columnField');
31
+ }, setPivotAggregations: (value) => {
32
+ reportBuilder.setPivotAggregations(value);
33
+ reportBuilder.updatePivot(value, 'aggregations');
34
+ }, setPivotLimit: (limit) => {
35
+ reportBuilder.setPivotLimit(limit);
36
+ reportBuilder.updatePivot(limit, 'rowLimit');
37
+ }, setPivotSort: (sort) => {
38
+ reportBuilder.setPivotSort(sort);
39
+ reportBuilder.updatePivot(sort, 'sort');
40
+ }, setPivotError: reportBuilder.setPivotError, onDelete: () => {
41
+ reportBuilder.handlePivotChange(null);
42
+ }, isLoading: reportBuilder.loading, pivotRowField: reportBuilder.pivotRowField, pivotColumnField: reportBuilder.pivotColumnField, pivotAggregations: reportBuilder.pivotAggregations, pivotLimit: reportBuilder.pivotLimit, pivotSort: reportBuilder.pivotSort, sortColumns: reportBuilder.pivotData?.columns ?? [], SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, PivotColumnContainer: PivotColumnContainer, DeleteButtonComponent: DeleteButtonComponent, pivotHint: reportBuilder.pivotHint }));
43
+ };
44
+ const AddPivot = ({ reportBuilder, parentRef, theme, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, SelectComponent = QuillSelectWithCombo_1.QuillSelectComponentWithCombo, TextInputComponent = UiComponents_1.QuillTextInput, ButtonComponent = UiComponents_1.MemoizedButton, CardComponent = QuillCard_1.QuillCard, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, PopoverComponent = UiComponents_1.MemoizedPopover, TextComponent = UiComponents_1.MemoizedText, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, LoadingComponent = UiComponents_1.QuillLoadingComponent, LabelComponent = UiComponents_1.MemoizedLabel, HeaderComponent = UiComponents_1.MemoizedHeader, PivotModal = ((0, jsx_runtime_1.jsx)(PivotModalWrapper, { reportBuilder: reportBuilder, PivotModalComponent: PivotModal_1.PivotModal, SubHeaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, TextComponent: TextComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, LabelComponent: LabelComponent, HeaderComponent: HeaderComponent, initialTableName: reportBuilder.initialTableName, parentRef: parentRef, theme: theme, destinationDashboard: reportBuilder.destinationDashboard })), PivotDisplay = reportBuilder.pivot ? ((0, jsx_runtime_1.jsx)(PivotFormWrapper, { reportBuilder: reportBuilder, PivotForm: PivotForm_1.default, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, PivotColumnContainer: PivotColumnContainer, DeleteButtonComponent: DeleteButtonComponent })) : null, }) => {
45
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [PivotModal, PivotDisplay] }));
46
+ };
47
+ exports.AddPivot = AddPivot;