@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
@@ -1 +1 @@
1
- {"version":3,"file":"CreateVirtualTables.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateVirtualTables.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AACnE,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAY3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOvD,OAAO,EAAE,KAAK,EAAY,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,GACb,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,YAAY,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;CAClE,2CAwiBA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,2CA2HA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,EACT,MAAM,EACN,UAAU,GACX,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,2CA8EA"}
1
+ {"version":3,"file":"CreateVirtualTables.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateVirtualTables.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AACnE,OAAO,EAAkB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAUvD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAIlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,GACb,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,YAAY,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;CAClE,2CA2jBA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,2CA2HA"}
@@ -7,11 +7,12 @@ import VirtualTableTile from '../../components/VirtualTableTile';
7
7
  import SqlTextEditor from '../../components/SqlTextEditor';
8
8
  import { SchemaListComponent, Table } from '@quillsql/react';
9
9
  import { LoadingSpinner, QuillToolTip } from '../../components/UiComponents';
10
- import { getDuplicateColumns } from '../../public_components/VirtualTableManager';
11
- import { processColumnReference } from '../../utils/columnProcessing';
12
- import { useAdmin } from '../../AdminProvider';
10
+ import { processColumnReference, getDuplicateColumns, } from '../../utils/columnProcessing';
11
+ import { useAdmin } from '../../hooks/useAdmin';
13
12
  import { SINGLE_TENANT } from '../../utils/constants';
14
13
  import { Highlight, themes } from 'prism-react-renderer';
14
+ import { useLongLoading } from '../../hooks/useLongLoading';
15
+ import TenantFieldModal from '../../modals/TenantFieldModal';
15
16
  export default function CreateVirtualTables({ containerStyle, header1Style, header2Style, environmentDetails, databaseSchema, completeOnboarding, client, state, tenantInit, isLoading, sqlTables, setSqlTables, }) {
16
17
  const [queryInfo, setQueryInfo] = useState({
17
18
  name: '',
@@ -25,11 +26,24 @@ export default function CreateVirtualTables({ containerStyle, header1Style, head
25
26
  const [openModalButtonLoading, setOpenModalButtonLoading] = useState(false);
26
27
  const [askAIButtonLoading, setAskAIButtonLoading] = useState(false);
27
28
  const [runQueryButtonLoading, setRunQueryButtonLoading] = useState(false);
29
+ useLongLoading(openModalButtonLoading, {
30
+ origin: 'CreateVirtualTables',
31
+ loadDescription: 'Opening virtual table modal',
32
+ });
33
+ useLongLoading(askAIButtonLoading, {
34
+ origin: 'CreateVirtualTables',
35
+ loadDescription: 'Asking AI',
36
+ });
37
+ useLongLoading(runQueryButtonLoading, {
38
+ origin: 'CreateVirtualTables',
39
+ loadDescription: 'Running query',
40
+ });
28
41
  const [failingTenant, setFailingTenant] = useState(undefined);
42
+ const [failingTenantErrorType, setFailingTenantErrorType] = useState(undefined);
29
43
  const [tableSearchQuery, setTableSearchQuery] = useState('');
30
44
  const [displayedTableData, setDisplayedTableData] = useState(databaseSchema);
31
45
  const middleColumn = useRef(null);
32
- const { getToken, quillFetchWithToken } = useAdmin();
46
+ const { getToken, quillFetchWithToken, eventTracking } = useAdmin();
33
47
  useEffect(() => {
34
48
  const scrollToBottom = () => {
35
49
  // Scroll to the bottom of the container (or page)
@@ -58,6 +72,7 @@ export default function CreateVirtualTables({ containerStyle, header1Style, head
58
72
  }) ?? [], client.clientId, tenantField === SINGLE_TENANT || override ? [] : [tenantField], state.queryEndpoint, state.queryHeaders, getToken);
59
73
  if (results.failingTenant) {
60
74
  setFailingTenant(results.failingTenant);
75
+ setFailingTenantErrorType(results.failingTenantErrorType);
61
76
  return;
62
77
  }
63
78
  if (results.success && results.tables) {
@@ -161,7 +176,7 @@ export default function CreateVirtualTables({ containerStyle, header1Style, head
161
176
  paddingLeft: 16,
162
177
  paddingRight: 16,
163
178
  marginTop: 2,
164
- }, schema: displayedTableData, databaseType: environmentDetails?.type, resizable: false }) }), _jsxs("div", { style: {
179
+ }, schema: databaseSchema, databaseType: environmentDetails?.type, resizable: false }) }), _jsxs("div", { style: {
165
180
  display: 'flex',
166
181
  flexDirection: 'row',
167
182
  paddingTop: 12,
@@ -170,7 +185,7 @@ export default function CreateVirtualTables({ containerStyle, header1Style, head
170
185
  height: 70,
171
186
  }, children: [_jsx(ButtonPrimitive, { label: 'Run query', isLoading: runQueryButtonLoading, onClick: async () => {
172
187
  setRunQueryButtonLoading(true);
173
- const getSqlResults = await getVirtualTableData(client.clientId, queryInfo.query, environmentDetails.type, state.queryEndpoint, getToken, client.queryHeaders);
188
+ const getSqlResults = await getVirtualTableData(client.clientId, queryInfo.query, environmentDetails.type, state.queryEndpoint, getToken, eventTracking, client.queryHeaders);
174
189
  if (!getSqlResults.success) {
175
190
  setErrorInfo({ status: true, msg: getSqlResults.error });
176
191
  }
@@ -210,6 +225,7 @@ export default function CreateVirtualTables({ containerStyle, header1Style, head
210
225
  const duplicateColumns2 = getDuplicateColumns(tableData?.fields);
211
226
  if (duplicateColumns2.length > 0) {
212
227
  alert(`Ambiguous column names found. Either use aliases or remove the column to make every column name unique: \n\n${duplicateColumns2.join('\n')}`);
228
+ setOpenModalButtonLoading(false);
213
229
  return;
214
230
  }
215
231
  const clientId = client?.publicKey || client?.clientId;
@@ -304,7 +320,7 @@ export default function CreateVirtualTables({ containerStyle, header1Style, head
304
320
  completeOnboarding();
305
321
  }, style: {
306
322
  // marginBottom: -8,
307
- }, isLoading: isLoading }) })) : null] })] }), _jsx(TenantFieldModal, { isOpen: !!failingTenant, setClosed: () => setFailingTenant(undefined), tenant: failingTenant, onOverride: () => addVirtualTable(true) }), _jsx(VirtualTableModal, { isOpen: virtualTableModalOpen, setIsOpen: setVirtualTableModalOpen, queryInfo: queryInfo, setQueryInfo: setQueryInfo, addVirtualTable: () => addVirtualTable(false) })] }));
323
+ }, isLoading: isLoading }) })) : null] })] }), _jsx(TenantFieldModal, { isOpen: !!failingTenant, setClosed: () => setFailingTenant(undefined), tenant: failingTenant, onOverride: () => addVirtualTable(true), errorType: failingTenantErrorType }), _jsx(VirtualTableModal, { isOpen: virtualTableModalOpen, setIsOpen: setVirtualTableModalOpen, queryInfo: queryInfo, setQueryInfo: setQueryInfo, addVirtualTable: () => addVirtualTable(false) })] }));
308
324
  }
