@quillsql/admin 1.6.4 → 1.7.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 (222) hide show
  1. package/dist/cjs/Admin.d.ts +11 -8
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +114 -7
  4. package/dist/cjs/AdminProvider.d.ts +24 -5
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +173 -85
  7. package/dist/cjs/api/ConnectionClient.d.ts +6 -3
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +66 -6
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  11. package/dist/cjs/assets/XIcon.d.ts.map +1 -1
  12. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
  13. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  14. package/dist/cjs/components/DashboardSelectPopover.js +29 -1
  15. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  16. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  17. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  18. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  19. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  20. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  21. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +114 -34
  22. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  23. package/dist/cjs/components/OrgSelect.js +48 -4
  24. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +5 -1
  25. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  26. package/dist/cjs/components/QuillMultiSelectWithCombo.js +328 -149
  27. package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
  28. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  29. package/dist/cjs/components/QuillSelectWithCombo.js +34 -6
  30. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
  31. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  32. package/dist/cjs/components/SqlTextEditor.js +15 -2
  33. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
  34. package/dist/cjs/components/Tenants/EditTenant.js +51 -8
  35. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  36. package/dist/cjs/components/UiComponents.js +1 -0
  37. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  38. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +50 -2
  39. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  40. package/dist/cjs/forms/client_onboard/ConnectSchema.js +33 -1
  41. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  42. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  43. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +55 -21
  44. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +1 -1
  45. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +1 -1
  46. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  47. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +92 -10
  48. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
  49. package/dist/cjs/hooks/useDatabaseSchema.js +12 -1
  50. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  51. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  52. package/dist/cjs/hooks/useLongLoading.js +67 -0
  53. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  54. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
  55. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  56. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
  57. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
  58. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
  59. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  60. package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
  61. package/dist/cjs/modals/CodePreview.js +7 -2
  62. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
  63. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
  64. package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
  65. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
  66. package/dist/cjs/modals/EditEnvironmentModal.js +67 -15
  67. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  68. package/dist/cjs/modals/EditFiltersModal.js +12 -8
  69. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  70. package/dist/cjs/modals/NewDashboardModal.js +54 -28
  71. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
  72. package/dist/cjs/modals/PromoteReportModal.js +15 -4
  73. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  74. package/dist/cjs/modals/PromoteViewModal.js +13 -2
  75. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
  76. package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
  77. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
  78. package/dist/cjs/primitives/PopoverPrimitive.js +16 -5
  79. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  80. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
  81. package/dist/cjs/public_components/ChartQueryBuilder.js +6 -6
  82. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  83. package/dist/cjs/public_components/CreateEnvironment.js +49 -16
  84. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  85. package/dist/cjs/public_components/DashboardManager.js +63 -5
  86. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
  87. package/dist/cjs/public_components/EnvSelectPopover.js +31 -3
  88. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
  89. package/dist/cjs/public_components/VirtualTableManager.js +95 -5
  90. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +41 -2
  91. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  92. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  93. package/dist/cjs/utils/columnProcessing.js +6 -1
  94. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  95. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  96. package/dist/cjs/utils/databases.d.ts +6 -1
  97. package/dist/cjs/utils/databases.d.ts.map +1 -1
  98. package/dist/cjs/utils/databases.js +18 -0
  99. package/dist/cjs/utils/delay.d.ts.map +1 -1
  100. package/dist/cjs/utils/filter.d.ts +17 -21
  101. package/dist/cjs/utils/filter.d.ts.map +1 -1
  102. package/dist/cjs/utils/filter.js +6 -6
  103. package/dist/cjs/utils/report.d.ts +5 -5
  104. package/dist/cjs/utils/report.d.ts.map +1 -1
  105. package/dist/cjs/utils/schema.d.ts +6 -3
  106. package/dist/cjs/utils/schema.d.ts.map +1 -1
  107. package/dist/cjs/utils/schema.js +42 -3
  108. package/dist/cjs/utils/table.d.ts.map +1 -1
  109. package/dist/cjs/utils/tenants.d.ts.map +1 -1
  110. package/dist/cjs/utils/ui.d.ts.map +1 -1
  111. package/dist/esm/Admin.d.ts +11 -8
  112. package/dist/esm/Admin.d.ts.map +1 -1
  113. package/dist/esm/Admin.js +115 -8
  114. package/dist/esm/AdminProvider.d.ts +24 -5
  115. package/dist/esm/AdminProvider.d.ts.map +1 -1
  116. package/dist/esm/AdminProvider.js +174 -86
  117. package/dist/esm/api/ConnectionClient.d.ts +6 -3
  118. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  119. package/dist/esm/api/ConnectionClient.js +66 -6
  120. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  121. package/dist/esm/assets/XIcon.d.ts.map +1 -1
  122. package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
  123. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  124. package/dist/esm/components/DashboardSelectPopover.js +29 -1
  125. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  126. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  127. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  128. package/dist/esm/components/InternalDashboard/DashboardFilter.js +1 -1
  129. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  130. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  131. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  132. package/dist/esm/components/InternalDashboard/InternalDashboard.js +115 -35
  133. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  134. package/dist/esm/components/OrgSelect.js +48 -4
  135. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +5 -1
  136. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  137. package/dist/esm/components/QuillMultiSelectWithCombo.js +328 -149
  138. package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
  139. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  140. package/dist/esm/components/QuillSelectWithCombo.js +34 -6
  141. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
  142. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  143. package/dist/esm/components/SqlTextEditor.js +15 -2
  144. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
  145. package/dist/esm/components/Tenants/EditTenant.js +51 -8
  146. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  147. package/dist/esm/components/UiComponents.js +1 -0
  148. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  149. package/dist/esm/forms/client_onboard/ConnectDatabase.js +50 -2
  150. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  151. package/dist/esm/forms/client_onboard/ConnectSchema.js +33 -1
  152. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  153. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  154. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +56 -22
  155. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +1 -1
  156. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +1 -1
  157. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  158. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +93 -11
  159. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
  160. package/dist/esm/hooks/useDatabaseSchema.js +12 -1
  161. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  162. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  163. package/dist/esm/hooks/useLongLoading.js +64 -0
  164. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  165. package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
  166. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  167. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
  168. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
  169. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
  170. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  171. package/dist/esm/modals/CodePreview.d.ts.map +1 -1
  172. package/dist/esm/modals/CodePreview.js +7 -2
  173. package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
  174. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
  175. package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
  176. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
  177. package/dist/esm/modals/EditEnvironmentModal.js +67 -15
  178. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  179. package/dist/esm/modals/EditFiltersModal.js +13 -9
  180. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  181. package/dist/esm/modals/NewDashboardModal.js +55 -29
  182. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
  183. package/dist/esm/modals/PromoteReportModal.js +15 -4
  184. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  185. package/dist/esm/modals/PromoteViewModal.js +13 -2
  186. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
  187. package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
  188. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
  189. package/dist/esm/primitives/PopoverPrimitive.js +16 -5
  190. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  191. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
  192. package/dist/esm/public_components/ChartQueryBuilder.js +8 -8
  193. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  194. package/dist/esm/public_components/CreateEnvironment.js +49 -16
  195. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  196. package/dist/esm/public_components/DashboardManager.js +64 -6
  197. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
  198. package/dist/esm/public_components/EnvSelectPopover.js +31 -3
  199. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
  200. package/dist/esm/public_components/VirtualTableManager.js +95 -5
  201. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +41 -2
  202. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  203. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  204. package/dist/esm/utils/columnProcessing.js +6 -1
  205. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  206. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  207. package/dist/esm/utils/databases.d.ts +6 -1
  208. package/dist/esm/utils/databases.d.ts.map +1 -1
  209. package/dist/esm/utils/databases.js +18 -0
  210. package/dist/esm/utils/delay.d.ts.map +1 -1
  211. package/dist/esm/utils/filter.d.ts +17 -21
  212. package/dist/esm/utils/filter.d.ts.map +1 -1
  213. package/dist/esm/utils/filter.js +5 -5
  214. package/dist/esm/utils/report.d.ts +5 -5
  215. package/dist/esm/utils/report.d.ts.map +1 -1
  216. package/dist/esm/utils/schema.d.ts +6 -3
  217. package/dist/esm/utils/schema.d.ts.map +1 -1
  218. package/dist/esm/utils/schema.js +42 -3
  219. package/dist/esm/utils/table.d.ts.map +1 -1
  220. package/dist/esm/utils/tenants.d.ts.map +1 -1
  221. package/dist/esm/utils/ui.d.ts.map +1 -1
  222. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAiB,MAAM,oBAAoB,CAAC;AAO/E,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CACd,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EACF,MAAM,GACN,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GACjB;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,GAClC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACtB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KACzC,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,GACf,EAAE,oBAAoB,kDAwKtB"}
