windmill-components 1.550.0 → 1.555.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/aiStore.d.ts +13 -0
- package/package/aiStore.js +70 -0
- package/package/common.d.ts +2 -1
- package/package/components/AIProviderPicker.svelte +25 -8
- package/package/components/ArgEnum.svelte +3 -2
- package/package/components/ArgEnum.svelte.d.ts +1 -0
- package/package/components/ArgInput.svelte +235 -174
- package/package/components/ArgInput.svelte.d.ts +4 -1
- package/package/components/ArrayTypeNarrowing.svelte +38 -32
- package/package/components/AutoscalingEvents.svelte +21 -5
- package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
- package/package/components/DateTimeInput.svelte +8 -6
- package/package/components/DeployButton.svelte +1 -1
- package/package/components/Dev.svelte +6 -4
- package/package/components/EditableSchemaForm.svelte +7 -6
- package/package/components/Editor.svelte +2 -1
- package/package/components/EditorSettings.svelte +5 -5
- package/package/components/EditorSettings.svelte.d.ts +4 -18
- package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
- package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
- package/package/components/FieldHeader.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +1 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPlugConnect.svelte +8 -2
- package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
- package/package/components/FlowPreviewContent.svelte +113 -92
- package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
- package/package/components/FlowStatusViewer.svelte +3 -2
- package/package/components/FlowStatusViewerInner.svelte +1 -1
- package/package/components/FolderEditor.svelte +6 -7
- package/package/components/GroupEditor.svelte +148 -141
- package/package/components/GroupEditor.svelte.d.ts +5 -4
- package/package/components/InputTransformForm.svelte +88 -82
- package/package/components/InputTransformSchemaForm.svelte +5 -4
- package/package/components/InstanceSetting.svelte +17 -9
- package/package/components/JsonEditor.svelte +18 -9
- package/package/components/JsonEditor.svelte.d.ts +1 -1
- package/package/components/JsonInputs.svelte +1 -1
- package/package/components/ModulePreviewForm.svelte +23 -19
- package/package/components/NumberTypeNarrowing.svelte +32 -16
- package/package/components/ObjectStoreConfigSettings.svelte +27 -19
- package/package/components/Path.svelte +2 -8
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourceEditor.svelte +3 -10
- package/package/components/ResourcePicker.svelte +85 -72
- package/package/components/ResourcePicker.svelte.d.ts +2 -0
- package/package/components/RunChart.svelte +1 -1
- package/package/components/RunForm.svelte +11 -7
- package/package/components/S3ArrayHelperButton.svelte +12 -6
- package/package/components/S3ArrayHelperButton.svelte.d.ts +1 -0
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +18 -10
- package/package/components/SchemaForm.svelte.d.ts +7 -1
- package/package/components/SchemaFormWithArgPicker.svelte +1 -1
- package/package/components/ScriptBuilder.svelte +2 -2
- package/package/components/ScriptEditor.svelte +4 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ShareModal.svelte +4 -4
- package/package/components/SimpleEditor.svelte +6 -2
- package/package/components/SimpleEditor.svelte.d.ts +3 -0
- package/package/components/StringTypeNarrowing.svelte +5 -1
- package/package/components/SuperadminSettingsInner.svelte +3 -3
- package/package/components/TemplateEditor.svelte +18 -9
- package/package/components/Toast.svelte +2 -7
- package/package/components/Toast.svelte.d.ts +4 -18
- package/package/components/Toggle.svelte +17 -7
- package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
- package/package/components/WorkerGroup.svelte +2 -14
- package/package/components/apps/components/buttons/AppButton.svelte +57 -39
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
- package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
- package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
- package/package/components/apps/components/display/table/utils.js +13 -3
- package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -3
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
- package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
- package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
- package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditor.svelte +7 -2
- package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
- package/package/components/apps/editor/appDeploy.svelte.js +6 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +30 -1
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
- package/package/components/apps/editor/component/components.d.ts +3 -3
- package/package/components/apps/editor/component/components.js +1 -1
- package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +58 -8
- package/package/components/auditLogs/AuditLogsFilters.svelte +1 -1
- package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
- package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
- package/package/components/common/badge/CountBadge.svelte +29 -0
- package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
- package/package/components/common/button/Button.svelte +1 -0
- package/package/components/common/button/ConnectionButton.svelte +6 -1
- package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
- package/package/components/common/button/RefreshButton.svelte +8 -4
- package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
- package/package/components/common/fileInput/FileInput.svelte +7 -6
- package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
- package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
- package/package/components/common/popup/PopupV2.svelte +6 -0
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
- package/package/components/copilot/IteratorGen.svelte +30 -25
- package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
- package/package/components/copilot/MetadataGen.svelte +4 -3
- package/package/components/copilot/PredicateGen.svelte +15 -12
- package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
- package/package/components/copilot/RegexGen.svelte +1 -1
- package/package/components/copilot/ScriptFix.svelte +1 -1
- package/package/components/copilot/ScriptGen.svelte +2 -1
- package/package/components/copilot/StepGenQuick.svelte +15 -16
- package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
- package/package/components/copilot/StepInputGen.svelte +50 -36
- package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
- package/package/components/copilot/StepInputsGen.svelte +18 -19
- package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
- package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
- package/package/components/copilot/autocomplete/request.js +1 -1
- package/package/components/copilot/chat/AIChat.svelte +2 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +2 -1
- package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
- package/package/components/copilot/chat/ProviderModelSelector.svelte +10 -9
- package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
- package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
- package/package/components/copilot/chat/script/core.js +2 -1
- package/package/components/copilot/chat/shared.js +2 -1
- package/package/components/copilot/lib.js +2 -1
- package/package/components/details/DetailPageLayout.svelte +3 -2
- package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
- package/package/components/flows/CreateActionsFlow.svelte +1 -1
- package/package/components/flows/FlowChatInterface.svelte +404 -0
- package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
- package/package/components/flows/FlowChatMessage.svelte +41 -0
- package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
- package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
- package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
- package/package/components/flows/FlowModuleIcon.svelte +10 -10
- package/package/components/flows/common/FlowCard.svelte +10 -2
- package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCardHeader.svelte +2 -1
- package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInput.svelte +381 -259
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +55 -34
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +5 -10
- package/package/components/flows/flowInfers.d.ts +60 -0
- package/package/components/flows/flowInfers.js +72 -66
- package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +1 -0
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
- package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
- package/package/components/flows/map/FlowStickyNode.svelte +2 -2
- package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
- package/package/components/flows/map/InsertModuleButton.svelte +5 -2
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -3
- package/package/components/flows/map/InsertModuleInner.svelte +3 -1
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
- package/package/components/flows/map/VirtualItem.svelte +1 -2
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +8 -3
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +15 -12
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
- package/package/components/graph/FlowGraphV2.svelte +2 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
- package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
- package/package/components/graph/graphBuilder.svelte.js +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
- package/package/components/instanceSettings.js +17 -0
- package/package/components/progressBar/ProgressBar.svelte +1 -1
- package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
- package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
- package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
- package/package/components/raw_apps/RawAppEditor.svelte +6 -7
- package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
- package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
- package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
- package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
- package/package/components/raw_apps/RawAppPreview.svelte +3 -7
- package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
- package/package/components/raw_apps/utils.d.ts +1 -1
- package/package/components/raw_apps/utils.js +3 -3
- package/package/components/runs/RunOption.svelte +2 -2
- package/package/components/runs/RunsFilter.svelte +15 -12
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
- package/package/components/schema/FlowPropertyEditor.svelte +9 -2
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +22 -26
- package/package/components/schema/SchemaFormDND.svelte +3 -2
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/select/DraggableTags.svelte +2 -2
- package/package/components/select/MultiSelect.svelte +14 -8
- package/package/components/select/Select.svelte +12 -5
- package/package/components/select/Select.svelte.d.ts +11 -0
- package/package/components/select/SelectDropdown.svelte +98 -46
- package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
- package/package/components/select/utils.svelte.js +2 -0
- package/package/components/settings/CreateToken.svelte +76 -49
- package/package/components/settings/WorkspaceUserSettings.svelte +20 -17
- package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
- package/package/components/sidebar/Linkify.svelte +14 -0
- package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
- package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
- package/package/components/table/tableUtils.js +1 -1
- package/package/components/text_input/TextInput.svelte +30 -0
- package/package/components/text_input/TextInput.svelte.d.ts +17 -0
- package/package/components/triggers/TriggersEditor.svelte +11 -1
- package/package/components/triggers/triggers.svelte.d.ts +1 -1
- package/package/components/triggers/triggers.svelte.js +8 -4
- package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
- package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
- package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
- package/package/components/tutorials/Tutorial.svelte +9 -0
- package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
- package/package/components/tutorials/app/AppTutorial.svelte +41 -57
- package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
- package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
- package/package/components/tutorials/utils.js +2 -154
- package/package/components/vscode.js +16 -8
- package/package/components/workspaceSettings/AISettings.svelte +4 -3
- package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
- package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
- package/package/components/workspaceSettings/StorageSettings.svelte +24 -26
- package/package/editorUtils.d.ts +1 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +82 -1
- package/package/gen/schemas.gen.js +82 -1
- package/package/gen/services.gen.d.ts +175 -1
- package/package/gen/services.gen.js +345 -2
- package/package/gen/types.gen.d.ts +1324 -549
- package/package/script_helpers.js +5 -5
- package/package/services/JobManager.js +4 -2
- package/package/stores.d.ts +4 -13
- package/package/stores.js +5 -68
- package/package/toast.js +2 -1
- package/package/utils.d.ts +1 -0
- package/package/utils.js +3 -0
- package/package.json +3 -3
- /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
|
@@ -8,6 +8,7 @@ import InputTransformForm from './InputTransformForm.svelte';
|
|
|
8
8
|
import ItemPicker from './ItemPicker.svelte';
|
|
9
9
|
import VariableEditor from './VariableEditor.svelte';
|
|
10
10
|
import { Plus } from 'lucide-svelte';
|
|
11
|
+
import ResizeTransitionWrapper from './common/ResizeTransitionWrapper.svelte';
|
|
11
12
|
let { schema = $bindable(), args = $bindable({}), isValid = $bindable(true), extraLib = $bindable('missing extraLib'), previousModuleId = undefined, filter = undefined, noDynamicToggle = false, pickableProperties = undefined, enableAi = false, class: clazz = '', helperScript = undefined } = $props();
|
|
12
13
|
let inputCheck = $state({});
|
|
13
14
|
$effect(() => {
|
|
@@ -43,9 +44,9 @@ $effect(() => {
|
|
|
43
44
|
});
|
|
44
45
|
</script>
|
|
45
46
|
|
|
46
|
-
<div class="w-full {clazz}">
|
|
47
|
+
<div class="w-full mb-6 {clazz}">
|
|
47
48
|
{#if enableAi}
|
|
48
|
-
<div class="
|
|
49
|
+
<div class="mt-2">
|
|
49
50
|
<StepInputsGen
|
|
50
51
|
{pickableProperties}
|
|
51
52
|
argNames={keys
|
|
@@ -64,7 +65,7 @@ $effect(() => {
|
|
|
64
65
|
{#if keys.length > 0}
|
|
65
66
|
{#each keys as argName, index (argName)}
|
|
66
67
|
{#if (!filter || filter.includes(argName)) && Object.keys(schema.properties ?? {}).includes(argName)}
|
|
67
|
-
<
|
|
68
|
+
<ResizeTransitionWrapper class="mt-2 relative" innerClass="w-full" vertical>
|
|
68
69
|
<InputTransformForm
|
|
69
70
|
{previousModuleId}
|
|
70
71
|
bind:arg={args[argName]}
|
|
@@ -85,7 +86,7 @@ $effect(() => {
|
|
|
85
86
|
Object.entries(args ?? {}).filter(([key]) => key !== argName)
|
|
86
87
|
)}
|
|
87
88
|
/>
|
|
88
|
-
</
|
|
89
|
+
</ResizeTransitionWrapper>
|
|
89
90
|
{/if}
|
|
90
91
|
{/each}
|
|
91
92
|
{:else}
|
|
@@ -306,13 +306,21 @@ function handleChannelChange(channel, i) {
|
|
|
306
306
|
</div>
|
|
307
307
|
{/if}
|
|
308
308
|
{:else if setting.fieldType == 'codearea'}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
309
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
310
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
311
|
+
<div
|
|
312
|
+
onclick={(ev) => {
|
|
313
|
+
ev.stopPropagation() // this is to prevent wrapping label interference
|
|
314
|
+
}}
|
|
315
|
+
>
|
|
316
|
+
<SimpleEditor
|
|
317
|
+
autoHeight
|
|
318
|
+
class="editor"
|
|
319
|
+
lang={setting.codeAreaLang ?? 'txt'}
|
|
320
|
+
bind:code={$values[setting.key]}
|
|
321
|
+
fixedOverflowWidgets={false}
|
|
322
|
+
/></div
|
|
323
|
+
>
|
|
316
324
|
{:else if setting.fieldType == 'license_key'}
|
|
317
325
|
{@const { valid, expiration } = parseLicenseKey($values[setting.key] ?? '')}
|
|
318
326
|
<div class="flex gap-2">
|
|
@@ -691,7 +699,7 @@ function handleChannelChange(channel, i) {
|
|
|
691
699
|
The max amount of documents (here jobs) per commit. To optimize indexing
|
|
692
700
|
throughput, it is best to keep this as high as possible. However, especially
|
|
693
701
|
when reindexing the whole instance, it can be useful to have a limit on how many
|
|
694
|
-
jobs can be written without being
|
|
702
|
+
jobs can be written without being committed. A commit will make the jobs
|
|
695
703
|
available for search, constitute a "checkpoint" state in the indexing and will
|
|
696
704
|
be logged.
|
|
697
705
|
</Tooltip>
|
|
@@ -750,7 +758,7 @@ function handleChannelChange(channel, i) {
|
|
|
750
758
|
representing all logs during 1 minute for a specific host. To optimize indexing
|
|
751
759
|
throughput, it is best to keep this as high as possible. However, especially
|
|
752
760
|
when reindexing the whole instance, it can be useful to have a limit on how many
|
|
753
|
-
logs can be written without being
|
|
761
|
+
logs can be written without being committed. A commit will make the logs
|
|
754
762
|
available for search, appear as a log line, and be a "checkpoint" of the
|
|
755
763
|
indexing progress.
|
|
756
764
|
</Tooltip>
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
<script lang="ts">import
|
|
2
|
-
import '@codingame/monaco-vscode-standalone-json-language-features';
|
|
1
|
+
<script lang="ts">import '@codingame/monaco-vscode-standalone-json-language-features';
|
|
3
2
|
import SimpleEditor from './SimpleEditor.svelte';
|
|
4
|
-
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
import { createEventDispatcher, untrack } from 'svelte';
|
|
5
4
|
import { createDispatcherIfMounted } from '../createDispatcherIfMounted';
|
|
6
5
|
import Button from './common/button/Button.svelte';
|
|
6
|
+
import { twMerge } from 'tailwind-merge';
|
|
7
|
+
import { inputBorderClass } from './text_input/TextInput.svelte';
|
|
7
8
|
let { code = $bindable(), value = $bindable(undefined), error = $bindable(), editor = $bindable(undefined), small = false, loadAsync = false, class: clazz = undefined, disabled = false, fixedOverflowWidgets = true } = $props();
|
|
8
9
|
let tooBig = $derived(code && code?.length > 1000000);
|
|
9
10
|
let loadTooBigAnyway = $state(false);
|
|
11
|
+
let focused = $state(false);
|
|
10
12
|
const dispatch = createEventDispatcher();
|
|
11
13
|
const dispatchIfMounted = createDispatcherIfMounted(dispatch);
|
|
12
14
|
function parseJson() {
|
|
@@ -24,8 +26,8 @@ function parseJson() {
|
|
|
24
26
|
error = e.message;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
|
|
28
|
-
code != undefined && parseJson();
|
|
29
|
+
$effect(() => {
|
|
30
|
+
code != undefined && untrack(() => parseJson());
|
|
29
31
|
});
|
|
30
32
|
</script>
|
|
31
33
|
|
|
@@ -38,12 +40,17 @@ run(() => {
|
|
|
38
40
|
</div>
|
|
39
41
|
{:else}
|
|
40
42
|
<div class="flex flex-col w-full">
|
|
41
|
-
<div
|
|
43
|
+
<div
|
|
44
|
+
class={twMerge(
|
|
45
|
+
'w-full rounded-md bg-surface-secondary',
|
|
46
|
+
inputBorderClass({ error: !!error, forceFocus: focused })
|
|
47
|
+
)}
|
|
48
|
+
>
|
|
42
49
|
<SimpleEditor
|
|
43
50
|
{loadAsync}
|
|
44
51
|
{small}
|
|
45
|
-
on:focus
|
|
46
|
-
on:blur
|
|
52
|
+
on:focus={() => (dispatch('focus'), (focused = true))}
|
|
53
|
+
on:blur={() => (dispatch('blur'), (focused = false))}
|
|
47
54
|
bind:this={editor}
|
|
48
55
|
on:change
|
|
49
56
|
autoHeight
|
|
@@ -52,10 +59,12 @@ run(() => {
|
|
|
52
59
|
class={clazz}
|
|
53
60
|
{disabled}
|
|
54
61
|
{fixedOverflowWidgets}
|
|
62
|
+
renderLineHighlight="none"
|
|
63
|
+
yPadding={8}
|
|
55
64
|
/>
|
|
56
65
|
</div>
|
|
57
66
|
{#if error != ''}
|
|
58
|
-
<span class="text-red-600 text-xs">{error}</span>
|
|
67
|
+
<span class="text-red-600 text-xs mt-1">{error}</span>
|
|
59
68
|
{/if}
|
|
60
69
|
</div>
|
|
61
70
|
{/if}
|
|
@@ -25,9 +25,9 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
25
25
|
z_$$bindings?: Bindings;
|
|
26
26
|
}
|
|
27
27
|
declare const JsonEditor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
28
|
+
change: CustomEvent<any>;
|
|
28
29
|
focus: CustomEvent<any>;
|
|
29
30
|
blur: CustomEvent<any>;
|
|
30
|
-
change: CustomEvent<any>;
|
|
31
31
|
} & {
|
|
32
32
|
[evt: string]: CustomEvent<any>;
|
|
33
33
|
}, {}, {}, "value" | "error" | "code" | "editor">;
|
|
@@ -41,7 +41,7 @@ function handleKeydown(event) {
|
|
|
41
41
|
<!-- Add a hidden button that can receive focus -->
|
|
42
42
|
<button bind:this={focusTrap} class="sr-only" tabindex="-1" aria-hidden="true">Focus trap</button>
|
|
43
43
|
|
|
44
|
-
<div class="h-full">
|
|
44
|
+
<div class="h-full py-3 rounded-md border">
|
|
45
45
|
<SimpleEditor
|
|
46
46
|
bind:this={simpleEditor}
|
|
47
47
|
on:focus={() => {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<script lang="ts">import
|
|
1
|
+
<script lang="ts">import ResizeTransitionWrapper from './common/ResizeTransitionWrapper.svelte';
|
|
2
|
+
import { allTrue } from '../utils';
|
|
2
3
|
import { RefreshCw } from 'lucide-svelte';
|
|
3
4
|
import ArgInput from './ArgInput.svelte';
|
|
4
5
|
import { Button } from './common';
|
|
@@ -69,12 +70,14 @@ $effect.pre(() => {
|
|
|
69
70
|
{#if keys.length > 0}
|
|
70
71
|
{#each keys as argName, i (argName)}
|
|
71
72
|
{#if Object.keys(schema.properties ?? {}).includes(argName)}
|
|
72
|
-
<
|
|
73
|
+
<ResizeTransitionWrapper
|
|
74
|
+
vertical
|
|
73
75
|
class={twMerge(
|
|
74
|
-
'flex gap-2',
|
|
76
|
+
'flex gap-2 relative',
|
|
75
77
|
animateArg === argName && 'animate-pulse ring-2 ring-offset-2 ring-blue-500 rounded'
|
|
76
78
|
)}
|
|
77
|
-
|
|
79
|
+
innerClass="w-full"
|
|
80
|
+
outerDivProps={{ 'data-arg': argName }}
|
|
78
81
|
>
|
|
79
82
|
{#if schema?.properties?.[argName]}
|
|
80
83
|
<ArgInput
|
|
@@ -104,22 +107,23 @@ $effect.pre(() => {
|
|
|
104
107
|
nullable={schema.properties[argName].nullable}
|
|
105
108
|
title={schema.properties[argName].title}
|
|
106
109
|
placeholder={schema.properties[argName].placeholder}
|
|
107
|
-
|
|
110
|
+
>
|
|
111
|
+
{#snippet fieldHeaderActions()}
|
|
112
|
+
{#if stepsInputArgs?.isArgManuallySet(mod.id, argName)}
|
|
113
|
+
<Button
|
|
114
|
+
on:click={() => {
|
|
115
|
+
plugIt(argName)
|
|
116
|
+
}}
|
|
117
|
+
size="xs2"
|
|
118
|
+
variant="contained"
|
|
119
|
+
color="light"
|
|
120
|
+
title="Re-evaluate input step"><RefreshCw size={12} /></Button
|
|
121
|
+
>
|
|
122
|
+
{/if}
|
|
123
|
+
{/snippet}
|
|
124
|
+
</ArgInput>
|
|
108
125
|
{/if}
|
|
109
|
-
|
|
110
|
-
<div class="pt-6 mt-0.5">
|
|
111
|
-
<Button
|
|
112
|
-
on:click={() => {
|
|
113
|
-
plugIt(argName)
|
|
114
|
-
}}
|
|
115
|
-
size="sm"
|
|
116
|
-
variant="border"
|
|
117
|
-
color="light"
|
|
118
|
-
title="Re-evaluate input step"><RefreshCw size={14} /></Button
|
|
119
|
-
>
|
|
120
|
-
</div>
|
|
121
|
-
{/if}
|
|
122
|
-
</div>
|
|
126
|
+
</ResizeTransitionWrapper>
|
|
123
127
|
{/if}
|
|
124
128
|
{/each}
|
|
125
129
|
{/if}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import Toggle from './Toggle.svelte';
|
|
3
3
|
import Tooltip from './Tooltip.svelte';
|
|
4
4
|
import { selectOptions } from './apps/editor/component';
|
|
5
|
+
import Select from './select/Select.svelte';
|
|
6
|
+
import TextInput from './text_input/TextInput.svelte';
|
|
5
7
|
let { min = $bindable(), max = $bindable(), currency = $bindable(), currencyLocale = $bindable() } = $props();
|
|
6
8
|
let minChecked = $state(min != undefined);
|
|
7
9
|
let maxChecked = $state(max != undefined);
|
|
@@ -29,7 +31,11 @@ let maxChecked = $state(max != undefined);
|
|
|
29
31
|
options={{ right: 'Enabled' }}
|
|
30
32
|
size="xs"
|
|
31
33
|
/>
|
|
32
|
-
{/snippet}
|
|
34
|
+
{/snippet}
|
|
35
|
+
<TextInput
|
|
36
|
+
inputProps={{ type: 'number', disabled: !minChecked }}
|
|
37
|
+
bind:value={() => min?.toString(), (v) => (min = v ? parseInt(v) : undefined)}
|
|
38
|
+
/>
|
|
33
39
|
</Label>
|
|
34
40
|
|
|
35
41
|
<Label label="Max" class="w-full col-span-1 ">
|
|
@@ -53,31 +59,41 @@ let maxChecked = $state(max != undefined);
|
|
|
53
59
|
size="xs"
|
|
54
60
|
/>
|
|
55
61
|
{/snippet}
|
|
56
|
-
<
|
|
62
|
+
<TextInput
|
|
63
|
+
inputProps={{ type: 'number', disabled: !maxChecked }}
|
|
64
|
+
bind:value={() => max?.toString(), (v) => (max = v ? parseInt(v) : undefined)}
|
|
65
|
+
/>
|
|
57
66
|
</Label>
|
|
58
67
|
</div>
|
|
59
|
-
<div class="
|
|
60
|
-
<Label label="Currency" class="
|
|
68
|
+
<div class="flex gap-2">
|
|
69
|
+
<Label label="Currency" class=" col-span-2">
|
|
61
70
|
{#snippet header()}
|
|
62
71
|
<Tooltip light small>
|
|
63
72
|
Select a currency to display the number in. If a currency is selected, you can also select
|
|
64
73
|
a locale to format the number according to that locale.
|
|
65
74
|
</Tooltip>
|
|
66
75
|
{/snippet}
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
<Select
|
|
77
|
+
bind:value={
|
|
78
|
+
() => currency,
|
|
79
|
+
(v) => {
|
|
80
|
+
currency = v
|
|
81
|
+
if (!v) currencyLocale = undefined
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
items={selectOptions.currencyOptions.map((c) => ({ label: c, value: c }))}
|
|
85
|
+
placeholder="No currency"
|
|
86
|
+
clearable
|
|
87
|
+
/>
|
|
73
88
|
</Label>
|
|
74
89
|
<Label label="Currency locale" class="w-full">
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
{
|
|
78
|
-
|
|
79
|
-
{
|
|
80
|
-
|
|
90
|
+
<Select
|
|
91
|
+
bind:value={currencyLocale}
|
|
92
|
+
items={selectOptions.localeOptions.map((c) => ({ label: c, value: c }))}
|
|
93
|
+
placeholder="No locale"
|
|
94
|
+
disabled={!currency}
|
|
95
|
+
clearable
|
|
96
|
+
/>
|
|
81
97
|
</Label>
|
|
82
98
|
</div>
|
|
83
99
|
</div>
|
|
@@ -229,28 +229,36 @@ async function testConnection() {
|
|
|
229
229
|
<label class="block pb-2">
|
|
230
230
|
<span class="text-primary font-semibold text-sm">Service Account Key</span>
|
|
231
231
|
<span class="text-tertiary text-2xs">JSON content of the service account key file</span>
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
232
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
233
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
234
|
+
<div
|
|
235
|
+
onclick={(ev) => {
|
|
236
|
+
ev.stopPropagation() // this is to prevent wrapping label interference
|
|
237
|
+
}}
|
|
238
|
+
>
|
|
239
|
+
<SimpleEditor
|
|
240
|
+
lang="json"
|
|
241
|
+
bind:code={
|
|
242
|
+
() => {
|
|
243
|
+
if (bucket_config?.type === 'Gcs') {
|
|
244
|
+
return JSON.stringify(bucket_config.serviceAccountKey)
|
|
245
|
+
} else {
|
|
246
|
+
return '{}'
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
(v) => {
|
|
250
|
+
if (bucket_config?.type === 'Gcs') {
|
|
251
|
+
try {
|
|
252
|
+
bucket_config.serviceAccountKey = JSON.parse(v ?? '{}')
|
|
253
|
+
} catch (_) {
|
|
254
|
+
bucket_config.serviceAccountKey = {}
|
|
255
|
+
}
|
|
248
256
|
}
|
|
249
257
|
}
|
|
250
258
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
259
|
+
class="h-80"
|
|
260
|
+
/>
|
|
261
|
+
</div>
|
|
254
262
|
</label>
|
|
255
263
|
{:else}
|
|
256
264
|
<div>Unknown bucket type {bucket_config['type']}</div>
|
|
@@ -344,10 +344,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
|
|
|
344
344
|
<ToggleButton
|
|
345
345
|
icon={User}
|
|
346
346
|
disabled={disabled || disableEditing}
|
|
347
|
-
light
|
|
348
|
-
size="xs"
|
|
349
347
|
value="user"
|
|
350
|
-
position="left"
|
|
351
348
|
label="User"
|
|
352
349
|
{item}
|
|
353
350
|
/>
|
|
@@ -355,10 +352,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
|
|
|
355
352
|
<ToggleButton
|
|
356
353
|
icon={Folder}
|
|
357
354
|
disabled={disabled || disableEditing}
|
|
358
|
-
light
|
|
359
|
-
size="xs"
|
|
360
355
|
value="folder"
|
|
361
|
-
position="right"
|
|
362
356
|
label="Folder"
|
|
363
357
|
{item}
|
|
364
358
|
/>
|
|
@@ -367,7 +361,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
|
|
|
367
361
|
</div>
|
|
368
362
|
{/if}
|
|
369
363
|
{#if !hideUser}
|
|
370
|
-
<div class="text-xl">/</div>
|
|
364
|
+
<div class="text-xl text-tertiary">/</div>
|
|
371
365
|
{/if}
|
|
372
366
|
<div>
|
|
373
367
|
{#if meta.ownerKind === 'user'}
|
|
@@ -389,7 +383,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
|
|
|
389
383
|
</label>
|
|
390
384
|
{/if}
|
|
391
385
|
</div>
|
|
392
|
-
<span class="text-xl">/</span>
|
|
386
|
+
<span class="text-xl text-tertiary">/</span>
|
|
393
387
|
<label class="block grow w-full max-w-md">
|
|
394
388
|
<!-- svelte-ignore a11y_autofocus -->
|
|
395
389
|
<input
|
|
@@ -34,6 +34,6 @@ declare const Path: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
34
34
|
focus: () => void;
|
|
35
35
|
setName: (x: string) => void;
|
|
36
36
|
reset: () => Promise<void>;
|
|
37
|
-
}, "
|
|
37
|
+
}, "path" | "disabled" | "error" | "dirty">;
|
|
38
38
|
type Path = InstanceType<typeof Path>;
|
|
39
39
|
export default Path;
|
|
@@ -258,10 +258,9 @@ run(() => {
|
|
|
258
258
|
<h5 class="mt-4 inline-flex items-center gap-4 pb-2">
|
|
259
259
|
File content ({resourceTypeInfo.format_extension})
|
|
260
260
|
</h5>
|
|
261
|
-
<div class="
|
|
261
|
+
<div class="">
|
|
262
262
|
<SimpleEditor
|
|
263
263
|
autoHeight
|
|
264
|
-
class="editor"
|
|
265
264
|
lang={resourceTypeInfo.format_extension}
|
|
266
265
|
bind:code={textFileContent}
|
|
267
266
|
fixedOverflowWidgets={false}
|
|
@@ -291,14 +290,8 @@ run(() => {
|
|
|
291
290
|
{#if !emptyString(jsonError)}<span class="text-red-400 text-xs mb-1 flex flex-row-reverse"
|
|
292
291
|
>{jsonError}</span
|
|
293
292
|
>{:else}<div class="py-2"></div>{/if}
|
|
294
|
-
<div class="
|
|
295
|
-
<SimpleEditor
|
|
296
|
-
autoHeight
|
|
297
|
-
class="editor"
|
|
298
|
-
lang="json"
|
|
299
|
-
bind:code={rawCode}
|
|
300
|
-
fixedOverflowWidgets={false}
|
|
301
|
-
/>
|
|
293
|
+
<div class="bg-surface-secondary rounded-md border py-2.5">
|
|
294
|
+
<SimpleEditor autoHeight lang="json" bind:code={rawCode} />
|
|
302
295
|
</div>
|
|
303
296
|
{/if}
|
|
304
297
|
</div>
|
|
@@ -4,12 +4,14 @@ import { onMount, untrack } from 'svelte';
|
|
|
4
4
|
import AppConnect from './AppConnectDrawer.svelte';
|
|
5
5
|
import ResourceEditorDrawer from './ResourceEditorDrawer.svelte';
|
|
6
6
|
import { Button } from './common';
|
|
7
|
-
import { Pen, Plus, RotateCw } from 'lucide-svelte';
|
|
7
|
+
import { Loader2, Pen, Plus, RotateCw } from 'lucide-svelte';
|
|
8
8
|
import { sendUserToast } from '../toast';
|
|
9
9
|
import Select from './select/Select.svelte';
|
|
10
10
|
import DbManagerDrawer from './DBManagerDrawer.svelte';
|
|
11
11
|
import ExploreAssetButton, { assetCanBeExplored } from './ExploreAssetButton.svelte';
|
|
12
|
-
|
|
12
|
+
import { twMerge } from 'tailwind-merge';
|
|
13
|
+
import DropdownV2 from './DropdownV2.svelte';
|
|
14
|
+
let { initialValue = $bindable(undefined), value = $bindable(undefined), valueType = $bindable(undefined), resourceType = undefined, disabled = false, disablePortal = false, showSchemaExplorer = false, selectFirst = false, expressOAuthSetup = false, defaultValues = undefined, placeholder = undefined, selectInputClass = '', class: className = '', onClear = undefined, excludedValues = undefined } = $props();
|
|
13
15
|
if (initialValue && value == undefined) {
|
|
14
16
|
console.log('initialValue', initialValue);
|
|
15
17
|
value = initialValue;
|
|
@@ -128,91 +130,102 @@ let dbManagerDrawer = $state();
|
|
|
128
130
|
}}
|
|
129
131
|
/>
|
|
130
132
|
<!-- {JSON.stringify({ value, collection })} -->
|
|
131
|
-
<div class="flex flex-col w-full items-start min-h-
|
|
133
|
+
<div class="flex flex-col w-full items-start min-h-10 {className}">
|
|
132
134
|
<div class="flex flex-row w-full items-center">
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
valueType = collection.find((x) => x?.value == v)?.type
|
|
142
|
-
}
|
|
135
|
+
<Select
|
|
136
|
+
{disabled}
|
|
137
|
+
{disablePortal}
|
|
138
|
+
bind:value={
|
|
139
|
+
() => value,
|
|
140
|
+
(v) => {
|
|
141
|
+
value = v
|
|
142
|
+
valueType = collection.find((x) => x?.value == v)?.type
|
|
143
143
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
{#if value && value != ''}
|
|
144
|
+
}
|
|
145
|
+
onClear={() => {
|
|
146
|
+
initialValue = undefined
|
|
147
|
+
value = undefined
|
|
148
|
+
valueType = undefined
|
|
149
|
+
onClear?.()
|
|
150
|
+
}}
|
|
151
|
+
items={collection}
|
|
152
|
+
clearable
|
|
153
|
+
class="text-clip grow min-w-0"
|
|
154
|
+
inputClass={twMerge('min-h-10', selectInputClass)}
|
|
155
|
+
placeholder={placeholder ?? `${resourceType ?? 'any'} resource`}
|
|
156
|
+
itemLabelWrapperClasses="flex-1"
|
|
157
|
+
itemButtonWrapperClasses="flex"
|
|
158
|
+
>
|
|
159
|
+
{#snippet endSnippet({ item, close })}
|
|
161
160
|
<Button
|
|
162
161
|
{disabled}
|
|
163
162
|
color="light"
|
|
164
163
|
variant="contained"
|
|
165
|
-
size="
|
|
166
|
-
btnClasses="w-8 px-0.5 py-1.5"
|
|
167
|
-
|
|
164
|
+
size="xs3"
|
|
165
|
+
btnClasses="w-8 px-0.5 py-1.5 bg-transparent hover:bg-surface-secondary"
|
|
166
|
+
wrapperClasses="-mr-2 pl-1"
|
|
167
|
+
on:click={() => (resourceEditor?.initEdit?.(item.value ?? ''), close())}
|
|
168
168
|
startIcon={{ icon: Pen }}
|
|
169
169
|
iconOnly
|
|
170
170
|
/>
|
|
171
|
-
{/
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
{/snippet}
|
|
172
|
+
{#snippet bottomSnippet({ close })}
|
|
173
|
+
<div class="flex bg-surface border-t divide-x">
|
|
174
|
+
{#if resourceType?.includes(',')}
|
|
175
|
+
<DropdownV2
|
|
176
|
+
enableFlyTransition
|
|
177
|
+
items={resourceType?.split(',').map((rt) => ({
|
|
178
|
+
displayName: `${rt} resource`,
|
|
179
|
+
icon: Plus,
|
|
180
|
+
action: () => (appConnect?.open?.(rt), close())
|
|
181
|
+
})) ?? []}
|
|
182
|
+
>
|
|
183
|
+
{#snippet buttonReplacement()}
|
|
184
|
+
<Button
|
|
185
|
+
{disabled}
|
|
186
|
+
color="light"
|
|
187
|
+
variant="contained"
|
|
188
|
+
wrapperClasses="flex-1"
|
|
189
|
+
btnClasses="rounded-none mt-0.5"
|
|
190
|
+
size="sm"
|
|
191
|
+
startIcon={{ icon: Plus }}
|
|
192
|
+
>
|
|
193
|
+
Add a resource
|
|
194
|
+
</Button>
|
|
195
|
+
{/snippet}
|
|
196
|
+
</DropdownV2>
|
|
197
|
+
{:else}
|
|
198
|
+
<Button
|
|
199
|
+
{disabled}
|
|
200
|
+
color="light"
|
|
201
|
+
variant="contained"
|
|
202
|
+
wrapperClasses="flex-1"
|
|
203
|
+
btnClasses="rounded-none"
|
|
204
|
+
size="sm"
|
|
205
|
+
on:click={() => (appConnect?.open?.(resourceType), close())}
|
|
206
|
+
startIcon={{ icon: Plus }}
|
|
207
|
+
>
|
|
208
|
+
Add a {resourceType} resource
|
|
209
|
+
</Button>
|
|
210
|
+
{/if}
|
|
175
211
|
<Button
|
|
176
|
-
{disabled}
|
|
177
|
-
color="light"
|
|
178
212
|
variant="contained"
|
|
213
|
+
color="light"
|
|
214
|
+
btnClasses="rounded-none"
|
|
179
215
|
size="sm"
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
variant="border"
|
|
190
|
-
size="sm"
|
|
191
|
-
on:click={() => appConnect?.open?.(resourceType)}
|
|
192
|
-
startIcon={{ icon: Plus }}
|
|
193
|
-
iconOnly={collection?.length > 0}
|
|
194
|
-
>{#if collection?.length == 0}
|
|
195
|
-
Add a {resourceType} resource
|
|
196
|
-
{/if}</Button
|
|
197
|
-
>
|
|
198
|
-
<div class="mx-0.5"></div>
|
|
199
|
-
{/if}
|
|
200
|
-
{/if}
|
|
201
|
-
|
|
202
|
-
<Button
|
|
203
|
-
variant="contained"
|
|
204
|
-
color="light"
|
|
205
|
-
btnClasses="w-8 px-0.5 py-1.5"
|
|
206
|
-
size="sm"
|
|
207
|
-
on:click={() => {
|
|
208
|
-
loadResources(resourceType)
|
|
209
|
-
}}
|
|
210
|
-
startIcon={{ icon: RotateCw }}
|
|
211
|
-
iconOnly
|
|
212
|
-
/>
|
|
216
|
+
on:click={() => {
|
|
217
|
+
loadResources(resourceType)
|
|
218
|
+
}}
|
|
219
|
+
startIcon={loading ? { icon: Loader2, classes: 'animate-spin' } : { icon: RotateCw }}
|
|
220
|
+
iconOnly
|
|
221
|
+
/>
|
|
222
|
+
</div>
|
|
223
|
+
{/snippet}
|
|
224
|
+
</Select>
|
|
213
225
|
</div>
|
|
214
226
|
{#if showSchemaExplorer && value && assetCanBeExplored({ kind: 'resource', path: value }, { resource_type: resourceType })}
|
|
215
227
|
<ExploreAssetButton
|
|
228
|
+
class="mt-1"
|
|
216
229
|
_resourceMetadata={{ resource_type: resourceType }}
|
|
217
230
|
asset={{ kind: 'resource', path: value }}
|
|
218
231
|
{dbManagerDrawer}
|
|
@@ -217,7 +217,7 @@ let scatterOptions = $derived({
|
|
|
217
217
|
<!-- {JSON.stringify(jobs?.map((x) => x.started_at))} -->
|
|
218
218
|
<div class="relative max-h-40">
|
|
219
219
|
{#if !lastFetchWentToEnd}
|
|
220
|
-
<div class="absolute top-[-
|
|
220
|
+
<div class="absolute top-[-28px] left-[180px]"
|
|
221
221
|
><Button size="xs" color="transparent" variant="contained" on:click={() => onLoadExtra()}
|
|
222
222
|
>Load more <Tooltip2
|
|
223
223
|
>There are more jobs to load but only the first 1000 were fetched</Tooltip2
|