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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: Record<string, never>;
|
|
4
|
+
events: {
|
|
5
|
+
openTriggers: CustomEvent<any>;
|
|
6
|
+
} & {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type CaptureButtonProps = typeof __propDef.props;
|
|
12
|
+
export type CaptureButtonEvents = typeof __propDef.events;
|
|
13
|
+
export type CaptureButtonSlots = typeof __propDef.slots;
|
|
14
|
+
export default class CaptureButton extends SvelteComponent<CaptureButtonProps, CaptureButtonEvents, CaptureButtonSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { ScanIcon } from 'lucide-svelte'
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<div class="relative">
|
|
6
|
+
<ScanIcon size="14" />
|
|
7
|
+
<div class="absolute inset-0 flex items-center justify-center">
|
|
8
|
+
<svg
|
|
9
|
+
class="text-red-500"
|
|
10
|
+
viewBox="0 0 24 24"
|
|
11
|
+
fill="currentColor"
|
|
12
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
>
|
|
14
|
+
<circle cx="12" cy="12" r="3" />
|
|
15
|
+
</svg>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} CaptureIconProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} CaptureIconEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} CaptureIconSlots */
|
|
4
|
+
export default class CaptureIcon extends SvelteComponent<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {}> {
|
|
9
|
+
}
|
|
10
|
+
export type CaptureIconProps = typeof __propDef.props;
|
|
11
|
+
export type CaptureIconEvents = typeof __propDef.events;
|
|
12
|
+
export type CaptureIconSlots = typeof __propDef.slots;
|
|
13
|
+
import { SvelteComponent } from "svelte";
|
|
14
|
+
declare const __propDef: {
|
|
15
|
+
props: {
|
|
16
|
+
[x: string]: never;
|
|
17
|
+
};
|
|
18
|
+
events: {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
};
|
|
21
|
+
slots: {};
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<script context="module">export {};
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<script>import { slide } from 'svelte/transition';
|
|
5
|
+
import AnimatedButton from '../common/button/AnimatedButton.svelte';
|
|
6
|
+
import Button from '../common/button/Button.svelte';
|
|
7
|
+
import { CircleStop } from 'lucide-svelte';
|
|
8
|
+
import ConnectionIndicator, {} from '../common/alert/ConnectionIndicator.svelte';
|
|
9
|
+
import CaptureTable from './CaptureTable.svelte';
|
|
10
|
+
import { createEventDispatcher } from 'svelte';
|
|
11
|
+
import CaptureIcon from './CaptureIcon.svelte';
|
|
12
|
+
import Tooltip from '../Tooltip.svelte';
|
|
13
|
+
export let disabled;
|
|
14
|
+
export let captureType;
|
|
15
|
+
export let captureInfo;
|
|
16
|
+
export let captureTable;
|
|
17
|
+
const dispatch = createEventDispatcher();
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<div transition:slide class="pb-4">
|
|
21
|
+
<div class="border p-4 rounded-lg">
|
|
22
|
+
<div class="flex flex-col gap-1 mb-4">
|
|
23
|
+
<div class="flex flex-row items-center justify-start gap-1">
|
|
24
|
+
<AnimatedButton animate={captureInfo.active} baseRadius="6px" wrapperClasses="ml-[-2px]">
|
|
25
|
+
<Button
|
|
26
|
+
size="xs2"
|
|
27
|
+
on:click={() => dispatch('captureToggle')}
|
|
28
|
+
variant="border"
|
|
29
|
+
{disabled}
|
|
30
|
+
color="light"
|
|
31
|
+
startIcon={{ icon: captureInfo.active ? CircleStop : CaptureIcon }}
|
|
32
|
+
btnClasses={captureInfo.active ? 'text-blue-500 hover:text-blue-500' : ''}
|
|
33
|
+
>
|
|
34
|
+
{captureInfo.active ? 'Stop' : 'Start capturing'}
|
|
35
|
+
</Button>
|
|
36
|
+
</AnimatedButton>
|
|
37
|
+
|
|
38
|
+
{#if captureInfo.active}
|
|
39
|
+
<ConnectionIndicator connectionInfo={captureInfo.connectionInfo} />
|
|
40
|
+
{:else}
|
|
41
|
+
<Tooltip>
|
|
42
|
+
Start capturing to test your runnables with real data. Once active, all incoming
|
|
43
|
+
payloads will be captured and displayed below, allowing you to test your runnables
|
|
44
|
+
effectively.
|
|
45
|
+
</Tooltip>
|
|
46
|
+
{/if}
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
{#if disabled}
|
|
50
|
+
<div class="text-sm font-normal text-red-600 dark:text-red-400" transition:slide>
|
|
51
|
+
Enter a valid configuration to start capturing.
|
|
52
|
+
</div>
|
|
53
|
+
{/if}
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
{#if $$slots.default}
|
|
57
|
+
<div class:opacity-50={disabled || !captureInfo.active} class="flex flex-col gap-4 mb-4">
|
|
58
|
+
<slot />
|
|
59
|
+
</div>
|
|
60
|
+
{/if}
|
|
61
|
+
|
|
62
|
+
<CaptureTable
|
|
63
|
+
bind:this={captureTable}
|
|
64
|
+
{captureType}
|
|
65
|
+
hasPreprocessor={captureInfo.hasPreprocessor}
|
|
66
|
+
canHavePreprocessor={captureInfo.canHavePreprocessor}
|
|
67
|
+
isFlow={captureInfo.isFlow}
|
|
68
|
+
path={captureInfo.path}
|
|
69
|
+
canEdit={true}
|
|
70
|
+
on:applyArgs
|
|
71
|
+
on:updateSchema
|
|
72
|
+
on:addPreprocessor
|
|
73
|
+
maxHeight={300}
|
|
74
|
+
/>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
export type CaptureInfo = {
|
|
3
|
+
active: boolean;
|
|
4
|
+
hasPreprocessor: boolean;
|
|
5
|
+
canHavePreprocessor: boolean;
|
|
6
|
+
isFlow: boolean;
|
|
7
|
+
path: string;
|
|
8
|
+
connectionInfo: ConnectionInfo | undefined;
|
|
9
|
+
};
|
|
10
|
+
import { type ConnectionInfo } from '../common/alert/ConnectionIndicator.svelte';
|
|
11
|
+
import CaptureTable from './CaptureTable.svelte';
|
|
12
|
+
declare const __propDef: {
|
|
13
|
+
props: {
|
|
14
|
+
disabled: boolean;
|
|
15
|
+
captureType: CaptureTriggerKind;
|
|
16
|
+
captureInfo: CaptureInfo;
|
|
17
|
+
captureTable: CaptureTable | undefined;
|
|
18
|
+
};
|
|
19
|
+
events: {
|
|
20
|
+
applyArgs: CustomEvent<{
|
|
21
|
+
kind: "main" | "preprocessor";
|
|
22
|
+
args: Record<string, any> | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
updateSchema: CustomEvent<{
|
|
25
|
+
schema: any;
|
|
26
|
+
redirect: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
addPreprocessor: CustomEvent<null>;
|
|
29
|
+
captureToggle: CustomEvent<undefined>;
|
|
30
|
+
} & {
|
|
31
|
+
[evt: string]: CustomEvent<any>;
|
|
32
|
+
};
|
|
33
|
+
slots: {
|
|
34
|
+
default: {};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type CaptureSectionProps = typeof __propDef.props;
|
|
38
|
+
export type CaptureSectionEvents = typeof __propDef.events;
|
|
39
|
+
export type CaptureSectionSlots = typeof __propDef.slots;
|
|
40
|
+
export default class CaptureSection extends SvelteComponent<CaptureSectionProps, CaptureSectionEvents, CaptureSectionSlots> {
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
<script>import Label from '../Label.svelte';
|
|
2
|
+
import { Clipboard, Info, Trash2, Plus } from 'lucide-svelte';
|
|
3
|
+
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
4
|
+
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
5
|
+
import { copyToClipboard } from '../../utils';
|
|
6
|
+
import Button from '../common/button/Button.svelte';
|
|
7
|
+
import CustomPopover from '../CustomPopover.svelte';
|
|
8
|
+
import { convert } from '@redocly/json-to-json-schema';
|
|
9
|
+
import SchemaViewer from '../SchemaViewer.svelte';
|
|
10
|
+
import { isObject } from '../../utils';
|
|
11
|
+
import { createEventDispatcher } from 'svelte';
|
|
12
|
+
import {} from '../triggers';
|
|
13
|
+
import { CaptureService } from '../../gen';
|
|
14
|
+
import { workspaceStore } from '../../stores';
|
|
15
|
+
import {} from '../../gen';
|
|
16
|
+
import { captureTriggerKindToTriggerKind } from '../triggers';
|
|
17
|
+
import { twMerge } from 'tailwind-merge';
|
|
18
|
+
import { slide } from 'svelte/transition';
|
|
19
|
+
export let path;
|
|
20
|
+
export let hasPreprocessor = false;
|
|
21
|
+
export let canHavePreprocessor = false;
|
|
22
|
+
export let isFlow = false;
|
|
23
|
+
export let captureType = 'webhook';
|
|
24
|
+
export let headless = false;
|
|
25
|
+
export let addButton = false;
|
|
26
|
+
export let hideCapturesWhenEmpty = false;
|
|
27
|
+
export let canEdit = false;
|
|
28
|
+
export let maxHeight = undefined;
|
|
29
|
+
let captures = [];
|
|
30
|
+
let testKind = 'main';
|
|
31
|
+
$: hasPreprocessor && (testKind = 'preprocessor');
|
|
32
|
+
let deleteLoading = null;
|
|
33
|
+
async function deleteCapture(id) {
|
|
34
|
+
deleteLoading = id;
|
|
35
|
+
try {
|
|
36
|
+
await CaptureService.deleteCapture({
|
|
37
|
+
workspace: $workspaceStore,
|
|
38
|
+
id
|
|
39
|
+
});
|
|
40
|
+
refreshCaptures();
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
deleteLoading = null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const dispatch = createEventDispatcher();
|
|
47
|
+
export async function refreshCaptures() {
|
|
48
|
+
captures = await CaptureService.listCaptures({
|
|
49
|
+
workspace: $workspaceStore,
|
|
50
|
+
runnableKind: isFlow ? 'flow' : 'script',
|
|
51
|
+
path,
|
|
52
|
+
triggerKind: captureType !== 'all' ? captureType : undefined
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
refreshCaptures();
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
{#if captures.length > 0 || !hideCapturesWhenEmpty}
|
|
59
|
+
<Label
|
|
60
|
+
label="Captures"
|
|
61
|
+
{headless}
|
|
62
|
+
class={twMerge(
|
|
63
|
+
'flex flex-col h-full divide-y gap-1',
|
|
64
|
+
maxHeight ? `max-h-[${maxHeight}px]` : ''
|
|
65
|
+
)}
|
|
66
|
+
>
|
|
67
|
+
<svelte:fragment slot="header">
|
|
68
|
+
{#if addButton && captureType !== 'all'}
|
|
69
|
+
<Button
|
|
70
|
+
size="xs2"
|
|
71
|
+
color="light"
|
|
72
|
+
variant="contained"
|
|
73
|
+
iconOnly
|
|
74
|
+
startIcon={{ icon: Plus }}
|
|
75
|
+
on:click={() => {
|
|
76
|
+
if (captureType !== 'all') {
|
|
77
|
+
dispatch('openTriggers', {
|
|
78
|
+
kind: captureTriggerKindToTriggerKind(captureType),
|
|
79
|
+
config: {}
|
|
80
|
+
})
|
|
81
|
+
}
|
|
82
|
+
}}
|
|
83
|
+
/>
|
|
84
|
+
{/if}
|
|
85
|
+
</svelte:fragment>
|
|
86
|
+
<svelte:fragment slot="action">
|
|
87
|
+
{#if canHavePreprocessor}
|
|
88
|
+
<div>
|
|
89
|
+
<ToggleButtonGroup bind:selected={testKind} class="h-full">
|
|
90
|
+
<ToggleButton value="main" label={isFlow ? 'Flow' : 'Main'} small />
|
|
91
|
+
<ToggleButton
|
|
92
|
+
value="preprocessor"
|
|
93
|
+
label="Preprocessor"
|
|
94
|
+
small
|
|
95
|
+
tooltip="When the runnable has a preprocessor, it receives additional information about the request"
|
|
96
|
+
/>
|
|
97
|
+
</ToggleButtonGroup>
|
|
98
|
+
</div>
|
|
99
|
+
{/if}
|
|
100
|
+
</svelte:fragment>
|
|
101
|
+
<div class="flex flex-col gap-1 pt-2 grow overflow-y-auto">
|
|
102
|
+
{#if captures.length === 0}
|
|
103
|
+
<div class="text-xs text-secondary">
|
|
104
|
+
{captureType === 'all' ? 'No captures yet' : `No ${captureType} captures yet`}
|
|
105
|
+
</div>
|
|
106
|
+
{:else}
|
|
107
|
+
{#each captures as capture}
|
|
108
|
+
{@const payload = isObject(capture.payload) ? capture.payload : {}}
|
|
109
|
+
{@const triggerExtra = isObject(capture.trigger_extra) ? capture.trigger_extra : {}}
|
|
110
|
+
{@const payloadData =
|
|
111
|
+
testKind === 'preprocessor'
|
|
112
|
+
? {
|
|
113
|
+
...payload,
|
|
114
|
+
...triggerExtra
|
|
115
|
+
}
|
|
116
|
+
: payload}
|
|
117
|
+
{@const schema =
|
|
118
|
+
isFlow && testKind === 'main'
|
|
119
|
+
? { required: [], properties: {}, ...convert(payloadData) }
|
|
120
|
+
: {}}
|
|
121
|
+
<div class="flex flex-row gap-1" transition:slide>
|
|
122
|
+
<div class="text-xs border p-2 rounded-md overflow-auto grow whitespace-nowrap">
|
|
123
|
+
{JSON.stringify(payloadData)}
|
|
124
|
+
</div>
|
|
125
|
+
<Button
|
|
126
|
+
size="xs2"
|
|
127
|
+
color="light"
|
|
128
|
+
variant="border"
|
|
129
|
+
on:click={() => {
|
|
130
|
+
copyToClipboard(JSON.stringify(payloadData))
|
|
131
|
+
}}
|
|
132
|
+
iconOnly
|
|
133
|
+
startIcon={{ icon: Clipboard }}
|
|
134
|
+
/>
|
|
135
|
+
|
|
136
|
+
{#if isFlow && testKind === 'main'}
|
|
137
|
+
<CustomPopover>
|
|
138
|
+
<Button
|
|
139
|
+
size="xs"
|
|
140
|
+
color="light"
|
|
141
|
+
variant="border"
|
|
142
|
+
on:click={() => {
|
|
143
|
+
dispatch('updateSchema', { schema, redirect: true })
|
|
144
|
+
}}
|
|
145
|
+
wrapperClasses="h-full"
|
|
146
|
+
>
|
|
147
|
+
Apply schema
|
|
148
|
+
</Button>
|
|
149
|
+
|
|
150
|
+
<svelte:fragment slot="overlay">
|
|
151
|
+
{#if schema}
|
|
152
|
+
<div class="min-w-[400px]">
|
|
153
|
+
<SchemaViewer {schema} />
|
|
154
|
+
</div>
|
|
155
|
+
{/if}
|
|
156
|
+
</svelte:fragment>
|
|
157
|
+
</CustomPopover>
|
|
158
|
+
{/if}
|
|
159
|
+
|
|
160
|
+
{#if testKind === 'preprocessor' && !hasPreprocessor}
|
|
161
|
+
<CustomPopover noPadding>
|
|
162
|
+
<Button
|
|
163
|
+
size="xs"
|
|
164
|
+
color="dark"
|
|
165
|
+
disabled
|
|
166
|
+
endIcon={{
|
|
167
|
+
icon: Info
|
|
168
|
+
}}
|
|
169
|
+
wrapperClasses="h-full"
|
|
170
|
+
>
|
|
171
|
+
Apply args
|
|
172
|
+
</Button>
|
|
173
|
+
<svelte:fragment slot="overlay">
|
|
174
|
+
<div class="text-sm p-2 flex flex-col gap-1 items-start">
|
|
175
|
+
<p>You need to add a preprocessor to use preprocessor captures as args</p>
|
|
176
|
+
<Button
|
|
177
|
+
size="xs"
|
|
178
|
+
color="dark"
|
|
179
|
+
on:click={() => {
|
|
180
|
+
dispatch('addPreprocessor')
|
|
181
|
+
}}
|
|
182
|
+
>
|
|
183
|
+
Add preprocessor
|
|
184
|
+
</Button>
|
|
185
|
+
</div>
|
|
186
|
+
</svelte:fragment>
|
|
187
|
+
</CustomPopover>
|
|
188
|
+
{:else}
|
|
189
|
+
<Button
|
|
190
|
+
size="xs"
|
|
191
|
+
color="dark"
|
|
192
|
+
on:click={() => {
|
|
193
|
+
if (isFlow && testKind === 'main') {
|
|
194
|
+
dispatch('updateSchema', { schema, redirect: false })
|
|
195
|
+
}
|
|
196
|
+
dispatch('applyArgs', {
|
|
197
|
+
kind: testKind,
|
|
198
|
+
args: payloadData
|
|
199
|
+
})
|
|
200
|
+
}}
|
|
201
|
+
disabled={testKind === 'preprocessor' && !hasPreprocessor}
|
|
202
|
+
>
|
|
203
|
+
{isFlow && testKind === 'main' ? 'Apply schema and args' : 'Apply args'}
|
|
204
|
+
</Button>
|
|
205
|
+
{/if}
|
|
206
|
+
|
|
207
|
+
{#if canEdit}
|
|
208
|
+
<Button
|
|
209
|
+
size="xs2"
|
|
210
|
+
color="red"
|
|
211
|
+
iconOnly
|
|
212
|
+
startIcon={{ icon: Trash2 }}
|
|
213
|
+
loading={deleteLoading === capture.id}
|
|
214
|
+
on:click={() => {
|
|
215
|
+
deleteCapture(capture.id)
|
|
216
|
+
}}
|
|
217
|
+
/>
|
|
218
|
+
{/if}
|
|
219
|
+
</div>
|
|
220
|
+
{/each}
|
|
221
|
+
{/if}
|
|
222
|
+
</div>
|
|
223
|
+
</Label>
|
|
224
|
+
{/if}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type TriggerKind } from '../triggers';
|
|
3
|
+
import { type CaptureTriggerKind } from '../../gen';
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
path: string;
|
|
7
|
+
hasPreprocessor?: boolean | undefined;
|
|
8
|
+
canHavePreprocessor?: boolean | undefined;
|
|
9
|
+
isFlow?: boolean | undefined;
|
|
10
|
+
captureType?: CaptureTriggerKind | 'all';
|
|
11
|
+
headless?: boolean | undefined;
|
|
12
|
+
addButton?: boolean | undefined;
|
|
13
|
+
hideCapturesWhenEmpty?: boolean | undefined;
|
|
14
|
+
canEdit?: boolean | undefined;
|
|
15
|
+
maxHeight?: number | undefined;
|
|
16
|
+
refreshCaptures?: (() => Promise<void>) | undefined;
|
|
17
|
+
};
|
|
18
|
+
events: {
|
|
19
|
+
openTriggers: CustomEvent<{
|
|
20
|
+
kind: TriggerKind;
|
|
21
|
+
config: Record<string, any>;
|
|
22
|
+
}>;
|
|
23
|
+
applyArgs: CustomEvent<{
|
|
24
|
+
kind: 'main' | 'preprocessor';
|
|
25
|
+
args: Record<string, any> | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
addPreprocessor: CustomEvent<null>;
|
|
28
|
+
updateSchema: CustomEvent<{
|
|
29
|
+
schema: any;
|
|
30
|
+
redirect: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
} & {
|
|
33
|
+
[evt: string]: CustomEvent<any>;
|
|
34
|
+
};
|
|
35
|
+
slots: {};
|
|
36
|
+
};
|
|
37
|
+
export type CaptureTableProps = typeof __propDef.props;
|
|
38
|
+
export type CaptureTableEvents = typeof __propDef.events;
|
|
39
|
+
export type CaptureTableSlots = typeof __propDef.slots;
|
|
40
|
+
export default class CaptureTable extends SvelteComponent<CaptureTableProps, CaptureTableEvents, CaptureTableSlots> {
|
|
41
|
+
get refreshCaptures(): () => Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
<script>import { workspaceStore } from '../../stores';
|
|
2
|
+
import { CaptureService } from '../../gen';
|
|
3
|
+
import { onDestroy } from 'svelte';
|
|
4
|
+
import { capitalize, isObject, sendUserToast, sleep } from '../../utils';
|
|
5
|
+
import { isCloudHosted } from '../../cloud';
|
|
6
|
+
import Alert from '../common/alert/Alert.svelte';
|
|
7
|
+
import RouteEditorConfigSection from './RouteEditorConfigSection.svelte';
|
|
8
|
+
import WebsocketEditorConfigSection from './WebsocketEditorConfigSection.svelte';
|
|
9
|
+
import WebhooksConfigSection from './WebhooksConfigSection.svelte';
|
|
10
|
+
import EmailTriggerConfigSection from '../details/EmailTriggerConfigSection.svelte';
|
|
11
|
+
import KafkaTriggersConfigSection from './KafkaTriggersConfigSection.svelte';
|
|
12
|
+
import CaptureTable from './CaptureTable.svelte';
|
|
13
|
+
export let isFlow;
|
|
14
|
+
export let path;
|
|
15
|
+
export let hasPreprocessor;
|
|
16
|
+
export let canHavePreprocessor;
|
|
17
|
+
export let captureType = 'webhook';
|
|
18
|
+
export let showCapture = false;
|
|
19
|
+
export let data = {};
|
|
20
|
+
export let connectionInfo = undefined;
|
|
21
|
+
export let args = {};
|
|
22
|
+
export let captureTable = undefined;
|
|
23
|
+
export async function setConfig() {
|
|
24
|
+
await CaptureService.setCaptureConfig({
|
|
25
|
+
requestBody: {
|
|
26
|
+
trigger_kind: captureType,
|
|
27
|
+
path,
|
|
28
|
+
is_flow: isFlow,
|
|
29
|
+
trigger_config: args && Object.keys(args).length > 0 ? args : undefined
|
|
30
|
+
},
|
|
31
|
+
workspace: $workspaceStore
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
let captureActive = false;
|
|
35
|
+
let captureConfigs = {};
|
|
36
|
+
async function getCaptureConfigs() {
|
|
37
|
+
const captureConfigsList = await CaptureService.getCaptureConfigs({
|
|
38
|
+
workspace: $workspaceStore,
|
|
39
|
+
runnableKind: isFlow ? 'flow' : 'script',
|
|
40
|
+
path
|
|
41
|
+
});
|
|
42
|
+
captureConfigs = captureConfigsList.reduce((acc, c) => {
|
|
43
|
+
acc[c.trigger_kind] = c;
|
|
44
|
+
return acc;
|
|
45
|
+
}, {});
|
|
46
|
+
if ((captureType === 'websocket' || captureType === 'kafka') && captureActive) {
|
|
47
|
+
const config = captureConfigs[captureType];
|
|
48
|
+
if (config && config.error) {
|
|
49
|
+
const serverEnabled = getServerEnabled(config);
|
|
50
|
+
if (!serverEnabled) {
|
|
51
|
+
sendUserToast('Capture was stopped because of error: ' + config.error, true);
|
|
52
|
+
captureActive = false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return captureConfigs;
|
|
57
|
+
}
|
|
58
|
+
getCaptureConfigs().then((captureConfigs) => setDefaultArgs(captureConfigs));
|
|
59
|
+
async function capture() {
|
|
60
|
+
let i = 0;
|
|
61
|
+
captureActive = true;
|
|
62
|
+
while (captureActive) {
|
|
63
|
+
if (i % 3 === 0) {
|
|
64
|
+
await CaptureService.pingCaptureConfig({
|
|
65
|
+
workspace: $workspaceStore,
|
|
66
|
+
triggerKind: captureType,
|
|
67
|
+
runnableKind: isFlow ? 'flow' : 'script',
|
|
68
|
+
path
|
|
69
|
+
});
|
|
70
|
+
await getCaptureConfigs();
|
|
71
|
+
}
|
|
72
|
+
captureTable?.refreshCaptures();
|
|
73
|
+
i++;
|
|
74
|
+
await sleep(1000);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function setDefaultArgs(captureConfigs) {
|
|
78
|
+
if (captureType in captureConfigs) {
|
|
79
|
+
const triggerConfig = captureConfigs[captureType].trigger_config;
|
|
80
|
+
args = isObject(triggerConfig) ? triggerConfig : {};
|
|
81
|
+
}
|
|
82
|
+
else if (captureType === 'kafka') {
|
|
83
|
+
args = {
|
|
84
|
+
...args,
|
|
85
|
+
brokers: [''],
|
|
86
|
+
topics: [''],
|
|
87
|
+
group_id: `windmill_consumer-${$workspaceStore}-${path.replaceAll('/', '__')}`
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
else if (captureType === 'http') {
|
|
91
|
+
args = {
|
|
92
|
+
route_path: '',
|
|
93
|
+
http_method: 'post'
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
args = {};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
onDestroy(() => {
|
|
101
|
+
captureActive = false;
|
|
102
|
+
});
|
|
103
|
+
function getServerEnabled(config) {
|
|
104
|
+
return (!!config.last_server_ping &&
|
|
105
|
+
new Date(config.last_server_ping).getTime() > new Date().getTime() - 15 * 1000);
|
|
106
|
+
}
|
|
107
|
+
export async function handleCapture() {
|
|
108
|
+
if (!captureActive) {
|
|
109
|
+
await setConfig();
|
|
110
|
+
capture();
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
captureActive = false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
let config;
|
|
117
|
+
$: config = captureConfigs[captureType];
|
|
118
|
+
let cloudDisabled = (captureType === 'websocket' || captureType === 'kafka') && isCloudHosted();
|
|
119
|
+
function updateConnectionInfo(config, captureActive) {
|
|
120
|
+
if ((captureType === 'websocket' || captureType === 'kafka') && config && captureActive) {
|
|
121
|
+
const serverEnabled = getServerEnabled(config);
|
|
122
|
+
const connected = serverEnabled && !config.error;
|
|
123
|
+
const message = connected
|
|
124
|
+
? `${capitalize(captureType)} is connected`
|
|
125
|
+
: `${capitalize(captureType)} is not connected${config.error ? ': ' + config.error : ''}`;
|
|
126
|
+
connectionInfo = {
|
|
127
|
+
connected,
|
|
128
|
+
message
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
connectionInfo = undefined;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
$: updateConnectionInfo(config, captureActive);
|
|
136
|
+
let captureInfo;
|
|
137
|
+
$: captureInfo = {
|
|
138
|
+
active: captureActive,
|
|
139
|
+
hasPreprocessor,
|
|
140
|
+
canHavePreprocessor,
|
|
141
|
+
isFlow,
|
|
142
|
+
path,
|
|
143
|
+
connectionInfo
|
|
144
|
+
};
|
|
145
|
+
$: args && (captureActive = false);
|
|
146
|
+
</script>
|
|
147
|
+
|
|
148
|
+
<div class="flex flex-col gap-4 w-full">
|
|
149
|
+
{#if cloudDisabled}
|
|
150
|
+
<Alert title="Not compatible with multi-tenant cloud" type="warning" size="xs">
|
|
151
|
+
{capitalize(captureType)} triggers are disabled in the multi-tenant cloud.
|
|
152
|
+
</Alert>
|
|
153
|
+
{:else if captureType === 'websocket'}
|
|
154
|
+
<WebsocketEditorConfigSection
|
|
155
|
+
can_write={true}
|
|
156
|
+
headless={true}
|
|
157
|
+
bind:url={args.url}
|
|
158
|
+
bind:url_runnable_args={args.url_runnable_args}
|
|
159
|
+
{showCapture}
|
|
160
|
+
{captureInfo}
|
|
161
|
+
bind:captureTable
|
|
162
|
+
on:applyArgs
|
|
163
|
+
on:updateSchema
|
|
164
|
+
on:addPreprocessor
|
|
165
|
+
on:captureToggle={() => {
|
|
166
|
+
handleCapture()
|
|
167
|
+
}}
|
|
168
|
+
/>
|
|
169
|
+
{:else if captureType === 'webhook'}
|
|
170
|
+
<WebhooksConfigSection
|
|
171
|
+
{isFlow}
|
|
172
|
+
{path}
|
|
173
|
+
hash={data?.hash}
|
|
174
|
+
token={data?.token}
|
|
175
|
+
{args}
|
|
176
|
+
scopes={data?.scopes}
|
|
177
|
+
{showCapture}
|
|
178
|
+
{captureInfo}
|
|
179
|
+
bind:captureTable
|
|
180
|
+
on:applyArgs
|
|
181
|
+
on:updateSchema
|
|
182
|
+
on:addPreprocessor
|
|
183
|
+
on:captureToggle={() => {
|
|
184
|
+
handleCapture()
|
|
185
|
+
}}
|
|
186
|
+
/>
|
|
187
|
+
{:else if captureType === 'http'}
|
|
188
|
+
<RouteEditorConfigSection
|
|
189
|
+
{showCapture}
|
|
190
|
+
can_write={true}
|
|
191
|
+
bind:route_path={args.route_path}
|
|
192
|
+
bind:http_method={args.http_method}
|
|
193
|
+
headless
|
|
194
|
+
{captureInfo}
|
|
195
|
+
bind:captureTable
|
|
196
|
+
on:applyArgs
|
|
197
|
+
on:updateSchema
|
|
198
|
+
on:addPreprocessor
|
|
199
|
+
on:captureToggle={() => {
|
|
200
|
+
handleCapture()
|
|
201
|
+
}}
|
|
202
|
+
/>
|
|
203
|
+
{:else if captureType === 'email'}
|
|
204
|
+
<EmailTriggerConfigSection
|
|
205
|
+
hash={data?.hash}
|
|
206
|
+
token={data?.token}
|
|
207
|
+
{path}
|
|
208
|
+
{isFlow}
|
|
209
|
+
userSettings={data?.userSettings}
|
|
210
|
+
emailDomain={data?.emailDomain}
|
|
211
|
+
{showCapture}
|
|
212
|
+
{captureInfo}
|
|
213
|
+
bind:captureTable
|
|
214
|
+
on:applyArgs
|
|
215
|
+
on:updateSchema
|
|
216
|
+
on:addPreprocessor
|
|
217
|
+
on:captureToggle={() => {
|
|
218
|
+
handleCapture()
|
|
219
|
+
}}
|
|
220
|
+
/>
|
|
221
|
+
{:else if captureType === 'kafka'}
|
|
222
|
+
<KafkaTriggersConfigSection
|
|
223
|
+
headless={true}
|
|
224
|
+
bind:args
|
|
225
|
+
staticInputDisabled={false}
|
|
226
|
+
{showCapture}
|
|
227
|
+
{captureInfo}
|
|
228
|
+
bind:captureTable
|
|
229
|
+
on:applyArgs
|
|
230
|
+
on:updateSchema
|
|
231
|
+
on:addPreprocessor
|
|
232
|
+
on:captureToggle={() => {
|
|
233
|
+
handleCapture()
|
|
234
|
+
}}
|
|
235
|
+
/>
|
|
236
|
+
{/if}
|
|
237
|
+
</div>
|