windmill-components 1.444.2 → 1.447.4
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/autosize.js +1 -1
- package/package/components/AppConnectInner.svelte +2 -1
- package/package/components/ArgInput.svelte +37 -24
- package/package/components/CapturesInputs.svelte +16 -0
- package/package/components/CapturesInputs.svelte.d.ts +21 -0
- package/package/components/Dev.svelte +7 -1
- package/package/components/EditableSchemaForm.svelte +369 -290
- package/package/components/EditableSchemaForm.svelte.d.ts +12 -2
- package/package/components/Editor.svelte +5 -7
- package/package/components/FirstStepInputs.svelte +111 -0
- package/package/components/FirstStepInputs.svelte.d.ts +17 -0
- package/package/components/FlowBuilder.svelte +28 -7
- package/package/components/FlowPreviewContent.svelte +72 -1
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -0
- package/package/components/GfmMarkdown.svelte +93 -2
- package/package/components/HighlightCode.svelte +2 -0
- package/package/components/HistoricInputs.svelte +193 -0
- package/package/components/HistoricInputs.svelte.d.ts +20 -0
- package/package/components/InfiniteList.svelte +161 -0
- package/package/components/InfiniteList.svelte.d.ts +40 -0
- package/package/components/LightweightArgInput.svelte +19 -15
- package/package/components/MoveDrawer.svelte +2 -1
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourcePicker.svelte +2 -1
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/SaveInputsButton.svelte +53 -0
- package/package/components/SaveInputsButton.svelte.d.ts +24 -0
- package/package/components/SavedInputs.svelte +33 -61
- package/package/components/SavedInputsPicker.svelte +264 -0
- package/package/components/SavedInputsPicker.svelte.d.ts +20 -0
- package/package/components/ScheduleEditorInner.svelte +0 -1
- package/package/components/SchemaForm.svelte +22 -3
- package/package/components/ScriptBuilder.svelte +595 -562
- package/package/components/ScriptEditor.svelte +10 -3
- package/package/components/ScriptEditor.svelte.d.ts +5 -2
- package/package/components/ScriptSchema.svelte +1 -2
- package/package/components/Section.svelte +6 -4
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SimpleEditor.svelte +39 -7
- package/package/components/SimpleEditor.svelte.d.ts +1 -4
- package/package/components/StringTypeNarrowing.svelte +3 -1
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/WorkerGroup.svelte +2 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/editor/component/default-codes.d.ts +1 -1
- package/package/components/apps/editor/component/default-codes.js +10 -10
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +2 -1
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/common/button/Button.svelte +10 -52
- package/package/components/common/button/PulseButton.svelte +81 -0
- package/package/components/common/button/PulseButton.svelte.d.ts +34 -0
- package/package/components/common/button/RoundIconButton.svelte +11 -0
- package/package/components/common/button/RoundIconButton.svelte.d.ts +19 -0
- package/package/components/common/button/model.d.ts +1 -0
- package/package/components/common/button/model.js +47 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -1
- package/package/components/common/fileUpload/FileUpload.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
- package/package/components/common/layout/List.svelte +10 -4
- package/package/components/common/layout/List.svelte.d.ts +1 -0
- package/package/components/common/tabs/Tab.svelte +14 -1
- package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
- package/package/components/copilot/ScriptGen.svelte +1 -1
- package/package/components/copilot/lib.js +1 -1
- package/package/components/copilot/prompts/edit.yaml +1 -1
- package/package/components/copilot/prompts/editPrompt.js +1 -1
- package/package/components/copilot/prompts/fix.yaml +1 -1
- package/package/components/copilot/prompts/fixPrompt.js +1 -1
- package/package/components/copilot/prompts/gen.yaml +1 -1
- package/package/components/copilot/prompts/genPrompt.js +1 -1
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/details/DetailPageDetailPanel.svelte +20 -19
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +4 -1
- package/package/components/details/DetailPageLayout.svelte +4 -1
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/DetailPageTriggerPanel.svelte +84 -63
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +1 -1
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +2 -1
- package/package/components/details/EmailTriggerPanel.svelte +2 -0
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +2 -0
- package/package/components/flows/FlowEditor.svelte +8 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/common/FlowCard.svelte +12 -6
- package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +15 -9
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +449 -98
- package/package/components/flows/content/FlowInput.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInputEditor.svelte +46 -0
- package/package/components/flows/content/FlowInputEditor.svelte.d.ts +25 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
- package/package/components/flows/content/FlowLoop.svelte +192 -194
- package/package/components/flows/content/FlowModuleComponent.svelte +372 -382
- package/package/components/flows/content/FlowModuleMock.svelte +6 -7
- package/package/components/flows/content/FlowPathViewer.svelte +2 -1
- package/package/components/flows/content/FlowSettings.svelte +25 -3
- package/package/components/flows/content/FlowWhileLoop.svelte +97 -99
- package/package/components/flows/flowStore.d.ts +13 -0
- package/package/components/flows/flowStore.js +41 -0
- package/package/components/flows/header/FlowPreviewButtons.svelte +10 -4
- package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +4 -2
- package/package/components/flows/header/FlowYamlEditor.svelte +3 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +8 -58
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +67 -0
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +24 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
- package/package/components/flows/pickers/FlowScriptPicker.svelte +1 -1
- package/package/components/flows/previousResults.d.ts +1 -1
- package/package/components/flows/previousResults.js +7 -2
- package/package/components/flows/types.d.ts +7 -0
- package/package/components/flows/utils.d.ts +1 -0
- package/package/components/flows/utils.js +3 -0
- package/package/components/graph/graphBuilder.js +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +22 -8
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
- package/package/components/icons/NatsIcon.svelte +19 -0
- package/package/components/icons/NatsIcon.svelte.d.ts +18 -0
- package/package/components/icons/OracleDBIcon.svelte +15 -0
- package/package/components/icons/OracleDBIcon.svelte.d.ts +25 -0
- package/package/components/icons/index.d.ts +7 -1
- package/package/components/icons/index.js +8 -2
- package/package/components/meltComponents/ButtonDropDown.svelte +32 -0
- package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +27 -0
- package/package/components/meltComponents/Popover.svelte +7 -4
- package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
- package/package/components/runs/RunsFilter.svelte +2 -2
- package/package/components/schema/AddPropertyFormV2.svelte +46 -0
- package/package/components/schema/AddPropertyFormV2.svelte.d.ts +18 -0
- package/package/components/schema/AddPropertyV2.svelte +151 -0
- package/package/components/schema/AddPropertyV2.svelte.d.ts +25 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +17 -8
- package/package/components/schema/EditableSchemaWrapper.svelte +58 -14
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
- package/package/components/schema/FlowPropertyEditor.svelte +8 -3
- package/package/components/schema/JobSchemaPicker.svelte +32 -0
- package/package/components/schema/JobSchemaPicker.svelte.d.ts +19 -0
- package/package/components/schema/PropertyEditor.svelte +9 -1
- package/package/components/schema/RunningJobSchemaPicker.svelte +67 -0
- package/package/components/schema/RunningJobSchemaPicker.svelte.d.ts +21 -0
- package/package/components/schema/SchemaFormDND.svelte +1 -1
- package/package/components/schema/SchemaPicker.svelte +92 -0
- package/package/components/schema/SchemaPicker.svelte.d.ts +23 -0
- package/package/components/schema/SchemaPickerRow.svelte +95 -0
- package/package/components/schema/SchemaPickerRow.svelte.d.ts +22 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -1
- package/package/components/settings/ChangeWorkspaceColor.svelte +103 -0
- package/package/components/settings/ChangeWorkspaceColor.svelte.d.ts +16 -0
- package/package/components/settings/ChangeWorkspaceId.svelte +1 -0
- package/package/components/settings/ChangeWorkspaceName.svelte +4 -0
- package/package/components/sidebar/MenuButton.svelte +5 -2
- package/package/components/sidebar/MenuButton.svelte.d.ts +1 -0
- package/package/components/sidebar/SidebarContent.svelte +8 -0
- package/package/components/sidebar/WorkspaceMenu.svelte +40 -21
- package/package/components/table/DataTable.svelte +43 -3
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +11 -1
- package/package/components/table/Row.svelte.d.ts +3 -0
- package/package/components/table/index.d.ts +3 -0
- package/package/components/table/index.js +3 -0
- package/package/components/triggers/CaptureButton.svelte +38 -4
- package/package/components/triggers/CaptureButton.svelte.d.ts +3 -1
- package/package/components/triggers/CaptureIcon.svelte +7 -4
- package/package/components/triggers/CaptureIcon.svelte.d.ts +7 -13
- package/package/components/triggers/CaptureSection.svelte +50 -17
- package/package/components/triggers/CaptureSection.svelte.d.ts +5 -3
- package/package/components/triggers/CaptureTable.svelte +239 -186
- package/package/components/triggers/CaptureTable.svelte.d.ts +9 -11
- package/package/components/triggers/CaptureWrapper.svelte +126 -109
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +3 -1
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +1 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +16 -4
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +3 -1
- package/package/components/triggers/KafkaTriggersPanel.svelte +2 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +2 -0
- package/package/components/triggers/NatsTriggerEditor.svelte +19 -0
- package/package/components/triggers/NatsTriggerEditor.svelte.d.ts +21 -0
- package/package/components/triggers/NatsTriggerEditorInner.svelte +239 -0
- package/package/components/triggers/NatsTriggerEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/NatsTriggersConfigSection.svelte +276 -0
- package/package/components/triggers/NatsTriggersConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/NatsTriggersPanel.svelte +126 -0
- package/package/components/triggers/NatsTriggersPanel.svelte.d.ts +26 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte +12 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +5 -1
- package/package/components/triggers/RouteEditorInner.svelte +5 -0
- package/package/components/triggers/RoutesPanel.svelte +4 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersEditor.svelte +146 -97
- package/package/components/triggers/TriggersEditor.svelte.d.ts +2 -0
- package/package/components/triggers/TriggersEditorSection.svelte +19 -13
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersWrapper.svelte +7 -3
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +2 -1
- package/package/components/triggers/WebhooksConfigSection.svelte +1 -0
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/WebhooksPanel.svelte +2 -0
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +2 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +3 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +2 -1
- package/package/components/triggers/WebsocketTriggersPanel.svelte +2 -0
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +2 -0
- package/package/components/triggers.d.ts +2 -1
- package/package/components/triggers.js +2 -0
- package/package/components/vscode.js +12 -8
- package/package/consts.d.ts +1 -0
- package/package/consts.js +18 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +207 -13
- package/package/gen/schemas.gen.js +207 -13
- package/package/gen/services.gen.d.ts +118 -10
- package/package/gen/services.gen.js +237 -17
- package/package/gen/types.gen.d.ts +400 -40
- package/package/hubPaths.json +2 -1
- package/package/infer.js +11 -2
- package/package/monaco_workers/build_workers.js +39 -37
- package/package/monaco_workers/graphql.worker.bundle.js +18371 -36513
- package/package/script_helpers.d.ts +5 -2
- package/package/script_helpers.js +46 -8
- package/package/scripts.js +4 -0
- package/package/stores.d.ts +2 -1
- package/package/stores.js +2 -1
- package/package.json +14 -16
- package/package/monaco_workers/graphql.worker.bundle.d.ts +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
isFlow: boolean;
|
|
5
|
+
path: string;
|
|
6
|
+
newItem?: boolean | undefined;
|
|
7
|
+
isEditor?: boolean | undefined;
|
|
8
|
+
canHavePreprocessor?: boolean | undefined;
|
|
9
|
+
hasPreprocessor?: boolean | undefined;
|
|
10
|
+
loadTriggers?: (() => Promise<void>) | undefined;
|
|
11
|
+
};
|
|
12
|
+
events: {
|
|
13
|
+
applyArgs: any;
|
|
14
|
+
addPreprocessor: any;
|
|
15
|
+
} & {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
};
|
|
18
|
+
slots: {};
|
|
19
|
+
};
|
|
20
|
+
export type NatsTriggersPanelProps = typeof __propDef.props;
|
|
21
|
+
export type NatsTriggersPanelEvents = typeof __propDef.events;
|
|
22
|
+
export type NatsTriggersPanelSlots = typeof __propDef.slots;
|
|
23
|
+
export default class NatsTriggersPanel extends SvelteComponent<NatsTriggersPanelProps, NatsTriggersPanelEvents, NatsTriggersPanelSlots> {
|
|
24
|
+
get loadTriggers(): () => Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -14,6 +14,9 @@ import { base } from '../../base';
|
|
|
14
14
|
import CaptureSection from './CaptureSection.svelte';
|
|
15
15
|
import CaptureTable from './CaptureTable.svelte';
|
|
16
16
|
import ClipboardPanel from '../details/ClipboardPanel.svelte';
|
|
17
|
+
export let isFlow;
|
|
18
|
+
export let path;
|
|
19
|
+
export let args = { route_path: '', http_method: 'get' };
|
|
17
20
|
export let dirtyRoutePath = false;
|
|
18
21
|
export let route_path = '';
|
|
19
22
|
export let http_method = 'post';
|
|
@@ -53,12 +56,18 @@ async function routeExists(route_path, method) {
|
|
|
53
56
|
}
|
|
54
57
|
});
|
|
55
58
|
}
|
|
59
|
+
$: captureURL = `${location.origin}${base}/api/w/${$workspaceStore}/capture_u/http/${isFlow ? 'flow' : 'script'}/${path.replaceAll('/', '.')}/${route_path}`;
|
|
56
60
|
function getHttpRoute(route_path) {
|
|
57
61
|
return `${location.origin}${base}/api/r/${isCloudHosted() ? $workspaceStore + '/' : ''}${route_path}`;
|
|
58
62
|
}
|
|
59
63
|
$: validateRoute(route_path, http_method);
|
|
60
64
|
$: isValid = routeError === '';
|
|
61
65
|
$: fullRoute = getHttpRoute(route_path);
|
|
66
|
+
$: showCapture && (http_method = 'post');
|
|
67
|
+
function updateArgs(route_path, http_method) {
|
|
68
|
+
args && ((args.route_path = route_path), (args.http_method = http_method));
|
|
69
|
+
}
|
|
70
|
+
$: updateArgs(route_path, http_method);
|
|
62
71
|
</script>
|
|
63
72
|
|
|
64
73
|
<div>
|
|
@@ -71,17 +80,18 @@ $: fullRoute = getHttpRoute(route_path);
|
|
|
71
80
|
on:applyArgs
|
|
72
81
|
on:updateSchema
|
|
73
82
|
on:addPreprocessor
|
|
83
|
+
on:testWithArgs
|
|
74
84
|
bind:captureTable
|
|
75
85
|
>
|
|
76
86
|
<Label label="URL">
|
|
77
|
-
<ClipboardPanel content={
|
|
87
|
+
<ClipboardPanel content={captureURL} disabled={!captureInfo.active} />
|
|
78
88
|
</Label>
|
|
79
89
|
|
|
80
90
|
<Label label="Example cUrl">
|
|
81
91
|
<CopyableCodeBlock
|
|
82
92
|
disabled={!captureInfo.active}
|
|
83
93
|
code={`curl \\
|
|
84
|
-
-X POST ${
|
|
94
|
+
-X POST ${captureURL} \\
|
|
85
95
|
-H 'Content-Type: application/json' \\
|
|
86
96
|
-d '{"foo": 42}'`}
|
|
87
97
|
language={bash}
|
|
@@ -3,6 +3,9 @@ import type { CaptureInfo } from './CaptureSection.svelte';
|
|
|
3
3
|
import CaptureTable from './CaptureTable.svelte';
|
|
4
4
|
declare const __propDef: {
|
|
5
5
|
props: {
|
|
6
|
+
isFlow: boolean;
|
|
7
|
+
path: string;
|
|
8
|
+
args?: Record<string, any> | undefined;
|
|
6
9
|
dirtyRoutePath?: boolean | undefined;
|
|
7
10
|
route_path?: string | undefined;
|
|
8
11
|
http_method?: "get" | "post" | "put" | "delete" | "patch" | undefined;
|
|
@@ -26,10 +29,11 @@ declare const __propDef: {
|
|
|
26
29
|
args: Record<string, any> | undefined;
|
|
27
30
|
}>;
|
|
28
31
|
updateSchema: CustomEvent<{
|
|
29
|
-
|
|
32
|
+
payloadData: Record<string, any>;
|
|
30
33
|
redirect: boolean;
|
|
31
34
|
}>;
|
|
32
35
|
addPreprocessor: CustomEvent<null>;
|
|
36
|
+
testWithArgs: CustomEvent<any>;
|
|
33
37
|
} & {
|
|
34
38
|
[evt: string]: CustomEvent<any>;
|
|
35
39
|
};
|
|
@@ -149,6 +149,8 @@ async function triggerScript() {
|
|
|
149
149
|
}
|
|
150
150
|
let drawer;
|
|
151
151
|
let dirtyPath = false;
|
|
152
|
+
let args = { route_path: '' };
|
|
153
|
+
$: args && (route_path = args.route_path);
|
|
152
154
|
</script>
|
|
153
155
|
|
|
154
156
|
{#if static_asset_config}
|
|
@@ -203,7 +205,10 @@ let dirtyPath = false;
|
|
|
203
205
|
</div>
|
|
204
206
|
|
|
205
207
|
<RouteEditorConfigSection
|
|
208
|
+
isFlow={is_flow}
|
|
209
|
+
{path}
|
|
206
210
|
bind:route_path
|
|
211
|
+
bind:args
|
|
207
212
|
bind:isValid
|
|
208
213
|
bind:dirtyRoutePath
|
|
209
214
|
bind:http_method
|
|
@@ -13,6 +13,7 @@ export let path;
|
|
|
13
13
|
export let newItem = false;
|
|
14
14
|
export let isEditor = false;
|
|
15
15
|
export let canHavePreprocessor = false;
|
|
16
|
+
export let hasPreprocessor = false;
|
|
16
17
|
let routeEditor;
|
|
17
18
|
$: path && loadTriggers();
|
|
18
19
|
const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext');
|
|
@@ -60,12 +61,15 @@ export async function loadTriggers() {
|
|
|
60
61
|
}}
|
|
61
62
|
on:applyArgs
|
|
62
63
|
on:addPreprocessor
|
|
64
|
+
on:updateSchema
|
|
65
|
+
on:testWithArgs
|
|
63
66
|
cloudDisabled={false}
|
|
64
67
|
triggerType="http"
|
|
65
68
|
{isFlow}
|
|
66
69
|
{path}
|
|
67
70
|
{isEditor}
|
|
68
71
|
{canHavePreprocessor}
|
|
72
|
+
{hasPreprocessor}
|
|
69
73
|
{newItem}
|
|
70
74
|
/>
|
|
71
75
|
{#if !newItem}
|
|
@@ -6,11 +6,14 @@ declare const __propDef: {
|
|
|
6
6
|
newItem?: boolean | undefined;
|
|
7
7
|
isEditor?: boolean | undefined;
|
|
8
8
|
canHavePreprocessor?: boolean | undefined;
|
|
9
|
+
hasPreprocessor?: boolean | undefined;
|
|
9
10
|
loadTriggers?: (() => Promise<void>) | undefined;
|
|
10
11
|
};
|
|
11
12
|
events: {
|
|
12
13
|
applyArgs: any;
|
|
13
14
|
addPreprocessor: any;
|
|
15
|
+
updateSchema: any;
|
|
16
|
+
testWithArgs: any;
|
|
14
17
|
} & {
|
|
15
18
|
[evt: string]: CustomEvent<any>;
|
|
16
19
|
};
|
|
@@ -11,6 +11,10 @@ import { getContext, onDestroy, createEventDispatcher } from 'svelte';
|
|
|
11
11
|
import WebsocketTriggersPanel from './WebsocketTriggersPanel.svelte';
|
|
12
12
|
import ScheduledPollPanel from './ScheduledPollPanel.svelte';
|
|
13
13
|
import KafkaTriggersPanel from './KafkaTriggersPanel.svelte';
|
|
14
|
+
import NatsTriggersPanel from './NatsTriggersPanel.svelte';
|
|
15
|
+
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
16
|
+
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
17
|
+
import { KafkaIcon, NatsIcon } from '../icons';
|
|
14
18
|
export let noEditor;
|
|
15
19
|
export let newItem = false;
|
|
16
20
|
export let currentPath;
|
|
@@ -20,6 +24,12 @@ export let schema;
|
|
|
20
24
|
export let isFlow;
|
|
21
25
|
export let canHavePreprocessor = false;
|
|
22
26
|
export let hasPreprocessor = false;
|
|
27
|
+
let eventStreamType = 'kafka';
|
|
28
|
+
$: {
|
|
29
|
+
if ($selectedTrigger === 'kafka' || $selectedTrigger === 'nats') {
|
|
30
|
+
eventStreamType = $selectedTrigger;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
23
33
|
const { selectedTrigger, simplifiedPoll } = getContext('TriggerContext');
|
|
24
34
|
const dispatch = createEventDispatcher();
|
|
25
35
|
onDestroy(() => {
|
|
@@ -29,106 +39,145 @@ onDestroy(() => {
|
|
|
29
39
|
|
|
30
40
|
<FlowCard {noEditor} title="Triggers">
|
|
31
41
|
{#if !$simplifiedPoll}
|
|
32
|
-
<
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
<div class="h-full flex flex-col">
|
|
43
|
+
<Tabs bind:selected={$selectedTrigger} wrapperClass="overflow-hidden shrink-0">
|
|
44
|
+
<Tab value="webhooks" selectedClass="text-primary font-semibold">Webhooks</Tab>
|
|
45
|
+
<Tab value="schedules" selectedClass="text-primary text-sm font-semibold">Schedules</Tab>
|
|
46
|
+
<Tab value="routes" selectedClass="text-primary text-sm font-semibold">HTTP</Tab>
|
|
47
|
+
<Tab value="websockets" selectedClass="text-primary text-sm font-semibold">Websockets</Tab>
|
|
48
|
+
<Tab
|
|
49
|
+
value="kafka"
|
|
50
|
+
otherValues={['nats']}
|
|
51
|
+
selectedClass="text-primary text-sm font-semibold"
|
|
42
52
|
>
|
|
43
|
-
|
|
53
|
+
Event streams
|
|
54
|
+
</Tab>
|
|
55
|
+
<Tab value="emails" selectedClass="text-primary text-sm font-semibold">Email</Tab>
|
|
56
|
+
{#if isFlow}
|
|
57
|
+
<Tab value="scheduledPoll" selectedClass="text-primary text-sm font-semibold"
|
|
58
|
+
>Scheduled Poll</Tab
|
|
59
|
+
>
|
|
60
|
+
{/if}
|
|
44
61
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
62
|
+
<svelte:fragment slot="content">
|
|
63
|
+
<div class="min-h-0 grow overflow-y-auto">
|
|
64
|
+
{#if $selectedTrigger === 'webhooks'}
|
|
65
|
+
<div class="p-4">
|
|
66
|
+
<WebhooksPanel
|
|
67
|
+
on:applyArgs
|
|
68
|
+
on:addPreprocessor
|
|
69
|
+
on:updateSchema
|
|
70
|
+
on:testWithArgs
|
|
71
|
+
scopes={isFlow ? [`run:flow/${currentPath}`] : [`run:script/${currentPath}`]}
|
|
72
|
+
path={currentPath}
|
|
73
|
+
{hash}
|
|
74
|
+
{isFlow}
|
|
75
|
+
args={{}}
|
|
76
|
+
token=""
|
|
77
|
+
{newItem}
|
|
78
|
+
isEditor={true}
|
|
79
|
+
{canHavePreprocessor}
|
|
80
|
+
{hasPreprocessor}
|
|
81
|
+
/>
|
|
82
|
+
</div>
|
|
83
|
+
{:else if $selectedTrigger === 'emails'}
|
|
84
|
+
<div class="p-4">
|
|
85
|
+
<EmailTriggerPanel
|
|
86
|
+
on:applyArgs
|
|
87
|
+
on:addPreprocessor
|
|
88
|
+
on:updateSchema
|
|
89
|
+
on:testWithArgs
|
|
90
|
+
token=""
|
|
91
|
+
scopes={isFlow ? [`run:flow/${currentPath}`] : [`run:script/${currentPath}`]}
|
|
92
|
+
path={currentPath}
|
|
93
|
+
{isFlow}
|
|
94
|
+
isEditor={true}
|
|
95
|
+
{canHavePreprocessor}
|
|
96
|
+
{hasPreprocessor}
|
|
97
|
+
{newItem}
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
100
|
+
{:else if $selectedTrigger === 'routes'}
|
|
101
|
+
<div class="p-4">
|
|
102
|
+
<RoutesPanel
|
|
103
|
+
on:applyArgs
|
|
104
|
+
on:addPreprocessor
|
|
105
|
+
on:updateSchema
|
|
106
|
+
on:testWithArgs
|
|
107
|
+
{newItem}
|
|
108
|
+
path={currentPath}
|
|
109
|
+
{isFlow}
|
|
110
|
+
isEditor={true}
|
|
111
|
+
{canHavePreprocessor}
|
|
112
|
+
{hasPreprocessor}
|
|
113
|
+
/>
|
|
114
|
+
</div>
|
|
115
|
+
{:else if $selectedTrigger === 'websockets'}
|
|
116
|
+
<div class="p-4">
|
|
117
|
+
<WebsocketTriggersPanel
|
|
118
|
+
on:applyArgs
|
|
119
|
+
on:addPreprocessor
|
|
120
|
+
on:updateSchema
|
|
121
|
+
on:testWithArgs
|
|
122
|
+
{newItem}
|
|
123
|
+
path={currentPath}
|
|
124
|
+
{isFlow}
|
|
125
|
+
isEditor={true}
|
|
126
|
+
{canHavePreprocessor}
|
|
127
|
+
{hasPreprocessor}
|
|
128
|
+
/>
|
|
129
|
+
</div>
|
|
130
|
+
{:else if $selectedTrigger === 'kafka' || $selectedTrigger === 'nats'}
|
|
131
|
+
<div class="p-4 flex flex-col gap-2">
|
|
132
|
+
<ToggleButtonGroup bind:selected={eventStreamType}>
|
|
133
|
+
<ToggleButton value="kafka" label="Kafka" icon={KafkaIcon} />
|
|
134
|
+
<ToggleButton value="nats" label="NATS" icon={NatsIcon} />
|
|
135
|
+
</ToggleButtonGroup>
|
|
136
|
+
{#if eventStreamType === 'kafka'}
|
|
137
|
+
<KafkaTriggersPanel
|
|
138
|
+
on:applyArgs
|
|
139
|
+
on:addPreprocessor
|
|
140
|
+
on:updateSchema
|
|
141
|
+
on:testWithArgs
|
|
142
|
+
{newItem}
|
|
143
|
+
path={currentPath}
|
|
144
|
+
{isFlow}
|
|
145
|
+
isEditor={true}
|
|
146
|
+
{canHavePreprocessor}
|
|
147
|
+
{hasPreprocessor}
|
|
148
|
+
/>
|
|
149
|
+
{:else if eventStreamType === 'nats'}
|
|
150
|
+
<NatsTriggersPanel
|
|
151
|
+
on:applyArgs
|
|
152
|
+
on:addPreprocessor
|
|
153
|
+
{newItem}
|
|
154
|
+
path={currentPath}
|
|
155
|
+
{isFlow}
|
|
156
|
+
isEditor={true}
|
|
157
|
+
{canHavePreprocessor}
|
|
158
|
+
{hasPreprocessor}
|
|
159
|
+
/>
|
|
160
|
+
{/if}
|
|
161
|
+
</div>
|
|
162
|
+
{:else if $selectedTrigger === 'schedules'}
|
|
163
|
+
<div class="p-4">
|
|
164
|
+
<RunPageSchedules
|
|
165
|
+
{schema}
|
|
166
|
+
{isFlow}
|
|
167
|
+
path={initialPath}
|
|
168
|
+
{newItem}
|
|
169
|
+
can_write={canWrite(currentPath, {}, $userStore)}
|
|
170
|
+
/>
|
|
171
|
+
</div>
|
|
172
|
+
{:else if $selectedTrigger === 'scheduledPoll'}
|
|
173
|
+
<div class="p-4">
|
|
174
|
+
<ScheduledPollPanel />
|
|
175
|
+
</div>
|
|
176
|
+
{/if}
|
|
114
177
|
</div>
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
{schema}
|
|
119
|
-
{isFlow}
|
|
120
|
-
path={initialPath}
|
|
121
|
-
{newItem}
|
|
122
|
-
can_write={canWrite(currentPath, {}, $userStore)}
|
|
123
|
-
/>
|
|
124
|
-
</div>
|
|
125
|
-
{:else if $selectedTrigger === 'scheduledPoll'}
|
|
126
|
-
<div class="p-4">
|
|
127
|
-
<ScheduledPollPanel />
|
|
128
|
-
</div>
|
|
129
|
-
{/if}
|
|
130
|
-
</svelte:fragment>
|
|
131
|
-
</Tabs>
|
|
178
|
+
</svelte:fragment>
|
|
179
|
+
</Tabs>
|
|
180
|
+
</div>
|
|
132
181
|
{:else}
|
|
133
182
|
<div class="px-4 pb-2">
|
|
134
183
|
<RunPageSchedules
|
|
@@ -23,12 +23,22 @@ const captureTypeLabels = {
|
|
|
23
23
|
websocket: 'New websocket trigger',
|
|
24
24
|
webhook: 'Webhook',
|
|
25
25
|
kafka: 'New kafka trigger',
|
|
26
|
-
email: 'Email trigger'
|
|
26
|
+
email: 'Email trigger',
|
|
27
|
+
nats: 'NATS trigger'
|
|
27
28
|
};
|
|
28
29
|
const { captureOn } = getContext('TriggerContext');
|
|
29
30
|
let args = {};
|
|
30
31
|
const dispatch = createEventDispatcher();
|
|
31
|
-
|
|
32
|
+
let showCapture = false;
|
|
33
|
+
let init = false;
|
|
34
|
+
$: updateShowCapture(!!$captureOn);
|
|
35
|
+
function updateShowCapture(show) {
|
|
36
|
+
if (show && !init) {
|
|
37
|
+
$captureOn = undefined;
|
|
38
|
+
showCapture = true;
|
|
39
|
+
init = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
32
42
|
</script>
|
|
33
43
|
|
|
34
44
|
<Section label={captureTypeLabels[triggerType]}>
|
|
@@ -38,16 +48,16 @@ const { flowStore, selectedId } = getContext('FlowEditorContext') || {};
|
|
|
38
48
|
<Button
|
|
39
49
|
size="xs2"
|
|
40
50
|
on:click={() => {
|
|
41
|
-
|
|
51
|
+
showCapture = !showCapture
|
|
42
52
|
}}
|
|
43
53
|
variant="border"
|
|
44
54
|
color="light"
|
|
45
55
|
endIcon={{
|
|
46
56
|
icon: ChevronDown,
|
|
47
|
-
classes: twMerge('transition',
|
|
57
|
+
classes: twMerge('transition', showCapture ? 'rotate-180' : '')
|
|
48
58
|
}}
|
|
49
59
|
>
|
|
50
|
-
|
|
60
|
+
Test trigger
|
|
51
61
|
</Button>
|
|
52
62
|
{/if}
|
|
53
63
|
|
|
@@ -59,6 +69,7 @@ const { flowStore, selectedId } = getContext('FlowEditorContext') || {};
|
|
|
59
69
|
{disabled}
|
|
60
70
|
startIcon={{ icon: Save }}
|
|
61
71
|
on:click={() => {
|
|
72
|
+
console.log('saveTrigger', args)
|
|
62
73
|
dispatch('saveTrigger', {
|
|
63
74
|
config: args
|
|
64
75
|
})
|
|
@@ -91,17 +102,12 @@ const { flowStore, selectedId } = getContext('FlowEditorContext') || {};
|
|
|
91
102
|
{canHavePreprocessor}
|
|
92
103
|
on:applyArgs
|
|
93
104
|
on:addPreprocessor
|
|
94
|
-
on:updateSchema
|
|
95
|
-
const { schema, redirect } = e.detail
|
|
96
|
-
$flowStore.schema = schema
|
|
97
|
-
if (redirect) {
|
|
98
|
-
$selectedId = 'Input'
|
|
99
|
-
}
|
|
100
|
-
}}
|
|
105
|
+
on:updateSchema
|
|
101
106
|
on:saveTrigger
|
|
107
|
+
on:testWithArgs
|
|
102
108
|
bind:args
|
|
103
109
|
{data}
|
|
104
|
-
showCapture
|
|
110
|
+
{showCapture}
|
|
105
111
|
/>
|
|
106
112
|
{:else}
|
|
107
113
|
<TriggersWrapper {path} {isFlow} {triggerType} {cloudDisabled} {args} {data} />
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type CaptureTriggerKind } from '../../gen';
|
|
2
3
|
declare const __propDef: {
|
|
3
4
|
props: {
|
|
4
5
|
cloudDisabled: boolean;
|
|
@@ -15,7 +16,9 @@ declare const __propDef: {
|
|
|
15
16
|
events: {
|
|
16
17
|
applyArgs: any;
|
|
17
18
|
addPreprocessor: any;
|
|
19
|
+
updateSchema: any;
|
|
18
20
|
saveTrigger: CustomEvent<any>;
|
|
21
|
+
testWithArgs: any;
|
|
19
22
|
} & {
|
|
20
23
|
[evt: string]: CustomEvent<any>;
|
|
21
24
|
};
|
|
@@ -6,6 +6,7 @@ import WebsocketEditorConfigSection from './WebsocketEditorConfigSection.svelte'
|
|
|
6
6
|
import WebhooksConfigSection from './WebhooksConfigSection.svelte';
|
|
7
7
|
import EmailTriggerConfigSection from '../details/EmailTriggerConfigSection.svelte';
|
|
8
8
|
import KafkaTriggersConfigSection from './KafkaTriggersConfigSection.svelte';
|
|
9
|
+
import NatsTriggersConfigSection from './NatsTriggersConfigSection.svelte';
|
|
9
10
|
export let triggerType = 'webhook';
|
|
10
11
|
export let cloudDisabled = false;
|
|
11
12
|
export let args;
|
|
@@ -41,9 +42,10 @@ export let data = {};
|
|
|
41
42
|
<RouteEditorConfigSection
|
|
42
43
|
showCapture={false}
|
|
43
44
|
can_write={true}
|
|
44
|
-
bind:
|
|
45
|
-
bind:http_method={args.http_method}
|
|
45
|
+
bind:args
|
|
46
46
|
headless
|
|
47
|
+
{isFlow}
|
|
48
|
+
{path}
|
|
47
49
|
/>
|
|
48
50
|
{:else if triggerType === 'email'}
|
|
49
51
|
<EmailTriggerConfigSection
|
|
@@ -55,6 +57,8 @@ export let data = {};
|
|
|
55
57
|
emailDomain={data?.emailDomain}
|
|
56
58
|
/>
|
|
57
59
|
{:else if triggerType === 'kafka'}
|
|
58
|
-
<KafkaTriggersConfigSection headless={true} bind:args staticInputDisabled={false} />
|
|
60
|
+
<KafkaTriggersConfigSection headless={true} bind:args staticInputDisabled={false} {path} />
|
|
61
|
+
{:else if triggerType === 'nats'}
|
|
62
|
+
<NatsTriggersConfigSection headless={true} bind:args staticInputDisabled={false} {path} />
|
|
59
63
|
{/if}
|
|
60
64
|
</div>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type CaptureTriggerKind } from '../../gen';
|
|
2
3
|
declare const __propDef: {
|
|
3
4
|
props: {
|
|
4
|
-
triggerType?:
|
|
5
|
+
triggerType?: CaptureTriggerKind | undefined;
|
|
5
6
|
cloudDisabled?: boolean | undefined;
|
|
6
7
|
args: any;
|
|
7
8
|
isFlow?: boolean | undefined;
|
|
@@ -22,10 +22,11 @@ declare const __propDef: {
|
|
|
22
22
|
args: Record<string, any> | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
updateSchema: CustomEvent<{
|
|
25
|
-
|
|
25
|
+
payloadData: Record<string, any>;
|
|
26
26
|
redirect: boolean;
|
|
27
27
|
}>;
|
|
28
28
|
addPreprocessor: CustomEvent<null>;
|
|
29
|
+
testWithArgs: CustomEvent<any>;
|
|
29
30
|
} & {
|
|
30
31
|
[evt: string]: CustomEvent<any>;
|
|
31
32
|
};
|
|
@@ -59,7 +59,7 @@ function validateUrl(url) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
else if (!url || /^(ws:|wss:)\/\/[^\s]+$/.test(url) === false) {
|
|
62
|
-
urlError = '
|
|
62
|
+
urlError = 'Websocket URL must start with ws:// or wss://';
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
urlError = '';
|
|
@@ -81,6 +81,7 @@ $: isValid = urlError === '' && (!url?.startsWith('$') || areRunnableArgsValid);
|
|
|
81
81
|
on:applyArgs
|
|
82
82
|
on:updateSchema
|
|
83
83
|
on:addPreprocessor
|
|
84
|
+
on:testWithArgs
|
|
84
85
|
bind:captureTable
|
|
85
86
|
/>
|
|
86
87
|
{/if}
|
|
@@ -162,6 +163,7 @@ $: isValid = urlError === '' && (!url?.startsWith('$') || areRunnableArgsValid);
|
|
|
162
163
|
on:input={() => {
|
|
163
164
|
dirtyUrl = true
|
|
164
165
|
}}
|
|
166
|
+
placeholder="ws://example.com"
|
|
165
167
|
class={urlError === ''
|
|
166
168
|
? ''
|
|
167
169
|
: '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'}
|
|
@@ -20,10 +20,11 @@ declare const __propDef: {
|
|
|
20
20
|
args: Record<string, any> | undefined;
|
|
21
21
|
}>;
|
|
22
22
|
updateSchema: CustomEvent<{
|
|
23
|
-
|
|
23
|
+
payloadData: Record<string, any>;
|
|
24
24
|
redirect: boolean;
|
|
25
25
|
}>;
|
|
26
26
|
addPreprocessor: CustomEvent<null>;
|
|
27
|
+
testWithArgs: CustomEvent<any>;
|
|
27
28
|
} & {
|
|
28
29
|
[evt: string]: CustomEvent<any>;
|
|
29
30
|
};
|