@quillsql/admin 1.6.4 → 1.7.1

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 (357) hide show
  1. package/dist/cjs/Admin.d.ts +3 -44
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +117 -28
  4. package/dist/cjs/AdminProvider.d.ts +9 -145
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +176 -97
  7. package/dist/cjs/api/ConnectionClient.d.ts +7 -4
  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/Banner/index.js +2 -2
  13. package/dist/cjs/components/CardSection.js +2 -2
  14. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
  15. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  16. package/dist/cjs/components/DashboardSelectPopover.js +29 -1
  17. package/dist/cjs/components/DatabaseSelector.d.ts +1 -1
  18. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  19. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +2 -2
  20. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +2 -2
  21. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  22. package/dist/cjs/components/DropDownMenuWithLabel.js +2 -2
  23. package/dist/cjs/components/DynamicBanner.d.ts +1 -1
  24. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
  25. package/dist/cjs/components/EmptyDashboardComponent/index.js +2 -2
  26. package/dist/cjs/components/EmptyVirtualTablesComponent.js +2 -2
  27. package/dist/cjs/components/FormTooltip.js +2 -2
  28. package/dist/cjs/components/InputLabel.js +2 -2
  29. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  30. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  31. package/dist/cjs/components/InternalDashboard/DashboardFilter.js +2 -2
  32. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  33. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +2 -2
  34. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  35. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  36. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +118 -38
  37. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  38. package/dist/cjs/components/OrgSelect.js +51 -7
  39. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +5 -1
  40. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  41. package/dist/cjs/components/QuillMultiSelectWithCombo.js +331 -152
  42. package/dist/cjs/components/QuillPopover.js +2 -2
  43. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  44. package/dist/cjs/components/QuillSelect.js +2 -2
  45. package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
  46. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  47. package/dist/cjs/components/QuillSelectWithCombo.js +36 -8
  48. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
  49. package/dist/cjs/components/QuillToolTipPortal.js +2 -2
  50. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  51. package/dist/cjs/components/SqlTextEditor.js +15 -2
  52. package/dist/cjs/components/Tenants/EditTenant.d.ts +1 -1
  53. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
  54. package/dist/cjs/components/Tenants/EditTenant.js +52 -9
  55. package/dist/cjs/components/UiComponents.d.ts +1 -1
  56. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  57. package/dist/cjs/components/UiComponents.js +9 -8
  58. package/dist/cjs/components/VirtualTableTile.d.ts +1 -1
  59. package/dist/cjs/components/VirtualTableTile.d.ts.map +1 -1
  60. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +1 -1
  61. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  62. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +51 -3
  63. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +1 -1
  64. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  65. package/dist/cjs/forms/client_onboard/ConnectSchema.js +34 -2
  66. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +1 -8
  67. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  68. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +24 -39
  69. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.js +2 -2
  70. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +5 -5
  71. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +5 -5
  72. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts +1 -1
  73. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  74. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +98 -16
  75. package/dist/cjs/hooks/useAdmin.d.ts +16 -0
  76. package/dist/cjs/hooks/useAdmin.d.ts.map +1 -0
  77. package/dist/cjs/hooks/useAdmin.js +13 -0
  78. package/dist/cjs/hooks/useDashboardManager.js +2 -2
  79. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
  80. package/dist/cjs/hooks/useDatabaseSchema.js +13 -2
  81. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  82. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  83. package/dist/cjs/hooks/useLongLoading.js +67 -0
  84. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  85. package/dist/cjs/hooks/useTenants.d.ts +1 -1
  86. package/dist/cjs/hooks/useTenants.d.ts.map +1 -1
  87. package/dist/cjs/hooks/useTenants.js +2 -2
  88. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
  89. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  90. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
  91. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
  92. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
  93. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  94. package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
  95. package/dist/cjs/modals/CodePreview.js +8 -3
  96. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
  97. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
  98. package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
  99. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
  100. package/dist/cjs/modals/EditEnvironmentModal.js +68 -16
  101. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  102. package/dist/cjs/modals/EditFiltersModal.js +14 -10
  103. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  104. package/dist/cjs/modals/NewDashboardModal.js +56 -30
  105. package/dist/cjs/modals/PromoteDashboardModal.js +2 -2
  106. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
  107. package/dist/cjs/modals/PromoteReportModal.js +16 -5
  108. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  109. package/dist/cjs/modals/PromoteViewModal.js +14 -3
  110. package/dist/cjs/modals/ReorderDashboardModal.js +2 -2
  111. package/dist/cjs/modals/SavedQueriesModal.js +3 -3
  112. package/dist/cjs/modals/TenantFieldModal.d.ts +9 -0
  113. package/dist/cjs/modals/TenantFieldModal.d.ts.map +1 -0
  114. package/dist/cjs/modals/TenantFieldModal.js +54 -0
  115. package/dist/cjs/models/AdminContext.d.ts +158 -0
  116. package/dist/cjs/models/AdminContext.d.ts.map +1 -0
  117. package/dist/cjs/models/AdminContext.js +5 -0
  118. package/dist/cjs/models/Provider.d.ts +45 -0
  119. package/dist/cjs/models/Provider.d.ts.map +1 -0
  120. package/dist/cjs/models/Provider.js +21 -0
  121. package/dist/cjs/models/Tenant.d.ts +39 -0
  122. package/dist/cjs/models/Tenant.d.ts.map +1 -0
  123. package/dist/cjs/models/Tenant.js +2 -0
  124. package/dist/cjs/primitives/ButtonPrimitive.d.ts +1 -1
  125. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  126. package/dist/cjs/primitives/ButtonPrimitive.js +2 -2
  127. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
  128. package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
  129. package/dist/cjs/primitives/HeaderPrimitive.d.ts +1 -1
  130. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
  131. package/dist/cjs/primitives/HeaderPrimitive.js +2 -2
  132. package/dist/cjs/primitives/MiniButtonPrimitive.js +2 -2
  133. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
  134. package/dist/cjs/primitives/PopoverPrimitive.js +18 -7
  135. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts +1 -1
  136. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  137. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +2 -2
  138. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -1
  139. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  140. package/dist/cjs/primitives/TextInputPrimitive.js +2 -2
  141. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  142. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
  143. package/dist/cjs/public_components/ChartQueryBuilder.js +11 -10
  144. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  145. package/dist/cjs/public_components/CreateEnvironment.js +50 -17
  146. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  147. package/dist/cjs/public_components/DashboardManager.js +70 -10
  148. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
  149. package/dist/cjs/public_components/EnvSelectPopover.js +32 -4
  150. package/dist/cjs/public_components/VirtualTableManager.d.ts +0 -1
  151. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
  152. package/dist/cjs/public_components/VirtualTableManager.js +99 -25
  153. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +43 -4
  154. package/dist/cjs/utils/astProcessing.d.ts +1 -1
  155. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  156. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  157. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  158. package/dist/cjs/utils/columnProcessing.js +23 -1
  159. package/dist/cjs/utils/dataEditor.d.ts +1 -1
  160. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  161. package/dist/cjs/utils/dataFetcher.d.ts +1 -1
  162. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  163. package/dist/cjs/utils/databases.d.ts +6 -1
  164. package/dist/cjs/utils/databases.d.ts.map +1 -1
  165. package/dist/cjs/utils/databases.js +18 -0
  166. package/dist/cjs/utils/delay.d.ts.map +1 -1
  167. package/dist/cjs/utils/filter.d.ts +17 -21
  168. package/dist/cjs/utils/filter.d.ts.map +1 -1
  169. package/dist/cjs/utils/filter.js +6 -6
  170. package/dist/cjs/utils/report.d.ts +5 -5
  171. package/dist/cjs/utils/report.d.ts.map +1 -1
  172. package/dist/cjs/utils/schema.d.ts +8 -5
  173. package/dist/cjs/utils/schema.d.ts.map +1 -1
  174. package/dist/cjs/utils/schema.js +42 -3
  175. package/dist/cjs/utils/table.d.ts.map +1 -1
  176. package/dist/cjs/utils/tenants.d.ts +2 -39
  177. package/dist/cjs/utils/tenants.d.ts.map +1 -1
  178. package/dist/cjs/utils/ui.d.ts.map +1 -1
  179. package/dist/esm/Admin.d.ts +3 -44
  180. package/dist/esm/Admin.d.ts.map +1 -1
  181. package/dist/esm/Admin.js +116 -29
  182. package/dist/esm/AdminProvider.d.ts +9 -145
  183. package/dist/esm/AdminProvider.d.ts.map +1 -1
  184. package/dist/esm/AdminProvider.js +177 -96
  185. package/dist/esm/api/ConnectionClient.d.ts +7 -4
  186. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  187. package/dist/esm/api/ConnectionClient.js +66 -6
  188. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  189. package/dist/esm/assets/XIcon.d.ts.map +1 -1
  190. package/dist/esm/components/Banner/index.js +1 -1
  191. package/dist/esm/components/CardSection.js +1 -1
  192. package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
  193. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  194. package/dist/esm/components/DashboardSelectPopover.js +29 -1
  195. package/dist/esm/components/DatabaseSelector.d.ts +1 -1
  196. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  197. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +1 -1
  198. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +1 -1
  199. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  200. package/dist/esm/components/DropDownMenuWithLabel.js +1 -1
  201. package/dist/esm/components/DynamicBanner.d.ts +1 -1
  202. package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
  203. package/dist/esm/components/EmptyDashboardComponent/index.js +1 -1
  204. package/dist/esm/components/EmptyVirtualTablesComponent.js +1 -1
  205. package/dist/esm/components/FormTooltip.js +1 -1
  206. package/dist/esm/components/InputLabel.js +1 -1
  207. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  208. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  209. package/dist/esm/components/InternalDashboard/DashboardFilter.js +2 -2
  210. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  211. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +1 -1
  212. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  213. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  214. package/dist/esm/components/InternalDashboard/InternalDashboard.js +116 -36
  215. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  216. package/dist/esm/components/OrgSelect.js +49 -5
  217. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +5 -1
  218. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  219. package/dist/esm/components/QuillMultiSelectWithCombo.js +329 -150
  220. package/dist/esm/components/QuillPopover.js +1 -1
  221. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  222. package/dist/esm/components/QuillSelect.js +1 -1
  223. package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
  224. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  225. package/dist/esm/components/QuillSelectWithCombo.js +35 -7
  226. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
  227. package/dist/esm/components/QuillToolTipPortal.js +1 -1
  228. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  229. package/dist/esm/components/SqlTextEditor.js +15 -2
  230. package/dist/esm/components/Tenants/EditTenant.d.ts +1 -1
  231. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
  232. package/dist/esm/components/Tenants/EditTenant.js +52 -9
  233. package/dist/esm/components/UiComponents.d.ts +1 -1
  234. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  235. package/dist/esm/components/UiComponents.js +2 -1
  236. package/dist/esm/components/VirtualTableTile.d.ts +1 -1
  237. package/dist/esm/components/VirtualTableTile.d.ts.map +1 -1
  238. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +1 -1
  239. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  240. package/dist/esm/forms/client_onboard/ConnectDatabase.js +51 -3
  241. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +1 -1
  242. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  243. package/dist/esm/forms/client_onboard/ConnectSchema.js +34 -2
  244. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +1 -8
  245. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  246. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +23 -37
  247. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.js +1 -1
  248. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +3 -3
  249. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +3 -3
  250. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts +1 -1
  251. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  252. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +96 -14
  253. package/dist/esm/hooks/useAdmin.d.ts +16 -0
  254. package/dist/esm/hooks/useAdmin.d.ts.map +1 -0
  255. package/dist/esm/hooks/useAdmin.js +9 -0
  256. package/dist/esm/hooks/useDashboardManager.js +1 -1
  257. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
  258. package/dist/esm/hooks/useDatabaseSchema.js +13 -2
  259. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  260. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  261. package/dist/esm/hooks/useLongLoading.js +64 -0
  262. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  263. package/dist/esm/hooks/useTenants.d.ts +1 -1
  264. package/dist/esm/hooks/useTenants.d.ts.map +1 -1
  265. package/dist/esm/hooks/useTenants.js +1 -1
  266. package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
  267. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  268. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
  269. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
  270. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
  271. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  272. package/dist/esm/modals/CodePreview.d.ts.map +1 -1
  273. package/dist/esm/modals/CodePreview.js +8 -3
  274. package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
  275. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
  276. package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
  277. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
  278. package/dist/esm/modals/EditEnvironmentModal.js +68 -16
  279. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  280. package/dist/esm/modals/EditFiltersModal.js +14 -10
  281. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  282. package/dist/esm/modals/NewDashboardModal.js +56 -30
  283. package/dist/esm/modals/PromoteDashboardModal.js +1 -1
  284. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
  285. package/dist/esm/modals/PromoteReportModal.js +16 -5
  286. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  287. package/dist/esm/modals/PromoteViewModal.js +14 -3
  288. package/dist/esm/modals/ReorderDashboardModal.js +1 -1
  289. package/dist/esm/modals/SavedQueriesModal.js +1 -1
  290. package/dist/esm/modals/TenantFieldModal.d.ts +9 -0
  291. package/dist/esm/modals/TenantFieldModal.d.ts.map +1 -0
  292. package/dist/esm/modals/TenantFieldModal.js +51 -0
  293. package/dist/esm/models/AdminContext.d.ts +158 -0
  294. package/dist/esm/models/AdminContext.d.ts.map +1 -0
  295. package/dist/esm/models/AdminContext.js +2 -0
  296. package/dist/esm/models/Provider.d.ts +45 -0
  297. package/dist/esm/models/Provider.d.ts.map +1 -0
  298. package/dist/esm/models/Provider.js +18 -0
  299. package/dist/esm/models/Tenant.d.ts +39 -0
  300. package/dist/esm/models/Tenant.d.ts.map +1 -0
  301. package/dist/esm/models/Tenant.js +1 -0
  302. package/dist/esm/primitives/ButtonPrimitive.d.ts +1 -1
  303. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  304. package/dist/esm/primitives/ButtonPrimitive.js +1 -1
  305. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
  306. package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
  307. package/dist/esm/primitives/HeaderPrimitive.d.ts +1 -1
  308. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
  309. package/dist/esm/primitives/HeaderPrimitive.js +1 -1
  310. package/dist/esm/primitives/MiniButtonPrimitive.js +1 -1
  311. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
  312. package/dist/esm/primitives/PopoverPrimitive.js +17 -6
  313. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts +1 -1
  314. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  315. package/dist/esm/primitives/SecondaryButtonPrimitive.js +1 -1
  316. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -1
  317. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  318. package/dist/esm/primitives/TextInputPrimitive.js +1 -1
  319. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  320. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
  321. package/dist/esm/public_components/ChartQueryBuilder.js +11 -10
  322. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  323. package/dist/esm/public_components/CreateEnvironment.js +50 -17
  324. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  325. package/dist/esm/public_components/DashboardManager.js +68 -8
  326. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
  327. package/dist/esm/public_components/EnvSelectPopover.js +32 -4
  328. package/dist/esm/public_components/VirtualTableManager.d.ts +0 -1
  329. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
  330. package/dist/esm/public_components/VirtualTableManager.js +97 -21
  331. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +42 -3
  332. package/dist/esm/utils/astProcessing.d.ts +1 -1
  333. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  334. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  335. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  336. package/dist/esm/utils/columnProcessing.js +21 -1
  337. package/dist/esm/utils/dataEditor.d.ts +1 -1
  338. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  339. package/dist/esm/utils/dataFetcher.d.ts +1 -1
  340. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  341. package/dist/esm/utils/databases.d.ts +6 -1
  342. package/dist/esm/utils/databases.d.ts.map +1 -1
  343. package/dist/esm/utils/databases.js +18 -0
  344. package/dist/esm/utils/delay.d.ts.map +1 -1
  345. package/dist/esm/utils/filter.d.ts +17 -21
  346. package/dist/esm/utils/filter.d.ts.map +1 -1
  347. package/dist/esm/utils/filter.js +5 -5
  348. package/dist/esm/utils/report.d.ts +5 -5
  349. package/dist/esm/utils/report.d.ts.map +1 -1
  350. package/dist/esm/utils/schema.d.ts +8 -5
  351. package/dist/esm/utils/schema.d.ts.map +1 -1
  352. package/dist/esm/utils/schema.js +42 -3
  353. package/dist/esm/utils/table.d.ts.map +1 -1
  354. package/dist/esm/utils/tenants.d.ts +2 -39
  355. package/dist/esm/utils/tenants.d.ts.map +1 -1
  356. package/dist/esm/utils/ui.d.ts.map +1 -1
  357. package/package.json +1 -1
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = DashboardManager;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
- const AdminProvider_1 = require("../AdminProvider");
10
- const components_1 = require("../components");
9
+ const useAdmin_1 = require("../hooks/useAdmin");
11
10
  const react_2 = require("@quillsql/react");