309
325
  export function VirtualTableModal({ isOpen, setIsOpen, queryInfo, setQueryInfo, addVirtualTable, }) {
310
326
  const { state: { theme }, } = useAdmin();
@@ -360,33 +376,3 @@ export function VirtualTableModal({ isOpen, setIsOpen, queryInfo, setQueryInfo,
360
376
  setIsOpen(false);
361
377
  } })] })] }) }));
362
378
  }
363
- export function TenantFieldModal({ isOpen, setClosed, tenant, onOverride, }) {
364
- return (_jsx(ModalPrimitive, { isOpen: isOpen, onClose: () => setClosed(), children: _jsxs("div", { style: { display: 'flex', flexDirection: 'column', width: '500px' }, children: [_jsx("h1", { style: {
365
- fontSize: 24,
366
- fontWeight: 600,
367
- color: '#212121',
368
- paddingBottom: 14,
369
- }, children: "Foreign Key Missing" }), _jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("span", { style: {
370
- color: '#212121',
371
- fontWeight: 600,
372
- backgroundColor: '#f7f7f7',
373
- padding: '2px 4px',
374
- borderRadius: 4,
375
- border: '1px solid #e0e0e0',
376
- }, children: tenant?.name }), "'s foreign key", ' ', _jsx("span", { style: {
377
- color: 'red',
378
- fontWeight: 600,
379
- backgroundColor: '#f7f7f7',
380
- padding: '2px 4px',
381
- borderRadius: 4,
382
- border: '1px solid #e0e0e0',
383
- }, children: tenant?.tenantField.replaceAll('"', '') }), ' ', "is not present in the current query to allow for filtering.", onOverride ? (_jsxs("span", { children: [' ', "Only override if this data is meant to be accessible by", ' ', _jsx("strong", { children: "every tenant" }), " (this is rare)"] })) : (_jsxs("span", { children: [' ', "If this tenant is not meant to filter this data, remove it from the owners dropdown"] }))] }), _jsx("br", {}), _jsxs("div", { style: {
384
- display: 'flex',
385
- flexDirection: 'row',
386
- gap: '12px',
387
- justifyContent: 'flex-end',
388
- }, children: [onOverride && (_jsx(SecondaryButtonPrimitive, { label: "Override", onClick: () => {
389
- onOverride();
390
- setClosed();
391
- } })), _jsx(ButtonPrimitive, { label: "Got It", onClick: () => setClosed() })] })] }) }));
392
- }
@@ -3,7 +3,7 @@ import { act } from 'react';
3
3
  import { render, screen, fireEvent, waitFor } from '@testing-library/react';
