From 95101535cd88208fd84f8205d079e2b9973955a5 Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Thu, 12 Mar 2026 23:43:26 +0100 Subject: [PATCH] Data table fork UI --- .../src/lib/components/select/Select.svelte | 3 + .../workspaceSettings/CreateWorkspace.svelte | 11 +++ .../CreateWorkspaceInner.svelte | 95 +++++++++++++------ .../src/routes/(root)/(logged)/+layout.svelte | 5 +- 4 files changed, 82 insertions(+), 32 deletions(-) diff --git a/frontend/src/lib/components/select/Select.svelte b/frontend/src/lib/components/select/Select.svelte index a4d49dc2b9..c64769ad63 100644 --- a/frontend/src/lib/components/select/Select.svelte +++ b/frontend/src/lib/components/select/Select.svelte @@ -45,6 +45,7 @@ itemButtonWrapperClasses, size = 'md', showPlaceholderOnOpen = false, + dropdownClass, transformInputSelectedText, groupBy, sortBy, @@ -80,6 +81,7 @@ itemButtonWrapperClasses?: string size?: 'sm' | 'md' | 'lg' showPlaceholderOnOpen?: boolean + dropdownClass?: string transformInputSelectedText?: (text: string, value: Value) => string groupBy?: (item: Item) => string sortBy?: (a: Item, b: Item) => number @@ -203,6 +205,7 @@ {id} /> import CenteredModal from '$lib/components/CenteredModal.svelte' + import { GitForkIcon } from 'lucide-svelte' import CreateWorkspaceInner from './CreateWorkspaceInner.svelte' + import { workspaceStore } from '$lib/stores' interface Props { isFork?: boolean @@ -10,5 +12,14 @@ + {#if isFork} +
+ + Forking + + {$workspaceStore} + +
+ {/if}
diff --git a/frontend/src/lib/components/workspaceSettings/CreateWorkspaceInner.svelte b/frontend/src/lib/components/workspaceSettings/CreateWorkspaceInner.svelte index 26086f8a7c..424f7316a3 100644 --- a/frontend/src/lib/components/workspaceSettings/CreateWorkspaceInner.svelte +++ b/frontend/src/lib/components/workspaceSettings/CreateWorkspaceInner.svelte @@ -27,12 +27,15 @@ import ToggleButtonGroup from '$lib/components/common/toggleButton-v2/ToggleButtonGroup.svelte' import ToggleButton from '$lib/components/common/toggleButton-v2/ToggleButton.svelte' import { AI_PROVIDERS } from '$lib/components/copilot/lib' - import { GitFork, LoaderCircle } from 'lucide-svelte' + import { LoaderCircle } from 'lucide-svelte' import PrefixedInput from '../PrefixedInput.svelte' import TextInput from '../text_input/TextInput.svelte' import { jobManager } from '$lib/services/JobManager' import Alert from '../common/alert/Alert.svelte' import { base } from '$lib/base' + import { resource } from 'runed' + import Label from '../Label.svelte' + import Select from '../select/Select.svelte' interface Props { isFork?: boolean @@ -52,6 +55,15 @@ let codeCompletionEnabled = $state(true) let checking = $state(false) + let allDatatables = resource([], async () => + $workspaceStore + ? WorkspaceService.listDataTables({ + workspace: $workspaceStore ?? '' + }) + : undefined + ) + let datatableBehaviors: Record = $state({}) + let workspaceColor: string | undefined = $state(undefined) let colorEnabled = $state(false) @@ -343,16 +355,7 @@ let domain = $derived($usersWorkspaceStore?.email.split('@')[1]) -
- {#if isFork} -
- - Forking - - {$workspaceStore} - -
- {/if} +
{#if errorMsgs.length != 0}
    @@ -381,15 +384,15 @@ {#if isPathVersionLessThan(job.script_path, 28073)}
    This job was not running the latest version of the git sync script available on - the hub. You might be able to solve this issue by going to `Workspace Settings` - -> `Git Sync` and updating the script. + the hub. You might be able to solve this issue by going to `Workspace Settings` -> + `Git Sync` and updating the script.
    {/if} {/each}
{:catch error} - Tried to fetch jobs to get more information, but failed: {error}. Here are the failed - job ids: + Tried to fetch jobs to get more information, but failed: {error}. Here are the failed job + ids:
    {#each failedSyncJobs as jobId}
  • @@ -444,11 +447,10 @@ {errorId} {/if} -
- + +