1
+ {"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,uBAAuB,IAAI,OAAO,EAEnC,MAAM,oBAAoB,CAAC;AAO5B,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CACd,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EACF,MAAM,GACN,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GACjB;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,GAClC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACtB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KACzC,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,GACf,EAAE,oBAAoB,kDAwKtB"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
- import { PRIMARY_RANGE } from '../../utils/filter';
3
+ import { PRIMARY_RANGE, } from '../../utils/filter';
4
4
  import { QuillMultiSelectComponentWithCombo } from '../QuillMultiSelectWithCombo';
5
5
  import { QuillSelectComponentWithCombo } from '../QuillSelectWithCombo';
6
6
  import { QuillDateRangePicker } from './DateRangePicker/QuillDateRangePicker';
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardLoadingComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardLoadingComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,yBAAyB,+DAInC;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACtC,4CA6BA,CAAC"}
1
+ {"version":3,"file":"DashboardLoadingComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardLoadingComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,yBAAyB,GAAI,4DAIvC;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACtC,4CA6BA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../../../src/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,WAAW,WAAY,MAAM,aAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,UAAU,MAAM,WAEnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,kBACvB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,gBAU1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBACrB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,SAU1C,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACzB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBAWzC,CAAC;AAEF,eAAO,MAAM,YAAY,YACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACvB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBASzC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC;CAyB9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,OAAO,aAAa,GAAG,MAAM,CAAA;CAStE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,EAqBA,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;mDACW,cAAc;;;;0CAIvB,cAAc;;;;2CAIb,cAAc;;;;2CAId,cAAc;;;;;CAKpC,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,IAAI,GAAG,SAAS,CAAC;CAC3B,EAiDA,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,qBAAqB,EAyCjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EA+BvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,6BAOhD,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC5B,MAAM,iBACC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,EAAE;;;;;;CAQJ,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,GAAG,QACJ,IAAI,kBACM,IAAI,GAAG,IAAI,gBACb,IAAI,GAAG,IAAI,eACZ,IAAI,GAAG,SAAS,kBACb,OAAO,QAgCxB,CAAC;AAkGF,eAAO,MAAM,eAAe,qBACR,IAAI,GAAG,IAAI,kBACb,IAAI,GAAG,IAAI,uBA0C5B,CAAC;AAmGF,eAAO,MAAM,mBAAmB,cACnB,IAAI,GAAG,IAAI,WACb,IAAI,GAAG,IAAI,WACX,MAAM,WAyChB,CAAC"}
1
+ {"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../../../src/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/InternalDashboard.tsx"],"names":[],"mappings":"AA4BA,OAAO,EACL,aAAa,EAOd,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,cAAc,EACd,WAAW,EAIZ,MAAM,iBAAiB,CAAC;AA+EzB,eAAO,MAAM,iBAAiB,iHAa3B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,4CAmhEA,CAAC"}
1
+ {"version":3,"file":"InternalDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/InternalDashboard.tsx"],"names":[],"mappings":"AA4BA,OAAO,EACL,aAAa,EAOd,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,cAAc,EACd,WAAW,EAIZ,MAAM,iBAAiB,CAAC;AA+EzB,eAAO,MAAM,iBAAiB,GAAI,8GAa/B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,4CAsmEA,CAAC"}
@@ -4,10 +4,10 @@ import { getEventCoordinates } from '@dnd-kit/utilities';
4
4
  import { CSS } from '@dnd-kit/utilities';
