diff --git a/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte b/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte
index 8d84d2e609..fb50dcfb4c 100644
--- a/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte
+++ b/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte
@@ -41,7 +41,6 @@
import PlotlyHtmlV2 from '../../components/display/PlotlyHtmlV2.svelte'
import AppScatterChart from '../../components/display/AppScatterChart.svelte'
import AppPieChart from '../../components/display/AppPieChart.svelte'
- import AppTable from '../../components/display/table/AppTable.svelte'
import AppAggridTable from '../../components/display/table/AppAggridTable.svelte'
import AppText from '../../components/display/AppText.svelte'
import AppCodeInputComponent from '../../components/inputs/AppCodeInputComponent.svelte'
@@ -74,6 +73,7 @@
import AppUserResource from '../../components/inputs/AppUserResource.svelte'
import type { AppComponent } from './components'
import { Button } from '$lib/components/common'
+ import { Loader2 } from 'lucide-svelte'
interface Props {
component: AppComponent
@@ -235,15 +235,19 @@
{render}
/>
{:else if component.type === 'tablecomponent'}
-
+ {#await import('$lib/components/apps/components/display/table/AppTable.svelte')}
+
+ {:then Module}
+
+ {/await}
{:else if component.type === 'dbexplorercomponent'}
(undefined)
+let loading = false
+
export async function getResourceTypes() {
const rts = get(resourceTypesStore)
if (rts) {
return rts
} else {
+ if (loading) {
+ let counter = 0
+ while (loading) {
+ await new Promise(resolve => setTimeout(resolve, 50))
+ counter++
+ if (counter > 10) {
+ console.error('Resource types loading timeout')
+ break
+ }
+ }
+ if (!loading) {
+ return get(resourceTypesStore)
+ }
+
+ }
+ loading = true
+
let workspace = get(workspaceStore)
- if (workspace){
+ if (workspace) {
try {
const nrts = await ResourceService.listResourceTypeNames({ workspace: workspace })
resourceTypesStore.set(nrts)
+ loading = false
return nrts
} catch (e) {
- return ["error_fetching_names"]
+ loading = false
+ return ["error_fetching_names"]
}
} else {
return ['workspace_is_undefined']