4
4
  import '@testing-library/jest-dom';
5
5
  import ConnectDatabase from '../ConnectDatabase';
6
- import { useAdmin } from '../../../AdminProvider';
6
+ import { useAdmin } from '../../../hooks/useAdmin';
7
7
  // Mock the hooks
8
8
  jest.mock('../../../AdminProvider');
9
9
  jest.mock('@quillsql/react');
@@ -3,8 +3,8 @@ import { act } from 'react';
3
3
  import { render, screen, fireEvent, waitFor } from '@testing-library/react';
4
4
  import '@testing-library/jest-dom';
5
5
  import ConnectSchema from '../ConnectSchema';
6
- import { useAdmin } from '../../../AdminProvider';
7
- import { defaultTheme } from '../../../Admin';
6
+ import { useAdmin } from '../../../hooks/useAdmin';
7
+ import { defaultTheme } from '../../../models/Provider';
8
8
  // Add these mocks before the describe block
9
9
  class MockResizeObserver {
10
10
  observe() { }
@@ -91,7 +91,7 @@ describe('ConnectSchema', () => {
91
91
  theme: defaultTheme,
92
92
  organizationIdSet: false,
93
93
  dateFilter: {},
94
- domainName: '',
94
+ clerkOrgId: '',
95
95
  databaseTypeMismatch: { show: false, backendDatabaseType: '' },
96
96
  selectedTenantField: undefined,
97
97
  selectedTenantValues: undefined,
@@ -3,8 +3,8 @@ import { act } from 'react';
3
3
  import { render, screen, fireEvent, waitFor } from '@testing-library/react';
4
4
  import '@testing-library/jest-dom';
5
5
  import CreateVirtualTables from '../CreateVirtualTables';
6
- import { useAdmin } from '../../../AdminProvider';
7
- import { defaultTheme } from '../../../Admin';
6
+ import { useAdmin } from '../../../hooks/useAdmin';
7
+ import { defaultTheme } from '../../../models/Provider';
8
8
  // Mock the hooks
9
9
  jest.mock('../../../AdminProvider');
10
10
  jest.mock('@quillsql/react', () => ({
@@ -75,7 +75,7 @@ describe('CreateVirtualTables', () => {
75
75
  theme: defaultTheme,
76
76
  organizationIdSet: false,
77
77
  dateFilter: {},
78
- domainName: '',
78
+ clerkOrgId: '',
79
79
  databaseTypeMismatch: { show: false, backendDatabaseType: '' },
80
80
  selectedTenantField: undefined,
81
81
  selectedTenantValues: undefined,
@@ -1,7 +1,7 @@
1
1
  import { ButtonComponentProps } from '@quillsql/react';
2
2
  import { TextInputComponentProps } from '../../components/UiComponents';
3
3
  import { ColumnsByTable, Table as TableType } from '../../utils/table';
4
- import { QuillProviderClient } from '../../Admin';
4
+ import { QuillProviderClient } from '../../models/Provider';
5
5
  interface CreateEditVirtualTableProps {
6
6
  containerStyle: React.CSSProperties;
7
7
  initialVirtualTable?: TableType;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEditVirtualTable.d.ts","sourceRoot":"","sources":["../../../../src/forms/virtual_tables/CreateEditVirtualTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGrB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAOL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAU,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAO/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIlD,UAAU,2BAA2B;IACnC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,mBAAmB,EAAE,CACnB,OAAO,EAAE,KAAK,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,EAAE,EAC3B,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,GAAG,EAAE,EACf,QAAQ,CAAC,EAAE,OAAO,KACf,IAAI,CAAC;IACV,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,gBAA2C,EAC3C,eAAgC,EAChC,wBAAkD,EAClD,SAA6B,EAC7B,YAAY,EACZ,eAAe,EACf,MAAM,GACP,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,CA+gB3C"}
1
+ {"version":3,"file":"CreateEditVirtualTable.d.ts","sourceRoot":"","sources":["../../../../src/forms/virtual_tables/CreateEditVirtualTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGrB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAOL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,cAAc,EACd,KAAK,IAAI,SAAS,EACnB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK5D,UAAU,2BAA2B;IACnC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,mBAAmB,EAAE,CACnB,OAAO,EAAE,KAAK,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,EAAE,EAC3B,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,GAAG,EAAE,EACf,QAAQ,CAAC,EAAE,OAAO,KACf,IAAI,CAAC;IACV,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,gBAA2C,EAC3C,eAAgC,EAChC,wBAAkD,EAClD,SAA6B,EAC7B,YAAY,EACZ,eAAe,EACf,MAAM,GACP,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,CA6mB3C"}
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Table, SchemaListComponent, } from '@quillsql/react';
3
3
  import { useEffect, useMemo, useRef, useState } from 'react';
4
- import { useAdmin } from '../../AdminProvider';
4
+ import { useAdmin } from '../../hooks/useAdmin';
5
5
  import { getQueryFromAiWithConnection, getVirtualTableData, } from '../../api/ConnectionClient';
6
6
  import SqlTextEditor from '../../components/SqlTextEditor';
7
7
  import { LoadingSpinner, MemoizedButton, MemoizedSecondaryButton, MemoizedTextInput, OverflowContainer, QuillToolTip, } from '../../components/UiComponents';
8
- import { TenantFieldModal } from '../client_onboard/CreateVirtualTables';
8
+ import TenantFieldModal from '../../modals/TenantFieldModal';
9
9
  import DynamicBanner from '../../components/DynamicBanner';
10
- import { getDuplicateColumns } from '../../public_components/VirtualTableManager';
11
- import { processColumnReference } from '../../utils/columnProcessing';
10
+ import { getDuplicateColumns } from '../../utils/columnProcessing';
11
+ import { isNumberType, isStringType, processColumnReference, } from '../../utils/columnProcessing';
12
12
  import { processJoinASTWithDuplicateColumns } from '../../utils/astProcessing';
13
13
  import { SINGLE_TENANT } from '../../utils/constants';
14
14
  import { onlySingleDatabaseTenant } from '../../utils/tenants';
@@ -24,6 +24,7 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
24
24
  client.ownerTenantFields?.filter((f) => f !== SINGLE_TENANT) ??
25
25
  []);
26
26
  const [failingTenant, setFailingTenant] = useState(undefined);
27
+ const [failingTenantErrorType, setFailingTenantErrorType] = useState(undefined);
27
28
  const [isLoading, setIsLoading] = useState(false);
28
29
  const [tableSearchQuery, setTableSearchQuery] = useState('');
29
30
  const [editorMounted, setEditorMounted] = useState(false);
@@ -31,15 +32,37 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
31
32
  const [errorInfo, setErrorInfo] = useState({ show: false, message: '' });
32
33
  const [tableData, setTableData] = useState(undefined);
33
34
  const [runningQuery, setRunningQuery] = useState(false);
34
- const { state, getToken, quillFetchWithToken } = useAdmin();
35
+ const { state, getToken, quillFetchWithToken, eventTracking } = useAdmin();
35
36
  const containerRef = useRef(null);
36
37
  const addEditProcessVirtualTable = async (override = false) => {
37
- const failingTenant = virtualTableOwners?.find((field) => tableData &&
38
+ const missingTenantField = virtualTableOwners?.find((field) => tableData &&
38
39
  !tableData.fields.find((col) => col.name === field?.replaceAll('"', '')));
39
- if (!override && tableData && failingTenant) {
40
- const tenant = client.allTenantTypes?.find((t) => t.tenantField === failingTenant);
41
- setFailingTenant(tenant);
42
- return;
40
+ if (!override && tableData) {
41
+ if (missingTenantField) {
42
+ const tenant = client.allTenantTypes?.find((t) => t.tenantField === missingTenantField);
43
+ setFailingTenant(tenant);
44
+ setFailingTenantErrorType('missing');
45
+ return;
46
+ }
47
+ else {
48
+ // let typeMismatchedTenant: QuillTenant | undefined;
49
+ // check that the all tenant field type match
50
+ // loop through all virtualTableOwneers and check the field type
51
+ const typeMismatchedTenant = virtualTableOwners.find((owner) => {
52
+ const tenant = client.allTenantTypes?.find((t) => t.tenantField === owner);
53
+ const tableDataField = tableData.fields.find((col) => col.name === owner?.replaceAll('"', ''));
54
+ return ((tenant?.fieldType === 'string' &&
55
+ isNumberType(tableDataField?.fieldType ?? '')) ||
56
+ (tenant?.fieldType === 'number' &&
57
+ isStringType(tableDataField?.fieldType ?? '')));
58
+ });
59
+ if (typeMismatchedTenant) {
60
+ const tenant = client.allTenantTypes?.find((t) => t.tenantField === typeMismatchedTenant);
61
+ setFailingTenant(tenant);
62
+ setFailingTenantErrorType('type_mismatch');
63
+ return;
64
+ }
65
+ }
43
66
  }
44
67
  addEditVirtualTable(initialVirtualTable ? 'edit' : 'add', ranVirtualTableQuery, virtualTableOwners, name, initialVirtualTable ? initialVirtualTable._id : undefined, tableData?.fields || [], override);
45
68
  };
@@ -54,6 +77,12 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
54
77
  // Run query on mount
55
78
  useEffect(() => {
56
79
  if (initialVirtualTable) {
80
+ eventTracking?.addBreadcrumb?.({
81
+ message: 'Initial Query Run on CreateEditVirtualTable load',
82
+ category: 'network',
83
+ level: 'info',
84
+ timestamp: Date.now(),
85
+ });
57
86
  handleRunQuery(initialVirtualTable.viewQuery);
58
87
  }
59
88
  }, []);
@@ -61,6 +90,12 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
61
90
  setErrorInfo({ show: false, message: '' });
62
91
  setVirtualTableAddable(false);
63
92
  setAskAIButtonLoading(true);
93
+ eventTracking?.addBreadcrumb?.({
94
+ message: 'Used Ask AI in CreateEditVirtualTable',
95
+ category: 'network',
96
+ level: 'info',
97
+ timestamp: Date.now(),
98
+ });
64
99
  const results = await getQueryFromAiWithConnection(state.isSelfHosted, allTableData, state.queryEndpoint, aiPrompt, state.client._id, getToken, state.client.schemaNames, state.queryHeaders);
65
100
  setEditVirtualTableQuery(results);
66
101
  setAskAIButtonLoading(false);
@@ -106,7 +141,7 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
106
141
  return;
107
142
  }
108
143
  setIsLoading(true);
109
- const resp = await getVirtualTableData(state.client._id, query, state.client.databaseType, state.queryEndpoint, getToken, state.queryHeaders);
144
+ const resp = await getVirtualTableData(state.client._id, query, state.client.databaseType, state.queryEndpoint, getToken, eventTracking, state.queryHeaders);
110
145
  if (!resp.success) {
111
146
  setErrorInfo({ show: true, message: resp.error });
112
147
  setTableData(undefined);
@@ -243,10 +278,27 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
243
278
  flexDirection: 'row',
244
279
  justifyContent: 'space-between',
245
280
  }, children: [_jsx(ButtonComponent, { label: 'Run query', onClick: () => {
281
+ eventTracking?.addBreadcrumb?.({
282
+ message: 'Clicked run query button in CreateEditVirtualTable',
283
+ category: 'interaction',
284
+ level: 'info',
285
+ timestamp: Date.now(),
286
+ });
246
287
  handleRunQuery();
247
288
  } }), !!dashboardOwnerTenants?.length && (_jsx(QuillMultiSelectComponentWithCombo, { label: 'Owner Tenants', width: 230, value: virtualTableOwners, options: dashboardOwnerTenants?.map((f) => {
248
289
  return { value: f.tenantField, label: f.name };
249
- }) ?? [], onChange: (e) => setVirtualTableOwners(e.target.value), allSelectedLabel: _jsx("div", { children: "All tenants" }), noneSelectedLabel: _jsx("div", { children: "No owners" }) }))] })), errorInfo.show ? (_jsx("div", { style: {
290
+ }) ?? [], onChange: (e) => {
291
+ setVirtualTableOwners(e.target.value);
292
+ eventTracking?.addBreadcrumb?.({
293
+ message: 'Changed owner tenants in CreateEditVirtualTable',
294
+ category: 'interaction',
295
+ level: 'info',
296
+ timestamp: Date.now(),
297
+ data: {
298
+ ownerTenants: e.target.value,
299
+ },
300
+ });
301
+ }, allSelectedLabel: _jsx("div", { children: "All tenants" }), noneSelectedLabel: _jsx("div", { children: "No owners" }) }))] })), errorInfo.show ? (_jsx("div", { style: {
250
302
  fontSize: 15,
251
303
  fontWeight: '400',
252
304
  width: '100%',
@@ -268,7 +320,37 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
268
320
  flexDirection: 'row',
269
321
  gap: 12,
270
322
  marginTop: 'auto',
271
- }, children: [_jsx(SecondaryButtonComponent, { onClick: closeEditVirtualTable, label: 'Discard changes' }), _jsx(ButtonComponent, { label: `${initialVirtualTable ? 'Save changes' : 'Create virtual table'}`, onClick: () => {
323
+ }, children: [_jsx(SecondaryButtonComponent, { onClick: () => {
324
+ closeEditVirtualTable();
325
+ eventTracking?.addBreadcrumb?.({
326
+ message: 'Clicked discard changes button in CreateEditVirtualTable',
327
+ category: 'interaction',
328
+ level: 'info',
329
+ timestamp: Date.now(),
330
+ });
331
+ }, label: 'Discard changes' }), _jsx(ButtonComponent, { label: `${initialVirtualTable ? 'Save changes' : 'Create virtual table'}`, onClick: () => {
332
+ if (initialVirtualTable) {
333
+ eventTracking?.addBreadcrumb?.({
334
+ message: 'Saved changes to existing virtual table',
335
+ data: {
336
+ virtualTable: initialVirtualTable.name,
337
+ },
338
+ category: 'interaction',
339
+ level: 'info',
340
+ timestamp: Date.now(),
341
+ });
342
+ }
343
+ else {
344
+ eventTracking?.addBreadcrumb?.({
345
+ message: 'Created new virtual table',
346
+ data: {
347
+ virtualTable: name,
348
+ },
349
+ category: 'interaction',
350
+ level: 'info',
351
+ timestamp: Date.now(),
352
+ });
353
+ }
272
354
  const duplicateColumns = getDuplicateColumns(tableData?.fields);
273
355
  if (duplicateColumns.length > 0) {
274
356
  alert(`Ambiguous column names found. Either use aliases or remove the column to make every column name unique: \n\n${duplicateColumns.join('\n')}`);
@@ -288,5 +370,5 @@ export default function CreateEditVirtualTable({ containerStyle, initialVirtualT
288
370
  display: 'flex',
289
371
  flexDirection: 'row',
290
372
  gap: 12,
291
- }, children: _jsx(SecondaryButtonComponent, { onClick: closeEditVirtualTable, label: 'Discard changes' }) }))] })] }), _jsx(TenantFieldModal, { isOpen: !!failingTenant, setClosed: () => setFailingTenant(undefined), tenant: failingTenant })] }) }));
373
+ }, children: _jsx(SecondaryButtonComponent, { onClick: closeEditVirtualTable, label: 'Discard changes' }) }))] })] }), _jsx(TenantFieldModal, { isOpen: !!failingTenant, setClosed: () => setFailingTenant(undefined), tenant: failingTenant, errorType: failingTenantErrorType })] }) }));
292
374
  }