5
5
  import { DndContext, closestCorners, KeyboardSensor, PointerSensor, useSensor, useSensors, TouchSensor, MeasuringStrategy, pointerWithin, rectIntersection, DragOverlay, useDroppable, closestCenter, } from '@dnd-kit/core';
6
6
  import { useCallback, useEffect, useMemo, useRef, useState, memo, } from 'react';
7
- import { Chart, useDashboard, useAllReports, } from '@quillsql/react';
7
+ import { Chart, useDashboardInternal, useAllReports, } from '@quillsql/react';
8
8
  import equal from 'fast-deep-equal';
9
9
  import { useAdmin } from '../../AdminProvider';
10
- import { convertCustomFilter, DashboardFilterType, } from '../../utils/filter';
10
+ import { convertCustomFilter, InternalDashboardFilterType as DashboardFilterType, } from '../../utils/filter';
11
11
  import EmptyDashboardComponent from '../EmptyDashboardComponent';
12
12
  import { DashboardLoadingComponent } from './DashboardLoadingComponent';
13
13
  import { QuillErrorMessageComponent } from '../UiComponents';
@@ -56,7 +56,7 @@ onChangeLoading, filters,
56
56
  // onClickChartElement,
57
57
  // dateBucket,
58
58
  containerStyle, parentLoading, onManageDashboard, }) => {
59
- const { state, clientLoading: isClientLoading } = useAdmin();
59
+ const { state, clientLoading: isClientLoading, eventTracking } = useAdmin();
60
60
  const tenants = state.currentTenantIdentity;
61
61
  // const client = state.client;
62
62
  // const [userFilters, setUserFilters] = useState<{
@@ -70,7 +70,7 @@ containerStyle, parentLoading, onManageDashboard, }) => {
70
70
  // useEffect(() => {
71
71
  // onUserFiltersUpdated?.(Object.values(userFilters));
72
72
  // }, [userFilters]);
73
- const { isLoading, data, isDashboardFilterLoading, dashboardFilters: populatedDashboardFilters, reload, setSectionOrder, } = useDashboard(name, filters?.map((f) => convertCustomFilter(f)) ?? []);
73
+ const { isLoading, data, isDashboardFilterLoading, dashboardFilters: populatedDashboardFilters, reload, setSectionOrder, } = useDashboardInternal(name, filters?.map((f) => convertCustomFilter(f)) ?? []);
74
74
  const { allReportsById } = useAllReports();
75
75
  const [previewSectionOrder, setPreviewSectionOrder] = useState({});
76
76
  const [isEditingNewSection, setIsEditingNewSection] = useState(false);
@@ -262,7 +262,11 @@ containerStyle, parentLoading, onManageDashboard, }) => {
262
262
  // A filter value can either be a string, an array of strings for a multiselect, or a date range (that could have a comparison range)
263
263
  const [filterValues, setFilterValues] = useState({});
264
264
  const prevNameRef = useRef(name);
265
- const prevTenantsRef = useRef(tenants);
265
+ // const prevTenantsRef = useRef<
266
+ // | { tenantIds: (string | number)[]; tenantField: string }[]
267
+ // | (string | number)[]
268
+ // | undefined
269
+ // >(tenants);
266
270
  // const prevFlagsRef = useRef<string[] | undefined>(flags);
267
271
  // const prevClientRef = useRef<string>(client?.publicKey ?? '');
268
272
  // const addFilterPopoverButtonRef = useRef<HTMLDivElement>(null);
@@ -273,6 +277,7 @@ containerStyle, parentLoading, onManageDashboard, }) => {
273
277
  }
