windmill-components 1.522.0 → 1.531.0
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.
- package/package/components/AIAgentLogViewer.svelte +123 -0
- package/package/components/AIAgentLogViewer.svelte.d.ts +13 -0
- package/package/components/AppConnectInner.svelte +10 -10
- package/package/components/AutoscalingConfigEditor.svelte +76 -2
- package/package/components/Dev.svelte +12 -28
- package/package/components/DiffEditor.svelte +6 -3
- package/package/components/DiffEditor.svelte.d.ts +1 -0
- package/package/components/DisplayResult.svelte +16 -10
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +5 -2
- package/package/components/Editor.svelte +26 -8
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/EditorBar.svelte +25 -5
- package/package/components/EditorSettings.svelte +6 -0
- package/package/components/FirstStepInputs.svelte +2 -2
- package/package/components/FlowBuilder.svelte +18 -36
- package/package/components/FlowGraphViewerStep.svelte +7 -0
- package/package/components/FlowJobResult.svelte +15 -63
- package/package/components/FlowJobResult.svelte.d.ts +10 -4
- package/package/components/FlowLogViewer.svelte +660 -0
- package/package/components/FlowLogViewer.svelte.d.ts +34 -0
- package/package/components/FlowLogViewerWrapper.svelte +52 -0
- package/package/components/FlowLogViewerWrapper.svelte.d.ts +21 -0
- package/package/components/FlowLoopIterationPreview.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte +4 -5
- package/package/components/FlowPreviewContent.svelte.d.ts +7 -7
- package/package/components/FlowPreviewResult.svelte +4 -5
- package/package/components/FlowPreviewResult.svelte.d.ts +3 -5
- package/package/components/FlowStatusViewer.svelte +28 -16
- package/package/components/FlowStatusViewer.svelte.d.ts +19 -27
- package/package/components/FlowStatusViewerInner.svelte +483 -296
- package/package/components/FlowStatusViewerInner.svelte.d.ts +27 -33
- package/package/components/FlowTimeline.svelte +11 -13
- package/package/components/FlowTimeline.svelte.d.ts +6 -5
- package/package/components/HighlightCode.svelte +4 -1
- package/package/components/IconedResourceType.svelte +9 -5
- package/package/components/JobLoader.svelte +61 -8
- package/package/components/JobLoader.svelte.d.ts +9 -1
- package/package/components/LogViewer.svelte +8 -2
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/LogViewerHeader.svelte +32 -0
- package/package/components/LogViewerHeader.svelte.d.ts +8 -0
- package/package/components/ModulePreviewForm.svelte +10 -6
- package/package/components/ModulePreviewResultViewer.svelte +16 -0
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -1
- package/package/components/ModuleTest.svelte +59 -16
- package/package/components/RelativeLineNumbers.svelte +16 -0
- package/package/components/RelativeLineNumbers.svelte.d.ts +18 -0
- package/package/components/ResourceEditor.svelte +9 -4
- package/package/components/ScriptBuilder.svelte +13 -11
- package/package/components/ScriptEditor.svelte +2 -2
- package/package/components/SimpleEditor.svelte +10 -4
- package/package/components/SimpleEditor.svelte.d.ts +1 -0
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/UserSettings.svelte +4 -4
- package/package/components/apps/components/display/AppAccordionList.svelte +1 -1
- package/package/components/apps/components/display/AppCarouselList.svelte +10 -8
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +3 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte +2 -2
- package/package/components/apps/components/helpers/HiddenComponent.svelte +0 -1
- package/package/components/apps/components/helpers/InputValue.svelte +6 -1
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +8 -4
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +7 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +12 -3
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
- package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +0 -5
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +1 -1
- package/package/components/apps/components/layout/AppContainer.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +31 -20
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppList.svelte +9 -8
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/components/layout/AppSplitpanes.svelte +5 -2
- package/package/components/apps/components/layout/AppStepper.svelte +9 -5
- package/package/components/apps/components/layout/AppTabs.svelte +2 -2
- package/package/components/apps/editor/AppJobsDrawer.svelte +2 -2
- package/package/components/apps/editor/GridEditor.svelte +24 -19
- package/package/components/apps/editor/GridEditor.svelte.d.ts +4 -1
- package/package/components/apps/editor/GridViewer.svelte +1 -1
- package/package/components/apps/editor/SubGridEditor.svelte +7 -11
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -19
- package/package/components/apps/editor/appUtils.js +17 -68
- package/package/components/apps/editor/component/ComponentInner.svelte +845 -694
- package/package/components/apps/editor/component/componentCallbacks.svelte.js +8 -1
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -46
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +29 -43
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/Grid.svelte +23 -25
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +21 -9
- package/package/components/apps/svelte-grid/MoveResize.svelte +13 -15
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +17 -24
- package/package/components/apps/utils.d.ts +2 -0
- package/package/components/apps/utils.js +22 -0
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
- package/package/components/common/fileDownload/FileDownload.svelte +1 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +4 -18
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +58 -0
- package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -0
- package/package/components/copilot/MetadataGen.svelte +19 -1
- package/package/components/copilot/MetadataGen.svelte.d.ts +1 -1
- package/package/components/copilot/ScriptGen.svelte +23 -31
- package/package/components/copilot/ScriptGen.svelte.d.ts +0 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +2 -0
- package/package/components/copilot/chat/AIChatDisplay.svelte +4 -4
- package/package/components/copilot/chat/AIChatInput.svelte +29 -6
- package/package/components/copilot/chat/AIChatManager.svelte.js +110 -26
- package/package/components/copilot/chat/AIChatMessage.svelte +3 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte +84 -0
- package/package/components/copilot/chat/ToolContentDisplay.svelte.d.ts +11 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +105 -0
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +7 -0
- package/package/components/copilot/chat/api/apiTools.js +192 -0
- package/package/components/copilot/chat/api/core.d.ts +7 -0
- package/package/components/copilot/chat/api/core.js +61 -0
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -6
- package/package/components/copilot/chat/flow/core.js +213 -42
- package/package/components/copilot/chat/flow/utils.js +3 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +1 -1
- package/package/components/copilot/chat/monaco-adapter.js +10 -4
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +20 -22
- package/package/components/copilot/chat/script/core.d.ts +11 -3
- package/package/components/copilot/chat/script/core.js +92 -15
- package/package/components/copilot/chat/shared.d.ts +30 -3
- package/package/components/copilot/chat/shared.js +228 -9
- package/package/components/copilot/lib.d.ts +1 -1
- package/package/components/copilot/lib.js +15 -6
- package/package/components/custom_ui.d.ts +2 -0
- package/package/components/details/DetailPageLayout.svelte +34 -33
- package/package/components/flow_builder.d.ts +1 -2
- package/package/components/flows/FlowEditor.svelte +3 -3
- package/package/components/flows/FlowEditor.svelte.d.ts +7 -6
- package/package/components/flows/common/FlowCard.svelte +2 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +13 -4
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/BranchPredicateEditor.svelte +4 -7
- package/package/components/flows/content/BranchPredicateEditor.svelte.d.ts +12 -11
- package/package/components/flows/content/FlowConstants.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +3 -3
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -1
- package/package/components/flows/content/FlowLoop.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +130 -108
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleSkip.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowModuleWrapper.svelte +15 -5
- package/package/components/flows/content/FlowModuleWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowResult.svelte +2 -3
- package/package/components/flows/content/FlowResult.svelte.d.ts +2 -4
- package/package/components/flows/content/FlowWhileLoop.svelte +1 -1
- package/package/components/flows/dfs.d.ts +3 -1
- package/package/components/flows/dfs.js +5 -1
- package/package/components/flows/flowInfers.js +78 -0
- package/package/components/flows/flowState.d.ts +2 -3
- package/package/components/flows/flowState.js +2 -2
- package/package/components/flows/flowStateUtils.svelte.d.ts +4 -4
- package/package/components/flows/flowStateUtils.svelte.js +14 -13
- package/package/components/flows/flowStore.d.ts +3 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
- package/package/components/flows/header/FlowYamlEditor.svelte +10 -1
- package/package/components/flows/map/FlowGraphPreviewButton.svelte +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +7 -3
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +12 -12
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +26 -19
- package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +6 -4
- package/package/components/flows/map/InsertModuleInner.svelte +9 -1
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
- package/package/components/flows/map/MapItem.svelte +4 -2
- package/package/components/flows/pickers/TopLevelNode.svelte +4 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -4
- package/package/components/flows/propPicker/OutputBadge.svelte +11 -9
- package/package/components/flows/propPicker/OutputPickerInner.svelte +10 -1
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
- package/package/components/flows/testSteps.svelte.d.ts +3 -2
- package/package/components/flows/testSteps.svelte.js +26 -23
- package/package/components/flows/types.d.ts +1 -1
- package/package/components/flows/utils.d.ts +3 -5
- package/package/components/flows/utils.js +3 -4
- package/package/components/git_sync/GitSyncContext.svelte.js +2 -1
- package/package/components/graph/FlowGraphV2.svelte +44 -24
- package/package/components/graph/FlowGraphV2.svelte.d.ts +5 -2
- package/package/components/graph/graphBuilder.svelte.d.ts +49 -17
- package/package/components/graph/graphBuilder.svelte.js +30 -14
- package/package/components/graph/model.d.ts +9 -6
- package/package/components/graph/renderers/edges/BaseEdge.svelte +3 -3
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +2 -3
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +234 -0
- package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/nodes/AssetNode.svelte +15 -10
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +18 -1
- package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +2 -2
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +21 -21
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +64 -0
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +7 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
- package/package/components/icons/RubyIcon.svelte +656 -0
- package/package/components/icons/RubyIcon.svelte.d.ts +7 -0
- package/package/components/instanceSettings.js +9 -0
- package/package/components/modulesTest.svelte.d.ts +6 -3
- package/package/components/modulesTest.svelte.js +32 -0
- package/package/components/preview/FlowPreviewStatus.svelte +3 -1
- package/package/components/raw_apps/RawAppEditor.svelte +27 -26
- package/package/components/raw_apps/RawAppEditor.svelte.d.ts +17 -17
- package/package/components/runs/{JobPreview.svelte → JobRunsPreview.svelte} +1 -4
- package/package/components/runs/{JobPreview.svelte.d.ts → JobRunsPreview.svelte.d.ts} +3 -3
- package/package/components/runs/RunRow.svelte +5 -1
- package/package/components/schema/AddProperty.svelte +41 -36
- package/package/components/schema/AddProperty.svelte.d.ts +2 -2
- package/package/components/schema/AddPropertyV2.svelte +41 -37
- package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -1
- package/package/components/schema/FlowPropertyEditor.svelte +8 -6
- package/package/components/search/RunsSearch.svelte +1 -1
- package/package/components/settings/CreateToken.svelte +132 -12
- package/package/components/settings/CreateToken.svelte.d.ts +3 -20
- package/package/components/settings/TokenDisplay.svelte +18 -42
- package/package/components/settings/TokenDisplay.svelte.d.ts +0 -1
- package/package/components/settings/TokensTable.svelte +2 -4
- package/package/components/settings/TokensTable.svelte.d.ts +3 -19
- package/package/components/settings/WorkspaceUserSettings.svelte +428 -69
- package/package/components/sidebar/MenuButton.svelte +12 -10
- package/package/components/stepHistoryLoader.svelte.d.ts +2 -2
- package/package/components/stepHistoryLoader.svelte.js +7 -12
- package/package/components/triggers/http/OpenAPISpecGenerator.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialBranchOne.svelte +1 -1
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +4 -4
- package/package/components/tutorials/utils.js +3 -0
- package/package/components/worker_group.d.ts +4 -1
- package/package/components/worker_group.js +3 -2
- package/package/editorLangUtils.d.ts +1 -1
- package/package/editorLangUtils.js +2 -0
- package/package/editorUtils.d.ts +2 -1
- package/package/editorUtils.js +2 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +296 -8
- package/package/gen/schemas.gen.js +364 -70
- package/package/gen/services.gen.d.ts +118 -16
- package/package/gen/services.gen.js +226 -19
- package/package/gen/types.gen.d.ts +660 -16
- package/package/hubPaths.json +7 -4
- package/package/infer.js +10 -1
- package/package/monaco_workers/graphql.worker.bundle.js +144 -110
- package/package/script_helpers.d.ts +3 -0
- package/package/script_helpers.js +58 -3
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +3 -2
- package/package/stores.d.ts +2 -0
- package/package/stores.js +2 -0
- package/package/svelte5Utils.svelte.d.ts +16 -0
- package/package/svelte5Utils.svelte.js +26 -0
- package/package/utils.d.ts +1 -1
- package/package.json +20 -19
- package/package/components/AllFlowLogs.svelte +0 -31
- package/package/components/AllFlowLogs.svelte.d.ts +0 -8
- package/package/components/copilot/chat/navigator/apiTools.d.ts +0 -68
- package/package/components/copilot/chat/navigator/apiTools.js +0 -258
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { Job } from '../gen';
|
|
2
|
-
type
|
|
2
|
+
import type { GraphModuleState } from './graph';
|
|
3
|
+
export type ModuleTestState = {
|
|
3
4
|
loading: boolean;
|
|
4
5
|
cancel?: () => Promise<void>;
|
|
5
6
|
testJob?: Job;
|
|
7
|
+
hiddenInGraph?: boolean;
|
|
6
8
|
};
|
|
7
9
|
export declare class ModulesTestStates {
|
|
8
|
-
states: Record<string,
|
|
10
|
+
states: Record<string, ModuleTestState>;
|
|
9
11
|
runTestCb?: (moduleId: string) => void;
|
|
12
|
+
hideJobsInGraph(): void;
|
|
10
13
|
constructor(runTestCb?: (moduleId: string) => void);
|
|
11
14
|
}
|
|
12
|
-
export
|
|
15
|
+
export declare function jobToGraphModuleState(testState: ModuleTestState): GraphModuleState | undefined;
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
export class ModulesTestStates {
|
|
2
2
|
states = $state({});
|
|
3
3
|
runTestCb;
|
|
4
|
+
hideJobsInGraph() {
|
|
5
|
+
for (const state of Object.values(this.states)) {
|
|
6
|
+
state.hiddenInGraph = true;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
4
9
|
constructor(runTestCb) {
|
|
5
10
|
this.states = {};
|
|
6
11
|
this.runTestCb = runTestCb;
|
|
7
12
|
}
|
|
8
13
|
}
|
|
14
|
+
export function jobToGraphModuleState(testState) {
|
|
15
|
+
if (testState.hiddenInGraph) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
else if (testState.loading) {
|
|
19
|
+
return {
|
|
20
|
+
type: 'InProgress',
|
|
21
|
+
args: {}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
else if (testState.testJob) {
|
|
25
|
+
return {
|
|
26
|
+
args: testState.testJob.args,
|
|
27
|
+
type: testState.testJob.type === 'QueuedJob'
|
|
28
|
+
? 'InProgress'
|
|
29
|
+
: testState.testJob['success']
|
|
30
|
+
? 'Success'
|
|
31
|
+
: 'Failure',
|
|
32
|
+
job_id: testState.testJob.id,
|
|
33
|
+
tag: testState.testJob.tag,
|
|
34
|
+
duration_ms: testState.testJob['duration_ms'],
|
|
35
|
+
started_at: testState.testJob.started_at
|
|
36
|
+
? new Date(testState.testJob.started_at).getTime()
|
|
37
|
+
: undefined
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -16,7 +16,9 @@ let { job, hideJobId = false, extra } = $props();
|
|
|
16
16
|
{#if job && !hideJobId}
|
|
17
17
|
<div>
|
|
18
18
|
<div class="text-primary whitespace-nowrap truncate text-sm">
|
|
19
|
-
|
|
19
|
+
{#if ['flow', 'flowpreview', 'flownode'].includes(job.job_kind)}
|
|
20
|
+
<span class="font-semibold mr-1">Flow:</span>
|
|
21
|
+
{/if}
|
|
20
22
|
<a
|
|
21
23
|
rel="noreferrer"
|
|
22
24
|
target="_blank"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
1
|
+
<script lang="ts">import { run } from 'svelte/legacy';
|
|
2
|
+
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
2
3
|
import { writable } from 'svelte/store';
|
|
3
4
|
import RawAppInlineScriptsPanel from './RawAppInlineScriptsPanel.svelte';
|
|
4
5
|
import RawAppEditorHeader from './RawAppEditorHeader.svelte';
|
|
@@ -11,19 +12,10 @@ import { workspaceStore } from '../../stores';
|
|
|
11
12
|
import { genWmillTs } from './utils';
|
|
12
13
|
import HideButton from '../apps/editor/settingsPanel/HideButton.svelte';
|
|
13
14
|
import DarkModeObserver from '../DarkModeObserver.svelte';
|
|
14
|
-
|
|
15
|
-
export let initRunnables;
|
|
16
|
-
export let newApp;
|
|
17
|
-
export let policy;
|
|
18
|
-
export let summary = '';
|
|
19
|
-
export let path;
|
|
20
|
-
export let newPath = undefined;
|
|
21
|
-
export let savedApp = undefined;
|
|
22
|
-
export let diffDrawer = undefined;
|
|
15
|
+
let { initFiles, initRunnables, newApp, policy, summary = $bindable(''), path, newPath = undefined, savedApp = $bindable(undefined), diffDrawer = undefined } = $props();
|
|
23
16
|
export const version = undefined;
|
|
24
17
|
let runnables = writable(initRunnables);
|
|
25
|
-
let files = initFiles;
|
|
26
|
-
$: $runnables && files && saveFrontendDraft();
|
|
18
|
+
let files = $state(initFiles);
|
|
27
19
|
let draftTimeout = undefined;
|
|
28
20
|
function saveFrontendDraft() {
|
|
29
21
|
draftTimeout && clearTimeout(draftTimeout);
|
|
@@ -39,16 +31,11 @@ function saveFrontendDraft() {
|
|
|
39
31
|
}
|
|
40
32
|
}, 500);
|
|
41
33
|
}
|
|
42
|
-
let iframe = undefined;
|
|
43
|
-
let appPanelSize = 70;
|
|
44
|
-
let jobs = [];
|
|
45
|
-
let jobsById = {};
|
|
46
|
-
let iframeLoaded = false; // @hmr:keep
|
|
47
|
-
$: iframe && iframeLoaded && initFiles && populateFiles();
|
|
48
|
-
$: iframe && iframeLoaded && $runnables && populateRunnables();
|
|
49
|
-
$: iframe?.addEventListener('load', () => {
|
|
50
|
-
iframeLoaded = true;
|
|
51
|
-
});
|
|
34
|
+
let iframe = $state(undefined);
|
|
35
|
+
let appPanelSize = $state(70);
|
|
36
|
+
let jobs = $state([]);
|
|
37
|
+
let jobsById = $state({});
|
|
38
|
+
let iframeLoaded = $state(false); // @hmr:keep
|
|
52
39
|
function populateFiles() {
|
|
53
40
|
iframe?.contentWindow?.postMessage({
|
|
54
41
|
type: 'setFiles',
|
|
@@ -61,7 +48,7 @@ function populateRunnables() {
|
|
|
61
48
|
dts: genWmillTs($runnables)
|
|
62
49
|
}, '*');
|
|
63
50
|
}
|
|
64
|
-
let selectedRunnable = undefined;
|
|
51
|
+
let selectedRunnable = $state(undefined);
|
|
65
52
|
function listener(e) {
|
|
66
53
|
if (e.data.type === 'setFiles') {
|
|
67
54
|
files = e.data.files;
|
|
@@ -79,10 +66,24 @@ async function getBundle() {
|
|
|
79
66
|
}, '*');
|
|
80
67
|
});
|
|
81
68
|
}
|
|
82
|
-
let darkMode =
|
|
69
|
+
let darkMode = $state(false);
|
|
70
|
+
run(() => {
|
|
71
|
+
$runnables && files && saveFrontendDraft();
|
|
72
|
+
});
|
|
73
|
+
run(() => {
|
|
74
|
+
iframe?.addEventListener('load', () => {
|
|
75
|
+
iframeLoaded = true;
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
run(() => {
|
|
79
|
+
iframe && iframeLoaded && initFiles && populateFiles();
|
|
80
|
+
});
|
|
81
|
+
run(() => {
|
|
82
|
+
iframe && iframeLoaded && $runnables && populateRunnables();
|
|
83
|
+
});
|
|
83
84
|
</script>
|
|
84
85
|
|
|
85
|
-
<svelte:window
|
|
86
|
+
<svelte:window onmessage={listener} />
|
|
86
87
|
<DarkModeObserver bind:darkMode />
|
|
87
88
|
|
|
88
89
|
<RawAppBackgroundRunner
|
|
@@ -127,7 +128,7 @@ let darkMode = undefined;
|
|
|
127
128
|
></iframe>
|
|
128
129
|
</Pane>
|
|
129
130
|
<Pane>
|
|
130
|
-
<!-- svelte-ignore
|
|
131
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
131
132
|
<div class="flex h-full w-full">
|
|
132
133
|
<RawAppInlineScriptsPanel
|
|
133
134
|
on:hidePanel={() => {
|
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
import type { HiddenRunnable } from '../apps/types';
|
|
2
2
|
import { type Policy } from '../../gen';
|
|
3
3
|
import DiffDrawer from '../DiffDrawer.svelte';
|
|
4
|
-
interface
|
|
5
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
6
|
-
$$bindings?: Bindings;
|
|
7
|
-
} & Exports;
|
|
8
|
-
(internal: unknown, props: Props & {
|
|
9
|
-
$$events?: Events;
|
|
10
|
-
$$slots?: Slots;
|
|
11
|
-
}): Exports & {
|
|
12
|
-
$set?: any;
|
|
13
|
-
$on?: any;
|
|
14
|
-
};
|
|
15
|
-
z_$$bindings?: Bindings;
|
|
16
|
-
}
|
|
17
|
-
declare const RawAppEditor: $$__sveltets_2_IsomorphicComponent<{
|
|
4
|
+
interface Props {
|
|
18
5
|
initFiles: Record<string, string>;
|
|
19
6
|
initRunnables: Record<string, HiddenRunnable>;
|
|
20
7
|
newApp: boolean;
|
|
@@ -32,14 +19,27 @@ declare const RawAppEditor: $$__sveltets_2_IsomorphicComponent<{
|
|
|
32
19
|
custom_path?: string;
|
|
33
20
|
} | undefined;
|
|
34
21
|
diffDrawer?: DiffDrawer | undefined;
|
|
35
|
-
|
|
36
|
-
}, {
|
|
22
|
+
}
|
|
23
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
24
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
25
|
+
$$bindings?: Bindings;
|
|
26
|
+
} & Exports;
|
|
27
|
+
(internal: unknown, props: Props & {
|
|
28
|
+
$$events?: Events;
|
|
29
|
+
$$slots?: Slots;
|
|
30
|
+
}): Exports & {
|
|
31
|
+
$set?: any;
|
|
32
|
+
$on?: any;
|
|
33
|
+
};
|
|
34
|
+
z_$$bindings?: Bindings;
|
|
35
|
+
}
|
|
36
|
+
declare const RawAppEditor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
37
37
|
restore: CustomEvent<any>;
|
|
38
38
|
savedNewAppPath: CustomEvent<any>;
|
|
39
39
|
} & {
|
|
40
40
|
[evt: string]: CustomEvent<any>;
|
|
41
41
|
}, {}, {
|
|
42
42
|
version: number | undefined;
|
|
43
|
-
},
|
|
43
|
+
}, "summary" | "savedApp">;
|
|
44
44
|
type RawAppEditor = InstanceType<typeof RawAppEditor>;
|
|
45
45
|
export default RawAppEditor;
|
|
@@ -51,16 +51,13 @@ $effect(() => {
|
|
|
51
51
|
}
|
|
52
52
|
}));
|
|
53
53
|
});
|
|
54
|
-
$effect(() => {
|
|
55
|
-
job?.logs == undefined && job && viewTab == 'logs' && untrack(() => jobLoader?.getLogs());
|
|
56
|
-
});
|
|
57
54
|
$effect(() => {
|
|
58
55
|
job?.id && lastJobId !== job.id && untrack(() => job && getConcurrencyKey(job));
|
|
59
56
|
});
|
|
60
57
|
let jobLoader = $state(undefined);
|
|
61
58
|
</script>
|
|
62
59
|
|
|
63
|
-
<JobLoader
|
|
60
|
+
<JobLoader workspaceOverride={workspace} bind:job={currentJob} bind:this={jobLoader} />
|
|
64
61
|
|
|
65
62
|
<div class="p-4 flex flex-col gap-2 items-start h-full">
|
|
66
63
|
{#if job}
|
|
@@ -16,11 +16,11 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
16
16
|
};
|
|
17
17
|
z_$$bindings?: Bindings;
|
|
18
18
|
}
|
|
19
|
-
declare const
|
|
19
|
+
declare const JobRunsPreview: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
20
20
|
filterByConcurrencyKey: CustomEvent<any>;
|
|
21
21
|
filterByWorker: CustomEvent<any>;
|
|
22
22
|
} & {
|
|
23
23
|
[evt: string]: CustomEvent<any>;
|
|
24
24
|
}, {}, {}, "">;
|
|
25
|
-
type
|
|
26
|
-
export default
|
|
25
|
+
type JobRunsPreview = InstanceType<typeof JobRunsPreview>;
|
|
26
|
+
export default JobRunsPreview;
|
|
@@ -107,7 +107,11 @@ $: isExternal = job && job.id === '-';
|
|
|
107
107
|
{:else if `scheduled_for` in job && job.scheduled_for && forLater(job.scheduled_for)}
|
|
108
108
|
Scheduled for {displayDate(job.scheduled_for)}
|
|
109
109
|
{:else if job.canceled}
|
|
110
|
-
|
|
110
|
+
{#if job.type == 'CompletedJob'}
|
|
111
|
+
Cancelled <TimeAgo agoOnlyIfRecent date={job.created_at || ''} />
|
|
112
|
+
{:else}
|
|
113
|
+
Cancelling job... (created <TimeAgo agoOnlyIfRecent date={job.created_at || ''} />)
|
|
114
|
+
{/if}
|
|
111
115
|
{:else if `scheduled_for` in job && job.scheduled_for && forLater(job.scheduled_for)}
|
|
112
116
|
Waiting for executor (scheduled for <TimeAgo
|
|
113
117
|
agoOnlyIfRecent
|
|
@@ -20,26 +20,26 @@ let argError = '';
|
|
|
20
20
|
let editing = false;
|
|
21
21
|
let oldArgName; // when editing argument and changing name
|
|
22
22
|
let jsonEditor;
|
|
23
|
-
reorder();
|
|
24
|
-
function reorder() {
|
|
25
|
-
if (
|
|
23
|
+
reorder(schema);
|
|
24
|
+
function reorder(s) {
|
|
25
|
+
if (s.order && Array.isArray(s.order)) {
|
|
26
26
|
const n = {};
|
|
27
|
-
|
|
28
|
-
if (
|
|
29
|
-
n[x] =
|
|
27
|
+
s.order.forEach((x) => {
|
|
28
|
+
if (s.properties && s.properties[x] != undefined) {
|
|
29
|
+
n[x] = s.properties[x];
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
Object.keys(
|
|
33
|
-
.filter((x) => !
|
|
32
|
+
Object.keys(s.properties ?? {})
|
|
33
|
+
.filter((x) => !s.order?.includes(x))
|
|
34
34
|
.forEach((x) => {
|
|
35
|
-
n[x] =
|
|
35
|
+
n[x] = s.properties[x];
|
|
36
36
|
});
|
|
37
37
|
schema.properties = n;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
function syncOrders() {
|
|
41
|
-
if (
|
|
42
|
-
|
|
40
|
+
function syncOrders(s) {
|
|
41
|
+
if (s) {
|
|
42
|
+
s.order = Object.keys(s.properties ?? {});
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
function handleAddOrEditArgument(modalProperty) {
|
|
@@ -54,51 +54,55 @@ function handleAddOrEditArgument(modalProperty) {
|
|
|
54
54
|
argError = 'There is already an argument with this name';
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
let newSchema = { ...schema };
|
|
58
|
+
if (!newSchema.properties) {
|
|
59
|
+
newSchema.properties = {};
|
|
59
60
|
}
|
|
60
|
-
if (!
|
|
61
|
-
|
|
61
|
+
if (!newSchema.required) {
|
|
62
|
+
newSchema.required = [];
|
|
62
63
|
}
|
|
63
|
-
if (!
|
|
64
|
-
syncOrders();
|
|
64
|
+
if (!newSchema.order || !Array.isArray(newSchema.order)) {
|
|
65
|
+
syncOrders(newSchema);
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
+
newSchema.properties = {
|
|
68
|
+
...newSchema.properties,
|
|
69
|
+
[modalProperty.name]: modalToSchema(modalProperty)
|
|
70
|
+
};
|
|
67
71
|
if (modalProperty.required) {
|
|
68
|
-
if (!
|
|
69
|
-
|
|
72
|
+
if (!newSchema.required.includes(modalProperty.name)) {
|
|
73
|
+
newSchema.required.push(modalProperty.name);
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
|
-
else if (
|
|
73
|
-
const index =
|
|
76
|
+
else if (newSchema.required.includes(modalProperty.name)) {
|
|
77
|
+
const index = newSchema.required.indexOf(modalProperty.name, 0);
|
|
74
78
|
if (index > -1) {
|
|
75
|
-
|
|
79
|
+
newSchema.required.splice(index, 1);
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
if (editing && oldArgName && oldArgName !== modalProperty.name) {
|
|
79
|
-
let oldPosition =
|
|
80
|
-
|
|
81
|
-
reorder();
|
|
82
|
-
handleDeleteArgument([oldArgName]);
|
|
83
|
+
let oldPosition = newSchema.order.indexOf(oldArgName);
|
|
84
|
+
newSchema.order[oldPosition] = modalProperty.name;
|
|
85
|
+
reorder(newSchema);
|
|
86
|
+
handleDeleteArgument([oldArgName], newSchema);
|
|
83
87
|
}
|
|
84
|
-
if (!
|
|
85
|
-
|
|
88
|
+
if (!newSchema.order?.includes(modalProperty.name)) {
|
|
89
|
+
newSchema.order.push(modalProperty.name);
|
|
86
90
|
}
|
|
87
91
|
modalProperty = Object.assign({}, DEFAULT_PROPERTY);
|
|
88
92
|
editing = false;
|
|
89
93
|
oldArgName = undefined;
|
|
94
|
+
schema = newSchema;
|
|
95
|
+
schemaString = JSON.stringify(schema, null, '\t');
|
|
96
|
+
jsonEditor?.setCode(schemaString);
|
|
90
97
|
}
|
|
91
|
-
schema = schema;
|
|
92
|
-
schemaString = JSON.stringify(schema, null, '\t');
|
|
93
|
-
jsonEditor?.setCode(schemaString);
|
|
94
98
|
if (argError !== '') {
|
|
95
99
|
sendUserToast(argError, true);
|
|
96
100
|
}
|
|
97
101
|
dispatch('change', schema);
|
|
98
102
|
}
|
|
99
|
-
export function handleDeleteArgument(argPath) {
|
|
103
|
+
export function handleDeleteArgument(argPath, nschema) {
|
|
100
104
|
try {
|
|
101
|
-
let modifiedObject = schema;
|
|
105
|
+
let modifiedObject = { ...(nschema ?? schema) };
|
|
102
106
|
let modifiedProperties = modifiedObject.properties;
|
|
103
107
|
let argName = argPath.pop();
|
|
104
108
|
argPath.forEach((property) => {
|
|
@@ -118,7 +122,7 @@ export function handleDeleteArgument(argPath) {
|
|
|
118
122
|
if (modifiedObject.order) {
|
|
119
123
|
modifiedObject.order = modifiedObject.order.filter((arg) => arg !== argName);
|
|
120
124
|
}
|
|
121
|
-
schema =
|
|
125
|
+
schema = modifiedObject;
|
|
122
126
|
schemaString = JSON.stringify(schema, null, '\t');
|
|
123
127
|
dispatch('change', schema);
|
|
124
128
|
}
|
|
@@ -144,6 +148,7 @@ export function handleDeleteArgument(argPath) {
|
|
|
144
148
|
})
|
|
145
149
|
} catch (err) {
|
|
146
150
|
sendUserToast(`Could not add argument: ${err}`, true)
|
|
151
|
+
console.log('Could not add argument', err)
|
|
147
152
|
}
|
|
148
153
|
}}
|
|
149
154
|
/>
|
|
@@ -15,14 +15,14 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
15
15
|
declare const AddProperty: $$__sveltets_2_IsomorphicComponent<{
|
|
16
16
|
schema?: Schema | any;
|
|
17
17
|
DEFAULT_PROPERTY?: ModalSchemaProperty;
|
|
18
|
-
handleDeleteArgument?: (argPath: string[]) => void;
|
|
18
|
+
handleDeleteArgument?: (argPath: string[], nschema?: Schema) => void;
|
|
19
19
|
}, {
|
|
20
20
|
change: CustomEvent<any>;
|
|
21
21
|
} & {
|
|
22
22
|
[evt: string]: CustomEvent<any>;
|
|
23
23
|
}, {}, {
|
|
24
24
|
DEFAULT_PROPERTY: ModalSchemaProperty;
|
|
25
|
-
handleDeleteArgument: (argPath: string[]) => void;
|
|
25
|
+
handleDeleteArgument: (argPath: string[], nschema?: Schema) => void;
|
|
26
26
|
}, string>;
|
|
27
27
|
type AddProperty = InstanceType<typeof AddProperty>;
|
|
28
28
|
export default AddProperty;
|
|
@@ -17,26 +17,26 @@ if (!schema) {
|
|
|
17
17
|
let argError = '';
|
|
18
18
|
let editing = false;
|
|
19
19
|
let oldArgName; // when editing argument and changing name
|
|
20
|
-
reorder();
|
|
21
|
-
function reorder() {
|
|
22
|
-
if (
|
|
20
|
+
reorder(schema);
|
|
21
|
+
function reorder(s) {
|
|
22
|
+
if (s.order && Array.isArray(s.order)) {
|
|
23
23
|
const n = {};
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
n[x] =
|
|
24
|
+
s.order.forEach((x) => {
|
|
25
|
+
if (s.properties && s.properties[x] != undefined) {
|
|
26
|
+
n[x] = s.properties[x];
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
Object.keys(
|
|
30
|
-
.filter((x) => !
|
|
29
|
+
Object.keys(s.properties ?? {})
|
|
30
|
+
.filter((x) => !s.order?.includes(x))
|
|
31
31
|
.forEach((x) => {
|
|
32
|
-
n[x] =
|
|
32
|
+
n[x] = s.properties[x];
|
|
33
33
|
});
|
|
34
|
-
|
|
34
|
+
s.properties = n;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
function syncOrders() {
|
|
38
|
-
if (
|
|
39
|
-
|
|
37
|
+
function syncOrders(s) {
|
|
38
|
+
if (s) {
|
|
39
|
+
s.order = Object.keys(s.properties ?? {});
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
export function handleAddOrEditArgument(modalProperty) {
|
|
@@ -51,49 +51,53 @@ export function handleAddOrEditArgument(modalProperty) {
|
|
|
51
51
|
argError = 'There is already an argument with this name';
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
let newSchema = { ...schema };
|
|
55
|
+
if (!newSchema.properties) {
|
|
56
|
+
newSchema.properties = {};
|
|
56
57
|
}
|
|
57
|
-
if (!
|
|
58
|
-
|
|
58
|
+
if (!newSchema.required) {
|
|
59
|
+
newSchema.required = [];
|
|
59
60
|
}
|
|
60
|
-
if (!
|
|
61
|
-
syncOrders();
|
|
61
|
+
if (!newSchema.order || !Array.isArray(newSchema.order)) {
|
|
62
|
+
syncOrders(newSchema);
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
+
newSchema.properties = {
|
|
65
|
+
...newSchema.properties,
|
|
66
|
+
[modalProperty.name]: modalToSchema(modalProperty)
|
|
67
|
+
};
|
|
64
68
|
if (modalProperty.required) {
|
|
65
|
-
if (!
|
|
66
|
-
|
|
69
|
+
if (!newSchema.required.includes(modalProperty.name)) {
|
|
70
|
+
newSchema.required.push(modalProperty.name);
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
|
-
else if (
|
|
70
|
-
const index =
|
|
73
|
+
else if (newSchema.required.includes(modalProperty.name)) {
|
|
74
|
+
const index = newSchema.required.indexOf(modalProperty.name, 0);
|
|
71
75
|
if (index > -1) {
|
|
72
|
-
|
|
76
|
+
newSchema.required.splice(index, 1);
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
if (editing && oldArgName && oldArgName !== modalProperty.name) {
|
|
76
|
-
let oldPosition =
|
|
77
|
-
|
|
78
|
-
reorder();
|
|
79
|
-
handleDeleteArgument([oldArgName]);
|
|
80
|
+
let oldPosition = newSchema.order.indexOf(oldArgName);
|
|
81
|
+
newSchema.order[oldPosition] = modalProperty.name;
|
|
82
|
+
reorder(newSchema);
|
|
83
|
+
handleDeleteArgument([oldArgName], newSchema);
|
|
80
84
|
}
|
|
81
|
-
if (!
|
|
82
|
-
|
|
85
|
+
if (!newSchema.order?.includes(modalProperty.name)) {
|
|
86
|
+
newSchema.order.push(modalProperty.name);
|
|
83
87
|
}
|
|
84
88
|
modalProperty = Object.assign({}, DEFAULT_PROPERTY);
|
|
85
89
|
editing = false;
|
|
86
90
|
oldArgName = undefined;
|
|
91
|
+
schema = $state.snapshot(newSchema);
|
|
92
|
+
dispatch('change', schema);
|
|
87
93
|
}
|
|
88
|
-
schema = $state.snapshot(schema);
|
|
89
94
|
if (argError !== '') {
|
|
90
95
|
sendUserToast(argError, true);
|
|
91
96
|
}
|
|
92
|
-
dispatch('change', schema);
|
|
93
97
|
}
|
|
94
|
-
export function handleDeleteArgument(argPath) {
|
|
98
|
+
export function handleDeleteArgument(argPath, nschema) {
|
|
95
99
|
try {
|
|
96
|
-
let modifiedObject = schema;
|
|
100
|
+
let modifiedObject = { ...(nschema ?? schema) };
|
|
97
101
|
let modifiedProperties = modifiedObject.properties;
|
|
98
102
|
let argName = argPath.pop();
|
|
99
103
|
argPath.forEach((property) => {
|
|
@@ -118,8 +122,8 @@ export function handleDeleteArgument(argPath) {
|
|
|
118
122
|
else {
|
|
119
123
|
throw Error('Argument not found!');
|
|
120
124
|
}
|
|
121
|
-
syncOrders();
|
|
122
|
-
schema = $state.snapshot(
|
|
125
|
+
syncOrders(modifiedObject);
|
|
126
|
+
schema = $state.snapshot(modifiedObject);
|
|
123
127
|
dispatch('change', schema);
|
|
124
128
|
}
|
|
125
129
|
catch (err) {
|
|
@@ -25,7 +25,7 @@ declare const AddPropertyV2: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
25
25
|
}, {}, {
|
|
26
26
|
DEFAULT_PROPERTY: ModalSchemaProperty;
|
|
27
27
|
handleAddOrEditArgument: (modalProperty: ModalSchemaProperty) => void;
|
|
28
|
-
handleDeleteArgument: (argPath: string[]) => void;
|
|
28
|
+
handleDeleteArgument: (argPath: string[], nschema?: Schema) => void;
|
|
29
29
|
}, "schema">;
|
|
30
30
|
type AddPropertyV2 = InstanceType<typeof AddPropertyV2>;
|
|
31
31
|
export default AddPropertyV2;
|
|
@@ -183,13 +183,16 @@ let isDynSelect = $derived(format?.startsWith('dynselect-') ?? false);
|
|
|
183
183
|
bind:schema={
|
|
184
184
|
() => {
|
|
185
185
|
if (oneOf?.[idx]) {
|
|
186
|
+
let properties = Object.fromEntries(
|
|
187
|
+
Object.entries(oneOf[idx].properties ?? {}).filter(
|
|
188
|
+
([k]) => k !== 'label' && k !== 'kind'
|
|
189
|
+
)
|
|
190
|
+
)
|
|
186
191
|
return {
|
|
187
192
|
...oneOf[idx],
|
|
188
|
-
properties:
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
)
|
|
192
|
-
)
|
|
193
|
+
properties: properties,
|
|
194
|
+
order: Object.keys(properties),
|
|
195
|
+
required: oneOf[idx].required ?? []
|
|
193
196
|
}
|
|
194
197
|
}
|
|
195
198
|
},
|
|
@@ -198,7 +201,6 @@ let isDynSelect = $derived(format?.startsWith('dynselect-') ?? false);
|
|
|
198
201
|
const tagKey = oneOf?.find((o) => Object.keys(o.properties ?? {}).includes('kind'))
|
|
199
202
|
? 'kind'
|
|
200
203
|
: 'label'
|
|
201
|
-
|
|
202
204
|
oneOf[idx] = {
|
|
203
205
|
...(v ?? {}),
|
|
204
206
|
type: 'object',
|
|
@@ -8,7 +8,7 @@ import { Alert } from '../common';
|
|
|
8
8
|
import QuickMenuItem from './QuickMenuItem.svelte';
|
|
9
9
|
import { goto } from '$app/navigation';
|
|
10
10
|
import { displayDateOnly } from '../../utils';
|
|
11
|
-
import JobPreview from '../runs/
|
|
11
|
+
import JobPreview from '../runs/JobRunsPreview.svelte';
|
|
12
12
|
let debounceTimeout = undefined;
|
|
13
13
|
const debouncePeriod = 1000;
|
|
14
14
|
let loadingCompletedRuns = $state(false);
|