windmill-components 1.339.2 → 1.352.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/assets/app.css +0 -12
- package/package/ata/index.js +1 -0
- package/package/autosize.js +1 -1
- package/package/common.d.ts +6 -2
- package/package/common.js +2 -1
- package/package/components/AppConnectDrawer.svelte +1 -1
- package/package/components/AppConnectInner.svelte +9 -15
- package/package/components/ArgEnum.svelte +4 -1
- package/package/components/ArgEnum.svelte.d.ts +3 -1
- package/package/components/ArgInput.svelte +184 -141
- package/package/components/ArgInput.svelte.d.ts +7 -7
- package/package/components/ArrayTypeNarrowing.svelte +29 -27
- package/package/components/CenteredPage.svelte +2 -2
- package/package/components/DefaultTagsInner.svelte +1 -1
- package/package/components/Dev.svelte +2 -1
- package/package/components/DiffDrawer.svelte +1 -2
- package/package/components/DisplayResult.svelte +293 -233
- package/package/components/DurationMs.svelte +11 -3
- package/package/components/DurationMs.svelte.d.ts +2 -0
- package/package/components/EditableSchemaForm.svelte +447 -103
- package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
- package/package/components/Editor.svelte +3 -1
- package/package/components/EditorBar.svelte +2 -2
- package/package/components/FlowBuilder.svelte +14 -6
- package/package/components/FlowGraphViewer.svelte +1 -1
- package/package/components/FlowGraphViewerStep.svelte +37 -9
- package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
- package/package/components/FlowJobResult.svelte +1 -3
- package/package/components/FlowMetadata.svelte +1 -1
- package/package/components/FlowPreviewContent.svelte +5 -3
- package/package/components/FlowStatusViewer.svelte +4 -0
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +50 -17
- package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
- package/package/components/FlowTimeline.svelte +13 -0
- package/package/components/FlowTimeline.svelte.d.ts +2 -0
- package/package/components/FlowViewer.svelte +0 -5
- package/package/components/FolderEditor.svelte +25 -0
- package/package/components/FolderEditor.svelte.d.ts +2 -0
- package/package/components/GroupEditor.svelte +36 -91
- package/package/components/GroupInfo.svelte +1 -1
- package/package/components/InputTransformForm.svelte +16 -1
- package/package/components/InputTransformForm.svelte.d.ts +2 -0
- package/package/components/InputTransformSchemaForm.svelte +6 -0
- package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
- package/package/components/InstanceSettings.svelte +36 -3
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobStatus.svelte +2 -2
- package/package/components/LightweightArgInput.svelte +66 -14
- package/package/components/LightweightArgInput.svelte.d.ts +3 -2
- package/package/components/LightweightSchemaForm.svelte +24 -15
- package/package/components/ModulePreviewForm.svelte +1 -0
- package/package/components/NumberTypeNarrowing.svelte +71 -44
- package/package/components/ObjectResourceInput.svelte +2 -0
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/ObjectTypeNarrowing.svelte +0 -1
- package/package/components/ParqetCsvTableRenderer.svelte +181 -0
- package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
- package/package/components/Path.svelte +2 -2
- package/package/components/PersistentScriptDrawer.svelte +6 -3
- package/package/components/Range.svelte +88 -286
- package/package/components/Range.svelte.d.ts +9 -23
- package/package/components/ResourceEditor.svelte +138 -141
- package/package/components/ResourceEditor.svelte.d.ts +9 -2
- package/package/components/ResourceEditorDrawer.svelte +45 -0
- package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
- package/package/components/ResourcePicker.svelte +5 -2
- package/package/components/ResourceTypePicker.svelte +88 -36
- package/package/components/RunChart.svelte +55 -5
- package/package/components/RunChart.svelte.d.ts +1 -0
- package/package/components/RunForm.svelte +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/S3FilePicker.svelte.d.ts +2 -0
- package/package/components/ScheduleEditorInner.svelte +40 -37
- package/package/components/SchemaForm.svelte +192 -103
- package/package/components/SchemaForm.svelte.d.ts +16 -2
- package/package/components/ScriptBuilder.svelte +13 -8
- package/package/components/ScriptSchedules.svelte +11 -8
- package/package/components/ScriptSchema.svelte +3 -21
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte +217 -174
- package/package/components/StringTypeNarrowing.svelte.d.ts +5 -1
- package/package/components/Toggle.svelte +6 -3
- package/package/components/Toggle.svelte.d.ts +1 -0
- package/package/components/UserSettings.svelte +24 -1
- package/package/components/WorkspaceGroup.svelte +11 -13
- package/package/components/apps/components/buttons/AppButton.svelte +2 -0
- package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +21 -8
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +19 -7
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
- package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
- package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
- package/package/components/apps/components/display/charts/AppAgCharts.svelte +25 -15
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +2 -0
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +1 -1
- package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +18 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/eval.js +1 -36
- package/package/components/apps/components/inputs/AppFileInput.svelte +3 -1
- package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +3 -1
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/layout/AppStepper.svelte +5 -1
- package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppTabs.svelte +3 -1
- package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +6 -7
- package/package/components/apps/editor/SettingsPanel.svelte +13 -3
- package/package/components/apps/editor/component/Component.svelte +8 -16
- package/package/components/apps/editor/component/components.d.ts +11 -2
- package/package/components/apps/editor/component/components.js +2 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -41
- package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
- package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
- package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
- package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +21 -45
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -23
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +5 -1
- package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
- package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +7 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
- package/package/components/common/button/ButtonDropdown.svelte +1 -0
- package/package/components/common/drawer/Disposable.svelte +3 -2
- package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
- package/package/components/common/drawer/Drawer.svelte +12 -2
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -2
- package/package/components/common/fileUpload/FileUpload.svelte +4 -3
- package/package/components/common/modal/Modal.svelte +4 -1
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/popup/Popup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
- package/package/components/flows/content/FlowInput.svelte +63 -53
- package/package/components/flows/content/FlowModuleComponent.svelte +26 -3
- package/package/components/flows/content/FlowModuleScript.svelte +40 -1
- package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
- package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
- package/package/components/flows/content/FlowSchedules.svelte +11 -8
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -4
- package/package/components/flows/flowStateUtils.js +4 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +16 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
- package/package/components/flows/types.d.ts +4 -0
- package/package/components/flows/utils.d.ts +5 -1
- package/package/components/flows/utils.js +36 -0
- package/package/components/graph/FlowGraph.svelte +5 -2
- package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
- package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
- package/package/components/graph/svelvet/container/models/index.js +1 -1
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
- package/package/components/graph/util.d.ts +1 -37
- package/package/components/graph/util.js +0 -34
- package/package/components/instanceSettings.js +2 -1
- package/package/components/jobs/JobPreview.svelte +1 -1
- package/package/components/multiselect/MultiSelect.svelte +4 -3
- package/package/components/multiselect/MultiSelect.svelte.d.ts +1 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +6 -2
- package/package/components/runs/JobPreview.svelte +5 -1
- package/package/components/runs/RunRow.svelte +22 -3
- package/package/components/runs/RunRow.svelte.d.ts +2 -1
- package/package/components/runs/RunsTable.svelte +22 -9
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/schema/AddProperty.svelte +149 -0
- package/package/components/schema/AddProperty.svelte.d.ts +23 -0
- package/package/components/schema/AddPropertyForm.svelte +33 -0
- package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
- package/package/components/schema/FlowPropertyEditor.svelte +393 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
- package/package/components/schema/PropertyEditor.svelte +185 -0
- package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
- package/package/components/schema/SchemaFormDND.svelte +75 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
- package/package/components/table/AutoDataTable.svelte +90 -104
- package/package/components/table/Cell.svelte +4 -1
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DownloadCsv.svelte +30 -0
- package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
- package/package/components/table/tableUtils.d.ts +8 -0
- package/package/components/table/tableUtils.js +37 -0
- package/package/consts.js +3 -1
- package/package/deno_fetch.d.ts.txt +6 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +76 -0
- package/package/gen/schemas.gen.js +76 -0
- package/package/gen/services.gen.d.ts +100 -5
- package/package/gen/services.gen.js +216 -16
- package/package/gen/types.gen.d.ts +378 -5
- package/package/inferArgSig.d.ts +10 -0
- package/package/inferArgSig.js +59 -2
- package/package/scripts.d.ts +2 -0
- package/package/scripts.js +6 -3
- package/package/utils.d.ts +4 -3
- package/package/utils.js +9 -4
- package/package/workspace_settings.d.ts +15 -0
- package/package/workspace_settings.js +81 -0
- package/package.json +16 -7
- package/package/components/ParqetTableRenderer.svelte +0 -117
- package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
- package/package/components/PropertyRow.svelte +0 -88
- package/package/components/PropertyRow.svelte.d.ts +0 -23
- package/package/components/SchemaEditor.svelte +0 -346
- package/package/components/SchemaEditor.svelte.d.ts +0 -25
- package/package/components/SchemaModal.svelte +0 -443
- package/package/components/SchemaModal.svelte.d.ts +0 -33
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
- package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script>import Button from '../../../common/button/Button.svelte';
|
|
2
2
|
import PanelSection from './common/PanelSection.svelte';
|
|
3
|
-
import {
|
|
3
|
+
import { dragHandle, dragHandleZone } from '@windmill-labs/svelte-dnd-action';
|
|
4
4
|
import { GripVertical, Plus, X } from 'lucide-svelte';
|
|
5
5
|
import InputsSpecEditor from './InputsSpecEditor.svelte';
|
|
6
6
|
import { generateRandomString } from '../../../../utils';
|
|
@@ -10,7 +10,6 @@ import { getContext, tick } from 'svelte';
|
|
|
10
10
|
import { deleteGridItem } from '../appUtils';
|
|
11
11
|
export let conditions = [];
|
|
12
12
|
export let component;
|
|
13
|
-
let dragDisabled = true;
|
|
14
13
|
let items = conditions.slice(0, -1).map((condition, index) => {
|
|
15
14
|
return { value: condition, id: generateRandomString(), originalIndex: index };
|
|
16
15
|
});
|
|
@@ -53,16 +52,6 @@ function handleFinalize(e) {
|
|
|
53
52
|
$componentControl[component.id]?.setTab?.(targetIndex);
|
|
54
53
|
});
|
|
55
54
|
}
|
|
56
|
-
dragDisabled = true;
|
|
57
|
-
}
|
|
58
|
-
function startDrag(event) {
|
|
59
|
-
event.preventDefault();
|
|
60
|
-
dragDisabled = false;
|
|
61
|
-
}
|
|
62
|
-
function handleKeyDown(event) {
|
|
63
|
-
if ((event.key === 'Enter' || event.key === ' ') && dragDisabled) {
|
|
64
|
-
dragDisabled = false;
|
|
65
|
-
}
|
|
66
55
|
}
|
|
67
56
|
function deleteSubgrid(index) {
|
|
68
57
|
let subgrid = `${component.id}-${index}`;
|
|
@@ -120,11 +109,10 @@ function addCondition() {
|
|
|
120
109
|
{/if}
|
|
121
110
|
<div class="w-full flex flex-col mt-2">
|
|
122
111
|
<section
|
|
123
|
-
use:
|
|
112
|
+
use:dragHandleZone={{
|
|
124
113
|
items: items,
|
|
125
114
|
flipDurationMs: 200,
|
|
126
|
-
dropTargetStyle: {}
|
|
127
|
-
dragDisabled
|
|
115
|
+
dropTargetStyle: {}
|
|
128
116
|
}}
|
|
129
117
|
on:consider={handleConsider}
|
|
130
118
|
on:finalize={handleFinalize}
|
|
@@ -133,27 +121,23 @@ function addCondition() {
|
|
|
133
121
|
{@const condition = item.value}
|
|
134
122
|
<div class="w-full flex flex-row gap-2 items-center relative">
|
|
135
123
|
<div class={twMerge('grow border p-3 my-2 rounded-md bg-surface relative')}>
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
/>
|
|
154
|
-
{:else}
|
|
155
|
-
<pre><code>{condition?.['expr']}</code></pre>
|
|
156
|
-
{/if}
|
|
124
|
+
<InputsSpecEditor
|
|
125
|
+
key={`condition${index + 1}`}
|
|
126
|
+
bind:componentInput={item.value}
|
|
127
|
+
id={component.id}
|
|
128
|
+
userInputEnabled={false}
|
|
129
|
+
shouldCapitalize={true}
|
|
130
|
+
resourceOnly={false}
|
|
131
|
+
fieldType={condition?.['fieldType']}
|
|
132
|
+
subFieldType={condition?.['subFieldType']}
|
|
133
|
+
format={condition?.['format']}
|
|
134
|
+
selectOptions={condition?.['selectOptions']}
|
|
135
|
+
tooltip={condition?.['tooltip']}
|
|
136
|
+
fileUpload={condition?.['fileUpload']}
|
|
137
|
+
placeholder={condition?.['placeholder']}
|
|
138
|
+
customTitle={condition?.['customTitle']}
|
|
139
|
+
displayType={false}
|
|
140
|
+
/>
|
|
157
141
|
</div>
|
|
158
142
|
|
|
159
143
|
<div class="flex flex-col justify-center gap-2">
|
|
@@ -165,15 +149,7 @@ function addCondition() {
|
|
|
165
149
|
|
|
166
150
|
<!-- svelte-ignore a11y-no-noninteractive-tabindex -->
|
|
167
151
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
168
|
-
<div
|
|
169
|
-
tabindex={dragDisabled ? 0 : -1}
|
|
170
|
-
class="w-4 h-4"
|
|
171
|
-
on:mousedown={startDrag}
|
|
172
|
-
on:touchstart={startDrag}
|
|
173
|
-
on:keydown={handleKeyDown}
|
|
174
|
-
aria-label="drag-handle"
|
|
175
|
-
style={dragDisabled ? 'cursor: grab' : 'cursor: grabbing'}
|
|
176
|
-
>
|
|
152
|
+
<div use:dragHandle class="w-4 h-4 handle" aria-label="drag-handle">
|
|
177
153
|
<GripVertical size={16} />
|
|
178
154
|
</div>
|
|
179
155
|
</div>
|
|
@@ -3,7 +3,7 @@ import CloseButton from '../../../common/CloseButton.svelte';
|
|
|
3
3
|
import { getContext, tick } from 'svelte';
|
|
4
4
|
import { deleteGridItem } from '../appUtils';
|
|
5
5
|
import PanelSection from './common/PanelSection.svelte';
|
|
6
|
-
import {
|
|
6
|
+
import { dragHandle, dragHandleZone } from '@windmill-labs/svelte-dnd-action';
|
|
7
7
|
import { generateRandomString } from '../../../../utils';
|
|
8
8
|
import { GripVertical, Plus } from 'lucide-svelte';
|
|
9
9
|
import GridTabDisabled from './GridTabDisabled.svelte';
|
|
@@ -103,17 +103,6 @@ function handleFinalize(e) {
|
|
|
103
103
|
$componentControl[component.id]?.setTab?.(targetIndex);
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
dragDisabled = true;
|
|
107
|
-
}
|
|
108
|
-
let dragDisabled = true;
|
|
109
|
-
function startDrag(event) {
|
|
110
|
-
event.preventDefault();
|
|
111
|
-
dragDisabled = false;
|
|
112
|
-
}
|
|
113
|
-
function handleKeyDown(event) {
|
|
114
|
-
if ((event.key === 'Enter' || event.key === ' ') && dragDisabled) {
|
|
115
|
-
dragDisabled = false;
|
|
116
|
-
}
|
|
117
106
|
}
|
|
118
107
|
</script>
|
|
119
108
|
|
|
@@ -123,10 +112,9 @@ function handleKeyDown(event) {
|
|
|
123
112
|
{/if}
|
|
124
113
|
<div class="w-full flex gap-2 flex-col mt-2">
|
|
125
114
|
<section
|
|
126
|
-
use:
|
|
115
|
+
use:dragHandleZone={{
|
|
127
116
|
items,
|
|
128
117
|
flipDurationMs: 200,
|
|
129
|
-
dragDisabled,
|
|
130
118
|
dropTargetStyle: {}
|
|
131
119
|
}}
|
|
132
120
|
on:consider={handleConsider}
|
|
@@ -149,15 +137,7 @@ function handleKeyDown(event) {
|
|
|
149
137
|
<!-- svelte-ignore a11y-no-noninteractive-tabindex -->
|
|
150
138
|
|
|
151
139
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
152
|
-
<div
|
|
153
|
-
tabindex={dragDisabled ? 0 : -1}
|
|
154
|
-
class="w-4 h-4"
|
|
155
|
-
on:mousedown={startDrag}
|
|
156
|
-
on:touchstart={startDrag}
|
|
157
|
-
on:keydown={handleKeyDown}
|
|
158
|
-
aria-label="drag-handle"
|
|
159
|
-
style={dragDisabled ? 'cursor: grab' : 'cursor: grabbing'}
|
|
160
|
-
>
|
|
140
|
+
<div use:dragHandle class="handle w-4 h-4" aria-label="drag-handle">
|
|
161
141
|
<GripVertical size={16} />
|
|
162
142
|
</div>
|
|
163
143
|
</div>
|
|
@@ -17,6 +17,10 @@ export let showOnDemandOnlyToggle = false;
|
|
|
17
17
|
export let overridenByComponent = [];
|
|
18
18
|
$: finalInputSpecsConfiguration = inputSpecsConfiguration ?? inputSpecs;
|
|
19
19
|
const dispatch = createEventDispatcher();
|
|
20
|
+
const mapping = {
|
|
21
|
+
onSuccess: 'On success wizard',
|
|
22
|
+
onError: 'On error wizard'
|
|
23
|
+
};
|
|
20
24
|
</script>
|
|
21
25
|
|
|
22
26
|
{#if inputSpecs}
|
|
@@ -32,7 +36,7 @@ const dispatch = createEventDispatcher();
|
|
|
32
36
|
{:else if finalInputSpecsConfiguration[k]?.type == 'oneOf'}
|
|
33
37
|
<OneOfInputSpecsEditor
|
|
34
38
|
{acceptSelf}
|
|
35
|
-
key={k}
|
|
39
|
+
key={mapping[k] ?? k}
|
|
36
40
|
bind:oneOf={inputSpecs[k]}
|
|
37
41
|
{id}
|
|
38
42
|
{shouldCapitalize}
|
|
@@ -3,7 +3,6 @@ export let value;
|
|
|
3
3
|
export let componentInput;
|
|
4
4
|
export let subFieldType;
|
|
5
5
|
export let id;
|
|
6
|
-
export let dragging = false;
|
|
7
6
|
let fakeComponentInput = {
|
|
8
7
|
...componentInput,
|
|
9
8
|
value
|
|
@@ -17,5 +16,4 @@ $: fakeComponentInput && (value = fakeComponentInput.value);
|
|
|
17
16
|
fieldType={subFieldType}
|
|
18
17
|
bind:componentInput={fakeComponentInput}
|
|
19
18
|
on:remove
|
|
20
|
-
{dragging}
|
|
21
19
|
/>
|
|
@@ -6,6 +6,7 @@ import { Maximize2, X } from 'lucide-svelte';
|
|
|
6
6
|
import { Drawer } from '../../../../common';
|
|
7
7
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
8
8
|
import Toggle from '../../../../Toggle.svelte';
|
|
9
|
+
import { zIndexes } from '../../../../../zIndexes';
|
|
9
10
|
export let componentInput;
|
|
10
11
|
export let id;
|
|
11
12
|
export let field;
|
|
@@ -43,7 +44,12 @@ let focus = false;
|
|
|
43
44
|
|
|
44
45
|
{#if componentInput?.type === 'evalv2'}
|
|
45
46
|
{#if fullscreen}
|
|
46
|
-
<Drawer
|
|
47
|
+
<Drawer
|
|
48
|
+
placement="bottom"
|
|
49
|
+
on:close={() => (fullscreen = false)}
|
|
50
|
+
open
|
|
51
|
+
offset={zIndexes.monacoEditor}
|
|
52
|
+
>
|
|
47
53
|
<Splitpanes horizontal class="h-full">
|
|
48
54
|
<Pane size={50}>
|
|
49
55
|
<SimpleEditor
|
|
@@ -6,7 +6,6 @@ import IconSelectInput from './IconSelectInput.svelte';
|
|
|
6
6
|
import ColorInput from './ColorInput.svelte';
|
|
7
7
|
import TabSelectInput from './TabSelectInput.svelte';
|
|
8
8
|
import Toggle from '../../../../Toggle.svelte';
|
|
9
|
-
import SchemaEditor from '../../../../SchemaEditor.svelte';
|
|
10
9
|
import autosize from '../../../../../autosize';
|
|
11
10
|
import Button from '../../../../common/button/Button.svelte';
|
|
12
11
|
import { Settings } from 'lucide-svelte';
|
|
@@ -19,6 +18,7 @@ import DBExplorerWizard from '../../../../wizards/DBExplorerWizard.svelte';
|
|
|
19
18
|
import Label from '../../../../Label.svelte';
|
|
20
19
|
import DateTimeInput from '../../../../DateTimeInput.svelte';
|
|
21
20
|
import DBTableSelect from './DBTableSelect.svelte';
|
|
21
|
+
import EditableSchemaDrawer from '../../../../schema/EditableSchemaDrawer.svelte';
|
|
22
22
|
export let componentInput;
|
|
23
23
|
export let fieldType = undefined;
|
|
24
24
|
export let subFieldType = undefined;
|
|
@@ -26,7 +26,6 @@ export let selectOptions = undefined;
|
|
|
26
26
|
export let placeholder = undefined;
|
|
27
27
|
export let format = undefined;
|
|
28
28
|
export let id;
|
|
29
|
-
export let dragging = false;
|
|
30
29
|
const { onchange } = getContext('AppViewerContext');
|
|
31
30
|
$: componentInput && onchange?.();
|
|
32
31
|
</script>
|
|
@@ -148,24 +147,18 @@ $: componentInput && onchange?.();
|
|
|
148
147
|
/>
|
|
149
148
|
{:else}
|
|
150
149
|
<div class="flex w-full flex-col">
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
<JsonEditor
|
|
157
|
-
small
|
|
158
|
-
bind:value={componentInput.value}
|
|
159
|
-
code={JSON.stringify(componentInput.value, null, 2)}
|
|
160
|
-
/>
|
|
161
|
-
{/if}
|
|
150
|
+
<JsonEditor
|
|
151
|
+
small
|
|
152
|
+
bind:value={componentInput.value}
|
|
153
|
+
code={JSON.stringify(componentInput.value, null, 2)}
|
|
154
|
+
/>
|
|
162
155
|
</div>
|
|
163
156
|
{/if}
|
|
164
157
|
{:else if fieldType === 'array'}
|
|
165
158
|
<ArrayStaticInputEditor {id} {subFieldType} bind:componentInput on:deleteArrayItem />
|
|
166
159
|
{:else if fieldType === 'schema'}
|
|
167
160
|
<div class="w-full">
|
|
168
|
-
<
|
|
161
|
+
<EditableSchemaDrawer bind:schema={componentInput.value} />
|
|
169
162
|
</div>
|
|
170
163
|
{:else if fieldType === 'ag-grid'}
|
|
171
164
|
<div class="flex flex-row rounded-md bg-surface items-center h-full">
|
|
@@ -8,7 +8,8 @@ export let id = (Math.random() + 1).toString(36).substring(10);
|
|
|
8
8
|
if (open) {
|
|
9
9
|
openedDrawers.push(id);
|
|
10
10
|
}
|
|
11
|
-
let
|
|
11
|
+
export let initialOffset = 0;
|
|
12
|
+
let offset = initialOffset;
|
|
12
13
|
export function toggleDrawer() {
|
|
13
14
|
if (!open) {
|
|
14
15
|
openDrawer();
|
|
@@ -27,7 +28,7 @@ export function openDrawer() {
|
|
|
27
28
|
}
|
|
28
29
|
export function closeDrawer() {
|
|
29
30
|
open = false;
|
|
30
|
-
offset =
|
|
31
|
+
offset = initialOffset;
|
|
31
32
|
// remove the last opened drawer
|
|
32
33
|
openedDrawers = openedDrawers.filter((drawer) => drawer !== id);
|
|
33
34
|
}
|
|
@@ -8,6 +8,7 @@ export let placement = 'right';
|
|
|
8
8
|
export let size = '600px';
|
|
9
9
|
export let alwaysOpen = false;
|
|
10
10
|
export let shouldUsePortal = true;
|
|
11
|
+
export let offset = 0;
|
|
11
12
|
let disposable = undefined;
|
|
12
13
|
$: durationMs = duration * 1000;
|
|
13
14
|
export function toggleDrawer() {
|
|
@@ -46,7 +47,15 @@ onMount(() => {
|
|
|
46
47
|
</script>
|
|
47
48
|
|
|
48
49
|
<ConditionalPortal condition={shouldUsePortal}>
|
|
49
|
-
<Disposable
|
|
50
|
+
<Disposable
|
|
51
|
+
initialOffset={offset}
|
|
52
|
+
let:handleClickAway
|
|
53
|
+
let:zIndex
|
|
54
|
+
bind:open
|
|
55
|
+
bind:this={disposable}
|
|
56
|
+
on:open
|
|
57
|
+
on:close
|
|
58
|
+
>
|
|
50
59
|
<aside
|
|
51
60
|
class="drawer {$$props.class ?? ''} {$$props.positionClass ?? ''}"
|
|
52
61
|
class:open
|
|
@@ -113,7 +122,8 @@ onMount(() => {
|
|
|
113
122
|
--tw-bg-opacity: 1;
|
|
114
123
|
background-color: rgb(var(--color-surface) / var(--tw-bg-opacity));
|
|
115
124
|
z-index: 3;
|
|
116
|
-
transition: transform var(--duration) ease
|
|
125
|
+
transition: transform var(--duration) ease, max-width var(--duration) ease,
|
|
126
|
+
max-height var(--duration) ease;
|
|
117
127
|
height: 100%;
|
|
118
128
|
}
|
|
119
129
|
|
|
@@ -8,6 +8,7 @@ declare const __propDef: {
|
|
|
8
8
|
size?: string | undefined;
|
|
9
9
|
alwaysOpen?: boolean | undefined;
|
|
10
10
|
shouldUsePortal?: boolean | undefined;
|
|
11
|
+
offset?: number | undefined;
|
|
11
12
|
toggleDrawer?: (() => void) | undefined;
|
|
12
13
|
openDrawer?: (() => void) | undefined;
|
|
13
14
|
closeDrawer?: (() => void) | undefined;
|
|
@@ -8,9 +8,11 @@ export let s3object;
|
|
|
8
8
|
border border-dashed border-gray-400 hover:border-blue-500
|
|
9
9
|
focus-within:border-blue-500 hover:bg-blue-50 dark:hover:bg-frost-900 focus-within:bg-blue-50
|
|
10
10
|
duration-200 rounded-lg p-1 gap-2"
|
|
11
|
-
href={`/api/w/${$workspaceStore}/job_helpers/download_s3_file?file_key=${s3object?.s3}
|
|
11
|
+
href={`/api/w/${$workspaceStore}/job_helpers/download_s3_file?file_key=${s3object?.s3}${
|
|
12
|
+
s3object?.storage ? `&storage=${s3object.storage}` : ''
|
|
13
|
+
}`}
|
|
12
14
|
download={s3object?.s3.split('/').pop() ?? 'unnamed_download.file'}
|
|
13
15
|
>
|
|
14
16
|
<Download />
|
|
15
|
-
<span>s3://{s3object.s3}</span>
|
|
17
|
+
<span>s3://{s3object.s3} {s3object.storage ? ` (${s3object.storage})` : ''}</span>
|
|
16
18
|
</a>
|
|
@@ -114,20 +114,21 @@ async function uploadFileToS3(fileToUpload, fileToUploadKey) {
|
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
116
|
xhr?.addEventListener('loadend', () => {
|
|
117
|
+
activeUploads = activeUploads.filter((x) => x.fileName !== fileToUpload.name);
|
|
117
118
|
let response = xhr?.responseText;
|
|
118
119
|
if (xhr?.readyState === 4 && xhr?.status === 200 && response) {
|
|
119
120
|
uploadData.progress = 100;
|
|
120
121
|
resolve(JSON.parse(response));
|
|
121
122
|
}
|
|
122
123
|
else {
|
|
124
|
+
xhr?.abort();
|
|
123
125
|
if (response) {
|
|
124
|
-
reject(
|
|
126
|
+
reject(response);
|
|
125
127
|
}
|
|
126
128
|
else {
|
|
127
|
-
reject(
|
|
129
|
+
reject('An error occurred while uploading the file, see server logs');
|
|
128
130
|
}
|
|
129
131
|
}
|
|
130
|
-
activeUploads = activeUploads.filter((x) => x.fileName !== fileToUpload.name);
|
|
131
132
|
});
|
|
132
133
|
xhr?.open('POST', `/api/w/${$workspaceStore}/job_helpers/upload_s3_file?${params.toString()}`, true);
|
|
133
134
|
xhr?.setRequestHeader('Content-Type', 'application/octet-stream');
|
|
@@ -8,6 +8,7 @@ export let open = false;
|
|
|
8
8
|
let c = '';
|
|
9
9
|
export { c as class };
|
|
10
10
|
export let style = '';
|
|
11
|
+
export let cancelText = undefined;
|
|
11
12
|
const dispatch = createEventDispatcher();
|
|
12
13
|
function onKeyDown(event) {
|
|
13
14
|
if (open) {
|
|
@@ -83,7 +84,9 @@ function fadeFast(node) {
|
|
|
83
84
|
color="light"
|
|
84
85
|
size="sm"
|
|
85
86
|
>
|
|
86
|
-
<span class="inline-flex gap-2"
|
|
87
|
+
<span class="inline-flex gap-2"
|
|
88
|
+
>{cancelText ?? 'Cancel'}<Badge color="dark-gray">Escape</Badge></span
|
|
89
|
+
>
|
|
87
90
|
</Button>
|
|
88
91
|
</div>
|
|
89
92
|
</div>
|
|
@@ -10,7 +10,7 @@ const [floatingRef, floatingContent] = createFloatingActions(floatingConfig);
|
|
|
10
10
|
export let blockOpen = false;
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
|
-
<Popover on:close>
|
|
13
|
+
<Popover on:close class="leading-none">
|
|
14
14
|
<PopoverButton>
|
|
15
15
|
<div use:floatingRef>
|
|
16
16
|
<slot name="button" />
|
|
@@ -8,6 +8,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
8
8
|
export let selected;
|
|
9
9
|
export let noWFull = false;
|
|
10
10
|
export let disabled = false;
|
|
11
|
+
export let tabListClass = '';
|
|
11
12
|
const dispatch = createEventDispatcher();
|
|
12
13
|
const selectedContent = writable(selected);
|
|
13
14
|
function setSelected(selected) {
|
|
@@ -32,7 +33,9 @@ setContext('ToggleButtonGroup', {
|
|
|
32
33
|
$$props.class
|
|
33
34
|
)}
|
|
34
35
|
>
|
|
35
|
-
<TabList
|
|
36
|
+
<TabList
|
|
37
|
+
class={twMerge('flex bg-surface-secondary rounded-md p-0.5 gap-1 h-full ', tabListClass)}
|
|
38
|
+
>
|
|
36
39
|
<slot />
|
|
37
40
|
</TabList>
|
|
38
41
|
</TabGroup>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<script>import Popover from '../../Popover.svelte';
|
|
2
|
+
import { msToSec } from '../../../utils';
|
|
3
|
+
import { AlertTriangle, Hourglass } from 'lucide-svelte';
|
|
4
|
+
import Badge from '../badge/Badge.svelte';
|
|
5
|
+
export let self_wait_time_ms = undefined;
|
|
6
|
+
export let aggregate_wait_time_ms = undefined;
|
|
7
|
+
export let variant = 'icon';
|
|
8
|
+
$: total_wait = (self_wait_time_ms ?? 0) + (aggregate_wait_time_ms ?? 0);
|
|
9
|
+
function classFromColorName(color) {
|
|
10
|
+
const colors = {
|
|
11
|
+
gray: 'text-gray-400 dark:text-gray-300',
|
|
12
|
+
red: 'text-red-400 dark:text-red-500',
|
|
13
|
+
yellow: 'text-yellow-500 dark:text-yellow-500',
|
|
14
|
+
orange: 'text-orange-500 dark:text-orange-500'
|
|
15
|
+
};
|
|
16
|
+
return colors[color];
|
|
17
|
+
}
|
|
18
|
+
function waitColorTresholds(waiting_time_ms) {
|
|
19
|
+
if (waiting_time_ms > 300_000) {
|
|
20
|
+
return 'red';
|
|
21
|
+
}
|
|
22
|
+
if (waiting_time_ms > 30_000) {
|
|
23
|
+
return 'orange';
|
|
24
|
+
}
|
|
25
|
+
if (waiting_time_ms > 5_000) {
|
|
26
|
+
return 'yellow';
|
|
27
|
+
}
|
|
28
|
+
return 'gray';
|
|
29
|
+
}
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<Popover notClickable>
|
|
33
|
+
<svelte:fragment slot="text">
|
|
34
|
+
<div class="mb-5">
|
|
35
|
+
{#if self_wait_time_ms != undefined}
|
|
36
|
+
<div>
|
|
37
|
+
Time spent waiting for an executor: <span class="font-bold"
|
|
38
|
+
>{msToSec(self_wait_time_ms)}s</span
|
|
39
|
+
>
|
|
40
|
+
</div>
|
|
41
|
+
{/if}
|
|
42
|
+
{#if aggregate_wait_time_ms != undefined}
|
|
43
|
+
<div>
|
|
44
|
+
Child jobs' time spent waiting for an executor: <span class="font-bold"
|
|
45
|
+
>{msToSec(aggregate_wait_time_ms)}s</span
|
|
46
|
+
>
|
|
47
|
+
</div>
|
|
48
|
+
{/if}
|
|
49
|
+
</div>
|
|
50
|
+
{#if self_wait_time_ms != undefined && aggregate_wait_time_ms != undefined}
|
|
51
|
+
The top level job and its children (e.g. flow steps) had to wait a for an unexpected amount of
|
|
52
|
+
time before starting. The first value is the top level job's time spent waiting for a worker
|
|
53
|
+
and the second is the cumulative wait time for its children.
|
|
54
|
+
{:else if self_wait_time_ms}
|
|
55
|
+
<div> This job spent an unexpected amount of time waiting for a worker before starting. </div>
|
|
56
|
+
{:else if aggregate_wait_time_ms != undefined}
|
|
57
|
+
<div>
|
|
58
|
+
This job's children spent an unexpected amount of time waiting for a worker before starting.
|
|
59
|
+
The value is an aggregate of their individual waiting times.
|
|
60
|
+
</div>
|
|
61
|
+
{/if}
|
|
62
|
+
<div> In a healthy queue, jobs are expected to start in under 50ms. </div>
|
|
63
|
+
</svelte:fragment>
|
|
64
|
+
{#if variant === 'icon'}
|
|
65
|
+
<Hourglass class={classFromColorName(waitColorTresholds(total_wait))} size={14} />
|
|
66
|
+
{:else if variant === 'badge'}
|
|
67
|
+
<Badge large icon={{ icon: Hourglass, position: 'left' }} color={waitColorTresholds(total_wait)}
|
|
68
|
+
>{msToSec(total_wait)}s</Badge
|
|
69
|
+
>
|
|
70
|
+
{:else if variant === 'badge-self-wait'}
|
|
71
|
+
{#if self_wait_time_ms}
|
|
72
|
+
<Badge
|
|
73
|
+
color={waitColorTresholds(self_wait_time_ms)}>+{msToSec(self_wait_time_ms)}s</Badge
|
|
74
|
+
>
|
|
75
|
+
{/if}
|
|
76
|
+
{:else if variant === 'alert'}
|
|
77
|
+
<AlertTriangle class={classFromColorName(waitColorTresholds(total_wait))} size={14} />
|
|
78
|
+
{/if}
|
|
79
|
+
</Popover>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
self_wait_time_ms?: number | undefined;
|
|
5
|
+
aggregate_wait_time_ms?: number | undefined;
|
|
6
|
+
variant?: "alert" | "icon" | "badge" | "badge-self-wait" | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type WaitTimeWarningProps = typeof __propDef.props;
|
|
14
|
+
export type WaitTimeWarningEvents = typeof __propDef.events;
|
|
15
|
+
export type WaitTimeWarningSlots = typeof __propDef.slots;
|
|
16
|
+
export default class WaitTimeWarning extends SvelteComponent<WaitTimeWarningProps, WaitTimeWarningEvents, WaitTimeWarningSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
<script>import { getContext } from 'svelte';
|
|
1
|
+
<script>import { getContext, onMount } from 'svelte';
|
|
2
2
|
import FlowModuleWrapper from './FlowModuleWrapper.svelte';
|
|
3
3
|
import FlowSettings from './FlowSettings.svelte';
|
|
4
4
|
import FlowInput from './FlowInput.svelte';
|
|
5
5
|
import FlowFailureModule from './FlowFailureModule.svelte';
|
|
6
6
|
import FlowConstants from './FlowConstants.svelte';
|
|
7
|
+
import { initRequiredInputFilled } from '../utils';
|
|
7
8
|
export let noEditor = false;
|
|
8
9
|
export let enableAi = false;
|
|
9
|
-
const { selectedId, flowStore } = getContext('FlowEditorContext');
|
|
10
|
+
const { selectedId, flowStore, flowStateStore, flowInputsStore } = getContext('FlowEditorContext');
|
|
10
11
|
function checkDup(modules) {
|
|
11
12
|
let seenModules = [];
|
|
12
13
|
for (const m of modules) {
|
|
@@ -17,6 +18,19 @@ function checkDup(modules) {
|
|
|
17
18
|
seenModules.push(m.id);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
21
|
+
onMount(() => {
|
|
22
|
+
$flowStore?.value?.modules?.forEach((module) => {
|
|
23
|
+
if (!module) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!$flowStateStore) {
|
|
27
|
+
$flowInputsStore = {};
|
|
28
|
+
}
|
|
29
|
+
$flowInputsStore[module?.id] = {
|
|
30
|
+
requiredInputsFilled: initRequiredInputFilled(module.value, $flowStateStore?.[module?.id]?.schema ?? {})
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
});
|
|
20
34
|
</script>
|
|
21
35
|
|
|
22
36
|
{#if $selectedId?.startsWith('settings')}
|