windmill-components 1.522.0 → 1.531.1
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/FlowWrapper.svelte +3 -2
- 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
|
@@ -4,17 +4,18 @@ import { getScriptByPath } from '../scripts';
|
|
|
4
4
|
import { getContext } from 'svelte';
|
|
5
5
|
import JobLoader, {} from './JobLoader.svelte';
|
|
6
6
|
import { getStepHistoryLoaderContext } from './stepHistoryLoader.svelte';
|
|
7
|
+
import { loadSchemaFromModule } from './flows/flowInfers';
|
|
7
8
|
let { mod, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined) } = $props();
|
|
8
9
|
const { flowStore, flowStateStore, pathStore, testSteps, previewArgs, modulesTestStates } = getContext('FlowEditorContext');
|
|
9
10
|
let jobLoader = $state(undefined);
|
|
10
11
|
let jobProgressReset = () => { };
|
|
11
12
|
let stepHistoryLoader = getStepHistoryLoaderContext();
|
|
12
13
|
export function runTestWithStepArgs() {
|
|
13
|
-
runTest(testSteps.getStepArgs(mod.id)
|
|
14
|
+
runTest(testSteps.getStepArgs(mod.id));
|
|
14
15
|
}
|
|
15
16
|
export function loadArgsAndRunTest() {
|
|
16
|
-
testSteps?.updateStepArgs(mod.id,
|
|
17
|
-
runTest(testSteps.getStepArgs(mod.id)
|
|
17
|
+
testSteps?.updateStepArgs(mod.id, flowStateStore.val, flowStore?.val, previewArgs?.val);
|
|
18
|
+
runTest(testSteps.getStepArgs(mod.id));
|
|
18
19
|
}
|
|
19
20
|
export async function runTest(args) {
|
|
20
21
|
// Not defined if JobProgressBar not loaded
|
|
@@ -46,36 +47,65 @@ export async function runTest(args) {
|
|
|
46
47
|
else if (val.type == 'flow') {
|
|
47
48
|
await jobLoader?.runFlowByPath(val.path, args, callbacks);
|
|
48
49
|
}
|
|
50
|
+
else if (val.type == 'aiagent') {
|
|
51
|
+
const { schema } = await loadSchemaFromModule(mod);
|
|
52
|
+
const inputTransforms = Object.fromEntries(Object.keys(args).map((key) => [
|
|
53
|
+
key,
|
|
54
|
+
{
|
|
55
|
+
expr: `flow_input.${key}`,
|
|
56
|
+
type: 'javascript'
|
|
57
|
+
}
|
|
58
|
+
]));
|
|
59
|
+
await jobLoader?.runFlowPreview(args, {
|
|
60
|
+
value: {
|
|
61
|
+
modules: [
|
|
62
|
+
{
|
|
63
|
+
...mod,
|
|
64
|
+
value: {
|
|
65
|
+
type: 'aiagent',
|
|
66
|
+
tools: mod.value.type == 'aiagent' ? mod.value.tools : [],
|
|
67
|
+
input_transforms: inputTransforms
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
summary: '',
|
|
73
|
+
schema
|
|
74
|
+
}, callbacks);
|
|
75
|
+
}
|
|
49
76
|
else {
|
|
50
77
|
throw Error('Not supported module type');
|
|
51
78
|
}
|
|
52
79
|
}
|
|
53
80
|
function jobDone(testJob) {
|
|
54
81
|
if (testJob && !testJob.canceled && testJob.type == 'CompletedJob') {
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
82
|
+
if (flowStateStore.val[mod.id]) {
|
|
83
|
+
flowStateStore.val[mod.id] = {
|
|
84
|
+
...flowStateStore.val[mod.id],
|
|
85
|
+
previewResult: testJob.result,
|
|
86
|
+
previewSuccess: testJob.success,
|
|
87
|
+
previewJobId: testJob.id
|
|
88
|
+
};
|
|
61
89
|
}
|
|
62
90
|
stepHistoryLoader?.resetInitial(mod.id);
|
|
63
91
|
}
|
|
64
|
-
modulesTestStates.states[mod.id]
|
|
92
|
+
if (modulesTestStates.states[mod.id]) {
|
|
93
|
+
modulesTestStates.states[mod.id].testJob = testJob;
|
|
94
|
+
}
|
|
65
95
|
}
|
|
66
96
|
export function cancelJob() {
|
|
67
97
|
modulesTestStates.states[mod.id]?.cancel?.();
|
|
68
98
|
}
|
|
69
99
|
$effect(() => {
|
|
70
100
|
// Update testIsLoading to read the state from parent components
|
|
71
|
-
testIsLoading = modulesTestStates.states[mod.id]?.loading ?? false;
|
|
101
|
+
testIsLoading = modulesTestStates.states?.[mod.id]?.loading ?? false;
|
|
72
102
|
});
|
|
73
103
|
$effect(() => {
|
|
74
104
|
// Update testJob to read the state from parent components
|
|
75
|
-
testJob = modulesTestStates.states[mod.id]?.testJob;
|
|
105
|
+
testJob = modulesTestStates.states?.[mod.id]?.testJob;
|
|
76
106
|
});
|
|
77
107
|
modulesTestStates.states[mod.id] = {
|
|
78
|
-
...(modulesTestStates.states[mod.id] ?? { loading: false }),
|
|
108
|
+
...(modulesTestStates.states?.[mod.id] ?? { loading: false }),
|
|
79
109
|
loading: testIsLoading,
|
|
80
110
|
testJob: testJob
|
|
81
111
|
};
|
|
@@ -90,13 +120,26 @@ modulesTestStates.states[mod.id] = {
|
|
|
90
120
|
() => modulesTestStates.states[mod.id]?.loading ?? false,
|
|
91
121
|
(v) => {
|
|
92
122
|
let newLoading = v ?? false
|
|
93
|
-
if (modulesTestStates.states[mod.id]?.loading !== newLoading) {
|
|
123
|
+
if (modulesTestStates.states && modulesTestStates.states?.[mod.id]?.loading !== newLoading) {
|
|
94
124
|
modulesTestStates.states[mod.id] = {
|
|
95
|
-
...(modulesTestStates.states[mod.id] ?? {}),
|
|
96
|
-
loading: newLoading
|
|
125
|
+
...(modulesTestStates.states?.[mod.id] ?? {}),
|
|
126
|
+
loading: newLoading,
|
|
127
|
+
hiddenInGraph: false
|
|
97
128
|
}
|
|
98
129
|
}
|
|
99
130
|
}
|
|
100
131
|
}
|
|
101
132
|
bind:job={modulesTestStates.states[mod.id].testJob}
|
|
133
|
+
loadPlaceholderJobOnStart={{
|
|
134
|
+
type: 'QueuedJob',
|
|
135
|
+
id: '',
|
|
136
|
+
running: false,
|
|
137
|
+
canceled: false,
|
|
138
|
+
job_kind: 'preview',
|
|
139
|
+
permissioned_as: '',
|
|
140
|
+
is_flow_step: false,
|
|
141
|
+
email: '',
|
|
142
|
+
visible_to_owner: true,
|
|
143
|
+
tag: ''
|
|
144
|
+
}}
|
|
102
145
|
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">import { RELATIVE_LINE_NUMBERS_SETTING_NAME, relativeLineNumbers } from '../stores';
|
|
2
|
+
import { storeLocalSetting } from '../utils';
|
|
3
|
+
import Toggle from './Toggle.svelte';
|
|
4
|
+
function storeSetting() {
|
|
5
|
+
storeLocalSetting(RELATIVE_LINE_NUMBERS_SETTING_NAME, $relativeLineNumbers.toString());
|
|
6
|
+
}
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<Toggle
|
|
10
|
+
size="xs"
|
|
11
|
+
bind:checked={$relativeLineNumbers}
|
|
12
|
+
on:change={() => {
|
|
13
|
+
storeSetting()
|
|
14
|
+
}}
|
|
15
|
+
options={{ right: 'relative line numbers' }}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
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> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const RelativeLineNumbers: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type RelativeLineNumbers = InstanceType<typeof RelativeLineNumbers>;
|
|
18
|
+
export default RelativeLineNumbers;
|
|
@@ -17,6 +17,7 @@ import autosize from '../autosize';
|
|
|
17
17
|
import GfmMarkdown from './GfmMarkdown.svelte';
|
|
18
18
|
import TestTriggerConnection from './triggers/TestTriggerConnection.svelte';
|
|
19
19
|
import GitHubAppIntegration from './GitHubAppIntegration.svelte';
|
|
20
|
+
import Button from './common/button/Button.svelte';
|
|
20
21
|
let { canSave = $bindable(true), resource_type = $bindable(undefined), path = $bindable(''), newResource = false, hidePath = false, onChange, defaultValues = undefined } = $props();
|
|
21
22
|
let isValid = $state(true);
|
|
22
23
|
let jsonError = $state('');
|
|
@@ -190,10 +191,14 @@ run(() => {
|
|
|
190
191
|
<h4 class="mt-4 inline-flex items-center gap-4"
|
|
191
192
|
>Resource description <Required required={false} />
|
|
192
193
|
{#if can_write}
|
|
193
|
-
<
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
<Button
|
|
195
|
+
size="xs2"
|
|
196
|
+
variant="contained"
|
|
197
|
+
color="light"
|
|
198
|
+
btnClasses={editDescription ? 'bg-surface-hover' : ''}
|
|
199
|
+
startIcon={{ icon: Pen }}
|
|
200
|
+
on:click={() => (editDescription = !editDescription)}
|
|
201
|
+
/>
|
|
197
202
|
{/if}</h4
|
|
198
203
|
>
|
|
199
204
|
{#if can_write && editDescription}
|
|
@@ -908,7 +908,7 @@ async function loadWorkerTags() {
|
|
|
908
908
|
>
|
|
909
909
|
<LanguageIcon {lang} />
|
|
910
910
|
<span class="ml-2 py-2 truncate">{label}</span>
|
|
911
|
-
{#if lang === 'nu'}
|
|
911
|
+
{#if lang === 'nu' || lang === 'ruby'}
|
|
912
912
|
<span class="text-tertiary !text-xs"> BETA </span>
|
|
913
913
|
{/if}
|
|
914
914
|
</Button>
|
|
@@ -1487,16 +1487,18 @@ async function loadWorkerTags() {
|
|
|
1487
1487
|
{/if}
|
|
1488
1488
|
|
|
1489
1489
|
<div class="flex flex-row gap-x-1 lg:gap-x-2">
|
|
1490
|
-
{#if
|
|
1491
|
-
{#if $workerTags
|
|
1492
|
-
|
|
1493
|
-
<
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1490
|
+
{#if customUi?.topBar?.tagEdit != false}
|
|
1491
|
+
{#if $workerTags}
|
|
1492
|
+
{#if $workerTags?.length ?? 0 > 0}
|
|
1493
|
+
<div class="max-w-[200px] pr-8">
|
|
1494
|
+
<WorkerTagSelect
|
|
1495
|
+
inputClass="text-sm text-secondary !placeholder-secondary"
|
|
1496
|
+
nullTag={script.language}
|
|
1497
|
+
placeholder={customUi?.tagSelectPlaceholder}
|
|
1498
|
+
bind:tag={script.tag}
|
|
1499
|
+
/>
|
|
1500
|
+
</div>
|
|
1501
|
+
{/if}
|
|
1500
1502
|
{/if}
|
|
1501
1503
|
{/if}
|
|
1502
1504
|
{#if customUi?.topBar?.settings != false}
|
|
@@ -295,9 +295,9 @@ $effect(() => {
|
|
|
295
295
|
};
|
|
296
296
|
untrack(() => {
|
|
297
297
|
aiChatManager.scriptEditorOptions = options;
|
|
298
|
-
aiChatManager.scriptEditorApplyCode = (code) => {
|
|
298
|
+
aiChatManager.scriptEditorApplyCode = (code, applyAll = false) => {
|
|
299
299
|
hideDiffMode();
|
|
300
|
-
editor?.reviewAndApplyCode(code);
|
|
300
|
+
editor?.reviewAndApplyCode(code, applyAll);
|
|
301
301
|
};
|
|
302
302
|
aiChatManager.scriptEditorShowDiffMode = showDiffMode;
|
|
303
303
|
});
|
|
@@ -72,7 +72,7 @@ import libStdContent from '../es6.d.ts.txt?raw';
|
|
|
72
72
|
import domContent from '../dom.d.ts.txt?raw';
|
|
73
73
|
import { initializeVscode, keepModelAroundToAvoidDisposalOfWorkers } from './vscode';
|
|
74
74
|
import EditorTheme from './EditorTheme.svelte';
|
|
75
|
-
import { vimMode } from '../stores';
|
|
75
|
+
import { vimMode, relativeLineNumbers } from '../stores';
|
|
76
76
|
import { initVim } from './monaco_keybindings';
|
|
77
77
|
import FakeMonacoPlaceHolder from './FakeMonacoPlaceHolder.svelte';
|
|
78
78
|
import { editorPositionMap } from '../utils';
|
|
@@ -89,7 +89,7 @@ let suggestion = $state('');
|
|
|
89
89
|
let placeholderVisible = $state(false);
|
|
90
90
|
let mounted = $state(false);
|
|
91
91
|
let valueAfterDispose = undefined;
|
|
92
|
-
let { lang, code = $bindable(), hash = createHash(), cmdEnterAction, formatAction, automaticLayout = true, extraLib = '', placeholder = '', disableSuggestions = false, disableLinting = false, hideLineNumbers = false, shouldBindKey = true, autoHeight = false, fixedOverflowWidgets = true, small = false, domLib = false, autofocus = false, allowVim = false, tailwindClasses = [], class: className = '', loadAsync = false, key, disabled = false } = $props();
|
|
92
|
+
let { lang, code = $bindable(), hash = createHash(), cmdEnterAction, formatAction, automaticLayout = true, extraLib = '', placeholder = '', disableSuggestions = false, disableLinting = false, hideLineNumbers = false, shouldBindKey = true, autoHeight = false, fixedOverflowWidgets = true, small = false, domLib = false, autofocus = false, allowVim = false, tailwindClasses = [], class: className = '', loadAsync = false, key, disabled = false, minHeight = 1000 } = $props();
|
|
93
93
|
const dispatch = createEventDispatcher();
|
|
94
94
|
const uri = `file:///${hash}.${langToExt(lang)}`;
|
|
95
95
|
export function getCode() {
|
|
@@ -186,6 +186,11 @@ $effect(() => {
|
|
|
186
186
|
untrack(() => onVimDisable());
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
|
+
$effect(() => {
|
|
190
|
+
editor?.updateOptions({
|
|
191
|
+
lineNumbers: $relativeLineNumbers ? 'relative' : 'on'
|
|
192
|
+
});
|
|
193
|
+
});
|
|
189
194
|
function onVimDisable() {
|
|
190
195
|
vimDisposable?.dispose();
|
|
191
196
|
}
|
|
@@ -284,8 +289,9 @@ async function loadMonaco() {
|
|
|
284
289
|
return;
|
|
285
290
|
}
|
|
286
291
|
try {
|
|
292
|
+
console.log('fixedOverflowWidgets', fixedOverflowWidgets);
|
|
287
293
|
editor = meditor.create(divEl, {
|
|
288
|
-
...editorConfig(code ?? '', lang, automaticLayout, fixedOverflowWidgets),
|
|
294
|
+
...editorConfig(code ?? '', lang, automaticLayout, fixedOverflowWidgets, $relativeLineNumbers),
|
|
289
295
|
model,
|
|
290
296
|
lineDecorationsWidth: 6,
|
|
291
297
|
lineNumbersMinChars: 2,
|
|
@@ -346,7 +352,7 @@ async function loadMonaco() {
|
|
|
346
352
|
const updateHeight = () => {
|
|
347
353
|
if (!editor)
|
|
348
354
|
return;
|
|
349
|
-
const contentHeight = Math.min(
|
|
355
|
+
const contentHeight = Math.min(minHeight, editor.getContentHeight());
|
|
350
356
|
if (divEl) {
|
|
351
357
|
divEl.style.height = `${contentHeight}px`;
|
|
352
358
|
}
|
|
@@ -29,6 +29,7 @@ type $$ComponentProps = {
|
|
|
29
29
|
initialCursorPos?: IPosition;
|
|
30
30
|
key?: string;
|
|
31
31
|
disabled?: boolean;
|
|
32
|
+
minHeight?: number;
|
|
32
33
|
};
|
|
33
34
|
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> {
|
|
34
35
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -395,7 +395,7 @@ async function loadMonaco() {
|
|
|
395
395
|
model.updateOptions(updateOptions);
|
|
396
396
|
try {
|
|
397
397
|
editor = meditor.create(divEl, {
|
|
398
|
-
...editorConfig(code, lang, automaticLayout, fixedOverflowWidgets),
|
|
398
|
+
...editorConfig(code, lang, automaticLayout, fixedOverflowWidgets, false),
|
|
399
399
|
model,
|
|
400
400
|
// overflowWidgetsDomNode: widgets,
|
|
401
401
|
// lineNumbers: 'on',
|
|
@@ -21,9 +21,9 @@ export function closeDrawer() {
|
|
|
21
21
|
function removeHash() {
|
|
22
22
|
window.location.hash = '';
|
|
23
23
|
}
|
|
24
|
-
function handleTokenCreated(
|
|
25
|
-
newToken =
|
|
26
|
-
dispatch('tokenCreated',
|
|
24
|
+
function handleTokenCreated(token) {
|
|
25
|
+
newToken = token;
|
|
26
|
+
dispatch('tokenCreated', token);
|
|
27
27
|
}
|
|
28
28
|
</script>
|
|
29
29
|
|
|
@@ -53,7 +53,7 @@ function handleTokenCreated(event) {
|
|
|
53
53
|
defaultNewTokenLabel={newTokenLabel}
|
|
54
54
|
defaultNewTokenWorkspace={newTokenWorkspace}
|
|
55
55
|
{scopes}
|
|
56
|
-
|
|
56
|
+
onTokenCreated={handleTokenCreated}
|
|
57
57
|
/>
|
|
58
58
|
</div>
|
|
59
59
|
</DrawerContent>
|
|
@@ -121,7 +121,7 @@ function toggleAccordion(index) {
|
|
|
121
121
|
subGridId={`${id}-0`}
|
|
122
122
|
containerHeight={componentContainerHeight -
|
|
123
123
|
(30 * accordionInput?.value.length + 40)}
|
|
124
|
-
|
|
124
|
+
onFocus={() => {
|
|
125
125
|
if (!$connectingInput.opened) {
|
|
126
126
|
$selectedComponent = [id]
|
|
127
127
|
}
|
|
@@ -101,14 +101,20 @@ $componentControl[id] = {
|
|
|
101
101
|
|
|
102
102
|
<InitializeComponent {id} />
|
|
103
103
|
|
|
104
|
+
{#snippet nonRenderedPlaceholder()}
|
|
105
|
+
<ListWrapper disabled value={undefined} index={0}>
|
|
106
|
+
<SubGridEditor visible={false} {id} subGridId={`${id}-0`} />
|
|
107
|
+
</ListWrapper>
|
|
108
|
+
{/snippet}
|
|
104
109
|
<RunnableWrapper
|
|
105
|
-
render
|
|
110
|
+
{render}
|
|
106
111
|
{outputs}
|
|
107
112
|
autoRefresh
|
|
108
113
|
{componentInput}
|
|
109
114
|
{id}
|
|
110
115
|
bind:initializing
|
|
111
116
|
bind:result
|
|
117
|
+
{nonRenderedPlaceholder}
|
|
112
118
|
>
|
|
113
119
|
{#if everRender}
|
|
114
120
|
<div class="w-full flex flex-wrap overflow-auto divide-y max-h-full">
|
|
@@ -206,7 +212,7 @@ $componentControl[id] = {
|
|
|
206
212
|
style={css?.container?.style}
|
|
207
213
|
subGridId={`${id}-0`}
|
|
208
214
|
containerHeight={componentContainerHeight - 40}
|
|
209
|
-
|
|
215
|
+
onFocus={() => {
|
|
210
216
|
if (!$connectingInput.opened) {
|
|
211
217
|
$selectedComponent = [id]
|
|
212
218
|
}
|
|
@@ -219,9 +225,7 @@ $componentControl[id] = {
|
|
|
219
225
|
</Carousel>
|
|
220
226
|
{/key}
|
|
221
227
|
{:else}
|
|
222
|
-
|
|
223
|
-
<SubGridEditor visible={false} {id} subGridId={`${id}-0`} />
|
|
224
|
-
</ListWrapper>
|
|
228
|
+
{@render nonRenderedPlaceholder?.()}
|
|
225
229
|
{#if !Array.isArray(result)}
|
|
226
230
|
<div class="text-center text-tertiary">Input data is not an array</div>
|
|
227
231
|
{/if}
|
|
@@ -229,8 +233,6 @@ $componentControl[id] = {
|
|
|
229
233
|
{/if}
|
|
230
234
|
</div>
|
|
231
235
|
{:else if $app.subgrids}
|
|
232
|
-
|
|
233
|
-
<SubGridEditor visible={false} {id} subGridId={`${id}-0`} />
|
|
234
|
-
</ListWrapper>
|
|
236
|
+
{@render nonRenderedPlaceholder?.()}
|
|
235
237
|
{/if}
|
|
236
238
|
</RunnableWrapper>
|
|
@@ -72,13 +72,13 @@ let jobId = $derived(resolvedConfig.jobId);
|
|
|
72
72
|
<FlowStatusViewer
|
|
73
73
|
workspaceId={workspace}
|
|
74
74
|
{jobId}
|
|
75
|
-
|
|
75
|
+
onStart={() => {
|
|
76
76
|
outputs?.jobId.set(jobId)
|
|
77
77
|
outputs?.loading.set(true)
|
|
78
78
|
}}
|
|
79
|
-
|
|
79
|
+
onDone={({ job }) => {
|
|
80
80
|
outputs?.loading.set(false)
|
|
81
|
-
outputs?.result.set(
|
|
81
|
+
outputs?.result.set(job?.result as any)
|
|
82
82
|
}}
|
|
83
83
|
/>
|
|
84
84
|
{:else}
|
|
@@ -125,13 +125,13 @@ function onCellValueChanged(event) {
|
|
|
125
125
|
let idx = Number(event.node.data['__index'].split('-')[0]);
|
|
126
126
|
uid = prevUid ?? '';
|
|
127
127
|
outputs?.newChange?.set({
|
|
128
|
-
row:
|
|
128
|
+
row: idx,
|
|
129
129
|
column: event.colDef.field,
|
|
130
130
|
value: dataCell,
|
|
131
131
|
old: result[idx][event.colDef.field]
|
|
132
132
|
});
|
|
133
133
|
result[idx][event.colDef.field] = dataCell;
|
|
134
|
-
let data = { ...result[
|
|
134
|
+
let data = { ...result[idx] };
|
|
135
135
|
outputs?.selectedRow?.set(data);
|
|
136
136
|
resolvedConfig?.extraConfig?.['defaultColDef']?.['onCellValueChanged']?.(event);
|
|
137
137
|
}
|
|
@@ -24,7 +24,6 @@ let outputs = initOutput($worldStore, id, {
|
|
|
24
24
|
|
|
25
25
|
{#if runnable && (runnable.type == 'runnableByPath' || (runnable.type == 'runnableByName' && runnable.inlineScript != undefined))}
|
|
26
26
|
<RunnableComponent
|
|
27
|
-
hasChildrens={false}
|
|
28
27
|
render={false}
|
|
29
28
|
{id}
|
|
30
29
|
fields={runnable.fields}
|
|
@@ -167,7 +167,12 @@ async function evalExpr(input, args) {
|
|
|
167
167
|
}
|
|
168
168
|
catch (e) {
|
|
169
169
|
error = e.message;
|
|
170
|
-
|
|
170
|
+
try {
|
|
171
|
+
console.warn("Eval error in app input '" + id + "' with key '" + key + "'", e);
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
console.warn('error warning', e);
|
|
175
|
+
}
|
|
171
176
|
return value;
|
|
172
177
|
}
|
|
173
178
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import InputValue from './InputValue.svelte';
|
|
3
3
|
import InitializeComponent from './InitializeComponent.svelte';
|
|
4
4
|
import RefreshIndicator from './RefreshIndicator.svelte';
|
|
5
|
-
let { componentInput, id, result = $bindable(), render,
|
|
5
|
+
let { componentInput, id, result = $bindable(), render, noInitialize, children, nonRenderedPlaceholder } = $props();
|
|
6
6
|
// Sync the result to the output
|
|
7
7
|
const { worldStore } = getContext('AppViewerContext');
|
|
8
8
|
let outputs = $derived($worldStore?.outputsById?.[id]);
|
|
@@ -38,7 +38,7 @@ function builtSubscriptions(connections) {
|
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
$effect
|
|
41
|
+
$effect(() => {
|
|
42
42
|
componentInput.type === 'evalv2' &&
|
|
43
43
|
componentInput.connections &&
|
|
44
44
|
untrack(() => builtSubscriptions(componentInput.connections));
|
|
@@ -56,11 +56,15 @@ $effect.pre(() => {
|
|
|
56
56
|
<InputValue key="nonrunnable" {id} input={componentInput} bind:value={result} />
|
|
57
57
|
{/if}
|
|
58
58
|
|
|
59
|
-
{#if render
|
|
60
|
-
<div class=
|
|
59
|
+
{#if render}
|
|
60
|
+
<div class="h-full w-full">
|
|
61
61
|
{@render children?.()}
|
|
62
62
|
<div class="flex absolute top-1 right-1 z-50 app-component-refresh-btn">
|
|
63
63
|
<RefreshIndicator {loading} />
|
|
64
64
|
</div>
|
|
65
65
|
</div>
|
|
66
|
+
{:else if nonRenderedPlaceholder}
|
|
67
|
+
<div class="invisible h-0 overflow-hidden">
|
|
68
|
+
{@render nonRenderedPlaceholder?.()}
|
|
69
|
+
</div>
|
|
66
70
|
{/if}
|
|
@@ -4,9 +4,9 @@ interface Props {
|
|
|
4
4
|
id: string;
|
|
5
5
|
result: any;
|
|
6
6
|
render: boolean;
|
|
7
|
-
hasChildrens: boolean;
|
|
8
7
|
noInitialize: any;
|
|
9
8
|
children?: import('svelte').Snippet;
|
|
9
|
+
nonRenderedPlaceholder?: import('svelte').Snippet;
|
|
10
10
|
}
|
|
11
11
|
declare const NonRunnableComponent: import("svelte").Component<Props, {}, "result">;
|
|
12
12
|
type NonRunnableComponent = ReturnType<typeof NonRunnableComponent>;
|
|
@@ -16,7 +16,7 @@ import { computeWorkspaceS3FileInputPolicy } from '../../editor/appUtilsS3';
|
|
|
16
16
|
import { executeRunnable } from './executeRunnable';
|
|
17
17
|
import SchemaForm from '../../../SchemaForm.svelte';
|
|
18
18
|
import JobLoader, {} from '../../../JobLoader.svelte';
|
|
19
|
-
let { id, fields, runnable, transformer, extraQueryParams = {}, autoRefresh = true, result = $bindable(undefined), result_stream = $bindable(undefined), forceSchemaDisplay = false, wrapperClass = '', wrapperStyle = '', render, outputs, extraKey = '', initializing = false, recomputeOnInputChanged = true, loading = $bindable(false), refreshOnStart = false, recomputableByRefreshButton, errorHandledByComponent = false, hideRefreshButton = false,
|
|
19
|
+
let { id, fields, runnable, transformer, extraQueryParams = {}, autoRefresh = true, result = $bindable(undefined), result_stream = $bindable(undefined), forceSchemaDisplay = false, wrapperClass = '', wrapperStyle = '', render, outputs, extraKey = '', initializing = false, recomputeOnInputChanged = true, loading = $bindable(false), refreshOnStart = false, recomputableByRefreshButton, errorHandledByComponent = false, hideRefreshButton = false, allowConcurentRequests = false, noInitialize = false, overrideCallback = undefined, overrideAutoRefresh = false, replaceCallback = false, children, nonRenderedPlaceholder } = $props();
|
|
20
20
|
const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, jobsById, noBackend, errorByComponent, mode, stateId, state: stateStore, componentControl, initialized, selectedComponent, app, connectingInput, bgRuns, recomputeAllContext } = getContext('AppViewerContext');
|
|
21
21
|
const editorContext = getContext('AppEditorContext');
|
|
22
22
|
const iterContext = getContext('ListWrapperContext');
|
|
@@ -628,13 +628,8 @@ $effect(() => {
|
|
|
628
628
|
bind:this={resultJobLoader}
|
|
629
629
|
/>
|
|
630
630
|
|
|
631
|
-
{#if render
|
|
632
|
-
<div
|
|
633
|
-
class="h-full flex relative flex-row flex-wrap {wrapperClass} {render
|
|
634
|
-
? 'visible'
|
|
635
|
-
: 'invisible h-0 overflow-hidden'}"
|
|
636
|
-
style={wrapperStyle}
|
|
637
|
-
>
|
|
631
|
+
{#if render}
|
|
632
|
+
<div class="h-full flex relative flex-row flex-wrap {wrapperClass} visible" style={wrapperStyle}>
|
|
638
633
|
<!-- {Object.keys(schemaStripped?.properties ?? {}).length > 0} -->
|
|
639
634
|
{#if render && (autoRefresh || forceSchemaDisplay) && schemaStripped && Object.keys(schemaStripped?.properties ?? {}).length > 0}
|
|
640
635
|
<div class="px-2 h-fit min-h-0">
|
|
@@ -706,4 +701,8 @@ $effect(() => {
|
|
|
706
701
|
</div>
|
|
707
702
|
{/if}
|
|
708
703
|
</div>
|
|
704
|
+
{:else if nonRenderedPlaceholder}
|
|
705
|
+
<div class="invisible h-0 overflow-hidden">
|
|
706
|
+
{@render nonRenderedPlaceholder?.()}
|
|
707
|
+
</div>
|
|
709
708
|
{/if}
|
|
@@ -29,13 +29,13 @@ interface Props {
|
|
|
29
29
|
recomputableByRefreshButton: boolean;
|
|
30
30
|
errorHandledByComponent?: boolean;
|
|
31
31
|
hideRefreshButton?: boolean;
|
|
32
|
-
hasChildrens: boolean;
|
|
33
32
|
allowConcurentRequests?: boolean;
|
|
34
33
|
noInitialize?: boolean;
|
|
35
34
|
overrideCallback?: (() => CancelablePromise<void>) | undefined;
|
|
36
35
|
overrideAutoRefresh?: boolean;
|
|
37
36
|
replaceCallback?: boolean;
|
|
38
37
|
children?: import('svelte').Snippet;
|
|
38
|
+
nonRenderedPlaceholder?: import('svelte').Snippet;
|
|
39
39
|
}
|
|
40
40
|
type RunnableCallback = {
|
|
41
41
|
onDone?: (r: any) => void;
|
|
@@ -4,7 +4,7 @@ import NonRunnableComponent from './NonRunnableComponent.svelte';
|
|
|
4
4
|
import RunnableComponent from './RunnableComponent.svelte';
|
|
5
5
|
import { sendUserToast } from '../../../../toast';
|
|
6
6
|
import InitializeComponent from './InitializeComponent.svelte';
|
|
7
|
-
let { componentInput = $bindable(), noInitialize = false, hideRefreshButton = undefined, overrideCallback = undefined, overrideAutoRefresh = false, replaceCallback = false, id, result = $bindable(undefined), initializing = $bindable(undefined), loading = $bindable(false), extraQueryParams = {}, autoRefresh = true, runnableComponent = $bindable(undefined), forceSchemaDisplay = false, runnableClass = '', runnableStyle = '', doOnSuccess = undefined, doOnError = undefined, render, recomputeIds = [], outputs, extraKey = undefined, refreshOnStart = false, errorHandledByComponent = false,
|
|
7
|
+
let { componentInput = $bindable(), noInitialize = false, hideRefreshButton = undefined, overrideCallback = undefined, overrideAutoRefresh = false, replaceCallback = false, id, result = $bindable(undefined), initializing = $bindable(undefined), loading = $bindable(false), extraQueryParams = {}, autoRefresh = true, runnableComponent = $bindable(undefined), forceSchemaDisplay = false, runnableClass = '', runnableStyle = '', doOnSuccess = undefined, doOnError = undefined, render, recomputeIds = [], outputs, extraKey = undefined, refreshOnStart = false, errorHandledByComponent = false, allowConcurentRequests = false, onSuccess = () => { }, children, nonRenderedPlaceholder } = $props();
|
|
8
8
|
$effect.pre(() => {
|
|
9
9
|
if (initializing == undefined) {
|
|
10
10
|
initializing = true;
|
|
@@ -164,6 +164,8 @@ export async function handleSideEffect(success, errorMessage) {
|
|
|
164
164
|
{/if}
|
|
165
165
|
{#if render}
|
|
166
166
|
{@render children?.()}
|
|
167
|
+
{:else}
|
|
168
|
+
{@render nonRenderedPlaceholder?.()}
|
|
167
169
|
{/if}
|
|
168
170
|
{:else if componentInput.type === 'runnable' && isRunnableDefined(componentInput)}
|
|
169
171
|
<RunnableComponent
|
|
@@ -171,7 +173,6 @@ export async function handleSideEffect(success, errorMessage) {
|
|
|
171
173
|
{allowConcurentRequests}
|
|
172
174
|
{refreshOnStart}
|
|
173
175
|
{extraKey}
|
|
174
|
-
{hasChildrens}
|
|
175
176
|
{replaceCallback}
|
|
176
177
|
bind:loading
|
|
177
178
|
bind:this={runnableComponent}
|
|
@@ -216,11 +217,19 @@ export async function handleSideEffect(success, errorMessage) {
|
|
|
216
217
|
on:handleError={(e) => handleSideEffect(false, e.detail)}
|
|
217
218
|
{outputs}
|
|
218
219
|
{errorHandledByComponent}
|
|
220
|
+
{nonRenderedPlaceholder}
|
|
219
221
|
>
|
|
220
222
|
{@render children?.()}
|
|
221
223
|
</RunnableComponent>
|
|
222
224
|
{:else}
|
|
223
|
-
<NonRunnableComponent
|
|
225
|
+
<NonRunnableComponent
|
|
226
|
+
{nonRenderedPlaceholder}
|
|
227
|
+
{noInitialize}
|
|
228
|
+
{render}
|
|
229
|
+
bind:result
|
|
230
|
+
{id}
|
|
231
|
+
{componentInput}
|
|
232
|
+
>
|
|
224
233
|
{@render children?.()}
|
|
225
234
|
</NonRunnableComponent>
|
|
226
235
|
{/if}
|
|
@@ -71,10 +71,10 @@ interface Props {
|
|
|
71
71
|
extraKey?: string | undefined;
|
|
72
72
|
refreshOnStart?: boolean;
|
|
73
73
|
errorHandledByComponent?: boolean;
|
|
74
|
-
hasChildrens?: boolean;
|
|
75
74
|
allowConcurentRequests?: boolean;
|
|
76
75
|
onSuccess?: (result: any) => void;
|
|
77
76
|
children?: import('svelte').Snippet;
|
|
77
|
+
nonRenderedPlaceholder?: import('svelte').Snippet;
|
|
78
78
|
}
|
|
79
79
|
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> {
|
|
80
80
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -71,7 +71,7 @@ let css = $state(initCss($app.css?.containercomponent, customCss));
|
|
|
71
71
|
style={css?.container?.style}
|
|
72
72
|
subGridId={`${id}-0`}
|
|
73
73
|
containerHeight={componentContainerHeight}
|
|
74
|
-
|
|
74
|
+
onFocus={() => {
|
|
75
75
|
if (!$connectingInput.opened) {
|
|
76
76
|
$selectedComponent = [id]
|
|
77
77
|
}
|