windmill-components 1.339.2 → 1.352.1
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/build_workers.js +13 -11
- 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 +17 -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
|
@@ -11,7 +11,8 @@ export let componentContainerHeight;
|
|
|
11
11
|
export let customCss = undefined;
|
|
12
12
|
export let render;
|
|
13
13
|
export let conditions;
|
|
14
|
-
|
|
14
|
+
export let onTabChange = undefined;
|
|
15
|
+
const { app, focusedGrid, selectedComponent, worldStore, connectingInput, componentControl, runnableComponents } = getContext('AppViewerContext');
|
|
15
16
|
const outputs = initOutput($worldStore, id, {
|
|
16
17
|
conditions: [],
|
|
17
18
|
selectedTabIndex: 0
|
|
@@ -38,6 +39,7 @@ function setSelectedIndex(index) {
|
|
|
38
39
|
};
|
|
39
40
|
selectedConditionIndex = index;
|
|
40
41
|
outputs.selectedTabIndex.set(index);
|
|
42
|
+
onTabChange?.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((cb) => cb?.()));
|
|
41
43
|
}
|
|
42
44
|
$: resolvedConditions && handleResolvedConditions();
|
|
43
45
|
$componentControl[id] = {
|
|
@@ -18,7 +18,9 @@ export let render;
|
|
|
18
18
|
export let recomputeIds = undefined;
|
|
19
19
|
export let extraQueryParams = {};
|
|
20
20
|
export let componentInput;
|
|
21
|
-
|
|
21
|
+
export let onNext = undefined;
|
|
22
|
+
export let onPrevious = undefined;
|
|
23
|
+
const { app, worldStore, focusedGrid, selectedComponent, componentControl, connectingInput, mode, runnableComponents } = getContext('AppViewerContext');
|
|
22
24
|
let selected = tabs[0];
|
|
23
25
|
let tabHeight = 0;
|
|
24
26
|
let footerHeight = 0;
|
|
@@ -179,6 +181,7 @@ let directionClicked = undefined;
|
|
|
179
181
|
on:click={(e) => {
|
|
180
182
|
e.preventDefault()
|
|
181
183
|
directionClicked = 'left'
|
|
184
|
+
onPrevious?.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((cb) => cb?.()))
|
|
182
185
|
runStep(selectedIndex - 1)
|
|
183
186
|
}}
|
|
184
187
|
>
|
|
@@ -200,6 +203,7 @@ let directionClicked = undefined;
|
|
|
200
203
|
on:click={(e) => {
|
|
201
204
|
e.preventDefault()
|
|
202
205
|
directionClicked = 'right'
|
|
206
|
+
onNext?.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((cb) => cb?.()))
|
|
203
207
|
runStep(selectedIndex + 1)
|
|
204
208
|
}}
|
|
205
209
|
>
|
|
@@ -11,6 +11,8 @@ declare const __propDef: {
|
|
|
11
11
|
recomputeIds?: string[] | undefined;
|
|
12
12
|
extraQueryParams?: Record<string, any> | undefined;
|
|
13
13
|
componentInput: AppInput | undefined;
|
|
14
|
+
onNext?: string[] | undefined;
|
|
15
|
+
onPrevious?: string[] | undefined;
|
|
14
16
|
};
|
|
15
17
|
events: {
|
|
16
18
|
[evt: string]: CustomEvent<any>;
|
|
@@ -15,8 +15,9 @@ export let tabs;
|
|
|
15
15
|
export let customCss = undefined;
|
|
16
16
|
export let render;
|
|
17
17
|
export let disabledTabs;
|
|
18
|
+
export let onTabChange = undefined;
|
|
18
19
|
let resolvedConfig = initConfig(components['tabscomponent'].initialData.configuration, configuration);
|
|
19
|
-
const { app, worldStore, focusedGrid, selectedComponent, mode, componentControl, connectingInput } = getContext('AppViewerContext');
|
|
20
|
+
const { app, worldStore, focusedGrid, selectedComponent, mode, componentControl, connectingInput, runnableComponents } = getContext('AppViewerContext');
|
|
20
21
|
let selected = tabs[0];
|
|
21
22
|
let tabHeight = 0;
|
|
22
23
|
let outputs = initOutput($worldStore, id, {
|
|
@@ -25,6 +26,7 @@ let outputs = initOutput($worldStore, id, {
|
|
|
25
26
|
function handleTabSelection() {
|
|
26
27
|
selectedIndex = tabs?.indexOf(selected);
|
|
27
28
|
outputs?.selectedTabIndex.set(selectedIndex);
|
|
29
|
+
onTabChange?.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((cb) => cb?.()));
|
|
28
30
|
if ($focusedGrid?.parentComponentId != id || $focusedGrid?.subGridIndex != selectedIndex) {
|
|
29
31
|
$focusedGrid = {
|
|
30
32
|
parentComponentId: id,
|
|
@@ -35,7 +35,6 @@ import ButtonDropdown from '../../common/button/ButtonDropdown.svelte';
|
|
|
35
35
|
import { MenuItem } from '@rgossiaux/svelte-headlessui';
|
|
36
36
|
import AppEditorTutorial from './AppEditorTutorial.svelte';
|
|
37
37
|
import AppTimeline from './AppTimeline.svelte';
|
|
38
|
-
import { cloneDeep } from 'lodash';
|
|
39
38
|
import AppReportsDrawer from './AppReportsDrawer.svelte';
|
|
40
39
|
import HighlightCode from '../../HighlightCode.svelte';
|
|
41
40
|
import { getPrimaryKeys } from '../components/display/dbtable/utils';
|
|
@@ -229,7 +228,7 @@ async function createApp(path) {
|
|
|
229
228
|
});
|
|
230
229
|
savedApp = {
|
|
231
230
|
summary: $summary,
|
|
232
|
-
value:
|
|
231
|
+
value: structuredClone($app),
|
|
233
232
|
path: path,
|
|
234
233
|
policy: policy
|
|
235
234
|
};
|
|
@@ -262,7 +261,7 @@ async function updateApp(npath) {
|
|
|
262
261
|
});
|
|
263
262
|
savedApp = {
|
|
264
263
|
summary: $summary,
|
|
265
|
-
value:
|
|
264
|
+
value: structuredClone($app),
|
|
266
265
|
path: npath,
|
|
267
266
|
policy
|
|
268
267
|
};
|
|
@@ -339,13 +338,13 @@ async function saveInitialDraft() {
|
|
|
339
338
|
});
|
|
340
339
|
savedApp = {
|
|
341
340
|
summary: $summary,
|
|
342
|
-
value:
|
|
341
|
+
value: structuredClone($app),
|
|
343
342
|
path: newPath,
|
|
344
343
|
policy,
|
|
345
344
|
draft_only: true,
|
|
346
345
|
draft: {
|
|
347
346
|
summary: $summary,
|
|
348
|
-
value:
|
|
347
|
+
value: structuredClone($app),
|
|
349
348
|
path: newPath,
|
|
350
349
|
policy
|
|
351
350
|
}
|
|
@@ -422,14 +421,14 @@ async function saveDraft(forceSave = false) {
|
|
|
422
421
|
...(savedApp?.draft_only
|
|
423
422
|
? {
|
|
424
423
|
summary: $summary,
|
|
425
|
-
value:
|
|
424
|
+
value: structuredClone($app),
|
|
426
425
|
path: savedApp.draft_only ? newPath || path : path,
|
|
427
426
|
policy
|
|
428
427
|
}
|
|
429
428
|
: savedApp),
|
|
430
429
|
draft: {
|
|
431
430
|
summary: $summary,
|
|
432
|
-
value:
|
|
431
|
+
value: structuredClone($app),
|
|
433
432
|
path: newPath || path,
|
|
434
433
|
policy
|
|
435
434
|
}
|
|
@@ -5,8 +5,8 @@ import PanelSection from './settingsPanel/common/PanelSection.svelte';
|
|
|
5
5
|
import ComponentPanel from './settingsPanel/ComponentPanel.svelte';
|
|
6
6
|
import InputsSpecsEditor from './settingsPanel/InputsSpecsEditor.svelte';
|
|
7
7
|
import BackgroundScriptSettings from './settingsPanel/script/BackgroundScriptSettings.svelte';
|
|
8
|
-
import
|
|
9
|
-
const { selectedComponent, app, stateId } = getContext('AppViewerContext');
|
|
8
|
+
import EventHandlerItem from './settingsPanel/EventHandlerItem.svelte';
|
|
9
|
+
const { selectedComponent, app, stateId, runnableComponents } = getContext('AppViewerContext');
|
|
10
10
|
let firstComponent = $selectedComponent?.[0];
|
|
11
11
|
$: $selectedComponent?.[0] != firstComponent && (firstComponent = $selectedComponent?.[0]);
|
|
12
12
|
$: hiddenInlineScript = $app?.hiddenInlineScripts
|
|
@@ -142,7 +142,17 @@ const dispatch = createEventDispatcher();
|
|
|
142
142
|
</PanelSection>
|
|
143
143
|
</div>
|
|
144
144
|
{/if}
|
|
145
|
-
<
|
|
145
|
+
<PanelSection
|
|
146
|
+
title={`Event handlers`}
|
|
147
|
+
tooltip="Event handlers are used to trigger actions on other components when a specific event occurs. For example, you can trigger a recompute on a component when a script has successfully run."
|
|
148
|
+
>
|
|
149
|
+
<EventHandlerItem
|
|
150
|
+
title="on success"
|
|
151
|
+
tooltip="This event is triggered when the script runs successfully."
|
|
152
|
+
items={Object.keys($runnableComponents).filter((_id) => _id !== id)}
|
|
153
|
+
bind:value={hiddenInlineScript.script.recomputeIds}
|
|
154
|
+
/>
|
|
155
|
+
</PanelSection>
|
|
146
156
|
<div class="grow shrink" />
|
|
147
157
|
{/key}
|
|
148
158
|
{/if}
|
|
@@ -180,37 +180,23 @@ function mouseOut() {
|
|
|
180
180
|
{render}
|
|
181
181
|
/>
|
|
182
182
|
{:else if component.type === 'logcomponent'}
|
|
183
|
-
<AppLogsComponent
|
|
184
|
-
id={component.id}
|
|
185
|
-
customCss={component.customCss}
|
|
186
|
-
bind:initializing
|
|
187
|
-
componentInput={component.componentInput}
|
|
188
|
-
{render}
|
|
189
|
-
/>
|
|
183
|
+
<AppLogsComponent />
|
|
190
184
|
{:else if component.type === 'jobidlogcomponent'}
|
|
191
185
|
<AppJobIdLogComponent
|
|
192
186
|
id={component.id}
|
|
193
187
|
customCss={component.customCss}
|
|
194
188
|
bind:initializing
|
|
195
189
|
configuration={component.configuration}
|
|
196
|
-
componentInput={component.componentInput}
|
|
197
190
|
{render}
|
|
198
191
|
/>
|
|
199
192
|
{:else if component.type === 'flowstatuscomponent'}
|
|
200
|
-
<AppFlowStatusComponent
|
|
201
|
-
id={component.id}
|
|
202
|
-
customCss={component.customCss}
|
|
203
|
-
bind:initializing
|
|
204
|
-
componentInput={component.componentInput}
|
|
205
|
-
{render}
|
|
206
|
-
/>
|
|
193
|
+
<AppFlowStatusComponent />
|
|
207
194
|
{:else if component.type === 'jobidflowstatuscomponent'}
|
|
208
195
|
<AppJobIdFlowStatus
|
|
209
196
|
id={component.id}
|
|
210
197
|
customCss={component.customCss}
|
|
211
198
|
bind:initializing
|
|
212
199
|
configuration={component.configuration}
|
|
213
|
-
componentInput={component.componentInput}
|
|
214
200
|
{render}
|
|
215
201
|
/>
|
|
216
202
|
{:else if component.type === 'barchartcomponent'}
|
|
@@ -609,6 +595,7 @@ function mouseOut() {
|
|
|
609
595
|
id={component.id}
|
|
610
596
|
tabs={component.tabs}
|
|
611
597
|
disabledTabs={component.disabledTabs}
|
|
598
|
+
onTabChange={component.onTabChange}
|
|
612
599
|
customCss={component.customCss}
|
|
613
600
|
{componentContainerHeight}
|
|
614
601
|
{render}
|
|
@@ -620,6 +607,8 @@ function mouseOut() {
|
|
|
620
607
|
customCss={component.customCss}
|
|
621
608
|
{componentContainerHeight}
|
|
622
609
|
componentInput={component.componentInput}
|
|
610
|
+
onNext={component.onNext}
|
|
611
|
+
onPrevious={component.onPrevious}
|
|
623
612
|
{render}
|
|
624
613
|
/>
|
|
625
614
|
{:else if component.type === 'conditionalwrapper' && component.conditions}
|
|
@@ -627,6 +616,7 @@ function mouseOut() {
|
|
|
627
616
|
id={component.id}
|
|
628
617
|
conditions={component.conditions}
|
|
629
618
|
customCss={component.customCss}
|
|
619
|
+
onTabChange={component.onTabChange}
|
|
630
620
|
{componentContainerHeight}
|
|
631
621
|
{render}
|
|
632
622
|
/>
|
|
@@ -678,6 +668,7 @@ function mouseOut() {
|
|
|
678
668
|
configuration={component.configuration}
|
|
679
669
|
id={component.id}
|
|
680
670
|
customCss={component.customCss}
|
|
671
|
+
onFileChange={component.onFileChange}
|
|
681
672
|
{render}
|
|
682
673
|
/>
|
|
683
674
|
{:else if component.type === 's3fileinputcomponent'}
|
|
@@ -685,6 +676,7 @@ function mouseOut() {
|
|
|
685
676
|
configuration={component.configuration}
|
|
686
677
|
id={component.id}
|
|
687
678
|
customCss={component.customCss}
|
|
679
|
+
onFileChange={component.onFileChange}
|
|
688
680
|
{render}
|
|
689
681
|
/>
|
|
690
682
|
{:else if component.type === 'imagecomponent'}
|
|
@@ -104,10 +104,13 @@ export type RadioComponent = BaseComponent<'radiocomponent'>;
|
|
|
104
104
|
export type IconComponent = BaseComponent<'iconcomponent'>;
|
|
105
105
|
export type HorizontalDividerComponent = BaseComponent<'horizontaldividercomponent'>;
|
|
106
106
|
export type VerticalDividerComponent = BaseComponent<'verticaldividercomponent'>;
|
|
107
|
-
export type FileInputComponent = BaseComponent<'fileinputcomponent'
|
|
107
|
+
export type FileInputComponent = BaseComponent<'fileinputcomponent'> & {
|
|
108
|
+
onFileChange?: string[];
|
|
109
|
+
};
|
|
108
110
|
export type TabsComponent = BaseComponent<'tabscomponent'> & {
|
|
109
111
|
tabs: string[];
|
|
110
112
|
disabledTabs: RichConfiguration[];
|
|
113
|
+
onTabChange?: string[];
|
|
111
114
|
};
|
|
112
115
|
export type ListComponent = BaseComponent<'listcomponent'>;
|
|
113
116
|
export type ContainerComponent = BaseComponent<'containercomponent'> & {
|
|
@@ -131,9 +134,12 @@ export type ModalComponent = BaseComponent<'modalcomponent'> & {
|
|
|
131
134
|
};
|
|
132
135
|
export type StepperComponent = BaseComponent<'steppercomponent'> & {
|
|
133
136
|
tabs: string[];
|
|
137
|
+
onNext?: string[];
|
|
138
|
+
onPrevious?: string[];
|
|
134
139
|
};
|
|
135
140
|
export type ConditionalWrapperComponent = BaseComponent<'conditionalwrapper'> & {
|
|
136
141
|
conditions: RichConfiguration[];
|
|
142
|
+
onTabChange?: string[];
|
|
137
143
|
};
|
|
138
144
|
export type Schemaformcomponent = BaseComponent<'schemaformcomponent'>;
|
|
139
145
|
export type SelectTabComponent = BaseComponent<'selecttabcomponent'>;
|
|
@@ -147,7 +153,9 @@ export type DBExplorerComponent = BaseComponent<'dbexplorercomponent'> & {
|
|
|
147
153
|
columns: RichConfiguration;
|
|
148
154
|
actions: TableAction[];
|
|
149
155
|
};
|
|
150
|
-
export type S3FileInputComponent = BaseComponent<'s3fileinputcomponent'
|
|
156
|
+
export type S3FileInputComponent = BaseComponent<'s3fileinputcomponent'> & {
|
|
157
|
+
onFileChange?: string[];
|
|
158
|
+
};
|
|
151
159
|
export type DecisionTreeNode = {
|
|
152
160
|
id: string;
|
|
153
161
|
label: string;
|
|
@@ -3903,6 +3911,7 @@ export declare const components: {
|
|
|
3903
3911
|
readonly type: "static";
|
|
3904
3912
|
readonly fieldType: "text";
|
|
3905
3913
|
readonly value: "";
|
|
3914
|
+
readonly allowTypeChange: false;
|
|
3906
3915
|
};
|
|
3907
3916
|
readonly flex: {
|
|
3908
3917
|
readonly type: "static";
|
|
@@ -3175,7 +3175,8 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy HH:mm'
|
|
|
3175
3175
|
whereClause: {
|
|
3176
3176
|
type: 'static',
|
|
3177
3177
|
fieldType: 'text',
|
|
3178
|
-
value: ''
|
|
3178
|
+
value: '',
|
|
3179
|
+
allowTypeChange: false
|
|
3179
3180
|
},
|
|
3180
3181
|
flex: {
|
|
3181
3182
|
type: 'static',
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { GripVertical, Loader2, Plus, X } from 'lucide-svelte';
|
|
3
3
|
import { createEventDispatcher } from 'svelte';
|
|
4
4
|
import SubTypeEditor from './SubTypeEditor.svelte';
|
|
5
|
-
import {
|
|
5
|
+
import { dragHandle, dragHandleZone } from '@windmill-labs/svelte-dnd-action';
|
|
6
6
|
import { generateRandomString, pluralize } from '../../../../utils';
|
|
7
7
|
import Toggle from '../../../Toggle.svelte';
|
|
8
8
|
import QuickAddColumn from './QuickAddColumn.svelte';
|
|
@@ -181,36 +181,15 @@ function deleteElementByType(index) {
|
|
|
181
181
|
dispatch('deleteArrayItem', { index });
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
let dragDisabled = true;
|
|
185
|
-
let dragging = false;
|
|
186
184
|
function handleConsider(e) {
|
|
187
|
-
const { items: newItems
|
|
185
|
+
const { items: newItems } = e.detail;
|
|
188
186
|
items = newItems;
|
|
189
|
-
// Ensure dragging is stopped on drag finish via keyboard
|
|
190
|
-
if (source === SOURCES.KEYBOARD && trigger === TRIGGERS.DRAG_STOPPED) {
|
|
191
|
-
dragDisabled = true;
|
|
192
|
-
}
|
|
193
187
|
}
|
|
194
188
|
function handleFinalize(e) {
|
|
195
|
-
const { items: newItems
|
|
189
|
+
const { items: newItems } = e.detail;
|
|
196
190
|
items = newItems;
|
|
197
|
-
// Ensure dragging is stopped on drag finish via pointer (mouse, touch)
|
|
198
|
-
if (source === SOURCES.POINTER) {
|
|
199
|
-
dragDisabled = true;
|
|
200
|
-
}
|
|
201
191
|
const reorderedValues = items.map((item) => item.value);
|
|
202
192
|
componentInput.value = reorderedValues;
|
|
203
|
-
dragging = false;
|
|
204
|
-
}
|
|
205
|
-
function startDrag(e) {
|
|
206
|
-
dragging = true;
|
|
207
|
-
// preventing default to prevent lag on touch devices (because of the browser checking for screen scrolling)
|
|
208
|
-
e.preventDefault();
|
|
209
|
-
dragDisabled = false;
|
|
210
|
-
}
|
|
211
|
-
function handleKeyDown(e) {
|
|
212
|
-
if ((e.key === 'Enter' || e.key === ' ') && dragDisabled)
|
|
213
|
-
dragDisabled = false;
|
|
214
193
|
}
|
|
215
194
|
let items = (Array.isArray(componentInput.value) ? componentInput.value : [])
|
|
216
195
|
.filter((x) => x != undefined)
|
|
@@ -256,9 +235,8 @@ let raw = false;
|
|
|
256
235
|
{/if}
|
|
257
236
|
</div>
|
|
258
237
|
<section
|
|
259
|
-
use:
|
|
238
|
+
use:dragHandleZone={{
|
|
260
239
|
items,
|
|
261
|
-
dragDisabled,
|
|
262
240
|
flipDurationMs,
|
|
263
241
|
dropTargetStyle: {}
|
|
264
242
|
}}
|
|
@@ -277,19 +255,12 @@ let raw = false;
|
|
|
277
255
|
bind:componentInput
|
|
278
256
|
bind:value={item.value}
|
|
279
257
|
on:remove={() => deleteElementByType(index)}
|
|
280
|
-
{dragging}
|
|
281
258
|
/>
|
|
282
259
|
</div>
|
|
283
260
|
|
|
284
261
|
<div class="flex justify-between flex-col items-center">
|
|
285
262
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
286
|
-
<div
|
|
287
|
-
tabindex={dragDisabled ? 0 : -1}
|
|
288
|
-
class="w-4 h-4 cursor-move"
|
|
289
|
-
on:mousedown={startDrag}
|
|
290
|
-
on:touchstart={startDrag}
|
|
291
|
-
on:keydown={handleKeyDown}
|
|
292
|
-
>
|
|
263
|
+
<div class="w-4 h-4 cursor-move handle" use:dragHandle>
|
|
293
264
|
<GripVertical size={16} />
|
|
294
265
|
</div>
|
|
295
266
|
{#if subFieldType !== 'db-explorer'}
|
|
@@ -7,7 +7,6 @@ import StaticInputEditor from './inputEditor/StaticInputEditor.svelte';
|
|
|
7
7
|
import ConnectedInputEditor from './inputEditor/ConnectedInputEditor.svelte';
|
|
8
8
|
import { classNames, getModifierKey, isMac } from '../../../../utils';
|
|
9
9
|
import { buildExtraLib } from '../../utils';
|
|
10
|
-
import Recompute from './Recompute.svelte';
|
|
11
10
|
import Tooltip from '../../../Tooltip.svelte';
|
|
12
11
|
import ComponentInputTypeEditor from './ComponentInputTypeEditor.svelte';
|
|
13
12
|
import AlignmentEditor from './AlignmentEditor.svelte';
|
|
@@ -36,6 +35,7 @@ import DecisionTreeGraphEditor from './DecisionTreeGraphEditor.svelte';
|
|
|
36
35
|
import GridAgChartsLicenseKe from './GridAgChartsLicenseKe.svelte';
|
|
37
36
|
import Toggle from '../../../Toggle.svelte';
|
|
38
37
|
import ContextVariables from './ContextVariables.svelte';
|
|
38
|
+
import EventHandlers from './EventHandlers.svelte';
|
|
39
39
|
export let componentSettings = undefined;
|
|
40
40
|
export let onDelete = undefined;
|
|
41
41
|
export let noGrid = false;
|
|
@@ -362,46 +362,8 @@ function transformToFrontend() {
|
|
|
362
362
|
{ccomponents[component.type].name} has no configuration
|
|
363
363
|
</div>
|
|
364
364
|
{/if}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
bind:recomputeIds={componentSettings.item.data.recomputeIds}
|
|
368
|
-
ownId={component.id}
|
|
369
|
-
/>
|
|
370
|
-
{/if}
|
|
371
|
-
{#if (`onOpenRecomputeIds` in componentSettings.item.data && Array.isArray(componentSettings.item.data.onOpenRecomputeIds)) || componentSettings.item.data.type === 'modalcomponent' || componentSettings.item.data.type === 'drawercomponent'}
|
|
372
|
-
<Recompute
|
|
373
|
-
bind:recomputeIds={componentSettings.item.data.onOpenRecomputeIds}
|
|
374
|
-
ownId={component.id}
|
|
375
|
-
title="Trigger runnables on open"
|
|
376
|
-
tooltip="Select components to recompute after this component was opened"
|
|
377
|
-
/>
|
|
378
|
-
{/if}
|
|
379
|
-
{#if (`onCloseRecomputeIds` in componentSettings.item.data && Array.isArray(componentSettings.item.data.onCloseRecomputeIds)) || componentSettings.item.data.type === 'modalcomponent' || componentSettings.item.data.type === 'drawercomponent'}
|
|
380
|
-
<Recompute
|
|
381
|
-
bind:recomputeIds={componentSettings.item.data.onCloseRecomputeIds}
|
|
382
|
-
ownId={component.id}
|
|
383
|
-
title="Trigger runnables on close"
|
|
384
|
-
tooltip="Select components to recompute after this component was closed"
|
|
385
|
-
/>
|
|
386
|
-
{/if}
|
|
387
|
-
{#if componentSettings.item.data.type === 'checkboxcomponent'}
|
|
388
|
-
<Recompute
|
|
389
|
-
title="Recompute on toggle"
|
|
390
|
-
tooltip={'Contrary to onSuccess, this will only trigger recompute when a human toggle the change, not if it set by a default value or by setValue'}
|
|
391
|
-
documentationLink={undefined}
|
|
392
|
-
bind:recomputeIds={componentSettings.item.data.onToggle}
|
|
393
|
-
ownId={component.id}
|
|
394
|
-
/>
|
|
395
|
-
{/if}
|
|
396
|
-
{#if componentSettings.item.data.type === 'resourceselectcomponent' || componentSettings.item.data.type === 'selectcomponent'}
|
|
397
|
-
<Recompute
|
|
398
|
-
title="Recompute on select"
|
|
399
|
-
tooltip={'Contrary to onSuccess, this will only trigger recompute when a human select an item, not if it set by a default value or by setValue'}
|
|
400
|
-
documentationLink={undefined}
|
|
401
|
-
bind:recomputeIds={componentSettings.item.data.onSelect}
|
|
402
|
-
ownId={component.id}
|
|
403
|
-
/>
|
|
404
|
-
{/if}
|
|
365
|
+
|
|
366
|
+
<EventHandlers bind:item={componentSettings.item} ownId={component.id} />
|
|
405
367
|
|
|
406
368
|
<div class="grow shrink" />
|
|
407
369
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script>import Tooltip from '../../../Tooltip.svelte';
|
|
2
|
+
import MultiSelect from '../../../multiselect/MultiSelectWrapper.svelte';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
export let items;
|
|
5
|
+
export let value = undefined;
|
|
6
|
+
export let title;
|
|
7
|
+
export let tooltip;
|
|
8
|
+
$: width = 0;
|
|
9
|
+
const inputWidth = 280;
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
class={twMerge(
|
|
14
|
+
'flex flex-col justify-between w-full',
|
|
15
|
+
width < inputWidth ? 'flex-col gap-2' : 'flex-row gap-16 '
|
|
16
|
+
)}
|
|
17
|
+
bind:clientWidth={width}
|
|
18
|
+
>
|
|
19
|
+
<div class="flex items-center text-xs h-8 whitespace-nowrap">
|
|
20
|
+
{title}
|
|
21
|
+
<Tooltip light small>{tooltip}</Tooltip>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<div class="w-full">
|
|
25
|
+
{#if items.length === 0}
|
|
26
|
+
<div class="text-xs text-secondary w-full flex items-center justify-end h-8">
|
|
27
|
+
No components to recompute.
|
|
28
|
+
</div>
|
|
29
|
+
{:else}
|
|
30
|
+
<MultiSelect {items} bind:value />
|
|
31
|
+
{/if}
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
items: string[];
|
|
5
|
+
value?: string[] | undefined;
|
|
6
|
+
title: string;
|
|
7
|
+
tooltip: string;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export type EventHandlerItemProps = typeof __propDef.props;
|
|
15
|
+
export type EventHandlerItemEvents = typeof __propDef.events;
|
|
16
|
+
export type EventHandlerItemSlots = typeof __propDef.slots;
|
|
17
|
+
export default class EventHandlerItem extends SvelteComponent<EventHandlerItemProps, EventHandlerItemEvents, EventHandlerItemSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<script>import { getContext } from 'svelte';
|
|
2
|
+
import EventHandlerItem from './EventHandlerItem.svelte';
|
|
3
|
+
import PanelSection from './common/PanelSection.svelte';
|
|
4
|
+
const { runnableComponents } = getContext('AppViewerContext');
|
|
5
|
+
export let item;
|
|
6
|
+
export let ownId;
|
|
7
|
+
const componentsWithEventHandler = [
|
|
8
|
+
'modalcomponent',
|
|
9
|
+
'drawercomponent',
|
|
10
|
+
'buttoncomponent',
|
|
11
|
+
'formcomponent',
|
|
12
|
+
'formbuttoncomponent',
|
|
13
|
+
'checkboxcomponent',
|
|
14
|
+
'resourceselectcomponent',
|
|
15
|
+
'selectcomponent',
|
|
16
|
+
'tabscomponent',
|
|
17
|
+
'conditionalwrapper',
|
|
18
|
+
'fileinputcomponent',
|
|
19
|
+
's3fileinputcomponent',
|
|
20
|
+
'steppercomponent'
|
|
21
|
+
];
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
{#if componentsWithEventHandler.includes(item.data.type)}
|
|
25
|
+
<PanelSection
|
|
26
|
+
title="Event handlers"
|
|
27
|
+
tooltip="Event handlers are used to trigger actions on other components when a specific event occurs. For example, you can trigger a recompute on a component when a button is clicked."
|
|
28
|
+
>
|
|
29
|
+
{#if (`onOpenRecomputeIds` in item.data && Array.isArray(item.data.onOpenRecomputeIds)) || item.data.type === 'modalcomponent' || item.data.type === 'drawercomponent'}
|
|
30
|
+
<EventHandlerItem
|
|
31
|
+
title="on open"
|
|
32
|
+
tooltip="Select components to recompute after this component was opened"
|
|
33
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
34
|
+
bind:value={item.data.onOpenRecomputeIds}
|
|
35
|
+
/>
|
|
36
|
+
{/if}
|
|
37
|
+
|
|
38
|
+
{#if (`onCloseRecomputeIds` in item.data && Array.isArray(item.data.onCloseRecomputeIds)) || item.data.type === 'modalcomponent' || item.data.type === 'drawercomponent'}
|
|
39
|
+
<EventHandlerItem
|
|
40
|
+
title="on close"
|
|
41
|
+
tooltip="Select components to recompute after this component was closed"
|
|
42
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
43
|
+
bind:value={item.data.onCloseRecomputeIds}
|
|
44
|
+
/>
|
|
45
|
+
{/if}
|
|
46
|
+
{#if (`recomputeIds` in item.data && Array.isArray(item.data.recomputeIds)) || item.data.type === 'buttoncomponent' || item.data.type === 'formcomponent' || item.data.type === 'formbuttoncomponent' || item.data.type === 'checkboxcomponent'}
|
|
47
|
+
<EventHandlerItem
|
|
48
|
+
title="on success"
|
|
49
|
+
tooltip="Select components to recompute after this runnable has successfully run"
|
|
50
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
51
|
+
bind:value={item.data.recomputeIds}
|
|
52
|
+
/>
|
|
53
|
+
{/if}
|
|
54
|
+
{#if item.data.type === 'checkboxcomponent'}
|
|
55
|
+
<EventHandlerItem
|
|
56
|
+
title="on toggle"
|
|
57
|
+
tooltip="Contrary to onSuccess, this will only trigger recompute when a human toggle the change, not if it set by a default value or by setValue"
|
|
58
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
59
|
+
bind:value={item.data.onToggle}
|
|
60
|
+
/>
|
|
61
|
+
{/if}
|
|
62
|
+
{#if item.data.type === 'resourceselectcomponent' || item.data.type === 'selectcomponent'}
|
|
63
|
+
<EventHandlerItem
|
|
64
|
+
title="on select"
|
|
65
|
+
tooltip="Contrary to onSuccess, this will only trigger recompute when a human select an item, not if it set by a default value or by setValue"
|
|
66
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
67
|
+
bind:value={item.data.onSelect}
|
|
68
|
+
/>
|
|
69
|
+
{/if}
|
|
70
|
+
{#if item.data.type === 'tabscomponent' || item.data.type === 'conditionalwrapper'}
|
|
71
|
+
<EventHandlerItem
|
|
72
|
+
title="on tab change"
|
|
73
|
+
tooltip="Select components to recompute after the selected tab was changed"
|
|
74
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
75
|
+
bind:value={item.data.onTabChange}
|
|
76
|
+
/>
|
|
77
|
+
{/if}
|
|
78
|
+
{#if item.data.type === 'fileinputcomponent' || item.data.type === 's3fileinputcomponent'}
|
|
79
|
+
<EventHandlerItem
|
|
80
|
+
title="on file change"
|
|
81
|
+
tooltip="Select components to recompute after a file was selected"
|
|
82
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
83
|
+
bind:value={item.data.onFileChange}
|
|
84
|
+
/>
|
|
85
|
+
{/if}
|
|
86
|
+
{#if item.data.type === 'steppercomponent'}
|
|
87
|
+
<EventHandlerItem
|
|
88
|
+
title="on next"
|
|
89
|
+
tooltip="Select components to recompute after the next button was clicked"
|
|
90
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
91
|
+
bind:value={item.data.onNext}
|
|
92
|
+
/>
|
|
93
|
+
{/if}
|
|
94
|
+
{#if item.data.type === 'steppercomponent'}
|
|
95
|
+
<EventHandlerItem
|
|
96
|
+
title="on previous"
|
|
97
|
+
tooltip="Select components to recompute after the previous button was clicked"
|
|
98
|
+
items={Object.keys($runnableComponents).filter((id) => id !== ownId)}
|
|
99
|
+
bind:value={item.data.onPrevious}
|
|
100
|
+
/>
|
|
101
|
+
{/if}
|
|
102
|
+
</PanelSection>
|
|
103
|
+
{/if}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { GridItem } from '../../types';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
item: GridItem;
|
|
6
|
+
ownId: string;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type EventHandlersProps = typeof __propDef.props;
|
|
14
|
+
export type EventHandlersEvents = typeof __propDef.events;
|
|
15
|
+
export type EventHandlersSlots = typeof __propDef.slots;
|
|
16
|
+
export default class EventHandlers extends SvelteComponent<EventHandlersProps, EventHandlersEvents, EventHandlersSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|