274
278
  // const pendingReloadRef = useRef(false);
275
279
  const isInitialLoadOfDashboardRef = useRef(false);
280
+ const [initialLoad, setInitialLoad] = useState(true);
276
281
  // const referencedTables = useMemo(() => {
277
282
  // const sections = data?.sections || {};
278
283
  // // find intersection of all referenced tables
@@ -286,8 +291,12 @@ containerStyle, parentLoading, onManageDashboard, }) => {
286
291
  useEffect(() => {
287
292
  if (prevNameRef.current === name &&
288
293
  Object.values(data?.sections ?? {}).flat().length) {
294
+ setInitialLoad(false);
289
295
  return;
290
296
  }
297
+ else {
298
+ setInitialLoad(true);
299
+ }
291
300
  prevNameRef.current = name;
292
301
  if (isClientLoading || parentLoading || tenants === undefined) {
293
302
  // Reload the dashboard when the client is loaded
@@ -297,36 +306,34 @@ containerStyle, parentLoading, onManageDashboard, }) => {
297
306
  if (isInitialLoadOfDashboardRef.current)
298
307
  return;
299
308
  isInitialLoadOfDashboardRef.current = true;
300
- reload(name, true, undefined, populatedDashboardFilters?.length
301
- ? { filters: populatedDashboardFilters, refetchReports: true }
302
- : undefined).then(() => {
309
+ reload(name, true).then(() => {
303
310
  isInitialLoadOfDashboardRef.current = false;
304
- prevTenantsRef.current = tenants;
305
- // prevFlagsRef.current = flags;
306
- });
307
- }, [name, isClientLoading, parentLoading, tenants]);
308
- const tenantMounted = useRef(false);
309
- useEffect(() => {
310
- if (!tenantMounted.current) {
311
- tenantMounted.current = true;
312
- return;
313
- }
314
- const tenantsChanged = !equal(prevTenantsRef.current, tenants);
315
- // || equal(prevFlagsRef.current, flags);
316
- if (isClientLoading || tenants === undefined || !tenantsChanged) {
317
- // Reload the dashboard when the client is loaded
318
- // pendingReloadRef.current = true;
319
- return;
320
- }
321
- if (isInitialLoadOfDashboardRef.current)
322
- return;
323
- isInitialLoadOfDashboardRef.current = true;
324
- reload(name, tenantsChanged).then(() => {
325
- prevTenantsRef.current = tenants;
311
+ setInitialLoad(false);
312
+ // prevTenantsRef.current = tenants;
326
313
  // prevFlagsRef.current = flags;
327
- isInitialLoadOfDashboardRef.current = false;
328
314
  });
329
- }, [tenants]);
315
+ }, [name, isClientLoading, parentLoading]);
316
+ // const tenantMounted = useRef(false);
317
+ // useEffect(() => {
318
+ // if (!tenantMounted.current) {
319
+ // tenantMounted.current = true;
320
+ // return;
321
+ // }
322
+ // const tenantsChanged = !equal(prevTenantsRef.current, tenants);
323
+ // // || equal(prevFlagsRef.current, flags);
324
+ // if (isClientLoading || tenants === undefined || !tenantsChanged) {
325
+ // // Reload the dashboard when the client is loaded
326
+ // // pendingReloadRef.current = true;
327
+ // return;
328
+ // }
329
+ // if (isInitialLoadOfDashboardRef.current) return;
330
+ // isInitialLoadOfDashboardRef.current = true;
331
+ // reload(name, tenantsChanged).then(() => {
332
+ // prevTenantsRef.current = tenants;
333
+ // // prevFlagsRef.current = flags;
334
+ // isInitialLoadOfDashboardRef.current = false;
335
+ // });
336
+ // }, [tenants]);
330
337
  // TODO: this block does not appear necessary, uncomment if otherwise
331
338
  // useEffect(() => {
332
339
  // if (prevClientRef.current === client?.publicKey) {
@@ -438,6 +445,17 @@ containerStyle, parentLoading, onManageDashboard, }) => {
438
445
  const updateFilter = (filter, value, comparison) => {
439
446
  if (!populatedDashboardFilters)
440
447
  return;
448
+ eventTracking?.addBreadcrumb?.({
449
+ message: 'Updated filter in InternalDashboard',
450
+ data: {
451
+ filter: filter.label,
452
+ value: JSON.stringify(value),
453
+ dashboardName: name,
454
+ },
455
+ category: 'log',
456
+ level: 'info',
457
+ timestamp: Date.now(),
458
+ });
441
459
  let filterValue = {};
442
460
  if (filter.filterType === 'string') {
443
461
  if (filter.stringFilterType === 'multiselect') {
@@ -669,6 +687,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
669
687
  const newIndex = sortedSectionNames.indexOf(targetSection);
670
688
  if (oldIndex !== -1 && newIndex !== -1 && oldIndex !== newIndex) {
671
689
  const newSectionOrder = arrayMove(sortedSectionNames, oldIndex, newIndex);
690
+ eventTracking?.addBreadcrumb?.({
691
+ message: `Reordered Dashboard Section`,
692
+ category: 'interaction',
693
+ level: 'info',
694
+ timestamp: Date.now(),
695
+ data: {
696
+ movedSection: activeId,
697
+ oldIndex,
698
+ newIndex,
699
+ targetSection,
700
+ },
701
+ });
672
702
  handleSectionReorder(newSectionOrder);
673
703
  }
674
704
  }
@@ -740,6 +770,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
740
770
  }
741
771
  }
742
772
  newItems[sourceSection] = result;
773
+ eventTracking?.addBreadcrumb?.({
774
+ message: `Reordered Dashboard Report In Default Section`,
775
+ category: 'interaction',
776
+ level: 'info',
777
+ timestamp: Date.now(),
778
+ data: {
779
+ movedReport: reportId,
780
+ oldIndex: typeActiveIndex,
781
+ newIndex: typeOverIndex,
782
+ targetSection,
783
+ },
784
+ });
743
785
  handleReorder(newItems);
744
786
  }
