windmill-components 1.434.1 → 1.444.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/ArgInput.svelte +12 -16
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/AssignableTags.svelte +3 -1
- package/package/components/AssignableTags.svelte.d.ts +1 -0
- package/package/components/AuthSettings.svelte +248 -0
- package/package/components/AuthSettings.svelte.d.ts +19 -0
- package/package/components/AutoscalingConfigEditor.svelte +2 -2
- package/package/components/CronInput.svelte +2 -2
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/Description.svelte +9 -0
- package/package/components/Description.svelte.d.ts +18 -0
- package/package/components/Dev.svelte +18 -3
- package/package/components/DisplayResult.svelte +7 -4
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/DropdownV2.svelte +2 -1
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +2 -2
- package/package/components/Editor.svelte +9 -6
- package/package/components/Editor.svelte.d.ts +4 -2
- package/package/components/EditorBar.svelte +51 -6
- package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
- package/package/components/ExecutionDuration.svelte +2 -1
- package/package/components/FieldHeader.svelte +9 -1
- package/package/components/FieldHeader.svelte.d.ts +1 -0
- package/package/components/FlowBuilder.svelte +16 -3
- package/package/components/FlowGraphViewer.svelte +2 -0
- package/package/components/FlowPreviewContent.svelte +6 -15
- package/package/components/FlowStatusViewerInner.svelte +14 -10
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InputTransformSchemaForm.svelte +1 -1
- package/package/components/InstanceSetting.svelte +774 -0
- package/package/components/InstanceSetting.svelte.d.ts +27 -0
- package/package/components/InstanceSettings.svelte +68 -1005
- package/package/components/InstanceSettings.svelte.d.ts +0 -4
- package/package/components/Label.svelte +16 -6
- package/package/components/Label.svelte.d.ts +3 -0
- package/package/components/Login.svelte +17 -9
- package/package/components/OAuthSetting.svelte +4 -3
- package/package/components/OauthExtraParams.svelte +1 -1
- package/package/components/OauthScopes.svelte +2 -2
- package/package/components/ObjectStoreConfigSettings.svelte +141 -128
- package/package/components/QueueMetricsDrawer.svelte +5 -5
- package/package/components/ResourceEditor.svelte +4 -0
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +15 -3
- package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
- package/package/components/ResourcePicker.svelte +16 -5
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunPageSchedules.svelte +15 -10
- package/package/components/SavedInputs.svelte +1 -1
- package/package/components/ScheduleEditorInner.svelte +58 -27
- package/package/components/SchemaForm.svelte +7 -5
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/ScriptBuilder.svelte +58 -5
- package/package/components/ScriptEditor.svelte +78 -40
- package/package/components/ScriptEditor.svelte.d.ts +17 -2
- package/package/components/ScriptPicker.svelte +41 -34
- package/package/components/ScriptPicker.svelte.d.ts +1 -0
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/Section.svelte +38 -35
- package/package/components/Section.svelte.d.ts +2 -0
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/SimpleEditor.svelte +2 -0
- package/package/components/Subsection.svelte +52 -0
- package/package/components/Subsection.svelte.d.ts +27 -0
- package/package/components/SuperadminSettings.svelte +23 -13
- package/package/components/TemplateEditor.svelte +4 -3
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte +2 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/Toggle.svelte +2 -4
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +4 -4
- package/package/components/WorkerTagPicker.svelte +4 -2
- package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
- package/package/components/WorkerTagSelect.svelte +2 -0
- package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
- package/package/components/apps/components/display/dbtable/utils.js +26 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
- package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +5 -34
- package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
- package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +17 -0
- package/package/components/apps/editor/component/components.d.ts +82 -81
- package/package/components/apps/editor/component/components.js +4 -3
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
- package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/apps/types.d.ts +2 -0
- package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
- package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
- package/package/components/common/alert/Notification.svelte +15 -0
- package/package/components/common/alert/Notification.svelte.d.ts +17 -0
- package/package/components/common/button/AnimatedButton.svelte +1 -1
- package/package/components/common/button/RefreshButton.svelte +30 -0
- package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -3
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/layout/List.svelte +35 -0
- package/package/components/common/layout/List.svelte.d.ts +21 -0
- package/package/components/common/layout/ListElement.svelte +3 -0
- package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
- package/package/components/common/menu/MenuV2.svelte +3 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +6 -4
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal2.svelte +101 -0
- package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
- package/package/components/common/popup/Popup.svelte +5 -1
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
- package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
- package/package/components/details/ClipboardPanel.svelte +12 -2
- package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
- package/package/components/details/CopyableCodeBlock.svelte +24 -0
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
- package/package/components/details/DetailPageLayout.svelte +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
- package/package/components/details/EmailTriggerPanel.svelte +27 -74
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
- package/package/components/flows/FlowEditor.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistoryInner.svelte +1 -1
- package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInput.svelte +2 -15
- package/package/components/flows/content/FlowInputs.svelte +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowPathViewer.svelte +3 -1
- package/package/components/flows/content/FlowRetries.svelte +32 -5
- package/package/components/flows/content/FlowSettings.svelte +56 -48
- package/package/components/flows/flowStateUtils.d.ts +10 -1
- package/package/components/flows/flowStateUtils.js +23 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
- package/package/components/flows/map/InsertModuleButton.svelte +3 -3
- package/package/components/flows/map/VirtualItem.svelte +29 -1
- package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
- package/package/components/flows/previousResults.js +8 -2
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +5 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/icons/CSharpIcon.svelte +14 -0
- package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
- package/package/components/icons/GitIcon.svelte +5 -2
- package/package/components/icons/XeroIcon.svelte +24 -0
- package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +3 -1
- package/package/components/icons/index.js +4 -2
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +77 -69
- package/package/components/meltComponents/Popover.svelte +82 -0
- package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
- package/package/components/propertyPicker/PropPicker.svelte +5 -3
- package/package/components/runs/JobLoader.svelte +5 -2
- package/package/components/runs/JobPreview.svelte +5 -5
- package/package/components/runs/RunRow.svelte +3 -4
- package/package/components/runs/RunsFilter.svelte +4 -4
- package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
- package/package/components/schema/PropertyEditor.svelte +1 -1
- package/package/components/schema/SchemaFormDND.svelte +2 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +176 -164
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/search/GlobalSearchModal.svelte +3 -3
- package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
- package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
- package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
- package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
- package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
- package/package/components/sidebar/OperatorMenu.svelte +30 -8
- package/package/components/sidebar/SideBarNotification.svelte +3 -6
- package/package/components/sidebar/SidebarContent.svelte +5 -5
- package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
- package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
- package/package/components/sidebar/changelogs.js +82 -17
- package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
- package/package/components/table/AutoDataTable.svelte +1 -1
- package/package/components/table/Cell.svelte +5 -3
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DataTable.svelte +65 -58
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +3 -1
- package/package/components/table/Row.svelte.d.ts +1 -0
- package/package/components/toast.js +3 -1
- package/package/components/triggers/CaptureButton.svelte +77 -0
- package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
- package/package/components/triggers/CaptureIcon.svelte +17 -0
- package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
- package/package/components/triggers/CaptureSection.svelte +76 -0
- package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
- package/package/components/triggers/CaptureTable.svelte +224 -0
- package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
- package/package/components/triggers/CaptureWrapper.svelte +237 -0
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
- package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
- package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
- package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers/RouteEditor.svelte +2 -2
- package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
- package/package/components/triggers/RouteEditorInner.svelte +98 -163
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/RoutesPanel.svelte +69 -54
- package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
- package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
- package/package/components/triggers/TriggersEditor.svelte +119 -89
- package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
- package/package/components/triggers/TriggersEditorSection.svelte +109 -0
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
- package/package/components/triggers/TriggersWrapper.svelte +60 -0
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
- package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
- package/package/components/triggers/WebhooksPanel.svelte +32 -331
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
- package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers.d.ts +6 -2
- package/package/components/triggers.js +16 -0
- package/package/components/wizards/AgGridWizard.svelte +4 -4
- package/package/editorUtils.d.ts +2 -0
- package/package/editorUtils.js +6 -3
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +17 -8
- package/package/gen/schemas.gen.js +17 -8
- package/package/gen/services.gen.d.ts +55 -5
- package/package/gen/services.gen.js +108 -5
- package/package/gen/types.gen.d.ts +180 -13
- package/package/hubPaths.json +6 -3
- package/package/infer.js +9 -0
- package/package/script_helpers.d.ts +5 -0
- package/package/script_helpers.js +68 -8
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/utils.d.ts +3 -1
- package/package/utils.js +20 -4
- package/package.json +11 -8
- package/package/components/flows/content/CapturePayload.svelte +0 -114
- package/package/components/flows/content/CapturePayload.svelte.d.ts +0 -17
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { Button } from '../common';
|
|
2
2
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
3
3
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
4
4
|
import Path from '../Path.svelte';
|
|
@@ -13,13 +13,14 @@ import { Loader2, Save, Pipette } from 'lucide-svelte';
|
|
|
13
13
|
import Label from '../Label.svelte';
|
|
14
14
|
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
15
15
|
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
16
|
-
import { isCloudHosted } from '../../cloud';
|
|
17
|
-
import { base } from '../../base';
|
|
18
16
|
import S3FilePicker from '../S3FilePicker.svelte';
|
|
19
17
|
import Toggle from '../Toggle.svelte';
|
|
20
18
|
import JsonEditor from '../apps/editor/settingsPanel/inputEditor/JsonEditor.svelte';
|
|
21
19
|
import FileUpload from '../common/fileUpload/FileUpload.svelte';
|
|
22
20
|
import SimpleEditor from '../SimpleEditor.svelte';
|
|
21
|
+
import { json } from 'svelte-highlight/languages';
|
|
22
|
+
import { Highlight } from 'svelte-highlight';
|
|
23
|
+
import RouteEditorConfigSection from './RouteEditorConfigSection.svelte';
|
|
23
24
|
let is_flow = false;
|
|
24
25
|
let initialPath = '';
|
|
25
26
|
let edit = true;
|
|
@@ -47,7 +48,7 @@ export async function openEdit(ePath, isFlow) {
|
|
|
47
48
|
drawerLoading = false;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
export async function openNew(nis_flow, fixedScriptPath_) {
|
|
51
|
+
export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
|
|
51
52
|
drawerLoading = true;
|
|
52
53
|
try {
|
|
53
54
|
drawer?.openDrawer();
|
|
@@ -57,9 +58,9 @@ export async function openNew(nis_flow, fixedScriptPath_) {
|
|
|
57
58
|
is_async = false;
|
|
58
59
|
requires_auth = false;
|
|
59
60
|
initialRoutePath = '';
|
|
60
|
-
route_path = '';
|
|
61
|
+
route_path = defaultValues?.route_path ?? '';
|
|
61
62
|
dirtyRoutePath = false;
|
|
62
|
-
http_method = 'post';
|
|
63
|
+
http_method = defaultValues?.http_method ?? 'post';
|
|
63
64
|
initialScriptPath = '';
|
|
64
65
|
fixedScriptPath = fixedScriptPath_ ?? '';
|
|
65
66
|
script_path = fixedScriptPath;
|
|
@@ -75,7 +76,7 @@ export async function openNew(nis_flow, fixedScriptPath_) {
|
|
|
75
76
|
}
|
|
76
77
|
let path = '';
|
|
77
78
|
let pathError = '';
|
|
78
|
-
let
|
|
79
|
+
let isValid = false;
|
|
79
80
|
let dirtyRoutePath = false;
|
|
80
81
|
let is_async = false;
|
|
81
82
|
let requires_auth = false;
|
|
@@ -148,36 +149,6 @@ async function triggerScript() {
|
|
|
148
149
|
}
|
|
149
150
|
let drawer;
|
|
150
151
|
let dirtyPath = false;
|
|
151
|
-
$: fullRoute = `${window.location.origin}${base}/api/r/${isCloudHosted() ? $workspaceStore + '/' : ''}${route_path}`;
|
|
152
|
-
async function routeExists(route_path, method) {
|
|
153
|
-
return await HttpTriggerService.existsRoute({
|
|
154
|
-
workspace: $workspaceStore,
|
|
155
|
-
requestBody: {
|
|
156
|
-
route_path,
|
|
157
|
-
http_method
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
let validateTimeout = undefined;
|
|
162
|
-
async function validateRoute(path, method) {
|
|
163
|
-
routeError = '';
|
|
164
|
-
if (validateTimeout) {
|
|
165
|
-
clearTimeout(validateTimeout);
|
|
166
|
-
}
|
|
167
|
-
validateTimeout = setTimeout(async () => {
|
|
168
|
-
if (!/^[\w-:]+(\/[\w-:]+)*$/.test(path)) {
|
|
169
|
-
routeError = 'Endpoint not valid';
|
|
170
|
-
}
|
|
171
|
-
else if (initialRoutePath !== path && (await routeExists(path, method))) {
|
|
172
|
-
routeError = 'Endpoint already taken';
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
routeError = '';
|
|
176
|
-
}
|
|
177
|
-
validateTimeout = undefined;
|
|
178
|
-
}, 500);
|
|
179
|
-
}
|
|
180
|
-
$: validateRoute(route_path, http_method);
|
|
181
152
|
</script>
|
|
182
153
|
|
|
183
154
|
{#if static_asset_config}
|
|
@@ -201,7 +172,7 @@ $: validateRoute(route_path, http_method);
|
|
|
201
172
|
<Button
|
|
202
173
|
startIcon={{ icon: Save }}
|
|
203
174
|
disabled={pathError != '' ||
|
|
204
|
-
|
|
175
|
+
!isValid ||
|
|
205
176
|
(!static_asset_config && emptyString(script_path)) ||
|
|
206
177
|
(static_asset_config && emptyString(static_asset_config.s3)) ||
|
|
207
178
|
!can_write}
|
|
@@ -231,76 +202,15 @@ $: validateRoute(route_path, http_method);
|
|
|
231
202
|
</Label>
|
|
232
203
|
</div>
|
|
233
204
|
|
|
234
|
-
<
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
<div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
|
|
244
|
-
<div>
|
|
245
|
-
Path
|
|
246
|
-
<Required required={true} />
|
|
247
|
-
</div>
|
|
248
|
-
<div class="text-2xs text-tertiary"> ':myparam' for path params </div>
|
|
249
|
-
</div>
|
|
250
|
-
<!-- svelte-ignore a11y-autofocus -->
|
|
251
|
-
<input
|
|
252
|
-
type="text"
|
|
253
|
-
autocomplete="off"
|
|
254
|
-
bind:value={route_path}
|
|
255
|
-
disabled={!($userStore?.is_admin || $userStore?.is_super_admin) || !can_write}
|
|
256
|
-
class={routeError === ''
|
|
257
|
-
? ''
|
|
258
|
-
: 'border border-red-700 bg-red-100 border-opacity-30 focus:border-red-700 focus:border-opacity-30 focus-visible:ring-red-700 focus-visible:ring-opacity-25 focus-visible:border-red-700'}
|
|
259
|
-
on:input={() => {
|
|
260
|
-
dirtyRoutePath = true
|
|
261
|
-
}}
|
|
262
|
-
/>
|
|
263
|
-
</label>
|
|
264
|
-
|
|
265
|
-
<ToggleButtonGroup
|
|
266
|
-
class="w-auto"
|
|
267
|
-
bind:selected={http_method}
|
|
268
|
-
disabled={!($userStore?.is_admin || $userStore?.is_super_admin) ||
|
|
269
|
-
!can_write ||
|
|
270
|
-
!!static_asset_config}
|
|
271
|
-
>
|
|
272
|
-
<ToggleButton label="GET" value="get" />
|
|
273
|
-
<ToggleButton label="POST" value="post" />
|
|
274
|
-
<ToggleButton label="PUT" value="put" />
|
|
275
|
-
<ToggleButton label="PATCH" value="patch" />
|
|
276
|
-
<ToggleButton label="DELETE" value="delete" />
|
|
277
|
-
</ToggleButtonGroup>
|
|
278
|
-
<div class="flex flex-col w-full mt-2">
|
|
279
|
-
<div class="flex justify-start w-full">
|
|
280
|
-
<Badge
|
|
281
|
-
color="gray"
|
|
282
|
-
class="center-center !bg-surface-secondary !text-tertiary !w-[90px] !h-[24px] rounded-r-none border"
|
|
283
|
-
>
|
|
284
|
-
Full endpoint
|
|
285
|
-
</Badge>
|
|
286
|
-
<input
|
|
287
|
-
type="text"
|
|
288
|
-
readonly
|
|
289
|
-
value={fullRoute}
|
|
290
|
-
size={fullRoute.length || 50}
|
|
291
|
-
class="font-mono !text-xs max-w-[calc(100%-70px)] !w-auto !h-[24px] !py-0 !border-l-0 !rounded-l-none"
|
|
292
|
-
on:focus={({ currentTarget }) => {
|
|
293
|
-
currentTarget.select()
|
|
294
|
-
}}
|
|
295
|
-
/>
|
|
296
|
-
</div>
|
|
297
|
-
|
|
298
|
-
<div class="text-red-600 dark:text-red-400 text-2xs mt-1.5"
|
|
299
|
-
>{dirtyRoutePath ? routeError : ''}</div
|
|
300
|
-
>
|
|
301
|
-
</div>
|
|
302
|
-
</div>
|
|
303
|
-
</Section>
|
|
205
|
+
<RouteEditorConfigSection
|
|
206
|
+
bind:route_path
|
|
207
|
+
bind:isValid
|
|
208
|
+
bind:dirtyRoutePath
|
|
209
|
+
bind:http_method
|
|
210
|
+
{can_write}
|
|
211
|
+
bind:static_asset_config
|
|
212
|
+
{initialRoutePath}
|
|
213
|
+
/>
|
|
304
214
|
|
|
305
215
|
<Section label="Target">
|
|
306
216
|
<ToggleButtonGroup
|
|
@@ -324,36 +234,48 @@ $: validateRoute(route_path, http_method);
|
|
|
324
234
|
|
|
325
235
|
{#if static_asset_config}
|
|
326
236
|
<div class="flex flex-col w-full gap-1">
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
options={{ left: 'Existing file' }}
|
|
332
|
-
/>
|
|
333
|
-
{#if s3FileUploadRawMode}
|
|
334
|
-
<JsonEditor
|
|
335
|
-
bind:editor={s3Editor}
|
|
336
|
-
on:focus={(e) => {
|
|
337
|
-
dispatch('focus')
|
|
338
|
-
}}
|
|
339
|
-
on:blur={(e) => {
|
|
340
|
-
dispatch('blur')
|
|
341
|
-
}}
|
|
342
|
-
code={JSON.stringify(static_asset_config ?? { s3: '' }, null, 2)}
|
|
343
|
-
bind:value={static_asset_config}
|
|
344
|
-
/>
|
|
345
|
-
<Button
|
|
346
|
-
variant="border"
|
|
347
|
-
color="light"
|
|
237
|
+
{#if can_write}
|
|
238
|
+
<Toggle
|
|
239
|
+
class="flex justify-end"
|
|
240
|
+
bind:checked={s3FileUploadRawMode}
|
|
348
241
|
size="xs"
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
242
|
+
options={{ left: 'Existing file' }}
|
|
243
|
+
disabled={!can_write}
|
|
244
|
+
/>
|
|
245
|
+
{/if}
|
|
246
|
+
{#if s3FileUploadRawMode}
|
|
247
|
+
{#if can_write}
|
|
248
|
+
<JsonEditor
|
|
249
|
+
bind:editor={s3Editor}
|
|
250
|
+
on:focus={(e) => {
|
|
251
|
+
dispatch('focus')
|
|
252
|
+
}}
|
|
253
|
+
on:blur={(e) => {
|
|
254
|
+
dispatch('blur')
|
|
255
|
+
}}
|
|
256
|
+
code={JSON.stringify(static_asset_config ?? { s3: '' }, null, 2)}
|
|
257
|
+
bind:value={static_asset_config}
|
|
258
|
+
/>
|
|
259
|
+
{:else}
|
|
260
|
+
<Highlight
|
|
261
|
+
language={json}
|
|
262
|
+
code={JSON.stringify(static_asset_config ?? { s3: '' }, null, 2)}
|
|
263
|
+
/>
|
|
264
|
+
{/if}
|
|
265
|
+
{#if can_write}
|
|
266
|
+
<Button
|
|
267
|
+
variant="border"
|
|
268
|
+
color="light"
|
|
269
|
+
size="xs"
|
|
270
|
+
btnClasses="mt-1"
|
|
271
|
+
on:click={() => {
|
|
272
|
+
s3FilePicker?.open?.(static_asset_config)
|
|
273
|
+
}}
|
|
274
|
+
startIcon={{ icon: Pipette }}
|
|
275
|
+
>
|
|
276
|
+
Choose an object from the catalog
|
|
277
|
+
</Button>
|
|
278
|
+
{/if}
|
|
357
279
|
{:else}
|
|
358
280
|
<FileUpload
|
|
359
281
|
allowMultiple={false}
|
|
@@ -386,7 +308,8 @@ $: validateRoute(route_path, http_method);
|
|
|
386
308
|
allowFlow={true}
|
|
387
309
|
bind:itemKind
|
|
388
310
|
bind:scriptPath={script_path}
|
|
389
|
-
allowRefresh
|
|
311
|
+
allowRefresh={can_write}
|
|
312
|
+
allowEdit={!$userStore?.operator}
|
|
390
313
|
/>
|
|
391
314
|
|
|
392
315
|
{#if script_path === undefined}
|
|
@@ -404,34 +327,46 @@ $: validateRoute(route_path, http_method);
|
|
|
404
327
|
{/if}
|
|
405
328
|
</Section>
|
|
406
329
|
|
|
407
|
-
<Section label="
|
|
330
|
+
<Section label="Advanced">
|
|
408
331
|
<div class="flex flex-col gap-4">
|
|
409
332
|
<div class="flex flex-row justify-between">
|
|
410
|
-
<
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
value={true}
|
|
431
|
-
tooltip="Requires authentication with read access on the route"
|
|
432
|
-
/>
|
|
433
|
-
</ToggleButtonGroup>
|
|
333
|
+
<Label label="Request type" class="w-full">
|
|
334
|
+
<svelte:fragment slot="action">
|
|
335
|
+
<ToggleButtonGroup
|
|
336
|
+
class="w-auto h-full"
|
|
337
|
+
bind:selected={is_async}
|
|
338
|
+
disabled={!can_write}
|
|
339
|
+
>
|
|
340
|
+
<ToggleButton
|
|
341
|
+
label="Async"
|
|
342
|
+
value={true}
|
|
343
|
+
tooltip="The returning value is the uuid of the job assigned to execute the job."
|
|
344
|
+
/>
|
|
345
|
+
<ToggleButton
|
|
346
|
+
label="Sync"
|
|
347
|
+
value={false}
|
|
348
|
+
tooltip="Triggers the execution, wait for the job to complete and return it as a response."
|
|
349
|
+
/>
|
|
350
|
+
</ToggleButtonGroup>
|
|
351
|
+
</svelte:fragment>
|
|
352
|
+
</Label>
|
|
434
353
|
</div>
|
|
354
|
+
<Label label="Authentication" class="w-full">
|
|
355
|
+
<svelte:fragment slot="action">
|
|
356
|
+
<ToggleButtonGroup
|
|
357
|
+
class="w-auto h-full"
|
|
358
|
+
bind:selected={requires_auth}
|
|
359
|
+
disabled={!can_write}
|
|
360
|
+
>
|
|
361
|
+
<ToggleButton label="None" value={false} />
|
|
362
|
+
<ToggleButton
|
|
363
|
+
label="Required"
|
|
364
|
+
value={true}
|
|
365
|
+
tooltip="Requires authentication with read access on the route"
|
|
366
|
+
/>
|
|
367
|
+
</ToggleButtonGroup>
|
|
368
|
+
</svelte:fragment>
|
|
369
|
+
</Label>
|
|
435
370
|
</div>
|
|
436
371
|
</Section>
|
|
437
372
|
</div>
|
|
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
|
|
5
|
-
openNew?: ((nis_flow: boolean, fixedScriptPath_?: string) => Promise<void>) | undefined;
|
|
5
|
+
openNew?: ((nis_flow: boolean, fixedScriptPath_?: string, defaultValues?: Record<string, any>) => Promise<void>) | undefined;
|
|
6
6
|
};
|
|
7
7
|
events: {
|
|
8
8
|
focus: CustomEvent<any>;
|
|
@@ -18,6 +18,6 @@ export type RouteEditorInnerEvents = typeof __propDef.events;
|
|
|
18
18
|
export type RouteEditorInnerSlots = typeof __propDef.slots;
|
|
19
19
|
export default class RouteEditorInner extends SvelteComponent<RouteEditorInnerProps, RouteEditorInnerEvents, RouteEditorInnerSlots> {
|
|
20
20
|
get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
|
|
21
|
-
get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined) => Promise<void>;
|
|
21
|
+
get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined, defaultValues?: Record<string, any> | undefined) => Promise<void>;
|
|
22
22
|
}
|
|
23
23
|
export {};
|
|
@@ -1,18 +1,29 @@
|
|
|
1
|
-
<script>import {
|
|
2
|
-
import { userStore, workspaceStore } from '../../stores';
|
|
1
|
+
<script>import { userStore, workspaceStore } from '../../stores';
|
|
3
2
|
import { HttpTriggerService } from '../../gen';
|
|
4
|
-
import { RouteIcon } from 'lucide-svelte';
|
|
5
3
|
import Skeleton from '../common/skeleton/Skeleton.svelte';
|
|
6
4
|
import RouteEditor from './RouteEditor.svelte';
|
|
7
5
|
import { canWrite } from '../../utils';
|
|
8
6
|
import Alert from '../common/alert/Alert.svelte';
|
|
9
|
-
import { getContext } from 'svelte';
|
|
7
|
+
import { getContext, onMount } from 'svelte';
|
|
8
|
+
import Section from '../Section.svelte';
|
|
9
|
+
import TriggersEditorSection from './TriggersEditorSection.svelte';
|
|
10
|
+
import Description from '../Description.svelte';
|
|
10
11
|
export let isFlow;
|
|
11
12
|
export let path;
|
|
12
13
|
export let newItem = false;
|
|
14
|
+
export let isEditor = false;
|
|
15
|
+
export let canHavePreprocessor = false;
|
|
13
16
|
let routeEditor;
|
|
14
17
|
$: path && loadTriggers();
|
|
15
|
-
const { triggersCount } = getContext('TriggerContext');
|
|
18
|
+
const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext');
|
|
19
|
+
onMount(() => {
|
|
20
|
+
if (defaultValues &&
|
|
21
|
+
$selectedTrigger === 'routes' &&
|
|
22
|
+
Object.keys($defaultValues ?? {}).length > 0) {
|
|
23
|
+
routeEditor.openNew(isFlow, path, $defaultValues);
|
|
24
|
+
defaultValues.set(undefined);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
16
27
|
let httpTriggers = undefined;
|
|
17
28
|
export async function loadTriggers() {
|
|
18
29
|
try {
|
|
@@ -38,57 +49,61 @@ export async function loadTriggers() {
|
|
|
38
49
|
bind:this={routeEditor}
|
|
39
50
|
/>
|
|
40
51
|
|
|
41
|
-
<div class="flex flex-col gap-
|
|
52
|
+
<div class="flex flex-col gap-8">
|
|
53
|
+
<Description link="https://www.windmill.dev/docs/core_concepts/http_routing">
|
|
54
|
+
Routes expose your scripts and flows as HTTP endpoints. Each route can be configured with a
|
|
55
|
+
specific HTTP method and path.
|
|
56
|
+
</Description>
|
|
57
|
+
<TriggersEditorSection
|
|
58
|
+
on:saveTrigger={(e) => {
|
|
59
|
+
routeEditor?.openNew(isFlow, path, e.detail.config)
|
|
60
|
+
}}
|
|
61
|
+
on:applyArgs
|
|
62
|
+
on:addPreprocessor
|
|
63
|
+
cloudDisabled={false}
|
|
64
|
+
triggerType="http"
|
|
65
|
+
{isFlow}
|
|
66
|
+
{path}
|
|
67
|
+
{isEditor}
|
|
68
|
+
{canHavePreprocessor}
|
|
69
|
+
{newItem}
|
|
70
|
+
/>
|
|
42
71
|
{#if !newItem}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
color="light"
|
|
48
|
-
size="xs"
|
|
49
|
-
startIcon={{ icon: RouteIcon }}
|
|
50
|
-
>
|
|
51
|
-
New Route
|
|
52
|
-
</Button>
|
|
53
|
-
{:else}
|
|
54
|
-
<Alert title="Only workspace admins can create routes" type="warning" size="xs" />
|
|
55
|
-
{/if}
|
|
56
|
-
{/if}
|
|
72
|
+
<Section label="Routes">
|
|
73
|
+
{#if !$userStore?.is_admin && !$userStore?.is_super_admin}
|
|
74
|
+
<Alert title="Only workspace admins can create routes" type="warning" size="xs" />
|
|
75
|
+
{/if}
|
|
57
76
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
{#if httpTriggers}
|
|
78
|
+
{#if httpTriggers.length == 0}
|
|
79
|
+
<div class="text-xs text-secondary text-center"> No http routes </div>
|
|
80
|
+
{:else}
|
|
81
|
+
<div class="flex flex-col divide-y pt-2">
|
|
82
|
+
{#each httpTriggers as httpTriggers (httpTriggers.path)}
|
|
83
|
+
<div class="grid grid-cols-5 text-2xs items-center py-2">
|
|
84
|
+
<div class="col-span-2 truncate">{httpTriggers.path}</div>
|
|
85
|
+
<div class="col-span-2 truncate">
|
|
86
|
+
{httpTriggers.http_method.toUpperCase()} /{httpTriggers.route_path}
|
|
87
|
+
</div>
|
|
88
|
+
<div class="flex justify-end">
|
|
89
|
+
<button
|
|
90
|
+
on:click={() => routeEditor?.openEdit(httpTriggers.path, isFlow)}
|
|
91
|
+
class="px-2"
|
|
92
|
+
>
|
|
93
|
+
{#if httpTriggers.canWrite}
|
|
94
|
+
Edit
|
|
95
|
+
{:else}
|
|
96
|
+
View
|
|
97
|
+
{/if}
|
|
98
|
+
</button>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
{/each}
|
|
81
102
|
</div>
|
|
82
|
-
{/
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
{/if}
|
|
88
|
-
|
|
89
|
-
{#if newItem}
|
|
90
|
-
<Alert title="Triggers disabled" type="warning" size="xs">
|
|
91
|
-
Deploy the {isFlow ? 'flow' : 'script'} to add http routes.
|
|
92
|
-
</Alert>
|
|
103
|
+
{/if}
|
|
104
|
+
{:else}
|
|
105
|
+
<Skeleton layout={[[8]]} />
|
|
106
|
+
{/if}
|
|
107
|
+
</Section>
|
|
93
108
|
{/if}
|
|
94
109
|
</div>
|
|
@@ -4,9 +4,14 @@ declare const __propDef: {
|
|
|
4
4
|
isFlow: boolean;
|
|
5
5
|
path: string;
|
|
6
6
|
newItem?: boolean | undefined;
|
|
7
|
+
isEditor?: boolean | undefined;
|
|
8
|
+
canHavePreprocessor?: boolean | undefined;
|
|
7
9
|
loadTriggers?: (() => Promise<void>) | undefined;
|
|
8
10
|
};
|
|
9
11
|
events: {
|
|
12
|
+
applyArgs: any;
|
|
13
|
+
addPreprocessor: any;
|
|
14
|
+
} & {
|
|
10
15
|
[evt: string]: CustomEvent<any>;
|
|
11
16
|
};
|
|
12
17
|
slots: {};
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import Label from '../Label.svelte';
|
|
1
|
+
<script>import Label from '../Label.svelte';
|
|
3
2
|
import { base } from '../../base';
|
|
3
|
+
import Description from '../Description.svelte';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<div class="flex flex-col w-full gap-4 text-sm">
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
size="xs"
|
|
10
|
-
documentationLink="https://www.windmill.dev/docs/flows/flow_trigger"
|
|
11
|
-
>
|
|
12
|
-
Sheduled Poll is a trigger that polls an external API at a given interval. It is useful for
|
|
7
|
+
<Description link="https://www.windmill.dev/docs/flows/flow_trigger">
|
|
8
|
+
Scheduled Poll is a trigger that polls an external API at a given interval. It is useful for
|
|
13
9
|
triggering jobs based on the change of external states. Under the hood, it is a script triggered
|
|
14
10
|
by a schedule, and returning a list of the changed states so we can iterate over them.
|
|
15
|
-
</
|
|
11
|
+
</Description>
|
|
16
12
|
|
|
17
13
|
<Label label="Setting a scheduled poll" primary>
|
|
18
14
|
<ul class="pt-4 space-y-2 text-sm">
|