diff --git a/backend/windmill-api/src/flows.rs b/backend/windmill-api/src/flows.rs index 504ab3ab33..9338258d14 100644 --- a/backend/windmill-api/src/flows.rs +++ b/backend/windmill-api/src/flows.rs @@ -488,6 +488,7 @@ pub struct FlowWDraft { pub draft: Option, #[serde(skip_serializing_if = "Option::is_none")] pub draft_only: Option, + pub tag: Option, } async fn get_flow_by_path_w_draft( @@ -499,7 +500,7 @@ async fn get_flow_by_path_w_draft( let mut tx = user_db.begin(&authed).await?; let flow_o = sqlx::query_as::<_, FlowWDraft>( - "SELECT flow.path, flow.summary, flow,description, flow.schema, flow.value, flow.extra_perms, flow.draft_only, draft.value as draft FROM flow + "SELECT flow.path, flow.summary, flow,description, flow.schema, flow.value, flow.extra_perms, flow.draft_only, draft.value as draft, flow.tag FROM flow LEFT JOIN draft ON flow.path = draft.path AND flow.workspace_id = draft.workspace_id AND draft.typ = 'flow' WHERE flow.path = $1 AND flow.workspace_id = $2", diff --git a/frontend/src/lib/components/ScriptPicker.svelte b/frontend/src/lib/components/ScriptPicker.svelte index 6d8d6cc710..3a94bd558b 100644 --- a/frontend/src/lib/components/ScriptPicker.svelte +++ b/frontend/src/lib/components/ScriptPicker.svelte @@ -15,10 +15,11 @@ import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte' import { Code2, Globe } from 'lucide-svelte' import type { SupportedLanguage } from '$lib/common' - import { faRotateRight } from '@fortawesome/free-solid-svg-icons' + import { faExternalLink, faRotateRight } from '@fortawesome/free-solid-svg-icons' import Icon from 'svelte-awesome' import FlowIcon from './home/FlowIcon.svelte' import DarkModeObserver from './DarkModeObserver.svelte' + import { truncate } from '$lib/utils' export let initialPath: string | undefined = undefined export let scriptPath: string | undefined = undefined @@ -44,13 +45,13 @@ if (itemKind == 'flow') { items = (await FlowService.listFlows({ workspace: $workspaceStore! })).map((flow) => ({ value: flow.path, - label: `${flow.path}${flow.summary ? ` | ${flow.summary}` : ''}` + label: `${flow.path}${flow.summary ? ` | ${truncate(flow.summary, 20)}` : ''}` })) } else if (itemKind == 'script') { items = (await ScriptService.listScripts({ workspace: $workspaceStore!, kind })).map( (script) => ({ value: script.path, - label: `${script.path}${script.summary ? ` | ${script.summary}` : ''}` + label: `${script.path}${script.summary ? ` | ${truncate(script.summary, 20)}` : ''}` }) ) } else { @@ -108,7 +109,7 @@ {:else}