{@html github} { modalViewerMode = 'code' modalViewerTitle = 'Script ' + path modalViewerContent = ( await ScriptService.getScriptByPath({ workspace: $workspaceStore ?? '', path }) ).content modalViewer.openModal() }} closeOnClick={false} itemName="script" extraField="summary" loadItems={loadScripts} />
{modalViewerTitle}
{#if modalViewerMode === 'result'} {:else if modalViewerMode === 'logs'}
				{modalViewerContent}
			
{:else if modalViewerMode === 'code'} {#if lang == 'python3'} {:else if lang == 'deno'} {/if} {/if}
{ if (!path) { if (lang == 'deno') { getEditor().insertAtCursor(`Deno.env.get('${name}')`) } else { if (!getEditor().getCode().includes('import os')) { getEditor().insertAtBeginning('import os\n') } getEditor().insertAtCursor(`os.environ.get("${name}")`) } sendUserToast(`${name} inserted at cursor`) } else { if (lang == 'deno') { if (!getEditor().getCode().includes('import * as wmill from')) { getEditor().insertAtBeginning( `import * as wmill from 'https://deno.land/x/windmill@v${__pkg__.version}/index.ts'\n` ) } getEditor().insertAtCursor(`(await wmill.getVariable('${path}'))`) } else { if (!getEditor().getCode().includes('import wmill')) { getEditor().insertAtBeginning('import wmill\n') } getEditor().insertAtCursor(`wmill.get_variable("${path}")`) } sendUserToast(`${name} inserted at cursor`) } }} itemName="Variable" extraField="name" loadItems={loadVariables} >
The variable you were looking for does not exist yet?
{ if (lang == 'deno') { if (!getEditor().getCode().includes('import * as wmill from')) { getEditor().insertAtBeginning( `import * as wmill from 'https://deno.land/x/windmill@v${__pkg__.version}/index.ts'\n` ) } getEditor().insertAtCursor(`(await wmill.getResource('${path}'))`) } else { if (!getEditor().getCode().includes('import wmill')) { getEditor().insertAtBeginning('import wmill\n') } getEditor().insertAtCursor(`wmill.get_resource("${path}")`) } sendUserToast(`${path} inserted at cursor`) }} itemName="Resource" extraField="resource_type" loadItems={async () => await ResourceService.listResource({ workspace: $workspaceStore ?? 'NO_W' })} >
The resource you were looking for does not exist yet?
{ if (!viewPreview) { viewPreview = true } }} >
{ runPreview() viewPreview = true }} formatAction={() => { code = getEditor().getCode() localStorage.setItem(path ?? 'last_save', code) }} class="h-full" deno={lang == 'deno'} automaticLayout={true} />
{ viewPreview = !viewPreview }} >
Preview Test your script by running a preview, passing inputs as if you were a user {#if previewIsLoading} {/if}
Shortcuts: Cmd/Ctrl+S: autoformat code and overwrite local save
Cmd/Ctrl+Enter: run preview
{#if previewTab === 'logs'}
{#if previewJob && previewJob.logs}{previewJob.logs}
					{:else if previewIsLoading}Starting preview ...
					{:else}No preview is available yet{/if}
			
{:else if previewTab === 'input'}
{#if isValid} The current preview input matches requirements defined in arguments {:else} The current preview input doesn't match requirements defined in arguments. Are you sure?{/if}
{:else if previewTab === 'output'}
				{#if previewJob && 'result' in previewJob && previewJob.result}
						
					{:else if previewIsLoading}
						Running...
					{:else}
						No output is available yet
					{/if}
			
{:else if previewTab === 'last_save'} {:else if previewTab === 'history'} id created at success result code logs {#each pastPreviews as { id, created_at, success, result, logs }} {id.substring(30)} {displayDate(created_at)} {#if success} {:else} {/if} { modalViewerContent = result modalViewerMode = 'result' modalViewer.openModal() }}>{JSON.stringify(result).substring(0, 30)}... { modalViewerContent = ( await JobService.getCompletedJob({ workspace: $workspaceStore ?? 'NO_W', id }) ).raw_code modalViewerMode = 'code' modalViewer.openModal() }} >View code { modalViewerContent = ( await JobService.getCompletedJob({ workspace: $workspaceStore ?? 'NO_W', id }) ).logs modalViewerMode = 'logs' modalViewer.openModal() }} >View logs {/each} {/if}