12
11
  const Admin_1 = require("../Admin");
13
12
  const primitives_1 = require("../primitives");
@@ -27,9 +26,13 @@ const PopoverPrimitive_1 = require("../primitives/PopoverPrimitive");
27
26
  const CodePreview_1 = __importDefault(require("../modals/CodePreview"));
28
27
  const SavedQueriesModal_1 = __importDefault(require("../modals/SavedQueriesModal"));
29
28
  const InternalDashboard_1 = require("../components/InternalDashboard/InternalDashboard");
30
- const CreateEnvironment_1 = __importDefault(require("./CreateEnvironment"));
29
+ const useLongLoading_1 = require("../hooks/useLongLoading");
30
+ const CreateEnvironmentModal_1 = __importDefault(require("../modals/CreateEnvironmentModal"));
31
+ const EnvSelectPopover_1 = __importDefault(require("./EnvSelectPopover"));
32
+ const DashboardSelectPopover_1 = __importDefault(require("../components/DashboardSelectPopover"));
33
+ const OrgSelect_1 = __importDefault(require("../components/OrgSelect"));
31
34
  function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTableManager, containerStyle, }) {
32
- const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, } = (0, AdminProvider_1.useAdmin)();
35
+ const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, eventTracking, } = (0, useAdmin_1.useAdmin)();
33
36
  const parentRef = (0, react_1.useRef)(null);
