windmill-components 1.85.0 → 1.86.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/components/CenteredModal.svelte +9 -7
- package/components/CronInput.svelte +301 -64
- package/components/CronInput.svelte.d.ts +3 -3
- package/components/DisplayResult.svelte +2 -2
- package/components/Editor.svelte +97 -42
- package/components/Editor.svelte.d.ts +10 -4
- package/components/EditorBar.svelte +14 -9
- package/components/EditorBar.svelte.d.ts +1 -1
- package/components/FlowBuilder.svelte +73 -53
- package/components/FlowGraphViewer.svelte +2 -0
- package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/components/FlowPreviewContent.svelte +3 -2
- package/components/FlowViewer.svelte +1 -1
- package/components/InputTransformForm.svelte +75 -72
- package/components/LightweightArgInput.svelte +3 -0
- package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/components/LightweightSchemaForm.svelte +1 -0
- package/components/LightweightSchemaForm.svelte.d.ts +2 -0
- package/components/ModulePreview.svelte +2 -2
- package/components/Path.svelte +15 -3
- package/components/Popover.svelte +7 -19
- package/components/ScheduleEditor.svelte +18 -8
- package/components/ScriptBuilder.svelte +201 -206
- package/components/ScriptBuilder.svelte.d.ts +2 -0
- package/components/ScriptEditor.svelte +38 -37
- package/components/ScriptEditor.svelte.d.ts +5 -1
- package/components/ScriptSchema.svelte +1 -20
- package/components/ScriptSchema.svelte.d.ts +0 -1
- package/components/SimpleEditor.svelte +8 -2
- package/components/SimpleEditor.svelte.d.ts +6 -0
- package/components/Star.svelte +2 -1
- package/components/TemplateEditor.svelte +16 -3
- package/components/TemplateEditor.svelte.d.ts +3 -0
- package/components/Toast.svelte +50 -0
- package/components/Toast.svelte.d.ts +18 -0
- package/components/apps/components/buttons/AppButton.svelte +2 -1
- package/components/apps/components/display/AppHtml.svelte +9 -6
- package/components/apps/components/display/AppIcon.svelte +3 -0
- package/components/apps/components/display/AppImage.svelte +3 -0
- package/components/apps/components/display/AppMap.svelte +3 -0
- package/components/apps/components/display/AppPdf.svelte +3 -0
- package/components/apps/components/display/AppText.svelte +143 -51
- package/components/apps/components/display/AppText.svelte.d.ts +4 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +1 -20
- package/components/apps/components/helpers/HiddenComponent.svelte +12 -6
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +2 -1
- package/components/apps/components/helpers/InitializeComponent.svelte +12 -0
- package/components/apps/components/helpers/InitializeComponent.svelte.d.ts +16 -0
- package/components/apps/components/helpers/InputValue.svelte +6 -0
- package/components/apps/components/helpers/NonRunnableComponent.svelte +3 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +24 -6
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte +8 -2
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/components/apps/components/inputs/AppCheckbox.svelte +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +3 -0
- package/components/apps/components/inputs/AppFileInput.svelte +4 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte +3 -0
- package/components/apps/components/inputs/AppNumberInput.svelte +3 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +3 -0
- package/components/apps/components/inputs/AppSelect.svelte +3 -9
- package/components/apps/components/inputs/AppSliderInputs.svelte +2 -0
- package/components/apps/components/inputs/AppTextInput.svelte +3 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +3 -0
- package/components/apps/components/layout/AppContainer.svelte +3 -0
- package/components/apps/components/layout/AppDivider.svelte +3 -0
- package/components/apps/components/layout/AppDrawer.svelte +3 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +3 -0
- package/components/apps/components/layout/AppTabs.svelte +3 -0
- package/components/apps/editor/AppEditor.svelte +29 -18
- package/components/apps/editor/AppEditorHeader.svelte +23 -15
- package/components/apps/editor/AppPreview.svelte +5 -3
- package/components/apps/editor/ComponentHeader.svelte +20 -1
- package/components/apps/editor/ComponentHeader.svelte.d.ts +3 -0
- package/components/apps/editor/GridEditor.svelte +2 -2
- package/components/apps/editor/RecomputeAllComponents.svelte +7 -4
- package/components/apps/editor/SettingsPanel.svelte +1 -0
- package/components/apps/editor/appUtils.js +12 -2
- package/components/apps/editor/component/Component.svelte +24 -2
- package/components/apps/editor/component/components.d.ts +39 -39
- package/components/apps/editor/componentsPanel/ComponentList.svelte +12 -26
- package/components/apps/editor/componentsPanel/CssSettings.svelte +1 -1
- package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +4 -3
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +50 -37
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -3
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +14 -6
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +8 -3
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +0 -2
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -2
- package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte +15 -7
- package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte.d.ts +2 -1
- package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte +2 -2
- package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte +6 -5
- package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte.d.ts +1 -1
- package/components/apps/inputType.d.ts +1 -0
- package/components/apps/rx.d.ts +0 -2
- package/components/apps/rx.js +1 -3
- package/components/apps/types.d.ts +8 -0
- package/components/apps/utils.d.ts +3 -1
- package/components/apps/utils.js +24 -1
- package/components/build_workers.d.ts +14 -0
- package/components/build_workers.js +45 -0
- package/components/common/button/Button.svelte +46 -24
- package/components/common/button/Button.svelte.d.ts +7 -1
- package/components/common/button/ButtonDropdown.svelte +25 -0
- package/components/common/button/ButtonDropdown.svelte.d.ts +27 -0
- package/components/common/button/model.d.ts +2 -3
- package/components/common/button/model.js +7 -3
- package/components/common/drawer/Drawer.svelte +0 -1
- package/components/common/drawer/DrawerContent.svelte +1 -1
- package/components/common/fileInput/FileInput.svelte +5 -1
- package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
- package/components/common/index.d.ts +0 -2
- package/components/common/index.js +0 -2
- package/components/common/menu/Menu.svelte.d.ts +1 -1
- package/components/common/popup/Popup.svelte +9 -5
- package/components/common/table/ScriptRow.svelte +2 -2
- package/components/common/tabs/Tab.svelte +10 -5
- package/components/common/tabs/Tabs.svelte +20 -1
- package/components/common/tabs/Tabs.svelte.d.ts +3 -0
- package/components/flows/CreateActionsApp.svelte +12 -7
- package/components/flows/CreateActionsFlow.svelte +11 -10
- package/components/flows/FlowEditor.svelte +2 -2
- package/components/flows/content/CapturePayload.svelte +2 -4
- package/components/flows/content/FlowModuleComponent.svelte +1 -0
- package/components/flows/content/FlowSchedules.svelte +3 -1
- package/components/flows/header/FlowImportExportMenu.svelte +10 -12
- package/components/flows/header/FlowPreviewButtons.svelte +21 -23
- package/components/flows/scheduleUtils.d.ts +1 -0
- package/components/flows/scheduleUtils.js +2 -1
- package/components/graph/FlowGraph.svelte +21 -7
- package/components/graph/FlowGraph.svelte.d.ts +2 -0
- package/components/graph/svelvet/container/views/GraphView.svelte +17 -29
- package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +2 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte +4 -3
- package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +3 -0
- package/components/home/ItemsList.svelte +1 -1
- package/components/icons/WindmillIcon.svelte +4 -0
- package/components/icons/WindmillIcon.svelte.d.ts +1 -0
- package/components/propertyPicker/PropPicker.svelte +2 -2
- package/components/scripts/CreateActionsScript.svelte +4 -22
- package/editorUtils.js +3 -1
- package/gen/core/OpenAPI.js +1 -1
- package/gen/index.d.ts +6 -0
- package/gen/index.js +2 -0
- package/gen/models/CreateInput.d.ts +5 -0
- package/gen/models/CreateInput.js +4 -0
- package/gen/models/EditSchedule.d.ts +1 -0
- package/gen/models/Input.d.ts +6 -0
- package/gen/models/Input.js +4 -0
- package/gen/models/NewSchedule.d.ts +1 -1
- package/gen/models/NewTokenImpersonate.d.ts +5 -0
- package/gen/models/NewTokenImpersonate.js +4 -0
- package/gen/models/RunnableType.d.ts +5 -0
- package/gen/models/RunnableType.js +9 -0
- package/gen/models/Schedule.d.ts +1 -1
- package/gen/models/UpdateInput.d.ts +4 -0
- package/gen/models/UpdateInput.js +4 -0
- package/gen/services/FlowService.d.ts +18 -0
- package/gen/services/FlowService.js +19 -0
- package/gen/services/InputService.d.ts +78 -0
- package/gen/services/InputService.js +95 -0
- package/gen/services/JobService.d.ts +35 -15
- package/gen/services/JobService.js +25 -7
- package/gen/services/ScheduleService.d.ts +2 -2
- package/gen/services/ScheduleService.js +1 -1
- package/gen/services/ScriptService.d.ts +10 -0
- package/gen/services/ScriptService.js +16 -0
- package/gen/services/UserService.d.ts +12 -0
- package/gen/services/UserService.js +13 -0
- package/package.json +24 -13
- package/script_helpers.d.ts +1 -1
- package/script_helpers.js +7 -5
- package/utils.d.ts +2 -2
- package/utils.js +21 -11
- package/components/common/button/ButtonPopup.svelte +0 -78
- package/components/common/button/ButtonPopup.svelte.d.ts +0 -39
- package/components/common/button/ButtonPopupItem.svelte +0 -48
- package/components/common/button/ButtonPopupItem.svelte.d.ts +0 -28
|
@@ -26,36 +26,34 @@ $: upToDisabled =
|
|
|
26
26
|
$selectedId?.includes('branch');
|
|
27
27
|
</script>
|
|
28
28
|
|
|
29
|
-
<
|
|
29
|
+
<Button
|
|
30
|
+
size="xs"
|
|
31
|
+
on:click={() => {
|
|
32
|
+
previewMode = 'whole'
|
|
33
|
+
previewOpen = !previewOpen
|
|
34
|
+
}}
|
|
35
|
+
startIcon={{ icon: faPlay }}
|
|
36
|
+
>
|
|
37
|
+
Test flow
|
|
38
|
+
</Button>
|
|
39
|
+
{#if !upToDisabled}
|
|
30
40
|
<Button
|
|
41
|
+
size="xs"
|
|
42
|
+
disabled={upToDisabled}
|
|
43
|
+
color="light"
|
|
44
|
+
variant="border"
|
|
31
45
|
on:click={() => {
|
|
32
|
-
previewMode = '
|
|
46
|
+
previewMode = 'upTo'
|
|
33
47
|
previewOpen = !previewOpen
|
|
34
48
|
}}
|
|
35
|
-
size="sm"
|
|
36
49
|
startIcon={{ icon: faPlay }}
|
|
37
50
|
>
|
|
38
|
-
Test
|
|
51
|
+
Test up to
|
|
52
|
+
<Badge baseClass="ml-1" color="indigo">
|
|
53
|
+
{$selectedId}
|
|
54
|
+
</Badge>
|
|
39
55
|
</Button>
|
|
40
|
-
|
|
41
|
-
<Button
|
|
42
|
-
size="sm"
|
|
43
|
-
disabled={upToDisabled}
|
|
44
|
-
color="light"
|
|
45
|
-
variant="border"
|
|
46
|
-
on:click={() => {
|
|
47
|
-
previewMode = 'upTo'
|
|
48
|
-
previewOpen = !previewOpen
|
|
49
|
-
}}
|
|
50
|
-
startIcon={{ icon: faPlay }}
|
|
51
|
-
>
|
|
52
|
-
Test up to
|
|
53
|
-
<Badge baseClass="ml-1" color="indigo">
|
|
54
|
-
{$selectedId}
|
|
55
|
-
</Badge>
|
|
56
|
-
</Button>
|
|
57
|
-
{/if}
|
|
58
|
-
</div>
|
|
56
|
+
{/if}
|
|
59
57
|
|
|
60
58
|
<Drawer bind:open={previewOpen} alwaysOpen size="75%">
|
|
61
59
|
<FlowPreviewContent
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import { sugiyama, dagStratify, decrossOpt, coordCenter } from 'd3-dag';
|
|
2
2
|
import { FlowStatusModule } from '../../gen';
|
|
3
3
|
import { NODE, createIdGenerator, isNode, isLoop, isBranch } from '.';
|
|
4
|
-
import { defaultIfEmptyString, truncateRev } from '../../utils';
|
|
4
|
+
import { defaultIfEmptyString, encodeState, truncateRev } from '../../utils';
|
|
5
5
|
import { createEventDispatcher, setContext } from 'svelte';
|
|
6
6
|
import Svelvet from './svelvet/container/views/Svelvet.svelte';
|
|
7
7
|
import MapItem from '../flows/map/MapItem.svelte';
|
|
@@ -19,12 +19,15 @@ export let selectedId = writable(undefined);
|
|
|
19
19
|
export let insertable = false;
|
|
20
20
|
export let moving = undefined;
|
|
21
21
|
export let scroll = false;
|
|
22
|
+
export let download = false;
|
|
23
|
+
export let fullSize = false;
|
|
22
24
|
setContext('FlowGraphContext', { selectedId });
|
|
23
25
|
let idGenerator;
|
|
24
26
|
let nestedNodes;
|
|
25
27
|
let nodes = [];
|
|
26
28
|
let edges = [];
|
|
27
29
|
let width, height;
|
|
30
|
+
let fullWidth;
|
|
28
31
|
let errorHandlers = {};
|
|
29
32
|
let dispatch = createEventDispatcher();
|
|
30
33
|
$: {
|
|
@@ -64,8 +67,9 @@ async function createGraph() {
|
|
|
64
67
|
const flatNodes = flattenNestedNodes(nestedNodes);
|
|
65
68
|
const layered = layoutNodes(flatNodes);
|
|
66
69
|
nodes = layered.nodes;
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
let hfull = Math.max(layered.height, minHeight);
|
|
71
|
+
fullWidth = layered.width;
|
|
72
|
+
height = fullSize ? hfull : Math.min(hfull, maxHeight ?? window.innerHeight - 100);
|
|
69
73
|
edges = createEdges(nodes);
|
|
70
74
|
}
|
|
71
75
|
function getConvertedFlowModule(module, parent, edgeLabel, loopDepth, insertableEnd, modules) {
|
|
@@ -280,12 +284,17 @@ function layoutNodes(nodes) {
|
|
|
280
284
|
id: des.data.id,
|
|
281
285
|
position: {
|
|
282
286
|
x: des.x
|
|
283
|
-
? des.data.loopDepth * 50 +
|
|
287
|
+
? des.data.loopDepth * 50 +
|
|
288
|
+
des.x +
|
|
289
|
+
(fullSize ? fullWidth : width) / 2 -
|
|
290
|
+
boxSize.width / 2 -
|
|
291
|
+
NODE.width / 2
|
|
284
292
|
: 0,
|
|
285
293
|
y: des.y || 0
|
|
286
294
|
}
|
|
287
295
|
})),
|
|
288
|
-
height: boxSize.height + NODE.height
|
|
296
|
+
height: boxSize.height + NODE.height,
|
|
297
|
+
width: boxSize.width + NODE.width
|
|
289
298
|
};
|
|
290
299
|
}
|
|
291
300
|
function createEdges(nodes) {
|
|
@@ -430,13 +439,18 @@ function createErrorHandler(mod, parent_module) {
|
|
|
430
439
|
}
|
|
431
440
|
</script>
|
|
432
441
|
|
|
433
|
-
<div bind:clientWidth={width} class=
|
|
442
|
+
<div bind:clientWidth={width} class={fullSize ? '' : 'w-full h-full overflow-hidden relative'}>
|
|
434
443
|
{#if width && height}
|
|
435
444
|
<Svelvet
|
|
445
|
+
on:expand={() => {
|
|
446
|
+
localStorage.setItem('svelvet', encodeState({ modules, failureModule }))
|
|
447
|
+
window.open('/view_graph', '_blank')
|
|
448
|
+
}}
|
|
449
|
+
{download}
|
|
436
450
|
highlightEdges={false}
|
|
437
451
|
locked
|
|
438
452
|
{nodes}
|
|
439
|
-
{width}
|
|
453
|
+
width={fullSize ? fullWidth : width}
|
|
440
454
|
{edges}
|
|
441
455
|
{height}
|
|
442
456
|
{scroll}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script>import { pointer, select, selectAll } from 'd3-selection';
|
|
2
2
|
import { zoom, zoomIdentity, zoomTransform } from 'd3-zoom';
|
|
3
|
-
import { onMount } from 'svelte';
|
|
3
|
+
import { createEventDispatcher, onMount } from 'svelte';
|
|
4
4
|
import SimpleBezierEdge from '../../edges/views/Edges/SimpleBezierEdge.svelte';
|
|
5
5
|
import SmoothStepEdge from '../../edges/views/Edges/SmoothStepEdge.svelte';
|
|
6
6
|
import StepEdge from '../../edges/views/Edges/StepEdge.svelte';
|
|
@@ -8,12 +8,14 @@ import Node from '../../nodes/views/Node.svelte';
|
|
|
8
8
|
import { determineD3Instance } from '../..//d3/controllers/d3';
|
|
9
9
|
import { findStore } from '../../store/controllers/storeApi';
|
|
10
10
|
import { onDestroy } from 'svelte';
|
|
11
|
+
import { Expand } from 'lucide-svelte';
|
|
11
12
|
//these are typscripted as any, however they have been transformed inside of store.ts
|
|
12
13
|
export let canvasId;
|
|
13
14
|
export let width;
|
|
14
15
|
export let height;
|
|
15
16
|
export let boundary = false;
|
|
16
17
|
export let scroll = false;
|
|
18
|
+
export let download = false;
|
|
17
19
|
// here we lookup the store using the unique key
|
|
18
20
|
const store = findStore(canvasId);
|
|
19
21
|
const { edgesStore, nodesStore, nodeSelected, backgroundStore, movementStore, widthStore, heightStore, d3Scale } = store;
|
|
@@ -22,6 +24,7 @@ $: edges = Object.values($edgesStore);
|
|
|
22
24
|
// declaring the grid and dot size for d3's transformations and zoom
|
|
23
25
|
const gridSize = 15;
|
|
24
26
|
const dotSize = 10;
|
|
27
|
+
const dispatch = createEventDispatcher();
|
|
25
28
|
// leveraging d3 library to zoom/pan
|
|
26
29
|
let d3 = {
|
|
27
30
|
zoom,
|
|
@@ -49,8 +52,6 @@ onMount(() => {
|
|
|
49
52
|
d3.select('#zoom_in').on('click', function () {
|
|
50
53
|
try {
|
|
51
54
|
d3Zoom.scaleBy(nodes.transition().duration(250), 1.4);
|
|
52
|
-
// d3Zoom.translateTo(edgesd3, d3Translate.x, d3Translate.y)
|
|
53
|
-
// d3Zoom.translateTo(nodesd3, d3Translate.x, d3Translate.y)
|
|
54
55
|
}
|
|
55
56
|
catch (e) {
|
|
56
57
|
console.log('error', e);
|
|
@@ -59,37 +60,15 @@ onMount(() => {
|
|
|
59
60
|
d3.select('#zoom_out').on('click', function () {
|
|
60
61
|
try {
|
|
61
62
|
d3Zoom.scaleBy(nodes.transition().duration(250), 0.714);
|
|
62
|
-
// d3Zoom.translateTo(edgesd3.transition().duration(0), d3Translate.x, d3Translate.y)
|
|
63
|
-
// d3Zoom.translateTo(nodesd3.transition().duration(0), d3Translate.x, d3Translate.y)
|
|
64
63
|
}
|
|
65
64
|
catch (e) {
|
|
66
65
|
console.log('error', e);
|
|
67
66
|
}
|
|
68
67
|
});
|
|
69
|
-
// })
|
|
70
|
-
// d3Translate = zoomInit(d3, canvasId, d3Zoom, d3Translate, initialLocation, initialZoom, d3Scale)
|
|
71
68
|
});
|
|
72
69
|
onDestroy(() => {
|
|
73
70
|
d3.select('svg').remove();
|
|
74
71
|
});
|
|
75
|
-
// This is necessary to make Graphview reactive to changes in initialZoom
|
|
76
|
-
// When initialZoom changes, then zoomInit will set the zoom/position
|
|
77
|
-
// let prevZoom = initialZoom
|
|
78
|
-
// let prevInitialLocationX = initialLocation.x
|
|
79
|
-
// let prevInitialLocationY = initialLocation.y
|
|
80
|
-
// $: if (
|
|
81
|
-
// initialZoom !== prevZoom ||
|
|
82
|
-
// prevInitialLocationX !== initialLocation.x ||
|
|
83
|
-
// prevInitialLocationY !== initialLocation.y
|
|
84
|
-
// ) {
|
|
85
|
-
// prevZoom = initialZoom
|
|
86
|
-
// prevInitialLocationX = initialLocation.x
|
|
87
|
-
// prevInitialLocationY = initialLocation.y
|
|
88
|
-
// d3Translate = zoomInit(d3, canvasId, d3Zoom, d3Translate, initialLocation, initialZoom, d3Scale)
|
|
89
|
-
// }
|
|
90
|
-
// moves canvas when you click on the minimap
|
|
91
|
-
// handles case for when minimap sends message back to initiate translation event (click to traverse minimap)
|
|
92
|
-
// moves camera to the clicked node
|
|
93
72
|
function handleZoom(e) {
|
|
94
73
|
if (!$movementStore)
|
|
95
74
|
return;
|
|
@@ -183,18 +162,26 @@ function handleZoom(e) {
|
|
|
183
162
|
</svg>
|
|
184
163
|
</div>
|
|
185
164
|
<div id="buttons">
|
|
186
|
-
<button id="zoom_in">+</button>
|
|
187
|
-
<button id="zoom_out">-</button>
|
|
165
|
+
<button title="Zoom In" id="zoom_in">+</button>
|
|
166
|
+
<button title="Zoom Out" id="zoom_out">-</button>
|
|
167
|
+
{#if download}
|
|
168
|
+
<button title="Download" id="download" on:click={() => dispatch('expand')}
|
|
169
|
+
><Expand size="15" /></button
|
|
170
|
+
>
|
|
171
|
+
{/if}
|
|
188
172
|
</div>
|
|
189
173
|
|
|
190
174
|
<style>
|
|
191
175
|
#buttons {
|
|
192
176
|
position: absolute;
|
|
193
177
|
top: 4px;
|
|
194
|
-
right:
|
|
178
|
+
right: 10px;
|
|
195
179
|
z-index: 20;
|
|
196
180
|
}
|
|
197
|
-
|
|
181
|
+
#buttons > #download {
|
|
182
|
+
padding: 0;
|
|
183
|
+
padding-left: 3.5px;
|
|
184
|
+
}
|
|
198
185
|
#buttons > button {
|
|
199
186
|
border-radius: 4px;
|
|
200
187
|
background-color: white;
|
|
@@ -202,6 +189,7 @@ function handleZoom(e) {
|
|
|
202
189
|
padding-right: 4px;
|
|
203
190
|
padding-left: 4px;
|
|
204
191
|
width: 24px;
|
|
192
|
+
height: 24px;
|
|
205
193
|
}
|
|
206
194
|
|
|
207
195
|
.Nodes {
|
|
@@ -6,9 +6,11 @@ declare const __propDef: {
|
|
|
6
6
|
height: number;
|
|
7
7
|
boundary?: boolean | undefined;
|
|
8
8
|
scroll?: boolean | undefined;
|
|
9
|
+
download?: boolean | undefined;
|
|
9
10
|
};
|
|
10
11
|
events: {
|
|
11
12
|
contextmenu: MouseEvent;
|
|
13
|
+
expand: CustomEvent<any>;
|
|
12
14
|
} & {
|
|
13
15
|
[evt: string]: CustomEvent<any>;
|
|
14
16
|
};
|
|
@@ -3,8 +3,8 @@ import { createStoreEmpty, populateSvelvetStoreFromUserInput } from '../../store
|
|
|
3
3
|
import { afterUpdate, onMount } from 'svelte';
|
|
4
4
|
import GraphView from './GraphView.svelte';
|
|
5
5
|
import { sanitizeCanvasOptions, sanitizeUserNodesAndEdges } from '../controllers/middleware';
|
|
6
|
-
export let nodes;
|
|
7
|
-
export let edges;
|
|
6
|
+
export let nodes;
|
|
7
|
+
export let edges;
|
|
8
8
|
export let bgColor = '#ffffff'; // this is used to set the background color of the the Svelvet canvas
|
|
9
9
|
export let width = 600;
|
|
10
10
|
export let height = 600;
|
|
@@ -20,6 +20,7 @@ export let locked = false; // if true, node movement is disabled
|
|
|
20
20
|
export let editable = false;
|
|
21
21
|
export let highlightEdges = true;
|
|
22
22
|
export let scroll = false;
|
|
23
|
+
export let download = false;
|
|
23
24
|
// generates a unique string for each svelvet component's unique store instance
|
|
24
25
|
// creates a store that uses the unique sting as the key to create and look up the corresponding store
|
|
25
26
|
// this way we can have multiple Svelvet Components on the same page and prevent overlap of information
|
|
@@ -102,7 +103,7 @@ afterUpdate(() => {
|
|
|
102
103
|
{#if error != ''}
|
|
103
104
|
<div class="error text-red-600 center-center p-4">{error}</div>
|
|
104
105
|
{:else}
|
|
105
|
-
<GraphView {scroll} {canvasId} {width} {height} {boundary} />
|
|
106
|
+
<GraphView on:expand {download} {scroll} {canvasId} {width} {height} {boundary} />
|
|
106
107
|
{/if}
|
|
107
108
|
</div>
|
|
108
109
|
|
|
@@ -19,8 +19,11 @@ declare const __propDef: {
|
|
|
19
19
|
editable?: boolean | undefined;
|
|
20
20
|
highlightEdges?: boolean | undefined;
|
|
21
21
|
scroll?: boolean | undefined;
|
|
22
|
+
download?: boolean | undefined;
|
|
22
23
|
};
|
|
23
24
|
events: {
|
|
25
|
+
expand: CustomEvent<any>;
|
|
26
|
+
} & {
|
|
24
27
|
[evt: string]: CustomEvent<any>;
|
|
25
28
|
};
|
|
26
29
|
slots: {};
|
|
@@ -256,7 +256,7 @@ let archived = false;
|
|
|
256
256
|
{:else}
|
|
257
257
|
<div class="border rounded-md divide-y divide-gray-200">
|
|
258
258
|
<!-- <VirtualList {items} let:item bind:start bind:end> -->
|
|
259
|
-
{#each (items ?? []).slice(0, nbDisplayed) as item (item.type + '/' + item.path
|
|
259
|
+
{#each (items ?? []).slice(0, nbDisplayed) as item (item.type + '/' + item.path)}
|
|
260
260
|
{#if item.type == 'script'}
|
|
261
261
|
<ScriptRow
|
|
262
262
|
bind:deleteConfirmedCallback
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
<script>export let height = '24px';
|
|
2
2
|
export let width = '24px';
|
|
3
3
|
export let white = false;
|
|
4
|
+
export let spin = undefined;
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<!-- Generator: Adobe Illustrator 26.5.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
7
8
|
<svg
|
|
8
9
|
class={$$props.class}
|
|
10
|
+
class:animate-[spin_5s_linear_infinite]={spin === 'fast'}
|
|
11
|
+
class:animate-[spin_15s_linear_infinite]={spin === 'medium'}
|
|
12
|
+
class:animate-[spin_50s_linear_infinite]={spin === 'slow'}
|
|
9
13
|
version="1.1"
|
|
10
14
|
id="Calque_1"
|
|
11
15
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -38,7 +38,7 @@ async function loadResources() {
|
|
|
38
38
|
}
|
|
39
39
|
</script>
|
|
40
40
|
|
|
41
|
-
<div class="flex flex-col h-full
|
|
41
|
+
<div class="flex flex-col h-full">
|
|
42
42
|
<div class="px-2">
|
|
43
43
|
{#if !notSelectable}
|
|
44
44
|
<div class="flex flex-row space-x-1">
|
|
@@ -50,7 +50,7 @@ async function loadResources() {
|
|
|
50
50
|
{`Mode: ${$propPickerConfig?.insertionMode}`}
|
|
51
51
|
</Badge>
|
|
52
52
|
{:else}
|
|
53
|
-
<Badge large color="blue">←
|
|
53
|
+
<Badge large color="blue">← Edit or link an input</Badge>
|
|
54
54
|
{/if}
|
|
55
55
|
</div>
|
|
56
56
|
{/if}
|
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
<script>import { faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
2
|
-
import { ButtonPopup, ButtonPopupItem } from '../common';
|
|
3
|
-
import Drawer from '../common/drawer/Drawer.svelte';
|
|
4
|
-
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
5
|
-
import WorkspaceScriptPicker from '../flows/pickers/WorkspaceScriptPicker.svelte';
|
|
6
|
-
import { goto } from '$app/navigation';
|
|
7
2
|
import { Code2 } from 'lucide-svelte';
|
|
8
|
-
|
|
3
|
+
import Button from '../common/button/Button.svelte';
|
|
9
4
|
</script>
|
|
10
5
|
|
|
11
6
|
<!-- Buttons -->
|
|
12
7
|
<div class="flex flex-row gap-2">
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Import from template
|
|
17
|
-
</ButtonPopupItem>
|
|
18
|
-
</ButtonPopup>
|
|
8
|
+
<Button size="sm" spacingSize="xl" startIcon={{ icon: faPlus }} href="/scripts/add">
|
|
9
|
+
Script <Code2 class="ml-1.5" size={18} />
|
|
10
|
+
</Button>
|
|
19
11
|
</div>
|
|
20
|
-
|
|
21
|
-
<!-- Template script list -->
|
|
22
|
-
<Drawer bind:this={drawer} size="800px">
|
|
23
|
-
<DrawerContent title="Pick a template" on:close={() => drawer?.toggleDrawer?.()}>
|
|
24
|
-
<WorkspaceScriptPicker
|
|
25
|
-
isTemplate
|
|
26
|
-
on:pick={(e) => goto(`/scripts/add?template=${e.detail.path}`)}
|
|
27
|
-
/>
|
|
28
|
-
</DrawerContent>
|
|
29
|
-
</Drawer>
|
package/editorUtils.js
CHANGED
|
@@ -21,7 +21,7 @@ export function editorConfig(model, code, lang, automaticLayout, fixedOverflowWi
|
|
|
21
21
|
enabled: true
|
|
22
22
|
},
|
|
23
23
|
suggest: {
|
|
24
|
-
showKeywords:
|
|
24
|
+
showKeywords: true
|
|
25
25
|
},
|
|
26
26
|
bracketPairColorization: {
|
|
27
27
|
enabled: true
|
|
@@ -51,6 +51,8 @@ export function langToExt(lang) {
|
|
|
51
51
|
return 'go';
|
|
52
52
|
case 'bash':
|
|
53
53
|
return 'sh';
|
|
54
|
+
case 'deno':
|
|
55
|
+
return 'ts';
|
|
54
56
|
default:
|
|
55
57
|
return 'unknown';
|
|
56
58
|
}
|
package/gen/core/OpenAPI.js
CHANGED
package/gen/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type { BranchAll } from './models/BranchAll';
|
|
|
8
8
|
export type { BranchOne } from './models/BranchOne';
|
|
9
9
|
export { CompletedJob } from './models/CompletedJob';
|
|
10
10
|
export type { ContextualVariable } from './models/ContextualVariable';
|
|
11
|
+
export type { CreateInput } from './models/CreateInput';
|
|
11
12
|
export type { CreateResource } from './models/CreateResource';
|
|
12
13
|
export type { CreateVariable } from './models/CreateVariable';
|
|
13
14
|
export type { CreateWorkspace } from './models/CreateWorkspace';
|
|
@@ -29,6 +30,7 @@ export type { ForloopFlow } from './models/ForloopFlow';
|
|
|
29
30
|
export { GlobalUserInfo } from './models/GlobalUserInfo';
|
|
30
31
|
export type { Group } from './models/Group';
|
|
31
32
|
export type { Identity } from './models/Identity';
|
|
33
|
+
export type { Input } from './models/Input';
|
|
32
34
|
export type { InputTransform } from './models/InputTransform';
|
|
33
35
|
export type { JavascriptTransform } from './models/JavascriptTransform';
|
|
34
36
|
export { Job } from './models/Job';
|
|
@@ -39,6 +41,7 @@ export type { Login } from './models/Login';
|
|
|
39
41
|
export { MainArgSignature } from './models/MainArgSignature';
|
|
40
42
|
export type { NewSchedule } from './models/NewSchedule';
|
|
41
43
|
export type { NewToken } from './models/NewToken';
|
|
44
|
+
export type { NewTokenImpersonate } from './models/NewTokenImpersonate';
|
|
42
45
|
export type { NewUser } from './models/NewUser';
|
|
43
46
|
export type { OpenFlow } from './models/OpenFlow';
|
|
44
47
|
export type { OpenFlowWPath } from './models/OpenFlowWPath';
|
|
@@ -51,6 +54,7 @@ export { RawScript } from './models/RawScript';
|
|
|
51
54
|
export type { Resource } from './models/Resource';
|
|
52
55
|
export type { ResourceType } from './models/ResourceType';
|
|
53
56
|
export type { Retry } from './models/Retry';
|
|
57
|
+
export { RunnableType } from './models/RunnableType';
|
|
54
58
|
export type { Schedule } from './models/Schedule';
|
|
55
59
|
export { Script } from './models/Script';
|
|
56
60
|
export type { ScriptArgs } from './models/ScriptArgs';
|
|
@@ -58,6 +62,7 @@ export type { SlackToken } from './models/SlackToken';
|
|
|
58
62
|
export type { StaticTransform } from './models/StaticTransform';
|
|
59
63
|
export type { TokenResponse } from './models/TokenResponse';
|
|
60
64
|
export type { TruncatedToken } from './models/TruncatedToken';
|
|
65
|
+
export type { UpdateInput } from './models/UpdateInput';
|
|
61
66
|
export type { Usage } from './models/Usage';
|
|
62
67
|
export type { User } from './models/User';
|
|
63
68
|
export type { UserWorkspaceList } from './models/UserWorkspaceList';
|
|
@@ -73,6 +78,7 @@ export { FlowService } from './services/FlowService';
|
|
|
73
78
|
export { FolderService } from './services/FolderService';
|
|
74
79
|
export { GranularAclService } from './services/GranularAclService';
|
|
75
80
|
export { GroupService } from './services/GroupService';
|
|
81
|
+
export { InputService } from './services/InputService';
|
|
76
82
|
export { JobService } from './services/JobService';
|
|
77
83
|
export { OauthService } from './services/OauthService';
|
|
78
84
|
export { ResourceService } from './services/ResourceService';
|
package/gen/index.js
CHANGED
|
@@ -16,6 +16,7 @@ export { Policy } from './models/Policy';
|
|
|
16
16
|
export { Preview } from './models/Preview';
|
|
17
17
|
export { QueuedJob } from './models/QueuedJob';
|
|
18
18
|
export { RawScript } from './models/RawScript';
|
|
19
|
+
export { RunnableType } from './models/RunnableType';
|
|
19
20
|
export { Script } from './models/Script';
|
|
20
21
|
export { AdminService } from './services/AdminService';
|
|
21
22
|
export { AppService } from './services/AppService';
|
|
@@ -26,6 +27,7 @@ export { FlowService } from './services/FlowService';
|
|
|
26
27
|
export { FolderService } from './services/FolderService';
|
|
27
28
|
export { GranularAclService } from './services/GranularAclService';
|
|
28
29
|
export { GroupService } from './services/GroupService';
|
|
30
|
+
export { InputService } from './services/InputService';
|
|
29
31
|
export { JobService } from './services/JobService';
|
|
30
32
|
export { OauthService } from './services/OauthService';
|
|
31
33
|
export { ResourceService } from './services/ResourceService';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* istanbul ignore file */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
export var RunnableType;
|
|
5
|
+
(function (RunnableType) {
|
|
6
|
+
RunnableType["SCRIPT_HASH"] = "ScriptHash";
|
|
7
|
+
RunnableType["SCRIPT_PATH"] = "ScriptPath";
|
|
8
|
+
RunnableType["FLOW_PATH"] = "FlowPath";
|
|
9
|
+
})(RunnableType || (RunnableType = {}));
|
package/gen/models/Schedule.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Flow } from '../models/Flow';
|
|
2
|
+
import type { Input } from '../models/Input';
|
|
2
3
|
import type { OpenFlow } from '../models/OpenFlow';
|
|
3
4
|
import type { OpenFlowWPath } from '../models/OpenFlowWPath';
|
|
4
5
|
import type { CancelablePromise } from '../core/CancelablePromise';
|
|
@@ -143,4 +144,21 @@ export declare class FlowService {
|
|
|
143
144
|
workspace: string;
|
|
144
145
|
path: string;
|
|
145
146
|
}): CancelablePromise<string>;
|
|
147
|
+
/**
|
|
148
|
+
* list inputs for previous completed flow jobs
|
|
149
|
+
* @returns Input input history for completed jobs with this flow path
|
|
150
|
+
* @throws ApiError
|
|
151
|
+
*/
|
|
152
|
+
static getFlowInputHistoryByPath({ workspace, path, page, perPage, }: {
|
|
153
|
+
workspace: string;
|
|
154
|
+
path: string;
|
|
155
|
+
/**
|
|
156
|
+
* which page to return (start at 1, default 1)
|
|
157
|
+
*/
|
|
158
|
+
page?: number;
|
|
159
|
+
/**
|
|
160
|
+
* number of items to return for a given page (default 30, max 100)
|
|
161
|
+
*/
|
|
162
|
+
perPage?: number;
|
|
163
|
+
}): CancelablePromise<Array<Input>>;
|
|
146
164
|
}
|