745
787
  }
@@ -752,6 +794,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
752
794
  const overIndex = newItems[sourceSection].indexOf(overItem);
753
795
  if (activeIndex !== -1 && overIndex !== -1) {
754
796
  newItems[sourceSection] = arrayMove(newItems[sourceSection], activeIndex, overIndex);
797
+ eventTracking?.addBreadcrumb?.({
798
+ message: `Reordered Dashboard Report In Same Section`,
799
+ category: 'interaction',
800
+ level: 'info',
801
+ timestamp: Date.now(),
802
+ data: {
803
+ movedReport: reportId,
804
+ oldIndex: activeIndex,
805
+ newIndex: overIndex,
806
+ targetSection,
807
+ },
808
+ });
755
809
  handleReorder(newItems);
756
810
  }
757
811
  }
@@ -791,6 +845,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
791
845
  newItems[targetSection]?.push(report);
792
846
  }
793
847
  }
848
+ eventTracking?.addBreadcrumb?.({
849
+ message: `Reordered Dashboard Report In Different Section`,
850
+ category: 'interaction',
851
+ level: 'info',
852
+ timestamp: Date.now(),
853
+ data: {
854
+ movedReport: reportId,
855
+ newIndex: newItems[targetSection]?.indexOf(report),
856
+ targetSection,
857
+ sourceSection,
858
+ },
859
+ });
794
860
  handleReorder(newItems);