34
37
  const envSelectPopoverRef = (0, react_1.useRef)(null);
35
38
  const dashboardSelectPopoverRef = (0, react_1.useRef)(null);
@@ -41,8 +44,12 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
41
44
  //FIXME: we don't want to lift up this state
42
45
  const [userFilters, setUserFilters] = (0, react_1.useState)([]);
43
46
  const [showCreateEnvironmentModal, setShowCreateEnvironmentModal] = (0, react_1.useState)(false);
44
- const { data: dashboardConfig, reload: reloadDashboard } = (0, react_2.useDashboard)(state.selectedDashboard, userFilters);
47
+ const { data: dashboardConfig, reload: reloadDashboard } = (0, react_2.useDashboardInternal)(state.selectedDashboard, userFilters);
45
48
  const { dashboards, isLoading: dashboardsLoading } = (0, react_2.useDashboards)();
49
+ (0, useLongLoading_1.useLongLoading)(dashboardsLoading, {
50
+ origin: 'DashboardManager',
51
+ loadDescription: 'Loading dashboards',
52
+ });
46
53
  const { setSelectedDashboard } = (0, useDashboardManager_1.useDashboardManager)();
47
54
  // const [editMode, setEditMode] = useState(true);
48
55
  const [autoPromoteVirtualTables, setAutoPromoteVirtualTables] = (0, react_1.useState)(true);
@@ -63,6 +70,15 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
63
70
  type: 'SET_ACTIVE_COMPONENT',
64
71
  payload: 'Report',
65
72
  });