@@ -0,0 +1,16 @@
1
+ import { EventTracking } from '@quillsql/react';
2
+ import { Action, State } from '../models/AdminContext';
3
+ import { QuillFetchOptions, QuillResults } from '../utils/dataFetcher';
4
+ import { QuillProviderClient } from '../models/Provider';
5
+ export declare const useAdmin: () => {
6
+ state: State;
7
+ dispatch: React.Dispatch<Action>;
8
+ clientLoading: boolean;
9
+ setClient: (client: QuillProviderClient, fetchTenantInfo?: boolean) => void;
10
+ getToken: () => Promise<string>;
11
+ quillFetchWithToken: (options: Omit<QuillFetchOptions, "getToken">) => Promise<QuillResults>;
12
+ eventTracking: EventTracking | null;
13
+ onOnboardComplete?: (client: any) => void;
14
+ onRequestAddVirtualTable?: () => void;
15
+ };
16
+ //# sourceMappingURL=useAdmin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAdmin.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAdmin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAgB,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,eAAO,MAAM,QAAQ,QAAO;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5E,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,mBAAmB,EAAE,CACnB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,KACzC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CAOvC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { useContext } from 'react';
2
+ import { AdminContext } from '../models/AdminContext';
3
+ export const useAdmin = () => {
4
+ const context = useContext(AdminContext);
5
+ if (context === undefined) {
6
+ throw new Error('useAdmin must be used within an AdminProvider');
7
+ }
8
+ return { ...context, clientLoading: context.loading };
9
+ };
@@ -1,5 +1,5 @@
1
1
  import { useDashboards } from '@quillsql/react';
