windmill-components 1.394.8 → 1.405.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/ata/edgeCases.d.ts +0 -1
- package/package/ata/edgeCases.js +2 -8
- package/package/ata/index.js +4 -3
- package/package/common.d.ts +1 -1
- package/package/common.js +2 -2
- package/package/components/ApiConnectForm.svelte +33 -7
- package/package/components/ArgInput.svelte +4 -2
- package/package/components/CenteredModal.svelte +4 -1
- package/package/components/CenteredModal.svelte.d.ts +1 -0
- package/package/components/DateInput.svelte +2 -0
- package/package/components/DateInput.svelte.d.ts +1 -0
- package/package/components/DefaultScripts.svelte +8 -3
- package/package/components/DefaultScripts.svelte.d.ts +5 -1
- package/package/components/DefaultScriptsInner.svelte +16 -7
- package/package/components/DefaultScriptsInner.svelte.d.ts +3 -1
- package/package/components/Dev.svelte +68 -11
- package/package/components/DropdownV2.svelte.d.ts +3 -3
- package/package/components/DropdownV2Inner.svelte.d.ts +3 -3
- package/package/components/EditableSchemaForm.svelte +1 -0
- package/package/components/Editor.svelte +3 -2
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/ExecutionDuration.svelte +44 -0
- package/package/components/ExecutionDuration.svelte.d.ts +24 -0
- package/package/components/FlowBuilder.svelte +20 -12
- package/package/components/FlowGraphViewer.svelte +9 -2
- package/package/components/FlowGraphViewerStep.svelte +23 -10
- package/package/components/FlowJobResult.svelte +0 -1
- package/package/components/FlowStatusViewerInner.svelte +17 -4
- package/package/components/FlowTimeline.svelte +3 -3
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/IconedResourceType.svelte +17 -10
- package/package/components/IconedResourceType.svelte.d.ts +2 -0
- package/package/components/IdEditorInput.svelte +0 -1
- package/package/components/InstanceSettings.svelte +247 -129
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobArgs.svelte +3 -1
- package/package/components/LightweightArgInput.svelte +35 -10
- package/package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/package/components/LightweightObjectResourceInput.svelte +2 -0
- package/package/components/LightweightObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/LightweightSchemaForm.svelte +2 -0
- package/package/components/LightweightSchemaForm.svelte.d.ts +1 -0
- package/package/components/Login.svelte +10 -5
- package/package/components/Login.svelte.d.ts +1 -0
- package/package/components/ModulePreview.svelte +21 -2
- package/package/components/ModuleStatus.svelte +3 -0
- package/package/components/ModuleStatus.svelte.d.ts +1 -0
- package/package/components/OAuthSetting.svelte +40 -15
- package/package/components/ObjectStoreConfigSettings.svelte +78 -76
- package/package/components/ParqetCsvTableRenderer.svelte +25 -3
- package/package/components/Password.svelte.d.ts +1 -1
- package/package/components/Path.svelte +74 -54
- package/package/components/Path.svelte.d.ts +2 -1
- package/package/components/ResourceEditor.svelte +38 -9
- package/package/components/ResultJobLoader.svelte +6 -3
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/ScheduleEditorInner.svelte +2 -2
- package/package/components/SchemaForm.svelte +6 -1
- package/package/components/ScriptBuilder.svelte +12 -5
- package/package/components/ScriptEditor.svelte +33 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/Scrollable.svelte +47 -0
- package/package/components/Scrollable.svelte.d.ts +21 -0
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SuperadminSettings.svelte +5 -7
- package/package/components/TestJobLoader.svelte +46 -5
- package/package/components/TestJobLoader.svelte.d.ts +2 -1
- package/package/components/ToggleHubWorkspaceQuick.svelte +14 -0
- package/package/components/ToggleHubWorkspaceQuick.svelte.d.ts +16 -0
- package/package/components/WorkspaceGroup.svelte +3 -2
- package/package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
- package/package/components/apps/components/inputs/AppSelect.svelte +1 -1
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/svelte-select/lib/Select.svelte +1 -1
- package/package/components/common/fileUpload/FileUpload.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/menu/Menu.svelte +2 -1
- package/package/components/common/menu/MenuV2.svelte +3 -1
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/popup/Popup.svelte +22 -12
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/popup/PopupV2.svelte +58 -0
- package/package/components/common/popup/PopupV2.svelte.d.ts +27 -0
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/RegexGen.svelte +4 -4
- package/package/components/copilot/StepGen.svelte +6 -6
- package/package/components/copilot/StepGenQuick.svelte +57 -0
- package/package/components/copilot/StepGenQuick.svelte.d.ts +23 -0
- package/package/components/copilot/flow.d.ts +2 -0
- package/package/components/copilot/flow.js +55 -0
- package/package/components/details/DetailPageDetailPanel.svelte +9 -1
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +2 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/utils.d.ts +0 -1
- package/package/components/details/utils.js +1 -12
- package/package/components/flows/FlowEditor.svelte +2 -1
- package/package/components/flows/FlowProgressBar.svelte +16 -1
- package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowConstants.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +3 -0
- package/package/components/flows/content/FlowInputs.svelte +7 -6
- package/package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte +65 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte.d.ts +19 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +419 -0
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +33 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +12 -3
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleSkip.svelte +69 -0
- package/package/components/flows/content/FlowModuleSkip.svelte.d.ts +20 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +17 -4
- package/package/components/flows/content/FlowPreprocessorModule.svelte +16 -0
- package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +16 -0
- package/package/components/flows/content/FlowWhileLoop.svelte +9 -0
- package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -0
- package/package/components/flows/content/GenAiQuick.svelte +30 -0
- package/package/components/flows/content/GenAiQuick.svelte.d.ts +20 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
- package/package/components/flows/flowInfers.js +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/package/components/flows/idUtils.js +3 -1
- package/package/components/flows/map/FlowCopilotButton.svelte +55 -0
- package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +16 -0
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +77 -47
- package/package/components/flows/map/FlowJobsMenu.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +25 -12
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +61 -18
- package/package/components/flows/map/InsertModuleButton.svelte +161 -138
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +7 -4
- package/package/components/flows/map/MapItem.svelte +11 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +48 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +23 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte +19 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +19 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +138 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +33 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +58 -0
- package/package/components/flows/pickers/TopLevelNode.svelte.d.ts +21 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +120 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +35 -0
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +93 -58
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -1
- package/package/components/graph/graphBuilder.d.ts +2 -1
- package/package/components/graph/graphBuilder.js +345 -280
- package/package/components/graph/model.d.ts +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +36 -14
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/InputNode.svelte +31 -51
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +6 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +2 -1
- package/package/components/graph/util.d.ts +1 -1
- package/package/components/graph/util.js +7 -2
- package/package/components/home/ListFiltersQuick.svelte +51 -0
- package/package/components/home/ListFiltersQuick.svelte.d.ts +23 -0
- package/package/components/icons/AnsibleIcon.svelte +42 -0
- package/package/components/icons/AnsibleIcon.svelte.d.ts +25 -0
- package/package/components/icons/WindmillIcon2.svelte +141 -0
- package/package/components/icons/WindmillIcon2.svelte.d.ts +20 -0
- package/package/components/icons/index.d.ts +2 -1
- package/package/components/icons/index.js +2 -1
- package/package/components/instanceSettings.d.ts +2 -2
- package/package/components/instanceSettings.js +25 -58
- package/package/components/jobs/JobProgressBar.svelte +52 -0
- package/package/components/jobs/JobProgressBar.svelte.d.ts +23 -0
- package/package/components/progressBar/ProgressBar.svelte +18 -1
- package/package/components/progressBar/ProgressBar.svelte.d.ts +3 -0
- package/package/components/runs/JobPreview.svelte +1 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte +71 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +16 -0
- package/package/components/schema/AddProperty.svelte +1 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +142 -19
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -0
- package/package/components/schema/FlowPropertyEditor.svelte +12 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -0
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +3 -1
- package/package/components/search/GlobalSearchModal.svelte +2 -1
- package/package/components/sidebar/SidebarContent.svelte +69 -8
- package/package/components/sidebar/changelogs.js +10 -0
- package/package/components/triggers/RouteEditor.svelte +19 -0
- package/package/components/triggers/RouteEditor.svelte.d.ts +21 -0
- package/package/components/triggers/RouteEditorInner.svelte +327 -0
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/RoutesPanel.svelte +74 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +17 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +159 -8
- package/package/gen/schemas.gen.js +161 -8
- package/package/gen/services.gen.d.ts +139 -1
- package/package/gen/services.gen.js +282 -1
- package/package/gen/types.gen.d.ts +455 -12
- package/package/hubPaths.json +6 -8
- package/package/infer.d.ts +4 -2
- package/package/infer.js +25 -23
- package/package/inferArgSig.js +8 -2
- package/package/monaco_workers/graphql.worker.bundle.js +45440 -174
- package/package/relative_imports.d.ts +3 -0
- package/package/relative_imports.js +25 -0
- package/package/script_helpers.d.ts +7 -2
- package/package/script_helpers.js +151 -3
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/utils.d.ts +1 -0
- package/package/utils.js +4 -0
- package/package.json +16 -7
- package/package/components/flows/map/InsertTriggerButton.svelte +0 -48
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +0 -24
|
@@ -30,6 +30,9 @@ export let contentEncoding = undefined;
|
|
|
30
30
|
export let type = undefined;
|
|
31
31
|
export let oneOf = undefined;
|
|
32
32
|
export let required = false;
|
|
33
|
+
//todo
|
|
34
|
+
// export let nullable = false
|
|
35
|
+
export let disabled = false;
|
|
33
36
|
export let pattern = undefined;
|
|
34
37
|
export let valid = required ? false : true;
|
|
35
38
|
export let enum_ = undefined;
|
|
@@ -229,7 +232,7 @@ function addItemByItemsType() {
|
|
|
229
232
|
<div class="flex space-x-1">
|
|
230
233
|
{#if inputCat == 'number'}
|
|
231
234
|
{#if extra['min'] != undefined && extra['max'] != undefined}
|
|
232
|
-
<Range bind:value min={extra['min']} max={extra['max']} {defaultValue} />
|
|
235
|
+
<Range bind:value min={extra['min']} max={extra['max']} {defaultValue} {disabled} />
|
|
233
236
|
{:else if extra?.currency}
|
|
234
237
|
<CurrencyInput
|
|
235
238
|
inputClasses={{
|
|
@@ -241,6 +244,7 @@ function addItemByItemsType() {
|
|
|
241
244
|
bind:value
|
|
242
245
|
currency={extra?.currency}
|
|
243
246
|
locale={extra?.currencyLocale ?? 'en-US'}
|
|
247
|
+
{disabled}
|
|
244
248
|
/>
|
|
245
249
|
{:else}
|
|
246
250
|
<input
|
|
@@ -255,6 +259,7 @@ function addItemByItemsType() {
|
|
|
255
259
|
bind:value
|
|
256
260
|
min={extra['min']}
|
|
257
261
|
max={extra['max']}
|
|
262
|
+
{disabled}
|
|
258
263
|
/>
|
|
259
264
|
{/if}
|
|
260
265
|
{:else if inputCat == 'boolean'}
|
|
@@ -266,6 +271,7 @@ function addItemByItemsType() {
|
|
|
266
271
|
? ''
|
|
267
272
|
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'}
|
|
268
273
|
bind:checked={value}
|
|
274
|
+
{disabled}
|
|
269
275
|
/>
|
|
270
276
|
{#if type == 'boolean' && value == undefined}
|
|
271
277
|
<span> Not set</span>
|
|
@@ -279,6 +285,7 @@ function addItemByItemsType() {
|
|
|
279
285
|
bind:selected={value}
|
|
280
286
|
options={itemsType?.multiselect ?? []}
|
|
281
287
|
selectedOptionsDraggable={true}
|
|
288
|
+
{disabled}
|
|
282
289
|
/>
|
|
283
290
|
</div>
|
|
284
291
|
{:else if Array.isArray(itemsType?.enum) && Array.isArray(value)}
|
|
@@ -288,6 +295,7 @@ function addItemByItemsType() {
|
|
|
288
295
|
bind:selected={value}
|
|
289
296
|
options={itemsType?.enum ?? []}
|
|
290
297
|
selectedOptionsDraggable={true}
|
|
298
|
+
{disabled}
|
|
291
299
|
/>
|
|
292
300
|
</div>
|
|
293
301
|
{:else if Array.isArray(enum_) && Array.isArray(value)}
|
|
@@ -297,6 +305,7 @@ function addItemByItemsType() {
|
|
|
297
305
|
bind:selected={value}
|
|
298
306
|
options={enum_ ?? []}
|
|
299
307
|
selectedOptionsDraggable={true}
|
|
308
|
+
{disabled}
|
|
300
309
|
/>
|
|
301
310
|
</div>
|
|
302
311
|
{:else}
|
|
@@ -305,13 +314,14 @@ function addItemByItemsType() {
|
|
|
305
314
|
{#each value ?? [] as v, i}
|
|
306
315
|
<div class="flex flex-row max-w-md mt-1 w-full">
|
|
307
316
|
{#if itemsType?.type == 'number'}
|
|
308
|
-
<input type="number" bind:value={v} />
|
|
317
|
+
<input type="number" bind:value={v} {disabled} />
|
|
309
318
|
{:else if itemsType?.type == 'string' && itemsType?.contentEncoding == 'base64'}
|
|
310
319
|
<input
|
|
311
320
|
type="file"
|
|
312
321
|
class="my-6"
|
|
313
322
|
on:change={(x) => fileChanged(x, (val) => (value[i] = val))}
|
|
314
323
|
multiple={false}
|
|
324
|
+
{disabled}
|
|
315
325
|
/>
|
|
316
326
|
{:else if Array.isArray(itemsType?.enum)}
|
|
317
327
|
<select
|
|
@@ -320,6 +330,7 @@ function addItemByItemsType() {
|
|
|
320
330
|
}}
|
|
321
331
|
class="px-6"
|
|
322
332
|
bind:value={v}
|
|
333
|
+
{disabled}
|
|
323
334
|
>
|
|
324
335
|
{#each itemsType?.enum ?? [] as e}
|
|
325
336
|
<option>{e}</option>
|
|
@@ -329,16 +340,18 @@ function addItemByItemsType() {
|
|
|
329
340
|
<LightweightResourcePicker
|
|
330
341
|
bind:value={v}
|
|
331
342
|
resourceType={itemsType?.resourceType}
|
|
343
|
+
{disabled}
|
|
332
344
|
/>
|
|
333
345
|
{:else if itemsType?.type === 'object' && itemsType?.properties}
|
|
334
346
|
<div class="p-8 border rounded-md w-full">
|
|
335
347
|
<LightweightSchemaForm
|
|
336
348
|
schema={getSchemaFromProperties(itemsType?.properties)}
|
|
337
349
|
bind:args={v}
|
|
350
|
+
{disabled}
|
|
338
351
|
/>
|
|
339
352
|
</div>
|
|
340
353
|
{:else}
|
|
341
|
-
<input type="text" bind:value={v} />
|
|
354
|
+
<input type="text" bind:value={v} {disabled} />
|
|
342
355
|
{/if}
|
|
343
356
|
<button
|
|
344
357
|
transition:fade|local={{ duration: 100 }}
|
|
@@ -350,6 +363,7 @@ function addItemByItemsType() {
|
|
|
350
363
|
value = undefined
|
|
351
364
|
}
|
|
352
365
|
}}
|
|
366
|
+
{disabled}
|
|
353
367
|
>
|
|
354
368
|
<X size={14} />
|
|
355
369
|
</button>
|
|
@@ -369,6 +383,7 @@ function addItemByItemsType() {
|
|
|
369
383
|
addItemByItemsType()
|
|
370
384
|
}}
|
|
371
385
|
startIcon={{ icon: Plus }}
|
|
386
|
+
{disabled}
|
|
372
387
|
>
|
|
373
388
|
Add
|
|
374
389
|
</Button>
|
|
@@ -388,7 +403,8 @@ function addItemByItemsType() {
|
|
|
388
403
|
randomFileKey={true}
|
|
389
404
|
on:addition={(evt) => {
|
|
390
405
|
value = {
|
|
391
|
-
s3: evt.detail?.path ?? ''
|
|
406
|
+
s3: evt.detail?.path ?? '',
|
|
407
|
+
filename: evt.detail?.filename ?? ''
|
|
392
408
|
}
|
|
393
409
|
}}
|
|
394
410
|
on:deletion={(evt) => {
|
|
@@ -400,13 +416,13 @@ function addItemByItemsType() {
|
|
|
400
416
|
/>
|
|
401
417
|
</div>
|
|
402
418
|
{:else if inputCat == 'resource-object'}
|
|
403
|
-
<LightweightObjectResourceInput {format} bind:value />
|
|
419
|
+
<LightweightObjectResourceInput {format} bind:value {disabled} />
|
|
404
420
|
{:else if inputCat == 'object' && oneOf && oneOf.length >= 2}
|
|
405
421
|
<div class="flex flex-col gap-2 w-full">
|
|
406
422
|
{#if oneOf && oneOf.length >= 2}
|
|
407
|
-
<ToggleButtonGroup bind:selected={oneOfSelected}>
|
|
423
|
+
<ToggleButtonGroup bind:selected={oneOfSelected} {disabled}>
|
|
408
424
|
{#each oneOf as obj}
|
|
409
|
-
<ToggleButton value={obj.title} label={obj.title} />
|
|
425
|
+
<ToggleButton value={obj.title} label={obj.title} {disabled} />
|
|
410
426
|
{/each}
|
|
411
427
|
</ToggleButtonGroup>
|
|
412
428
|
|
|
@@ -425,6 +441,7 @@ function addItemByItemsType() {
|
|
|
425
441
|
type: 'object'
|
|
426
442
|
}}
|
|
427
443
|
bind:args={value}
|
|
444
|
+
{disabled}
|
|
428
445
|
/>
|
|
429
446
|
</div>
|
|
430
447
|
{/if}
|
|
@@ -442,6 +459,7 @@ function addItemByItemsType() {
|
|
|
442
459
|
type: 'object'
|
|
443
460
|
}}
|
|
444
461
|
bind:args={value}
|
|
462
|
+
{disabled}
|
|
445
463
|
/>
|
|
446
464
|
</div>
|
|
447
465
|
{:else}
|
|
@@ -457,6 +475,7 @@ function addItemByItemsType() {
|
|
|
457
475
|
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'}"
|
|
458
476
|
placeholder={defaultValue ? JSON.stringify(defaultValue, null, 4) : ''}
|
|
459
477
|
bind:value={rawValue}
|
|
478
|
+
{disabled}
|
|
460
479
|
/>
|
|
461
480
|
{/if}
|
|
462
481
|
{:else if inputCat == 'enum'}
|
|
@@ -466,6 +485,7 @@ function addItemByItemsType() {
|
|
|
466
485
|
}}
|
|
467
486
|
class="px-6"
|
|
468
487
|
bind:value
|
|
488
|
+
{disabled}
|
|
469
489
|
>
|
|
470
490
|
{#each enum_ ?? [] as e}
|
|
471
491
|
<option value={e}>{extra?.['enumLabels']?.[e] ?? e}</option>
|
|
@@ -474,9 +494,9 @@ function addItemByItemsType() {
|
|
|
474
494
|
{:else if inputCat == 'date'}
|
|
475
495
|
{#key defaultChange}
|
|
476
496
|
{#if format === 'date'}
|
|
477
|
-
<DateInput bind:value dateFormat={extra['dateFormat']} />
|
|
497
|
+
<DateInput bind:value dateFormat={extra['dateFormat']} {disabled} />
|
|
478
498
|
{:else}
|
|
479
|
-
<DateTimeInput useDropdown bind:value />
|
|
499
|
+
<DateTimeInput useDropdown bind:value {disabled} />
|
|
480
500
|
{/if}
|
|
481
501
|
{/key}
|
|
482
502
|
{:else if inputCat == 'base64'}
|
|
@@ -485,6 +505,7 @@ function addItemByItemsType() {
|
|
|
485
505
|
type="file"
|
|
486
506
|
on:change={(x) => fileChanged(x, (val) => (value = val))}
|
|
487
507
|
multiple={false}
|
|
508
|
+
{disabled}
|
|
488
509
|
/>
|
|
489
510
|
{#if value?.length}
|
|
490
511
|
<div class="text-2xs text-tertiary mt-1"
|
|
@@ -501,6 +522,7 @@ function addItemByItemsType() {
|
|
|
501
522
|
resourceType={format.split('-').length > 1
|
|
502
523
|
? format.substring('resource-'.length)
|
|
503
524
|
: undefined}
|
|
525
|
+
{disabled}
|
|
504
526
|
/>
|
|
505
527
|
</div>
|
|
506
528
|
{:else if inputCat == 'email'}
|
|
@@ -512,6 +534,7 @@ function addItemByItemsType() {
|
|
|
512
534
|
: 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-3'}
|
|
513
535
|
placeholder={placeholder ?? defaultValue ?? ''}
|
|
514
536
|
bind:value
|
|
537
|
+
{disabled}
|
|
515
538
|
/>
|
|
516
539
|
{:else if inputCat == 'currency'}
|
|
517
540
|
<input
|
|
@@ -521,12 +544,13 @@ function addItemByItemsType() {
|
|
|
521
544
|
: 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-3'}
|
|
522
545
|
placeholder={placeholder ?? defaultValue ?? ''}
|
|
523
546
|
bind:value
|
|
547
|
+
{disabled}
|
|
524
548
|
/>
|
|
525
549
|
{:else if inputCat == 'string'}
|
|
526
550
|
<div class="flex flex-col w-full">
|
|
527
551
|
<div class="flex flex-row w-full items-center justify-between">
|
|
528
552
|
{#if extra?.['password'] == true}
|
|
529
|
-
<Password bind:password={value} />
|
|
553
|
+
<Password bind:password={value} {disabled} />
|
|
530
554
|
{:else}
|
|
531
555
|
<textarea
|
|
532
556
|
rows={extra?.['minRows'] || 1}
|
|
@@ -543,6 +567,7 @@ function addItemByItemsType() {
|
|
|
543
567
|
on:pointerdown|stopPropagation={(e) => {
|
|
544
568
|
dispatch('inputClicked', e)
|
|
545
569
|
}}
|
|
570
|
+
{disabled}
|
|
546
571
|
/>
|
|
547
572
|
{/if}
|
|
548
573
|
</div>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export let format;
|
|
3
3
|
export let value;
|
|
4
4
|
export let disablePortal = false;
|
|
5
|
+
export let disabled = false;
|
|
5
6
|
function isString(value) {
|
|
6
7
|
return typeof value === 'string' || value instanceof String;
|
|
7
8
|
}
|
|
@@ -27,6 +28,7 @@ $: value && valueToPath();
|
|
|
27
28
|
|
|
28
29
|
<div class="flex flex-row w-full flex-wrap gap-x-2 gap-y-0.5">
|
|
29
30
|
<LightweightResourcePicker
|
|
31
|
+
{disabled}
|
|
30
32
|
{disablePortal}
|
|
31
33
|
on:change={(e) => {
|
|
32
34
|
path = e.detail
|
|
@@ -10,6 +10,7 @@ export let largeGap = false;
|
|
|
10
10
|
export let isValid = true;
|
|
11
11
|
export let defaultValues = {};
|
|
12
12
|
export let dynamicEnums = {};
|
|
13
|
+
export let disabled = false;
|
|
13
14
|
let inputCheck = {};
|
|
14
15
|
let errors = {};
|
|
15
16
|
$: isValid = allTrue(inputCheck) ?? false;
|
|
@@ -86,6 +87,7 @@ function reorder() {
|
|
|
86
87
|
on:inputClicked
|
|
87
88
|
{displayType}
|
|
88
89
|
{css}
|
|
90
|
+
disabled={disabled || schema.properties[argName].disabled}
|
|
89
91
|
/>
|
|
90
92
|
{/if}
|
|
91
93
|
{/each}
|
|
@@ -11,6 +11,7 @@ declare const __propDef: {
|
|
|
11
11
|
isValid?: boolean | undefined;
|
|
12
12
|
defaultValues?: Record<string, any> | undefined;
|
|
13
13
|
dynamicEnums?: Record<string, any> | undefined;
|
|
14
|
+
disabled?: boolean | undefined;
|
|
14
15
|
invalidate?: ((key: string, error: string) => void) | undefined;
|
|
15
16
|
validate?: ((key: string) => void) | undefined;
|
|
16
17
|
validateAll?: (() => void) | undefined;
|
|
@@ -19,6 +19,7 @@ export let email = undefined;
|
|
|
19
19
|
export let password = undefined;
|
|
20
20
|
export let error = undefined;
|
|
21
21
|
export let popup = false;
|
|
22
|
+
export let firstTime = false;
|
|
22
23
|
const providers = [
|
|
23
24
|
{
|
|
24
25
|
type: 'github',
|
|
@@ -66,6 +67,10 @@ async function login() {
|
|
|
66
67
|
sendUserToast('Invalid credentials', true);
|
|
67
68
|
return;
|
|
68
69
|
}
|
|
70
|
+
if (firstTime) {
|
|
71
|
+
goto('/user/first-time');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
69
74
|
// Once logged in, we can fetch the workspaces
|
|
70
75
|
$usersWorkspaceStore = await WorkspaceService.listUserWorkspaces();
|
|
71
76
|
// trigger a reload of the user
|
|
@@ -77,11 +82,6 @@ async function login() {
|
|
|
77
82
|
redirectUser();
|
|
78
83
|
}
|
|
79
84
|
async function redirectUser() {
|
|
80
|
-
const firstTimeCookie = document.cookie.match('(^|;)\\s*first_time\\s*=\\s*([^;]+)')?.pop() || '0';
|
|
81
|
-
if (Number(firstTimeCookie) > 0 && email === 'admin@windmill.dev') {
|
|
82
|
-
goto('/user/first-time');
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
85
|
if (rd?.startsWith('http')) {
|
|
86
86
|
window.location.href = rd;
|
|
87
87
|
return;
|
|
@@ -247,6 +247,11 @@ $: error && sendUserToast(error, true);
|
|
|
247
247
|
|
|
248
248
|
{#if showPassword}
|
|
249
249
|
<div>
|
|
250
|
+
{#if firstTime}
|
|
251
|
+
<div class="text-lg text-center w-full pb-6"
|
|
252
|
+
>First time login: admin@windmill.dev / changeme</div
|
|
253
|
+
>
|
|
254
|
+
{/if}
|
|
250
255
|
<div class="space-y-6">
|
|
251
256
|
{#if isCloudHosted()}
|
|
252
257
|
<p class="text-xs text-tertiary italic pb-6">
|
|
@@ -9,6 +9,7 @@ import DisplayResult from './DisplayResult.svelte';
|
|
|
9
9
|
import LogViewer from './LogViewer.svelte';
|
|
10
10
|
import TestJobLoader from './TestJobLoader.svelte';
|
|
11
11
|
import ModulePreviewForm from './ModulePreviewForm.svelte';
|
|
12
|
+
import JobProgressBar from './jobs/JobProgressBar.svelte';
|
|
12
13
|
import { evalValue } from './flows/utils';
|
|
13
14
|
import ScriptFix from './copilot/ScriptFix.svelte';
|
|
14
15
|
export let mod;
|
|
@@ -20,9 +21,11 @@ export let diffEditor;
|
|
|
20
21
|
export let noEditor = false;
|
|
21
22
|
const { flowStore, flowStateStore, testStepStore, pathStore } = getContext('FlowEditorContext');
|
|
22
23
|
// Test
|
|
24
|
+
let scriptProgress = undefined;
|
|
23
25
|
let testJobLoader;
|
|
24
26
|
let testIsLoading = false;
|
|
25
27
|
let testJob = undefined;
|
|
28
|
+
let jobProgressReset;
|
|
26
29
|
let stepArgs = Object.fromEntries(Object.keys(schema.properties ?? {}).map((k) => [
|
|
27
30
|
k,
|
|
28
31
|
evalValue(k, mod, $testStepStore, pickableProperties, false)
|
|
@@ -32,10 +35,13 @@ export function runTestWithStepArgs() {
|
|
|
32
35
|
runTest(stepArgs);
|
|
33
36
|
}
|
|
34
37
|
export async function runTest(args) {
|
|
38
|
+
// Not defined if JobProgressBar not loaded
|
|
39
|
+
if (jobProgressReset)
|
|
40
|
+
jobProgressReset();
|
|
35
41
|
const val = mod.value;
|
|
36
42
|
// let jobId: string | undefined = undefined
|
|
37
43
|
if (val.type == 'rawscript') {
|
|
38
|
-
await testJobLoader?.runPreview(val.path ?? ($pathStore ?? '') + '/' + mod.id, val.content, val.language, args, $flowStore?.tag ?? val.tag);
|
|
44
|
+
await testJobLoader?.runPreview(val.path ?? ($pathStore ?? '') + '/' + mod.id, val.content, val.language, mod.id === 'preprocessor' ? { _ENTRYPOINT_OVERRIDE: 'preprocessor', ...args } : args, $flowStore?.tag ?? val.tag);
|
|
39
45
|
}
|
|
40
46
|
else if (val.type == 'script') {
|
|
41
47
|
const script = val.hash
|
|
@@ -44,7 +50,12 @@ export async function runTest(args) {
|
|
|
44
50
|
await testJobLoader?.runPreview(val.path, script.content, script.language, args, $flowStore?.tag ?? script.tag);
|
|
45
51
|
}
|
|
46
52
|
else if (val.type == 'flow') {
|
|
47
|
-
await testJobLoader?.abstractRun(() => JobService.runFlowByPath({
|
|
53
|
+
await testJobLoader?.abstractRun(() => JobService.runFlowByPath({
|
|
54
|
+
workspace: $workspaceStore,
|
|
55
|
+
path: val.path,
|
|
56
|
+
requestBody: args,
|
|
57
|
+
skipPreprocessor: true
|
|
58
|
+
}));
|
|
48
59
|
}
|
|
49
60
|
else {
|
|
50
61
|
throw Error('Not supported module type');
|
|
@@ -61,9 +72,12 @@ function jobDone() {
|
|
|
61
72
|
let forceJson = false;
|
|
62
73
|
</script>
|
|
63
74
|
|
|
75
|
+
|
|
76
|
+
|
|
64
77
|
<TestJobLoader
|
|
65
78
|
toastError={noEditor}
|
|
66
79
|
on:done={() => jobDone()}
|
|
80
|
+
bind:scriptProgress
|
|
67
81
|
bind:this={testJobLoader}
|
|
68
82
|
bind:isLoading={testIsLoading}
|
|
69
83
|
bind:job={testJob}
|
|
@@ -113,6 +127,9 @@ let forceJson = false;
|
|
|
113
127
|
/>
|
|
114
128
|
</Pane>
|
|
115
129
|
<Pane size={50} minSize={10} class="text-sm text-tertiary">
|
|
130
|
+
{#if scriptProgress}
|
|
131
|
+
<JobProgressBar job={testJob} bind:scriptProgress bind:reset={jobProgressReset} compact={true} />
|
|
132
|
+
{/if}
|
|
116
133
|
{#if testJob != undefined && 'result' in testJob && testJob.result != undefined}
|
|
117
134
|
<div class="break-words relative h-full p-2">
|
|
118
135
|
<DisplayResult
|
|
@@ -137,7 +154,9 @@ let forceJson = false;
|
|
|
137
154
|
{:else}
|
|
138
155
|
<div class="p-2">
|
|
139
156
|
{#if testIsLoading}
|
|
157
|
+
{#if !scriptProgress}
|
|
140
158
|
<Loader2 class="animate-spin" />
|
|
159
|
+
{/if}
|
|
141
160
|
{:else}
|
|
142
161
|
Test to see the result here
|
|
143
162
|
{/if}
|
|
@@ -4,6 +4,7 @@ import { displayDate } from '../utils';
|
|
|
4
4
|
import { Hourglass } from 'lucide-svelte';
|
|
5
5
|
export let type;
|
|
6
6
|
export let scheduled_for;
|
|
7
|
+
export let skipped = false;
|
|
7
8
|
</script>
|
|
8
9
|
|
|
9
10
|
{#if type == 'WaitingForEvents'}
|
|
@@ -25,6 +26,8 @@ export let scheduled_for;
|
|
|
25
26
|
Job is waiting for an executor
|
|
26
27
|
{/if}
|
|
27
28
|
</span>
|
|
29
|
+
{:else if skipped}
|
|
30
|
+
<Badge color="blue">Skipped</Badge>
|
|
28
31
|
{:else if type == 'Success'}
|
|
29
32
|
<Badge color="green">Success</Badge>
|
|
30
33
|
{:else if type == 'Failure'}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
<script>import
|
|
1
|
+
<script>import { X } from 'lucide-svelte';
|
|
2
|
+
import CollapseLink from './CollapseLink.svelte';
|
|
2
3
|
import IconedResourceType from './IconedResourceType.svelte';
|
|
3
4
|
import Toggle from './Toggle.svelte';
|
|
4
5
|
export let name;
|
|
5
6
|
export let value;
|
|
6
7
|
export let login = true;
|
|
7
8
|
$: enabled = value != undefined;
|
|
8
|
-
let allowed_domains = value?.['allowed_domains'] ?? '';
|
|
9
9
|
let tenant = '';
|
|
10
10
|
$: name == 'microsoft' && changeTenantId(tenant);
|
|
11
11
|
function changeTenantId(tenant) {
|
|
@@ -61,19 +61,44 @@ function changeTenantId(tenant) {
|
|
|
61
61
|
</label>
|
|
62
62
|
{:else if login}
|
|
63
63
|
<label class="block pb-2">
|
|
64
|
-
<span class="text-primary font-semibold text-sm">Allowed
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
<span class="text-primary font-semibold text-sm">Allowed domains</span>
|
|
65
|
+
<div class="flex flex-col gap-1">
|
|
66
|
+
{#each value?.['allowed_domains'] ?? [] as domain}
|
|
67
|
+
<div class="flex gap-2">
|
|
68
|
+
<input
|
|
69
|
+
class="max-w-96 w-full"
|
|
70
|
+
type="text"
|
|
71
|
+
bind:value={domain}
|
|
72
|
+
on:keyup={(e) => {
|
|
73
|
+
if (domain == '') {
|
|
74
|
+
value['allowed_domains'] = value['allowed_domains']?.filter(
|
|
75
|
+
(d) => d != domain
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
}}
|
|
79
|
+
/>
|
|
80
|
+
<button
|
|
81
|
+
class="text-primary text-xs rounded hover:bg-surface-hover"
|
|
82
|
+
on:click={() => {
|
|
83
|
+
value['allowed_domains'] = value['allowed_domains']?.filter((d) => d != domain)
|
|
84
|
+
if (value['allowed_domains'].length == 0) {
|
|
85
|
+
value['allowed_domains'] = undefined
|
|
86
|
+
}
|
|
87
|
+
}}
|
|
88
|
+
>
|
|
89
|
+
<X size={14} />
|
|
90
|
+
</button>
|
|
91
|
+
</div>
|
|
92
|
+
{/each}
|
|
93
|
+
<div class="flex gap-2">
|
|
94
|
+
<button
|
|
95
|
+
class="text-primary text-sm border rounded p-1"
|
|
96
|
+
on:click={() => {
|
|
97
|
+
value['allowed_domains'] = [...(value['allowed_domains'] ?? []), 'mydomain.com']
|
|
98
|
+
}}>+ Add domain</button
|
|
99
|
+
>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
77
102
|
</label>
|
|
78
103
|
{/if}
|
|
79
104
|
{#if name == 'google'}
|