73
+ eventTracking?.addBreadcrumb?.({
74
+ message: 'Clicked report in DashboardManager',
75
+ data: {
76
+ report: elem.id,
77
+ },
78
+ category: 'navigation',
79
+ level: 'info',
80
+ timestamp: Date.now(),
81
+ });
66
82
  }, [dispatch]);
67
83
  const hoverActions = (data) => {
68
84
  return ((0, jsx_runtime_1.jsx)("div", { style: {
@@ -86,7 +102,7 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
86
102
  gap: 4,
87
103
  }, onClick: async (event) => {
88
104
  event.stopPropagation();
89
- if (await (0, Admin_1.deleteReport)(data.id, state, getToken)) {
105
+ if (await (0, Admin_1.deleteReport)(data.id, state, getToken, eventTracking)) {
90
106
  reloadDashboard(undefined, false, {
91
107
  report: { id: data.id },
92
108
  action: 'delete',
@@ -160,11 +176,22 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
160
176
  }
161
177
  catch (error) {
162
178
  console.error('Promotion failed:', error);
179
+ eventTracking?.logError?.({
180
+ type: 'bug', // TODO: determine type
181
+ severity: 'high',
182
+ message: 'Error promoting dashboard',
183
+ errorMessage: error.message,
184
+ errorStack: error.stack,
185
+ errorData: {
186
+ caller: 'DashboardManager',
187
+ function: 'handlePromote',
188
+ },
189
+ });
163
190
  alert('Could not promote this dashboard.');
164
191
  }
165
192
  };
166
193
  if (showCreateEnvironmentModal) {
167
- return ((0, jsx_runtime_1.jsx)(primitives_1.ModalPrimitive, { isOpen: showCreateEnvironmentModal, onClose: () => setShowCreateEnvironmentModal(false), children: (0, jsx_runtime_1.jsx)(CreateEnvironment_1.default, { onOnboardComplete: () => setShowCreateEnvironmentModal(false) }) }));
194
+ return ((0, jsx_runtime_1.jsx)(CreateEnvironmentModal_1.default, { showCreateEnvironmentModal: showCreateEnvironmentModal, setShowCreateEnvironmentModal: setShowCreateEnvironmentModal }));
168
195
  }
169
196
  return ((0, jsx_runtime_1.jsxs)("div", { style: containerStyle, children: [(state.activeComponent === 'Report Builder' ||
170
197
  state.activeComponent === 'SQL Editor') && ((0, jsx_runtime_1.jsx)(ChartQueryBuilder_1.default, { activeComponent: state.activeComponent, destinationDashboard: state.selectedDashboard ??
@@ -234,14 +261,14 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
234
261
  flexDirection: 'row',
235
262
  alignItems: 'flex-end',
236
263
  marginRight: 12,
237
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, ref: envSelectPopoverRef, children: (0, jsx_runtime_1.jsx)(components_1.EnvSelectPopover, { clients: state.clients, client: state.client, setClient: (client) => {
264
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, ref: envSelectPopoverRef, children: (0, jsx_runtime_1.jsx)(EnvSelectPopover_1.default, { clients: state.clients, client: state.client, setClient: (client) => {
238
265
  setSelectedDashboard(null);
239
266
  setClient(client, true);
240
267
  }, onSelectedEditEnvironment: () => {
241
268
  setEditEnvironmentModalIsOpen(true);
242
269
  }, onCreateNewEnvironment: () => {
243
270
  setShowCreateEnvironmentModal(true);
244
- }, theme: state.theme, parentRef: envSelectPopoverRef, isLoading: clientLoading }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, ref: dashboardSelectPopoverRef, children: (0, jsx_runtime_1.jsx)(components_1.DashboardSelectPopover, { dashboards: dashboards?.filter((d) => d.name !== constants_1.SAVED_QUERIES_DASHBOARD)?.length
271
+ }, theme: state.theme, parentRef: envSelectPopoverRef, isLoading: clientLoading }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, ref: dashboardSelectPopoverRef, children: (0, jsx_runtime_1.jsx)(DashboardSelectPopover_1.default, { dashboards: dashboards?.filter((d) => d.name !== constants_1.SAVED_QUERIES_DASHBOARD)?.length
245
272
  ? dashboards
246
273
  .map((elem) => {
247
274
  return elem.name;
@@ -265,7 +292,7 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
265
292
  }
266
293
  setEditFilterModalIsOpen(true);
267
294
  }, parentRef: dashboardSelectPopoverRef, isLoading: clientLoading || dashboardsLoading }) }), state.client?.name !== undefined &&
268
- !state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)(components_1.OrgSelect, { isLoading: clientLoading }))] }), !!(dashboards?.filter((d) => d.name !== constants_1.SAVED_QUERIES_DASHBOARD)
295
+ !state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)(OrgSelect_1.default, { isLoading: clientLoading }))] }), !!(dashboards?.filter((d) => d.name !== constants_1.SAVED_QUERIES_DASHBOARD)
269
296
  ?.length && !(clientLoading || dashboardsLoading)) && ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [(0, jsx_runtime_1.jsx)(primitives_1.SecondaryButtonPrimitive, { onClick: () => {
270
297
  if (!state.selectedDashboard) {
271
298
  return;
@@ -274,6 +301,12 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
274
301
  type: 'SET_ACTIVE_COMPONENT',
275
302
  payload: 'CodePreview',
276
303
  });
304
+ eventTracking?.addBreadcrumb?.({
305
+ message: 'Opened embed preview in DashboardManager',
306
+ category: 'navigation',
307
+ level: 'info',
308
+ timestamp: Date.now(),
309
+ });
277
310
  }, label: "Embed Preview" }), (0, jsx_runtime_1.jsx)(PopoverPrimitive_1.Popover, { content: (0, jsx_runtime_1.jsxs)("div", { style: {
278
311
  display: 'flex',
279
312
  flexDirection: 'column',
@@ -287,6 +320,12 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
287
320
  type: 'SET_ACTIVE_COMPONENT',
288
321
  payload: 'Report Builder',
289
322
  });
323
+ eventTracking?.addBreadcrumb?.({
324
+ message: 'Opened report builder in DashboardManager',
325
+ category: 'navigation',
326
+ level: 'info',
327
+ timestamp: Date.now(),
328
+ });
290
329
  }, label: "Report Builder \u2197" }), (0, jsx_runtime_1.jsx)(primitives_1.SecondaryButtonPrimitive, { onClick: () => {
291
330
  if (!state.selectedDashboard) {
292
331
  return;
@@ -295,6 +334,12 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
295
334
  type: 'SET_ACTIVE_COMPONENT',
296
335
  payload: 'SQL Editor',
297
336
  });
337
+ eventTracking?.addBreadcrumb?.({
338
+ message: 'Opened SQL editor in DashboardManager',
339
+ category: 'navigation',
340
+ level: 'info',
341
+ timestamp: Date.now(),
342
+ });
298
343
  }, label: "SQL Editor \u2197" }), (0, jsx_runtime_1.jsx)(primitives_1.SecondaryButtonPrimitive, { onClick: () => {
299
344
  if (!state.selectedDashboard) {
300
345
  return;
@@ -303,6 +348,12 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
303
348
  type: 'SET_ACTIVE_COMPONENT',
304
349
  payload: 'SavedQueries',
305
350
  });
351
+ eventTracking?.addBreadcrumb?.({
352
+ message: 'Opened saved queries in DashboardManager',
353
+ category: 'navigation',
354
+ level: 'info',
355
+ timestamp: Date.now(),
356
+ });
306
357
  }, label: "Saved Queries \u2197" })] }), trigger: (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive
307
358
  // onClick={() => {
308
359
  // if (!state.selectedDashboard) {
@@ -366,6 +417,15 @@ function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTabl
366
417
  dashboardsLoading ||
367
418
  dashboards?.filter((d) => d.name !== constants_1.SAVED_QUERIES_DASHBOARD)
368
419
  .length ? ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%', position: 'relative' }, children: (0, jsx_runtime_1.jsx)(InternalDashboard_1.InternalDashboard, { name: state.selectedDashboard ?? '', containerStyle: { padding: 25, width: '100%' }, onClickReport: handleClickReport, hoverActions: hoverActions, onUserFiltersUpdated: setUserFilters, parentLoading: clientLoading || dashboardsLoading, onManageDashboard: () => {
420
+ eventTracking?.addBreadcrumb?.({
421
+ message: 'Opened manage dashboard in DashboardManager',
422
+ data: {
423
+ dashboard: state.selectedDashboard,
424
+ },
425
+ category: 'navigation',
426
+ level: 'info',
427
+ timestamp: Date.now(),
428
+ });
369
429
  setEditFilterModalIsOpen(true);
370
430
  } }) })) : null] }), !clientLoading && !dashboardsLoading && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(EditEnvironmentModal_1.EditEnvironmentModal, { isOpen: editEnvironmentModalIsOpen, setIsOpen: setEditEnvironmentModalIsOpen, onSave: async () => {
371
431
  await reloadDashboard(state.selectedDashboard ?? undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"EnvSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/public_components/EnvSelectPopover.tsx"],"names":[],"mappings":"AAMA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,yBAAyB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,EAAE,qBAAqB,2CAwOvB"}
1
+ {"version":3,"file":"EnvSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/public_components/EnvSelectPopover.tsx"],"names":[],"mappings":"AAMA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,yBAAyB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,EAAE,qBAAqB,2CAsQvB"}
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = EnvSelectPopover;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
- const AdminProvider_1 = require("../AdminProvider");
9
+ const useAdmin_1 = require("../hooks/useAdmin");
10
10
  const OrgSelect_1 = require("../components/OrgSelect");
11
11
  const MiniButtonPrimitive_1 = __importDefault(require("../primitives/MiniButtonPrimitive"));
12
12
  const UiComponents_1 = require("../components/UiComponents");
13
13
  const QuillMultiSelectWithCombo_1 = require("../components/QuillMultiSelectWithCombo");
14
14
  function EnvSelectPopover({ clients, setClient, client, theme, onSelectedEditEnvironment, parentRef, isLoading, onCreateNewEnvironment, }) {
15
- const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
15
+ const { state, dispatch, eventTracking } = (0, useAdmin_1.useAdmin)();
16
16
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
17
17
  const [searchQuery, setSearchQuery] = (0, react_1.useState)('');
18
18
  const filteredClients = (0, react_1.useMemo)(() => {
@@ -26,6 +26,15 @@ function EnvSelectPopover({ clients, setClient, client, theme, onSelectedEditEnv
26
26
  dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
27
27
  dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
28
28
  }
29
+ eventTracking?.addBreadcrumb?.({
30
+ message: 'Set client in EnvSelectPopover',
31
+ data: {
32
+ clientId: selectedClient._id || selectedClient.id,
33
+ },
34
+ category: 'navigation',
35
+ level: 'info',
36
+ timestamp: Date.now(),
37
+ });
29
38
  setClient(selectedClient);
30
39
  setIsOpen(false);
31
40
  };
@@ -90,7 +99,9 @@ function EnvSelectPopover({ clients, setClient, client, theme, onSelectedEditEnv
90
99
  boxSizing: 'border-box',
91
100
  fontSize: 14,
92
101
  maxHeight: '50vh',
93
- }, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(QuillMultiSelectWithCombo_1.ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange: setSearchQuery, width: 180 }), (0, jsx_runtime_1.jsx)("div", { style: {
102
+ }, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(QuillMultiSelectWithCombo_1.ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange: (e) => {
103
+ setSearchQuery(e);
104
+ }, width: 180 }), (0, jsx_runtime_1.jsx)("div", { style: {
94
105
  height: 9,
95
106
  width: 230,
96
107
  borderTop: `1px solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
@@ -99,6 +110,15 @@ function EnvSelectPopover({ clients, setClient, client, theme, onSelectedEditEnv
99
110
  : undefined, item: item.name, isSelected: client._id === item._id, hoverActions: onSelectedEditEnvironment
100
111
  ? (item) => ((0, jsx_runtime_1.jsx)(MiniButtonPrimitive_1.default, { label: "Manage", onClick: () => {
101
112
  onSelectedEditEnvironment(item);
113
+ eventTracking?.addBreadcrumb?.({
114
+ message: 'Opened manage environment in EnvSelectPopover',
115
+ data: {
116
+ environment: item,
117
+ },
118
+ category: 'navigation',
119
+ level: 'info',
120
+ timestamp: Date.now(),
121
+ });
102
122
  setIsOpen(false);
103
123
  }, style: {
104
124
  marginRight: -8,
@@ -108,7 +128,15 @@ function EnvSelectPopover({ clients, setClient, client, theme, onSelectedEditEnv
108
128
  color: theme.secondaryTextColor,
109
129
  backgroundColor: theme.backgroundColor,
110
130
  } }))
111
- : undefined }, item._id))), (0, jsx_runtime_1.jsx)("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: (0, jsx_runtime_1.jsxs)("a", { onClick: onCreateNewEnvironment, style: {
131
+ : undefined }, item._id))), (0, jsx_runtime_1.jsx)("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: (0, jsx_runtime_1.jsxs)("a", { onClick: () => {
132
+ eventTracking?.addBreadcrumb?.({
133
+ message: 'Opened create new environment in EnvSelectPopover',
134
+ category: 'navigation',
135
+ level: 'info',
136
+ timestamp: Date.now(),
137
+ });
138
+ onCreateNewEnvironment?.();
139
+ }, style: {
112
140
  height: 42,
113
141
  width: 216,
114
142
  borderRadius: 6,
@@ -1,5 +1,4 @@
1
1
  import { CSSProperties } from 'react';
2
- export declare const getDuplicateColumns: (columns?: any[]) => string[];
3
2
  export default function VirtualTableManager({ containerStyle, virtualTable, }: {
4
3
  containerStyle?: CSSProperties;
5
4
  virtualTable?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTableManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/VirtualTableManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AA2C5E,eAAO,MAAM,mBAAmB,aAAc,GAAG,EAAE,aAalD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,YAAY,GACb,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAw+BA"}
1
+ {"version":3,"file":"VirtualTableManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/VirtualTableManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AA6C5E,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,YAAY,GACb,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAukCA"}
@@ -3,13 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getDuplicateColumns = void 0;
7
6
  exports.default = VirtualTableManager;
8
7
  const react_1 = require("react");
9
8
  const jsx_runtime_1 = require("react/jsx-runtime");
10
9
  const react_2 = require("react");
11
10
  const primitives_1 = require("../primitives");
12
- const AdminProvider_1 = require("../AdminProvider");
11
+ const useAdmin_1 = require("../hooks/useAdmin");
13
12
  const components_1 = require("../components");
14
13
  const Admin_1 = require("../Admin");
15
14
  const CreateEditVirtualTable_1 = __importDefault(require("../forms/virtual_tables/CreateEditVirtualTable"));
@@ -30,23 +29,8 @@ const tenants_1 = require("../utils/tenants");
30
29
  const useDatabaseSchema_1 = require("../hooks/useDatabaseSchema");
31
30
  const InputLabel_1 = __importDefault(require("../components/InputLabel"));
32
31
  const useDashboardManager_1 = require("../hooks/useDashboardManager");
33
- const CreateEnvironment_1 = __importDefault(require("./CreateEnvironment"));
34
- const getDuplicateColumns = (columns) => {
35
- if (!columns) {
36
- return [];
37
- }
38
- const columnCount = columns?.reduce((acc, curr) => {
39
- if (acc[curr.field]) {
40
- acc[curr.field] += 1;
41
- }
42
- else {
43
- acc[curr.field] = 1;
44
- }
45
- return acc;
46
- }, {});
47
- return Object.keys(columnCount).filter((column) => columnCount[column] > 1);
48
- };
49
- exports.getDuplicateColumns = getDuplicateColumns;
32
+ const CreateEnvironmentModal_1 = __importDefault(require("../modals/CreateEnvironmentModal"));
33
+ const columnProcessing_1 = require("../utils/columnProcessing");
50
34
  function VirtualTableManager({ containerStyle, virtualTable, }) {
51
35
  const { data: tables, isLoading: areTablesLoading, reloadAll, refreshSome, loadingTables, } = (0, react_3.useVirtualTables)();
52
36
  const { reloadFilteredReports } = (0, react_3.useReports)();
@@ -72,7 +56,7 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
72
56
  const [showCreateEnvironmentModal, setShowCreateEnvironmentModal] = (0, react_2.useState)(false);
73
57
  const parentRef = (0, react_2.useRef)(null);
74
58
  const envHeaderRef = (0, react_2.useRef)(null);
75
- const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, } = (0, AdminProvider_1.useAdmin)();
59
+ const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, eventTracking, } = (0, useAdmin_1.useAdmin)();
76
60
  const closeEditModal = () => {
77
61
  setEditModalIsOpen(false);
78
62
  setEditName('');
@@ -88,6 +72,16 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
88
72
  setEditError(table.broken ? (table.error ?? 'Invalid query') : undefined);
89
73
  setCustomFieldInfo(table.customFieldInfo);
90
74
  !suppressModal && setEditModalIsOpen(true);
75
+ eventTracking?.addBreadcrumb?.({
76
+ message: 'Clicked table cell in VirtualTableManager',
77
+ data: {
78
+ table: table.name,
79
+ suppressModal: suppressModal,
80
+ },
81
+ category: 'interaction',
82
+ level: 'info',
83
+ timestamp: Date.now(),
84
+ });
91
85
  };
92
86
  const reloadTables = async (tables) => {
93
87
  const tempClient = {
@@ -158,7 +152,7 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
158
152
  return;
159
153
  }
160
154
  // determine if there are duplicate names if there are then alert the user
161
- duplicateColumns = (0, exports.getDuplicateColumns)(columns);
155
+ duplicateColumns = (0, columnProcessing_1.getDuplicateColumns)(columns);
162
156
  if (duplicateColumns.length > 0) {
163
157
  alert(`Ambiguous column names found. Either use aliases or remove the column to make every column name unique: \n\n${duplicateColumns.join('\n')}`);
164
158
  return;
@@ -219,7 +213,7 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
219
213
  return;
220
214
  }
221
215
  // determine if there are duplicate names if there are then alert the user
222
- duplicateColumns = (0, exports.getDuplicateColumns)(columns);
216
+ duplicateColumns = (0, columnProcessing_1.getDuplicateColumns)(columns);
223
217
  if (duplicateColumns.length > 0) {
224
218
  alert(`Ambiguous column names found. Either use aliases or remove the column to make every column name unique: \n\n${duplicateColumns.join('\n')}`);
225
219
  return;
@@ -264,6 +258,17 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
264
258
  setEditQueryView(false);
265
259
  }
266
260
  catch (e) {
261
+ eventTracking?.logError?.({
262
+ type: 'bug', // TODO: determine type
263
+ severity: 'high',
264
+ message: 'Error submitting virtual table',
265
+ errorMessage: e.message,
266
+ errorStack: e.stack,
267
+ errorData: {
268
+ caller: 'VirtualTableManager',
269
+ function: 'handleModalSubmit',
270
+ },
271
+ });
267
272
  console.error(e);
268
273
  }
269
274
  };
@@ -291,6 +296,15 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
291
296
  alert(`This table is referenced in the following dashboard filter${filtersIsPlural}.\n\n${referencedFilterInfo.join('\n')} \n\nPlease delete those filters before deleting this table.`);
292
297
  return;
293
298
  }
299
+ eventTracking?.addBreadcrumb?.({
300
+ message: 'Confirmed delete table in VirtualTableManager',
301
+ data: {
302
+ table: name,
303
+ },
304
+ category: 'interaction',
305
+ level: 'info',
306
+ timestamp: Date.now(),
307
+ });
294
308
  const response = await (0, dataEditor_1.deleteVirtualTable)(id, state, getToken);
295
309
  await reloadTables();
296
310
  return response;
@@ -306,7 +320,7 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
306
320
  }
307
321
  };
308
322
  if (showCreateEnvironmentModal) {
309
- return ((0, jsx_runtime_1.jsx)(primitives_1.ModalPrimitive, { isOpen: showCreateEnvironmentModal, onClose: () => setShowCreateEnvironmentModal(false), children: (0, jsx_runtime_1.jsx)(CreateEnvironment_1.default, { onOnboardComplete: () => setShowCreateEnvironmentModal(false) }) }));
323
+ return ((0, jsx_runtime_1.jsx)(CreateEnvironmentModal_1.default, { showCreateEnvironmentModal: showCreateEnvironmentModal, setShowCreateEnvironmentModal: setShowCreateEnvironmentModal }));
310
324
  }
311
325
  return ((0, jsx_runtime_1.jsx)("div", { style: { ...containerStyle }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
312
326
  minHeight: '100%',
@@ -355,6 +369,12 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
355
369
  flexDirection: 'row',
356
370
  gap: 8,
357
371
  }, children: [(0, jsx_runtime_1.jsx)(primitives_1.SecondaryButtonPrimitive, { onClick: () => {
372
+ eventTracking?.addBreadcrumb?.({
373
+ message: 'Clicked refresh tables button in VirtualTableManager',
374
+ category: 'interaction',
375
+ level: 'info',
376
+ timestamp: Date.now(),
377
+ });
358
378
  reloadTables(tables);
359
379
  }, label: "Refresh Tables" }), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: () => {
360
380
  setEditName('');
@@ -362,6 +382,12 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
362
382
  setEditVirtualTableId('');
363
383
  setInitialVirtualTable(undefined);
364
384
  setEditQueryView(true);
385
+ eventTracking?.addBreadcrumb?.({
386
+ message: 'Clicked add virtual table button in VirtualTableManager',
387
+ category: 'interaction',
388
+ level: 'info',
389
+ timestamp: Date.now(),
390
+ });
365
391
  }, label: "Add Virtual Table +" })] }))] }) })), clientLoading || areTablesLoading ? ((0, jsx_runtime_1.jsx)("div", { style: {
366
392
  display: 'grid',
367
393
  gridGap: 24,
@@ -380,6 +406,12 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
380
406
  overflow: 'hidden',
381
407
  }, children: (0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [(0, jsx_runtime_1.jsx)("rect", { width: "100%", height: "100%", fill: '#F9F9FA' }), (0, jsx_runtime_1.jsx)("defs", { fill: '#F9F9FA', children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "10%", y2: "0%", gradientUnits: "userSpaceOnUse", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", stopColor: "rgba(255,255,255,0)" }), (0, jsx_runtime_1.jsx)("stop", { offset: "50%", stopColor: "#FEFEFE" }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", stopColor: "rgba(255,255,255,0)" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "x1", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "x2", from: "-50%", to: "150%", dur: "2s", repeatCount: "indefinite" })] }) }), (0, jsx_runtime_1.jsx)("rect", { width: "50%", height: "100%", fill: "url(#skeletonGradient)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "x", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }) })] }) }) }, i))) }, 'edit-view-query')) : state.databaseTypeMismatch.show ? ((0, jsx_runtime_1.jsx)(DatabaseMismatchCard_1.default, { environmentName: state.client.name, environmentDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!editQueryView ? (tables && tables.length === 0 ? ((0, jsx_runtime_1.jsx)(EmptyVirtualTablesComponent_1.default, { onClick: () => {
382
408
  setEditQueryView(true);
409
+ eventTracking?.addBreadcrumb?.({
410
+ message: 'Clicked EmptyVirtualTablesComponent in VirtualTableManager',
411
+ category: 'interaction',
412
+ level: 'info',
413
+ timestamp: Date.now(),
414
+ });
383
415
  } })) : ((0, jsx_runtime_1.jsx)("div", { style: {
384
416
  display: 'grid',
385
417
  gridGap: 24,
@@ -393,6 +425,12 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
393
425
  }, children: tables && tables?.length ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [tables.map((table) => ((0, jsx_runtime_1.jsx)(Admin_1.TableCell, { table: table, clickTableCellHeader: clickTableCell, clickTableCellBody: () => {
394
426
  clickTableCell(table, true);
395
427
  setEditQueryView(true);
428
+ eventTracking?.addBreadcrumb?.({
429
+ message: 'Clicked table body in VirtualTableManager',
430
+ category: 'interaction',
431
+ level: 'info',
432
+ timestamp: Date.now(),
433
+ });
396
434
  }, isLoading: loadingTables[table._id], reloadAction: (table) => reloadTables([table]), hoverActions: (table) => ((0, jsx_runtime_1.jsxs)("div", { style: {
397
435
  display: 'flex',
398
436
  flexDirection: 'row',
@@ -411,6 +449,15 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
411
449
  border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
412
450
  }, onClick: (event) => {
413
451
  event.stopPropagation();
452
+ eventTracking?.addBreadcrumb?.({
453
+ message: 'Clicked edit query button in VirtualTableManager Table Cell',
454
+ data: {
455
+ table: table.name,
456
+ },
457
+ category: 'interaction',
458
+ level: 'info',
459
+ timestamp: Date.now(),
460
+ });
414
461
  clickTableCell(table, true);
415
462
  setEditQueryView(true);
416
463
  }, className: "secondary-button-quill", children: [(0, jsx_runtime_1.jsx)("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 12, width: 12, style: {
@@ -430,6 +477,15 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
430
477
  border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
431
478
  }, onClick: (event) => {
432
479
  event.stopPropagation();
480
+ eventTracking?.addBreadcrumb?.({
481
+ message: 'Clicked table settings in VirtualTableManager Table Cell',
482
+ data: {
483
+ table: table.name,
484
+ },
485
+ category: 'interaction',
486
+ level: 'info',
487
+ timestamp: Date.now(),
488
+ });
433
489
  clickTableCell(table);
434
490
  }, className: "secondary-button-quill", children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 16, width: 16, style: {
435
491
  marginLeft: 'auto',
@@ -454,6 +510,15 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
454
510
  border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
455
511
  }, className: "secondary-button-quill", onClick: (event) => {
456
512
  event.stopPropagation();
513
+ eventTracking?.addBreadcrumb?.({
514
+ message: 'Clicked refresh table button in VirtualTableManager Table Cell',
515
+ data: {
516
+ table: table.name,
517
+ },
518
+ category: 'interaction',
519
+ level: 'info',
520
+ timestamp: Date.now(),
521
+ });
457
522
  reloadTables([table]);
458
523
  }, children: [(0, jsx_runtime_1.jsx)("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 16 16", strokeWidth: 1.5, height: 16, width: 16, style: {
459
524
  marginLeft: 'auto',
@@ -472,6 +537,15 @@ function VirtualTableManager({ containerStyle, virtualTable, }) {
472
537
  alignItems: 'center',
473
538
  }, onClick: (event) => {
474
539
  event.stopPropagation();
540
+ eventTracking?.addBreadcrumb?.({
541
+ message: 'Clicked delete table button in VirtualTableManager Table Cell',
542
+ data: {
543
+ table: table.name,
544
+ },
545
+ category: 'interaction',
546
+ level: 'info',
547
+ timestamp: Date.now(),
548
+ });
475
549
  deleteVirtualTable(table._id, table.name, table.name);
476
550
  }, className: "secondary-button-quill", children: [(0, jsx_runtime_1.jsx)("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: 14, width: 14, style: {
477
551
  marginLeft: 'auto',
@@ -508,7 +582,7 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
508
582
  const [tableData, setTableData] = (0, react_2.useState)(undefined);
509
583
  const [errorInfo, setErrorInfo] = (0, react_2.useState)({ show: false, message: '' });
510
584
  const clientIsSingleTenant = (0, react_2.useMemo)(() => (0, tenants_1.onlySingleDatabaseTenant)(state.client), [state.client]);
511
- const { getToken } = (0, AdminProvider_1.useAdmin)();
585
+ const { getToken, eventTracking } = (0, useAdmin_1.useAdmin)();
512
586
  (0, react_2.useEffect)(() => {
513
587
  setCustomFieldQuery(customFieldInfo?.query || '');
514
588
  setCustomFieldType(customFieldInfo?.type || 'eav');
@@ -630,7 +704,7 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
630
704
  }
631
705
  setErrorInfo({ show: false, message: '' });
632
706
  setRunQueryButtonLoading(true);
633
- const getSqlResults = await (0, ConnectionClient_1.getVirtualTableData)(state.client._id, customFieldQuery, state.client.databaseType, state.queryEndpoint, getToken, state.queryHeaders);
707
+ const getSqlResults = await (0, ConnectionClient_1.getVirtualTableData)(state.client._id, customFieldQuery, state.client.databaseType, state.queryEndpoint, getToken, eventTracking, state.queryHeaders);
634
708
  if (!getSqlResults.success) {
635
709
  setErrorInfo({
636
710
  show: true,
@@ -8,10 +8,11 @@ const react_1 = require("react");
8
8
  const react_2 = require("@testing-library/react");
9
9
  require("@testing-library/jest-dom");
10
10
  const CreateEnvironment_1 = __importDefault(require("../CreateEnvironment"));
11
- const AdminProvider_1 = require("../../AdminProvider");
11
+ const useAdmin_1 = require("../../hooks/useAdmin");
12
12
  const dataFetcher_1 = require("../../utils/dataFetcher");
13
13
  const dotenv_1 = __importDefault(require("dotenv"));
14
14
  const path_1 = __importDefault(require("path"));
15
+ const Provider_1 = require("../../models/Provider");
15
16
  // Load environment variables from .env.local
16
17
  dotenv_1.default.config({ path: path_1.default.resolve(__dirname, '../../../.env.local') });
17
18
  // Mock necessary modules
@@ -233,6 +234,33 @@ const testDatabases = [
233
234
  },
234
235
  virtualTableQuery: 'SELECT amount, customer_id FROM `transactions`.`transactions`;',
235
236
  },
237
+ {
238
+ databaseType: 'Databricks',
239
+ databaseLabel: 'Databricks',
240
+ databaseConnectionString: null,
241
+ databaseCredentials: {
242
+ host: process.env.TEST_DATABRICKS_HOST,
243
+ path: process.env.TEST_DATABRICKS_PATH,
244
+ token: process.env.TEST_DATABRICKS_TOKEN,
245
+ database: null,
246
+ user: null,
247
+ password: null,
248
+ port: null,
249
+ warehouse: null,
250
+ },
251
+ jsonString: null,
252
+ schemaName: 'default',
253
+ tenant: {
254
+ name: 'Test Tenant',
255
+ tenantField: 'customer_id',
256
+ tenantTable: 'default.customers',
257
+ idField: 'id',
258
+ nameField: 'name',
259
+ tagField: 'id',
260
+ defaultTenant: 'John Doe',
261
+ },
262
+ virtualTableQuery: 'SELECT * FROM default.transactions;',
263
+ },
236
264
  ];
237
265
  describe('CreateEnvironment', () => {
238
266
  const mockOnOnboardComplete = jest.fn();
@@ -247,9 +275,10 @@ describe('CreateEnvironment', () => {
247
275
  // mockQuillFetch = jest.fn((args) => quillFetch(args));
248
276
  mockState = {
249
277
  queryEndpoint: 'http://localhost:8080/cloud',
250
- domainName: 'test-domain',
278
+ clerkOrgId: 'test-domain',
279
+ theme: Provider_1.defaultTheme,
251
280
  };
252
- AdminProvider_1.useAdmin.mockReturnValue({
281
+ useAdmin_1.useAdmin.mockReturnValue({
253
282
  state: mockState,
254
283
  setClient: mockSetClient,
255
284
  dispatch: mockDispatch,
@@ -376,6 +405,16 @@ describe('CreateEnvironment', () => {
376
405
  .querySelector('input'), { target: { value: database.databaseCredentials.warehouse } });
377
406
  });
378
407
  }
408
+ if (database.databaseCredentials?.path) {
409
+ await (0, react_1.act)(async () => {
410
+ react_2.fireEvent.change(react_2.screen.getByTestId('quill-input-path').querySelector('input'), { target: { value: database.databaseCredentials.path } });
411
+ });
412
+ }
413
+ if (database.databaseCredentials?.token) {
414
+ await (0, react_1.act)(async () => {
415
+ react_2.fireEvent.change(react_2.screen.getByTestId('quill-input-token').querySelector('input'), { target: { value: database.databaseCredentials.token } });
416
+ });
417
+ }
379
418
  // Verify Connect button is enabled
380
419
  expect(react_2.screen.getByTestId('quill-connect-button').querySelector('button')
381
420
  .className).not.toContain('quill-button-disabled');
@@ -448,7 +487,7 @@ describe('CreateEnvironment', () => {
448
487
  newClient = JSON.parse(element.getAttribute('data-new-client') || '{}');
449
488
  // Verify database schema was set
450
489
  expect(environmentDetails.databaseSchema).toBeInstanceOf(Array);
451
- // Client should have databaseType, schemaNames (non empty array), and domainName
490
+ // Client should have databaseType, schemaNames (non empty array), and clerkOrgId
452
491
  expect(newClient.schemaNames).toBeInstanceOf(Array);
453
492
  expect(newClient.schemaNames.length).toBeGreaterThan(0);
454
493
  expect(newClient.databaseType).toBe(database.databaseType);