795
861
  }
796
862
  }, [data?.sections, sortedSectionNames, handleReorder, handleSectionReorder]);
@@ -971,13 +1037,21 @@ containerStyle, parentLoading, onManageDashboard, }) => {
971
1037
  }, [data?.sectionOrder, data?.sections, setSectionOrder]);
972
1038
  const existingSectionNames = useMemo(() => Object.keys(data?.sections || {}), [data?.sections]);
973
1039
  if (!isLoading &&
974
- (Object.keys(data?.sections ?? {}).length === 0 ||
975
- Object.values(data?.sections ?? {}).flat().length === 0)) {
1040
+ data?.sections &&
1041
+ (Object.keys(data.sections).length === 0 ||
1042
+ Object.values(data.sections).flat().length === 0)) {
976
1043
  return _jsx(EmptyDashboardComponent, {});
977
1044
  }
978
- if (hidden || isLoading || isClientLoading || parentLoading) {
1045
+ if (hidden ||
1046
+ isLoading ||
1047
+ isClientLoading ||
1048
+ parentLoading ||
1049
+ initialLoad ||
1050
+ !data?.sections) {
1051
+ // No sections means yet to fetch
979
1052
  return _jsx(DashboardLoadingComponent, { containerStyle: containerStyle });
980
1053
  }
1054
+ // TODO: Never reached
981
1055
  if (!data?.sections) {
982
1056
  return (_jsx(QuillErrorMessageComponent, { containerStyle: { height: 100 }, errorMessage: "Error loading dashboard" }));
983
1057
  }
@@ -1331,6 +1405,12 @@ containerStyle, parentLoading, onManageDashboard, }) => {
1331
1405
  marginBottom: 6,
1332
1406
  marginTop: -12,
1333
1407
  }, children: [_jsx(SecondaryButtonPrimitive, { onClick: onManageDashboard, label: "Manage Dashboard" }), _jsx(SecondaryButtonPrimitive, { onClick: () => {
1408
+ eventTracking?.addBreadcrumb?.({
1409
+ message: 'Clicked add section button in InternalDashboard',
1410
+ category: 'interaction',
1411
+ level: 'info',
1412
+ timestamp: Date.now(),
1413
+ });
1334
1414
  // Same as if the user clicked the Add section button at the bottom
1335
1415
  setIsEditingNewSection(true);
1336
1416
  // Scroll to the bottom of the page
@@ -1 +1 @@
1
- {"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAsIvB;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,2CA6JtE;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,2CA8EA"}
1
+ {"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAsIvB;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,2CAmOtE;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,2CA8EA"}
@@ -107,6 +107,7 @@ export function Popover({ onClose, parentRef, children, style = {}, onClick, lab
107
107
  export default function OrgSelect({ isLoading }) {
108
108
  const { dashboardTenants, dashboardOwnerTenant, selectedTenantType, selectedTenantValues, setSelectedTenantValues, selectedDashboardTenantIds, setSelectedTenantType, setSelectedDashboardTenantIds, dashboardTenantIdsLoading, } = useTenants();
109
109
  const { selectedDashboard } = useDashboardManager();
110
+ const { eventTracking } = useAdmin();
110
111
  const debounceIdTimeoutId = useRef(null);
111
112
  const debounceValueTimeoutId = useRef(null);
112
113
  const debouncedSetSelectedDashboardTenantIds = (value) => {
@@ -114,6 +115,15 @@ export default function OrgSelect({ isLoading }) {
114
115
  clearTimeout(debounceIdTimeoutId.current);
115
116
  }
116
117
  debounceIdTimeoutId.current = setTimeout(() => {
118
+ eventTracking?.addBreadcrumb?.({
119
+ message: 'Set tenant ids in OrgSelect',
120
+ data: {
121
+ tenantIds: value,
122
+ },
123
+ category: 'interaction',
124
+ level: 'info',
125
+ timestamp: Date.now(),
126
+ });
117
127
  setSelectedDashboardTenantIds(value);
118
128
  }, 500);
119
129
  };
@@ -122,7 +132,16 @@ export default function OrgSelect({ isLoading }) {
122
132
  clearTimeout(debounceValueTimeoutId.current);
123
133
  }
124
134
  debounceValueTimeoutId.current = setTimeout(() => {
125
- setSelectedTenantValues(value);
135
+ eventTracking?.addBreadcrumb?.({
136
+ message: 'Set tenant values in OrgSelect',
137
+ data: {
138
+ tenantValues: value,
139
+ },
140
+ category: 'interaction',
141
+ level: 'info',
142
+ timestamp: Date.now(),
143
+ });
144
+ setSelectedTenantValues(Array.isArray(value) ? value : [value]);
126
145
  }, 500);
127
146
  };
128
147
  const dashboardTenantOptions = useMemo(() => {
@@ -153,13 +172,38 @@ export default function OrgSelect({ isLoading }) {
153
172
  flexDirection: 'row',
154
173
  gap: 16,
155
174
  fontWeight: 500,
156
- }, children: [dashboardTenantOptions?.length > 1 && (_jsx(QuillSelectComponentWithCombo, { label: 'Tenant Type', width: 230, value: selectedTenantType?.tenantField, options: dashboardTenantOptions, onChange: (e) => setSelectedTenantType(e.target.value), isLoading: isLoading, disabled: isLoading, hideEmptyOption: true, badge: ownerIsSelected ? 'Owner' : undefined })), _jsx(QuillMultiSelectComponentWithCombo, { label: selectedTenantType?.scope === 'database'
175
+ }, children: [dashboardTenantOptions?.length > 1 && (_jsx(QuillSelectComponentWithCombo, { label: 'Tenant Type', width: 230, value: selectedTenantType?.tenantField, options: dashboardTenantOptions, onChange: (e) => setSelectedTenantType(e.target.value), isLoading: isLoading, disabled: isLoading, hideEmptyOption: true, badge: ownerIsSelected ? 'Owner' : undefined })), ownerIsSelected ? (_jsx(QuillSelectComponentWithCombo, { label: selectedTenantType?.scope === 'database'
176
+ ? 'Tags'
177
+ : (selectedTenantType?.name ?? 'Tenant'), width: 230, value: !tenantValueOptions.length
178
+ ? null
179
+ : selectedTenantValues
180
+ ? selectedTenantValues[0]
181
+ : null, options: tenantValueOptions, onChange: (e) => debouncedSetSelectedTenantValues(e.target.value),
182
+ // emptyLabel={
183
+ // selectedTenantType?.scope === 'database'
184
+ // ? 'No tags provided'
185
+ // : undefined
186
+ // }
187
+ disabled: isLoading, hideEmptyOption: true,
188
+ // allSelectedLabel={
189
+ // selectedTenantType?.scope === 'database' ? undefined : (
190
+ // <div style={{ display: 'flex', flexDirection: 'row', gap: 3 }}>
191
+ // <GlobeIcon
192
+ // style={{
193
+ // marginTop: 1.75,
194
+ // }}
195
+ // />
196
+ // <div>All {(selectedTenantType?.name ?? 'Tenant') + 's'}</div>
197
+ // </div>
198
+ // )
199
+ // }
200
+ isLoading: isLoading, displayValue: true })) : (_jsx(QuillMultiSelectComponentWithCombo, { label: selectedTenantType?.scope === 'database'
157
201
  ? 'Tags'
158
202
  : (selectedTenantType?.name ?? 'Tenant'), width: 230, value: !tenantValueOptions.length ? [] : (selectedTenantValues ?? []), options: tenantValueOptions, onChange: (e) => debouncedSetSelectedTenantValues(e.target.value), emptyLabel: selectedTenantType?.scope === 'database'
159
203
  ? 'No tags provided'
160
204
  : undefined, disabled: isLoading, allSelectedLabel: selectedTenantType?.scope === 'database' ? undefined : (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 3 }, children: [_jsx(GlobeIcon, { style: {
161
205
  marginTop: 1.75,
162
- } }), _jsxs("div", { children: ["All ", (selectedTenantType?.name ?? 'Tenant') + 's'] })] })), isLoading: isLoading }, (selectedTenantType?.tenantField ?? 'Tenant') + 'options'), selectedTenantType &&
206
+ } }), _jsxs("div", { children: ["All ", (selectedTenantType?.name ?? 'Tenant') + 's'] })] })), isLoading: isLoading, enableSingleSelectOption: true, displayValue: true, enableSubmitButton: true, submitButtonText: 'Submit' }, (selectedTenantType?.tenantField ?? 'Tenant') + 'options')), selectedTenantType &&
163
207
  !ownerIsSelected &&
