windmill-components 1.84.6 → 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/AppConnect.svelte +2 -2
- package/components/ArgInfo.svelte +4 -6
- package/components/ArgInput.svelte +12 -12
- package/components/ArgInput.svelte.d.ts +1 -2
- package/components/CenteredModal.svelte +9 -7
- package/components/CronInput.svelte +301 -64
- package/components/CronInput.svelte.d.ts +3 -3
- package/components/DisplayResult.svelte +5 -7
- package/components/Dropdown.svelte +5 -4
- package/components/Editor.svelte +138 -83
- package/components/Editor.svelte.d.ts +10 -4
- package/components/EditorBar.svelte +72 -36
- package/components/EditorBar.svelte.d.ts +1 -1
- package/components/FlowBuilder.svelte +136 -110
- package/components/FlowGraphViewer.svelte +5 -8
- package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/components/FlowPreviewContent.svelte +14 -11
- package/components/FlowStatusViewer.svelte +54 -44
- package/components/FlowViewer.svelte +1 -1
- package/components/FolderEditor.svelte +2 -10
- package/components/FolderUsageInfo.svelte +1 -1
- package/components/GroupEditor.svelte +6 -15
- package/components/HighlightCode.svelte +1 -1
- package/components/InlineCodeCopy.svelte +2 -1
- package/components/InputTransformForm.svelte +75 -73
- package/components/InputTransformSchemaForm.svelte +1 -1
- package/components/InputTransformsViewer.svelte +1 -1
- package/components/LightweightArgInput.svelte +12 -0
- package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/components/LightweightSchemaForm.svelte +2 -1
- package/components/LightweightSchemaForm.svelte.d.ts +2 -0
- package/components/Modal.svelte +2 -2
- package/components/ModulePreview.svelte +11 -11
- package/components/ModuleStatus.svelte +0 -1
- package/components/Multiselect.svelte +1 -0
- package/components/ObjectResourceInput.svelte +1 -23
- package/components/Path.svelte +56 -94
- package/components/Popover.svelte +7 -19
- package/components/Range.svelte +1 -4
- package/components/ResourceEditor.svelte +6 -6
- package/components/ResourcePicker.svelte +2 -2
- package/components/RunForm.svelte +5 -6
- package/components/ScheduleEditor.svelte +23 -13
- package/components/SchemaModal.svelte +1 -0
- package/components/SchemaModal.svelte.d.ts +1 -1
- package/components/ScriptBuilder.svelte +201 -206
- package/components/ScriptBuilder.svelte.d.ts +2 -0
- package/components/ScriptEditor.svelte +38 -38
- package/components/ScriptEditor.svelte.d.ts +5 -1
- package/components/ScriptSchema.svelte +1 -20
- package/components/ScriptSchema.svelte.d.ts +0 -1
- package/components/SearchItems.svelte +1 -1
- package/components/SharedBadge.svelte +0 -1
- package/components/SimpleEditor.svelte +17 -37
- package/components/SimpleEditor.svelte.d.ts +6 -0
- package/components/Star.svelte +2 -1
- package/components/TemplateEditor.svelte +21 -29
- 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/AppBarChart.svelte +5 -5
- 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 +4 -1
- package/components/apps/components/display/AppMap.svelte +3 -0
- package/components/apps/components/display/AppPdf.svelte +14 -11
- package/components/apps/components/display/AppText.svelte +152 -60
- package/components/apps/components/display/AppText.svelte.d.ts +4 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +25 -12
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
- package/components/apps/components/display/table/AppTable.svelte +1 -2
- package/components/apps/components/display/table/AppTableFooter.svelte +0 -1
- 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 +4 -3
- 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/helpers/eval.d.ts +4 -0
- package/components/apps/components/helpers/eval.js +3 -1
- 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 +5 -2
- package/components/apps/components/inputs/AppNumberInput.svelte +3 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +8 -5
- 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 +12 -5
- 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 +4 -1
- package/components/apps/editor/AppEditor.svelte +42 -35
- 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/SubGridEditor.svelte +5 -5
- package/components/apps/editor/appUtils.js +13 -3
- package/components/apps/editor/component/Component.svelte +24 -2
- package/components/apps/editor/component/ComponentWrapper.svelte +5 -0
- 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 -3
- package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +2 -2
- package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -2
- package/components/apps/editor/contextPanel/components/IdEditor.svelte +90 -0
- package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +18 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte +92 -21
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +4 -3
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +3 -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/TableActions.svelte +1 -1
- 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/mainInput/WorkspaceFlowList.svelte +2 -5
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +2 -5
- 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/svelte-grid/utils/helper.js +1 -1
- package/components/apps/types.d.ts +12 -0
- package/components/apps/utils.d.ts +3 -1
- package/components/apps/utils.js +26 -2
- package/components/build_workers.d.ts +14 -0
- package/components/build_workers.js +45 -0
- package/components/common/badge/Badge.svelte +0 -1
- 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 +2 -3
- package/components/common/drawer/DrawerContent.svelte +2 -6
- 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 +16 -8
- package/components/common/popup/Popup.svelte.d.ts +6 -0
- package/components/common/table/AppRow.svelte +0 -1
- package/components/common/table/FlowRow.svelte +0 -1
- package/components/common/table/ScriptRow.svelte +2 -3
- 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 +14 -9
- 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/DynamicInputHelpBox.svelte +1 -0
- package/components/flows/content/FlowBranchesAllWrapper.svelte +2 -2
- package/components/flows/content/FlowBranchesOneWrapper.svelte +2 -2
- package/components/flows/content/FlowInputsFlow.svelte +1 -1
- package/components/flows/content/FlowInputsFlow.svelte.d.ts +1 -3
- package/components/flows/content/FlowModuleComponent.svelte +27 -28
- package/components/flows/content/FlowModuleWrapper.svelte +0 -1
- package/components/flows/content/FlowRetries.svelte +1 -2
- package/components/flows/content/FlowSchedules.svelte +3 -1
- package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/components/flows/flowStateUtils.d.ts +0 -3
- package/components/flows/flowStateUtils.js +3 -23
- package/components/flows/header/FlowImportExportMenu.svelte +10 -12
- package/components/flows/header/FlowPreviewButtons.svelte +21 -24
- package/components/flows/idUtils.d.ts +4 -0
- package/components/flows/idUtils.js +47 -0
- package/components/flows/map/FlowModuleSchemaItem.svelte +6 -6
- package/components/flows/map/MapItem.svelte +9 -9
- package/components/flows/map/MapItem.svelte.d.ts +0 -1
- package/components/flows/scheduleUtils.d.ts +1 -0
- package/components/flows/scheduleUtils.js +2 -1
- package/components/flows/utils.d.ts +0 -2
- package/components/flows/utils.js +3 -35
- package/components/graph/FlowGraph.svelte +22 -8
- package/components/graph/FlowGraph.svelte.d.ts +2 -0
- package/components/graph/svelvet/collapsible/controllers/util.js +3 -14
- package/components/graph/svelvet/container/views/GraphView.svelte +25 -42
- package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +2 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte +5 -3
- package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +3 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.js +5 -5
- package/components/graph/svelvet/edges/controllers/util.js +1 -1
- package/components/graph/svelvet/edges/models/Edge.js +2 -2
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +1 -1
- package/components/graph/svelvet/nodes/models/Node.js +0 -1
- package/components/graph/svelvet/nodes/views/Node.svelte +0 -1
- package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +0 -1
- package/components/graph/svelvet/store/controllers/util.d.ts +1 -1
- package/components/graph/svelvet/store/controllers/util.js +3 -3
- package/components/home/ItemsList.svelte +11 -11
- package/components/icons/WindmillIcon.svelte +4 -0
- package/components/icons/WindmillIcon.svelte.d.ts +1 -0
- package/components/propertyPicker/ObjectViewer.svelte +0 -5
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +0 -1
- package/components/propertyPicker/PropPicker.svelte +2 -2
- package/components/scripts/CreateActionsScript.svelte +4 -22
- package/components/sidebar/WorkspaceMenu.svelte +8 -4
- package/editorUtils.d.ts +3 -0
- package/editorUtils.js +7 -2
- package/gen/core/OpenAPI.js +1 -1
- package/gen/index.d.ts +7 -1
- package/gen/index.js +3 -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/MainArgSignature.d.ts +8 -0
- package/gen/models/MainArgSignature.js +8 -1
- 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/infer.js +3 -0
- package/init_scripts/python_init_code.d.ts +1 -1
- package/init_scripts/python_init_code.js +2 -2
- package/package.json +684 -673
- package/script_helpers.d.ts +1 -1
- package/script_helpers.js +7 -5
- package/stores.js +14 -1
- package/user.d.ts +1 -1
- package/user.js +6 -6
- package/utils.d.ts +2 -2
- package/utils.js +21 -11
- package/components/common/button/ButtonPopup.svelte +0 -75
- 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
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte +0 -151
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +0 -20
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { isCodeInjection } from '../../../flows/utils';
|
|
2
|
+
import Tooltip from '../../../Tooltip.svelte';
|
|
3
|
+
import { Clipboard } from 'lucide-svelte';
|
|
4
|
+
import { getContext } from 'svelte';
|
|
5
|
+
import { get } from 'svelte/store';
|
|
6
|
+
import { twMerge } from 'tailwind-merge';
|
|
2
7
|
import { copyToClipboard } from '../../../../utils';
|
|
3
8
|
import Button from '../../../common/button/Button.svelte';
|
|
4
9
|
import Popover from '../../../Popover.svelte';
|
|
5
|
-
import AlignWrapper from '../helpers/AlignWrapper.svelte';
|
|
6
|
-
import RunnableWrapper from '../helpers/RunnableWrapper.svelte';
|
|
7
|
-
import { twMerge } from 'tailwind-merge';
|
|
8
|
-
import { getContext } from 'svelte';
|
|
9
10
|
import { initConfig, initOutput } from '../../editor/appUtils';
|
|
10
|
-
import Tooltip from '../../../Tooltip.svelte';
|
|
11
|
-
import { get } from 'svelte/store';
|
|
12
|
-
import ResolveConfig from '../helpers/ResolveConfig.svelte';
|
|
13
11
|
import { components } from '../../editor/component';
|
|
14
|
-
import
|
|
12
|
+
import AlignWrapper from '../helpers/AlignWrapper.svelte';
|
|
13
|
+
import ResolveConfig from '../helpers/ResolveConfig.svelte';
|
|
14
|
+
import RunnableWrapper from '../helpers/RunnableWrapper.svelte';
|
|
15
15
|
export let id;
|
|
16
16
|
export let componentInput;
|
|
17
17
|
export let horizontalAlignment = 'left';
|
|
@@ -20,8 +20,9 @@ export let configuration;
|
|
|
20
20
|
export let initializing = undefined;
|
|
21
21
|
export let customCss = undefined;
|
|
22
22
|
export let render;
|
|
23
|
+
export let editorMode = false;
|
|
23
24
|
let resolvedConfig = initConfig(components['textcomponent'].initialData.configuration, configuration);
|
|
24
|
-
const { app, worldStore, mode } = getContext('AppViewerContext');
|
|
25
|
+
const { app, worldStore, mode, componentControl } = getContext('AppViewerContext');
|
|
25
26
|
const editorcontext = getContext('AppEditorContext');
|
|
26
27
|
let result = undefined;
|
|
27
28
|
if (componentInput?.type == 'template' && !isCodeInjection(componentInput.eval)) {
|
|
@@ -58,10 +59,60 @@ function getClasses() {
|
|
|
58
59
|
return '';
|
|
59
60
|
}
|
|
60
61
|
}
|
|
62
|
+
function getClassesByType() {
|
|
63
|
+
switch (resolvedConfig.style) {
|
|
64
|
+
case 'Title':
|
|
65
|
+
return 'h1-textarea';
|
|
66
|
+
case 'Subtitle':
|
|
67
|
+
return 'h3-textarea';
|
|
68
|
+
case 'Body':
|
|
69
|
+
return 'p-textarea';
|
|
70
|
+
case 'Caption':
|
|
71
|
+
return 'p-textarea';
|
|
72
|
+
case 'Label':
|
|
73
|
+
return 'label';
|
|
74
|
+
default:
|
|
75
|
+
return 'p-textarea';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
61
78
|
let component = 'p';
|
|
62
79
|
let classes = '';
|
|
80
|
+
function getHorizontalAlignement() {
|
|
81
|
+
if (horizontalAlignment) {
|
|
82
|
+
switch (horizontalAlignment) {
|
|
83
|
+
case 'left':
|
|
84
|
+
return '!text-left';
|
|
85
|
+
case 'center':
|
|
86
|
+
return '!text-center';
|
|
87
|
+
case 'right':
|
|
88
|
+
return '!text-right';
|
|
89
|
+
default:
|
|
90
|
+
return '!text-left';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
63
94
|
$: resolvedConfig.style && (component = getComponent());
|
|
64
95
|
$: resolvedConfig.style && (classes = getClasses());
|
|
96
|
+
$: initialValue = componentInput?.type == 'template' ? componentInput.eval : '';
|
|
97
|
+
$: editableValue = initialValue ? JSON.parse(JSON.stringify(initialValue)) : '';
|
|
98
|
+
let rows = 1;
|
|
99
|
+
function onInput(e) {
|
|
100
|
+
const target = e.target;
|
|
101
|
+
if (target.value) {
|
|
102
|
+
$componentControl[id]?.setCode?.(target.value);
|
|
103
|
+
editableValue;
|
|
104
|
+
autosize();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function autosize() {
|
|
108
|
+
const el = document.getElementById(`text-${id}`);
|
|
109
|
+
setTimeout(() => {
|
|
110
|
+
if (el !== null) {
|
|
111
|
+
el.style.cssText = 'height:auto; padding:0';
|
|
112
|
+
el.style.cssText = 'height:' + el.scrollHeight + 'px';
|
|
113
|
+
}
|
|
114
|
+
}, 0);
|
|
115
|
+
}
|
|
65
116
|
</script>
|
|
66
117
|
|
|
67
118
|
{#each Object.keys(components['textcomponent'].initialData.configuration) as key (key)}
|
|
@@ -74,58 +125,99 @@ $: resolvedConfig.style && (classes = getClasses());
|
|
|
74
125
|
{/each}
|
|
75
126
|
|
|
76
127
|
<RunnableWrapper {outputs} {render} {componentInput} {id} bind:initializing bind:result>
|
|
77
|
-
<div
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
128
|
+
<div
|
|
129
|
+
class="h-full w-full overflow-hidden"
|
|
130
|
+
on:dblclick={() => {
|
|
131
|
+
if (!editorMode) {
|
|
132
|
+
editorMode = true
|
|
133
|
+
document.getElementById(`text-${id}`)?.focus()
|
|
134
|
+
autosize()
|
|
135
|
+
}
|
|
136
|
+
}}
|
|
137
|
+
on:keydown|stopPropagation
|
|
138
|
+
>
|
|
139
|
+
{#if editorMode && componentInput?.type == 'template'}
|
|
140
|
+
<AlignWrapper {horizontalAlignment} {verticalAlignment}>
|
|
141
|
+
<textarea
|
|
142
|
+
class={twMerge(
|
|
143
|
+
'whitespace-pre-wrap !outline-none !border-0 !bg-transparent !resize-none !overflow-hidden !ring-0 !p-0 text-center',
|
|
144
|
+
$app.css?.['textcomponent']?.['text']?.class,
|
|
145
|
+
customCss?.text?.class,
|
|
146
|
+
classes,
|
|
147
|
+
getClasses(),
|
|
148
|
+
getClassesByType(),
|
|
149
|
+
getHorizontalAlignement()
|
|
150
|
+
)}
|
|
151
|
+
on:pointerdown|stopPropagation
|
|
152
|
+
style={[$app.css?.['textcomponent']?.['text']?.style, customCss?.text?.style].join(';')}
|
|
153
|
+
id={`text-${id}`}
|
|
154
|
+
on:pointerenter={() => {
|
|
155
|
+
const elem = document.getElementById(`text-${id}`)
|
|
156
|
+
if (elem) {
|
|
157
|
+
elem.focus()
|
|
95
158
|
}
|
|
96
159
|
}}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
160
|
+
{rows}
|
|
161
|
+
on:input={onInput}
|
|
162
|
+
value={editableValue}
|
|
163
|
+
/>
|
|
164
|
+
</AlignWrapper>
|
|
165
|
+
{:else}
|
|
166
|
+
<AlignWrapper {horizontalAlignment} {verticalAlignment}>
|
|
167
|
+
{#if !result || result === ''}
|
|
168
|
+
<div class="text-gray-400 bg-gray-100 flex justify-center items-center h-full w-full">
|
|
169
|
+
No text
|
|
170
|
+
</div>
|
|
171
|
+
{:else}
|
|
172
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
173
|
+
<div
|
|
174
|
+
class="flex flex-wrap gap-2 pb-0.5 {$mode === 'dnd' &&
|
|
175
|
+
componentInput?.type == 'template'
|
|
176
|
+
? 'cursor-text'
|
|
177
|
+
: ''}"
|
|
178
|
+
on:click={() => {
|
|
179
|
+
if ($mode === 'dnd' && componentInput?.type == 'template') {
|
|
180
|
+
let ontextfocus = editorcontext?.ontextfocus
|
|
181
|
+
if (ontextfocus) {
|
|
182
|
+
get(ontextfocus)?.()
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}}
|
|
107
186
|
>
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
</
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
187
|
+
<svelte:element
|
|
188
|
+
this={component}
|
|
189
|
+
class={twMerge(
|
|
190
|
+
'whitespace-pre-wrap',
|
|
191
|
+
$app.css?.['textcomponent']?.['text']?.class,
|
|
192
|
+
customCss?.text?.class,
|
|
193
|
+
classes
|
|
194
|
+
)}
|
|
195
|
+
style={[$app.css?.['textcomponent']?.['text']?.style, customCss?.text?.style].join(
|
|
196
|
+
';'
|
|
197
|
+
)}
|
|
198
|
+
>
|
|
199
|
+
{String(result)}
|
|
200
|
+
{#if resolvedConfig.tooltip && resolvedConfig.tooltip != ''}
|
|
201
|
+
<Tooltip>{resolvedConfig.tooltip}</Tooltip>
|
|
202
|
+
{/if}
|
|
203
|
+
{#if resolvedConfig.copyButton && result}
|
|
204
|
+
<Popover notClickable>
|
|
205
|
+
<Button
|
|
206
|
+
variant="border"
|
|
207
|
+
size="xs"
|
|
208
|
+
color="dark"
|
|
209
|
+
btnClasses="!p-1"
|
|
210
|
+
on:click={() => copyToClipboard(result)}
|
|
211
|
+
>
|
|
212
|
+
<Clipboard size={14} strokeWidth={2} />
|
|
213
|
+
</Button>
|
|
214
|
+
<svelte:fragment slot="text">Copy to clipboard</svelte:fragment>
|
|
215
|
+
</Popover>
|
|
216
|
+
{/if}
|
|
217
|
+
</svelte:element>
|
|
218
|
+
</div>
|
|
219
|
+
{/if}
|
|
220
|
+
</AlignWrapper>
|
|
221
|
+
{/if}
|
|
130
222
|
</div>
|
|
131
223
|
</RunnableWrapper>
|
|
@@ -11,8 +11,12 @@ declare const __propDef: {
|
|
|
11
11
|
initializing?: boolean | undefined;
|
|
12
12
|
customCss?: ComponentCustomCSS<'textcomponent'> | undefined;
|
|
13
13
|
render: boolean;
|
|
14
|
+
editorMode?: boolean | undefined;
|
|
14
15
|
};
|
|
15
16
|
events: {
|
|
17
|
+
keydown: KeyboardEvent;
|
|
18
|
+
pointerdown: PointerEvent;
|
|
19
|
+
} & {
|
|
16
20
|
[evt: string]: CustomEvent<any>;
|
|
17
21
|
};
|
|
18
22
|
slots: {};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import 'ag-grid-community/styles/ag-grid.css';
|
|
1
|
+
<script>import 'ag-grid-community/styles/ag-grid.css';
|
|
3
2
|
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
3
|
+
import AgGridSvelte from 'ag-grid-svelte/AgGridSvelte.svelte';
|
|
4
|
+
import { isObject } from '../../../../../utils';
|
|
4
5
|
import { getContext, onMount } from 'svelte';
|
|
5
6
|
import RunnableWrapper from '../../helpers/RunnableWrapper.svelte';
|
|
6
|
-
import { isObject } from '../../../../../utils';
|
|
7
|
-
import Alert from '../../../../common/alert/Alert.svelte';
|
|
8
7
|
import { initConfig, initOutput } from '../../../editor/appUtils';
|
|
9
|
-
import ResolveConfig from '../../helpers/ResolveConfig.svelte';
|
|
10
8
|
import { components } from '../../../editor/component';
|
|
9
|
+
import Alert from '../../../../common/alert/Alert.svelte';
|
|
10
|
+
import ResolveConfig from '../../helpers/ResolveConfig.svelte';
|
|
11
11
|
export let id;
|
|
12
12
|
export let componentInput;
|
|
13
13
|
export let configuration;
|
|
14
14
|
export let initializing = undefined;
|
|
15
15
|
export let render;
|
|
16
16
|
let result = undefined;
|
|
17
|
-
const { worldStore, selectedComponent } = getContext('AppViewerContext');
|
|
17
|
+
const { worldStore, selectedComponent, componentControl } = getContext('AppViewerContext');
|
|
18
18
|
let resolvedConfig = initConfig(components['aggridcomponent'].initialData.configuration, configuration);
|
|
19
19
|
let outputs = initOutput($worldStore, id, {
|
|
20
20
|
selectedRowIndex: 0,
|
|
@@ -22,13 +22,14 @@ let outputs = initOutput($worldStore, id, {
|
|
|
22
22
|
result: [],
|
|
23
23
|
loading: false,
|
|
24
24
|
page: 0,
|
|
25
|
-
newChange: { row: 0, column: '', value: undefined }
|
|
25
|
+
newChange: { row: 0, column: '', value: undefined },
|
|
26
|
+
ready: undefined
|
|
26
27
|
});
|
|
27
28
|
let selectedRowIndex = -1;
|
|
28
|
-
function toggleRow(
|
|
29
|
-
if (selectedRowIndex !== rowIndex) {
|
|
29
|
+
function toggleRow(rowIndex) {
|
|
30
|
+
if (selectedRowIndex !== rowIndex && result) {
|
|
30
31
|
selectedRowIndex = rowIndex;
|
|
31
|
-
outputs?.selectedRow.set(
|
|
32
|
+
outputs?.selectedRow.set(result[rowIndex]);
|
|
32
33
|
outputs?.selectedRowIndex.set(rowIndex);
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -42,7 +43,7 @@ $: selectedRowIndex === -1 &&
|
|
|
42
43
|
// We need to wait until the component is mounted so the world is created
|
|
43
44
|
mounted &&
|
|
44
45
|
outputs &&
|
|
45
|
-
toggleRow(
|
|
46
|
+
toggleRow(0);
|
|
46
47
|
$: outputs?.result?.set(result ?? []);
|
|
47
48
|
let clientHeight;
|
|
48
49
|
let clientWidth;
|
|
@@ -75,7 +76,7 @@ function onCellValueChanged(event) {
|
|
|
75
76
|
<RunnableWrapper {outputs} {render} {componentInput} {id} bind:initializing bind:result>
|
|
76
77
|
{#if Array.isArray(result) && result.every(isObject)}
|
|
77
78
|
<div
|
|
78
|
-
class="border border-gray-300 shadow-sm divide-y divide-gray-300
|
|
79
|
+
class="border border-gray-300 shadow-sm divide-y divide-gray-300 flex flex-col h-full"
|
|
79
80
|
bind:clientHeight
|
|
80
81
|
bind:clientWidth
|
|
81
82
|
>
|
|
@@ -97,6 +98,18 @@ function onCellValueChanged(event) {
|
|
|
97
98
|
onPaginationChanged={(event) => {
|
|
98
99
|
outputs?.page.set(event.api.paginationGetCurrentPage())
|
|
99
100
|
}}
|
|
101
|
+
rowSelection="single"
|
|
102
|
+
suppressRowDeselection={true}
|
|
103
|
+
onSelectionChanged={(e) => {
|
|
104
|
+
const row = e.api.getSelectedNodes()?.[0]?.rowIndex
|
|
105
|
+
if (row != undefined) {
|
|
106
|
+
toggleRow(row)
|
|
107
|
+
}
|
|
108
|
+
}}
|
|
109
|
+
onGridReady={(e) => {
|
|
110
|
+
outputs?.ready.set(true)
|
|
111
|
+
$componentControl[id] = { agGrid: { api: e.api, columnApi: e.columnApi } }
|
|
112
|
+
}}
|
|
100
113
|
/>
|
|
101
114
|
{/key}
|
|
102
115
|
</div>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
2
|
import 'ag-grid-community/styles/ag-grid.css';
|
|
3
3
|
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
4
|
-
import type { RichConfigurations } from '../../../types';
|
|
5
4
|
import type { AppInput } from '../../../inputType';
|
|
5
|
+
import type { RichConfigurations } from '../../../types';
|
|
6
6
|
declare const __propDef: {
|
|
7
7
|
props: {
|
|
8
8
|
id: string;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<script>import { getContext, onMount } from 'svelte';
|
|
2
|
-
import InputValue from '../../helpers/InputValue.svelte';
|
|
3
2
|
import RunnableWrapper from '../../helpers/RunnableWrapper.svelte';
|
|
4
3
|
import { writable } from 'svelte/store';
|
|
5
4
|
import { createSvelteTable, flexRender } from '@tanstack/svelte-table';
|
|
@@ -251,7 +250,7 @@ $componentControl[id] = {
|
|
|
251
250
|
on:keypress={() => toggleRow(row, rowIndex)}
|
|
252
251
|
on:click={() => toggleRow(row, rowIndex)}
|
|
253
252
|
>
|
|
254
|
-
<div class="center-center h-full w-full flex-wrap gap-1
|
|
253
|
+
<div class="center-center h-full w-full flex-wrap gap-1">
|
|
255
254
|
{#each actionButtons as actionButton, actionIndex (actionButton?.id)}
|
|
256
255
|
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
|
|
257
256
|
<div
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { faDownload } from '@fortawesome/free-solid-svg-icons';
|
|
3
3
|
import { ChevronLeft, ChevronRight } from 'lucide-svelte';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
|
-
import { tableOptions } from './tableOptions';
|
|
6
5
|
export let result;
|
|
7
6
|
export let manualPagination;
|
|
8
7
|
export let pageSize;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script>import { twMerge } from 'tailwind-merge';
|
|
2
|
+
import { tailwindHorizontalAlignment, tailwindVerticalAlignment } from '../../utils';
|
|
2
3
|
export let horizontalAlignment = undefined;
|
|
3
4
|
export let verticalAlignment = undefined;
|
|
4
5
|
export let noWFull = false;
|
|
@@ -6,26 +7,6 @@ let c = '';
|
|
|
6
7
|
export { c as class };
|
|
7
8
|
export let style = '';
|
|
8
9
|
export let render = true;
|
|
9
|
-
function tailwindHorizontalAlignment(alignment) {
|
|
10
|
-
if (!alignment)
|
|
11
|
-
return '';
|
|
12
|
-
const classes = {
|
|
13
|
-
left: 'justify-start',
|
|
14
|
-
center: 'justify-center',
|
|
15
|
-
right: 'justify-end'
|
|
16
|
-
};
|
|
17
|
-
return classes[alignment];
|
|
18
|
-
}
|
|
19
|
-
function tailwindVerticalAlignment(alignment) {
|
|
20
|
-
if (!alignment)
|
|
21
|
-
return '';
|
|
22
|
-
const classes = {
|
|
23
|
-
top: 'items-start',
|
|
24
|
-
center: 'items-center',
|
|
25
|
-
bottom: 'items-end'
|
|
26
|
-
};
|
|
27
|
-
return classes[alignment];
|
|
28
|
-
}
|
|
29
10
|
$: classes = twMerge('flex z-auto', noWFull ? '' : 'w-full', tailwindHorizontalAlignment(horizontalAlignment), tailwindVerticalAlignment(verticalAlignment), verticalAlignment ? 'h-full' : '', c);
|
|
30
11
|
</script>
|
|
31
12
|
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
<script>import { getContext } from 'svelte';
|
|
1
|
+
<script>import { getContext, onMount } from 'svelte';
|
|
2
2
|
import { initOutput } from '../../editor/appUtils';
|
|
3
3
|
import RunnableComponent from './RunnableComponent.svelte';
|
|
4
4
|
export let id;
|
|
5
5
|
export let name;
|
|
6
6
|
export let inlineScript;
|
|
7
7
|
export let fields;
|
|
8
|
-
export let
|
|
8
|
+
export let recomputeOnInputChanged;
|
|
9
9
|
export let recomputableByRefreshButton;
|
|
10
|
-
let
|
|
11
|
-
const { worldStore } = getContext('AppViewerContext');
|
|
10
|
+
export let noBackendValue = undefined;
|
|
11
|
+
const { worldStore, staticExporter, noBackend } = getContext('AppViewerContext');
|
|
12
|
+
let result = noBackend ? noBackendValue : undefined;
|
|
13
|
+
onMount(() => {
|
|
14
|
+
$staticExporter[id] = () => {
|
|
15
|
+
return result;
|
|
16
|
+
};
|
|
17
|
+
});
|
|
12
18
|
let outputs = initOutput($worldStore, id, {
|
|
13
|
-
result:
|
|
19
|
+
result: result,
|
|
14
20
|
loading: false
|
|
15
21
|
});
|
|
16
22
|
</script>
|
|
@@ -20,7 +26,7 @@ let outputs = initOutput($worldStore, id, {
|
|
|
20
26
|
{id}
|
|
21
27
|
{fields}
|
|
22
28
|
autoRefresh={true}
|
|
23
|
-
{
|
|
29
|
+
{recomputeOnInputChanged}
|
|
24
30
|
bind:result
|
|
25
31
|
transformer={undefined}
|
|
26
32
|
runnable={{
|
|
@@ -7,8 +7,9 @@ declare const __propDef: {
|
|
|
7
7
|
name: string;
|
|
8
8
|
inlineScript: InlineScript | undefined;
|
|
9
9
|
fields: Record<string, StaticAppInput | ConnectedAppInput | RowAppInput | UserAppInput>;
|
|
10
|
-
|
|
10
|
+
recomputeOnInputChanged: boolean;
|
|
11
11
|
recomputableByRefreshButton: boolean;
|
|
12
|
+
noBackendValue?: any;
|
|
12
13
|
};
|
|
13
14
|
events: {
|
|
14
15
|
[evt: string]: CustomEvent<any>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script>import { getContext, onDestroy, onMount } from 'svelte';
|
|
2
|
+
export let id;
|
|
3
|
+
const { initialized } = getContext('AppViewerContext');
|
|
4
|
+
onMount(() => {
|
|
5
|
+
if (!$initialized.initializedComponents.includes(id)) {
|
|
6
|
+
$initialized.initializedComponents = [...$initialized.initializedComponents, id];
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
onDestroy(() => {
|
|
10
|
+
$initialized.initializedComponents = $initialized.initializedComponents.filter((c) => c !== id);
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
id: string;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type InitializeComponentProps = typeof __propDef.props;
|
|
12
|
+
export type InitializeComponentEvents = typeof __propDef.events;
|
|
13
|
+
export type InitializeComponentSlots = typeof __propDef.slots;
|
|
14
|
+
export default class InitializeComponent extends SvelteComponentTyped<InitializeComponentProps, InitializeComponentEvents, InitializeComponentSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -26,8 +26,14 @@ $: if (input && !deepEqual(input, lastInput)) {
|
|
|
26
26
|
const { worldStore, state, mode } = getContext('AppViewerContext');
|
|
27
27
|
$: stateId = $worldStore?.stateId;
|
|
28
28
|
let timeout = undefined;
|
|
29
|
+
let firstDebounce = true;
|
|
29
30
|
const debounce_ms = 50;
|
|
30
31
|
function debounce(cb) {
|
|
32
|
+
if (firstDebounce) {
|
|
33
|
+
firstDebounce = false;
|
|
34
|
+
cb();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
31
37
|
if (timeout) {
|
|
32
38
|
clearTimeout(timeout);
|
|
33
39
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
<script>import {
|
|
2
|
-
import { getContext } from 'svelte';
|
|
3
|
-
import { fade } from 'svelte/transition';
|
|
1
|
+
<script>import { getContext } from 'svelte';
|
|
4
2
|
import InputValue from './InputValue.svelte';
|
|
3
|
+
import InitializeComponent from './InitializeComponent.svelte';
|
|
5
4
|
export let componentInput;
|
|
6
5
|
export let id;
|
|
7
6
|
export let result;
|
|
@@ -15,6 +14,8 @@ function setOutput(v) {
|
|
|
15
14
|
$: result && outputs && setOutput(result);
|
|
16
15
|
</script>
|
|
17
16
|
|
|
17
|
+
<InitializeComponent {id} />
|
|
18
|
+
|
|
18
19
|
{#if componentInput.type !== 'runnable'}
|
|
19
20
|
<InputValue {id} input={componentInput} bind:value={result} />
|
|
20
21
|
{/if}
|
|
@@ -6,10 +6,11 @@ import { AppService } from '../../../../gen';
|
|
|
6
6
|
import { classNames, defaultIfEmptyString, emptySchema, sendUserToast } from '../../../../utils';
|
|
7
7
|
import { deepEqual } from 'fast-equals';
|
|
8
8
|
import { Bug } from 'lucide-svelte';
|
|
9
|
-
import { createEventDispatcher, getContext } from 'svelte';
|
|
9
|
+
import { createEventDispatcher, getContext, onDestroy } from 'svelte';
|
|
10
10
|
import { computeGlobalContext, eval_like } from './eval';
|
|
11
11
|
import InputValue from './InputValue.svelte';
|
|
12
12
|
import RefreshButton from './RefreshButton.svelte';
|
|
13
|
+
import { selectId } from '../../editor/appUtils';
|
|
13
14
|
// Component props
|
|
14
15
|
export let id;
|
|
15
16
|
export let fields;
|
|
@@ -25,17 +26,25 @@ export let initializing = undefined;
|
|
|
25
26
|
export let render;
|
|
26
27
|
export let outputs;
|
|
27
28
|
export let extraKey = '';
|
|
28
|
-
export let
|
|
29
|
+
export let recomputeOnInputChanged = true;
|
|
29
30
|
export let loading = false;
|
|
30
31
|
export let recomputableByRefreshButton = true;
|
|
31
|
-
|
|
32
|
+
export let refreshOnStart = false;
|
|
33
|
+
const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, noBackend, errorByComponent, mode, stateId, state, componentControl, initialized, selectedComponent, app, connectingInput } = getContext('AppViewerContext');
|
|
32
34
|
const dispatch = createEventDispatcher();
|
|
33
35
|
$runnableComponents[id] = {
|
|
34
36
|
autoRefresh: autoRefresh && recomputableByRefreshButton,
|
|
37
|
+
refreshOnStart,
|
|
35
38
|
cb: async (inlineScript) => {
|
|
36
39
|
await executeComponent(true, inlineScript);
|
|
37
40
|
}
|
|
38
41
|
};
|
|
42
|
+
if (!$initialized.initializedComponents.includes(id)) {
|
|
43
|
+
$initialized.initializedComponents = [...$initialized.initializedComponents, id];
|
|
44
|
+
}
|
|
45
|
+
onDestroy(() => {
|
|
46
|
+
$initialized.initializedComponents = $initialized.initializedComponents.filter((c) => c !== id);
|
|
47
|
+
});
|
|
39
48
|
$runnableComponents = $runnableComponents;
|
|
40
49
|
let args = undefined;
|
|
41
50
|
let testIsLoading = false;
|
|
@@ -68,8 +77,8 @@ $: (runnableInputValues || extraQueryParams || args) &&
|
|
|
68
77
|
$: refreshOn =
|
|
69
78
|
runnable && runnable.type === 'runnableByName' ? runnable.inlineScript?.refreshOn ?? [] : [];
|
|
70
79
|
function refreshIfAutoRefresh(_src) {
|
|
71
|
-
const refreshEnabled = autoRefresh && (
|
|
72
|
-
if (refreshEnabled && $
|
|
80
|
+
const refreshEnabled = autoRefresh && ((recomputeOnInputChanged ?? true) || refreshOn?.length > 0);
|
|
81
|
+
if (refreshEnabled && $initialized.initialized) {
|
|
73
82
|
setDebouncedExecute();
|
|
74
83
|
}
|
|
75
84
|
}
|
|
@@ -113,6 +122,7 @@ function generateNextFrontendJobId() {
|
|
|
113
122
|
return `${prefix}#${nextJobNumber}`;
|
|
114
123
|
}
|
|
115
124
|
async function executeComponent(noToast = false, inlineScriptOverride) {
|
|
125
|
+
console.debug('execute', id);
|
|
116
126
|
if (runnable?.type === 'runnableByName' && runnable.inlineScript?.language === 'frontend') {
|
|
117
127
|
loading = true;
|
|
118
128
|
try {
|
|
@@ -241,6 +251,10 @@ async function setResult(res) {
|
|
|
241
251
|
$errorByComponent = $errorByComponent;
|
|
242
252
|
}
|
|
243
253
|
}
|
|
254
|
+
function handleInputClick(e) {
|
|
255
|
+
const event = e;
|
|
256
|
+
!$connectingInput.opened && selectId(event, id, selectedComponent, $app);
|
|
257
|
+
}
|
|
244
258
|
</script>
|
|
245
259
|
|
|
246
260
|
{#each Object.entries(fields ?? {}) as [key, v] (key)}
|
|
@@ -287,7 +301,11 @@ async function setResult(res) {
|
|
|
287
301
|
<div class="h-full flex relative flex-row flex-wrap {wrapperClass}" style={wrapperStyle}>
|
|
288
302
|
{#if (autoRefresh || forceSchemaDisplay) && schemaStripped && Object.keys(schemaStripped?.properties ?? {}).length > 0}
|
|
289
303
|
<div class="px-2 h-fit min-h-0">
|
|
290
|
-
<LightweightSchemaForm
|
|
304
|
+
<LightweightSchemaForm
|
|
305
|
+
schema={schemaStripped}
|
|
306
|
+
bind:args
|
|
307
|
+
on:inputClicked={handleInputClick}
|
|
308
|
+
/>
|
|
291
309
|
</div>
|
|
292
310
|
{/if}
|
|
293
311
|
|
|
@@ -23,9 +23,10 @@ declare const __propDef: {
|
|
|
23
23
|
loading: Output<boolean>;
|
|
24
24
|
};
|
|
25
25
|
extraKey?: string | undefined;
|
|
26
|
-
|
|
26
|
+
recomputeOnInputChanged?: boolean | undefined;
|
|
27
27
|
loading?: boolean | undefined;
|
|
28
28
|
recomputableByRefreshButton?: boolean | undefined;
|
|
29
|
+
refreshOnStart?: boolean | undefined;
|
|
29
30
|
runComponent?: (() => Promise<void>) | undefined;
|
|
30
31
|
};
|
|
31
32
|
events: {
|