2
- import { useAdmin } from '../AdminProvider';
2
+ import { useAdmin } from '../hooks/useAdmin';
3
3
  import { useMemo } from 'react';
4
4
  import { SAVED_QUERIES_DASHBOARD } from '../utils/constants';
5
5
  export const useDashboardManager = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useDatabaseSchema.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDatabaseSchema.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB;;;CAgE7B,CAAC"}
1
+ {"version":3,"file":"useDatabaseSchema.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDatabaseSchema.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB;;;CA2E7B,CAAC"}
@@ -1,8 +1,8 @@
1
- import { useAdmin } from '../AdminProvider';
1
+ import { useAdmin } from '../hooks/useAdmin';
2
2
  import { useEffect, useRef, useState } from 'react';
3
3
  import { getTableColumnsBySchema } from '../api/ConnectionClient';
4
4
  export const useDatabaseSchema = () => {
5
- const { state, dispatch, getToken } = useAdmin();
5
+ const { state, dispatch, getToken, eventTracking } = useAdmin();
6
6
  const [isLoading, setIsLoading] = useState(state.databaseSchema?.id !== state.client.id);
7
7
  const idRef = useRef(null);
8
8
  useEffect(() => {
@@ -36,6 +36,17 @@ export const useDatabaseSchema = () => {
36
36
  });
37
37
  }
38
38
  catch (e) {
39
+ eventTracking?.logError?.({
40
+ type: 'bug', // TODO: determine type
41
+ severity: 'high',
42
+ message: 'Error fetching schema',
43
+ errorMessage: e.message,
44
+ errorStack: e.stack,
45
+ errorData: {
46
+ caller: 'useDatabaseSchema',
47
+ function: 'fetchSchema',
48
+ },
49
+ });
39
50
  console.error(e);
40
51
  }
41
52
  finally {
@@ -0,0 +1,13 @@
1
+ type LongLoadingMeta = {
2
+ origin: string;
3
+ loadDescription: string;
4
+ expectedLoadTime?: number;
5
+ abnormalLoadTime?: number;
6
+ };
7
+ type LoadingState = {
8
+ isLongLoading: boolean;
9
+ isAbnormalLoading: boolean;
10
+ };
11
+ export declare function useLongLoading(isLoading: boolean, meta: LongLoadingMeta): LoadingState;
12
+ export {};
13
+ //# sourceMappingURL=useLongLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongLoading.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLongLoading.tsx"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,eAAe,GACpB,YAAY,CAoEd"}
@@ -0,0 +1,64 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { useAdmin } from '../hooks/useAdmin';
3
+ export function useLongLoading(isLoading, meta) {
4
+ const { origin, expectedLoadTime = 5000, abnormalLoadTime = 15000, loadDescription, } = meta;
5
+ const [isLongLoading, setIsLongLoading] = useState(false);
6
+ const [isAbnormalLoading, setIsAbnormalLoading] = useState(false);
7
+ const { eventTracking } = useAdmin();
8
+ useEffect(() => {
9
+ let longTimer = null;
10
+ let abnormalTimer = null;
11
+ if (isLoading) {
12
+ // Set timer for long loading
13
+ longTimer = setTimeout(() => {
14
+ setIsLongLoading(true);
15
+ eventTracking?.logError?.({
16
+ type: 'timeout',
17
+ severity: 'medium',
18
+ message: `${origin} loading is taking longer than expected`,
19
+ errorData: {
20
+ loadDescription,
21
+ expectedLoadTime,
22
+ currentTime: Date.now(),
23
+ },
24
+ });
25
+ // Set timer for abnormal loading
26
+ abnormalTimer = setTimeout(() => {
27
+ setIsAbnormalLoading(true);
28
+ eventTracking?.logError?.({
29
+ type: 'timeout',
30
+ severity: 'high',
31
+ message: `${origin} loading is taking abnormally long`,
32
+ errorData: {
33
+ loadDescription,
34
+ expectedLoadTime,
35
+ abnormalLoadTime,
36
+ currentTime: Date.now(),
37
+ },
38
+ });
39
+ }, abnormalLoadTime - expectedLoadTime);
40
+ }, expectedLoadTime);
41
+ }
42
+ else {
43
+ setIsLongLoading(false);
44
+ setIsAbnormalLoading(false);
45
+ }
46
+ return () => {
47
+ if (longTimer)
48
+ clearTimeout(longTimer);
49
+ if (abnormalTimer)
50
+ clearTimeout(abnormalTimer);
51
+ };
52
+ }, [
53
+ isLoading,
54
+ origin,
55
+ expectedLoadTime,
56
+ abnormalLoadTime,
57
+ loadDescription,
58
+ eventTracking,
59
+ ]);
60
+ return {
61
+ isLongLoading,
62
+ isAbnormalLoading,
63
+ };
64
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../src/hooks/useOnClickOutside.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,iBAAiB,QAChB,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,WAC3B;IAAE,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,cACnB,OAAO,SA2BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,WAAW,KAAG,MAoBzD,CAAC;AAqBF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../src/hooks/useOnClickOutside.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,iBAAiB,GACrB,KAAK,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EACpC,SAAS;IAAE,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,EAC/B,YAAY,OAAO,SA2BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,WAAW,KAAG,MAoBzD,CAAC;AAqBF,eAAe,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { QuillTenant } from '../utils/tenants';
1
+ import { QuillTenant } from '../models/Tenant';
2
2
  export declare const useTenants: () => {
3
3
  dashboardTenants: QuillTenant[] | undefined;
4
4
  dashboardOwnerTenant: QuillTenant | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useTenants.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTenants.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKjE,eAAO,MAAM,UAAU;;;;;;;mCA6CuB,MAAM;sCAsDH,MAAM,EAAE;4CAoDR,MAAM,EAAE;CA+DxD,CAAC"}
1
+ {"version":3,"file":"useTenants.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTenants.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,eAAO,MAAM,UAAU;;;;;;;mCA6CuB,MAAM;sCAsDH,MAAM,EAAE;4CAoDR,MAAM,EAAE;CA+DxD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { useAdmin } from '../AdminProvider';
1
+ import { useAdmin } from '../hooks/useAdmin';
2
2
  import { getTenantMapping } from '../utils/tenants';
3
3
  import { useMemo } from 'react';
4
4
  import { useDashboardManager } from './useDashboardManager';
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottle.d.ts","sourceRoot":"","sources":["../../../src/hooks/useThrottle.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAClC,KAAK,EAAE,MAAM,aAGI,GAAG,EAAE,UAOvB"}
1
+ {"version":3,"file":"useThrottle.d.ts","sourceRoot":"","sources":["../../../src/hooks/useThrottle.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAClC,KAAK,EAAE,MAAM,IAGL,GAAG,MAAM,GAAG,EAAE,UAOvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB;;6CActB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,GAAI;;CAAY,4CActC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckCircleIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/CheckCircleIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe;;6CAepB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"CheckCircleIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/CheckCircleIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,GAAI;;CAAY,4CAepC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExclamationFilledIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/ExclamationFilledIcon.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,qBAAqB;;6CAa1B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"ExclamationFilledIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/ExclamationFilledIcon.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,qBAAqB,GAAI;;CAAY,4CAa1C,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExteriorLinkIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/ExteriorLinkIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB;;6CAcrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ExteriorLinkIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/ExteriorLinkIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,GAAI;;CAAY,4CAcrC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionMarkCircleIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/QuestionMarkCircleIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,sBAAsB;;6CAgB3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"QuestionMarkCircleIcon.d.ts","sourceRoot":"","sources":["../../../src/icons/QuestionMarkCircleIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,sBAAsB,GAAI;;CAAY,4CAgB3C,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodePreview.d.ts","sourceRoot":"","sources":["../../../src/modals/CodePreview.tsx"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAc,EACd,MAAM,EACN,SAAS,GACV,EAAE;IACD,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,kDA4OA"}
1
+ {"version":3,"file":"CodePreview.d.ts","sourceRoot":"","sources":["../../../src/modals/CodePreview.tsx"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAc,EACd,MAAM,EACN,SAAS,GACV,EAAE;IACD,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,kDAoPA"}