164
208
  dashboardOwnerTenant?.scope !== 'database' &&
165
209
  !!selectedTenantValues?.length && (_jsx(QuillMultiSelectComponentWithCombo, { label: dashboardOwnerTenant?.name ?? 'Viewing as', width: 230, value: isLoading ? [] : (selectedDashboardTenantIds ?? []), options: dashboardOwnerTenant?.tenantIds?.map((id) => ({
@@ -167,7 +211,7 @@ export default function OrgSelect({ isLoading }) {
167
211
  value: id.id,
168
212
  })) ?? [], onChange: (e) => debouncedSetSelectedDashboardTenantIds(e.target.value), isLoading: dashboardTenantIdsLoading || isLoading, disabled: isLoading, allSelectedLabel: selectedTenantType?.scope === 'database' ? undefined : (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 3 }, children: [_jsx(GlobeIcon, { style: {
169
213
  marginTop: 1.75,
170
- } }), _jsx("div", { children: "All Tenants" })] })) }))] }));
214
+ } }), _jsx("div", { children: "All Tenants" })] })), enableSingleSelectOption: true, displayValue: true, enableSubmitButton: true, submitButtonText: 'Submit' }))] }));
171
215
  }
172
216
  export function ListboxRow({ item, isSelected, setSelected, hoverActions, allowUnselect, }) {
173
217
  const { state: { theme }, } = useAdmin();
@@ -17,11 +17,15 @@ export interface MultiSelectComponentProps {
17
17
  allSelectedLabel?: JSX.Element;
18
18
  noneSelectedLabel?: JSX.Element;
19
19
  mimicReactSelect?: boolean;
20
+ enableSingleSelectOption?: boolean;
21
+ displayValue?: boolean;
22
+ enableSubmitButton?: boolean;
23
+ submitButtonText?: string;
20
24
  }
21
25
  /**
22
26
  * A robust select component that implements the new minimal Select interface.
23
27
  */
24
- export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, enableSingleSelectOption, displayValue, enableSubmitButton, submitButtonText, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
25
29
  export declare const ListboxTextInput: ({ value, onChange, placeholder, id, width, }: {
26
30
  value: string;
27
31
  onChange: (e: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,EAAE,yBAAyB,2CAomB3B;AAED,eAAO,MAAM,gBAAgB,iDAM1B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,4CAkEA,CAAC"}
1
+ {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,EAAE,yBAAyB,2CAs1B3B;AAED,eAAO,MAAM,gBAAgB,GAAI,8CAM9B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,4CAkEA,CAAC"}