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,6 +1,6 @@
|
|
|
1
1
|
<script>import { goto } from '$app/navigation';
|
|
2
2
|
import { page } from '$app/stores';
|
|
3
|
-
import { Alert, Badge,
|
|
3
|
+
import { Alert, Badge, Drawer, DrawerContent, UndoRedo } from '../../common';
|
|
4
4
|
import Button from '../../common/button/Button.svelte';
|
|
5
5
|
import { dirtyStore } from '../../common/confirmationModal/dirtyStore';
|
|
6
6
|
import Skeleton from '../../common/skeleton/Skeleton.svelte';
|
|
@@ -188,19 +188,19 @@ function onKeyDown(event) {
|
|
|
188
188
|
lock = true;
|
|
189
189
|
switch (event.key) {
|
|
190
190
|
case 'Z':
|
|
191
|
-
if (event.ctrlKey) {
|
|
191
|
+
if (event.ctrlKey || event.metaKey) {
|
|
192
192
|
$app = redo(history);
|
|
193
193
|
event.preventDefault();
|
|
194
194
|
}
|
|
195
195
|
break;
|
|
196
196
|
case 'z':
|
|
197
|
-
if (event.ctrlKey) {
|
|
197
|
+
if (event.ctrlKey || event.metaKey) {
|
|
198
198
|
$app = undo(history, $app);
|
|
199
199
|
event.preventDefault();
|
|
200
200
|
}
|
|
201
201
|
break;
|
|
202
202
|
case 's':
|
|
203
|
-
if (event.ctrlKey) {
|
|
203
|
+
if (event.ctrlKey || event.metaKey) {
|
|
204
204
|
save();
|
|
205
205
|
event.preventDefault();
|
|
206
206
|
}
|
|
@@ -265,7 +265,7 @@ function onKeyDown(event) {
|
|
|
265
265
|
<PanelSection title="Past Runs">
|
|
266
266
|
<div class="flex flex-col gap-2 w-full">
|
|
267
267
|
{#if $jobs.length > 0}
|
|
268
|
-
<div class="flex gap-2 flex-col
|
|
268
|
+
<div class="flex gap-2 flex-col">
|
|
269
269
|
{#each $jobs ?? [] as { job, component } (job)}
|
|
270
270
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
271
271
|
<div
|
|
@@ -441,10 +441,15 @@ function onKeyDown(event) {
|
|
|
441
441
|
</Drawer>
|
|
442
442
|
|
|
443
443
|
<div
|
|
444
|
-
class="border-b flex flex-row justify-between py-1 gap-4
|
|
444
|
+
class="border-b flex flex-row justify-between py-1 gap-4 gap-y-2 px-3 items-center overflow-y-visible"
|
|
445
445
|
>
|
|
446
446
|
<div class="min-w-64 w-64">
|
|
447
|
-
<input
|
|
447
|
+
<input
|
|
448
|
+
type="text"
|
|
449
|
+
placeholder="App summary"
|
|
450
|
+
class="text-sm w-full font-semibold"
|
|
451
|
+
bind:value={$summary}
|
|
452
|
+
/>
|
|
448
453
|
</div>
|
|
449
454
|
<UndoRedo
|
|
450
455
|
undoProps={{ disabled: $history?.index === 0 }}
|
|
@@ -589,20 +594,23 @@ function onKeyDown(event) {
|
|
|
589
594
|
<span class="hidden md:inline">Save</span>
|
|
590
595
|
</Button>
|
|
591
596
|
{:else}
|
|
592
|
-
<
|
|
597
|
+
<Button
|
|
593
598
|
loading={loading.save}
|
|
594
599
|
startIcon={{ icon: faSave }}
|
|
595
600
|
on:click={save}
|
|
596
601
|
color="dark"
|
|
597
602
|
size="xs"
|
|
603
|
+
dropdownItems={[
|
|
604
|
+
{
|
|
605
|
+
label: 'Fork',
|
|
606
|
+
onClick: () => {
|
|
607
|
+
window.open(`/apps/add?template=${appPath}`)
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
]}
|
|
598
611
|
>
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
on:click={() => {
|
|
602
|
-
window.open(`/apps/add?template=${appPath}`)
|
|
603
|
-
}}>Fork</ButtonPopupItem
|
|
604
|
-
>
|
|
605
|
-
</ButtonPopup>
|
|
612
|
+
Save
|
|
613
|
+
</Button>
|
|
606
614
|
{/if}
|
|
607
615
|
</div>
|
|
608
616
|
</div>
|
|
@@ -34,6 +34,7 @@ const allIdsInPath = writable([]);
|
|
|
34
34
|
const parentWidth = writable(0);
|
|
35
35
|
setContext('AppViewerContext', {
|
|
36
36
|
worldStore: buildWorld(context),
|
|
37
|
+
initialized: writable({ initialized: false, initializedComponents: [] }),
|
|
37
38
|
app: appStore,
|
|
38
39
|
summary: writable(summary),
|
|
39
40
|
selectedComponent,
|
|
@@ -58,7 +59,7 @@ setContext('AppViewerContext', {
|
|
|
58
59
|
hoverStore: writable(undefined),
|
|
59
60
|
allIdsInPath
|
|
60
61
|
});
|
|
61
|
-
let ncontext = context;
|
|
62
|
+
let ncontext = { ...context, workspace };
|
|
62
63
|
function hashchange(e) {
|
|
63
64
|
ncontext.hash = e.newURL.split('#')[1];
|
|
64
65
|
ncontext = ncontext;
|
|
@@ -80,7 +81,7 @@ $: lockedClasses = isLocked ? '!max-h-[400px] overflow-hidden pointer-events-non
|
|
|
80
81
|
|
|
81
82
|
<div class="relative">
|
|
82
83
|
<div
|
|
83
|
-
class="{$$props.class} {lockedClasses} h-full
|
|
84
|
+
class="{$$props.class} {lockedClasses} h-full
|
|
84
85
|
w-full {app.fullscreen ? '' : 'max-w-6xl'} mx-auto"
|
|
85
86
|
>
|
|
86
87
|
{#if $appStore.grid}
|
|
@@ -151,8 +152,9 @@ $: lockedClasses = isLocked ? '!max-h-[400px] overflow-hidden pointer-events-non
|
|
|
151
152
|
inlineScript={script.inlineScript}
|
|
152
153
|
name={script.name}
|
|
153
154
|
fields={script.fields}
|
|
154
|
-
|
|
155
|
+
recomputeOnInputChanged={script.recomputeOnInputChanged ?? true}
|
|
155
156
|
recomputableByRefreshButton={script.autoRefresh ?? false}
|
|
157
|
+
noBackendValue={script.noBackendValue}
|
|
156
158
|
/>
|
|
157
159
|
{/if}
|
|
158
160
|
{/each}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { classNames } from '../../../utils';
|
|
2
|
-
import { Anchor, Bug, Expand, Move } from 'lucide-svelte';
|
|
2
|
+
import { Anchor, Bug, Expand, Move, Pen } from 'lucide-svelte';
|
|
3
3
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
4
4
|
import Popover from '../../Popover.svelte';
|
|
5
5
|
import { Alert, Button } from '../../common';
|
|
@@ -10,6 +10,8 @@ export let selected;
|
|
|
10
10
|
export let locked = false;
|
|
11
11
|
export let hover = false;
|
|
12
12
|
export let shouldHideActions = false;
|
|
13
|
+
export let hasInlineEditor = false;
|
|
14
|
+
export let inlineEditorOpened = false;
|
|
13
15
|
const dispatch = createEventDispatcher();
|
|
14
16
|
const { errorByComponent, openDebugRun, jobs, connectingInput } = getContext('AppViewerContext');
|
|
15
17
|
$: error = getErrorFromLatestResult(component.id, $errorByComponent, $jobs);
|
|
@@ -40,6 +42,23 @@ function openDebugRuns() {
|
|
|
40
42
|
|
|
41
43
|
{#if selected && !shouldHideActions}
|
|
42
44
|
<div class="top-[-9px] -right-[8px] flex flex-row absolute gap-1.5 z-50">
|
|
45
|
+
{#if hasInlineEditor}
|
|
46
|
+
<button
|
|
47
|
+
title="Expand"
|
|
48
|
+
class={classNames(
|
|
49
|
+
'px-1 text-2xs py-0.5 font-bold w-fit border cursor-pointer rounded-sm',
|
|
50
|
+
'bg-indigo-100 text-indigo-600 border-indigo-500 hover:bg-indigo-200 hover:text-indigo-800'
|
|
51
|
+
)}
|
|
52
|
+
on:click={() => dispatch('triggerInlineEditor')}
|
|
53
|
+
on:pointerdown|stopPropagation
|
|
54
|
+
>
|
|
55
|
+
{#if inlineEditorOpened}
|
|
56
|
+
<Pen aria-label="Unlock position" size={14} class="text-orange-500" />
|
|
57
|
+
{:else}
|
|
58
|
+
<Pen aria-label="Lock position" size={14} />
|
|
59
|
+
{/if}
|
|
60
|
+
</button>
|
|
61
|
+
{/if}
|
|
43
62
|
<button
|
|
44
63
|
title="Expand"
|
|
45
64
|
class={classNames(
|
|
@@ -7,10 +7,13 @@ declare const __propDef: {
|
|
|
7
7
|
locked?: boolean | undefined;
|
|
8
8
|
hover?: boolean | undefined;
|
|
9
9
|
shouldHideActions?: boolean | undefined;
|
|
10
|
+
hasInlineEditor?: boolean | undefined;
|
|
11
|
+
inlineEditorOpened?: boolean | undefined;
|
|
10
12
|
};
|
|
11
13
|
events: {
|
|
12
14
|
mousedown: MouseEvent;
|
|
13
15
|
pointerdown: PointerEvent;
|
|
16
|
+
triggerInlineEditor: CustomEvent<any>;
|
|
14
17
|
expand: CustomEvent<any>;
|
|
15
18
|
lock: CustomEvent<any>;
|
|
16
19
|
} & {
|
|
@@ -59,7 +59,7 @@ function removeGridElement(component) {
|
|
|
59
59
|
<RecomputeAllComponents />
|
|
60
60
|
{/if}
|
|
61
61
|
<div class="flex text-2xs text-gray-600 gap-1 items-center">
|
|
62
|
-
<div class="py-2 pr-2
|
|
62
|
+
<div class="py-2 pr-2 text-gray-600 flex gap-2 items-center">
|
|
63
63
|
Hide bar on view
|
|
64
64
|
<input class="windmillapp" type="checkbox" bind:checked={$app.norefreshbar} />
|
|
65
65
|
</div>
|
|
@@ -136,7 +136,7 @@ function removeGridElement(component) {
|
|
|
136
136
|
inlineScript={script.inlineScript}
|
|
137
137
|
name={script.name}
|
|
138
138
|
fields={script.fields}
|
|
139
|
-
|
|
139
|
+
recomputeOnInputChanged={script.recomputeOnInputChanged ?? true}
|
|
140
140
|
recomputableByRefreshButton={script.autoRefresh ?? false}
|
|
141
141
|
/>
|
|
142
142
|
{/if}
|
|
@@ -3,14 +3,14 @@ import { ChevronDown, RefreshCw } from 'lucide-svelte';
|
|
|
3
3
|
import { getContext, onMount } from 'svelte';
|
|
4
4
|
import Button from '../../common/button/Button.svelte';
|
|
5
5
|
import { allItems } from '../utils';
|
|
6
|
-
const { runnableComponents, app,
|
|
6
|
+
const { runnableComponents, app, initialized } = getContext('AppViewerContext');
|
|
7
7
|
let loading = false;
|
|
8
8
|
let timeout = undefined;
|
|
9
9
|
let interval = undefined;
|
|
10
10
|
let shouldRefresh = false;
|
|
11
11
|
let firstLoad = false;
|
|
12
12
|
$: !firstLoad &&
|
|
13
|
-
$
|
|
13
|
+
$initialized.initializedComponents?.length ==
|
|
14
14
|
allItems($app.grid, $app.subgrids).length + $app.hiddenInlineScripts.length &&
|
|
15
15
|
refresh();
|
|
16
16
|
$: componentNumber = Object.values($runnableComponents).filter((x) => x.autoRefresh).length;
|
|
@@ -33,13 +33,16 @@ function setInter(inter) {
|
|
|
33
33
|
onClick(!inter);
|
|
34
34
|
}
|
|
35
35
|
function refresh() {
|
|
36
|
+
let isFirstLoad = false;
|
|
36
37
|
if (!firstLoad) {
|
|
37
|
-
$
|
|
38
|
+
$initialized.initialized = true;
|
|
38
39
|
firstLoad = true;
|
|
40
|
+
isFirstLoad = true;
|
|
39
41
|
}
|
|
40
42
|
loading = true;
|
|
41
43
|
Promise.all(Object.keys($runnableComponents).map((id) => {
|
|
42
|
-
if (!$runnableComponents?.[id]?.autoRefresh
|
|
44
|
+
if (!$runnableComponents?.[id]?.autoRefresh &&
|
|
45
|
+
(!isFirstLoad || !$runnableComponents?.[id]?.refreshOnStart)) {
|
|
43
46
|
return;
|
|
44
47
|
}
|
|
45
48
|
return $runnableComponents?.[id]?.cb?.();
|
|
@@ -94,6 +94,7 @@ function findComponentSettings(app, id) {
|
|
|
94
94
|
fields={hiddenInlineScript.script.fields}
|
|
95
95
|
autoRefresh={hiddenInlineScript.script.autoRefresh}
|
|
96
96
|
id={`bg_${hiddenInlineScript.index}`}
|
|
97
|
+
bind:recomputeOnInputChanged={hiddenInlineScript.script.recomputeOnInputChanged}
|
|
97
98
|
bind:doNotRecomputeOnInputChanged={hiddenInlineScript.script.doNotRecomputeOnInputChanged}
|
|
98
99
|
bind:inlineScript={hiddenInlineScript.script.inlineScript}
|
|
99
100
|
/>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { push } from '../../../history';
|
|
2
|
+
import { classNames } from '../../../utils';
|
|
2
3
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
3
4
|
import { twMerge } from 'tailwind-merge';
|
|
4
5
|
import { columnConfiguration, isFixed, toggleFixed } from '../gridUtils';
|
|
5
|
-
import Component from './component/Component.svelte';
|
|
6
|
-
import { expandGriditem, findGridItem, selectId } from './appUtils';
|
|
7
|
-
import { push } from '../../../history';
|
|
8
6
|
import Grid from '../svelte-grid/Grid.svelte';
|
|
9
|
-
import
|
|
7
|
+
import { expandGriditem, findGridItem, selectId } from './appUtils';
|
|
8
|
+
import Component from './component/Component.svelte';
|
|
10
9
|
import ComponentWrapper from './component/ComponentWrapper.svelte';
|
|
10
|
+
import GridViewer from './GridViewer.svelte';
|
|
11
11
|
export let containerHeight = undefined;
|
|
12
12
|
export let containerWidth = undefined;
|
|
13
13
|
let classes = '';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { getNextId } from '../../flows/flowStateUtils';
|
|
2
1
|
import { ccomponents, components, getRecommendedDimensionsByComponent } from './component';
|
|
3
2
|
import { gridColumns } from '../gridUtils';
|
|
4
3
|
import { allItems } from '../utils';
|
|
5
4
|
import gridHelp from '../svelte-grid/utils/helper';
|
|
6
5
|
import { get } from 'svelte/store';
|
|
7
6
|
import { sendUserToast } from '../../../utils';
|
|
7
|
+
import { getNextId } from '../../flows/idUtils';
|
|
8
8
|
export function dfs(grid, id, subgrids) {
|
|
9
9
|
for (const item of grid) {
|
|
10
10
|
if (item.id === id) {
|
|
@@ -25,6 +25,14 @@ export function dfs(grid, id, subgrids) {
|
|
|
25
25
|
return undefined;
|
|
26
26
|
}
|
|
27
27
|
export function selectId(e, id, selectedComponent, app) {
|
|
28
|
+
// this ensure handleClickOutside are triggered
|
|
29
|
+
let event = new MouseEvent('click', {
|
|
30
|
+
view: window,
|
|
31
|
+
bubbles: true,
|
|
32
|
+
cancelable: true,
|
|
33
|
+
relatedTarget: e.target
|
|
34
|
+
});
|
|
35
|
+
window.dispatchEvent(event);
|
|
28
36
|
if (e.shiftKey) {
|
|
29
37
|
selectedComponent.update((old) => {
|
|
30
38
|
if (old && old?.[0]) {
|
|
@@ -337,7 +345,6 @@ function isOverlapping(item1, item2) {
|
|
|
337
345
|
item1.y + item1.h > item2.y);
|
|
338
346
|
}
|
|
339
347
|
export function initOutput(world, id, init) {
|
|
340
|
-
world.initializedOutputs += 1;
|
|
341
348
|
if (!world) {
|
|
342
349
|
return {};
|
|
343
350
|
}
|
|
@@ -421,6 +428,9 @@ export function connectInput(connectingInput, componentId, path) {
|
|
|
421
428
|
return connectingInput;
|
|
422
429
|
}
|
|
423
430
|
export function recursivelyFilterKeyInJSON(json, search, extraSearch) {
|
|
431
|
+
if (json === null || json === undefined || typeof json != 'object') {
|
|
432
|
+
return json;
|
|
433
|
+
}
|
|
424
434
|
if (!search || search == '') {
|
|
425
435
|
return json;
|
|
426
436
|
}
|
|
@@ -435,7 +445,7 @@ export function recursivelyFilterKeyInJSON(json, search, extraSearch) {
|
|
|
435
445
|
}
|
|
436
446
|
else if (typeof json[key] === 'object') {
|
|
437
447
|
const res = recursivelyFilterKeyInJSON(json[key], search, extraSearch);
|
|
438
|
-
if (Object.keys(res).length !== 0) {
|
|
448
|
+
if (Object.keys(res ?? {}).length !== 0) {
|
|
439
449
|
filteredJSON[key] = res;
|
|
440
450
|
}
|
|
441
451
|
}
|
|
@@ -14,6 +14,7 @@ $: ismoving =
|
|
|
14
14
|
movingcomponents != undefined && $mode == 'dnd' && $movingcomponents?.includes(component.id);
|
|
15
15
|
let initializing = undefined;
|
|
16
16
|
let componentContainerHeight = 0;
|
|
17
|
+
let inlineEditorOpened = false;
|
|
17
18
|
</script>
|
|
18
19
|
|
|
19
20
|
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
|
|
@@ -40,11 +41,18 @@ let componentContainerHeight = 0;
|
|
|
40
41
|
on:lock
|
|
41
42
|
on:expand
|
|
42
43
|
{locked}
|
|
44
|
+
{inlineEditorOpened}
|
|
45
|
+
hasInlineEditor={component.type === 'textcomponent' &&
|
|
46
|
+
component.componentInput &&
|
|
47
|
+
component.componentInput.type !== 'connected'}
|
|
48
|
+
on:triggerInlineEditor={() => {
|
|
49
|
+
inlineEditorOpened = !inlineEditorOpened
|
|
50
|
+
}}
|
|
43
51
|
/>
|
|
44
52
|
{/if}
|
|
45
53
|
|
|
46
54
|
{#if ismoving}
|
|
47
|
-
<div class="absolute -top-8 w-40
|
|
55
|
+
<div class="absolute -top-8 w-40">
|
|
48
56
|
<button
|
|
49
57
|
class="border p-0.5 text-xs"
|
|
50
58
|
on:click={() => {
|
|
@@ -166,6 +174,7 @@ let componentContainerHeight = 0;
|
|
|
166
174
|
configuration={component.configuration}
|
|
167
175
|
customCss={component.customCss}
|
|
168
176
|
bind:initializing
|
|
177
|
+
bind:editorMode={inlineEditorOpened}
|
|
169
178
|
componentInput={component.componentInput}
|
|
170
179
|
{render}
|
|
171
180
|
/>
|
|
@@ -413,5 +422,18 @@ let componentContainerHeight = 0;
|
|
|
413
422
|
</div>
|
|
414
423
|
</div>
|
|
415
424
|
{#if initializing}
|
|
416
|
-
|
|
425
|
+
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
|
|
426
|
+
<div
|
|
427
|
+
on:mouseover|stopPropagation={() => {
|
|
428
|
+
if (component.id !== $hoverStore) {
|
|
429
|
+
$hoverStore = component.id
|
|
430
|
+
}
|
|
431
|
+
}}
|
|
432
|
+
on:mouseout|stopPropagation={() => {
|
|
433
|
+
if ($hoverStore !== undefined) {
|
|
434
|
+
$hoverStore = undefined
|
|
435
|
+
}
|
|
436
|
+
}}
|
|
437
|
+
class="absolute inset-0 center-center flex-col bg- border animate-skeleton"
|
|
438
|
+
/>
|
|
417
439
|
{/if}
|
|
@@ -49,6 +49,11 @@ function onPointerDown(e) {
|
|
|
49
49
|
e.stopPropagation()
|
|
50
50
|
}
|
|
51
51
|
}}
|
|
52
|
+
on:focus={(e) => {
|
|
53
|
+
if ($connectingInput.opened) {
|
|
54
|
+
e.stopPropagation()
|
|
55
|
+
}
|
|
56
|
+
}}
|
|
52
57
|
on:pointerdown={onPointerDown}
|
|
53
58
|
on:click|capture={(event) => preventInteraction(event, type === 'tabscomponent')}
|
|
54
59
|
on:drag|capture={preventInteraction}
|