windmill-components 1.444.2 → 1.447.5
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
|
@@ -19,6 +19,7 @@ import { emptyString } from '../utils';
|
|
|
19
19
|
import Popup from './common/popup/Popup.svelte';
|
|
20
20
|
import SchemaFormDnd from './schema/SchemaFormDND.svelte';
|
|
21
21
|
import { deepEqual } from 'fast-equals';
|
|
22
|
+
import { tweened } from 'svelte/motion';
|
|
22
23
|
export let schema;
|
|
23
24
|
export let schemaSkippedValues = [];
|
|
24
25
|
export let args = {};
|
|
@@ -28,12 +29,15 @@ export let flexWrap = false;
|
|
|
28
29
|
export let uiOnly = false;
|
|
29
30
|
export let isFlowInput = false;
|
|
30
31
|
export let noPreview = false;
|
|
31
|
-
export let offset = 48 + 31 + 31 + 16 + 1;
|
|
32
32
|
export let jsonEnabled = true;
|
|
33
33
|
export let isAppInput = false;
|
|
34
34
|
export let lightweightMode = false;
|
|
35
35
|
export let displayWebhookWarning = false;
|
|
36
36
|
export let dndType = undefined;
|
|
37
|
+
export let editTab;
|
|
38
|
+
export let previewSchema = undefined;
|
|
39
|
+
export let editPanelInitialSize = undefined;
|
|
40
|
+
export let editPanelSize = 0;
|
|
37
41
|
const dispatch = createEventDispatcher();
|
|
38
42
|
let clazz = '';
|
|
39
43
|
export { clazz as class };
|
|
@@ -113,13 +117,16 @@ export function deleteField(key) {
|
|
|
113
117
|
schema.order = schema.order.filter((x) => x !== key);
|
|
114
118
|
}
|
|
115
119
|
}
|
|
116
|
-
$:
|
|
120
|
+
$: opened && updateSelected(schema.properties[opened]);
|
|
121
|
+
function updateSelected(property) {
|
|
122
|
+
if (!property)
|
|
123
|
+
return;
|
|
117
124
|
selected = opened
|
|
118
|
-
?
|
|
119
|
-
?
|
|
120
|
-
:
|
|
125
|
+
? property.type !== 'object'
|
|
126
|
+
? property.type
|
|
127
|
+
: property.format === 'resource-s3_object'
|
|
121
128
|
? 'S3'
|
|
122
|
-
:
|
|
129
|
+
: property.oneOf && property.oneOf.length >= 2
|
|
123
130
|
? 'oneOf'
|
|
124
131
|
: 'object'
|
|
125
132
|
: '';
|
|
@@ -160,15 +167,58 @@ let jsonView = false;
|
|
|
160
167
|
let schemaString = JSON.stringify(schema, null, '\t');
|
|
161
168
|
let error = undefined;
|
|
162
169
|
let editor = undefined;
|
|
170
|
+
const editTabDefaultSize = noPreview ? 100 : 50;
|
|
171
|
+
editPanelSize = editTab ? editPanelInitialSize ?? editTabDefaultSize : 0;
|
|
172
|
+
let inputPanelSize = 100 - editPanelSize;
|
|
173
|
+
let editPanelSizeSmooth = tweened(editPanelSize, {
|
|
174
|
+
duration: 150
|
|
175
|
+
});
|
|
176
|
+
let inputPanelSizeSmooth = tweened(inputPanelSize, { duration: 150 });
|
|
177
|
+
function openEditTab() {
|
|
178
|
+
if (editPanelSize > 0)
|
|
179
|
+
return;
|
|
180
|
+
editPanelSizeSmooth.set(editTabDefaultSize);
|
|
181
|
+
inputPanelSizeSmooth.set(100 - editTabDefaultSize);
|
|
182
|
+
}
|
|
183
|
+
function closeEditTab() {
|
|
184
|
+
editPanelSizeSmooth.set(0);
|
|
185
|
+
inputPanelSizeSmooth.set(100);
|
|
186
|
+
}
|
|
187
|
+
function updatePanelSizes(editSize, inputSize) {
|
|
188
|
+
editPanelSize = editSize;
|
|
189
|
+
inputPanelSize = inputSize;
|
|
190
|
+
dispatch('editPanelSizeChanged', editSize);
|
|
191
|
+
}
|
|
192
|
+
$: updatePanelSizes($editPanelSizeSmooth, $inputPanelSizeSmooth);
|
|
193
|
+
$: !!editTab ? openEditTab() : closeEditTab();
|
|
194
|
+
let pannelButtonWidth = 0;
|
|
195
|
+
export let pannelExtraButtonWidth = 0;
|
|
163
196
|
</script>
|
|
164
197
|
|
|
165
|
-
<div
|
|
166
|
-
<
|
|
198
|
+
<div class="w-full h-full">
|
|
199
|
+
<div class="relative z-[100000]">
|
|
200
|
+
<div
|
|
201
|
+
class="absolute"
|
|
202
|
+
style="right: calc({editPanelSize}% - 2px - {pannelExtraButtonWidth}px); top: 0px;"
|
|
203
|
+
bind:clientWidth={pannelButtonWidth}
|
|
204
|
+
>
|
|
205
|
+
<slot name="openEditTab" />
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
<Splitpanes class="splitter-hidden w-full">
|
|
167
209
|
{#if !noPreview}
|
|
168
|
-
<Pane size={
|
|
169
|
-
<div class="
|
|
210
|
+
<Pane bind:size={inputPanelSize} minSize={20}>
|
|
211
|
+
<div class="flex flex-col pr-2 gap-2">
|
|
212
|
+
{#if $$slots.addProperty}
|
|
213
|
+
<div class="w-full justify-left pr-2">
|
|
214
|
+
<div style={`width: calc(100% - ${pannelButtonWidth - pannelExtraButtonWidth}px);`}>
|
|
215
|
+
<slot name="addProperty" />
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
{/if}
|
|
219
|
+
|
|
170
220
|
<SchemaFormDnd
|
|
171
|
-
{schema}
|
|
221
|
+
schema={previewSchema ? previewSchema : schema}
|
|
172
222
|
{dndType}
|
|
173
223
|
bind:args
|
|
174
224
|
on:click={(e) => {
|
|
@@ -185,314 +235,336 @@ let editor = undefined;
|
|
|
185
235
|
}}
|
|
186
236
|
{lightweightMode}
|
|
187
237
|
prettifyHeader={isAppInput}
|
|
238
|
+
disabled={!!previewSchema}
|
|
188
239
|
/>
|
|
240
|
+
|
|
241
|
+
<slot name="runButton" />
|
|
189
242
|
</div>
|
|
190
243
|
</Pane>
|
|
191
244
|
{/if}
|
|
192
|
-
<Pane size={noPreview ? 100 : 50} minSize={noPreview ? 100 : 20}>
|
|
193
|
-
{#if jsonEnabled}
|
|
194
|
-
<div class="w-full p-2 flex justify-end">
|
|
195
|
-
<Toggle
|
|
196
|
-
bind:checked={jsonView}
|
|
197
|
-
label="JSON View"
|
|
198
|
-
size="xs"
|
|
199
|
-
options={{
|
|
200
|
-
right: 'JSON editor',
|
|
201
|
-
rightTooltip:
|
|
202
|
-
'Arguments can be edited either using the wizard, or by editing their JSON Schema.'
|
|
203
|
-
}}
|
|
204
|
-
lightMode
|
|
205
|
-
on:change={() => {
|
|
206
|
-
schemaString = JSON.stringify(schema, null, '\t')
|
|
207
|
-
editor?.setCode(schemaString)
|
|
208
|
-
}}
|
|
209
|
-
/>
|
|
210
|
-
</div>
|
|
211
|
-
{/if}
|
|
212
245
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
<svelte:fragment slot="button">
|
|
243
|
-
<Button
|
|
244
|
-
color="light"
|
|
245
|
-
size="xs2"
|
|
246
|
-
nonCaptureEvent
|
|
247
|
-
startIcon={{ icon: Pen }}
|
|
248
|
-
iconOnly
|
|
249
|
-
/>
|
|
250
|
-
</svelte:fragment>
|
|
251
|
-
<Label label="Name">
|
|
252
|
-
<div class="flex flex-col gap-2">
|
|
253
|
-
<input
|
|
254
|
-
type="text"
|
|
255
|
-
class="w-full !bg-surface"
|
|
256
|
-
value={argName}
|
|
257
|
-
id={argName + i}
|
|
258
|
-
on:keydown={(event) => {
|
|
259
|
-
if (event.key === 'Enter') {
|
|
260
|
-
renameProperty(argName, argName + i)
|
|
261
|
-
close(null)
|
|
262
|
-
}
|
|
263
|
-
}}
|
|
264
|
-
/>
|
|
265
|
-
<Button
|
|
266
|
-
variant="border"
|
|
267
|
-
color="light"
|
|
268
|
-
size="xs"
|
|
269
|
-
on:click={() => {
|
|
270
|
-
renameProperty(argName, argName + i)
|
|
271
|
-
close(null)
|
|
272
|
-
}}
|
|
273
|
-
>
|
|
274
|
-
Rename
|
|
275
|
-
</Button>
|
|
276
|
-
</div>
|
|
277
|
-
</Label>
|
|
278
|
-
</Popup>
|
|
279
|
-
</div>
|
|
280
|
-
{/if}
|
|
281
|
-
</div>
|
|
282
|
-
|
|
283
|
-
{#if schema.required?.includes(argName)}
|
|
284
|
-
<span class="text-red-500 text-xs"> Required </span>
|
|
285
|
-
{/if}
|
|
246
|
+
{#if editPanelSize > 0}
|
|
247
|
+
<Pane
|
|
248
|
+
bind:size={editPanelSize}
|
|
249
|
+
minSize={noPreview ? 100 : 50}
|
|
250
|
+
class={twMerge('border rounded-md', pannelButtonWidth > 0 ? 'rounded-tl-none' : '')}
|
|
251
|
+
>
|
|
252
|
+
{#if editTab !== 'inputEditor'}
|
|
253
|
+
<slot name="extraTab" />
|
|
254
|
+
{:else}
|
|
255
|
+
<!-- WIP -->
|
|
256
|
+
{#if jsonEnabled}
|
|
257
|
+
<div class="w-full p-3 flex justify-end">
|
|
258
|
+
<Toggle
|
|
259
|
+
bind:checked={jsonView}
|
|
260
|
+
label="JSON View"
|
|
261
|
+
size="xs"
|
|
262
|
+
options={{
|
|
263
|
+
right: 'JSON editor',
|
|
264
|
+
rightTooltip:
|
|
265
|
+
'Arguments can be edited either using the wizard, or by editing their JSON Schema.'
|
|
266
|
+
}}
|
|
267
|
+
lightMode
|
|
268
|
+
on:change={() => {
|
|
269
|
+
schemaString = JSON.stringify(schema, null, '\t')
|
|
270
|
+
editor?.setCode(schemaString)
|
|
271
|
+
}}
|
|
272
|
+
/>
|
|
273
|
+
</div>
|
|
274
|
+
{/if}
|
|
286
275
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
276
|
+
{#if !jsonView}
|
|
277
|
+
<div
|
|
278
|
+
class="w-full {clazz} {flexWrap ? 'flex flex-row flex-wrap gap-x-6 ' : ''} divide-y"
|
|
279
|
+
>
|
|
280
|
+
{#if keys.length > 0}
|
|
281
|
+
{#each keys as argName, i (argName)}
|
|
282
|
+
<div>
|
|
283
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
284
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
285
|
+
<div
|
|
286
|
+
class={twMerge(
|
|
287
|
+
'w-full flex bg-gray-50 dark:bg-gray-800 px-4 py-1 justify-between items-center hover:bg-gray-100 cursor-pointer',
|
|
288
|
+
opened === argName ? 'bg-gray-100 hover:bg-gray-200' : ''
|
|
289
|
+
)}
|
|
292
290
|
on:click={() => {
|
|
293
|
-
|
|
291
|
+
if (opened === argName) {
|
|
292
|
+
opened = undefined
|
|
293
|
+
} else {
|
|
294
|
+
opened = argName
|
|
295
|
+
}
|
|
294
296
|
}}
|
|
295
297
|
>
|
|
296
|
-
<
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
298
|
+
<div class="flex flex-row gap-2">
|
|
299
|
+
{argName}
|
|
300
|
+
{#if !uiOnly}
|
|
301
|
+
<div on:click|stopPropagation|preventDefault>
|
|
302
|
+
<Popup
|
|
303
|
+
floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
|
|
304
|
+
containerClasses="border rounded-lg shadow-lg p-4 bg-surface"
|
|
305
|
+
let:close
|
|
306
|
+
>
|
|
307
|
+
<svelte:fragment slot="button">
|
|
308
|
+
<Button
|
|
309
|
+
color="light"
|
|
310
|
+
size="xs2"
|
|
311
|
+
nonCaptureEvent
|
|
312
|
+
startIcon={{ icon: Pen }}
|
|
313
|
+
iconOnly
|
|
314
|
+
/>
|
|
315
|
+
</svelte:fragment>
|
|
316
|
+
<Label label="Name">
|
|
317
|
+
<div class="flex flex-col gap-2">
|
|
318
|
+
<input
|
|
319
|
+
type="text"
|
|
320
|
+
class="w-full !bg-surface"
|
|
321
|
+
value={argName}
|
|
322
|
+
id={argName + i}
|
|
323
|
+
on:keydown={(event) => {
|
|
324
|
+
if (event.key === 'Enter') {
|
|
325
|
+
renameProperty(argName, argName + i)
|
|
326
|
+
close(null)
|
|
327
|
+
}
|
|
328
|
+
}}
|
|
329
|
+
/>
|
|
330
|
+
<Button
|
|
331
|
+
variant="border"
|
|
332
|
+
color="light"
|
|
333
|
+
size="xs"
|
|
334
|
+
on:click={() => {
|
|
335
|
+
renameProperty(argName, argName + i)
|
|
336
|
+
close(null)
|
|
337
|
+
}}
|
|
338
|
+
>
|
|
339
|
+
Rename
|
|
340
|
+
</Button>
|
|
341
|
+
</div>
|
|
342
|
+
</Label>
|
|
343
|
+
</Popup>
|
|
344
|
+
</div>
|
|
345
|
+
{/if}
|
|
346
|
+
</div>
|
|
347
|
+
|
|
348
|
+
{#if schema.required?.includes(argName)}
|
|
349
|
+
<span class="text-red-500 text-xs"> Required </span>
|
|
350
|
+
{/if}
|
|
351
|
+
|
|
352
|
+
{#if !uiOnly}
|
|
353
|
+
<button
|
|
354
|
+
class="rounded-full p-1 text-gray-500 bg-white
|
|
355
|
+
duration-200 hover:bg-gray-600 focus:bg-gray-600 hover:text-white dark:bg-gray-700 dark:text-white dark:hover:bg-gray-800"
|
|
356
|
+
aria-label="Clear"
|
|
357
|
+
on:click={() => {
|
|
358
|
+
dispatch('delete', argName)
|
|
325
359
|
}}
|
|
326
360
|
>
|
|
327
|
-
<
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
361
|
+
<X size={16} />
|
|
362
|
+
</button>
|
|
363
|
+
{/if}
|
|
364
|
+
</div>
|
|
365
|
+
{#if opened === argName}
|
|
366
|
+
<div class="p-4 border-t">
|
|
367
|
+
{#if !schemaSkippedValues.includes(argName) && Object.keys(schema?.properties ?? {}).includes(argName)}
|
|
368
|
+
{#if typeof args == 'object' && schema?.properties[argName]}
|
|
369
|
+
<PropertyEditor
|
|
370
|
+
bind:description={schema.properties[argName].description}
|
|
371
|
+
type={schema.properties[argName].type}
|
|
372
|
+
bind:oneOf={schema.properties[argName].oneOf}
|
|
373
|
+
bind:pattern={schema.properties[argName].pattern}
|
|
374
|
+
bind:enum_={schema.properties[argName].enum}
|
|
375
|
+
bind:format={schema.properties[argName].format}
|
|
376
|
+
bind:contentEncoding={schema.properties[argName].contentEncoding}
|
|
377
|
+
bind:customErrorMessage={schema.properties[argName]
|
|
378
|
+
.customErrorMessage}
|
|
379
|
+
bind:itemsType={schema.properties[argName].items}
|
|
380
|
+
bind:extra={schema.properties[argName]}
|
|
381
|
+
bind:title={schema.properties[argName].title}
|
|
382
|
+
bind:placeholder={schema.properties[argName].placeholder}
|
|
383
|
+
bind:properties={schema.properties[argName].properties}
|
|
384
|
+
bind:order={schema.properties[argName].order}
|
|
385
|
+
{isFlowInput}
|
|
386
|
+
{isAppInput}
|
|
387
|
+
on:change={() => {
|
|
388
|
+
schema = schema
|
|
389
|
+
// console.log('schema', schema)
|
|
390
|
+
dispatch('change', schema)
|
|
391
|
+
}}
|
|
392
|
+
>
|
|
393
|
+
<svelte:fragment slot="typeeditor">
|
|
394
|
+
{#if isFlowInput || isAppInput}
|
|
395
|
+
<Label label="Type">
|
|
396
|
+
<ToggleButtonGroup
|
|
397
|
+
tabListClass="flex-wrap"
|
|
398
|
+
class="h-auto"
|
|
399
|
+
bind:selected
|
|
400
|
+
on:selected={(e) => {
|
|
401
|
+
const isS3 = e.detail == 'S3'
|
|
402
|
+
const isOneOf = e.detail == 'oneOf'
|
|
337
403
|
|
|
338
|
-
|
|
404
|
+
selected = e.detail
|
|
339
405
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
406
|
+
const emptyProperty = {
|
|
407
|
+
contentEncoding: undefined,
|
|
408
|
+
enum_: undefined,
|
|
409
|
+
pattern: undefined,
|
|
410
|
+
default: undefined,
|
|
411
|
+
min: undefined,
|
|
412
|
+
max: undefined,
|
|
413
|
+
currency: undefined,
|
|
414
|
+
currencyLocale: undefined,
|
|
415
|
+
multiselect: undefined,
|
|
416
|
+
password: undefined,
|
|
417
|
+
dateFormat: undefined,
|
|
418
|
+
...(e.detail == 'array'
|
|
419
|
+
? { items: { type: 'string' } }
|
|
420
|
+
: {}),
|
|
421
|
+
showExpr: undefined,
|
|
422
|
+
nullable: undefined,
|
|
423
|
+
required: undefined
|
|
424
|
+
}
|
|
357
425
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
type: 'object',
|
|
362
|
-
format: 'resource-s3_object'
|
|
363
|
-
}
|
|
364
|
-
} else if (isOneOf) {
|
|
365
|
-
schema.properties[argName] = {
|
|
366
|
-
...emptyProperty,
|
|
367
|
-
type: 'object',
|
|
368
|
-
oneOf: [
|
|
369
|
-
{
|
|
370
|
-
title: 'Option 1',
|
|
426
|
+
if (isS3) {
|
|
427
|
+
schema.properties[argName] = {
|
|
428
|
+
...emptyProperty,
|
|
371
429
|
type: 'object',
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
property_1: {
|
|
378
|
-
type: 'string'
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
{
|
|
383
|
-
title: 'Option 2',
|
|
430
|
+
format: 'resource-s3_object'
|
|
431
|
+
}
|
|
432
|
+
} else if (isOneOf) {
|
|
433
|
+
schema.properties[argName] = {
|
|
434
|
+
...emptyProperty,
|
|
384
435
|
type: 'object',
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
436
|
+
oneOf: [
|
|
437
|
+
{
|
|
438
|
+
title: 'Option 1',
|
|
439
|
+
type: 'object',
|
|
440
|
+
properties: {
|
|
441
|
+
label: {
|
|
442
|
+
type: 'string',
|
|
443
|
+
enum: ['Option 1']
|
|
444
|
+
},
|
|
445
|
+
property_1: {
|
|
446
|
+
type: 'string'
|
|
447
|
+
}
|
|
448
|
+
}
|
|
389
449
|
},
|
|
390
|
-
|
|
391
|
-
|
|
450
|
+
{
|
|
451
|
+
title: 'Option 2',
|
|
452
|
+
type: 'object',
|
|
453
|
+
properties: {
|
|
454
|
+
label: {
|
|
455
|
+
type: 'string',
|
|
456
|
+
enum: ['Option 2']
|
|
457
|
+
},
|
|
458
|
+
property_2: {
|
|
459
|
+
type: 'string'
|
|
460
|
+
}
|
|
461
|
+
}
|
|
392
462
|
}
|
|
393
|
-
|
|
463
|
+
]
|
|
394
464
|
}
|
|
395
|
-
|
|
396
|
-
|
|
465
|
+
} else {
|
|
466
|
+
schema.properties[argName] = {
|
|
467
|
+
...emptyProperty,
|
|
468
|
+
format: undefined,
|
|
469
|
+
type: e.detail
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
schema = schema
|
|
473
|
+
dispatch('change', schema)
|
|
474
|
+
}}
|
|
475
|
+
>
|
|
476
|
+
{#each [['String', 'string'], ['Number', 'number'], ['Integer', 'integer'], ['Object', 'object'], ['OneOf', 'oneOf'], ['Array', 'array'], ['Boolean', 'boolean'], ['S3 Object', 'S3']] as x}
|
|
477
|
+
<ToggleButton value={x[1]} label={x[0]} />
|
|
478
|
+
{/each}
|
|
479
|
+
</ToggleButtonGroup>
|
|
480
|
+
</Label>
|
|
481
|
+
{/if}
|
|
482
|
+
</svelte:fragment>
|
|
483
|
+
|
|
484
|
+
{#if isFlowInput || isAppInput}
|
|
485
|
+
<FlowPropertyEditor
|
|
486
|
+
bind:defaultValue={schema.properties[argName].default}
|
|
487
|
+
{variableEditor}
|
|
488
|
+
{itemPicker}
|
|
489
|
+
{lightweightMode}
|
|
490
|
+
bind:nullable={schema.properties[argName].nullable}
|
|
491
|
+
bind:disabled={schema.properties[argName].disabled}
|
|
492
|
+
type={schema.properties[argName].type}
|
|
493
|
+
bind:oneOf={schema.properties[argName].oneOf}
|
|
494
|
+
bind:format={schema.properties[argName].format}
|
|
495
|
+
contentEncoding={schema.properties[argName].contentEncoding}
|
|
496
|
+
required={schema.required?.includes(argName) ?? false}
|
|
497
|
+
pattern={schema.properties[argName].pattern}
|
|
498
|
+
password={schema.properties[argName].password}
|
|
499
|
+
propsNames={schema.properties[argName].propsNames}
|
|
500
|
+
bind:showExpr={schema.properties[argName].showExpr}
|
|
501
|
+
extra={schema.properties[argName]}
|
|
502
|
+
customErrorMessage={schema.properties[argName].customErrorMessage}
|
|
503
|
+
itemsType={schema.properties[argName].items}
|
|
504
|
+
bind:properties={schema.properties[argName].properties}
|
|
505
|
+
bind:order={schema.properties[argName].order}
|
|
506
|
+
bind:requiredProperty={schema.properties[argName].required}
|
|
507
|
+
{displayWebhookWarning}
|
|
508
|
+
on:requiredChange={(event) => {
|
|
509
|
+
if (event.detail.required) {
|
|
510
|
+
schema.required = schema.required ?? []
|
|
511
|
+
schema.required.push(argName)
|
|
397
512
|
} else {
|
|
398
|
-
schema.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
type: e.detail
|
|
402
|
-
}
|
|
513
|
+
schema.required = schema.required?.filter(
|
|
514
|
+
(x) => x !== argName
|
|
515
|
+
)
|
|
403
516
|
}
|
|
517
|
+
dispatch('change', schema)
|
|
518
|
+
}}
|
|
519
|
+
on:schemaChange={(e) => {
|
|
404
520
|
schema = schema
|
|
405
521
|
dispatch('change', schema)
|
|
406
522
|
}}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
{/each}
|
|
411
|
-
</ToggleButtonGroup>
|
|
412
|
-
</Label>
|
|
413
|
-
{/if}
|
|
414
|
-
</svelte:fragment>
|
|
415
|
-
|
|
416
|
-
{#if isFlowInput || isAppInput}
|
|
417
|
-
<FlowPropertyEditor
|
|
418
|
-
bind:defaultValue={schema.properties[argName].default}
|
|
419
|
-
{variableEditor}
|
|
420
|
-
{itemPicker}
|
|
421
|
-
{lightweightMode}
|
|
422
|
-
bind:nullable={schema.properties[argName].nullable}
|
|
423
|
-
bind:disabled={schema.properties[argName].disabled}
|
|
424
|
-
type={schema.properties[argName].type}
|
|
425
|
-
bind:oneOf={schema.properties[argName].oneOf}
|
|
426
|
-
bind:format={schema.properties[argName].format}
|
|
427
|
-
contentEncoding={schema.properties[argName].contentEncoding}
|
|
428
|
-
required={schema.required?.includes(argName) ?? false}
|
|
429
|
-
pattern={schema.properties[argName].pattern}
|
|
430
|
-
password={schema.properties[argName].password}
|
|
431
|
-
propsNames={schema.properties[argName].propsNames}
|
|
432
|
-
bind:showExpr={schema.properties[argName].showExpr}
|
|
433
|
-
extra={schema.properties[argName]}
|
|
434
|
-
customErrorMessage={schema.properties[argName].customErrorMessage}
|
|
435
|
-
itemsType={schema.properties[argName].items}
|
|
436
|
-
bind:properties={schema.properties[argName].properties}
|
|
437
|
-
bind:order={schema.properties[argName].order}
|
|
438
|
-
bind:requiredProperty={schema.properties[argName].required}
|
|
439
|
-
{displayWebhookWarning}
|
|
440
|
-
on:requiredChange={(event) => {
|
|
441
|
-
if (event.detail.required) {
|
|
442
|
-
schema.required = schema.required ?? []
|
|
443
|
-
schema.required.push(argName)
|
|
444
|
-
} else {
|
|
445
|
-
schema.required = schema.required?.filter((x) => x !== argName)
|
|
446
|
-
}
|
|
447
|
-
dispatch('change', schema)
|
|
448
|
-
}}
|
|
449
|
-
on:schemaChange={(e) => {
|
|
450
|
-
schema = schema
|
|
451
|
-
dispatch('change', schema)
|
|
452
|
-
}}
|
|
453
|
-
/>
|
|
523
|
+
/>
|
|
524
|
+
{/if}
|
|
525
|
+
</PropertyEditor>
|
|
454
526
|
{/if}
|
|
455
|
-
|
|
456
|
-
|
|
527
|
+
{/if}
|
|
528
|
+
</div>
|
|
457
529
|
{/if}
|
|
458
530
|
</div>
|
|
459
|
-
{/
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
{/if}
|
|
465
|
-
</div>
|
|
466
|
-
{:else}
|
|
467
|
-
<div class="p-2">
|
|
468
|
-
<div class="border rounded h-full">
|
|
469
|
-
<SimpleEditor
|
|
470
|
-
bind:this={editor}
|
|
471
|
-
small
|
|
472
|
-
fixedOverflowWidgets={false}
|
|
473
|
-
on:change={() => {
|
|
474
|
-
try {
|
|
475
|
-
schema = JSON.parse(schemaString)
|
|
476
|
-
dispatch('change', schema)
|
|
477
|
-
error = ''
|
|
478
|
-
} catch (err) {
|
|
479
|
-
error = err.message
|
|
480
|
-
}
|
|
481
|
-
}}
|
|
482
|
-
bind:code={schemaString}
|
|
483
|
-
lang="json"
|
|
484
|
-
autoHeight
|
|
485
|
-
automaticLayout
|
|
486
|
-
/>
|
|
487
|
-
</div>
|
|
488
|
-
{#if !emptyString(error)}
|
|
489
|
-
<div class="text-red-400 text-xs">{error}</div>
|
|
531
|
+
{/each}
|
|
532
|
+
{:else if !shouldHideNoInputs}
|
|
533
|
+
<div class="text-secondary text-sm p-2">No inputs</div>
|
|
534
|
+
{/if}
|
|
535
|
+
</div>
|
|
490
536
|
{:else}
|
|
491
|
-
<div
|
|
537
|
+
<div class="p-2">
|
|
538
|
+
<div class="border rounded h-full">
|
|
539
|
+
<SimpleEditor
|
|
540
|
+
bind:this={editor}
|
|
541
|
+
small
|
|
542
|
+
fixedOverflowWidgets={false}
|
|
543
|
+
on:change={() => {
|
|
544
|
+
try {
|
|
545
|
+
schema = JSON.parse(schemaString)
|
|
546
|
+
dispatch('change', schema)
|
|
547
|
+
error = ''
|
|
548
|
+
} catch (err) {
|
|
549
|
+
error = err.message
|
|
550
|
+
}
|
|
551
|
+
}}
|
|
552
|
+
bind:code={schemaString}
|
|
553
|
+
lang="json"
|
|
554
|
+
autoHeight
|
|
555
|
+
automaticLayout
|
|
556
|
+
/>
|
|
557
|
+
</div>
|
|
558
|
+
{#if !emptyString(error)}
|
|
559
|
+
<div class="text-red-400 text-xs">{error}</div>
|
|
560
|
+
{:else}
|
|
561
|
+
<div><br /> </div>
|
|
562
|
+
{/if}
|
|
563
|
+
</div>
|
|
492
564
|
{/if}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
565
|
+
{/if}
|
|
566
|
+
</Pane>
|
|
567
|
+
{/if}
|
|
496
568
|
</Splitpanes>
|
|
497
569
|
</div>
|
|
498
570
|
|
|
@@ -529,3 +601,10 @@ let editor = undefined;
|
|
|
529
601
|
|
|
530
602
|
<VariableEditor bind:this={variableEditor} />
|
|
531
603
|
{/if}
|
|
604
|
+
|
|
605
|
+
<style>
|
|
606
|
+
:global(.splitter-hidden .splitpanes__splitter) {
|
|
607
|
+
background-color: transparent !important;
|
|
608
|
+
border: none !important;
|
|
609
|
+
opacity: 0 !important;
|
|
610
|
+
}</style>
|